Перейти к содержанию
    

Timing constraint. PLL, выравнивание задержек до логики.

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

 

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

Необходимо тактировать несколько разных блоков. содержание блоков крайне простое(счетчики). Мне необходимо выровнять задержки каждого клока до логики.

Пишу для cyclone 4. quartus 15.

 

 

Подскажите проведет ли quartus выходы Pll через цепи тактирования, если нет то как правильно описать timing Constraint. как специфицировать задержки каждого клока до конкретных регистров?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

А вот эти 4 тактовых - это предельные частоты для данной ПЛИС?

Или же можно взять предельную частоту одну на все фазы, а разнести только сигналы "разрешения" для триггеров?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот эти 4 тактовых - это предельные частоты для данной ПЛИС?

Или же можно взять предельную частоту одну на все фазы, а разнести только сигналы "разрешения" для триггеров?

 

 

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

 

Если вы знаете как разнести сигналы разрешения на 500пс будет круто ) изначально задачка выглядит как точный счетчик времени.

Хочу с помощью ПЛИС измерять промежутки времени порядка <=200 пс. Вот и решил с помощью PLL сделать себе 4 клока сдвинутые относительно друг друга.

И затактировать каждым отдельный счетчик по переднему и по заднему фронту. итого получается,что тактовая частота 250 МГц(4 нс) умножается(делиться) на 8 .

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хочу с помощью ПЛИС измерять промежутки времени порядка <=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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы, наверное, используете метод TDC?

http://home.agh.edu.pl/~turcza/rf_prj/arXiv_1206.0679.pdf

 

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

 

Да, буду использовать подобный метод.

Действительно крайне критичны задержки. Я и обратился за советом с этим впоросом.

Как прописать констрейны чтобы выровнять время между всеми тактовыми сигналами от pll до логики

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, буду использовать подобный метод.

Действительно крайне критичны задержки. Я и обратился за советом с этим впоросом.

Как прописать констрейны чтобы выровнять время между всеми тактовыми сигналами от pll до логики

Вопрос странный, так как эти задержки изначально хорошо выровнены(до порядка 100пс) за счёт идентичной структуры клоковых деревьев. Вас должно бы волновать выравнивание сигнала от входного буфера до нескольких LAB, которое требует ручного размещения триггеров. И больше чем на 2 LAB-а, то есть 4 триггера, у меня, например, не получалось нормально выровнять.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

а так это по 2 констрейна на каждый входной регистр - на тактовую до него и на данные. на 8 фаз - итого 16 констрейнов.

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

про задний фронт - забудьте сразу. на высоких частотах фазы будут не те, которые вы ожидаете.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

а так это по 2 констрейна на каждый входной регистр - на тактовую до него и на данные. на 8 фаз - итого 16 констрейнов.

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

про задний фронт - забудьте сразу. на высоких частотах фазы будут не те, которые вы ожидаете.

 

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

 

 

Я думал в макете заложить и такое решение.

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

 

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

 

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

 

 

А что с задним фронтом стряслось? Dutty cycle может выручить нет?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...