Запланировать сеанс испытательного стенда MATLAB для экземпляра модуля HDL
matlabtb <instance> [<time-specs>] [-socket <tcp-spec>] [-rising <port>[,<port>...]] [-falling <port> [,<port>,...]] [-sensitivity <port>[,<port>,...]] [-mfunc <name>] [-use_instance_obj] [-argument]
matlabtb имеет следующие характеристики:
Запускает клиентский компонент имитатора HDL программного обеспечения HDL Verifier™.
Связывает указанный экземпляр конструкции HDL, созданной в имитаторе HDL, с функцией MATLAB ®.
Создает процесс, который планирует вызовы указанной функции MATLAB.
Отменяет все ожидающие события, запланированные предыдущим matlabtb , которая указывала тот же экземпляр. Например, при выполнении команды matlabtb например, foo, все ранее запланированные события, инициированные matlabtb на foo отменены.
Эта команда выдается в имитаторе ЛПВП.
Функции тестового стенда MATLAB имитируют стимулы, передаваемые объектам в модели HDL. Вы принудительно стимулируете от MATLAB или HDL, запланированного с matlabtb.
Примечания
Режим связи, указанный для matlabtb должен соответствовать режиму связи, указанному для hdldaemon при установлении соединения с сервером.
Для подключения сокетов укажите номер порта, выбранный для hdldaemon при выдаче запроса на ссылку с помощью matlabtb в имитаторе ЛПВП.
<instance>Указывает экземпляр модуля HDL, который программное обеспечение HDL Verifier связывает с функцией тестового стенда MATLAB. По умолчанию matlabtb связывает экземпляр с функцией MATLAB, имя которой совпадает с именем экземпляра. Например, если экземпляр myfirfilter, matlabtb связывает экземпляр с функцией MATLAB myfirfilter (обратите внимание, что имена иерархий игнорируются; например, если имя экземпляра top.myfirfilter, matlabtb будет связывать только myfirfilter с функцией MATLAB). Кроме того, можно указать другую функцию MATLAB с помощью -mfunc.
Примечание
Не указывайте экземпляр модуля HDL, который уже был связан с функцией MATLAB (через matlabcp или matlabtb). В этом случае новая связь перезаписывает существующую.
<time-specs>Задает комбинацию временных спецификаций, состоящую из любого или всех следующих элементов:
<timen>,... |
Задает одно или несколько дискретных значений времени, при которых имитатор HDL вызывает указанную функцию MATLAB. Каждое значение времени соответствует текущему времени моделирования. Даже если время не указано, имитатор HDL вызывает функцию MATLAB один раз в начале моделирования. Разделите несколько временных значений пробелом. Например: matlabtb vlogtestbench_top 10 ns, 10 ms, 10 sec Функция MATLAB выполняется, когда время равно 0, а затем 10 наносекунд, 10 миллисекунд и 10 секунд от нулевого времени. Примечание Для параметров на основе времени можно указать любые стандартные единицы времени ( |
-repeat <time> |
Указывает, что имитатор HDL вызывает функцию MATLAB повторно на основе указанного Например: matlabtb vlogtestbench_top 5 ns -repeat 10 ns Функция MATLAB выполняется в момент времени, равный 0 нс, 5 нс, 15 нс, 25 нс и так далее. |
-cancel <time> |
Указывает время прекращения выполнения указанной функции MATLAB. Значение времени относительно значения Примечание |
Примечание
Размещение временных спецификаций после matlabtb экземпляр и перед любыми дополнительными аргументами команды; в противном случае временные характеристики игнорируются.
Все временные спецификации для matlabtb функции отображаются в виде числа и, при необходимости, единицы времени:
fs (фемтосекунды)
ps (пикосекунды)
ns (наносекунды)
us (микросекунды)
мс (миллисекунды)
сек (секунды)
без единиц (галочка)
-socket <tcp_spec>Определяет связь сокетов TCP/IP для канала между имитатором HDL и MATLAB. При предоставлении информации TCP/IP для matlabtb, вы можете выбрать номер порта TCP/IP или псевдоним порта TCP/IP или имя службы для <tcp_spec> параметр. При настройке связи между компьютерами необходимо также указать имя или адрес Интернета удаленного узла, на котором работает сервер MATLAB (hdldaemon).
Дополнительные сведения о выборе портов сокетов TCP/IP см. в разделе Порты сокетов TCP/IP.
При запуске имитатора HDL и MATLAB на одном компьютере можно использовать общую память для обмена данными. Общая память является режимом связи по умолчанию и вступает в силу, если не указать-socket <tcp_spec> в командной строке.
Примечание
Режим связи, указанный с помощью matlabtb команда должна соответствовать заданному для режима связи при вводе hdldaemon в MATLAB. Дополнительные сведения о режимах связи см. в разделе Коммуникации для косимуляции HDL. Для получения дополнительной информации об установлении конца канала связи MATLAB см. Запуск имитатора HDL из MATLAB.
-rising <signal>[, <signal>...]Указывает, что приложение вызывает указанную функцию MATLAB на переднем крае (переход от '0' кому '1') любого из указанных сигналов. Определить -rising с именами трактов одного или нескольких сигналов, определенных как логический тип (STD_LOGIC, BIT, X01и так далее).
Для определения перехода сигнала в:
VHDL ®: Нарастающее ребро: {0 или L} в {1 или H}.
Verilog ®: Rising edge - это переход от 0 к x, z или 1 и от x или z к 1.
Примечание
При указании сигналов с помощью -rising, -falling, и -sensitivity укажите их в формате полного пути. Если полное имя пути не указано, команда применяет правила имитатора HDL для разрешения спецификаций сигнала.
-falling <signal>[, <signal>...]Указывает, что приложение вызывает указанную функцию MATLAB всякий раз, когда какой-либо из указанных сигналов испытывает противоположный фронт - изменяется с'1' кому '0'. Определить -falling с именами трактов одного или нескольких сигналов, определенных как логический тип (STD_LOGIC, BIT, X01и так далее).
Для определения перехода сигнала в:
VHDL: падающий край равен {1 или H} {0 или L}.
Verilog: Falling edge - переход от 1 к x, z или 0 и от x или z к 0.
Примечание
При указании сигналов с помощью -rising, -falling, и -sensitivity укажите их в формате полного пути. Если полное имя пути не указано, команда применяет правила имитатора HDL для разрешения спецификаций сигнала.
-sensitivity <signal>[, <signal>...]Указывает, что приложение вызывает указанную функцию MATLAB всякий раз, когда какой-либо из указанных сигналов изменяет состояние. Определить -sensitivity с именами трактов одного или нескольких сигналов. Сигналы любого типа могут появляться в списке чувствительности и размещаться на любом уровне конструкции ЛПВП.
Если указать опцию без сигналов, интерфейс будет чувствителен к изменениям значений для всех сигналов.
Примечание
Использование этой опции для INOUT порты могут приводить к двойным вызовам.
Например:
-sensitivity /randnumgen/dout
Функция MATLAB выполняется, если значение dout изменения.
Примечание
При указании сигналов с помощью -rising, -falling, и -sensitivity укажите их в формате полного пути. Если полное имя пути не указано, команда применяет правила имитатора HDL для разрешения спецификаций сигнала.
-mfunc <name>Имя связанной функции MATLAB. Если опустить этот аргумент, matlabtb связывает экземпляр модуля HDL с функцией MATLAB, имя которой совпадает с именем экземпляра HDL. Если опустить этот аргумент и matlabtb не находит функцию MATLAB с тем же именем, команда генерирует сообщение об ошибке.
-use_instance_obj Инструктирует функцию, указанную в аргументе -mfunc для использования объекта экземпляра HDL, переданного в функцию средством проверки HDL. Этот аргумент имеет поля, показанные в следующей таблице. Примеры см. в разделе Запись функций с помощью объекта экземпляра HDL.
| Область | Доступ для чтения/записи | Описание |
|---|---|---|
tnext | Только запись | Используется для планирования обратного вызова в течение заданного значения времени. Это поле эквивалентно старому hdl_instance_obj.tnext = hdl_instance_obj.tnow + 5e-9 запланирует обратный вызов в момент времени, равный 5 наносекундам от |
userdata | Чтение/запись | Сохраняет переменные состояния текущего matlabcp экземпляр. Переменные можно извлечь при следующем планировании обратного вызова этого экземпляра. |
simstatus | Только для чтения | Сохраняет состояние имитатора ЛПВП. Программное обеспечение HDL Verifier устанавливает для этого поля значение >> hdl_instance_obj.simstatus
ans=
Init |
instance | Только для чтения | Сохраняет полный путь экземпляра Verilog/VHDL, связанного с обратным вызовом. экземпляр является свойством, доступным только для чтения. Значение этого поля равно значению экземпляра модуля, указанного при вызове функции. Например: В имитаторе ЛПВП: hdlsim> matlabcp osc_top -mfunc oscfilter use_instance_obj В MATLAB: >> hdl_instance_obj.instance ans= osc_top |
argument | Только для чтения |
Сохраняет аргумент, заданный matlabtb osc_top -mfunc oscfilter -use_instance_obj -argument foo -argument опция, только если она используется с -use_instance_obj, в противном случае аргумент игнорируется. аргумент является свойством только для чтения.
>> hdl_instance_obj.argument
ans=
foo
|
portinfo | Только для чтения |
Сохраняет информацию о портах VHDL и Verilog, связанных с этим экземпляром. hdl_instance_obj.portinfo.field1.field2.field3
Примечание При использовании
|
tscale | Только для чтения |
Сохраняет предел разрешения (отметку) в секундах имитатора ЛПВП. >> hdl_instance_obj.tscale ans= 1.0000e-009 Примечание При использовании |
tnow | Только для чтения |
Сохраняет текущее время. hdl_instance_obj.tnext = hld_instance_obj.tnow + fastestrate; |
portvalues | Чтение/запись |
Сохраняет текущие значения и устанавливает новые значения для выходного и входного портов для >> hdl_instance_obj.portvalues ans = Read Only Input ports: clk_enable: [] clk: [] reset: [] Read/Write Output ports: sine_out: [22x1 char] |
linkmode | Только для чтения |
Сохраняет состояние обратного вызова. Программное обеспечение HDL Verifier устанавливает для этого поля значение >> hdl_instance_obj.linkmode ans= component |
-argument Используется для передачи пользовательских аргументов из matlabtb создание экземпляра на стороне HDL для обратного вызова функции MATLAB. Поддерживается с -use_instance_obj только. См. список полей для аргумента под -use_instance_obj собственность.
Следующие примеры демонстрируют некоторые способы использования matlabtb функция.
matlabtb с -socket Параметры аргумента и времениСледующая команда запускает клиентский компонент имитатора HDL Verifier, связывая экземпляр объекта, myfirfilter, с функцией MATLAB myfirfilterи начинает сеанс тестового стенда на основе локального сокета TCP/IP с использованием порта 4449 TCP/IP. На основании указанных стимулов стенда, myfirfilter.m выполняет 5 наносекунд от текущего времени, а затем многократно каждые 10 наносекунд:
hdlsim> matlabtb myfirfilter 5 ns -repeat 10 ns -socket 4449
matlabtbСледующая команда запускает клиентский компонент имитатора HDL программы проверки HDL и начинает удаленный сеанс на основе сокета TCP/IP с использованием удаленного главного компьютера MATLAB с именем computer123 и порт TCP/IP 4449. На основании указанных стимулов стенда, myfirfilter.m выполняет 10 наносекунд от текущего времени, каждый раз, когда сигнал /top/fclk испытывает нарастающий фронт, и каждый раз сигнал /top/din изменяет состояние.
hdlsim> matlabtb /top/myfirfilter 10 ns -rising /top/fclk -sensitivity /top/din
-socket 4449@computer123matlabtbСледующая команда запускает клиентский компонент имитатора HDL программного обеспечения HDL Verifier. '-mfunc' определяет функцию MATLAB для подключения и '-socket' параметр определяет номер порта для режима подключения сокета. '-sensitivity' указывает, что сеанс тестового стенда чувствителен к сигналу sine_out.
hdlsim> matlabtb osc_top -sensitivity /osc_top/sine_out
-socket 4448 -mfunc hosctb