Сгенерируйте кросс-платформенные компоненты DPI

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

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

Выберите Target Toolchain

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

  1. В Параметрах конфигурации Simulink, на панели Code Generation, выбирают целевой Toolchain. Эта опция задает целевое средство моделирования и операционную систему, куда вы запускаете симуляции. Поддерживаемые наборы инструментальных средств векторного произведения:

    • 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. Выберите Package code and artifacts. Эта опция генерирует файл .zip, таким образом, можно скопировать сгенерированные файлы и создать библиотеки компонентов на целевой машине. Можно опционально задать имя для этого файла. Если вы не задаете имя, это называют subsystem .zip.

Сгенерируйте компонент

Чтобы сгенерировать ваш компонент и дополнительный испытательный стенд, смотрите, Генерируют Компонент SystemVerilog DPI.

Скопируйте, чтобы предназначаться для машины

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

  1. Скопируйте сгенерированный subsystem файл .zip с хост-машины на целевую машину. Файл .zip расположен в той же папке как ваша модель. Make-файл, файл ModelSim .do или Острый файл .sh включены в файл .zip.

  2. Разархивируйте файл в папку по вашему выбору. Сгладьте структуру папок при разархивации файлов.

    • В Linux введите эту команду:

      unzip -j zipfile.zip

    • В Windows, когда вы разархивировали файлы, снимают флажок Use folder names.

Создайте библиотеки

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

Целевая операционная системаСимулятор HDLСоздайте инструкции
Windows 32 Типичный DLL
  • Запустите Visual Studio Command Prompt.

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

  • Создайте библиотеку с этой командой:

    nmake -f makefile_dpi_vc.mk

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

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

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

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

  • Разработайте проект с этой командой:

    do subsystem.do

    subsystem является именем компонента DPI, который вы сгенерировали.

Linux Типичный SO
  • В терминальном интерпретаторе перейдите к папке, где вы разархивировали сгенерированный код.

  • Создайте разделяемую библиотеку с этой командой:

    make -f makefile_dpi_gcc.mk

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

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

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

  • Разработайте проект с этой командой:

    do subsystem.do

    subsystem является именем компонента DPI, который вы сгенерировали.

Острый
  • В терминальном интерпретаторе с Острым на пути разработайте проект с этой командой:

    sh subsystem.sh

    subsystem является именем компонента DPI, который вы сгенерировали.

Похожие темы