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

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

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

Выберите Target Toolchain

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

  1. Откройте свою модель, и на вкладке Apps, нажмите HDL Verifier. Затем на вкладке HDL Verifier нажмите C Code Settings. Диалоговое окно Configuration Parameters открывается на панели Code Generation. Под Toolchain settings, выбирают целевой 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.

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

На параметрах конфигурации, под Target Selection, для System target file нажимают Browse. Выберите systemverilog_dpi_ert.tlc из списка.

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

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

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

  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, который вы сгенерировали.

Похожие темы