Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: CycloneIV GX, PLL
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
torik
Cyclone IV GX 150...

Вот смотрю структурную схему с PLL-ками.

Хотелось бы подключать минимум внешних клоковых сигналов. Предположим, заведу лишь 85 МГц на CLKIO4. Тогда, согласно схеме на рисунке 5-3 (стр. 74) можно подать этот внешний клок на PLL4, PLL3. А уже с этих PLL передать на все остальные PLL, т.к. можно каскадировать.

Не вижу такой возможности в схеме, но реально ква свободно развел этот клок и на другие PLL, лишь предупредив:

Цитата
Critical Warning: PLL "qsys_top:u0|qsys_top_altmemddr_1:altmemddr_1|qsys_top_altmemddr_1_controlle
r_phy:qsys_top_altmemddr_1_controller_phy_inst|qsys_top_altmemddr_1_phy:qsys_top_
altmemddr_1_phy_inst|qsys_top_altmemddr_1_phy_alt_mem_phy:qsys_top_altmemddr_1_ph
y_alt_mem_phy_inst|qsys_top_altmemddr_1_phy_alt_mem_phy_clk_reset:clk|qsys_top_al
tmemddr_1_phy_alt_mem_phy_pll:pll|altpll:altpll_component|altpll_5ok3:auto_genera
ted|pll1" input clock inclk[0] is not fully compensated because it is fed by a remote clock pin "Pin_AF13"


Чем грозит подобное предупреждение (в частности для трансиверов, которые будут задействованы все)?

Вообще какие проблемы могут возникнуть, если я заведу всего-лишь один клок и при этом даже не на REFCLK? В частности для работы трансиверов...

wolfman
Гм, а как вам удается уговорить квартус?

У меня при попытке подать тактовую с pll на вход pll трансивера выдает сообщение, что не может подключить. Задаю тактовую с внешнего пина и все ок.
des00
Цитата(torik @ Nov 8 2011, 02:19) *
Не вижу такой возможности в схеме, но реально ква свободно развел этот клок и на другие PLL, лишь предупредив:

какутс по свежее поставьте, натыкались на то, что старые версии разводят а новые отказываются.
torik
эээ... а я еще не пробовал подать с GPLL на MPLL. Ква 11
wolfman
Цитата(torik @ Nov 8 2011, 21:11) *
эээ... а я еще не пробовал подать с GPLL на MPLL. Ква 11


Тогда не интересно, у меня тоже хавал без назначения пинов. А как назначил пины, понеслось...

Пришлось базы убивать, а то не позволял даже внешнюю тактовую на gxb цеплять (Q11.0).

torik
Пины-то назначены. Т.е. чтобы заставить пользовать MPLL, надо добавить в проект функцию ALTGX?

Цитата
Пришлось базы убивать

Это чё и как?

Цитата
У меня при попытке подать тактовую с pll на вход pll трансивера выдает сообщение, что не может подключить. Задаю тактовую с внешнего пина и все ок.

Но в хандбуке просто сказано, что PLL можно каскадировать. Никаких ограничений, кроме чего-то там у PLL6,7
des00
Цитата(torik @ Nov 8 2011, 06:01) *
Но в хандбуке просто сказано, что PLL можно каскадировать. Никаких ограничений, кроме чего-то там у PLL6,7

с MPLL есть там ограничения, у нас сделали плату, а потом генераторы другие паяли что бы MPLL завести в нужном режиме %)
torik
Попробовал просто добавить 4 PLL + 2 автоматом в DDR2 - на этапе анализа показывает, что использует 6 PLL, а на фиттере уже 4. Как это он их так оптимизирует...

Цитата
с MPLL есть там ограничения, у нас сделали плату, а потом генераторы другие паяли что бы MPLL завести в нужном режиме %)

какие ограничения?
des00
Цитата(torik @ Nov 8 2011, 06:07) *
какие ограничения?

