Выравнивание иерархии позволяет вам удалить иерархию подсистемы из HDL-кода, сгенерированного из вашего проекта.
Программное обеспечение HDL Coder™ полагает, что блоки в сглаженной подсистеме на том же уровне иерархии, и больше не сгруппированы в отдельные подсистемы. Этот фактор позволяет кодеру реорганизовывать блоки для оптимизации через исходные иерархические контуры при сохранении функциональности.
Сгладьте иерархию к:
Включите более обширную область и оптимизацию скорости.
Сократите количество выходных файлов HDL. Для каждой сглаженной подсистемы HDL Coder генерирует ту меньше выходного файла HDL.
Постарайтесь не сглаживать иерархию, если вы хотите сохранить взаимно-однозначное отображение от имени подсистемы до HDL имя entity
или module
. Не выравнивание иерархии делает HDL-код более читаемым.
Чтобы сгладить иерархию, подсистема должна иметь следующие свойства блока.
Свойство | Необходимое значение |
---|---|
DistributedPipelining | 'off' |
StreamingFactor | 0 |
SharingFactor | 0 |
Чтобы сгладить иерархию, у вас должен также быть глобальный набор свойств MaskParameterAsGeneric
к 'off'
. Для получения дополнительной информации смотрите, Генерируют параметризованный HDL-код от подсистемы маскированной.
По умолчанию подсистема наследовала свое выравнивание иерархии, сходящее с родительской подсистемы. Однако можно включить или отключить выравнивание для отдельных подсистем.
Опции выравнивания иерархии для подсистемы перечислены в следующей таблице.
Установка выравнивания иерархии | Описание |
---|---|
наследуйтесь (значение по умолчанию) | Используйте установку выравнивания иерархии родительской подсистемы. Если эта подсистема является подсистемой высшего уровня, не сглаживаться. |
на | Сгладьте эту подсистему. |
'off' | Не сглаживайте эту подсистему, даже если родительская подсистема сглажена. |
Установить выравнивание иерархии с помощью диалогового окна HDL Block Properties:
Щелкните правой кнопкой по подсистеме.
Выберите HDL Code> HDL Block Properties.
Для FlattenHierarchy выберите on, off или inherit.
Чтобы установить иерархию, сглаживающуюся из командной строки, используйте hdlset_param
. Например, чтобы включить иерархию, сглаживающуюся для подсистемы, my_dut
:
hdlset_param('my_dut', 'FlattenHierarchy', 'on')
hdlset_param
.Подсистема не может быть сглажена, если подсистема:
Синхронная Подсистема или использование блок State Control в режиме Synchronous
.
Реализация черного квадрата или модель - ссылка.
Инициированная Подсистема, когда триггерный сигнал Использования, когда часы включены.
Любая регулярная или подсистема маскированная, которая содержит блок MATLAB function.
Подсистема маскированная, которая содержит любое следующее:
Шина.
Перечислимый тип данных.
Блок интерполяционной таблицы: 1D Интерполяционная таблица, 2D Интерполяционная таблица, Косинус, Прямой LookupTable (n-D), Предварительный поиск, Синус, n-D Интерполяционная таблица.
Блок MATLAB System.
Блок Stateflow®: График, Таблица Изменения состояния, Sequence Viewer.
Блокируйтесь с передачей или никакой-op реализацией. Смотрите Проходят, Никакой HDL и Каскадные Реализации.
Эта опция удаляет контуры подсистемы перед генерацией кода. Это не обязательно генерирует HDL-код с абсолютно плоской иерархией.