matlabtb

Запланируйте сеанс испытательного стенда MATLAB для инстанцированного модуля HDL

    Описание

    пример

    Примечание

    Введите эту команду в симулятор HDL, не в MATLAB®.

    matlabtb instance выполняет следующие действия:

    • Запускает клиентский компонент симулятора HDL программного обеспечения HDL Verifier™.

    • Сопоставляет заданный экземпляр проекта HDL, созданного в симуляторе HDL с функцией MATLAB.

    • Создает процесс, который планирует вызовы заданной функции MATLAB.

    • Отмены любые незаконченные события запланированы предыдущим matlabtb команда, которая задала тот же экземпляр. Например, если вы даете команду matlabtb например, foo, matlabtb отмены все ранее запланированные события, инициируемые matlabtb на foo.

      Эта команда дается в симуляторе HDL.

      Стимулы имитатора функций испытательного стенда MATLAB передали сущностям в модели HDL. Обеспечьте стимул из MATLAB или HDL, запланированного с matlabtb.

      Примечание

      Коммуникационный режим, для которого вы задаете matlabtb должен совпадать с коммуникационным режимом, для которого вы задали hdldaemon когда вы установили связь сервера.

      Для коммуникаций сокета задайте номер порта, для которого вы выбрали hdldaemon когда вы выпускаете запрос ссылки с matlabtb команда в симуляторе HDL.

    пример

    matlabtb instance time-specs добавляет время технические требования для планирования заданной функции MATLAB.

    пример

    matlabtb instance ___ pair1 ... pairN задает одни или несколько дополнительных технических требований как пары, состоящие из допустимого имени спецификации и его значения. Например, -mfunc vlogmatlabc задает для функции MATLAB vlogmatlabc быть сопоставленным с заданным модулем HDL. Можно задать эти пары с или без time-specs.

    Примеры

    свернуть все

    Запустите клиентский компонент симулятора 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
    

    Запустите клиентский компонент симулятора 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

    Запустите клиентский компонент симулятора HDL программного обеспечения HDL Verifier. -mfunc опция задает функцию MATLAB, чтобы соединиться с и -socket пара задает номер порта для режима сокетного соединения. -sensitivity пара указывает, что сеанс испытательного стенда делают чувствительным к sine_out сигнала.

    hdlsim> matlabtb osc_top -sensitivity /osc_top/sine_out
          -socket 4448 -mfunc hosctb

    Входные параметры

    свернуть все

    Экземпляр модуля HDL, который сопоставлен с функцией MATLAB в виде вектора символов или строкового скаляра, который указывает на экземпляр модуля HDL. По умолчанию, matlabtb команда сопоставляет экземпляр к функции MATLAB, которая имеет то же имя как экземпляр. Например, если экземпляром является myfirfilter, matlabtb сопоставляет экземпляр с функцией MATLAB myfirfilter Команда игнорирует имена иерархии. Например, если экземпляром является top.myfirfilter, matlabtb команда сопоставляет только myfirfilter с функцией MATLAB. Чтобы сопоставить заданный экземпляр с функцией MATLAB, которая отличается от имени экземпляра, используйте -mfunc спецификация как в pair1 ... pairN аргумент.

    Примечание

    Если вы задаете экземпляр модуля HDL, который уже сопоставлен с функцией MATLAB (через matlabcp или matlabtb) новая ассоциация перезаписывает существующий.

    Типы данных: char | string

    Разделенный пробелом список технических требований одного или нескольких времен в виде разделенного пробелом списка технических требований одного или нескольких времен перечислен в этой таблице.

    Спецификация времениОписание
    time_1 time_2 ... time_n

    Задайте один или несколько дискретных раз, в котором симулятор HDL вызывает заданную функцию MATLAB. Требуемые времена относительно текущего времени симуляции. Если вы не задаете время, симулятор HDL вызывает функцию MATLAB однажды в начале симуляции. Каждый time_i состоит из номера, указывающего на временную стоимость и дополнительную единицу измерения времени:

    • фс (фемтосекунды)

    • PS (пикосекунды)

    • не уточнено (наносекунды)

    • нас (микросекунды)

    • мс (миллисекунды)

    • секунда (секунды)

    Если вы не задаете единицу измерения времени, команда обрабатывает временную стоимость как значение меток деления симуляции HDL. Разделите каждый time_i пробелом.

    Например, этот код задает для функции MATLAB vlogmodel_top выполниться во время 0 (начальное выполнение) и затем в 10 наносекунд, 10 миллисекунд, и 10 секунд.

    matlabtb vlogmodel_top 10 ns, 10 ms, 10 sec
    
    -repeat <time>Укажите, что симулятор HDL вызывает функцию MATLAB неоднократно на основе требуемых времен. Временные стоимости относительно значения tnow в то время, когда симулятор HDL сначала вызывает функцию MATLAB.
    -cancel <time>

    Задайте одно время, в которое заданная функция MATLAB прекращает выполняться. Временная стоимость относительно значения tnow в то время, когда симулятор HDL сначала вызывает функцию MATLAB. Если вы не задаете время отмены, приложение вызывает функцию MATLAB, пока вы не закончили симуляцию, выходите из сеанса или проблемы a nomatlabtb вызвать.

    Примечание

    -cancel опция работает только с аргументами <time-specs>. Это не влияет ни на один из других аргументов планирования для matlabtb.

    Примечание

    Поместите технические требования времени после matlabtb экземпляр и перед любыми дополнительными аргументами команды; в противном случае технические требования времени проигнорированы.

    Дополнительные технические требования в виде разделенного пробелом списка одной или нескольких пар спецификации. Пара спецификации состоит из имени и значения. Эта таблица показывает допустимые варианты для этих пар.

    Пары спецификации

    ИмяЗначениеОписание
    -socketРежим Communication, который совпадает с коммуникационным режимом, выпущенным hdldaemon команда

    Задайте для HDL Verifier, чтобы использовать сокеты TCP/IP, чтобы связаться между симулятором HDL и MATLAB. Общая память является режимом по умолчанию коммуникации и вступает в силу, если вы не задаете -socket <tcp_spec>. Коммуникационный режим, который вы задаете с matlabtb команда должна совпадать с коммуникационным режимом, который вы задали с hdldaemon команда.

    Для получения дополнительной информации о выборе портов сокета TCP/IP смотрите Порты Сокета TCP/IP.

    Примечание

    Коммуникационный режим, который вы задаете с matlabtb команда должна совпадать с тем, что вы задаете для коммуникационного режима, когда вы выходите hdldaemon команда в MATLAB. Для получения дополнительной информации о режимах коммуникации смотрите Коммуникации для HDL Cosimulation. Для получения дополнительной информации об установлении конца MATLAB линии связи смотрите, Запускают симулятор HDL с MATLAB.

    -risingСписок, разделенный запятыми одного или нескольких имен сигнала

    Задайте -rising с путями одного или нескольких сигналов, заданных как логический тип (STD_LOGIC, BIT, X01, и так далее).This пара указывает, что приложение вызывает заданную функцию MATLAB на возрастающем ребре (переход от '0' к '1') из любого из заданных сигналов.

    • В VHDL®, переход от 0 или L к 1 или H определяет возрастающее ребро.

    • В Verilog®, переход от 0 до x, z, или 1, или от x или z к 1 определяет возрастающее ребро.

    Примечание

    При определении сигналов с -rising пара, задайте сигналы в полном формате пути. Если вы не задаете имя полного пути, команда применяет правила симулятора HDL разрешить технические требования сигнала.

    -fallingСписок, разделенный запятыми одного или нескольких имен сигнала

    Задайте пути одного или нескольких сигналов, заданных как логический тип (STD_LOGIC, BIT, X01, и так далее). Указывает, что приложение вызывает заданную функцию MATLAB каждый раз, когда любой из заданных сигналов испытывает падающее ребро (переход от '1' к '0').

    Для определения перехода сигнала в:

    • В VHDL, переходе от 1 или H к 0 или L определяет падающее ребро.

    • В Verilog переход от 1 до x, z, или 0, или от x или z к 0 определяет падающее ребро.

    Примечание

    При определении сигналов с -falling пара, задайте сигналы в полном формате пути. Если вы не задаете имя полного пути, команда применяет правила симулятора HDL разрешить технические требования сигнала.

    -sensitivityСписок, разделенный запятыми одного или нескольких имен сигнала

    Задайте пути одного или нескольких сигналов. Эта пара указывает, что приложение вызывает заданную функцию MATLAB каждый раз, когда любой из заданных сигналов изменяет состояние. Сигналы любого типа могут появиться в списке чувствительности и могут быть расположены в любой уровень в иерархии модели HDL.

    Примечание

    При определении сигналов с -sensitivity пара, задайте сигналы в полном формате пути. Если вы не задаете имя полного пути, команда применяет правила симулятора HDL разрешить технические требования сигнала.

    -mfuncИмя функции MATLAB

    Задайте имя функции MATLAB, которая сопоставлена с экземпляром модуля HDL, который вы задаете для instance. По умолчанию программное обеспечение HDL Verifier вызывает функцию MATLAB, которая имеет то же имя как заданный экземпляр HDL. Если имена являются тем же самым, можно не использовать -mfunc пара. Если имена различные, используйте этот аргумент, когда вы вызываете matlabtb. Если вы не используете этот аргумент и matlabtb не находит функцию MATLAB с тем же именем, команда генерирует сообщение об ошибке.

    -use_instance_objСтруктура с полями как описано в таблице в-use_instance_obj Полях

    Эта пара Сообщает функции, заданной с аргументом -mfunc использовать объект экземпляра HDL, переданный HDL Verifier функции. Этому значению показали поля в применимой таблице. Смотрите, что Функции Записи Используют Объект экземпляра HDL для примеров.

    -argumentАргумент экземпляра HDL

    Передайте пользовательские аргументы от matlabtb команда на стороне HDL к коллбэкам функции MATLAB. Эта пара поддерживается с -use_instance_obj только. Для получения дополнительной информации смотрите поле в таблице-use_instance_obj Поля.

    -use_instance_obj Поля

    Поле Доступ для чтения или доступ для записиОписание
    tnextТолько для записи

    Запланируйте коллбэк в течение времени набора. Это поле эквивалентно старому tnext. Например, этот код планирует коллбэк 5 наносекунд от tnow.

    hdl_instance_obj.tnext = hdl_instance_obj.tnow + 5e-9
    userdataЧитайте или запишитеСохраните переменные состояния тока matlabtb экземпляр. Можно получить переменные в следующий раз, когда коллбэк этого экземпляра планируется.
    simstatusТолько для чтения

    Сохраните состояние симулятора HDL. Программное обеспечение HDL Verifier устанавливает это поле на Init во время первого коллбэка для этого конкретного экземпляра и к Running после этого. simstatus поле только для чтения.

    >> hdl_instance_obj.simstatus
    
    ans=
          Init
    instanceТолько для чтения

    Сохраните полный путь экземпляра Verilog или VHDL, сопоставленного с коллбэком. instance поле только для чтения. Значение этого поля равняется значению экземпляра модуля, заданного с вызовом функции. Например:

    В симуляторе HDL:

    hdlsim> matlabtb osc_top -mfunc oscfilter use_instance_obj
    

    В MATLAB:

    >> hdl_instance_obj.instance
    
    ans=
    		osc_top
    argumentТолько для чтения

    Сохраните аргумент, который установлен -argument пара. Например:

    matlabtb osc_top -mfunc oscfilter -use_instance_obj -argument foo
    Программное обеспечение ссылки поддерживает -argument опция только, когда это используется с -use_instance_objпара. В противном случае команда игнорирует аргумент. argument свойство только для чтения.

    >> hdl_instance_obj.argument
    
    ans= 
        	foo
    
    portinfoТолько для чтения

    Храните информацию о портах VHDL и Verilog, которые сопоставлены с этим экземпляром. portinfo свойство только для чтения, которое имеет полевую структуру, которая описывает порты, заданные для связанного модуля HDL. Для каждого порта, portinfo структура передает информацию, такую как тип, направление и размер порта. Для получения дополнительной информации о данных порта смотрите Получающий доступ к и Применение Информации порта.

    hdl_instance_obj.portinfo.field1.field2.field3
    

    Примечание

    Когда вы используете use_instance_obj, вы получаете доступ к tscale через объект экземпляра HDL. Если вы не используете use_instance_obj, можно все еще получить доступ к tscale через portinfo.

    tscaleТолько для чтения

    Сохраните предел разрешения (метка деления) в секундах симулятора HDL. tscale свойство только для чтения.

    >> hdl_instance_obj.tscale
    
    ans=
    	1.0000e-009
    

    Примечание

    Когда вы используете use_instance_obj, вы получаете доступ к tscale через объект экземпляра HDL. Если вы не используете use_instance_obj, можно все еще получить доступ к tscale через portinfo.

    tnowТолько для чтения

    Сохраните текущее время. tnow свойство только для чтения.

    hdl_instance_obj.tnext = hld_instance_obj.tnow + fastestrate;
    
    portvaluesЧитайте или запишите

    Сохраните текущие значения и установите новые значения для выходных и входных портов для a matlabtb экземпляр. Например:

    >> hdl_instance_obj.portvalues
    
    ans =
    Read Only Input ports:
    	clk_enable: []
    	clk: []
    	reset: []
    Read/Write Output ports:
    	sine_out: [22x1 char]
    linkmodeТолько для чтения

    Сохраните состояние коллбэка. HDL Verifier устанавливает это поле на 'testbench' если коллбэк сопоставлен с matlabtb команда и 'component' если коллбэк сопоставлен с matlabcp команда. linkmode свойство только для чтения.

    >> hdl_instance_obj.linkmode
    
    ans=
    	component

    Смотрите также

    | |

    Введенный в R2008a