что-то там с каскадированием как раз. мне объясняли, но я забыл, т.к. с этими чипами не работаю
torik
Добавляю постепенно ALT_GX мегафункции в проект. На первых пяти все проканало нормально. Но вот когда добавиляю шестую, возникает ругань:

Цитата
Error: Can't assign I/O pad "GXB_TX4" to PIN_M4 because this causes failure in the placement of the other atoms in its associated channel
Error: Can't place node "GXB_RX4" in location or region "PIN N2" -- location is not compatible with current location of PIN N1 for the node -- location added due to User Location Constraints
Error: Can't place node "GXB_RX4" in location or region "PIN N2" -- location is not compatible with current location of PIN N1 for the node -- location added due to User Location Constraints
Error: Can't assign I/O pad "GXB_TX5" to PIN_K4 because this causes failure in the placement of the other atoms in its associated channel
Error: Quartus II software cannot combine the following Calibration block(s) due to inconsistent parameters and/or input connections
Error: Input port "CLK" must be driven by the same source
Info: Atom "gx_test1_alt_c3gxb:gx_inst0|cal_blk0" is driven by source "clk20M_0~input"
Info: Atom "gx_test1_alt_c3gxb:gx_inst5|cal_blk0" is driven by source "clk20M_1~input"
Error: Quartus II software cannot combine the following Calibration block(s) due to inconsistent parameters and/or input connections
Error: Input port "CLK" must be driven by the same source
Info: Atom "gx_test1_alt_c3gxb:gx_inst0|cal_blk0" is driven by source "clk20M_0~input"
Info: Atom "gx_test1_alt_c3gxb:gx_inst5|cal_blk0" is driven by source "clk20M_1~input"
Error: Input port "CLK" must be driven by the same source
Info: Atom "gx_test1_alt_c3gxb:gx_inst0|cal_blk0" is driven by source "clk20M_0~input"
Info: Atom "gx_test1_alt_c3gxb:gx_inst5|cal_blk0" is driven by source "clk20M_1~input"
Info: Atom "gx_test1_alt_c3gxb:gx_inst0|cal_blk0" is driven by source "clk20M_0~input"
Info: Atom "gx_test1_alt_c3gxb:gx_inst5|cal_blk0" is driven by source "clk20M_1~input"
Error: Can't place differential I/O positive pin GXB_RX4 at a differential I/O negative location N1(PAD_15)
Error: Can't assign I/O Input Buffer "GXB_RX5~input" to PIN_L2 because this causes failure in the placement of the other atoms in its associated channel
Error: Quartus II software cannot combine the following Calibration block(s) due to inconsistent parameters and/or input connections
Error: Input port "CLK" must be driven by the same source
Info: Atom "gx_test1_alt_c3gxb:gx_inst0|cal_blk0" is driven by source "clk20M_0~input"
Info: Atom "gx_test1_alt_c3gxb:gx_inst5|cal_blk0" is driven by source "clk20M_1~input"
Error: Quartus II software cannot combine the following Calibration block(s) due to inconsistent parameters and/or input connections
Error: Input port "CLK" must be driven by the same source
Info: Atom "gx_test1_alt_c3gxb:gx_inst0|cal_blk0" is driven by source "clk20M_0~input"
Info: Atom "gx_test1_alt_c3gxb:gx_inst5|cal_blk0" is driven by source "clk20M_1~input"
Error: Input port "CLK" must be driven by the same source
Info: Atom "gx_test1_alt_c3gxb:gx_inst0|cal_blk0" is driven by source "clk20M_0~input"
Info: Atom "gx_test1_alt_c3gxb:gx_inst5|cal_blk0" is driven by source "clk20M_1~input"
Info: Atom "gx_test1_alt_c3gxb:gx_inst0|cal_blk0" is driven by source "clk20M_0~input"
Info: Atom "gx_test1_alt_c3gxb:gx_inst5|cal_blk0" is driven by source "clk20M_1~input"
Error: Can't assign I/O pad "GXB_RX5" to PIN_L2 because this causes failure in the placement of the other atoms in its associated channel
Error: Quartus II software cannot combine the following Calibration block(s) due to inconsistent parameters and/or input connections
Error: Input port "CLK" must be driven by the same source
Info: Atom "gx_test1_alt_c3gxb:gx_inst0|cal_blk0" is driven by source "clk20M_0~input"
Info: Atom "gx_test1_alt_c3gxb:gx_inst5|cal_blk0" is driven by source "clk20M_1~input"
Error: Quartus II software cannot combine the following Calibration block(s) due to inconsistent parameters and/or input connections
Error: Input port "CLK" must be driven by the same source
Info: Atom "gx_test1_alt_c3gxb:gx_inst0|cal_blk0" is driven by source "clk20M_0~input"
Info: Atom "gx_test1_alt_c3gxb:gx_inst5|cal_blk0" is driven by source "clk20M_1~input"
Error: Input port "CLK" must be driven by the same source
Info: Atom "gx_test1_alt_c3gxb:gx_inst0|cal_blk0" is driven by source "clk20M_0~input"
Info: Atom "gx_test1_alt_c3gxb:gx_inst5|cal_blk0" is driven by source "clk20M_1~input"
Info: Atom "gx_test1_alt_c3gxb:gx_inst0|cal_blk0" is driven by source "clk20M_0~input"
Info: Atom "gx_test1_alt_c3gxb:gx_inst5|cal_blk0" is driven by source "clk20M_1~input"
Error: Can't assign I/O pad "GXB_TX4(n)" to PIN_M3 because this causes failure in the placement of the other atoms in its associated channel
Error: Can't place node "GXB_RX4" in location or region "PIN N2" -- location is not compatible with current location of PIN N1 for the node -- location added due to User Location Constraints
Error: Can't place node "GXB_RX4" in location or region "PIN N2" -- location is not compatible with current location of PIN N1 for the node -- location added due to User Location Constraints
Error: Can't assign I/O pad "GXB_TX5(n)" to PIN_K3 because this causes failure in the placement of the other atoms in its associated channel
Error: Quartus II software cannot combine the following Calibration block(s) due to inconsistent parameters and/or input connections
Error: Input port "CLK" must be driven by the same source
Info: Atom "gx_test1_alt_c3gxb:gx_inst0|cal_blk0" is driven by source "clk20M_0~input"
Info: Atom "gx_test1_alt_c3gxb:gx_inst5|cal_blk0" is driven by source "clk20M_1~input"
Error: Quartus II software cannot combine the following Calibration block(s) due to inconsistent parameters and/or input connections
Error: Input port "CLK" must be driven by the same source
Info: Atom "gx_test1_alt_c3gxb:gx_inst0|cal_blk0" is driven by source "clk20M_0~input"
Info: Atom "gx_test1_alt_c3gxb:gx_inst5|cal_blk0" is driven by source "clk20M_1~input"
Error: Input port "CLK" must be driven by the same source
Info: Atom "gx_test1_alt_c3gxb:gx_inst0|cal_blk0" is driven by source "clk20M_0~input"
Info: Atom "gx_test1_alt_c3gxb:gx_inst5|cal_blk0" is driven by source "clk20M_1~input"
Info: Atom "gx_test1_alt_c3gxb:gx_inst0|cal_blk0" is driven by source "clk20M_0~input"
Info: Atom "gx_test1_alt_c3gxb:gx_inst5|cal_blk0" is driven by source "clk20M_1~input"
Error: Can't place differential I/O negative pin GXB_RX4(n) at a differential I/O positive location N2(PAD_14)
Error: Can't assign I/O pad "GXB_RX5(n)" to PIN_L1 because this causes failure in the placement of the other atoms in its associated channel
Error: Quartus II software cannot combine the following Calibration block(s) due to inconsistent parameters and/or input connections
Error: Input port "CLK" must be driven by the same source
Info: Atom "gx_test1_alt_c3gxb:gx_inst0|cal_blk0" is driven by source "clk20M_0~input"
Info: Atom "gx_test1_alt_c3gxb:gx_inst5|cal_blk0" is driven by source "clk20M_1~input"


