exponenta event banner

Создание межплатформенных компонентов DPI

Используйте генерацию компонентов DPI для экспорта подсистемы Simulink ® в компонент языка C с цифровым интерфейсом программирования (DPI) для использования в симуляции Verilog ® или SystemVerilog. Можно настроить генерацию DPI для ModelSim ® или Insive ® (только для Linux ®) или создать общую библиотеку DLL.

При создании компонента на компьютере с Windows ® 64 можно также создать библиотеки компонентов и запустить моделирование в другой операционной системе. Если конечный объект и хост отличаются друг от друга, необходимо вручную портировать и построить общие библиотеки или проекты имитатора HDL. Компонент DPI, созданный на компьютере Linux, не может быть перенесен в другую операционную систему.

Выбор целевой цепочки инструментов

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

  1. Откройте модель и на вкладке Приложения (Apps) щелкните Верификатор HDL (HDL Verifier). Затем на вкладке HDL Verifier щелкните C Code Settings. Откроется диалоговое окно Параметры конфигурации (Configuration Parameters) на панели Создание кода (Code Generation). В разделе «Параметры цепи инструментов» выберите целевую цепь инструментов. Этот параметр определяет целевой симулятор и операционную систему, в которой выполняется моделирование. Поддерживаются следующие цепочки инструментов для разных продуктов:

    • Mentor Graphics ModelSim/QuestaSim (64-bit Windows) (доступно только на хосте Windows)

    • Mentor Graphics ModelSim/QuestaSim (32-bit Windows) (доступно только на хосте Windows)

    • Cadence Incisive (64-bit Linux)

    • Cadence Incisive (32-bit Linux)

    • Mentor Graphics ModelSim/QuestaSim (64-bit Linux)

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

  2. Выберите Код пакета и артефакты. Эта опция создает .zip для копирования созданных файлов и создания библиотек компонентов на целевом компьютере. При необходимости можно указать имя для этого файла. Если имя не указано, оно называется subsystem.zip.

Создать компонент

На параметрах конфигурации в разделе Выбор цели (Target Selection) в поле Системный целевой файл (System target file) нажмите кнопку Обзор (Browse). Выбрать systemverilog_dpi_ert.tlc из списка.

Для создания компонента и дополнительного тестового стенда выполните команду Generate SystemVerilog DPI Component из шага 3 и далее.

Копировать на конечный компьютер

Чтобы использовать созданный компонент в другой операционной системе, необходимо скопировать созданные файлы на новый компьютер и создать там библиотеки.

  1. Копирование созданного subsystem.zip файл с хост-компьютера на целевой компьютер. .zip файл находится в той же папке, что и модель. Makefile, ModelSim .do файл, или Резкий .sh файл включен в .zip файл.

  2. Распакуйте файл в нужную папку. Распрямление структуры папок при распаковке файлов.

    • В Linux введите следующую команду:

      unzip -j zipfile.zip

    • В Windows при распаковке файлов снимите флажок Использовать имена папок.

Построить библиотеки

При создании компонента на хост-компьютере библиотеки создаются для этой операционной системы. Чтобы подключить компонент к другой операционной системе, необходимо вручную построить компоненты на целевой машине. Чтобы создать проект симулятора или общую библиотеку, найдите целевую операционную систему и имитатор HDL в таблице и следуйте инструкциям.

Целевая операционная системаИмитатор ЛПВПИнструкции по построению
Windows 32 Общая библиотека DLL
  • Запустите командную строку Visual Studio.

  • В окне команд перейдите в папку, в которой были распакованы созданные файлы.

  • Создайте библиотеку с помощью следующей команды:

    nmake -f makefile_dpi_vc.mk

    Эта команда генерирует subsystem.dll файл. subsystem - имя созданного компонента DPI.

ModelSim
  • Проверьте, что gcc_ver_mingw32 установлена в папке установки ModelSim. Этот компилятор доступен при установке ModelSim. Установите компилятор перед созданием компонента.

  • Запустите симулятор ModelSim HDL.

  • В окне команд перейдите в папку, в которой были распакованы созданные файлы.

  • Создайте проект с помощью следующей команды:

    do subsystem.do

    subsystem - имя созданного компонента DPI.

Linux Общее СО
  • В оболочке терминала перейдите в папку, в которой был распакован созданный код.

  • Создайте общую библиотеку с помощью следующей команды:

    make -f makefile_dpi_gcc.mk

    Эта команда генерирует subsystem.so файл. subsystem - имя созданного компонента DPI.

ModelSim
  • Запустите симулятор ModelSim HDL.

  • В окне команд перейдите в папку, в которой были распакованы созданные файлы.

  • Создайте проект с помощью следующей команды:

    do subsystem.do

    subsystem - имя созданного компонента DPI.

Острый
  • Создайте проект в оболочке клеммы с помощью следующей команды:

    sh subsystem.sh

    subsystem - имя созданного компонента DPI.

Связанные темы