flammmable 4 4 июня, 2018 Опубликовано 4 июня, 2018 · Жалоба Осваиваю Verilog и MAX-10. Захотел запустить внутренний тактовый генератор. Посмотрел в Tools->IP-catalog (Quartus prime 17.1.0) - в разделе Library->Clock;PLLs and Resets. Там - ALTCLKCTRL, ALTPLL и ALTPLL_RECONFIG. Интуитивно понятно, что всё не то. Полистал документ UG-M10CLKPLL (Intel® MAX® 10 Clocking and PLL User Guide). Там были в т.ч. четыре раздела: 1) ALTCLKCTRL IP Core References 2) ALTPLL IP Core References 3) ALTPLL_RECONFIG IP Core References 4) Internal Oscillator IP Core References "Номер четыре - это то, что нужно!" - подумал я. Заодно прочитал, что: Clock Frequency 10M02, 10M04, 10M08, 10M16, and 10M25: 55 MHz, 116 MHz. Отлично! Значит я смогу назначить своей 10M02 или 55МГц или 116МГц. Но где его взять, это IP Core? Начал гуглить по словам - на сочетание "Internal Oscillator IP Core References" попадался лишь этот самый раздел даташита. Начал рыться в папках Квартуса. Нашел altera_int_osc. Даже без глубокого знания Verilog было видно, что это обертка над функцией (мегафункцией? модулем?) "fiftyfivenm_oscillator". О!! fiftyfive - это же "пятьдесят пять" по английски. Как одна из двух возможных частот для 10M02. Загуглил "fiftyfivenm_oscillator" и получил от гугла... ровно две ссылки. Одну - на текст "altera_int_osc", вторую - на альтеровский форум где она вскользь упоминается в контексте невозможности на MAX-10 присоединить внутренний генератор к внутреннему PLL-у. Скопировал текст загадочной функции из altera_int_osc в свой модуль прописав свой проводок-выход clk_test в .clkout и лог.1 в .oscena fiftyfivenm_oscillator # ( .device_id("08"), .clock_frequency("dummy") ) oscillator_dut ( .clkout(clk_test), .clkout1(), .oscena(1'b1)); end На выходе появился меандр на частоте 80МГц. Это и не 55МГц и не 116МГц. Попробовал наугад поменять параметр .clock_frequency - без изменений, меандр 80МГц. Попробовал поменять параметры .clock_frequency и .device_id на откровенную белиберду. Без изменений, меандр на 80МГц. В общем. Что это за "fiftyfivenm_oscillator", где про нее прочитать, есть ли более правильный способ включения внутреннего тактового генератора, где мои 55МГц? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StewartLittle 45 4 июня, 2018 Опубликовано 4 июня, 2018 · Жалоба Осваиваю Verilog и MAX-10. Захотел запустить внутренний тактовый генератор. Посмотрел в Tools->IP-catalog (Quartus prime 17.1.0) - в разделе Library->Clock;PLLs and Resets. Смотрите в IP Catalog раздел Basic Function - Configuratiion and Programming. В нем - Internal Oscillator. Описание: Intel MAX 10 Clocking and PLL Overview , раздел 8 "Internal Oscillator IP Core References", стр.65 (хотя там и читать-то особо нечего..). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
flammmable 4 4 июня, 2018 Опубликовано 4 июня, 2018 (изменено) · Жалоба Большое спасибо! P.S. Теперь у Гугла будет 3 ссылки на загадочное "fiftyfivenm_oscillator" :) Изменено 4 июня, 2018 пользователем flammmable Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StewartLittle 45 4 июня, 2018 Опубликовано 4 июня, 2018 · Жалоба Теперь у Гугла будет 3 ссылки на загадочное "fiftyfivenm_oscillator" :) Что ж тут загадочного-то? fiftyfivenm = 55 нм, т.е. проектная норма, по которой MAX 10 выпускаются. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dvladim 0 4 июня, 2018 Опубликовано 4 июня, 2018 · Жалоба Отлично! Значит я смогу назначить своей 10M02 или 55МГц или 116МГц. Вы вставляете мегафункцию и получаете выход клока. 55 и 116 - это крайние значения генератора. Реально вы получите нечто среднее в зависимости от температуры и напряжения питания. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
flammmable 4 5 июня, 2018 Опубликовано 5 июня, 2018 · Жалоба fiftyfivenm = 55 нм Точно! 55 и 116 - это крайние значения генератора. Там прямо в IP Core можно выбрать или 55 или 116 мегагерц. Надо еще проверить, но сдается мне - это точные значения, а не крайние. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
flammmable 4 5 июня, 2018 Опубликовано 5 июня, 2018 · Жалоба Проверил. По прежнему - 80МГц. Вы - правы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
justontime 0 5 июня, 2018 Опубликовано 5 июня, 2018 · Жалоба Кстати, а нафига вообще нужен внутренний генератор с такими параметрами (вернее, с отсутствием таковых), какое у него может быть реальное применение ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 5 июня, 2018 Опубликовано 5 июня, 2018 · Жалоба Кстати, а нафига вообще нужен внутренний генератор с такими параметрами (вернее, с отсутствием таковых), какое у него может быть реальное применение ? Ну например когда система не критична к времени работы. Например меряем температуру на улице. По меркам машинного времени температура изменяется бесконечно долго. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StewartLittle 45 5 июня, 2018 Опубликовано 5 июня, 2018 · Жалоба Кстати, а нафига вообще нужен внутренний генератор с такими параметрами (вернее, с отсутствием таковых), какое у него может быть реальное применение ? Для работы с внутренним флэшом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 13 июня, 2018 Опубликовано 13 июня, 2018 · Жалоба вот pll для МАХ10. генерируйте до 4 выходов и подсоединяйте куда хотите. component pll is port ( inclk0 : in STD_LOGIC := '0'; c0 : out STD_LOGIC --c1 : out STD_LOGIC ); end component; U_SYS_PLL : pll port map ( inclk0 => CLK, c0 => s_pll_clk --c1 => open ); pll.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Timmy 1 14 июня, 2018 Опубликовано 14 июня, 2018 · Жалоба Кстати, а нафига вообще нужен внутренний генератор с такими параметрами (вернее, с отсутствием таковых), какое у него может быть реальное применение ? Например, тактировать конфигурирование по SPI внешнего генератора частоты, который потом выдаст на FPGA основной тактовый сигнал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться