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