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

Моделирование post P&R в ModelSim

Доброе утро!

 

Есть вот какой вопрос

Описываю на VHDL некоторый большой проект, состоящий из множества внутренних блоков. Провожу синтез, Place&Route и вот допустим меня заинтересовал вопрос, сколько времени потребуется на то, чтобы большая комбинационная схема перешла в устойчивое состояние. Если я сделаю для нее специальный порт и выведу наружу, то синтезатор приделает буфер задержки и получу искаженное значение задержки. Если я этот сигнал оставлю висеть в воздухе при описании проекта, то синтезатор "оптимизирует" схему путем выбрасывания это комбинационной схемы.

После синтеза мои с любовью описанные блоки превращаются в мешанину сигналов, как их назвал синтезатор, и выцепить оттуда нужный мне не представляется возможным.

 

Короче вопрос, можно ли после P&R сохранить за сигналами прежние названия и структуру проекта так, как она выглядит при "досинтезном" моделировании? Или же P&R перелопачивает проект так, что он моей описанной структуры ничего не остается?

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


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

сколько времени потребуется на то, чтобы большая комбинационная схема перешла в устойчивое состояние
В синхронной схеме это один период тактовой частоты. Или мультицикл. Если ваша комбинационная схема не укладывается в этот констрейн, об этом скажет STA в своём логе, делать меделенную post-PnR-симуляцию не обязательно.

Или у вас асинхронный дизайн?

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


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

Синхронный синхронный. Вопрос, в какой момент синхронизировать.

 

Из триггеров торчит сколько то сигналов, которые поступают на вход многослойной комбинационной схемы. Вопрос - будет ли схема в устойчивом состоянии к следующему такту, или надо будет еще подождать 1 цикл?

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


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

Будет или не будет -- это посчитает STA. Смотрите его лог.

 

Сделайте сначала один такт и разведите FPGA. Если STA ошибок не выдаст, значит, одного такта достаточно. Если будут ошибки, то или мультицикл или бить логику на слои (конвейер).

 

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


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

Гость MHC

А чем синтезируете? если XST -- попробуйте в настройках синтеза выставить опцию Keep Hierarchy.

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


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

Вопрос - будет ли схема в устойчивом состоянии к следующему такту, или надо будет еще подождать 1 цикл?

Ответ на этот вопрос даёт Timing Analyzer (запущенный после P&R). Им можно поглядеть какие места в разведённом проекте оказались самыми тяжелыми, а также, сколько и на что именно будет затрачено времени в самых худших случаях.

Естественно, достигнутая частота при разводке сильно зависит от той, которую просили в constraint'е.

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


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

Работаю в ActelIDE, синтезатор Synplify PRO, Place&Route уже фирмовый актелевский, картинки смотрю в ModelSim.

 

попробуйте в настройках синтеза выставить опцию Keep Hierarchy.

О! Вот это кстати очень помогло бы. А это сильно влияет на оптимальность синтеза? В смысле иерархия сохраняется только в названиях юнитов и сигналов или влияет на структуру синтеза?

 

Сделайте сначала один такт и разведите FPGA. Если STA ошибок не выдаст, значит, одного такта достаточно. Если будут ошибки, то или мультицикл или бить логику на слои (конвейер).

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

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


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

О! Вот это кстати очень помогло бы. А это сильно влияет на оптимальность синтеза? В смысле иерархия сохраняется только в названиях юнитов и сигналов или влияет на структуру синтеза?

Иерархия сохранится полностью (Аналогичные ключи есть во всех синтезаторах). А вот насколько этим урежете поле для маневра синтезатора зависит от схемы и констрейнов.

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


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

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

мой вам совет бросить заниматься ерундой, освоить наконец то STA и понять во то именно синтезатор укладывает ваш код %)

 

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


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

ммм, я стараюсь писать конструкции максимально приближенные к структурному описанию, чтобы синтезатор не ошибился.

 

По STA имеете ввиду смотреть таблицы задержек?

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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