Cosimulate проектирование ЛПВП путем подключения Simulink к имитатору ЛПВП
HDL Verifier/для использования с Cadence Incisive
Проверка HDL/для использования с Mentor Graphics ModelSim
Блок косимуляции ЛПВП косимулирует аппаратный компонент, применяя входные сигналы и считывая выходные сигналы из модели ЛПВП при моделировании в имитаторе ЛПВП. Этот блок можно использовать для моделирования устройства источника или приемника, настроив блок только с портами ввода или вывода.
На блоке можно настроить следующие параметры:
Отображение входного и выходного портов блока в соответствие с сигналами (включая внутренние сигналы) модуля ЛПВП. Необходимо указать время выборки для каждого выходного порта. При необходимости можно указать тип данных для каждого выходного порта.
Тип параметров связи и обмена данными между тренажерами.
Временная зависимость между единицами времени моделирования в Simulink ® и имитатором HDL.
Часы с передним или задним фронтом, применяемые к модели. Можно указать период для каждого тактового сигнала.
Команды РУД для выполнения до и после моделирования.
Совместимость с созданием кода Simulink
Этот блок участвует в формировании кода HDL с помощью Coder™ HDL. Кодер создает интерфейс для написанного вручную или унаследованного кода HDL. Он не участвует в генерации кода C с Simulink Coder™.
Порты, показанные на блоке, соответствуют сигналам от модели HDL, выполняемой в имитаторе HDL. Можно добавлять и удалять порты, а также настраивать их типы данных и примеры времени, изменяя параметры блока. На вкладке Ports отображаются сигналы HDL, соответствующие портам. Можно добавлять, удалять и изменять порядок портов. Кнопка Auto Fill используется для заполнения таблицы посредством запроса информации о порте в имитатор HDL. Этот запрос возвращает имена портов и информацию из проекта HDL, запущенного в симуляторе HDL. Подробное описание этой функции см. в разделе «Получение сигнальной информации от имитатора HDL».
Все сигналы, задаваемые при настройке блока косимуляции HDL, должны иметь доступ для чтения/записи в имитаторе HDL. Для получения подробной информации см. документацию по продукту ЛПВП-симулятора.
При импорте сигналов VHDL ® из имитатора HDL HDL Verifier™ возвращает имена сигналов во всех столицах.
HDL_input_port_name - Сигнал, передаваемый с симулятора на имитатор ЛПВППорты в блоке соответствуют портам в конструкции HDL. Добавьте или удалите порты на вкладке «Порты».
Типы данных: int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | Fixed-point
HDL_output_port_name - Сигнал от имитатора ЛПВП на симуляторПорты в блоке соответствуют портам в конструкции HDL. Добавьте или удалите порты на вкладке «Порты».
Типы данных: int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | Fixed-point
Enable direct feedthrough - Работа с предупреждениями алгебраического циклаtrue (по умолчанию) | falseИсключение одной разности задержки вывода-выборки между косимуляцией и Simulink, которая возникает, когда модель содержит чисто комбинационные пути. Снимите этот флажок, если блок косимуляции HDL находится в цикле обратной связи и генерирует предупреждения или ошибки алгебраического цикла. При моделировании последовательной цепи, имеющей регистр на тракте данных, указание прямого канала не влияет на синхронизацию этого тракта данных.
Full HDL Name - Имя тракта сигналаУкажите имя пути сигнала с помощью синтаксиса пути имитатора HDL. Например, manchester.samp для имитаторов ЛПВП Incisive ®. Сигнал может быть на любом уровне иерархии проектирования ЛПВП. Порт блока косимуляции HDL, соответствующий сигналу, маркируется этим именем.
Правила указания имен портов и путей модулей в Simulink см. в разделе «Указание путей сигналов/портов HDL и модулей для косимуляции».
Можно скопировать имена трактов сигналов непосредственно из окна волны имитатора ЛПВП и вставить их в поле Полное имя ЛПВП. Используйте Path.Name просмотр и не Db::Path.Name посмотреть. После вставки имени пути сигнала в поле Полное имя HDL (Full HDL Name) нажмите кнопку Применить (Apply), чтобы завершить операцию вставки и обновить список сигналов.
I/O Mode - Направление портаInput | OutputЧтобы добавить двунаправленный порт, добавьте порт в список дважды, как входной, так и выходной.
Input - HDL сигналы, которые приводит Simulink. Симулятор накладывает значения на указанный сигнал имитатора ЛПВП с заданной частотой дискретизации.
Примечание
При определении входного порта блока убедитесь, что только один источник настроен на ввод этого сигнала. Например, не следует определять входной порт с несколькими экземплярами. Если ввод одного сигнала осуществляется из нескольких источников, имитационная модель приводит к неожиданным результатам.
Output - сигналы HDL, считываемые Simulink. Для выходных сигналов необходимо указать явное время выборки. Можно также указать тип данных, но ширина должна соответствовать ширине сигнала в HDL. Дополнительные сведения об указании типа данных см. в разделах «Тип данных» и «Длина дроби».
Сигналы симулятора не имеют тристантного семантика, потому что нет 'Z' значение. Для сопряжения с двунаправленными сигналами подключите к входу и включите сигналы как выходного драйвера, так и выходного сигнала входного драйвера. Этот подход оставляет фактический буфер tristate в HDL, где функции разрешения могут обрабатывать взаимодействие с другими буферами tristate.
Sample Time - Время между считыванием выборок на выходном портуИнтервал времени между последовательными выборками, применяемыми к выходному порту.
Simulink накладывает сигнал входного порта на сигнал имитатора ЛПВП с заданной частотой дискретизации. И наоборот, Simulink считывает выходной сигнал порта из указанного сигнала имитатора ЛПВП с заданной частотой дискретизации.
В общем случае Simulink обрабатывает периоды выборки портов следующим образом:
При подключении входного порта к сигналу, имеющему явный период выборки, основанный на прямом распространении, Simulink применяет эту скорость к порту.
При подключении входного порта к сигналу, не имеющему явного периода выборки, Simulink назначает период выборки, равный наименьшему общему кратному (LCM) из всех идентифицированных периодов выборки входного порта в модели.
После того как Simulink устанавливает периоды выборки входного порта, он применяет заданное пользователем время выборки вывода ко всем портам вывода. Необходимо указать явное время выборки для каждого выходного порта.
Точная интерпретация времени выборки выходного порта зависит от настроек параметров Timescales блока косимуляции HDL. См. также Временные шкалы моделирования.
Чтобы включить этот параметр, установите режим ввода-вывода в значение Output.
Data Type - Тип данных для выходного сигналаInherit (по умолчанию) | Fixedpoint | Double | SingleВыбрать Inherit для автоматического определения типа данных. Блок проверяет, соответствует ли длина наследуемого слова длине слова, запрошенного из имитатора ЛПВП. Если они не совпадают, Simulink генерирует сообщение об ошибке. Например, при подключении блока спецификации сигнала к выходу Inherit принудительно перемещает тип данных, заданный блоком Signal Specification, на выходной порт.
Если Simulink не может определить тип данных сигнала, подключенного к выходному порту, он запрашивает у имитатора HDL тип данных порта. Например, если имитатор HDL возвращает тип данных VHDL STD_LOGIC_VECTOR для сигнала размера N биты, тип данных ufixN принудительно на выходном порту. Неявная длина дроби равна 0.
Можно также назначить явный тип данных с необязательной длиной дроби. Путем явного назначения типа данных можно принудительно использовать типы данных с фиксированной точкой на выходных портах блока косимуляции HDL. Например, для 8-разрядного выходного порта установите для параметра Sign значение Signed и установка для параметра «Длина дроби» значения 5 принудительно приводит тип данных к sfix8_En5. Невозможно принудительно использовать ширину. Ширина всегда наследуется от имитатора ЛПВП.
Чтобы включить этот параметр, установите режим ввода-вывода в значение Output.
Свойства Тип данных (Data Type) и Длина фракции (Fraction Length) применяются только к следующим типам сигналов HDL:
Сигналы VHDL любого логического типа, например, STD_LOGIC или STD_LOGIC_VECTOR
Сигналы Verilog ® wire или reg напечатать
Sign - Знаковая составляющая типа выходных данныхUnsigned (по умолчанию) | SignedОбозначение знака для явного типа данных выходного порта.
Чтобы включить этот параметр, установите режим ввода-вывода в значение Outputи задайте для параметра «Тип данных» значение Fixedpoint.
Fraction Length - количество дробных битов в типе выходных данных;Размер, в битах, дробной части выходного сигнала с фиксированной точкой. Например, для 8-разрядного выходного порта установите для параметра Sign значение Signed и установка для параметра «Длина дроби» значения 5 принудительно приводит тип данных к sfix8_En5. Нельзя форсировать ширину; ширина всегда наследуется от имитатора ЛПВП.
Чтобы включить этот параметр, установите режим ввода-вывода в значение Outputи свойство «Тип данных» для Fixedpoint.
Свойства Тип данных (Data Type) и Длина фракции (Fraction Length) применяются только к следующим типам сигналов HDL:
Сигналы VHDL любого логического типа, например, STD_LOGIC или STD_LOGIC_VECTOR
Сигналы Verilog wire или reg напечатать
Создайте опциональные опережающие и падающие часы, которые применяют стимулы к модели косимуляции. В списке прокрутки отображаются HDL-часы, которые управляют значениями сигналов HDL, моделируемых с помощью метода депонирования. Тактовые сигналы должны быть одноразрядными. Векторные сигналы не поддерживаются. Инструкции по добавлению и редактированию тактовых сигналов см. в разделе Создание дополнительных часов с помощью панели часов блока косимуляции HDL.
Full HDL Name - Имя тракта сигнала Укажите каждый тактовый сигнал в качестве имени пути сигнала, используя синтаксис имени пути имитатора HDL. Например: /manchester/clk или manchester.clk.
Сведения и требования к спецификациям трактов в Simulink см. в разделе «Указание трактов сигналов/портов HDL и модулей для косимуляции».
Можно скопировать имена трактов сигналов непосредственно из окна волны имитатора ЛПВП и вставить их в поле Полное имя ЛПВП. Используйте Path.Name просмотр и не Db::Path.Name посмотреть. После вставки имени пути сигнала в поле Полное имя HDL (Full HDL Name) нажмите кнопку Применить (Apply), чтобы завершить операцию вставки и обновить список сигналов.
Active Clock Edge - фронт синхросигналов HDL, используемый для выборки сигналовRising (по умолчанию) | FallingВыбрать Rising или Falling для указания либо восходящего, либо нисходящего часов.
Period - Тактовый периодЧтобы указать явный период времени, введите время выборки, равное или большее двух единиц разрешения (засечек).
Если период синхронизации не является четным целым числом, Simulink не может создать 50% рабочий цикл. Вместо этого программное обеспечение HDL Verifier создает задний край на clockperiod/2 (округлено до ближайшего целого числа).
Выберите отношение синхронизации между Simulink и имитатором HDL вручную или автоматически. Эти параметры определяют соответствие между одной секундой времени симулятора и некоторым количеством времени имитатора ЛПВП. Эта величина времени имитатора ЛПВП может быть выражена одним из следующих способов:
Относительная временная зависимость (секунды симулирования соответствуют интервалу делений, определенному имитатором ЛПВП)
Абсолютная временная зависимость (секунды Simulink соответствуют абсолютной единице времени имитатора HDL)
Дополнительные сведения о расчете относительного и абсолютного режимов синхронизации см. в разделе Определение отношения синхронизации симулятора и симулятора HDL.
Подробные сведения о взаимосвязи между Simulink и имитатором ЛПВП во время косимуляции, а также о работе режимов относительного и абсолютного времени см. в разделе Временные шкалы моделирования.
Automatically determine timescale at start of simulation - Когда рассчитать автоматическую шкалу времениtrue (по умолчанию) | falseПри выборе этой опции программа HDL Verifier вычисляет шкалу времени при запуске моделирования Simulink. Если этот параметр не выбран, щелкните Определить шкалу времени (Define Timescale Now), чтобы рассчитать шкалу времени немедленно без начала моделирования. Можно также выбрать шкалу времени вручную. Инструкции по автоматическому вычислению шкалы времени см. в разделе Автоматическое определение отношения синхронизации.
1 second in Simulink corresponds to {} in the HDL simulator - Взаимосвязь синхронизации между симулятором и имитатором ЛПВПЭтот параметр состоит из значения Time и значения TimeUnit.
Конфигурирование относительного режима синхронизации для косимуляции:
Убедитесь, что Tick, выбран параметр по умолчанию для TimeUnit. Если это не так, выберите его из списка справа.
Введите масштабный коэффициент в поле «Время» слева. Масштабный коэффициент по умолчанию равен 1.
Чтобы настроить абсолютный режим синхронизации для косимуляции:
Установите TimeUnit в единицу абсолютного времени: fs (фемтосекунды), ps (пикосекунды), ns (наносекунды), us (микросекунды), ms (миллисекунды), или s (секунды).
Введите масштабный коэффициент в поле «Время» слева. Масштабный коэффициент по умолчанию равен 1.
Connection mode - Соединение между симулятором и имитатором ЛПВПFull Simulation (по умолчанию) | Confirm Interface Only | No ConnectionТип соединения между Simulink и имитатором HDL.
Full SimulationПодтвердите интерфейс и запустите моделирование HDL.
Confirm Interface Only: Подключитесь к имитатору HDL и проверьте имена сигналов, размеры и типы данных, но не запускайте моделирование HDL. Во время моделирования Simulink контакт с имитатором HDL отсутствует.
No Connection: Не связывайтесь с имитатором ЛПВП. Не требуется запускать имитатор ЛПВП.
HDL simulator is running on this computer - Тот же хост для имитатора HDL и Simulinktrue (по умолчанию) | falseКогда оба приложения работают на одном компьютере, можно выбрать общую память или TCP-сокеты для канала связи между приложениями. Если этот параметр не выбран, доступен только режим сокета TCP/IP, и список Метод подключения становится недоступным.
Connection method - Соединение между имитатором ЛПВП и симуляторомSocket (по умолчанию) | Shared memorySocket: Simulink и имитатор HDL взаимодействуют через выделенный сокет TCP/IP. Режим сокета TCP/IP является более универсальным. Его можно использовать для конфигураций одной системы и сети. Этот вариант обеспечивает наибольшую масштабируемость. Дополнительные сведения о связи сокетов TCP/IP см. в разделе Порты сокетов TCP/IP.
Shared memory: Симулятор и имитатор ЛПВП взаимодействуют через общую память. Обмен данными с общей памятью обеспечивает оптимальную производительность и является режимом связи по умолчанию.
Этот параметр отображается, когда на этом компьютере запущен имитатор HDL.
Host name - хост-машина имитатора ЛПВПЭтот параметр применяется при запуске Simulink и имитатора HDL на разных компьютерах.
Port number or service - Номер порта сокетаУкажите допустимый номер порта или службы TCP-сокета для вашей компьютерной системы, если вы не используете общую память. Сведения о выборе портов сокетов TCP см. в разделе Порты сокетов TCP/IP.
Show connection info on icon - Добавить параметры подключения к значку блокаtrue (по умолчанию) | falseПри выборе этой опции значок блока косимуляции HDL отображает текущие настройки параметров связи. При выборе общей памяти отображается значок SharedMem. Если выбрана связь с сокетом TCP, отображается значок Socket и отображает имя хоста и номер порта в формате hostname:port.
Эта информация позволяет различать несколько блоков косимуляции ЛПВП, где каждый блок взаимодействует с разным экземпляром имитатора ЛПВП.
Time to run HDL simulator before cosimulation starts - Смещение, выравнивающее симулятор с имитатором ЛПВПУказывает время запуска имитатора ЛПВП перед началом моделирования в Simulink. Определение этого времени надлежащим образом выравнивает сигнал блока Simulink и сигнал HDL так, чтобы их можно было сравнивать и проверять непосредственно без дополнительных задержек.
Этот параметр состоит из значения PreRuntime и значения PreRunTimeUnit.
PreRuntime: любое допустимое значение времени. Значение по умолчанию - 0.
PreRunTimeUnit: указывает единицы времени для PreRuntime.
Tick
s
ms
us
ns
ps
fs
Pre-simulation Tcl commands - Команды для запуска в имитаторе ЛПВП перед косимуляциейИнструмент косимуляции выполняет эти команды в имитаторе ЛПВП перед моделированием компонента ЛПВП модели Simulink. При вводе нескольких команд в одной строке добавьте каждую команду с точкой с запятой (;) - стандартный оператор конкатенации Tcl.
Например, этот параметр используется для создания однострочной эхо-команды для подтверждения выполнения моделирования или сложного сценария, выполняющего обширную инициализацию моделирования и последовательность запуска. Эти команды нельзя использовать для изменения состояния моделирования.
Можно указать любую допустимую команду Tcl. Указанная команда Tcl не может включать команды, загружающие проект имитатора HDL или изменяющие состояние имитатора. Например, символьный вектор не может включать такие команды, как start, stop, или restart (для ModelSim ®) илиrun, stop, или reset (для резца).
Post-simulation Tcl commands - Команды для запуска в имитаторе ЛПВП после косимуляцииИнструмент косимуляции выполняет эти команды в имитаторе ЛПВП после моделирования компонента ЛПВП модели Simulink.
Можно указать любую допустимую команду Tcl. Указанная команда Tcl не может включать команды, загружающие проект имитатора HDL или изменяющие состояние имитатора. Например, строка не может включать такие команды, как start, stop, или restart (для ModelSim) или run, stop, или reset (для резца).
Примечание
После каждого моделирования ModelSim симулятору требуется время для обновления результата покрытия. Чтобы предотвратить потенциальный конфликт между этим процессом и следующим сеансом косимуляции, добавьте короткую паузу между каждым последующим моделированием.
Кодер HDL предоставляет дополнительные опции конфигурации, которые влияют на реализацию HDL и синтезированную логику. Можно создать код HDL для блоков косимуляции, используемых в Mentor Graphics ® ModelSim или Cadence Incisive ®.
Каждый из блоков косимуляции ЛПВП косимулирует аппаратный компонент, применяя входные сигналы к модели ЛПВП и считывая выходные сигналы из нее, которая выполняется под имитатором ЛПВП. См. раздел Создание модели косимуляции (кодер HDL).
Сведения о синхронизации, задержках, типизации данных, обработке кадров и других проблемах при настройке косимуляции ЛПВП см. в разделе Определение интерфейса блока косимуляции ЛПВП.
Блок косимуляции ЛПВП с кодером ЛПВП можно использовать для создания интерфейса к написанному вручную или унаследованному коду ЛПВП. Когда блок косимуляции HDL включен в модель, кодер генерирует интерфейс VHDL или Verilog в зависимости от выбранного целевого языка.
Когда целевым языком является VHDL, генерируемый интерфейс включает в себя:
Определение сущности. Объект определяет порты (входные, выходные и тактовые), соответствующие по имени и типу данных портам, сконфигурированным в блоке косимуляции HDL. Также объявляются порты включения и сброса синхронизации.
Архитектура RTL включает в себя объявление компонента, конфигурацию компонента, объявляющую сигналы, соответствующие сигналам, подключенным к портам косимуляции HDL, и создание экземпляра компонента.
Операторы назначения портов, требуемые моделью.
Когда целевым языком является Verilog, генерируемый интерфейс включает в себя:
Модуль, определяющий порты (входные, выходные и тактовые), соответствующие по имени и типу данных портам, сконфигурированным в блоке косимуляции HDL. Модуль также определяет порты включения и сброса синхросигналов, а также wire объявления, соответствующие сигналам, подключенным к портам косимуляции ЛВП.
Экземпляр модуля.
Операторы назначения портов, требуемые моделью.
Перед началом создания кода проверьте, соответствует ли модель требованиям для создания кода. Чтобы проверить требования к созданию кода, перейдите на вкладку Отладка и щелкните Обновить модель.
Этот блок имеет единую архитектуру HDL по умолчанию.
Описание параметров реализации см. в разделе Настройка интерфейса косимуляции черного ящика или HDL (кодер HDL).
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
