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

 
 
> Как обойти Critical Warning: PLL clock output ... feeding the core has ill
iiv
сообщение Jul 13 2011, 20:55
Сообщение #1


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Всем привет,

есть у меня незадачка - хочу с четверного циклона (6-ой спидгрейд) по 64 ногам получить длинный, около 10-100нс импульс, но слегка рассогласованный между ногами. Величину рассогласования хочется задать цифрой, и она должна быть чем точнее, тем лучше. В идеале, хотел бы задавать эту величину рассогласования с точностью порядка 0.5нс.

Написал простенький пример, который скомпилился квартусом. Весь пример со всеми результатами компиляции приаттачил, для наглядности. В нем я зачитываю по а-ля SPI числа - задержки рассогласования, строю блоки единиц и нулей для начала и конца сигнала, и засылаю со всей дури в каждый канал.

В качестве несущей частоты выставил 800МГц, получаемой из 50МГц внешнего клока 16-ти кратным умножением.

Дизайн компилится, слаков нет. В железо еще не засовывал, так как оно еще не дошло до меня. Есть подозрительные вещи, а именно:

1. Вот такой ворнинг: Critical Warning: PLL clock output my_pll:my_pll_module|altpll:altpll_component|my_pll_altpll:auto_generated|wire_p
ll1_clk[0] feeding the core has illegal output frequency of 800.0 MHz that must be less than 472.6 MHz

из которого возникает большое подозрение, что логика внутри кристалла не может клочится на частотах выше 472.6 МГц. В то же время, слаков-то нет, скажите, пожалуйста, что я здесь не правильно понимаю?

2. FMax обалденный, 988МГц, но вот Restricted FMax уже 500МГц с припиской limit due to minimum period restriction (tmin) Хорошо, допустим, я не имею права работать больше 500МГц, но почему опять слаков нет?

Вдруг кому будет не сложно, помогите, пожалуйста, доходчиво мне объяснить что же здесь происходит!

Еще вопрос. Может я на не правильном пути, может мне эту задержку логикой делать надо? С ходу на раз не придумал как. Вдруг кто сможет, посоветуйте, мне пожалуйста, как!

Спасибо

ИИВ
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
des00
сообщение Jul 14 2011, 03:40
Сообщение #2


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

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



Цитата(iiv @ Jul 13 2011, 14:55) *
есть у меня незадачка - хочу с четверного циклона (6-ой спидгрейд) по 64 ногам получить длинный, около 10-100нс импульс, но слегка рассогласованный между ногами. Величину рассогласования хочется задать цифрой, и она должна быть чем точнее, тем лучше. В идеале, хотел бы задавать эту величину рассогласования с точностью порядка 0.5нс.
...
В качестве несущей частоты выставил 800МГц, получаемой из 50МГц внешнего клока 16-ти кратным умножением.

на сыклонах это невозможно

Цитата
Дизайн компилится, слаков нет. В железо еще не засовывал, так как оно еще не дошло до меня. Есть подозрительные вещи, а именно:

незнаю как у вас, у меня ква кричит благим матом о том что все в слаках, начиная от тактовой, заканчивая данными.

Цитата
Может я на не правильном пути, может мне эту задержку логикой делать надо?

задержки кратные тактовой частоте - на логике, триггеры в выходных пинах + отключение задержек в выходных пинах. остальные задержки на специальных микросхемах.


--------------------
Go to the top of the page
 
+Quote Post
iiv
сообщение Jul 14 2011, 09:52
Сообщение #3


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Огромное спасибо Вам, des00 за советы и ответы!

Цитата(des00 @ Jul 14 2011, 08:40) *
незнаю как у вас, у меня ква кричит благим матом о том что все в слаках, начиная от тактовой, заканчивая данными.

правильно ли я понимаю, что даже если у меня в TimeQuest Timing Analyzer -> Report Top Failing Paths ничего нет, то это не означает, что все в порядке. При этих настройках у меня в Minimum Pulse Width Summary слаки показывал.

Еще вопрос, скажите, пожалуйста, чем Fast от Slow 1200mV 0c Model Summary отличаются. Сейчас поставил клок с PLL 500MHz и все разделы со Slow не содержат слаков, а вот в Fast такое происходит, только если частоту уронить до 344МГц.

Спасибо

ИИВ
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 15 2011, 03:55
Сообщение #4


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

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



Цитата(iiv @ Jul 14 2011, 03:52) *
правильно ли я понимаю, что даже если у меня в TimeQuest Timing Analyzer -> Report Top Failing Paths ничего нет, то это не означает, что все в порядке. При этих настройках у меня в Minimum Pulse Width Summary слаки показывал.

да именно так, полное отсутствие ошибок, там где они вероятны должно настораживать. Проверяется это просто, командой report_all_paths
Цитата
чем Fast от Slow 1200mV 0c Model Summary отличаются. Сейчас поставил клок с PLL 500MHz и все разделы со Slow не содержат слаков, а вот в Fast такое происходит, только если частоту уронить до 344МГц.