По всей видимости, ему что-то не нравится с клокими калибровочного блока cal_blk_clk.
На ALT_GX0...3 я подаю cal_blk_clk с CLKIO9, pll_inclk c REFCLK0.
На ALT_GX4...5 я подаю cal_blk_clk с CLKIO14, pll_inclk c REFCLK5.

Есть какие-то требования к cal_blk_clk, что-то не нахожу? Почему он не дает завести его вовсе с REFCLK? Как понять вообще, что не так?



warrior-2001
Цитата(torik @ Nov 8 2011, 12:19) *
Вообще какие проблемы могут возникнуть, если я заведу всего-лишь один клок и при этом даже не на REFCLK? В частности для работы трансиверов...


Каскадирование клоков, тоесть подача выхода одной pll на вход другой стабильно приводит к сбоям частот в критичных температурных режимах.
Мало боевых проектов проходит печь с такими каскадами. Где-то тут я уже расписывал опыт каскадирования частот.
Если уж очень нужно - сделайте кольцо. Выведите частоту, полученную из pll наружу и заведите на другой тактовых вход ПЛИС.
torik
Цитата
Каскадирование клоков, тоесть подача выхода одной pll на вход другой стабильно приводит к сбоям частот в критичных температурных режимах.
Мало боевых проектов проходит печь с такими каскадами. Где-то тут я уже расписывал опыт каскадирования частот.
Если уж очень нужно - сделайте кольцо. Выведите частоту, полученную из pll наружу и заведите на другой тактовых вход ПЛИС.

