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

Modelsim/Questa симуляция с временными задержками

Форумчане, день добрый.

Подскажите, кто знает, пжлст. Форум перечитал, мануалы перечитал, может что не понимаю. Думал gate-level симуляция - симуляция с реальными временными задержками, т.e. если у меня путь занимает по TimeQuest 4 такта, то данные добегут до получателя за 4 такта и это я увижу в симуляторе. На деле же, все происходит как обычно за такт.

Что делаю:
1) генерю <file>.vo
2) генерю <file>.sdo
3) Прописываю

Quote

vlog -work work <file>.vo

vsim ........ -sdftyp "/DUT=<file>.sdo" -sdfnoerror -sdfnowarn +transport_int_delays +transport_path_delays

4) В логе получаю
# Loading timing data from <file>.sdo
# ** Note: (vsim-3587) SDF Backannotation Successfully Completed.

 

Может что еще скормить надо.

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


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

23 часа назад, new123 сказал:

т.e. если у меня путь занимает по TimeQuest 4 такта, то данные добегут до получателя за 4 такта

В смысле, ТК выдал такое Data Arrival Time? Или там просто мультицикл на 4 такта указан?

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


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

4 hours ago, dxp said:

В смысле, ТК выдал такое Data Arrival Time? Или там просто мультицикл на 4 такта указан?

скорее мультицикл. У меня даже констрейн примерно такой.

А логика у меня следующая. Смотрю путь от регистра к регистру, столбец Relationship условно 13нс, Slack +3нс, получается, что сигнал от регистра к регистру добегает за 10нс. Может неверно мыслю.
Data Arrival совершенно другой, я на него не смотрю особо.

 

Ну либо можно еще глянуть сразу столбец Data Delay, который = Relationship - Slack - Clock Skew (вот тут я похоже ерунду написал, еще сижу разбираюсь).

 

А по теме, думаю Questa не поддерживает мой чип в timing simulation. Придется modelsim поискать

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

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


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

9 часов назад, new123 сказал:

А по теме, думаю Questa не поддерживает мой чип в timing simulation. Придется modelsim поискать

Симулятор вообще ничего не знает ни про какие про чипы. Это не его уровень.

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


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

10 часов назад, new123 сказал:

Data Arrival совершенно другой

Это показывает реальный путь данных - сколько требуется, чтобы данные были валидными и стабильными во время Latch Edge. Вот это время и надо сравнивать с тем, что показывает симулятор в режиме с задержками. Т.е. вот вы написали мультицикл 4 такта, это означает, что вы как бы сказали синтезатору и STA, что данные актуализируются один раз за 4 такта (например, на приёмном регистре clk_en включается с таким периодом). Но это не означат, что сами данные едут эти 4 такта. Они вполне могут и за такт. Или могут почти за такт - чуть не успевать. При отсутствии мультицикла синтезатор будет напрягаться и пытаться впихнуть в этот период, а мультицикл его расслабляет.

 

Тем не менее, STA показывает время доставки данных, и сим тоже должен показывать похожее значение.

 

А с какой целью вы занялись симуляцией с таймингами?

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


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

 

49 минут назад, andrew_b сказал:

Симулятор вообще ничего не знает ни про какие про чипы. Это не его уровень.

+1, симулятор просто гоняет нетлист. Какие библиотеки ему подсунете (модели: функциональность элементов, задержки), такой результат и будет. Влияние чипа с помощью этого и учитывается. Но про сам чип сим ничего не знает и знать не может.

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


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

Мне сейчас не с руки искать мануал, но там было четко написано, что поддерживается timing simulation только Modelsim (not Questa, Start Edition). Возможно речь о том, что квартус PRO не формирует как положено все нужные файлы для остальных симуляторов

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


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

Квеста от Моделсима отличается более полной поддержкой фич Системверилога, это преимущественно для верификационных окружений (классы, рандомизация тестов и т.п.). Т.е. Квеста - это надмножество Моделсима. Всё, что может Моделсим, может и Квеста.

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


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

38 minutes ago, dxp said:

. Вот это время и надо сравнивать с тем, что показывает симулятор в режиме с задержками. Т.е. вот вы написали мультицикл 4 такта, это означает, что вы как бы сказали синтезатору и STA, что данные актуализируются один раз за 4 такта (например, на приёмном регистре clk_en включается с таким периодом). Но это не означат, что сами данные едут эти 4 такта

это я худо бедно понимаю, спасибо. Но у меня уверенность, что там точно не за такт. Там шибко сложная штука и когда я убираю мультицикл, там slack под -6нс примерно. Вот я конкретно на этом примере и хотел увидеть, насколько данные в симуляторе визуально долго добегают.

 

40 minutes ago, dxp said:

А с какой целью вы занялись симуляцией с таймингами?

У меня есть принудительная (вынужденная) асинхронщина в одном месте. Я бы очень хотел ее визуализировать от компиляции к компиляции. Как она работает. Пока что ума не хватает визуализировать в голове это по отчетам net_delay и max_skew

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


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

1 минуту назад, new123 сказал:

Но у меня уверенность, что там точно не за такт. Там шибко сложная штука и когда я убираю мультицикл, там slack под -6нс примерно. Вот я конкретно на этом примере и хотел увидеть, насколько данные в симуляторе визуально долго добегают.

Так STA эту информацию и даёт в Data Arrival Time. Причём это более достоверный вариант сразу: для setup прогона Arriveal Time считается задержки по наихудшему случаю (а сим по умолчанию гонит по типовому).

 

Симуляция синтезированного нетлиста с таймингами (для ПЛИС) нужна для проверки правильности заданных констрейнов. А просто все задержки можно посмотреть в отчёте STA.

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


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

2 minutes ago, dxp said:

А просто все задержки можно посмотреть в отчёте STA.

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

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


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

On 12/17/2021 at 5:56 PM, new123 said:

 

  Quote

vsim ........ -sdftyp "/DUT=<file>.sdo"..

4) В логе получаю
# Loading timing data from <file>.sdo
# ** Note: (vsim-3587) SDF Backannotation Successfully Completed.

 

Может что еще скормить надо.

А файл <file>.sdo содержит задержки typical?  Там вполне могут быть только min и max или вообще одна из них. Questa запросто успешно накладывает ничего ))

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


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

10 hours ago, honinbo said:

А файл <file>.sdo содержит задержки typical?  Там вполне могут быть только min и max или вообще одна из них. Questa запросто успешно накладывает ничего ))

доподлинно не выяснил еще, но у меня примерно такое же мнение сформировалось после чтения обрывков мануалов

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


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

45 minutes ago, new123 said:

доподлинно не выяснил еще, но у меня примерно такое же мнение сформировалось после чтения обрывков мануалов

Посмотрите файл, он текстовый. Или запустите симуляцию заменив ключ -sdftyp на sdfmin или sdfmax. 

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


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

Значения содержит.  Пришлось изучать структуру файла. Но что как то мало путей в нетлисте. EDA Writer еще создает лог, в котором перечисляет все пути и там они явно не все, особенно нет, меня интересующих
Интересно
 

Quote

The EDA Netlist Writer does not support complex data types, such as enums, stucts, unions, or interfaces, at the external boundary of the design or the partition that it produces.

может ли это причиной быть, а то я как раз на SV многое перевел. Со структурами всякими, да enum

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


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

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

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

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

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

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

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

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

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

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