моделями задержек. для самого быстрого/медленного чипа из серии, при питании ядра 1.2В и 0 градусов цельсия. чем быстрее чип, тем сложнее у него уложить по холду, т.к. задержки уменьшаются


--------------------
Go to the top of the page
 
+Quote Post
Hoodwin
сообщение Jul 15 2011, 07:20
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107



Из описания так и не понятно, рассогласование нужно зафиксировать во время сборки или нужно им программно рулить в динамике?
Также непонятно, сколько разных фаз (задержек) может быть доступно в один момент? 2^64 или меньше?

Как вариант, стоит рассмотреть варианты решения, когда
1. задержка варьируется с помощью перенастройки на лету PLL, каждый из 5 выходов которой может программно двигать фазу довольно точно. Учитывая, что еще и PLL может переключаться на разные входные клоки (два), то можно программно замутить даовольно хитрый фазосдвигатель.
2. Задержка формируется по переднему и заднему фронту тактовой частоты, а регистры расположены в IOE, причем желательно все 64 регистра расположить либо в row i/o, либо в colomn i/o, так как у них немного разные задержки от регистра до вывода. Причастоте 450МГц работа по двум фронтам дает возможность сдвиги делать уже по сетке 1.1нс.


Если еще взять разные сдвинуте по фазе клоки от PLL, то можно в общей сложности набрать 5*2 = 10 разных фаз для IOE. К сожалению, для 64 сигналов они будут взаимозависимы. Но зато это все не будет зависеть от сборки, как в случае задержки с логикой.
Go to the top of the page
 
+Quote Post
iiv
сообщение Jul 15 2011, 08:18
Сообщение #6


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Уважаемые des00 и Hoodwin,

очень Вам благодарен за ответы и советы, огромное Вам спасибо!!!

Я, как всегда не все до конца разобрал, поэтому, позвольте пожалуйста, уточнить до полной моей ястности несколько деталей:

Цитата(des00 @ Jul 15 2011, 09:55) *
... для самого быстрого/медленного чипа из серии ...

скажите, пожалуйста, под серией Вы имели ввиду серии с разными спидгрейдами, или это касается одной плиски с одним спидгрейдом?
Цитата(Hoodwin @ Jul 15 2011, 13:20) *
Из описания так и не понятно, рассогласование нужно зафиксировать во время сборки или нужно им программно рулить в динамике?

Надо рулить в динамике. Импульсов в секунду не много, 10-100, может 1000 когда-то будет. В идеале конечно иметь разное рассогласование для каждого из импульсов, но для начала достаточно делать по 10-50 импульсов с одинаковым рассогласованием, а потом менять величину рассогласования. В любом случае, изменение рассогласования должно произходить со скоростью порядка 10 раз в секунду.
Цитата(Hoodwin @ Jul 15 2011, 13:20) *
Также непонятно, сколько разных фаз (задержек) может быть доступно в один момент? 2^64 или меньше?

Хочется иметь 64 канала в недалеком будующем. Сейчас собираю стенд с 16 каналами. Хотелось бы, чтобы я мог произвольно установить величины задержек для каждого канала, а не фиксировать несколько дискретных значений величин задержек. Хотелось бы в идеале достичь относительной точности установки рассогласования в 0.3нс, но для начала готов мириться и с 1нс точностью, а на логике я могу получить только 3нс точность.
Цитата(Hoodwin @ Jul 15 2011, 13:20) *
Как вариант, стоит рассмотреть варианты решения, когда
1. задержка варьируется с помощью перенастройки на лету PLL, каждый из 5 выходов которой может программно двигать фазу довольно точно. Учитывая, что еще и PLL может переключаться на разные входные клоки (два), то можно программно замутить даовольно хитрый фазосдвигатель.

простите меня покорнейше, совсем запутался. Я думал про это, но так и не смог понять, как это делается. Читал пол дня доку по ALTPLL, но, похоже, как всегда не доразобрался. Тыкните, пожалуйста, меня как именно это делается.
Цитата(Hoodwin @ Jul 15 2011, 13:20) *
2. Задержка формируется по переднему и заднему фронту тактовой частоты, а регистры расположены в IOE, причем желательно все 64 регистра расположить либо в row i/o, либо в colomn i/o, так как у них немного разные задержки от регистра до вывода. Причастоте 450МГц работа по двум фронтам дает возможность сдвиги делать уже по сетке 1.1нс.

Если еще взять разные сдвинуте по фазе клоки от PLL, то можно в общей сложности набрать 5*2 = 10 разных фаз для IOE. К сожалению, для 64 сигналов они будут взаимозависимы. Но зато это все не будет зависеть от сборки, как в случае задержки с логикой.

Вот тут туплю по полной, не понимая, о чем речь... Понимаю, что что-то правильное и важное, но совсем не в теме, и очень хочу разобраться. Скажите, пожалуйста, IOE через какую-то мегафункцию доступны? Если да, то понятно где смотреть дальше по мануалам...

