HDL Coder™ поддерживает генерацию HDL-кода для синхроимпульсов с одним и несколькими многоскоростных моделей. Ваша модель может включать блоки, работающие с несколькими скоростями дискретизации:
В пределах тестируемого устройства (DUT).
На испытательном стенде приводят в действие ДУТ. В этом случае DUT наследует несколько частот дискретизации от его входов или выходов.
Как в испытательный стенд, так и в DUT.
В целом, генерация HDL-кода для многоскоростной модели не сильно отличается от генерации HDL-кода для односкоростной модели. Однако существует несколько требований и ограничений на строение модели и использование специализированных блоков (таких как Rate Transitions), которые применяются к многоскоростным моделям. Для получения дополнительной информации смотрите Многоскоростную модель требования к генерации HDL-кода.
Следующая блок-схема показывает внутреннее пространство подсистемы, содержащей блоки, которые явно сконфигурированы с различными шагами расчета. Верхний и нижний блоки Counter Free-Running имеют шаги расчета 10 с и 20 с соответственно. Выходные сигналы счетчика маршрутизируются к выходным портам ST10 и ST20, которые наследуют их шаги расчета. Путь сигнала, заканчивающийся на ST10 запускается с базовой скоростью модели; путь сигнала, заканчивающийся на ST20 является сигналом субрейта, вращающимся на половине базовой скорости модели.

Как показано на следующем рисунке, выходах многоразового привода DUT To Рабочей области блоков в испытательный стенд. Эти блоки наследуют шаги расчета выходов DUT.

В следующем списке показан VHDL® объявление сущности, сгенерированное для DUT.
ENTITY DUT IS
PORT( clk : IN std_logic;
reset : IN std_logic;
clk_enable : IN std_logic;
ce_out_0 : OUT std_logic;
ce_out_1 : OUT std_logic;
ST10 : OUT std_logic_vector(7 DOWNTO 0); -- uint8
ST20 : OUT std_logic_vector(5 DOWNTO 0) -- ufix6
);
END DUT;У сущность есть стандартные входы синхронизации, сброса и включения синхроимпульса и данных выходов для ST10 и ST20 сигналы. В сложение сущности имеет два выходов включения синхроимпульса (ce_out_0 и ce_out_1). Эти выходы включения синхроимпульса реплицируют внутренние сигналы включения синхроимпульса, поддерживаемые сущностью контроллера синхронизации.
Следующий рисунок, показывающий фрагмент графики ментора® ModelSim® симуляция сгенерированного кода VHDL, позволяет вам наблюдать временную зависимость синхроимпульса базовой скорости (clk), активизирует часы и вычисленные выходы модели.

После утверждения clk_enable (реплицируется ce_out_0), новое значение вычисляется и выход в ST10 для каждого цикла синхроимпульса базовой скорости.
Новое значение вычисляется и выводится для сигнала субрейта ST20 для каждого другого цикла синхроимпульса базовой скорости. Внутренний сигнал, enb_1_2_1 (реплицируется ce_out_1) определяет сроки выполнения этих расчетов.