exponenta event banner

Временные шкалы моделирования

Обзор представления времени моделирования

Время моделирования значительно отличается между имитатором ЛПВП и Simulink ®. Каждое приложение имеет свой собственный механизм синхронизации, и программное обеспечение проверки должно синхронизировать время моделирования между ними .

В имитаторе ЛПВП единица времени моделирования называется галочкой. Длительность деления определяется пределом разрешения имитатора ЛПВП. Предел разрешения по умолчанию - 1 нс, но может изменяться в зависимости от симулятора.

  • Пользователи ModelSim ®:

    Для определения текущего предела разрешения ModelSim введите echo $resolution или report simulator state по запросу ModelSim. Можно переопределить предел разрешения по умолчанию, указав -t опция в командной строке ModelSim или путем выбора другого разрешения Simulator в диалоговом окне Model Sim Simulate. Доступные разрешения в ModelSim - 1x, 10x или 100x в единицах fs, ps, ns, us, ms или sec. Для получения дополнительной информации см. документацию ModelSim.

  • Пользователи Incisive ®:

    Для определения текущего предела разрешения имитатора ЛПВП введите echo $timescale в подсказке имитатора ЛПВП. Для получения дополнительной информации см. документацию по имитатору ЛПВП.

Simulink поддерживает время моделирования как значение двойной точности, масштабированное до секунд. Это представление учитывает моделирование как непрерывных, так и дискретных систем.

Взаимосвязь между Simulink и синхронизацией имитатора HDL влияет на следующие аспекты моделирования:

  • Общее время моделирования

  • Время выборки входного порта

  • Время выборки выходного порта

  • Часы

Во время выполнения моделирования Simulink передает текущее время моделирования в имитатор ЛПВП на каждом промежуточном этапе. (Промежуточный шаг соответствует совпадению времени выборки Simulink. На каждом промежуточном этапе применяются новые значения на входных портах или производится выборка выходных портов.)

Чтобы обновить имитатор ЛПВП с помощью Simulink во время косимуляции, вы должны преобразовать выборочное время симулятора в время симулятора ЛПВП (галочки) и позволить симулятору ЛПВП работать для вычисленного количества галочек.

Определение отношения синхронизации симулятора и имитатора ЛПВП

Различия в представлении времени моделирования можно согласовать одним из двух способов с помощью интерфейса Verifier™ HDL:

  • Путем определения отношения синхронизации вручную (с помощью панели «Временные шкалы»)

    При определении отношения вручную определяется, сколько фемтосекунд, пикосекунд, наносекунд, микросекунд, миллисекунд, секунд или делений в имитаторе HDL составляет 1 секунда в Simulink.

  • Разрешив программе проверки HDL определять шкалу времени (с панелью «Шкала времени»)

    Когда программное обеспечение позволяет определять отношение синхронизации, оно пытается установить коэффициент шкалы времени между имитатором ЛПВП и симулятором как можно ближе к 1 секунде в симуляторе ЛПВП = 1 секунде в симуляторе. Если этот параметр невозможен, функция проверки HDL пытается установить скорость передачи сигналов на порту модели Simulink на минимально возможное число отметок имитатора HDL.

Установка режима синхронизации с помощью верификатора HDL

Панель Timescales диалогового окна Параметры блока косимуляции ЛПВП (HDL Cosimulation block parameters) определяет соответствие между одной секундой времени симулятора и некоторым количеством времени имитатора ЛПВП. Эта величина времени имитатора ЛПВП может быть выражена одним из следующих способов:

  • В относительном выражении (то есть как некоторое количество отметок имитатора ЛПВП). В этом случае косимуляция, как говорят, работает в режиме относительной синхронизации. Блок косимуляции ЛВП по умолчанию устанавливается в режим относительной синхронизации для косимуляции. Дополнительные сведения о режиме относительной синхронизации см. в разделе Режим относительной синхронизации.

  • В абсолютных единицах (например, миллисекундах или наносекундах). В этом случае считается, что косимуляция работает в режиме абсолютной синхронизации. Дополнительные сведения о режиме абсолютной синхронизации см. в разделе Режим абсолютной синхронизации.

