exponenta event banner

Рабочий процесс совместного проектирования аппаратного и программного обеспечения для платформ SoC

Рабочий процесс совместного проектирования аппаратного и программного обеспечения HDL Coder™ помогает автоматизировать развертывание проекта MATLAB ® и Simulink ® на платформе Zynq ® -7000 или платформе Intel ® SoC. Можно изучить наилучшие способы секционирования и развертывания конструкции, выполнив итерацию в следующем рабочем процессе.

  1. MATLAB и Simulink Algorithm and System Design: Вы начинаете с реализации своего дизайна в MATLAB или Simulink. Когда поведение конструкции соответствует вашим требованиям, решите, как разделять конструкцию: какие детали вы хотите запускать на оборудовании и какие вы хотите запускать во встроенном ПО.

    Часть конструкции, которую требуется запустить в аппаратном обеспечении, должна использовать синтаксис MATLAB или блоки Simulink, которые поддерживаются и настраиваются для создания кода HDL. См.:

  2. Поколение IP-ядра HDL: заключите аппаратную часть конструкции в атомарный блок подсистемы или функцию MATLAB и используйте помощник по рабочему процессу HDL для определения и генерации IP-ядра HDL.

    На следующей схеме показана конструкция, разделенная на аппаратную часть оранжевого цвета и программную часть синего цвета. Генерация ядра IP HDL создает ядро IP из аппаратной части модели. Ядро IP включает в себя аппаратные компоненты интерфейса, такие как доступные AXI4 регистры, интерфейсы AXI4 или AXI4-Lite, интерфейсы AXI4-Stream или AXI4-Stream Video, интерфейсы AXI4 Master и внешние порты.

  3. Интеграция с встроенными системными инструментами: В рамках процесса создания IP-ядра HDL Workflow Advisor вы вставляете созданное IP-ядро в эталонную конструкцию и генерируете битовый поток FPGA для оборудования SoC.

    Эталонный проект представляет собой предварительно определенный проект интеграции встроенной системы. Он содержит все элементы, необходимые ПО Intel или Xilinx ® для развертывания вашего проекта на платформе SoC, за исключением пользовательского IP-ядра и встроенного ПО, которое вы создаете.

    Следующая диаграмма иллюстрирует взаимосвязь между эталонной конструкцией зеленого цвета и сгенерированным ядром IP оранжевого цвета.

  4. SW Interface Generation (требуется лицензия Simulink и Embedded Coder ®): В методе HDL Workflow Advisor после создания IP-ядра и его вставки в эталонный проект можно дополнительно создать модель программного интерфейса и сценарий программного интерфейса. Модель программного интерфейса - это исходная модель с блоками драйверов AXI, заменяющими аппаратную часть. Сценарий представляет собой файл MATLAB, который создается на основе параметров эталонного дизайна и таблицы интерфейса целевой платформы. Он содержит команды, позволяющие подключаться к целевому оборудованию, а также записывать данные в сгенерированное ядро IP или считывать из него с помощью блоков драйверов AXI.

    Если у вас есть лицензия Embedded Coder, вы можете автоматически генерировать модель программного интерфейса и скрипт, создавать из него встроенный код, а также создавать и запускать исполняемый файл в ядре Linux ® на процессоре ARM ®. Созданное встроенное программное обеспечение включает в себя код драйвера AXI, сгенерированный из блоков драйвера AXI, который управляет ядром IP HDL.

    Если у вас нет лицензии Embedded Coder или Simulink, вы можете написать встроенное программное обеспечение и вручную построить его для процессора ARM. См. раздел Создание скрипта программного интерфейса для проверки и быстрого прототипа IP-ядра HDL

    На следующей диаграмме показано различие между исходной моделью и моделью интерфейса программного обеспечения.

  5. SoC Platform and External Mode PIL: с помощью HDL Workflow Advisor вы программируете битовый поток FPGA на платформу SoC. Затем можно запустить модель интерфейса программного обеспечения во внешнем режиме или режиме процессора в цикле (PIL) для тестирования развернутой конструкции.

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

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