Планируйте сеанс испытательного стенда 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
отменяются.
Эта команда выполняется в симуляторе HDL.
MATLAB испытательного стенда функции мимические раздражители перешли к сущностям в HDL модели. Вы форсируете стимул из MATLAB или HDL, запланированный с matlabtb
.
Примечания
Режим связи, который вы задаете для matlabtb
должен соответствовать режиму связи, заданному для hdldaemon
при установлении подключения к серверу.
Для связи с сокетом укажите номер порта, для которого вы выбрали порт hdldaemon
когда вы выдаете запрос на ссылку с matlabtb
команда в симуляторе HDL.
<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 перестает выполняться. Значение времени соответствует значению Примечание The |
Примечание
Разместите спецификации времени после matlabtb
образец и перед любыми дополнительными аргументами команды; в противном случае спецификации времени игнорируются.
Все время спецификации для matlabtb
функции появляются в виде числа и, опционально, во временном модуле:
fs (femtoseconds)
ps (пикосекунды)
ns (наносекунды)
мы (микросекунды)
ms (миллисекунды)
с (с)
нет модулей (такта)
-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. Для получения дополнительной информации о режимах связи смотрите Communications for HDL Cosimulation. Для получения дополнительной информации об установлении конца MATLAB коммуникационного канала смотрите Start the Симулятор HDL from MATLAB.
-rising <signal>[, <signal>...]
Указывает, что приложение вызывает указанную функцию MATLAB на переднем ребре (переход от '0'
на '1'
) любого из указанных сигналов. Задайте -rising
с именами путей одного или нескольких сигналов, заданными как логический тип (STD_LOGIC
, BIT
, X01
, и так далее).
Для определения перехода сигнала в:
VHDL®: Переднее ребро: {0 или L} - {1 или H}.
Verilog®: Восходящее ребро является переходом от 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}.
Верилог: Падающее ребро - это переход от 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 Verifier. Этот аргумент содержит поля, показанные в следующей таблице. См. примеры функций Writing с использованием объекта образца HDL.
Область | Чтение/запись доступа | Описание |
---|---|---|
tnext | Только запись | Используется для планирования коллбэка в течение установленного значения времени. Это поле эквивалентно старым hdl_instance_obj.tnext = hdl_instance_obj.tnow + 5e-9 будет планировать коллбэк в момент, равный 5 наносекундам от |
userdata | Чтение/запись | Сохраняет переменные состояния тока matlabcp образец. Можно получить переменные при следующем планировании коллбэка этого образца. |
simstatus | Только для чтения | Сохраняет состояние Симулятора HDL. Программное обеспечение HDL Verifier устанавливает это поле равным >> hdl_instance_obj.simstatus ans= Init |
instance | Только для чтения | Сохраняет полный путь к образцу Verilog/VHDL, сопоставленному с коллбэком. является свойством только для чтения. Значение этого поля равняется значению образца модуля, заданному при вызове функции. Для примера: В симуляторе HDL: 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. >> 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-симулятора 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 Verifier и начинает удаленный сеанс на основе сокетов 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@computer123
matlabtb
Следующая команда запускает Симулятор HDL клиентский компонент программного обеспечения HDL Verifier. The '-mfunc'
опция задает функцию MATLAB для соединения и '-socket'
опция задаёт номер порта для режима подключения к сокету. '-sensitivity'
указывает, что сеанс испытательного стенда чувствителен к сигналу sine_out
.
hdlsim> matlabtb osc_top -sensitivity /osc_top/sine_out -socket 4448 -mfunc hosctb