Спасибо, учту. Сейчас в тестовом проекте не использую каскадирование вообще. Вернемся к моему последнему вопросу?
warrior-2001
Цитата(torik @ Nov 9 2011, 15:42) *
Есть какие-то требования к cal_blk_clk, что-то не нахожу? Почему он не дает завести его вовсе с REFCLK? Как понять вообще, что не так?


Курите мануал на ALT_GX и используемую ПЛИС. Конкретно под ваш кристалл я не скажу, но всегда есть ссылки на доки с картинками, где указано что куда подключать.
По опыту - калибровочный блок обычно у ПЛИС один. Следовательно частота, подаваемая на все мегафункции должна быть одна. Я обычно беру её с выхода pll.
Референсную частоту обычно квартус просит брать с клокового входа, причем не абы какого, а с той же стороны, с которой располагаются выводы мегафункции.
torik
Все, все 8 GX добавил в проект...
Serhiy_UA
Цитата(warrior-2001 @ Nov 9 2011, 16:44) *
... Референсную частоту обычно квартус просит брать с клокового входа, причем не абы какого, а с той же стороны, с которой располагаются выводы мегафункции.

По поводу "с той же стороны" в Вашей фразе у меня есть сомнение...
Референсная частота все же заводится с другой стороны, например для DDR2 на CIII. Думаю, что и для CIV аналогично.
Посмотрите тестовый проект для DDR2 от Альтеры, что в приложении. Там референсная частота со стороны банков 7 и 8, а все сигналы для DDR2 в банках 3 и 4.
По поводу разноса опорной частоты и выводов мегафункции DDR2 встречал указание в документации, но найти пока не получается…
warrior-2001
Цитата(Serhiy_UA @ Nov 10 2011, 09:40) *
По поводу "с той же стороны" в Вашей фразе у меня есть сомнение...


Critical Warning: PLL clock inst11|...|ddr2_..._controller_phy_inst..._phy_alt_mem_phy_inst|clk|full_rate.pl
l|altpll_component|auto_generated|pll1|clk[1] driven through clock routing. To ensure minimum jitter on memory interface clock outputs, the PLL clock source should be a dedicated clock pin on the same side.
Чип - Arria II GX.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.