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

Vivado: несоответствие данных симулятора и Implementation

Поделитесь пожалуйста опытом, встречались ли вы с таким явлением:

в констрейнтах задан клок;

имплементация выдает "all requirements are met";

при моделировании выдаются предупреждения, что нарушены условия setuphold.

Сообщения относятся к входу адреса блока RAM, адрес поступает с регистра, который тактируется тем же клоком, что и RAM.

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


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

У меня такое неоднократно с DDR бывало. Обычно я просто игнорирую. Ибо если рулы клоков после синтеза и имплементации совпали, то какой-то там симулятор может писать себе что угодно. Разве только у Вас не временное можелирование пост-имплемент модели. Тогда может стоит задуматься

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


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

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

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


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

Может что-то из констрейнов не было задано, или же клоки с разной частотой и, в итоге, расходятся? 

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


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

16 hours ago, lexx said:

Может что-то из констрейнов не было задано, или же клоки с разной частотой и, в итоге, расходятся? 

Клок источника и приемника данных один и тот же. Какие еще констрейнты, кроме частоты клока, необходимы в этом случае?

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

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


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

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

Just now, Dmitry_B said:

Клок источника и приемника данных один и тот же. Какие еще констрейнты, кроме частоты клока, необходимы в этом случае?

Еще этот клок должен быть стабильным -  если клок идет с PLL то на симе вы можете получать  моменты когда это нет так.  Time analizer же видит только статическую картину.

Удачи! Rob.   

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


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

Just now, RobFPGA said:

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

Еще этот клок должен быть стабильным -  если клок идет с PLL то на симе вы можете получать  моменты когда это нет так.  Time analizer же видит только статическую картину.

Удачи! Rob.   

Очень любопытное замечание. Симулятор учитывает джиттер PLL?

Правда, к моему случаю это не относится: сигнал формируется тестбенчем и подается напрямую, то есть - идеальный.

Хотя, если дело дошло до моделирования джиттера, то почему не предположить, что моделируется и джиттер буферного усилителя клока...

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


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

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

1 hour ago, Dmitry_B said:

Правда, к моему случаю это не относится: сигнал формируется тестбенчем и подается напрямую, то есть - идеальный.

Тогда  еще более интересно разобраться - в какой момент симуляции это ошибка возникает,  какая реальная задержки получается на симе между регистром адреса и блоком памяти по клоку и данным и как она соотносится с задержками выдаваемыми  в time analizer для данного пути. Тем более это важно так как ошибки таймингов шины адреса для блоков памяти черноваты еще и тем  что при этом может портится контекст памяти. 

Удачи! Rob.

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


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

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

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

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

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

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

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

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

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

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