Синхронизируйте, сброс, и включите сигналы

Управление часами, сбросом, и включает

Можно создать возрастающее ребро или часы ребра падения, сброс, или часы включают сигналы, которые применяют внутренние стимулы для модели под cosimulation. Можно добавить эти сигналы:

Добавление сигналов Используя блоки Simulink

Добавьте возрастающее ребро или часы ребра падения, сброс, или часы включают сигналы к вашей модели Simulink® использование блоков Simulink. См. Руководство пользователя Simulink и Ссылку для получения инструкций относительно добавления блоков к модели.

В следующей выборке в качестве примера заштрихованная область показывает часы, сброс, и часы включают сигнал, как введено к модели блока HDL Cosimulation кратного. Эти сигналы создаются с помощью двух блоков преобразования типа данных Simulink и постоянного исходного блока, которые соединяются с блоком HDL Cosimulation, пометил "Manchester Receiver Subsystem".

Создание дополнительных часов с панелью часов HDL блок Cosimulation

Примечание

Для ModelSim® и Incisive® Users только

Когда вы задаете часы в вашем определении блока, Simulink создает возрастающее ребро или часы ребра падения, которые управляют заданным сигналом HDL.

Simulink пытается создать часы, которые имеют 50%-й рабочий цикл и предопределенную фазу, которая инвертируется для падающего случая ребра. Если применимо Simulink ухудшает рабочий цикл, чтобы разместить нечетные шаги расчета Simulink с худшим рабочим циклом случая 66% для шага расчета T=3.

Сконфигурировали ли вы панель Timescales для относительного режима синхронизации или абсолютного режима синхронизации, следующие ограничения применяются к периодам часов:

  • Если вы задаете явный период часов, необходимо ввести шаг расчета, равный или больше, чем 2 модуля разрешения (метки деления).

  • Если период часов (принял ли явным образом заданный или значение по умолчанию) не является ровным целым числом, Simulink не может создать 50%-й рабочий цикл, и поэтому программное обеспечение HDL Verifier™ создает падающее ребро в

    clockperiod/2

    (округленный в меньшую сторону до самого близкого целого числа).

Для получения дополнительной информации о вычислении относительных и абсолютных режимов синхронизации смотрите Определение Временная зависимость симулятора HDL и Simulink.

Следующий рисунок показывает схему синхронизации, которая включает возрастающие и падающие часы ребра с шагом расчета Simulink T=10 и предел разрешения симулятора HDL 1 нс. Рисунок также показывает, что, учитывая тех, которые синхронизируют параметры, рабочий цикл часов составляет 50%.

Чтобы создать часы, выполните следующие шаги:

  1. В симуляторе HDL решите, что путь прохождения сигнала часов называет вас, планируют задать в вашем блоке. Для этого можно использовать тот же метод, объясненный в определении имен пути прохождения сигнала для портов на шаге 1 “Сигналов HDL карты Блокировать Порты”.

  2. Выберите вкладку Clocks диалогового окна Block Parameters. Simulink отображает диалоговое окно как показано в следующей фигуре (пример, показанный для использования с Острым).

  3. Нажмите New, чтобы добавить новый сигнал часов.

  4. Отредактируйте имя пути прохождения сигнала часов непосредственно в таблице в соответствии со столбцом Full HDL Name путем двойного клика по имени сигнала часов по умолчанию (/top/clk). Затем задайте свои новые часы с помощью синтаксиса пути симулятора HDL. Смотрите Задают Пути к Сигналу/Порту и Модулю HDL для Места размещения Simulink Test Cosimulation.

    Симулятор HDL не поддерживает векторизованные сигналы в панели Clocks. Сигналы должны быть логическими типами с 1 и 0 значениями.

  5. Чтобы задать, генерируют ли часы возрастающее ребро или падающий сигнал ребра, выберите Rising или Falling из списка Active Clock Edge.

  6. Поле Period задает период часов. Примите значение по умолчанию (2), или переопределение это путем ввода желаемого периода часов явным образом путем двойного клика в поле Period.

    Задайте поле Period как ровное целое число с минимальным значением 2.

  7. Когда вы закончите редактировать сигналы часов, нажмите Apply, чтобы указать ваши изменения с Simulink.

Следующее диалоговое окно задает часы возрастающего ребра clk для блока HDL Cosimulation, с периодом по умолчанию 2 (пример, показанный для использования с Острым).

Управление сигналами путем добавления команд силы

Можно управлять часами, сбросом, и включить сигналы любым из двух способов:

  • Путем добавления команд силы в панель Simulation (только ModelSim и Острые пользователи)

  • Путем управления сигналами с одним из симулятора HDL HDL Verifier запускают команды (vsim или nclaunch) и команда силы

Примеры: обеспечьте Команду, вводимую в Панель Симуляции блока HDL Cosimulation

Следующее является примером ввода команд силы в панели Simulation блока HDL Cosimulation для использования с Острым:

Следующее является примером ввода команд силы в панели Simulation блока HDL Cosimulation для использования с ModelSim:

Примеры: обеспечьте Команду, используемую с Командой Запуска симулятора HDL HDL Verifier

vsim функция и команда силы (пользователи ModelSim):

vsim('tclstart', {'force /iqconv/clk 1 0, 0 5 ns -repeat 10 ns ', 
     'force /iqconv/clk_enable 1', 'force /iqconv/reset 1'});

nclaunch функция и команда силы (Острые пользователи):

nclaunch('tclstart',['-input "{@force osc_top.clk_enable 1 -after 0ns}"',
         '-input "{@force osc_top.reset 0 -after 0ns 1 -after 40ns 0 -after 120ns}"',
         '-input "{@force osc_top.clk 1 -after 0ns 0 -after 40ns -repeat 80ns}"']);