Vitis Model Composer

Vitis™ Model Composer 是一种基于模型的设计工具,可在 MathWorks MATLAB® 和 Simulink® 环境中进行快速设计探索。它可以作为 Vivado® ML 标准版或企业版以及 Vitis™ 开发环境的附加许可证购买。

概述

Vitis Model Composer 概述

Vitis™ Model Composer 是一个基于模型的设计工具,不仅可在 MathWorks MATLAB® 和 Simulink® 环境中进行快速设计探索,而且还可通过自动代码生成在 AMD Xilinx 器件上加速投产进程。您可以设计 DSP 算法并使用高层次性能优化模块对其进行迭代,同时还可以通过系统级仿真验证功能正确性。Vitis Model Composer 可通过自动优化将您的设计转换为生产质量级实现方案。该工具提供一个具有 200 多个 HDL、HLS 和 AI 引擎模块的库,用于在 AMD Xilinx 器件上设计并实现算法。此外,它还允许将自定义 HDL、HLS 和 AI 引擎代码按模块导入工具。Vitis Model Composer 包含 AMD Xilinx System Generator for DSP 的所有功能性,自 2021.1 版起,AMD Xilinx System Generator for DSP 不再按独立工具发货。

专题研讨会

Model Composer 研讨会

使用 Simulink 和 Vivado Simulator 进行早期 FPGA/SoC 设计验证

观看研讨会

Vitis Model Composer 功能

下面是 Vits™ Model Composer 特性的简要概述。点击其它标签,了解完整详情。

分析、调试与可视化

分析、调试与可视化

Model Composer 分析

使用 MATLAB 和 Simulink 环境分析并显示设计:

  • 直接从 Simulink 库浏览器使用优化的 AI 引擎、HLS 和 HDL 模块
  • 按模块导入自定义 AI 引擎、HLS 和 HDL 代码
  • 在 Simulink 环境中运行快速仿真
  • 将结果与 MATLAB 和 Simulink 环境中的黄金参考进行比较
  • 利用中间信号进行调试,并让设计可视化
AI 引擎与 PL 的协同仿真

AI 引擎与灵活应变引擎的协同仿真

Model Composer 协仿真

协同仿真异构系统:

  • 直接从该库浏览器使用优化的 AI 引擎/HLS/自适应引擎,或按模块形式导入代码
  • 将 AI 引擎阵列与 HLS 内核模块或 HDL 模块无缝连接
代码生成

代码生成

模型编写器代码生成

从设计生成代码,以提升生产力:

  • 生成带有约束的图形代码
  • 生成 RTL (Verilog/VHDL)
  • 使用插入的程序生成优化的 HLS 代码
  • 生成测试工作台
硬件设计验证

硬件设计验证

VCK190 开发板

验证硬件设计,简单易用:

  • 生成数据移动器、处理系统代码与配置文件
  • 生成构建硬件设计所需的 make 文件
  • 点击按钮,将设计移动到硬件中

新增功能

2022.2 特性与增强功能

在 2022.2 中,Vitis Model Composer 包含许多新特性与增强功能。

Versal AI 引擎设计的特点

  • 您现在可以为 AI 引擎 DSP 模块添加图形约束,更好地执行对性能/利用率的控制
  • 在运行周期近似 AI 引擎仿真之后,该工具将在 Simulink 数据检查器中显示游标限定的输出数据部分的吞吐量
  • 提高了 AI 引擎图形导入模块的易用性:
    • 现在无需使用 *.cpp 导入图形
    • 该工具可自动检测 RTP 端口,用户无需手动指定 RTP 端口
  • 增强了 DSP 库模块
    • 新增基于流媒体的动态点 FFT 模块
    • 新增窗口功能块以及基于流媒体的窗口功能块
    • 所有基于流媒体的 FIR 模块均支持超级采样率 (SSR> 1)
    • 在半带抽取器模块中添加了抽取多相 (TP_PARA_DECI_POLY) 参数
    • 在半带内插模块中添加了内插多相 (TP_PARA_DECI_POLY) 参数
    • 为 FIR 半带内插器窗口和流媒体模块增加了上移中心抽头参数
  • 新增 buffer_1d 支持,可抢先体验
    • 支持 sync、async 和 cycle buffer_1d。
    • 通过支持的 GUI 或内核代码指定大小
    • 可通过内核代码指定裕度

