Экспорт пользовательского исходного проекта из модели SoC

Вы можете использовать socExportReferenceDesign функция, чтобы сгенерировать исходный проект из модели SoC Blockset™ и избежать ручных шагов, необходимых для генерации и регистрации пользовательского исходного проекта. Функция генерирует эти программные продукты.

  • Файлы регистрации платы

  • Исходный проект

  • IP-репозиторий

  • Проект файлов

  • Файлы ограничений

Модели SoC могут быть одним из таких типов.

  • Однокристальная Модель с FPGA, памятью и дополнительными вводами-выводами (без процессора)

  • Однокристальная Модель с процессором, FPGA, памятью и дополнительными вводами-выводами

Создайте однокристальную модель системы

При экспорте пользовательского исходного проекта из модели SoC исходного проекта не включает тестируемый проект (DUT), и интерфейс к DUT доступен. После генерации исходного проекта можно интегрировать пользовательский IP-адрес с помощью инструмента HDL Workflow Advisor. Ваш пользовательский IP должен иметь тот же интерфейс, что и блок Алгоритма FPGA.

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

Включите подсистему DUT в модель. Эта подсистема должна иметь тот же интерфейс, что и ядро IP, которое вы разрабатываете. Поскольку сгенерированный исходный проект не включает подсистему DUT, DUT может быть простой моделью или просто сквозным блоком.

Подготовьте модель SoC для экспорта исходного проекта

Можно использовать MATLAB в качестве основной функции AXI в экспортированном исходном проекте для взаимодействия с однокристальным устройством из хоста. В Simulink®Откройте диалоговое окно Параметры конфигурации (Configuration Parameters), нажав Настройки модели (Model Settings) на вкладке Моделирование (Modeling), и на левой панели выберите Hardware Implementation. Затем разверните Target hardware resources, выберите FPGA design (top-level), а затем выберите Include 'MATLAB AXI Master' IP for host-based interaction.

В IP core clock frequency (MHz) окне укажите тактовую частоту ядра IP в МГц.

Чтобы убедиться, что ваша модель SoC поддерживает генерацию кода, используйте инструмент SoC Builder, чтобы сгенерировать исполняемые файлы и развернуть вашу модель. Для получения дополнительной информации об инструменте SoC Builder см. Раздел «Генерация проекта СнК».

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

Дополнительная подготовка, когда модель включает процессор

Дерево устройств (DT) является структурой данных, которая описывает оборудование для операционной системы. Когда вы добавляете IP к проекту, вы должны сгенерировать новое дерево устройств, чтобы операционная система могла получить доступ к IP.

Если ваша модель содержит подсистемы FPGA и процессора, эти дополнительные шаги требуются перед экспортом исходного проекта.

  1. В параметрах конфигурации нажмите Hardware Implementation слева. Затем разверните Target hardware resources и выберите Include processing system в FPGA design (top-level).

  2. Запустите инструмент SoC Builder, следуйте направленным шагам для генерации кода, а затем загрузите двоичные файлы в FPGA. Этот шаг необходим, потому что SoC Builder автоматически генерирует файл дерева устройств (.dtb) на SD-карте с именем hdlcoder_rd/soc_prj.output.dtb и модель ПО с совпадающими именами устройств.

  3. Скопируйте файл дерева устройства из папки hdlcoder_rd в корневую папку карты SD. В сгенерированной plugin_rd.m файл дерева пользовательского устройства задается как:

    hRD.DeviceTreeName = 'soc_prj.output.dtb'; 

Выполнить socExportReferenceDesign Функция

Экспортируйте пользовательский исходный проект для модели с помощью socExportReferenceDesign функция. Для примера, для модели с именем soc_image rotation, введите этот код в MATLAB® командная строка.

socExportReferenceDesign('soc_image_rotation')

Функция генерирует эти программные продукты в текущей папке.

  • Файлы регистрации платы

  • Исходный проект

  • IP-репозиторий

  • Проект файлов

  • Файлы ограничений

Интеграция ядра IP с сгенерированным исходным проектом

Добавьте сгенерированную папку в путь MATLAB. Используйте инструмент HDL Workflow Advisor, чтобы провести вас через шаги для интеграции IP и генерации оборудования и программных исполняемых файлов для развертывания на однокристальном устройстве.

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

  1. В Simulink щелкните правой кнопкой мыши блок DUT, который необходимо интегрировать в исходный проект, и выберите HDL Code > HDL Workflow Advisor, чтобы открыть инструмент HDL Workflow Advisor. Кроме того, используйте hdladvisor (HDL Coder) функция.

  2. На шаге 1.1 установите Target workflow равным IP Core Generation и Target platform к платформе, сгенерированной socExportReferenceDesign функция.

  3. Щелкните Run This Task, чтобы запустить Set Target Device and Synthesis Tool задачу.

  4. На шаге 1.3 установите целевой интерфейс путем подключения каждого порта в вашем IP к соответствующему порту в исходный проект.

  5. Щелкните Run This Task, чтобы запустить Set Target Interface задачу.

  6. Продолжите оставшиеся шаги инструмента HDL Workflow Advisor.

  7. Необязательно: На шаге 4.2 можно принять решение сгенерировать модель программного интерфейса с блоками драйверов ядра IP (требует Embedded Coder® лицензия). Если вы принимаете решение сгенерировать эту модель интерфейса программного обеспечения, очистите Skip this task под Generate a software interface model with IP core driver blocks for C code generation.

    Для получения дополнительной информации смотрите раздел «Генерация модели интерфейса программного обеспечения» в Начало Работы with Targeting Xilinx Zynq Platform (HDL Coder).

    Сгенерированное программное обеспечение содержит блоки драйверов AXI, которые совпадают с интерфейсом подсистемы DUT. Для имени устройства задано значение '/dev/mwipcore' по умолчанию. Измените имя устройства в этих блоках драйверов AXI так, чтобы оно совпадало с именем в древовидном файле устройства, используемом изображением карты SD.

    Существует несколько способов найти имя устройства:

    • Имя устройства определяется как DUT-имя модели SoC. Если вы экспортируете исходный проект с помощью модели SoC с именем DUT, заданным как 'soc_hwsw_stream_fpga/FPGA Algorithm Wrapper', имя сгенерированного устройства в блоках драйверов AXI '/dev/mwfpga_algorithm_wrapper_ip0'.

    • Найдите имя устройства в изображении операционной системы (OS) после загрузки устройства СО. Для этого войдите на плату с помощью протоколов UART или SSH и выполните:

      ls/dev
      Для примера:

      Result of ls/dev command.mwfpga_algorithm_wrapper_ip0 is highlighted.

  8. На шаге 4.4 установите метод программирования на Download.

  9. Когда инструмент HDL Workflow Advisor завершен, он возвращает сгенерированный файл битового потока. Программируйте FPGA с сгенерированным файлом битового потока.

  10. Теперь можно развернуть модель программного интерфейса в автономном режиме или использовать ее во режиме external mode для взаимодействия с однокристальным устройством. Для получения примера смотрите раздел «Запуск модель программного интерфейса на оборудовании Zynq ZC702» в Начало работы с Targeting Xilinx Zynq Platform (HDL Coder).

См. также

Похожие темы