реклама на сайте
подробности

 
 
> CycloneIV GX, PLL, как правильно завести клоки
torik
сообщение Nov 8 2011, 08:19
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



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? В частности для работы трансиверов...



--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
wolfman
сообщение Nov 8 2011, 10:44
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 529
Регистрация: 15-06-05
Из: Питер
Пользователь №: 6 032



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

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


--------------------
Россия это даже не страна.
Россия это секрет, завернутый в загадку и укрытый не проницаемой тайной...
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 8 2011, 11:25
Сообщение #3


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(torik @ Nov 8 2011, 02:19) *
Не вижу такой возможности в схеме, но реально ква свободно развел этот клок и на другие PLL, лишь предупредив:

какутс по свежее поставьте, натыкались на то, что старые версии разводят а новые отказываются.


--------------------
Go to the top of the page
 
+Quote Post
torik
сообщение Nov 8 2011, 11:41
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



эээ... а я еще не пробовал подать с GPLL на MPLL. Ква 11


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
wolfman
сообщение Nov 8 2011, 11:45
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 529
Регистрация: 15-06-05
Из: Питер
Пользователь №: 6 032



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


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

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



--------------------
Россия это даже не страна.
Россия это секрет, завернутый в загадку и укрытый не проницаемой тайной...
Go to the top of the page
 
+Quote Post
torik
сообщение Nov 8 2011, 12:01
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



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

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

Это чё и как?

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

Но в хандбуке просто сказано, что PLL можно каскадировать. Никаких ограничений, кроме чего-то там у PLL6,7


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 8 2011, 12:05
Сообщение #7


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



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

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


--------------------
Go to the top of the page
 
+Quote Post
torik
сообщение Nov 8 2011, 12:07
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



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

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

какие ограничения?


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 8 2011, 12:10
Сообщение #9


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



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

что-то там с каскадированием как раз. мне объясняли, но я забыл, т.к. с этими чипами не работаю


--------------------
Go to the top of the page
 
+Quote Post
torik
сообщение Nov 9 2011, 11:42
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Добавляю постепенно 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? Как понять вообще, что не так?





--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
warrior-2001
сообщение Nov 9 2011, 11:57
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-08
Из: Таганрог, Ростовская обл.
Пользователь №: 40 792



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


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


--------------------
Глупцы игнорируют сложность. Прагматики терпят ее. Некоторые могут избегать ее. Гении ее устраняют.
Go to the top of the page
 
+Quote Post
torik
сообщение Nov 9 2011, 12:06
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



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

Спасибо, учту. Сейчас в тестовом проекте не использую каскадирование вообще. Вернемся к моему последнему вопросу?


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
warrior-2001
сообщение Nov 9 2011, 13:44
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-08
Из: Таганрог, Ростовская обл.
Пользователь №: 40 792



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


Курите мануал на ALT_GX и используемую ПЛИС. Конкретно под ваш кристалл я не скажу, но всегда есть ссылки на доки с картинками, где указано что куда подключать.
По опыту - калибровочный блок обычно у ПЛИС один. Следовательно частота, подаваемая на все мегафункции должна быть одна. Я обычно беру её с выхода pll.
Референсную частоту обычно квартус просит брать с клокового входа, причем не абы какого, а с той же стороны, с которой располагаются выводы мегафункции.


--------------------
Глупцы игнорируют сложность. Прагматики терпят ее. Некоторые могут избегать ее. Гении ее устраняют.
Go to the top of the page
 
+Quote Post
torik
сообщение Nov 10 2011, 05:33
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Все, все 8 GX добавил в проект...


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Nov 10 2011, 06:40
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Цитата(warrior-2001 @ Nov 9 2011, 16:44) *
... Референсную частоту обычно квартус просит брать с клокового входа, причем не абы какого, а с той же стороны, с которой располагаются выводы мегафункции.

По поводу "с той же стороны" в Вашей фразе у меня есть сомнение...
Референсная частота все же заводится с другой стороны, например для DDR2 на CIII. Думаю, что и для CIV аналогично.
Посмотрите тестовый проект для DDR2 от Альтеры, что в приложении. Там референсная частота со стороны банков 7 и 8, а все сигналы для DDR2 в банках 3 и 4.
По поводу разноса опорной частоты и выводов мегафункции DDR2 встречал указание в документации, но найти пока не получается…
Прикрепленные файлы
Прикрепленный файл  CIII_DDR2.zip ( 1.36 мегабайт ) Кол-во скачиваний: 14
 
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 08:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.01508 секунд с 7
ELECTRONIX ©2004-2016