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

Как избежать оптимизации кода в Sinplify

Так получилось что нужно использовать несколько gates в целях задержки сигнала (знаю, не здоровая ситуация, но в данном случае в качестве "спасательного круга"...). В коде задал несколько инверторов, но при попытке получения файла тайминга - пишет что дизайн не имеет сигналов. Видимо интертовы (из четное кол-во) упраздняются синтезатором (оптимизирует) и тогда действительно функционально получается постоянный 0.

 

Вопрос какая директива в коде скажет синтезатору (Sinplify) не оптимизировать код ?

 

Я пока только начинаю "втыкаться" в contraints - проблемку нужно решить уже...

 

Заранее благодарен.

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


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

Вопрос какая директива в коде скажет синтезатору (Sinplify) не оптимизировать код ?
syn_keep.

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


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

а не проще ли просто законстрейнить нужную задержку?? а там уж пусть синтезатор разбирается.

 

set_max_delay/set_min_delay

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


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

syn_keep.

 

большое спасибо.

если не затруднит - какой синтакс атрибута в сорсе VHDL ? (и где располагется по отношению к entity/architecture) ?

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

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


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

если не затруднит - какой синтакс атрибута в сорсе VHDL ? (и где располагется по отношению к entity/architecture) ?

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

И всё же... Пока вы тут вопрошаете, сами давно бы открыли доку на Synplify (reference.pdf) и сделали поиск по syn_keep.

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


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

Может есть специальный примитив, задействующий ячеку для прохождения сигнала. У Альтеры например - это примитив lcell

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


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

Может есть специальный примитив, задействующий ячеку для прохождения сигнала. У Альтеры например - это примитив lcell

У Actel с этим сложнее. Первое, что делает Designer - выкусывает инверторы и начинает делать ремапинг.

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


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

У Actel с этим сложнее. Первое, что делает Designer - выкусывает инверторы и начинает делать ремапинг.

 

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

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


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

И всё же... Пока вы тут вопрошаете, сами давно бы открыли доку на Synplify (reference.pdf) и сделали поиск по syn_keep.

 

Да, спасибо, загляну в док.

пытаюсь тут успевать на 4 фронта....выбило из мозгов как добраться до timing simulation в ISPLever...сделал netlist и sdf файлы, но все-равно кликая на мой testbench дает только functional simulation..

 

заглянул с док, нашел syn_keep с примером на VHDLе - спасибо. Уже внес в свой код.

Теперь осталось понять как добраться до timing simulation (place&route прошло, сгенерировал netlist и sdf файлы, но все-равно пока дает только functional simulation)...

.

.

.

OK, нашел - по ошибке прособачил testbench к гланвому сорсу вместо чипа. Сейчас просвоил его чипу - timing simulation - появилась.

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


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

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

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

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

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

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

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

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

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

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