Muscat 0 4 июля, 2011 Опубликовано 4 июля, 2011 · Жалоба Доброе утро! Есть вот какой вопрос Описываю на VHDL некоторый большой проект, состоящий из множества внутренних блоков. Провожу синтез, Place&Route и вот допустим меня заинтересовал вопрос, сколько времени потребуется на то, чтобы большая комбинационная схема перешла в устойчивое состояние. Если я сделаю для нее специальный порт и выведу наружу, то синтезатор приделает буфер задержки и получу искаженное значение задержки. Если я этот сигнал оставлю висеть в воздухе при описании проекта, то синтезатор "оптимизирует" схему путем выбрасывания это комбинационной схемы. После синтеза мои с любовью описанные блоки превращаются в мешанину сигналов, как их назвал синтезатор, и выцепить оттуда нужный мне не представляется возможным. Короче вопрос, можно ли после P&R сохранить за сигналами прежние названия и структуру проекта так, как она выглядит при "досинтезном" моделировании? Или же P&R перелопачивает проект так, что он моей описанной структуры ничего не остается? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 4 июля, 2011 Опубликовано 4 июля, 2011 · Жалоба сколько времени потребуется на то, чтобы большая комбинационная схема перешла в устойчивое состояние В синхронной схеме это один период тактовой частоты. Или мультицикл. Если ваша комбинационная схема не укладывается в этот констрейн, об этом скажет STA в своём логе, делать меделенную post-PnR-симуляцию не обязательно. Или у вас асинхронный дизайн? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Muscat 0 4 июля, 2011 Опубликовано 4 июля, 2011 · Жалоба Синхронный синхронный. Вопрос, в какой момент синхронизировать. Из триггеров торчит сколько то сигналов, которые поступают на вход многослойной комбинационной схемы. Вопрос - будет ли схема в устойчивом состоянии к следующему такту, или надо будет еще подождать 1 цикл? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 4 июля, 2011 Опубликовано 4 июля, 2011 · Жалоба Будет или не будет -- это посчитает STA. Смотрите его лог. Сделайте сначала один такт и разведите FPGA. Если STA ошибок не выдаст, значит, одного такта достаточно. Если будут ошибки, то или мультицикл или бить логику на слои (конвейер). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость MHC 4 июля, 2011 Опубликовано 4 июля, 2011 · Жалоба А чем синтезируете? если XST -- попробуйте в настройках синтеза выставить опцию Keep Hierarchy. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Beby 8 4 июля, 2011 Опубликовано 4 июля, 2011 · Жалоба Вопрос - будет ли схема в устойчивом состоянии к следующему такту, или надо будет еще подождать 1 цикл? Ответ на этот вопрос даёт Timing Analyzer (запущенный после P&R). Им можно поглядеть какие места в разведённом проекте оказались самыми тяжелыми, а также, сколько и на что именно будет затрачено времени в самых худших случаях. Естественно, достигнутая частота при разводке сильно зависит от той, которую просили в constraint'е. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Muscat 0 4 июля, 2011 Опубликовано 4 июля, 2011 · Жалоба Работаю в ActelIDE, синтезатор Synplify PRO, Place&Route уже фирмовый актелевский, картинки смотрю в ModelSim. попробуйте в настройках синтеза выставить опцию Keep Hierarchy. О! Вот это кстати очень помогло бы. А это сильно влияет на оптимальность синтеза? В смысле иерархия сохраняется только в названиях юнитов и сигналов или влияет на структуру синтеза? Сделайте сначала один такт и разведите FPGA. Если STA ошибок не выдаст, значит, одного такта достаточно. Если будут ошибки, то или мультицикл или бить логику на слои (конвейер). Ну да, я как то так и делаю сейчас,зная где узкое место, развожу, смотрю, если не работает, ставлю промежуточные триггеры. Но хотелось бы наглядно увидеть, как сигнал бежит по заданным мной проволокам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
honinbo 2 4 июля, 2011 Опубликовано 4 июля, 2011 · Жалоба О! Вот это кстати очень помогло бы. А это сильно влияет на оптимальность синтеза? В смысле иерархия сохраняется только в названиях юнитов и сигналов или влияет на структуру синтеза? Иерархия сохранится полностью (Аналогичные ключи есть во всех синтезаторах). А вот насколько этим урежете поле для маневра синтезатора зависит от схемы и констрейнов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 5 июля, 2011 Опубликовано 5 июля, 2011 · Жалоба Ну да, я как то так и делаю сейчас,зная где узкое место, развожу, смотрю, если не работает, ставлю промежуточные триггеры. Но хотелось бы наглядно увидеть, как сигнал бежит по заданным мной проволокам. мой вам совет бросить заниматься ерундой, освоить наконец то STA и понять во то именно синтезатор укладывает ваш код %) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Muscat 0 5 июля, 2011 Опубликовано 5 июля, 2011 · Жалоба ммм, я стараюсь писать конструкции максимально приближенные к структурному описанию, чтобы синтезатор не ошибился. По STA имеете ввиду смотреть таблицы задержек? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться