Jump to content

    

Временной анализ в QuestaSim

3. To Shivers: SDF "Minimum", "Typical", "Maximum" это соответсвенно Interconnect Delays for BEST, Typical, WORST Conditions. Each condition depends on PVT = Process, Voltage, Temperature, которые беруться из либы и комбинируются at Synthesis and engaged in Static Timing Analysis. For instance, WORST Condition - MIN gating Voltage, Maximum Temperature :rolleyes:

Совсем запамятовал, спасибо! Когда работаешь по накатанной, азы начинают забываться :( Ну да, 3 sdf файла экстракции паразитов, три точки по температуре/питанию в каждом, итого 9.

 

Share this post


Link to post
Share on other sites
3 sdf файла экстракции паразитов, три точки по температуре/питанию в каждом, итого 9.

Там могут быть еще хитрости, когда делается ATPG. Например, stuck-at falts can be partially covered by Delay Vectors, but those need different SDF files for annotating pathes to check SETUP and separately HOLD times in Flip Flops (in ATPG simulations, after STA). Там формально получается до 3*3 = 9 SDF файлов по 3 corners each. Всего 27 симуляций на каждый пакет of vectors. :05:

 

Реально конечно симулируют только несколько из них :08: . Хорошая книжечка, где все это разъясняется - System-on-Chip Test Architectures ( Laung-Terng Wang, Charles Stroud, Nur Touba)

Share this post


Link to post
Share on other sites

В общем, не обнаружил я этой функции с экспортом нетлиста. Зато нашел файл с описанием ячеек, учитывающем наличие задержек. Заново сгенерил нетлист силами Леонардо, подключил им же сгенеренный SDF вместе с этой библиотечкой, и все заработало, по крайней мере на простом примере. А вот четырехразрядный счетчик(который, как я уже говорил, есть в примерах самого FPGA Advantage) посыпался, причем странным образом: если делать нетлист уровня примитивов (т.е. без необходимости в дополнительной библиотеке элементов) и не подключать задержки, то он отрабатывает успешно, а если брать нетлист на уровне ячеек и подключать эту найденную библиотеку, то что с задержками, что без них - времянки одинаково плохие. В библиотечке на первый взгляд на месте задержек все нули, не понимаю почему так :\ Просто пара сигналов не устанавливается с самого начала и на этом сыпется весь тест.

 

 

Совсем запамятовал, спасибо! Когда работаешь по накатанной, азы начинают забываться :( Ну да, 3 sdf файла экстракции паразитов, три точки по температуре/питанию в каждом, итого 9.

Скажем, их можно как минимум спихнуть в три, синтаксис SDF позволяет сразу записывать значения для min|typ|max в один файл, собственно, пример такого файла в районе заголовка топика, просто там значения проставлены только для max. А так их ставить чрез двоеточия надо, например 0.16:0.17:0.20, или :0.17:0.20, или 0.16:: . Насчет температур не уверен, но думаю что и тут есть способы. Не писать же несколько тысяч файлов чтобы прогнать моделирование с учетом задержек и температур, это будет один файл, и я слышал такие файлы гигабайты занимают . . .

Edited by LiNED

Share this post


Link to post
Share on other sites
... по одной и той же схеме САПР сразу делает нетлист и sdf, и они не вяжутся друг с другом никак.

Нетлист с sdf вяжется. Они на основе одного источника - библиотеки для синтеза.

Не вяжется sdf и verilog-ом библиотечных элементов.

 

>Failed to find matching specify timing constraint.

внутри вашего модуля ао22 действительно пропущена конструкция specify - endspecify с описанием всех констрейнов (сетапов, холдов и задержек путей). Возможно, это корень обеих проблем, ведь фактически вы используете неотхарактеризованный библиотечный элемент.

Данные из sdf должны замещать соответствующие им данные конструкции specify - endspecify.

А если этой конструкции нет или она описана "слегка не так" как в библиотеке для синтеза, то и получите Failed to find matching specify timing constraint.

Share this post


Link to post
Share on other sites
Скажем, их можно как минимум спихнуть в три, синтаксис SDF позволяет сразу записывать значения для min|typ|max в один файл, собственно, пример такого файла в районе заголовка топика, просто там значения проставлены только для max. А так их ставить чрез двоеточия надо, например 0.16:0.17:0.20, или :0.17:0.20, или 0.16:: . Насчет температур не уверен, но думаю что и тут есть способы. Не писать же несколько тысяч файлов чтобы прогнать моделирование с учетом задержек и температур, это будет один файл, и я слышал такие файлы гигабайты занимают . . .

Tampler полностью раскрыл этот вопрос: 3 файла Sdf на основе экстракции паразитов, 3 для проверки setup и 3 для проверки hold, итого 9. В каждом 3 характеристики по сочетанию параметров (питание/температура), итого 27 вариантов теста. В общем то и добавить нечего, так и должны проверяться все микросхемы. Чтобы Фобосы не падали :Р

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this