Панель Timescales позволяет выбрать оптимальные отношения синхронизации между Simulink и имитатором HDL, либо путем ввода эквивалента имитатора HDL, либо путем предоставления функции проверки HDL для расчета шкалы времени.

Вы можете выбрать, чтобы программа проверки HDL рассчитывала шкалу времени, пока вы устанавливаете параметры в диалоговом окне блока, щелкнув параметр Шкала времени, затем щелкнув Определить шкалу времени сейчас, или чтобы программа проверки HDL рассчитывала шкалу времени, когда начинается моделирование, выбрав Автоматически определять шкалу времени в начале моделирования.

На следующем рисунке показаны настройки по умолчанию на панели Шкала времени (Timescales) (пример показан для использования с ModelSim).

Инструкции по установке режима синхронизации вручную или с помощью диалогового окна «Временные шкалы» см. на панели «Временные шкалы» в справочнике блока косимуляции HDL.

Автоматическое определение отношения синхронизации

Чтобы программное обеспечение HDL Verifier рассчитало отношение синхронизации для вас:

  1. Запустите имитатор ЛПВП. Программное обеспечение HDL Verifier может получить предел разрешения имитатора HDL только при его работе.

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

    • Чтобы выполнить расчет во время настройки блока, на вкладке Шкала времени щелкните Определить шкалу времени сейчас. Программное обеспечение соединяет Simulink с имитатором HDL, чтобы Simulink мог использовать разрешение имитатора HDL для расчета наилучшей шкалы времени. Эти результаты отображаются в диалоговом окне Сведения о шкале времени.

      Примечание

      Для отображения результатов убедитесь, что имитатор ЛПВП запущен и конструкция загружена для косимуляции. Моделирование не обязательно должно выполняться.

      Можно принять предлагаемую шкалу времени или изменить список портов непосредственно:

      • Чтобы вернуться к первоначально рассчитанным параметрам, нажмите кнопку «Использовать рекомендуемую шкалу времени».

      • Чтобы просмотреть примеры времени для всех портов в конструкции HDL, выберите Показать все порты и часы.

    • Чтобы выполнить расчет в начале моделирования, выберите Автоматически определять временную шкалу в начале моделирования и нажмите кнопку Применить. При запуске моделирования в Simulink появляется то же диалоговое окно «Сведения о временной шкале».

      Примечание

      Для отображения результатов убедитесь, что имитатор ЛПВП запущен и конструкция загружена для косимуляции. Моделирование не обязательно должно выполняться.

    Программное обеспечение HDL Verifier анализирует все скорости тактового сигнала и сигнала порта из блока косимуляции HDL, когда программное обеспечение вычисляет масштабный коэффициент.

    Примечание

    Программное обеспечение HDL Verifier не может автоматически рассчитать примерную временную шкалу на основе каких-либо сигналов, приводимых в действие с помощью команд Tcl или в имитаторе HDL. Программное обеспечение линии связи не может выполнять такие вычисления, поскольку оно не может знать скорости этих сигналов.

    Программное обеспечение канала возвращает частоту дискретизации в секундах или засечках:

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

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

    При каждом выборе опции Определить шкалу времени сейчас или Автоматически определять шкалу времени в начале моделирования открывается интерактивный экран. На этом экране объясняются результаты расчетов шкалы времени. Если программное обеспечение канала не может рассчитать временную шкалу для данного времени выборки, настройте время выборки в списке портов.

  3. Нажмите кнопку Применить, чтобы подтвердить изменения.

Примечание

HDL Verifier не поддерживает временные шкалы, рассчитанные автоматически по кадровым сигналам.

Относительный режим синхронизации

Режим относительной синхронизации определяет следующее соответствие между временем моделирования в Simulink и имитатором HDL:

Одна секунда в Simulink соответствует N галочкам в имитаторе ЛПВП, где N является масштабным коэффициентом.

Это соответствие сохраняется независимо от разрешения синхронизации имитатора ЛПВП.

Следующий псевдокод показывает, как единицы времени Simulink преобразуются в отметки имитатора HDL:

