HDL Coder™ поддерживает генерацию HDL-кода для одно-тактового и нескольких многоскоростных моделей часов. Ваша модель может включать блоки, запускающиеся в несколько частот дискретизации:
В устройстве под тестом (DUT).
В испытательном стенде, управляющем DUT. В этом случае DUT наследовал несколько частот дискретизации от своих вводов или выводов.
И в испытательном стенде и в DUT.
В целом генерация HDL-кода для многоскоростной модели не отличается значительно от генерации HDL-кода для односкоростной модели. Однако существует несколько требований и ограничений на настройку модели и использование специализированных блоков (таких как Переходы Уровня), которые применяются к многоскоростным моделям. Для получения дополнительной информации смотрите Требования Многоскоростной модели для генерации HDL-кода.
Следующая блок-схема показывает внутреннюю часть подсистемы, содержащей блоки, которые явным образом сконфигурированы с различными шагами расчета. Верхние и более низкие Встречные блоки Свободного доступа имеют шаги расчета 10 с и 20 с соответственно. Встречные выходные сигналы направляются к выходным портам ST10
и ST20
, которые наследовали их шаги расчета. Путь прохождения сигнала, останавливающийся в ST10
, запускается в базовой ставке модели; путь прохождения сигнала, останавливающийся в ST20
, является сигналом подуровня, запускающимся в половине базовой ставки модели.
Как показано в следующей фигуре, выходные параметры многоскоростного DUT управляют К блокам Рабочей области в испытательном стенде. Эти блоки наследовали шаги расчета 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;
Сущность имеет стандартные часы, сброс, и часы включают входные параметры и выводы данных для сигналов ST20
и ST10
. Кроме того, сущность имеет два, синхронизируют, включают выходные параметры (ce_out_0
и ce_out_1
). Они синхронизируют, включают выходные параметры, реплицируют внутренние часы, включают сигналы, сохраняемые контроллером синхронизации сущность.
Следующая фигура, показывая фрагмент симуляции Mentor Graphics® ModelSim® сгенерированного кода VHDL, позволяет вам наблюдать временную зависимость часов базовой ставки (clk
), часы включают, и вычисленные выходные параметры модели.
После утверждения clk_enable
(реплицированный ce_out_0
), новое значение вычисляется и выводится к ST10
для каждого цикла часов базовой ставки.
Новое значение вычисляется и выводится для сигнала подуровня ST20
для любого цикла часов базовой ставки. Внутренний сигнал, enb_1_2_1
(реплицированный ce_out_1
) управляет синхронизацией этого вычисления.