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

результаты симуляции и временной отчет

здравствуйте уважаемые. появилось желание поглубже изучить ISE, и назрел вопрос. Баловался с временными констрейнами, и сравнил, то что дает Timing Report и симулятор после PAR'а. и обнаружил некоторое расхождение (например время пути сигнала с одного триггера до входа CE другого 3,5 нс во временном отчете, а в симуляторе около 1,5 нс.) может я что-то не догоняю, но очень хотелось бы разобраться. спасибо если кто ответит!

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


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

здравствуйте уважаемые. появилось желание поглубже изучить ISE, и назрел вопрос. Баловался с временными констрейнами, и сравнил, то что дает Timing Report и симулятор после PAR'а. и обнаружил некоторое расхождение (например время пути сигнала с одного триггера до входа CE другого 3,5 нс во временном отчете, а в симуляторе около 1,5 нс.) может я что-то не догоняю, но очень хотелось бы разобраться. спасибо если кто ответит!

А с какого пина до какого задержка указана в Timing Report и как Вы меряли в симуляторе?

Может в Timing Report это с FF1.C до FF2.D a в симуляторе померяно с FF1.Q до FF2.CE

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


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

А с какого пина до какого задержка указана в Timing Report и как Вы меряли в симуляторе?

Может в Timing Report это с FF1.C до FF2.D a в симуляторе померяно с FF1.Q до FF2.CE

нет, во временном отчете- это время от появления сигнала на одном триггере до входа второго триггера, то есть получается от FF1.C до FF2.CE. и в симуляторе я также задавал

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


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

нет, во временном отчете- это время от появления сигнала на одном триггере до входа второго триггера, то есть получается от FF1.C до FF2.CE. и в симуляторе я также задавал

А симулятор в каком корнере PVT симулил? не в фасте-ли?

 

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


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

А симулятор в каком корнере PVT симулил? не в фасте-ли?

простите, не могли бы Вы ткнуть где про это написано? поиск по ISim User Guide не дает результатов..

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


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

простите, не могли бы Вы ткнуть где про это написано? поиск по ISim User Guide не дает результатов..