InTicks = N * tInSecs

где InTicks - время имитатора ЛПВП в засечках, tInSecs - время Simulink в секундах, и N является масштабным коэффициентом.

Работа режима относительной синхронизации

Блок косимуляции ЛВП по умолчанию устанавливается в режим относительной синхронизации с масштабным коэффициентом 1. Таким образом, 1 секунда Simulink соответствует 1 галочке в имитаторе HDL. В случае по умолчанию:

  • Если общее время моделирования в Simulink указано как N секунды, затем моделирование HDL будет выполняться ровно N клещи (т. е. N ns на пределе разрешения по умолчанию).

  • Аналогично, если Simulink вычисляет время выборки входного порта блока косимуляции HDL как Tsi секунд, новые значения будут помещены на входной порт HDL с точными кратными Tsi засечками. Если выходной порт имеет явно указанное время выборки Tso секунд, значения будут считываться из имитатора HDL с кратными Tso засечками.

Пример режима относительной синхронизации

Чтобы понять, как работает режим относительного синхронизации, просмотрите результаты косимуляции из следующей примерной модели.

 Для использования с ModelSim

 Для использования с резцом

Абсолютный режим синхронизации

Режим абсолютной синхронизации позволяет определить зависимость синхронизации между Simulink и имитатором HDL в терминах единиц абсолютного времени и масштабного коэффициента:

Одна секунда в Simulink соответствует (N * Tu) секундам в имитаторе ЛПВП, где Tu - единица абсолютного времени (например, мс, нс и т. д.), а N - масштабный коэффициент.

В режиме абсолютной синхронизации все моменты времени выборки и тактовые периоды в Simulink квантуются в клещи имитатора ЛПВП. Следующий псевдокод иллюстрирует преобразование:

tInTicks = tInSecs * (tScale / tRL)

где:

  • tInTicks - время имитатора ЛПВП в клещах.

  • tInSecs - время Simulink в секундах.

  • tScale - настройка шкалы времени (единица измерения и масштабный коэффициент), выбранная на панели «Шкала времени» блока косимуляции HDL.

  • tRL - предел разрешения имитатора ЛПВП.

Например, при установке в области Timescales значения 1 с и ограничения разрешения имитатора ЛПВП 1 нс время выборки выходного порта 12 нс будет преобразовано в деление следующим образом:

			tInTicks = 12ns * (1s / 1ns) = 12
 	

Работа режима абсолютной синхронизации

Для настройки параметров Timescales для режима абсолютного времени необходимо выбрать единицу абсолютного времени, соответствующую секунде Simulink, а не выбиратьTick.

Пример режима абсолютной синхронизации

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

  • Параметры моделирования в Simulink:

    • Параметры шкалы времени: 1 s времени Simulink соответствует 1 s времени имитатора ЛПВП.

    • Общее время моделирования: 60e-9 s (60ns)

    • Входной порт (/inverter/inport) время выборки: 24e-9 s (24 ns)

    • Выходной порт (/inverter/outport) время выборки: 12e-9 s (12 ns)

    • Часы (inverter/clk) период: 10e-9 s (10 ns)

  • Предел разрешения имитатора ЛПВП: 1 ns

Учитывая эти параметры моделирования, программное обеспечение Simulink будет косимулироваться с имитатором ЛПВП в течение 60 нс, во время которого Simulink будет производить выборку входных сигналов с интервалами 24 нс, обновлять выходные сигналы с интервалами 12 нс и приводить в действие часы с интервалами 10 нс.

На следующем рисунке показано окно волны ModelSim после выполнения косимуляции.

Соображения по использованию режима синхронизации

При настройке режима шкалы времени, возможно, потребуется выбрать параметр в соответствии со следующими соображениями.

Ограничения использования режима синхронизации

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

  • Когда несколько блоков косимуляции HDL в модели взаимодействуют с одним экземпляром имитатора HDL, все блоки косимуляции HDL должны иметь одинаковые настройки панели временных шкал.

  • При изменении настроек панели Шкала времени (Timescales) в блоке косимуляции HDL между последовательными запусками косимуляции необходимо перезапустить моделирование в имитаторе HDL.

  • Если указать время выборки Simulink, которое не может быть выражено как целое число отметок HDL, появится ошибка.