HLS

  • 增强了 HLS 内核模块,可支持扩展的模板化参数
  • 增强的窗口处理模块,可将 URAM 资源作为目标


HDL

  • 对 Vitis Model Composer 的 Blackbox RTL 导入流入做了重大改进
    • 扩大了对 SIGNED、UNSIGNED、BOOLEAN、FLOAT32 及 FLOAT64 的输入端口数据类型的支持
    • 在二进制点位大于 0 的情况下,增加了对 UFIXED 和 SFIXED 的输入端口数据类型的支持,可进行一些手动干预
    • 增加了使用通用参数带来整数或浮点值阵列的支持
    • 添加了 API 调用的全新 addDirectory(),以带来多个 HDL 文件
  • 更新了 Questa 第三方仿真器模块 GUI,可提供预编译 unisim 库


通用

  • 全面检修了 Vitis Model Composer Hub 模块
    • 主要用户界面升级,可支持异构设计。
    • 自动检测有效的 AI 引擎、HDL 和 HLS 子系统
    • 现在不再使用系统生成器令牌,现有系统生成器设计可以自动升级,以便使用全新的 Hub 模块
  • 增强了硬件验证流程,现在也支持 HDL 专用设计以及 Versal 平台的 HDL→AI 引擎 →HDL 设计
  • MATLAB 支持 - R2021a / R2021b
  • 右键点击画布上的选项以及 Xilinx BlockAdd、BlockConnect 和 Xilinx 工具等模块已删除
  • 改进了补丁使用机制。
tx_chain_200Mhz
Vitis Model Composer 中的 200MHz TX Chain

在 2022.1 中,Vitis Model Composer 包含许多新特性添加与增强。

如欲了解更多详情,请查看:

  • AI 引擎
    • 在对 AI 引擎 DSP 模块执行 Simulink 仿真时,编译时间锐减 50%。
    • 为 DSP 库模块启用了流媒体支持。
    • 在 DSP 库中增加了以下模块:
      • 数据流 FFT 与 IFFT
      • 数据流 DDS 与混合器
      • 动态点 FFT
      • FIR Resampler
      • 基于数据流的 FIR 计数器,面向所有现有窗口 FIR 块(抽取器、滤波器和插值器)
    • PLIO 和 FIFO 块现在是两个独立的模块,AIE 信号规范模块已淘汰。
    • 您现在可以在约束管理器中指定 PLIO 约束和 FIFO 约束。
    • AI 引擎导入块现在可按较大子系统的一部分屏蔽,而且其参数可使用该屏蔽的参数值。
    • 约束管理器变量现在可使用包含 AI 引擎模块的子系统掩码的掩码参数。
  • HLS
    • HLS 内核导入块现在支持模板函数。
    • HLS 内核模块简单易用的增强功能。
  • HDL
    • Vivado 仿真器流媒体的黑匣子导入现已更新,默认情况下可为仿真及代码生成提供 VHDL2008 支持。
    • 最新网关入口 AXI 流媒体实用程序和最新网关出口 AXI 流媒体实用程序有助于在 AI 引擎和 HDL 域之间实现连接。
    • Vitis Model Composer 不再依赖 Qt 库。这不仅将为模块 GUI 带来始终如一的观感,而且还将提高工具的稳定性并保持功能不变。更新后,模块 GUI 的启动速度比基于 Qt 的模块 GUI 的启动速度更快。
        现在,
      • HDL 模块在默认情况下使用 Simulink 本地 GUI,而不是 Qt GUI。
      • 资源分析仪已更新,现在使用 MATLAB 应用设计工具,而不是基于 Qt 的 GUI。
      • 时序分析仪已更新,现在使用 MATLAB 应用设计工具,而不是基于 Qt 的 GUI。
    • 最新 SSR-FIR 演示展示如何高效实施极高数据速率(超过 1Gsps)的滤波器。
  • 通用
    • 针对可扩展性和易用性对 Vitis Model Composer 中心模块进行全面检修。
      • 系统生成器令牌功能现已融入 Vitis Model Composer 中心模块。
      • 2022.2 版将淘汰系统生成器令牌
    • 硬件验证流程现在除了支持裸机外,还支持 Linux。
    • “AIE 至 HDL”和“HDL 至 AIE”模块不再提供 HDL 网关模块。
    • 产品现为无法访问互联网的客户随附示例快照。发布新版示例时,该工具将提示用户从 GitHub 下载示例新版本。
    • 为了便于使用,不属于代码生成部分的实用程序块现在以白色为背景显示。
    • 为了方便使用,增强并重组了库浏览器。
    • RHEL 8.x 支持。
    • MATLAB 支持 - R2021a / R2021b

