概述

AI 引擎概览 — DSP 设计过程

针对 AMD Versal™ AI 引擎设计高性能 DSP 功能,可使用 AMD Vitis™ 开发工具完成,也可使用 Vitis Model Composer 流程完成,充分发挥 MathWorks Simulink® 工具的仿真及图形功能优势。

在任何一种情况下,无论是将 DSP 应用映射到在 FPGA 或 AI 引擎中要实现的功能中,还是将其映射到 FPGA 逻辑和 AI 引擎的组合中,都至关重要。这需要了解器件功能以及整个系统。

通常,计算密集型功能更适合 AI 引擎执行,而需要数据移动 / 重新排序的功能则更适合 FPGA 执行。

在下面所示的实例中,复杂的滤波和傅立叶变换通常更适合 AI 引擎阵列。

Alveo U50 图像

一旦功能被明确确定为 AI 引擎适当,就可使用以下任何一种选项将其实施在 AI 引擎中。

注意:使用以下列表中的多个选项的混合方法也是合理的。

选项 1

Vitis DSP 库函数调用



dsplib::fft::dit1ch::fft_ifft_dit_1ch

  

  • 简单易用
  • 可参数化
  • 最快的开发

选项 2

使用 AI 引擎 API 实现矢量化编程


aie::vector A0 
aie::vector A1

  

  • 可定制化
  • 更快的开发

选项 3

内嵌原语矢量化编程


Acc0 = mac16(acc0, Bbuff, 0, 0x00000000, 8, 0x3120, Abuff0, 0, 0xCC884400, 2, 0x3210);​

Acc0 = mac16(acc0, Bbuff, 32, 0x00000000, 8, 0x3120, Abuff0, 0, 0xCC884400, 2, 0x3210); 

  • 全面低层次定制化
  • 最漫长的开发

要使用 DSP 的 AI 引擎启动开发,强烈建议从 Vitis DSP 库函数(基于 C 语言)或 Vitis Model Composer(基于模型)启动。虽然手动编码可带来更优化的执行,但使用上述方法是使用 DSP 的 AI 引擎启动开发的最快捷途径,同时也可带来极高的性能。

不同的 AI 引擎功能随后可使用图形 C 代码相互连接,这是描述多个 AI 引擎 tile 的网络的 C++ 代码。

使用 Vitis Model Composer,可在不同 AI 引擎功能之间实现图形互连。该图形表示可通过 Vitis Model Composer 将按钮转换成图形 C 代码。还可利用 MathWorks Simulink 环境的强大仿真功能验证设计。

要进一步了解如何使用 Vitis Model Composer 执行 Versal AI 引擎开发,请访问使用 Vitis Model Composer 执行 Versal AI 引擎开发

AI 引擎工具许可

编译器和仿真器

虽然 AI 引擎编译器和仿真器工具是 AMD Vitis™ 软件安装程序的一部分,但这些工具仍然需要免费许可才能使用。您可以从产品许可站点获取该许可证。

输入详细信息并选择“AI 引擎工具许可证”选项。

设计范例

AI 引擎多相信道器设计

多相信道器可采用基于数字信号处理的有效方法,同时对单个数据流中携带的一组频分多路复用 (FDM) 信道进行降频转换。信道器的使用在大量无线通信、雷达、航空航天/国防以及医疗成像系统中无处不在。在本教程中,我们在 AMD Versal™ 自适应 SoC 器件中使用 AI 引擎和可编程逻辑 (PL) 资源的组合执行两种不同的信道器设计。