主要内容

SoC 平台的软硬件协同设计工作流

R2026b

HDL Coder™ 软硬件协同设计工作流有助于自动将您的 MATLAB® 和 Simulink® 设计部署到 Zynq®-7000 平台或 Intel® SoC 平台。您可以通过迭代以下工作流来探索分区和部署设计的最佳方式。

Hardware-software co-design workflow for SoC platform

  1. MATLAB 和 Simulink 算法与系统设计:您首先在 MATLAB 或 Simulink 中实现您的设计。当设计行为满足您的需求后,决定如何对您的设计分区:哪些部分希望在硬件中运行,哪些部分希望在嵌入式软件中运行。

    您要在硬件中运行的设计部分必须使用支持并配置用于 HDL 代码生成的 MATLAB 语法或 Simulink 模块。请参阅:

  2. HDL IP 核生成:将设计的硬件部分封装在原子 Subsystem 模块或 MATLAB 函数中,并使用 HDL 工作流顾问定义和生成 HDL IP 核。

    下图展示已分区为硬件部分(橙色)和软件部分(蓝色)的设计。HDL IP 核生成从模型的硬件部分创建 IP 核。IP 核包括硬件接口组件,例如 AXI4 可访问寄存器、AXI4 或 AXI4-Lite 接口、AXI4-Stream 或 AXI4-Stream Video 接口、AXI4 主接口和外部端口。

    Partitioning of a hardware and software part of a design

  3. 嵌入式系统工具集成:作为 HDL 工作流顾问 IP 核生成工作流的一部分,您可以将生成的 IP 核插入参考设计,并为 SoC 硬件生成 FPGA 比特流。

    参考设计是预定义的嵌入式系统集成工程。它包含使用 Intel 或 Xilinx® 软件将您的设计部署到 SoC 平台所需的所有元素,但您生成的自定义 IP 核和嵌入式软件除外。

    下图展示参考设计(绿色)与生成的 IP 核(橙色)之间的关系。

    Integration of a IP core and processing system in Embedded System Tool project

  4. 软件接口生成(需要 Simulink 许可证和 Embedded Coder® 许可证):在 HDL 工作流顾问中,在您生成 IP 核并将其插入参考设计后,您可以选择生成软件接口模型、主机接口模型和主机接口脚本。软件接口模型是您的原始模型,其中硬件部分被 AXI 驱动模块替换。主机接口模型使您能够使用 AXI Manager Write 和 AXI Manager Read 模块通过 JTAG 或以太网线缆对目标硬件上的内存映射位置进行写入或读取。主机接口脚本是基于参考设计和目标平台接口表设置生成的 MATLAB 文件。它包含命令,这些命令使您能够连接到目标硬件,并通过使用 AXI 驱动模块或 AXI 主设备对生成的 IP 核进行写入或读取。

    如果您有 Embedded Coder 许可证,您可以自动生成软件接口模型和主机接口脚本,从中生成嵌入式代码,并在 ARM® 处理器上的 Linux® 核上编译和运行可执行文件。生成的嵌入式软件包括从 AXI 驱动模块生成的 AXI 驱动代码,该代码控制 HDL IP 核。

    如果您没有 Embedded Coder 许可证或 Simulink 许可证,您可以编写嵌入式软件并手动为 ARM 处理器编译它。请参阅Generate and Manage FPGA I/O Host Interface Scripts

    下图显示原始模型与软件接口模型之间的差异。

    Transitioning of original model into the software interface model. The software interface model generation replaces hardware part, in orange, with the software I/O driver blocks.

  5. SoC 平台和外部模式 PIL:使用 HDL 工作流顾问,您将 FPGA 比特流编程到 SoC 平台。然后,您可以在外部模式或处理器在环 (PIL) 模式下运行软件接口模型,以测试您部署的设计。

    如果您部署的设计不能满足您的设计需求,您可以使用修改后的模型或不同软硬件分区重复执行该工作流。

另请参阅

主题