在 2021.2 中,Vitis Model Composer 包含许多新特性添加与增强。

如欲了解更多详情,请查看:

  • AI 引擎
    • 点击按钮,将支持 AI 引擎与 PL (HLS, HDL) 模块的设计运行到 Versal AI 内核硬件中。
    • 并行编译 AIE 模块,显著加速 Simulink 仿真。
    • 增强了 AI 引擎约束编辑器
    • 在 AIE DSP 库中增加了 DDS 和 Mixer 模块
    • 增强了“固定尺寸”及“可变尺寸”模块
    • 支持 int64 和 uint64 数据类型
    • 支持 accfloat 和 caccfloat
    • 增强了 GitHub 示例并在 GitHub 中整合了 HLS 示例
    • 生成的数据流图形代码现在包括 PLIO 规范
    • 增强了从 GitHub 下载并浏览示例的可用性
    • 支持 AIE 源块
    • xmcVitisRead 和 xmcVitisWrite 实用程序用于读写 AIE 仿真器和/或 x86Simulator 的数据文件
    • 系统化 AIE dsplib 模块的 GUI 参数
    • 全新 64x32 伪逆设计示例
    • 支持 64 个 AI 引擎内核及达 16 GSPS 吞吐量的全新双流 SSR 滤波器示例
  • HDL
    • 为 FIFO 模块提供非对称读写数据位宽支持
  • HLS
    • 支持基于 HLS 的 C 语言代码的仿真与实现,其可利用 Xilinx FIR、FFT 及 DDS 逻辑核
  • 通用
    • 支持 MATLAB — R2020a、R2020b 和 R2021a
    • 新增对 Ubuntu 20.04 的支持

Vitis Model Composer 现在为 DSP 提供 Xilinx 系统生成器的功能性。一直使用 Xilinx 系统生成器满足 DSP 需求的用户可以继续使用 Vitis Model Composer 进行开发。

  • AI 引擎
    • 全面的约束编辑器可帮助用户在 Vitis Model Composer 中为 AI 引擎内核指定所有约束。 生成的 ADF 图将包含这些约束。
    • 将 AI 引擎的 FFT 和 IFFT 模块添加至库浏览器。
    • 用户现在可以使用库浏览器访问大量 AI 引擎 FIR 模块变体。
    • 能够使用 FIR 滤波器的输入端口指定滤波器系数。
    • 新增两个全新的实用程序模块:“RTP 源”和“可变大小”。
    • 增强的 AIE 内核导入块现在也支持导入模板化的 AI 引擎功能。
    • 能够在 Hub 模块中为 AI 引擎设计指定 Xilinx 平台。
    • 用户可通过 Hub 模块,在运行 AIE 仿真后随时重启 Vitis 分析器。
    • 用户现在可以使用 Simulink 数据检查器绘制周期近似输出,并查看每个输出的估计吞吐量。
    • 增强了仅使用图形报头文件将图形作为模块导入的可用性。
    • 使用取消按钮修改进度条
    • 当 MATLAB 工作目录和模型目录不同时,改进了导入 AI 引擎内核或仿真设计时的可用性。
    • 现在在默认情况下,禁用了 AIE 仿真过程中的剖析。可以从 Model Composer Hub 模块中选择性地启用。
    • 全新 TX Chain 200MHz 示例。
    • 使用 HLS、HDL 和 AI 引擎模块展示设计的全新 2d FFT 示例。
  • HDL
    • 针对 SSR FIR(改进超过 10 倍)和 SSR FFT 提高了仿真速度。
    • 针对 RAM 等内存模块和 FIFO 提高了仿真速度
    • 在黑盒导入流程中使用 VHDL 2008 更新了 Questa 仿真器
  • 通用
    • Vitis Model Composer 现在为 DSP 提供 Xilinx 系统生成器的功能性。一直使用 Xilinx 系统生成器满足 DSP 需求的用户可以继续使用 Vitis Model Composer 进行开发。
    • 支持 MATLAB — R2020a、R2020b 和 R2021a

  

