Запланируйте сеанс испытательного стенда 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 прекращает выполняться. Временная стоимость относительно значения Примечание
|
Поместите спецификации времени после matlabtb экземпляр и перед любыми дополнительными аргументами команды; в противном случае спецификации времени проигнорированы.
Все спецификации времени для matlabtb функции появляются как номер и, опционально, единица измерения времени:
фс (фемтосекунды)
PS (пикосекунды)
не уточнено (наносекунды)
нас (микросекунды)
мс (миллисекунды)
секунда (секунды)
никакие модули (метка деления)
-socket <tcp_spec>Задает коммуникацию сокета TCP/IP для ссылки между симулятором HDL и MATLAB. Когда вы предоставляете информацию о TCP/IP для matlabtb, можно выбрать номер порта TCP/IP или псевдоним порта TCP/IP или сервисное имя для <tcp_spec> параметр. Если вы настраиваете связь между компьютерами, необходимо также задать имя или интернет-адрес удаленного хоста, который запускает сервер MATLAB (hdldaemon).
Для получения дополнительной информации о выборе портов сокета TCP/IP смотрите Порты Сокета TCP/IP.
Если при запуске симулятор HDL и MATLAB на том же компьютере, у вас есть опция использования общей памяти для коммуникации. Общая память является режимом по умолчанию коммуникации и вступает в силу, если вы не делаете specify-socket <tcp_spec> на командной строке.
Коммуникационный режим, который вы задаете с matlabtb команда должна совпадать с тем, что вы задаете для коммуникационного режима, когда вы выпускаете hdldaemon команда в MATLAB. Для получения дополнительной информации о режимах коммуникации смотрите Коммуникации для HDL Cosimulation. Для получения дополнительной информации об установлении конца MATLAB линии связи смотрите, Запускают симулятор HDL с 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}.
Verilog: Падающее ребро является переходом от 1 до x, z, или 0, и от x или z к 0.
При определении сигналов с -rising, -falling, и -sensitivity опции, задайте их в полном формате пути. Если вы не задаете имя полного пути, команда применяет правила симулятора HDL разрешить спецификации сигнала.
-sensitivity <signal>[, <signal>...]Указывает, что приложение вызывает заданную функцию MATLAB каждый раз, когда любой из заданных сигналов изменяет состояние. Задайте -sensitivity с путями одного или нескольких сигналов. Сигналы любого типа могут появиться в списке чувствительности и могут быть расположены в любой уровень проекта HDL.
Если вы задаете опцию без сигналов, интерфейс чувствителен к изменениям значения для всех сигналов.
Использование этой опции для 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 функции. Этому аргументу показали поля в следующей таблице. Функции SeeWriting Используя Объект экземпляра 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 основанный на сокете сеанс испытательного стенда с помощью порта TCP/IP 4449. На основе заданных стимулов испытательного стенда, 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@computer123matlabtbСледующая команда запускает клиентский компонент симулятора HDL программного обеспечения HDL Verifier. '-mfunc' опция задает функцию MATLAB, чтобы соединиться с и '-socket' опция задает номер порта для режима сокетного соединения. '-sensitivity' указывает, что сеанс испытательного стенда делают чувствительным к sine_out сигнала.
hdlsim> matlabtb osc_top -sensitivity /osc_top/sine_out
-socket 4448 -mfunc hosctb