AMD Versal™ 自适应 SoC 属于异构计算平台,具有多个计算引擎。在 Versal 自适应 SoC 上可映射各种应用,包括对无线系统、机器学习推断和视频处理算法进行信号处理。除了多个计算引擎外,Versal 自适应 SoC 还可使用高速串行 I/O、片上网络 (NoC)、DDR4/LPDDR4 存储器控制器、HBM 控制器和多重速率以太网媒体访问控制器 (MRMAC) 来提供超高系统带宽。Versal 器件分类为以下几个系列:Versal Prime、Premium、HBM、AI Core 和 AI Edge。下图显示了每种 Versal 器件系列所支持的不同系统设计类型和设计流程。
下表显示了每种 Versal 器件系列所支持的系统设计类型和设计流程。如该表中所示,大部分设计流程都以构建平台为基础。
设计类型 | 器件系列 | 设计流程 | 平台源文件 | GitHub 示例 |
---|---|---|---|---|
仅限硬件的系统 |
Versal
Prime 系列 Versal Premium 系列 Versal HBM 系列 |
传统 | 不适用 | Versal 器件架构教程 |
嵌入式系统 |
Versal
Prime 系列 Versal Premium 系列 Versal HBM 系列 |
传统 | 不适用 | Versal 自适应 SoC 嵌入式设计教程 |
基于平台 | 定制 | Versal Prime 系列 VMK180 目标参考设计 | ||
嵌入式 AI 引擎系统 |
Versal
AI Core 系列 Versal AI Edge 系列 Versal Premium VP2502 器件和 VP2802 器件 |
基于平台 | 定制 | AI 引擎开发设计教程 |
以下提供了每种系统设计类型的汇总信息:
- 仅限硬件的系统
- 可编程逻辑设计。使用传统设计流程创建此系统。
- 嵌入式系统
- 嵌入式处理器系统,软件在 Arm® Cortex®-A72 或 Cortex-R5F 处理器上运行,硬件内容则位于 PL 内。使用传统设计流程或基于平台的设计流程创建此系统。
- 嵌入式 AI 引擎系统
- 嵌入式处理器系统,软件在 Arm Cortex-A72 或 Cortex-R5F 处理器上运行,硬件内容位于 PL 内,算法内容则位于 AI 引擎内。使用基于平台的设计流程创建此系统。
Versal 自适应 SoC 的设计流程如下所示:
- 传统设计流程
- 在传统设计流程中,系统的整个 PL 部分都是在单个 AMD Vivado™ 工程中定义的。该工程必须包括 Versal 基础硬件 IP 块(例如,Control, Interface, and Processing System (CIPS)、NoC、I/O 控制器)以及工程所需的任何其他定制 RTL 和 IP 块。设计源文件将添加到 Vivado 工具中,并通过 Vivado 实现流程进行编译。如果系统仅包含 PL 组件,那么可使用 Vivado 工具来生成可编程器件镜像 (PDI),以便对 Versal 器件进行编程。如果系统还包含嵌入式软件内容,那么将在从 Vivado 工具导出的固定硬件设计上的 AMD Vitis™ 环境中开发软件应用。此流程类似于用于 AMD Zynq™ UltraScale+™ MPSoC 的传统流程。
- 基于平台的设计流程
- 在基于平台的设计流程中,硬件系统分为下列不同元素:可复用的基础平台以及基本硬件扩展,此平台是在 Vivado 中开发的,而扩展则是在 Vitis 中通过基础平台的可扩展区域内精确定义的一组连接接口来开发的。大部分硬件设计是在 Vivado 中开发的,但设计中以 C++ 而非硬件描述语言 (HDL) 指定的部分大多是在 Vitis 中自然开发并集成的。后者示例包括 AI 引擎计算图与内核以及以通过高层次综合 (HLS) 编译的 PL 作为目标的内核函数。
您可根据自身工作效率来选择任一设计分区方式:基础平台或可扩展区域。在整个设计周期过程中,基本硬件和可扩展区域均可进化,精心设计的基础平台能为多种应用奠定基础,以便 Vitis 工具在其中对可扩展区域进行扩展。相应开发团队可通过合理的松散耦合与紧密耦合将设计内容从 Vivado 导出到 Vitis,反之亦然,这有助于促进组成异构系统的不同元素的并发开发和集成。