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

 
 
> Timing constraint. PLL, выравнивание задержек до логики.
Zlodeinik
сообщение May 22 2016, 13:26
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 7-11-14
Пользователь №: 83 559



Добрый день товарищи.

Стоит задача получить с выходов PLL 4 тактовых сигнала. Каждый клок сдвинут относительно предыдущего на 45 градусов.
Необходимо тактировать несколько разных блоков. содержание блоков крайне простое(счетчики). Мне необходимо выровнять задержки каждого клока до логики.
Пишу для cyclone 4. quartus 15.


Подскажите проведет ли quartus выходы Pll через цепи тактирования, если нет то как правильно описать timing Constraint. как специфицировать задержки каждого клока до конкретных регистров?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
iosifk
сообщение May 22 2016, 14:06
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Zlodeinik @ May 22 2016, 16:26) *
Добрый день товарищи.

Стоит задача получить с выходов PLL 4 тактовых сигнала. Каждый клок сдвинут относительно предыдущего на 45 градусов.

А вот эти 4 тактовых - это предельные частоты для данной ПЛИС?
Или же можно взять предельную частоту одну на все фазы, а разнести только сигналы "разрешения" для триггеров?


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Zlodeinik
сообщение May 22 2016, 14:37
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 7-11-14
Пользователь №: 83 559



Цитата(iosifk @ May 22 2016, 14:06) *
А вот эти 4 тактовых - это предельные частоты для данной ПЛИС?
Или же можно взять предельную частоту одну на все фазы, а разнести только сигналы "разрешения" для триггеров?



4 тактовых сигнала одной частоты и эта частота близка к максимуму. 200-250 МГЦ. Начну с 200 , а там насколько разгонится.

Если вы знаете как разнести сигналы разрешения на 500пс будет круто ) изначально задачка выглядит как точный счетчик времени.
Хочу с помощью ПЛИС измерять промежутки времени порядка <=200 пс. Вот и решил с помощью PLL сделать себе 4 клока сдвинутые относительно друг друга.
И затактировать каждым отдельный счетчик по переднему и по заднему фронту. итого получается,что тактовая частота 250 МГц(4 нс) умножается(делиться) на 8 .
Go to the top of the page
 
+Quote Post
Inanity
сообщение May 22 2016, 15:45
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653



Цитата(Zlodeinik @ May 22 2016, 17:37) *
Хочу с помощью ПЛИС измерять промежутки времени порядка <=200 пс.


Вы, наверное, используете метод TDC?
http://home.agh.edu.pl/~turcza/rf_prj/arXiv_1206.0679.pdf

Насколько я понимаю, там задержки настолько критичны, что триггеры вручную жёстко фиксируют:
Цитата
...Xilinx provides two constraint commands to limit the skew and the delay of the input signal, but better performances can be obtained by manually placing the input flip-flops.


Сообщение отредактировал Inanity - May 22 2016, 15:56
Go to the top of the page
 
+Quote Post
Zlodeinik
сообщение May 23 2016, 10:06
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 7-11-14
Пользователь №: 83 559



Цитата(Inanity @ May 22 2016, 16:45) *
Вы, наверное, используете метод TDC?
http://home.agh.edu.pl/~turcza/rf_prj/arXiv_1206.0679.pdf

Насколько я понимаю, там задержки настолько критичны, что триггеры вручную жёстко фиксируют:


Да, буду использовать подобный метод.
Действительно крайне критичны задержки. Я и обратился за советом с этим впоросом.
Как прописать констрейны чтобы выровнять время между всеми тактовыми сигналами от pll до логики
Go to the top of the page
 
+Quote Post
Timmy
сообщение May 23 2016, 11:38
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Цитата(Zlodeinik @ May 23 2016, 13:06) *
Да, буду использовать подобный метод.
Действительно крайне критичны задержки. Я и обратился за советом с этим впоросом.
Как прописать констрейны чтобы выровнять время между всеми тактовыми сигналами от pll до логики

Вопрос странный, так как эти задержки изначально хорошо выровнены(до порядка 100пс) за счёт идентичной структуры клоковых деревьев. Вас должно бы волновать выравнивание сигнала от входного буфера до нескольких LAB, которое требует ручного размещения триггеров. И больше чем на 2 LAB-а, то есть 4 триггера, у меня, например, не получалось нормально выровнять.
Go to the top of the page
 
+Quote Post
krux
сообщение May 23 2016, 12:02
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



сложно что-то посоветовать, кроме как постоянно после каждой сборки гонять симуляцию post-fit нетлиста с учетом задержек. вот тогда станет понятно что и где пытаться "затянуть".
до тех пор, пока саму PLL, входные триггеры, а также цепи между ними жестко не прибьёте гвоздями, чтобы они от сборки к сборке не гуляли.
а так это по 2 констрейна на каждый входной регистр - на тактовую до него и на данные. на 8 фаз - итого 16 констрейнов.
проблема в том, что сами xilinx или altera имеют все варианты этих задержек на руках в виде таблиц, и могут подобрать соответствующие LOC'-и, а вам же придётся подбирать их опытным путём.
про задний фронт - забудьте сразу. на высоких частотах фазы будут не те, которые вы ожидаете.

можно было какую-нибудь LMK01010 снаружи приспособить. тогда бы входными триггерами в IOB-ах отделались, если при подаче питания калибровку делать. не понравилась?


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
Zlodeinik
сообщение May 24 2016, 05:20
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 7-11-14
Пользователь №: 83 559



Цитата(krux @ May 23 2016, 13:02) *
сложно что-то посоветовать, кроме как постоянно после каждой сборки гонять симуляцию post-fit нетлиста с учетом задержек. вот тогда станет понятно что и где пытаться "затянуть".
до тех пор, пока саму PLL, входные триггеры, а также цепи между ними жестко не прибьёте гвоздями, чтобы они от сборки к сборке не гуляли.
а так это по 2 констрейна на каждый входной регистр - на тактовую до него и на данные. на 8 фаз - итого 16 констрейнов.
проблема в том, что сами xilinx или altera имеют все варианты этих задержек на руках в виде таблиц, и могут подобрать соответствующие LOC'-и, а вам же придётся подбирать их опытным путём.
про задний фронт - забудьте сразу. на высоких частотах фазы будут не те, которые вы ожидаете.

можно было какую-нибудь LMK01010 снаружи приспособить. тогда бы входными триггерами в IOB-ах отделались, если при подаче питания калибровку делать. не понравилась?



Я думал в макете заложить и такое решение.
Кстати остановился именно на этом буфере. На входных получится? Боюсь не найду столько ног)

Предполагал на глобальные цепи тактирования подать эти клоки и независимо собрать необходимое количество счетчиков с общим сигналом en.

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


А что с задним фронтом стряслось? Dutty cycle может выручить нет?
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 26th June 2025 - 09:13
Рейтинг@Mail.ru


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