Выравнивание иерархии позволяет вам удалить иерархию подсистемы из HDL-кода, сгенерированного из вашего проекта.
HDL Coder™ полагает, что блоки в сглаженной подсистеме на том же уровне иерархии, и больше не сгруппированы в отдельные подсистемы. Этот фактор позволяет кодеру реорганизовывать блоки для оптимизации через исходные иерархические контуры при сохранении функциональности.
Сохранить модульный принцип проекта и иметь взаимно-однозначное отображение от имени подсистемы до соответствующего HDL module
или entity
назовите, не сглаживайте иерархию. Сгенерированный HDL-код более читаем, когда вы не сглаживаете иерархию.
Сгладьте иерархию к:
Включите более обширную область и оптимизацию скорости.
Сократите количество выходных файлов HDL. Для каждой подсистемы, которую вы сглаживаете, HDL Coder генерирует ту меньше выходного файла HDL.
Прежде чем вы сгладите иерархию, у вас должен быть MaskParameterAsGeneric
набор свойств к off
. Для получения дополнительной информации смотрите, Генерируют параметрированный HDL-код от подсистемы маскированной.
Когда вы используете оптимизацию, такую как разделение ресурсов или передающий потоком с выравниванием иерархии в определенных случаях, HDL Coder может сохранить иерархию подсистемы в сгенерированной модели. Однако HDL-код, сгенерированный для сглаженных подсистем, встраивается, который сокращает количество файлов HDL.
Когда вы используете типы данных с плавающей точкой в Native Floating Point
режим, HDL Coder не может сгладить иерархию. Это вызвано тем, что проекты с плавающей точкой генерируют сотни строк кода, и встраивание файлов HDL делает сгенерированный код менее читаемым.
По умолчанию подсистема наследовала свое выравнивание иерархии, сходящее с родительской подсистемы. Однако можно включить или отключить выравнивание для отдельных подсистем. Эта таблица приводит опции, которые можно задать для опций выравнивания иерархии для подсистемы, перечислены в следующей таблице.
Установка выравнивания иерархии | Описание |
---|---|
наследуйтесь (значение по умолчанию) | Используйте установку выравнивания иерархии родительской подсистемы. Если эта подсистема является подсистемой высшего уровня, не сглаживаться. |
on | Сгладьте эту подсистему. |
off | Не сглаживайте эту подсистему, даже если родительская подсистема сглажена. |
Установить выравнивание иерархии с помощью диалогового окна HDL Block Properties:
Во вкладке Apps выберите HDL Coder. Вкладка HDL Code появляется. Выберите Subsystem и затем нажмите HDL Block Properties. Для FlattenHierarchy выберите on, off или inherit.
Щелкните правой кнопкой по Subsystem и выберите HDL Code> HDL Block Properties. Для FlattenHierarchy выберите on, off или inherit.
Чтобы установить иерархию, сглаживающуюся из командной строки, использовать hdlset_param
. Например, чтобы включить иерархию, сглаживающуюся для подсистемы, my_dut
:
hdlset_param('my_dut', 'FlattenHierarchy', 'on')
hdlset_param
.Подсистема не может быть сглажена, если подсистема:
Synchronous Subsystem или использование блок State Control в Synchronous
режим.
Реализация модели - ссылки.
Триггируемая подсистема, когда триггерный сигнал Использования, когда часы включены.
Подсистема маскированная, которая содержит любое следующее:
Шина.
Перечислимый тип данных.
Блоки интерполяционной таблицы: 1-D Lookup Table, 2-D Lookup Table, Cosine HDL Optimized, Direct LookupTable (n-D), Prelookup, Sine HDL Optimized, n-D Lookup Table.
Блок MATLAB System.
Stateflow® блоки: Chart, State Transition Table, Sequence Viewer.
Блоки с передачей или никакой-op реализацией. Смотрите Проходят, Никакой HDL и Каскадные Реализации.
Примечание
Эта опция удаляет контуры подсистемы перед генерацией кода. Это не обязательно генерирует HDL-код с абсолютно плоской иерархией.
Чтобы видеть, что иерархия сглаживает информацию в отчете, прежде чем вы сгенерируете код для каждой подсистемы или модели - ссылки, включают отчет оптимизации. Чтобы включить этот отчет, во вкладке HDL Code, выбирают Report Options, и затем выбирают отчет оптимизации Generate.
Отчет отображает подсистемы в вашей модели, которым установили FlattenHierarchy на on
и off
, состояние выравнивания иерархии и файлы HDL, которые встраиваются. Можно использовать отчет эффективнее сгладить иерархию подсистемы и улучшить возможности для оптимизации, такой как конвейеризация тактовой частоты на модели.
Если выравнивание иерархии неудачно, отчет показывает таблицу, которая содержит подсистемы, которые не сглажены, и причины того, что не была сглажена подсистема. Подсистемы, которые имеют * подсвеченный около него, указывают, встраиваются ли файлы HDL, хотя выравнивание иерархии перестало работать.