~ cd 6. атрибуты
Это описание различных атрибутов, которые понимают инструменты Icarus Verilog. Атрибуты присоединяются к объектам с помощью синтаксиса «(* … *)», который описан в Verilog LRM.
Атрибуты, начинающиеся с «ivl_», являются специфическими для Icarus Verilog и, вероятно, игнорируются другими инструментами.
6.1. Оптимизации
- ivl_do_not_elide (снэпшот 20140619 или более поздняя версия)
Применяется к сигналам (например, reg, wire и т. д.) и указывает оптимизатору не исключать сигнал, даже если он не упоминается нигде в проекте. Это полезно, если сигнал по какой-то причине доступен только для кода VPI/PLI.
6.2. Синтез
- ivl_synthesis_cell
Применяется к определению модуля и сообщает синтезатору, что модуль является ячейкой. Синтезатор не спускается в ячейки синтеза, поскольку предполагается, что они являются примитивами в целевой технологии или ПЛИС. - ivl_synthesis_off
Прилагается к объявлению «always» и сообщает синтезатору, что данное объявление не должно синтезироваться. Это может быть полезно, например, чтобы сообщить компилятору, что участок кода является тестовым.