Иерархическая распределенная конвейеризация расширяет осциллограф распределенной конвейеризации путем перемещения задержек через иерархические контуры в подсистеме при сохранении иерархии подсистемы.
Если подсистема в иерархии не имеет распределенной конвейеризации включенной, HDL Coder™ не перемещает задержки через ту подсистему.
Например, следующая модель имеет один уровень иерархии подсистемы:
Следующая схема показывает модель после применения иерархической распределенной конвейеризации:
Подсистема теперь содержит конвейерные регистры:
Иерархическая распределенная конвейеризация позволяет распределенной конвейеризации работать с большей частью вашего проекта, который увеличивает шанс, что распределенная конвейеризация может далее уменьшать ваш критический путь.
Иерархическая распределенная конвейеризация сохраняет исходную иерархию подсистемы, которая позволяет вам проследить изменения, которые происходят во время конвейеризации для вложенных блоков Subsystem.
Можно задать иерархическую распределенную конвейеризацию для модели.
Задавать распределенную конвейеризацию с помощью пользовательского интерфейса:
Щелкните правой кнопкой по подсистеме DUT и выберите HDL Code> HDL Coder Properties.
В HDL Code Generation> панель Global Settings, выберите вкладку Optimization.
Выберите Hierarchical distributed pipelining и нажмите OK.
Включить иерархическую распределенную конвейеризацию, на командной строке, введите:
hdlset_param('modelname', 'HierarchicalDistPipelining', 'on')
Отключить иерархическую распределенную конвейеризацию, на командной строке, введите:
hdlset_param('modelname', 'HierarchicalDistPipelining', 'off')
Иерархическая распределенная конвейеризация должна быть отключена, если ваша подсистема DUT содержит модель - ссылку.
Чтобы видеть иерархическую распределенную информацию о конвейеризации в отчете, прежде чем вы сгенерируете код для каждой подсистемы или модели - ссылки, включают отчет Генерации кода. Чтобы включить отчет Генерации кода, в диалоговом окне Configuration Parameters, на панели HDL Code Generation, включают Generate optimization report.
Когда вы генерируете отчет генерации кода в разделе Distributed Pipelining Optimization Report, вы видите эффект иерархической распределенной оптимизации конвейеризации. Если иерархическая распределенная конвейеризация неудачна, отчет показывает диагностические сообщения и нарушающие блоки, которые заставили иерархическую распределенную конвейеризацию перестать работать.
Если иерархическая распределенная конвейеризация успешна, отображения отчета, окрашенные разделами, чтобы различать различные области, где HDL Coder применил иерархическую распределенную конвейеризацию.
Лейсерсон, C.E и Джеймс Б. Сэйкс. “Повторно синхронизируя Синхронную Схему”. Algorithmica. Издание 6, Номер 1, 1991, стр 5-35.