系统设计类型 - 2023.2 简体中文

Versal 自适应 SoC 硬件、IP 和平台开发方法指南 (UG1387)

Document ID
UG1387
Release Date
2023-11-15
Version
2023.2 简体中文

AMD Versal™ 自适应 SoC 属于异构计算平台,具有多个计算引擎。在 Versal 自适应 SoC 上可映射各种应用,包括对无线系统、机器学习推断和视频处理算法进行信号处理。除了多个计算引擎外,Versal 自适应 SoC 还可使用高速串行 I/O、片上网络 (NoC)、DDR4/LPDDR4 存储器控制器、HBM 控制器和多重速率以太网媒体访问控制器 (MRMAC) 来提供超高系统带宽。Versal 器件分类为以下几个系列:Versal PrimePremiumHBMAI CoreAI Edge。下图显示了每种 Versal 器件系列所支持的不同系统设计类型和设计流程。

注释: Versal Prime 系列、Premium 系列和 HBM 系列的设计流程与 AMD FPGA 所使用的流程类似。Versal AI Core 系列、AI Edge 系列以及 Versal Premium VP2502 和 VP2802 器件的设计流程要求您面向异构计算平台进行设计,此平台具有特殊的硬件配置和软件支持要求。
图 1. 系统设计类型

下表显示了每种 Versal 器件系列所支持的系统设计类型和设计流程。如该表中所示,大部分设计流程都以构建平台为基础。

表 1. 系统设计类型
设计类型 器件系列 设计流程 平台源文件 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 引擎开发设计教程

VCK190 基本 TRD

AI 引擎机器学习教程

提示: 请访问 GitHub 以获取更多示例,这些示例会定期更新。

以下提供了每种系统设计类型的汇总信息:

仅限硬件的系统
可编程逻辑设计。使用传统设计流程创建此系统。
嵌入式系统
嵌入式处理器系统,软件在 Arm® Cortex®-A72Cortex-R5F 处理器上运行,硬件内容则位于 PL 内。使用传统设计流程或基于平台的设计流程创建此系统。
嵌入式 AI 引擎系统
嵌入式处理器系统,软件在 Arm Cortex-A72Cortex-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,反之亦然,这有助于促进组成异构系统的不同元素的并发开发和集成。