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