Еще вопрос, правильно я понимаю, что в EP4CE22F17C6 (4-ом циклоне) 4 PLL, то есть уже можно 20 разных фаз набрать, или я, как всегда что-то не учел?

Спасибо

ИИВ
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 15 2011, 08:46
Сообщение #7


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

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



Цитата(iiv @ Jul 15 2011, 02:18) *
скажите, пожалуйста, под серией Вы имели ввиду серии с разными спидгрейдами, или это касается одной плиски с одним спидгрейдом?

в пределах одного спидгрейта
Цитата
... Читал пол дня доку по ALTPLL, но, похоже, как всегда не доразобрался. Тыкните, пожалуйста, меня как именно это делается....

Кстати да, совсем забыл про Dynamic Phase Shifting возможность в PLL, в этом случае можно будет получить дискреты меньше периода
Цитата
The phase is shifted by 1/8 the VCO frequency at a time. The output clocks are active during this phase reconfiguration process.

в свое время рулил плл на лету, ничего сложного



--------------------
Go to the top of the page
 
+Quote Post
Hoodwin
сообщение Jul 15 2011, 13:04
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107



Цитата(iiv @ Jul 15 2011, 12:18) *
Уважаемые des00 и Hoodwin,

очень Вам благодарен за ответы и советы, огромное Вам спасибо!!!

Я, как всегда не все до конца разобрал, поэтому, позвольте пожалуйста, уточнить до полной моей ястности несколько деталей:


скажите, пожалуйста, под серией Вы имели ввиду серии с разными спидгрейдами, или это касается одной плиски с одним спидгрейдом?

Надо рулить в динамике. Импульсов в секунду не много, 10-100, может 1000 когда-то будет. В идеале конечно иметь разное рассогласование для каждого из импульсов, но для начала достаточно делать по 10-50 импульсов с одинаковым рассогласованием, а потом менять величину рассогласования. В любом случае, изменение рассогласования должно произходить со скоростью порядка 10 раз в секунду.

Хочется иметь 64 канала в недалеком будующем. Сейчас собираю стенд с 16 каналами. Хотелось бы, чтобы я мог произвольно установить величины задержек для каждого канала, а не фиксировать несколько дискретных значений величин задержек. Хотелось бы в идеале достичь относительной точности установки рассогласования в 0.3нс, но для начала готов мириться и с 1нс точностью, а на логике я могу получить только 3нс точность.

простите меня покорнейше, совсем запутался. Я думал про это, но так и не смог понять, как это делается. Читал пол дня доку по ALTPLL, но, похоже, как всегда не доразобрался. Тыкните, пожалуйста, меня как именно это делается.

Вот тут туплю по полной, не понимая, о чем речь... Понимаю, что что-то правильное и важное, но совсем не в теме, и очень хочу разобраться. Скажите, пожалуйста, IOE через какую-то мегафункцию доступны? Если да, то понятно где смотреть дальше по мануалам...

Еще вопрос, правильно я понимаю, что в EP4CE22F17C6 (4-ом циклоне) 4 PLL, то есть уже можно 20 разных фаз набрать, или я, как всегда что-то не учел?

Спасибо

ИИВ

iiv

Я Вам советую для начала изучить немного матчасть:
1. PLL - http://www.altera.com/literature/hb/cyclon.../cyiv-51005.pdf
2. I/O - http://www.altera.com/literature/hb/cyclon.../cyiv-51006.pdf

PLL можно настроить в MegaWizard'e, намного быстрее и удобнее, чем разбираться самому со всеми фичами ALTPLL для всех семейств.
I/O вообще просто настраиваются. Открываете assignment editor и добавляете logic options.

По поводу 4 PLL я Вам этого делать настоятельно не рекомендую, так как нет никаких гарантий, что две разные PLL, настроенные одинаково и запитанные одинаковым клоком, дадут на выходе когерентные тактовые сигналы. Я даже думаю, что с гарантией не дадут. Поэтому придется изголяться с 5 выходами одной PLL. Одна PLL может сделать 10 задержек. 5 разных тактовых плюс их можно инвертировать. Итого, для 400 МГц опорных, то есть периода 2.5 нс, можно пытаться достичь фазового шага 0.25 нс программно. Но для этого придется задействовать несколько выводов I/O чтобы в итоге получить один реальный выход. Несколько выходов надо будет объединить снаружи от ПЛИС c помощью вентиля OR.

ИМХО, такую задачу лучше решать с помощью внешних схем, и точнее, и стабильнее:
http://datasheets.maxim-ic.com/en/ds/DS1124.pdf
http://www.micrel.com/page.do?page=/produc.../sy89295u.shtml
http://www.onsemi.com/PowerSolutions/parametrics.do?id=586
http://www.onsemi.com/pub_link/Collateral/NB6L295M-D.PDF
... А еще есть google > programmable delay line


Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 15:09
Рейтинг@Mail.ru


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