Иерархическая распределенная конвейерная обработка расширяет область распределенной конвейерной обработки за счет перемещения задержек через иерархические границы внутри подсистемы с сохранением иерархии подсистемы.
Если для подсистемы в иерархии не включена распределенная конвейерная обработка, Coder™ HDL не перемещает задержки по этой подсистеме.
Например, следующая модель имеет один уровень иерархии подсистемы:

На следующей диаграмме показана модель после применения иерархической распределенной конвейерной обработки:

Подсистема теперь содержит регистры трубопроводов:

Иерархическая распределенная конвейерная обработка позволяет распределенной конвейерной обработке работать на большей части конструкции, что увеличивает вероятность того, что распределенная конвейерная обработка может еще больше уменьшить критический путь.
Иерархическая распределенная конвейерная обработка сохраняет исходную иерархию подсистем, которая позволяет отслеживать изменения, происходящие во время конвейерной обработки для вложенных блоков подсистем.
Для модели можно задать иерархическую распределенную конвейерную обработку. Чтобы задать иерархическую распределенную конвейерную обработку с помощью пользовательского интерфейса, на вкладке Приложения выберите Кодер HDL. Появится вкладка Код HDL (HDL Code). Щелкните Подсистема (Subsystem), а затем выберите Свойства блока HDL (HDL Block Properties). Включить Pipelining
На вкладке Приложения выберите Кодер HDL. Появится вкладка Код HDL (HDL Code).
Щелкните Настройки (Settings). На вкладке Создание кода HDL (HDL Code Generation) > Оптимизация (Optimization) > Конвейерная обработка (Pipelining) выберите Иерархическая распределенная конвейерная обработка (Hierarchical distributed p
Чтобы включить иерархическую распределенную конвейерную обработку, в командной строке введите:
hdlset_param('modelname', 'HierarchicalDistPipelining', 'on')
Иерархическая распределенная конвейерная обработка должна быть отключена, если подсистема DUT содержит ссылку на модель.
Для просмотра иерархической информации распределенной конвейерной обработки в отчете перед созданием кода для каждой подсистемы или ссылки на модель включите отчет оптимизации. Чтобы включить этот отчет, на вкладке Код HDL (HDL Code) выберите Параметры отчета (Report Options), а затем выберите Создать отчет по оптимизации (Generate optimization report).
При создании отчета об оптимизации в разделе Распределенная конвейерная обработка отображается эффект иерархической распределенной конвейерной оптимизации. Если иерархическая распределенная конвейерная обработка не выполнена, в отчете отображаются диагностические сообщения и блоки-нарушители, вызвавшие сбой иерархической распределенной конвейерной обработки.
Если иерархическая распределенная конвейерная обработка выполнена успешно, в отчете отображаются цветные разделы для различения различных областей, где HDL Coder применил иерархическую распределенную конвейерную обработку.
Лейзерсон, К.Е. и Джеймс Б. Саксен. «Ресинхронизация синхронных схем». Алгоритмика. Том 6, номер 1, 1991, стр. 5-35.