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

TimeQuest, Data Arrival Time, Data Required Time

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


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

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

Data Arrival Time    6.370
Data Required Time    6.209

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

image.png.5bfb7c279169c07cfc23efe63da3657a.png

 

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

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

Изменено пользователем new123

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


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

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. Там будет указано все через что проходит сигнал и каково требуемое время прихода сигнала. 

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


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

5 minutes ago, des00 said:

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

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

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

Изменено пользователем new123

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


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

17 minutes ago, new123 said:

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

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

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

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

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


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

21 minutes ago, des00 said:

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

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

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


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

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

14 minutes ago, new123 said:

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

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

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

 

Удачи! Rob.

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


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

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

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

image.png.c434993db827893c8153a49e29f41ec0.png

image.png.24ec41f9805691ee13be9bfae1c32ad1.png

 

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

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


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

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

Изменено пользователем new123

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


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

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

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

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

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

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

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

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

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

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