Где про это в Вашей тулзе написано - не знаю :(

Но вообщето симуляция после роутинга с реальными задержками обычно делается на min\typ\max т.е. величина задержки зависит от условий експлуатациию

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

 

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

А переключение min\typ\max делается либо в Verilog тесбенче, либо в опциях командной строки симулятора при запуске, либо галочкой в GUI симулятора....

 

----------

В любом случае, построутинг симуляция с реальными задержками без понимания для какого PVT (Process Voltage Temperature) корнера она делается - смысла не имеет :(

Может на typ всё ОК, а на min\max нет.....

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


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

Где про это в Вашей тулзе написано - не знаю :(

Но вообщето симуляция после роутинга с реальными задержками обычно делается на min\typ\max т.е. величина задержки зависит от условий експлуатациию

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

 

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

А переключение min\typ\max делается либо в Verilog тесбенче, либо в опциях командной строки симулятора при запуске, либо галочкой в GUI симулятора....

 

----------

В любом случае, построутинг симуляция с реальными задержками без понимания для какого PVT (Process Voltage Temperature) корнера она делается - смысла не имеет :(

Может на typ всё ОК, а на min\max нет.....

Странно, почему во временном отчете тогда не пишется , для какого PVT приводятся задержки.

кстати, а что означают задержки "minimum data path" (Hold path) во временном отчете? Maximum data path - это понятно, это реально то что на самом деле получилось...

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


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

Странно, почему во временном отчете тогда не пишется , для какого PVT приводятся задержки.

кстати, а что означают задержки "minimum data path" (Hold path) во временном отчете? Maximum data path - это понятно, это реально то что на самом деле получилось...

Не пишется... потому, что вы это задаёте сами, перед началом STA - это входной параметер, а не выходной.

Если Вы PVT не задавали, то разработчик тулзы чёто неявно сам задал....

 

Судя по вопросу, его стоит перефразировать на такой - "а как вообще тулза делает STA, если как мы понимаем, задержки варируются от min до max, в зависимости от условий експлуатации (температуры, напряжения питания, старения)"

Ответ - Ваша тулза, неявно, учитывает случай худший из худшего. Это называется wc\bc analysys (worst case\best case).

Нормальные тулзы позволяют выбирать стратегию анализа. Например можна выбрать single corner - только для указанного PVT. Очень кстати хорошая мысль....

-----

 

Так для сетап тайма - худшим будет максимальная температура, минимальное напряжение питания.

Вот она эту задержку и пишет в репорт.

Контрольный вопрос - а что есть наихудшим корнером для холд тайма?

 

-----

"minimum data path" это - Hold \ Maximum data path - Setup. Смотрите спецификацию тригера

И это оба - "то что на самом деле получилось"...

 

 

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


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

Так для сетап тайма - худшим будет максимальная температура, минимальное напряжение питания.

Вот она эту задержку и пишет в репорт.

Контрольный вопрос - а что есть наихудшим корнером для холд тайма?

 

-----

"minimum data path" это - Hold \ Maximum data path - Setup. Смотрите спецификацию тригера

И это оба - "то что на самом деле получилось"...

Для холд - видимо все наоборот :rolleyes:

 

Я не могу понять , что физически из себя представляет "minimum data path" . Если по тайминг репорту, то это тоже самое что Maximum data path (я имею ввиду источники задержек и пути сигналов), только почему -то сами задержки поменьше чем в "maximum data path". Смотрел через cross probing в Fpga Editor'е, так там визуально "maximum" и "minimum" path -это одно и то же

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


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

Для холд - видимо все наоборот :rolleyes:

 

Я не могу понять , что физически из себя представляет "minimum data path" . Если по тайминг репорту, то это тоже самое что Maximum data path (я имею ввиду источники задержек и пути сигналов), только почему -то сами задержки поменьше чем в "maximum data path". Смотрел через cross probing в Fpga Editor'е, так там визуально "maximum" и "minimum" path -это одно и то же

Это так кажется... есть есчё case анализис.... Правда в большинстве случаев, таки да - физически они совпадают.

Тут всё очевидно - "minimum data path" - это путь с минимальной задержкой, а "maximum data path" - с максимальной с учётом корнера.

И это всё для одной и той-же пары source\destination тригеров.

 

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


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

Это так кажется... есть есчё case анализис.... Правда в большинстве случаев, таки да - физически они совпадают.

Тут всё очевидно - "minimum data path" - это путь с минимальной задержкой, а "maximum data path" - с максимальной с учётом корнера.

И это всё для одной и той-же пары source\destination тригеров.

ну, выходит тогда результаты симуляции у меня не сходятся даже с "minimum data path" (в симуляторе летает быстрее)

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


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

ну, выходит тогда результаты симуляции у меня не сходятся даже с "minimum data path" (в симуляторе летает быстрее)

что значит "в симуляторе летает быстрее"?

Вы в каком корнерне симулшите задержки - min, typ или max?

И чё там в репорте написано?

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


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

что значит "в симуляторе летает быстрее"?

Вы в каком корнерне симулшите задержки - min, typ или max?

И чё там в репорте написано?

Ну вот, например.

=====================================

Maximum Data Path: sec_16 to led11

Location Delay type Delay(ns) Physical Resource

Logical Resource(s)

------------------------------------------------- -------------------

SLICE_X10Y107.YQ Tcko 0.272 sec<17>

sec_16

SLICE_X43Y104.G2 net (fanout=2) 1.141 sec<16>

SLICE_X43Y104.COUT Topcyg 0.423 sec_cmp_eq0000_wg_cy<3>

sec_cmp_eq0000_wg_lut<3>

sec_cmp_eq0000_wg_cy<3>

SLICE_X43Y105.CIN net (fanout=1) 0.000 sec_cmp_eq0000_wg_cy<3>

SLICE_X43Y105.COUT Tbyp 0.066 sec_cmp_eq0000_wg_cy<5>

sec_cmp_eq0000_wg_cy<4>

sec_cmp_eq0000_wg_cy<5>

SLICE_X43Y106.CIN net (fanout=1) 0.000 sec_cmp_eq0000_wg_cy<5>

SLICE_X43Y106.XB Tcinxb 0.232 sec_cmp_eq0000

sec_cmp_eq0000_wg_cy<6>

SLICE_X47Y104.CE net (fanout=27) 0.536 sec_cmp_eq0000

SLICE_X47Y104.CLK Tceck 0.418 led11

led11

------------------------------------------------- ---------------------------

Total 3.088ns (1.411ns logic, 1.677ns route)

(45.7% logic, 54.3% route)

 

=================================================

 

Minimum Data Path: sec_16 to led11

Location Delay type Delay(ns) Physical Resource

Logical Resource(s)

------------------------------------------------- -------------------

SLICE_X10Y107.YQ Tcko 0.250 sec<17>

sec_16

SLICE_X43Y104.G2 net (fanout=2) 1.049 sec<16>

SLICE_X43Y104.COUT Topcyg 0.389 sec_cmp_eq0000_wg_cy<3>

sec_cmp_eq0000_wg_lut<3>

sec_cmp_eq0000_wg_cy<3>

SLICE_X43Y105.CIN net (fanout=1) 0.000 sec_cmp_eq0000_wg_cy<3>

SLICE_X43Y105.COUT Tbyp 0.061 sec_cmp_eq0000_wg_cy<5>

sec_cmp_eq0000_wg_cy<4>

sec_cmp_eq0000_wg_cy<5>

SLICE_X43Y106.CIN net (fanout=1) 0.000 sec_cmp_eq0000_wg_cy<5>

SLICE_X43Y106.XB Tcinxb 0.213 sec_cmp_eq0000

sec_cmp_eq0000_wg_cy<6>

SLICE_X47Y104.CE net (fanout=27) 0.493 sec_cmp_eq0000

SLICE_X47Y104.CLK Tckce (-Th) -0.030 led11

led11

------------------------------------------------- ---------------------------

Total 2.485ns (0.943ns logic, 1.542ns route)

(37.9% logic, 62.1% route)

 

===================================================

 

При этом, вот что мы видим при симуляции, на картинке видна задержка от входа CLK триггера sec_16 до входа CE led11. она где-то примерно 1,5 нс. вот про корнер извините не могу ничего сказать, пока еще не разобрался...

post-56923-1400733634_thumb.jpg

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

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


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

Ну вот, например.

 

При этом, вот что мы видим при симуляции, на картинке видна задержка от входа CLK триггера sec_16 до входа CE led11. она где-то примерно 1,5 нс. вот про корнер извините не могу ничего сказать, пока еще не разобрался...

Никогда репорт в такой форме не видел...но всёже...

Глядя в репорт я вижу что это пас от sec_16.YQ to led11.CLK. Это и надо в симуляторе посмотреть.

Это что, sec_16 - делитель частоты чтоль?

 

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


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

Никогда репорт в такой форме не видел...но всёже...

Глядя в репорт я вижу что это пас от sec_16.YQ to led11.CLK. Это и надо в симуляторе посмотреть.

Это что, sec_16 - делитель частоты чтоль?

ну да, делитель. специально написал лажовый тест чтоб проще изучать.

честно говоря, не понимаю, как в список задержек сигнала sec_16 попало время Tckce , это же сетап время для входа CE второго триггера.

а поскольку там присутствует Tcko, то видимо это путь не от YQ, а от CLK..

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


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

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

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

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

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

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

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

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

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

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