Неинтегрированные периоды времени

При использовании неинтегрированных периодов времени имитатор ЛПВП не может представлять такое бесконечно повторяющееся значение. Таким образом, симулятор усекает период времени, но делает это иначе, чем то, как Simulink усекает значение, и два периода времени больше не совпадают.

В следующем примере показано, как установить отношение синхронизации в следующем сценарии: необходимо использовать период выборки 13Hz в Simulink, который соответствует периоду неинтегрированного времени.

Ключевая идея здесь заключается в том, что вы всегда должны быть в состоянии связать время Simulink с галочкой HDL. Отметка ЛПВП - это лучший временной отрезок, который распознает имитатор ЛПВП; для ModelSim отметкой по умолчанию является 1 нс, но она может быть сделана такой же точной, как 1 fs.

Однако сигнал 3 Гц фактически имеет период 333.33333333333... ms, что не является допустимым периодом делений для имитатора ЛПВП. Имитатор ЛПВП усечит такие числа. Но Симулинк не принимает такого же решения; таким образом, для косимуляции, где вы пытаетесь сохранить два независимых симулятора в синхронизации, вы не должны предполагать ничего. Вместо этого нужно решить, удобно ли усекать или округлить число.

Поэтому решение состоит в том, чтобы «привязать» время выборки Simulink или время выборки HDL (через шкалу времени) к допустимым числам. Есть бесконечные возможности, но есть несколько возможных способов выполнения привязки:

  • Измените время выборки Simulink с 1/3 секунды на 0,33333 секунды и установите временную шкалу блока косимуляции на «1 секунда в Simulink = 1 секунда в имитаторе ЛПВП». Если вы указываете часы на панели «Часы блока косимуляции HDL», их период должен составлять 0,33333 сек.

  • Время выборки Simulink должно составлять 1/3 секунды и 1 секунду в Simulink = 6 засечек в имитаторе HDL.

    • Если вы указываете часы на панели «Часы блока косимуляции HDL», их период должен быть равен 1/3. Вкратце, эта спецификация говорит Simulink, чтобы каждое время выборки Simulink соответствовало каждому (1/3 * 6) = 2 засечкам, независимо от разрешения времени HDL.

    • Если разрешение имитатора ЛПВП по умолчанию равно 1 нс, это означает, что время выборки ЛПВП составляет каждые 2 нс. Это время выборки будет работать таким образом, чтобы для каждого времени выборки Simulink было соответствующее время выборки ЛПВП.

    • Однако Симулинк думает с точки зрения периодов 1/3 секунды и ЛПВП с точки зрения периодов 2 нс. Таким образом, вы можете запутаться во время отладки. Если вы хотите, чтобы это соответствовало реальному периоду (например, 5 мест, то есть 333,33 мс), вы можете следовать следующей опции.

  • Держите типовые времена Simulink в 1/3 секунду и 1 секунду в Simulink = 0.99999e9 клещи в симуляторе HDL. Если вы указываете часы на панели «Часы блока косимуляции HDL», их период должен быть равен 1/3.

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

В общем случае Simulink обрабатывает время выборки для портов блока косимуляции HDL следующим образом:

  • Если входной порт подключен к сигналу, который имеет явное время выборки, основанное на прямом распространении, Simulink применяет эту скорость к этому входному порту.

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

  • После того как Simulink устанавливает периоды выборки входного порта, он применяет заданное пользователем время выборки вывода ко всем портам вывода. Время выборки должно быть явно определено для всех выходных портов.

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

Укажите время выходной выборки для блока косимуляции ЛПВП как целое число, кратное пределу разрешения, определенному в имитаторе ЛПВП. Используйте команду имитатора ЛПВП report simulator state для проверки предела разрешения загруженной модели. Если предел разрешения имитатора ЛПВП равен 1 нс, а время выборки на выходе блока равно 20, Simulink взаимодействует с имитатором ЛПВП каждые 20 нс.