凭借其固有的灵活性,AMD 自适应 SoC 和 FPGA 是高性能或多通道数字信号处理 (DSP) 应用的理想选择,这些应用可充分利用硬件的并行性。AMD 自适应 SoC 和 FPGA 将这种处理带宽与各种综合解决方案相结合,其中包括为硬件设计人员、软件开发人员和系统架构师提供的简单易用的设计工具。
一个标准 Von Neumann DSP 架构需要 256 个周期才能完成一个 256 个抽头的 FIR 滤波器,而自适应 Soc 和 FPGA 只需要一个时钟周期便可达到相同的效果。
大规模并行计算可转化为极高水平的 DSP 性能:
AMD DSP 解决方案包含芯片、IP、参考设计、开发板、工具、文件和培训,可实现广泛市场的各种应用,包括(但不限于)无线通信、数据中心以及航空航天及军用产品。
针对不同的使用模型及不同等级的设计抽象提供各种工具流程:
硬件设计者可以在以下方面进行设计:
软件开发者( 习惯于使用 C/C++ 进行开发) 可使用以下工具开发:
系统架构师可快速评估新算法,实现:
有了 AMD 自适应 SoC 和 FPGA,设计人员可使用多种流程,根据设计方法和抽象级别部署其 DSP 应用。
AMD FPGA 和自适应 SoC 基于 ASIC 类架构,在Versal™ Premium 系列中将每秒数百千兆位 I/O 带宽与超过 49 TeraMAC 的定点 DSP 性能相结合。在最新一代 AMD FPGA 中,AMD DSP slice 及其并行性是实现 DSP 性能的关键。
Versal 器件 slice 中的 DSP58 是 AMD 架构中的第 6 代 DSP slice。
这款专用的 DSP 处理模块在全面定制的芯片中实现,这种芯片可实现领先的功耗性能比,从而可高效实现乘法累加器 (MACC)、乘法加法器 (MADD) 或复杂乘法等普及型 DSP 功能。
此外,Slice 也可提供执行各种逻辑运算的功能,如 AND、OR 和 XOR 运算。
Versal 器件 DSP58 架构建立在 UltraScale™ FPGA DSP48E2 的成功基础之上,具有更高的增强性能:
这些增强功能有助于 DSP 关键应用在进入 FPGA 架构之前在 DSP48E2 slice 内执行更多的计算,最终可节省资源及电源。
功能 | UltraScale | Versal |
---|---|---|
DSP 模块/Slice 类型 | DSP48E2 | DSP58 |
多重 Add/Sub/Acc 运算 | ||
乘法器和 MACC | 27x18 | 27x24 |
开方: [(A 或 B)+/- D]2 | ||
WMUX 反馈超高效复杂乘法 CMACC | 3 x DSP48E2 | 2 x DSP58 |
SIMD 支持 | ||
集成型模式检测电路 | ||
集成型逻辑单元 | ||
宽复用功能 | 48 位 | 58 位 |
Wide XOR | 96 位 | 116 位 |
Single Precision Floating Point Multiplier | ||
可选 96 位输出 | ||
级联布线 | ||
流水线寄存器 | ||
D 预加法器 | ||
序列复杂乘法、AB 动态访问 | ||
改进的 AB 寄存器流水线平衡 |
AMD 可根据您的设计首选项为您提供支持 RTL、C/C++ 及模型设计入口的工具。这种设计流程灵活性加上大量 DSP IP 目录,可实现对 AMD 工具及器件的更便捷应用。
访问工具、库和框架,了解更多详情。
下表是 7 系列、UltraScale 和 UltraScale+ 系列的部分重要 DSP 性能指标。 如需了解 SoC 器件性能,敬请查看软件开发人员部分。
Kintex UltraScale | Kintex UltraScale+ | Virtex UltraScale | Virtex UltraScale+ | Versal AI Core | Versal AI Edge | Versal AI Prime | Versal AI Premium | |
---|---|---|---|---|---|---|---|---|
系统逻辑单元 (K) | 318–1,451 | 356–1,143 | 783–5,541 | 862–3,780 | 540 - 1,968 | 44 - 1,139 | 329 - 2,233 | 833 - 7,352 |
DSP slice | 768–5,520 | 1,368–3,528 | 600–2,880 | 2,280–12,288 | 928 - 1,968 | 90 - 1,312 | 464 - 3,984 | 1,140 - 14,352 |
27x18 乘法器 | 768–5,520 | 1,368–3,528 | 600–2,880 | 2,280–12,288 | 928 - 1,968 | 90 - 1,312 | 464 - 3,984 | 1,140 - 14,352 |
INT8 GOPs (1) | 1,774–14,315 | 4,263–11,000 | 1,554–7,469 | 7,108–38,318 | 6,403 - 13,579 | 62 - 9,052 | 3,201 - 27,489 | 7,866 - 99,029 |
INT16 GOPs | 1,014–8,180 | 2,436–6,286 | 888–4,268 | 4,062–21,896 | 2,134 - 4,526 | 21 - 3,017 | 1,067 - 9,163 | 2,622 - 33,010 |
复杂的 INT18 GOP | 676 - 5,453 | 1,624 - 4,191 | 592 - 2,845 | 2708 - 14,597 | 913 - 1,937 | 8 - 1,291 | 456 - 3,920 | 1,122 - 14,122 |
单精度浮点 (GFLOP) (2) | 320–2,685 | 800–1,673 | 294–1,411 | 1,354–7,299 | 1,494 - 3,168 | 14 - 2112 | 747 - 6,414 | 1,835 - 23,107 |
注:
我们推出了软件开发环境及一系列功能强的常见综合工具、库以及软件开发人员可用来便捷锁定 AMD FPGA 及 SoC 目标的方法。 支持高层次抽象环境Vitis™ 统一软件平台。我们可针对 C、C++ 和/或 OpenCL 开发提供类似于 GPU 的熟悉嵌入式应用开发及运行时体验。
Zynq™ UltraScale+™ MPSoC 和 Versal 架构结合强大的处理系统 (PS),在单个器件中完美整合 ARM® Cortex® 处理器和用户可编程逻辑 (PL)。
Vitis 统一软件平台不仅提供分析给定应用的功能,而且还允许创建硬件加速器,以便在可编程逻辑 (PL) 中更高效地运行,其中可利用 FPGA 的灵活性和并行性提供巨大的性能改进。此外,这还可实现必要时可在处理系统 (PS) 中并行运行的其它应用功能。
通过将 AMD FPGA 及自适应 SoC 定为目标,许多 DSP 及嵌入式应用都将实现效率的提升并为其应用降低功耗。
下表是 AMD Zynq UltraScale+ MPSoC 系列和 Versal 器件的部分重要特性及 DSP 性能指标。 如欲了解非 SoC 器件性能,敬请访问硬件设计人员部分。
处理系统 | Zynq 7000 SoC | Zynq UltraScale+ MPSoC |
---|---|---|
应用 处理单元 (APU) |
|
|
实时 处理单元 (RPU) |
- |
|
多媒体处理 | - |
|
动态内存接口 | DDR3, DDR3L, DDR2, LPDDR2 | DDR4、LPDDR4、DDR3、DDR3L、LPDDR3、 |
高速外设 | USB 2.0、Gigabit Ethernet、SD/SDIO | PCIe® Gen2、USB3.0、SATA 3.1、 DisplayPort、Gigabit Ethernet、SD/SDIO |
安全 | RSA、AES、和 SHA, ARM TrustZone® | RSA、AES、和 SHA, ARM TrustZone |
最大 I/O 引脚数 | 128 | 214 |
可编程逻辑 | Zynq 7000 SoC | Zynq UltraScale+ MPSoC |
---|---|---|
系统逻辑单元 (K) | 23–444 | 103–1,045 |
最大存储器 (Mb) | 1.8–26.5 | 5.3–70.6 |
最大 I/O 引脚 | 100–362 | 252–668 |
DSP Slice | 60–2,020 | 240–3,528 |
18x18 乘法器 | 60–2,020 | 240–3,528 |
定点性能 (GMACs) (1) | 42–1,313 | 213–3,143 |
定点性能 面向对称滤波器 (GMAC) (1) (2) | 84–2,626 | 426–6,286 |
INT8 GOPs (1) (3) | 84–2,626 | 745–11,000 |
INT16 GOPs (1) | 84–2,626 | 426–6,286 |
单精度浮点 (GFLOPs) (1) (4) | 23–716 | 142–1,673 |
单精度浮点 (GFLOPs) (1) (5) | 17–537 | 106–1,571 |
半精度浮点 (GFLOPs) (1) (6) | 34–1,074 | 212–3,142 |
注:
如欲了解有关 AMD SoC 及 MPSoC 的更多详情,敬请访问:
该处理系统 (PS) 可通过不同的 ARM 处理内核途径提供各种 DSP 处理功能。
如欲进一步了解有关 ARM 的 DSP 功能,敬请访问:
可在以下位置查看一些实用示例:
对于 Zynq UltraScale+ MPSoC,请查看:UG1211,了解使用 ARM NEON 指令集的 FFT 演示。
对于 Zynq 7000 SoC 而言,在将 Cortex-A9 和 ARM SIMD 确定为目标时,可在 Xilinx wiki 上获得以下技术要点:
AMD 为其器件提供极其灵活的数据类型支持。 AMD 工具原生支持不同精度的定点、浮点和整数,这些浮点运算是在 Floating Point Operator IP 核的支持下实现的。
与定点或整数实现方案相比,在 FPGA 上实现的浮点设计始终会导致消耗更多的资源及功率。 如果可能的话,转化为定点解决方案,将带来巨大的优势:
如需进一步了解有关将浮点转换为定点数据类型的优势,敬请阅读 WP491。
下表是一小部分算法以及使用 AMD 器件、特别是可编程逻辑 (PL) 中的架构加速设计可实现的性能提升。
算法 | CPU/GPU | Zynq UltraScale+ MPSoC | 优势 |
---|---|---|---|
Stereo LocalBM @ 2K | ARM:每瓦 0.5 FPS nVidia:每瓦 3.5 FPS |
每瓦 146 FPS | 292x 42x |
光流法
(Lucas-Kanade) |
ARM:每瓦 0.1 FPS nVidia:每瓦 0.8 FPS |
每瓦 7.1 FPS | 9.3x |
GoogleNet (Batch=1) |
ARM:0.1 Imgs/s/w nVidia:8.8 Imgs/s/w |
53 Imgs/s/w | 530x 6x |
注释 1:ARM:四核 A53 以 1200MHz 的频率运行在 Raspberry Pi 上
注释 2:采用 Tegra X1 实现 Nvidia 基准
注释 3:光流 (LK) — 窗口尺寸:11x1
算法 | CPU/DSP | Zynq 7000 | 优势 |
---|---|---|---|
正向投影 | ARM:每视图 3 秒 | 每视图 0.016 秒 | 188x |
运动检测 | ARM: 0.7 FPS | 67 FPS | 90x |
噪声降低 — Sobel | ARM: 1 FPS | 67 FPS | 60x |
Canny 边缘检查 | ARM: 0.66 FPS | 40 FPS | 45x |
3D 图像重建 | ARM: 75k | 8k | 9x |
DPD | ARM: 506 ms | 31.3ms | 16x |
FIR | TI DSP: 64020 ns | 1200 ns | 53x |
FFT | TI DSP: 1036 ns | 128 ns | 8x |
注释 1:将 ARM 作为目标时,Cortex-A9 内核只用在 Zynq 器件上
注释 2:使用 C66 DSP 内核完成 TI 基准
Vitis Model Composer for DSP 和高层次综合等 AMD 高层次设计工具提供的抽象等级可帮助系统架构师及域专家快速评估最新算法并集中精力进行其设计的差异化部分开发。 完整的 AMD DSP 解决方案是这些设计工具、IP、参考设计、方法及电路板的完美整合,这些元素的结合能够在尽可能最短的时间内获得一项可行的生产设计。
Vitis Model Composer 是一款基于模型的设计工具,可利用 MATLAB 及 Simulink 开发环境以一小部分传统 RTL 开发时间在可编程逻辑中定义、测试和实现生产质量级 DSP 算法。
该工具提供:
了解有关 DSP Vivado 系统生成器的更多详情:
高层次综合包括 Vitis 统一软件平台,可移植 C、C++ 和 System C 算法规范能够直接针对 AMD FPGA 和自适应 SoC,无需创建 RTL。就像从 C/C++ 到不同处理器架构提供编译器一样,HLS 编译器可从 C/C++ 到 AMD FPGA & 自适应 SoC 提供相同的功能性。
了解更多有关高层次综合的信息:
AMD 提供业界一流的工具,有助于在一款 AMD 自适应 SoC 和 FPGA 上以极低的功耗高效实现数字信号处理 (DSP) 应用。 无论您在使用 RTL、C/C++/SystemC 进行设计,还是在使用 Matlab/Simulink,以下 AMD 工具都可轻松简化您的设计,缩短上市进程。
AMD 提供大量针对性能、资源利用及易用性进行优化的库。
库与框架 | 说明 |
应用 |
---|---|---|
GitHub 库 | AMD 创建了各种 GitHub 库,其可面向包含 DSP 相关功能在内的大量应用提供各种实用示例。 | |
Vitis 加速库 | AMD 创建了一组广泛的、性能优化的开源库,这些库提供了即开即用的加速功能,并且对现有应用实现最小化代码更改或零更改。 | Vitis 库 |
AMD 与其合作伙伴紧密协作,生产了各种工具及电路板,用于在大量不同市场领域简化 DSP 应用对 AMD FPGA 及 SoC 的采用。
合作伙伴 | 说明 | 解决方案 |
---|---|---|
Avnet 以 DSP 为导向的开发套件及模块 | 通过与 Xilinx、MathWorks 以及领先高速模拟供应商长期构建的协作,Avnet 可为嵌入式视觉、软件定义无线电以及高性能电机控制提供以 DSP 为导向的开发套件和生成就绪型系统级模块。 |
Avnet |
Mathworks 计算软件 | Mathworks MATLAB® 和 Simulink® 可显著缩短自适应 SoC 和 FPGA 系统的开发时间,可帮助用户:
|
Mathworks |
模拟器件附加电路板 | AD-FMCDAQ2-EBZ FMC 电路板是一款功能齐全的数据采集及信号综合原型设计平台,支持简单易行的工作,从而可加速终端系统信号处理开发。
|
Analog Devices |