Vitis™ Embedded Base Platforms:完整解析
它为开发者在Xilinx/AMD FPGA和SoC设备上开发嵌入式应用提供了预配置的硬件设计和软件环境,使开发者能够快速开始应用开发,而无需从头构建完整的硬件系统。回到开始的比喻,Vitis™ Embedded Base Platforms就像是一个精心设计的"乐高底板",它为你的创意提供了坚实的基础。无论是开发单一功能的嵌入式应用,还是构建复杂的异构计算系统,Vitis Embedded Bas
Vitis™ Embedded Base Platforms:完整解析
什么是Vitis™ Embedded Base Platforms
Vitis™ Embedded Base Platforms是赛灵思(Xilinx,现已被AMD收购)提供的一套预定义硬件和软件平台包,作为Vitis统一软件平台的核心组成部分。它为开发者在Xilinx/AMD FPGA和SoC设备上开发嵌入式应用提供了预配置的硬件设计和软件环境,使开发者能够快速开始应用开发,而无需从头构建完整的硬件系统。
简单来说,可以将Vitis™ Embedded Base Platforms想象成一个"乐高底板"。当你要搭建复杂的乐高模型时,首先需要一个稳固的底板作为基础。Vitis平台就像这个预先制作好的底板,开发者只需要在上面添加自己的"乐高积木"(应用程序和定制功能),而不必从零开始打造整个系统的基础结构。

Vitis™ Embedded Base Platforms的组成
Vitis Embedded Base Platforms包含多个关键组件,可分为以下几个部分:
1. 硬件平台组件
-
XSA文件(Xilinx Shell Archive):这是平台中最核心的文件之一,包含预先构建的硬件设计,定义了FPGA的基本配置。XSA本质上是Vivado工程的压缩包,包含了硬件设计的所有信息,如:
- 处理器类型(Zynq-7000, Zynq UltraScale+, Versal等)和配置
- 处理器时钟频率
- 存储器映射(DDR地址范围)
- 外设配置(UART, Ethernet, I2C, SPI等)
- 可编程逻辑(PL)区域的资源分配
-
硬件接口定义:明确定义了软件可访问的硬件资源,包括内存映射、中断映射和硬件加速器接口。
-
约束文件:包含引脚分配、时序约束等物理实现信息。
2. 软件平台组件
-
设备树(Device Tree):对于运行Linux的嵌入式系统,设备树是描述硬件配置的关键。平台通常提供:
- DTS文件:设备树源文件,可以根据需要进行修改
- DTC文件:设备树编译器,用于将DTS文件编译成DTB文件
- 设备树生成工具:一些平台提供图形化的设备树配置工具
-
BSP(Board Support Package):包含特定板卡的软件支持包,提供操作系统和裸机应用程序的基础支持,包括:
- 驱动程序:用于控制各种外设,如UART, Ethernet, I2C, SPI等
- 库:提供常用的函数和数据结构,简化软件开发
- 启动代码:初始化硬件并加载操作系统的代码
-
操作系统支持:
- Linux:通常是预编译的Linux内核和根文件系统
- FreeRTOS:对于实时性要求较高的应用,平台可能提供FreeRTOS支持
-
启动加载程序:负责初始化硬件、加载操作系统和将控制权交给操作系统,如:
- U-Boot:一个流行的开源启动加载器
- FSBL(First Stage Bootloader):Xilinx提供的第一阶段启动加载器
3. 预编译的域特定架构(DSA)
- 为特定应用领域(如视频处理、网络加速等)预先优化的硬件架构设计。
4. 示例设计和文档
-
示例工程:演示平台功能的示例应用,如:
- Hello World:基础示例工程
- 外设控制示例:演示如何控制UART, Ethernet等外设
- 硬件加速示例:演示如何使用FPGA加速算法
-
详细文档:包括硬件架构、软件组件、开发流程和使用指南的文档。
Vitis™ Embedded Base Platforms的作用
1. 加速开发流程
Vitis Embedded Base Platforms最主要的作用是显著缩短开发周期。通过提供预先验证的硬件设计和软件环境,开发者可以直接关注应用程序开发,而不必花费大量时间在基础硬件设计和底层软件配置上。
2. 硬件抽象与标准化
这些平台提供了硬件抽象层,使软件开发者可以在不深入了解底层硬件细节的情况下进行应用开发。同时,标准化的接口定义确保了软件的可移植性和重用性。
3. 促进软硬件协同设计
Vitis平台支持软硬件协同设计方法,允许开发者在同一环境中进行软件应用开发和硬件加速器设计,从而充分发挥FPGA的异构计算优势。
4. 支持多种开发模式
无论是基于Linux/FreeRTOS等操作系统的应用开发,还是裸机编程,甚至是硬件加速器设计,Vitis Embedded Base Platforms都提供了相应的支持。
5. 简化系统集成
预先集成的硬件IP和软件组件大大简化了系统集成工作,减少了不兼容问题和调试时间。
常见的Vitis™ Embedded Base Platforms
Xilinx/AMD为其不同系列的FPGA和SoC设备提供了多种基础平台,包括但不限于:
-
Zynq-7000 SoC平台:针对Zynq-7000系列SoC(集成双核ARM Cortex-A9处理器)的开发平台。
-
Zynq UltraScale+ MPSoC平台:针对Zynq UltraScale+ MPSoC(集成四核ARM Cortex-A53和双核Cortex-R5)的开发平台。
-
Versal ACAP平台:针对Versal自适应计算加速平台的开发环境。
-
Alveo加速卡平台:针对数据中心加速应用的平台。
使用Vitis™ Embedded Base Platforms的工作流程
-
选择合适的基础平台:根据目标硬件和应用需求选择适当的Vitis Embedded Base Platform。
-
创建Vitis应用项目:使用Vitis IDE创建基于所选平台的应用项目。
-
开发应用软件:使用C/C++开发应用程序,可以利用平台提供的API和库。
-
可选:开发硬件加速器:使用Vitis HLS(高级综合)工具开发硬件加速器,以优化性能关键部分。
-
构建和链接:编译软件组件并链接到平台。
-
系统生成和部署:生成完整系统镜像并部署到目标硬件。
总结
Vitis™ Embedded Base Platforms是赛灵思/AMD提供的一套综合硬件和软件平台,旨在简化FPGA和SoC设备上的嵌入式系统开发。通过提供预配置的硬件设计、软件环境和开发工具,这些平台大大加速了从概念到产品的开发过程,使开发者能够专注于应用创新而非底层系统构建。
回到开始的比喻,Vitis™ Embedded Base Platforms就像是一个精心设计的"乐高底板",它为你的创意提供了坚实的基础。你不必自己从头开始制作底板,而是直接利用现成的底板,专注于构建上层应用,从而更快地将你的创意变为现实。
无论是开发单一功能的嵌入式应用,还是构建复杂的异构计算系统,Vitis Embedded Base Platforms都提供了坚实的基础和灵活的开发路径,是加速FPGA和SoC开发的理想起点。
更多推荐



所有评论(0)