Jump to content

    

Recommended Posts

Форумчане, день добрый.
Имею недостаток знаний в таком вопросе. Если кто сможет, проконсультируйте пожалуйста.


Плотно сижу в ручной разводке некоторой логики на чипе, закопался в отчетах TimeQuest и ChipPlanner, есть вопрос не ясный для меня.

1) Имею трансиверы, RX. Анализирую пути с них до моей логики, TimeQuest выдает следующее:

Data Arrival Time    6.370
Data Required Time    6.209

2) Ну и в ChipPlanner соответственно смотрю такой путь, он действительно пролегает долго от трансивера до нужной логики.

image.png.5bfb7c279169c07cfc23efe63da3657a.png

 

Вопрос мой таков. Означают ли эти цифры, что путь от трансивера до логики занимает ~6нс? Если да, получается, вся логика, которая завязана на этот трансивер и его клок будет "синхронизирована" примерно с дельтой 6нс?

Заранее спасибо.

Edited by new123

Share this post


Link to post
Share on other sites
14 minutes ago, new123 said:

1) Имею трансиверы, RX. Анализирую пути с них до моей логики, TimeQuest выдает следующее:

Data Arrival Time    6.370
Data Required Time    6.209

Это просто цифры используемые для рассчета slack. Как они образуются смотреть используя команду Report Path с меткой Full Path или Detailed path. Там будет указано все через что проходит сигнал и каково требуемое время прихода сигнала. 

Share this post


Link to post
Share on other sites
5 minutes ago, des00 said:

Как они образуются смотреть используя команду Report Path

а я их от туда и взял, только как итоговые Summary. 
Detailed да: 1нс внутри корки трансивера + 5нс путь до логики.

Получается компилятор размещает все так, что вся логики получает данные от трансиверы спустя 6нс

Edited by new123

Share this post


Link to post
Share on other sites
17 minutes ago, new123 said:

а я их от туда и взял, только как итоговые Summary. 
Detailed да: 1нс внутри корки трансивера + 5нс путь до логики.

Получается компилятор размещает все так, что вся логики получает данные от трансиверы спустя 6нс

ок, ну значит не может он по другому, в данном случае. А может быть делает специально, например тактовая с трансивера у вас идет на глобальную линию. А зайти она может туда только через CLKCTRL блок, которые ЕМНП стоят по углам ПЛИС, вон он и тащит тактовую через гремучий лес, а что бы ваши данные к ней подровнять(предположим), он вынужен их также тянуть через гремучий лес. Проверьте этот момент.

У хилых для такого есть кучка локальных тактовых буферов, расставляемых в ручную. Позволяют быстро закинуть данные в логику, как у алтеры уже не помню)

Share this post


Link to post
Share on other sites
21 minutes ago, des00 said:

У хилых для такого есть кучка локальных тактовых буферов, расставляемых в ручную. Позволяют быстро закинуть данные в логику, как у алтеры уже не помню)

много читал про это у альтеры. Есть мануал с рекомендациями по работе с трансиверами. Пишут вроде, что нужно локализовать тактовую, то есть сделать ее локальной, а не глобальной. И вроде делает это CLOCK CNTL BLOCK IP CORE. Давно очень пробовал, но результата не было, но и знаний столько не было. Может стоит попробовать. Я честно говоря думал, что он сам автоматом это делает

Share this post


Link to post
Share on other sites

Приветствую!

14 minutes ago, new123 said:

Пишут вроде, что нужно локализовать тактовую, то есть сделать ее локальной, а не глобальной. И вроде делает это CLOCK CNTL BLOCK IP CORE.
... Я честно говоря думал, что он сам автоматом это делает

В общем случае  это зависит от структуры  чипа и вашего дизайна.  У чипов Альтера  исторически было 3 типа клока глобальный, региональный  и  локальный. Региональный и локальные клоки покрывают не всю часть чипа поэтому если  ваш дизайн использует клок с трансивера массово (глобально) то назначить  на локальную или региональную линию автоматом Qu не сможет.  Ну и назначение клока по типам контролируется констрейнами - либо привязкой к физ. расположению буфера,  либо указанием цепи типа требуемого клока.   

Но конкретную структуру клоков и из  особенности надо смотреть в DS на  ваш чип. А тем более  применительно к трансиверам.  Там есть куча нюансов связанных  со структурой  самих трансиверов и режимами  из работы.  

 

Удачи! Rob.

Share this post


Link to post
Share on other sites

des00, RobFPGA спасибо вам за ответы, пошел возиться. Если вам не сложно, вдруг подскажите. Имею еще такие цифры, которые не совсем понимаю. Имею такие пляшущие постоянно данные со словом Delay
 

Первая Summary, вторая конкретно Detayled по путям.

image.png.c434993db827893c8153a49e29f41ec0.png

image.png.24ec41f9805691ee13be9bfae1c32ad1.png

 

Не могли бы на пальцах в двух словах, что за задержки такие. Задним умом понимаю, что компилятор пытается вставлять задержки, чтобы выровнять Hold Timing, но не уверен что правильно. Влияет ли это на весь путь в целом или нет? Я так понимаю на Setup

Share this post


Link to post
Share on other sites

Про Delay for Hold Timing я разобрался, убрал задержки. Скорее всего фишка новых квартусов с опцией оптимизацией Hold Time. Не помню, чтобы раньше была.

Edited by new123

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.