在 2020.2 中,MATLAB 和 Simulink 的插件是 Xilinx Model Composer 和 DSP 系统生成器的统一。

3 个可互联的域:

  • RTL ( System Generator for DSP)
  • HLS (Model Composer)
  • 人工智能引擎:这是一个可通过 MATLAB 和 Simulink 附件确定目标的新域

AI 引擎 (Model Composer)

  • 导入 AI 引擎内核:C、C++、模板、状态封装类别
  • 导入自适应数据流图形:支持模板
  • 网关
    • AIE 和 RTL 域
    • AI 引擎和 HLS 内核域
  • 接受位置一致性和 FIFO 插入。
  • 库包含 AI 引擎 DSP 库模块
  • 运行软件仿真和 AI 引擎仿真
  • 增强了对矢量信号维数的支持:改进代码生成基础架构,在设计中处理矢量 [N] 信号,从而提高性能。
  • 针对矢量参数增强了的常数块: 常量块现在支持将矢量参数解释为 1-D,类似于 Simulink 库中相应的常量块
  • 优化 DSP 块的全新示例设计
    • 使用 2D-FFT 重建 MRI 图像
    • 使用 FIR 块构建低通滤波器设计
    • 使用 FIR 块构建图像流畅滤波器
  • C/C++ 函数导入的增强功能:: 改进了显示在诊断查看器中的错误及警告消息,使自定义代码能够更好地排查问题。
  • 自定义 IP Catalog 导出类型的 IP 属性: 为从综合设计打包的 IP 指定 IP 属性,包括名称、版本和硬件描述语言(VHDL 或 Verilog)。
  • 器件选择器中的搜索功能:基于多个条件,使用 Model Composer Hub 块上的器件选择器对话框,快速搜索部件和开发板。
  • FIR 块支持多通道处理: FIR 块的增强功能支持将输入信号中的处理列作为数据的独立通道,执行多通道滤波运行。
  • 支持的 MATLAB 版本:: R2018a、R2018b、R2019a 和 R2019b
  • DSP 模块库:最新 FFT、IFFT 和 FIR 块现在可使用 Model Composer 来设计和实现信号处理算法

  • 吞吐量控制的增强功能:支持吞吐量控制的扩展模块。使用支持的块构建设计并控制实现方案的吞吐量需求,无需对设计进行任何结构修改

  • 支持流媒体数据的其它模块:使用支持流媒体数据运行的更广泛块集设计和实现具有高吞吐量需求的算法。示例:查找表、延迟、矩阵乘法和子矩阵等。

  • C/C++ 函数导入过程中的增强复杂性支持:除了 std::complex 之外,还增加了对导入函数(使用 hls::x_complex 类型)的支持,从而在自定义块中扩展了对复杂信号的支持。

  • C/C++ 函数导入的增强功能:使用 xmcImportFunction 功能为您的设计创建自定义“源”块

  • 增强了对行矩阵及列矩阵信号维数的支持:改进代码生成基础架构,在设计中处理行矩阵 [Nx1] 和列矩阵 [1xN] 信号,从而提高性能。

  • 支持的 MATLAB 版本:R2018a、 R2018b 和 R2019a

视频

Model Composer 视频链接

使用 Simulink 和 Vitis Model Composer 设计 Xilinx Versal ACAP 的 AI 引擎

观看视频

Model Composer 视频链接

使用 Vitis Model Composer 在 Avnet ZUBoard 上设计 FIR 滤波器
  

观看视频

Model Composer 视频链接

使用 Simulink 和 AMD Xilinx Vivado Simulator 进行早期 FPGA/SoC 设计验证

观看视频

下载

购买

Vitis Model Composer 可以作为 Vivado ML 标准版或企业版以及 Vitis™ 统一软件平台的附加许可证购买。

如需评估版,您可生成一个 90 天免费的评估许可证:www.xilinx.com/getlicense

下载

可以额外选择 Vitis Model Composer 作为设计工具,其可通过Vivado 安装程序安装,也可通过 Vitis 安装程序安装。