一、Vitis是什么
Vitis 统一软件平台的前身为 Xilinx SDK,从 Vivado 2019.2 版本开始, Xilinx SDK 开发环境已统一整合到全功能一体化的 Vitis 中。 Vitis 开发平台除了启动方式、软件界面、使用方法与 SDK 开发平台略有区别,其他操作几乎一模一样。 Vitis 可以采用 C、 C++或 Python 开发以嵌入式处理器为核心的嵌入式系统, 可实现在 Xilinx 异构平台(包括 FPGA、 SoC 和 Versal ACAP)上开发嵌入式软件和加速应用。 它可为边缘、云和混合计算应用加速提供统一编程模型。 Vitis 可以利用与高层次框架的集成,通过加速库采用 C、 C++或Python 进行开发,或者使用基于 RTL 的加速器和低层次运行时 API 对实现方案进行粒度更精确的控制。 Vitis是应用 IDE( 集成开发环境), 可实现真正的同构及异构多处理器设计、调试和性能分析。
Vitis 统一软件平台是一种新增工具,用于将赛灵思软件开发的方方面面全部组合到统一的环境内。Vitis 软件平台支持 Vitis 嵌入式软件开发流程以满足希望迁移至下一代技术的赛灵思软件开发套件(SDK) 用户的使用需求,也支持 Vitis 应用加速开发流程,以满足希望使用基于赛灵思 FPGA 的最新软件加速功能的软件开发者的需求。
二、Vitis开发流程
使用 Vitis 进行嵌入式设计开发包括两部分,分别是硬件设计和软件设计。硬件设计使用到的工具是Xilinx 提供的 Vivado 套件,软件设计使用 Xilinx 提供的 Vitis 统一软件平台。
在 Vivado 中我们可以在 Block Design 中搭建嵌入式处理系统,然后生成包含硬件信息的 XSA( Xilinx Shell Archive)文件。利用 XSA 文件在 Vitis 软件中搭建硬件平台,进行软件设计和调试。
下图是 Vitis 统一平台的嵌入式系统开发流程图:
第一步: 创建 Vivado 工程, 创建方法和《ZYNQ 之 FPGA 开发指南》中描述的步骤一致。
第二步:使用 IP 集成器创建嵌入式处理系统,包括配置 Processing System IP、其他需要的 IP 核以及外围设备。
第三步:对已经验证好的 Block Design 设计生成顶层 HDL。
第四步:与普通的 FPGA 开发一样,进行综合、实现并生成 Bitstream 文件和 XSA 文件,将生成的硬件设计文件导出到 Vitis 开发平台下。
第五步:启动 Vitis,创建硬件平台工程和应用工程并完成相关程序的编写、调试、编译。
第六步:进行软硬件联调、完成功能的验证。
如上图所示,开发流程大体上可以分为 6 步。其中 step1 至 step4 为硬件设计部分,在 Vivado 软件中实现; step5 为软件设计部分,在 Vitis 软件中实现; step6 为功能的验证。
三、HelloWorld
1、创建vivado工程
使用图形化开发工具
这里简单介绍下上述对话框中三个选项的含义,也可以通过点击对话框左下角的问号按钮去看 Xilinx的原文描述。
•Design name(设计名称): 指定要创建的块设计的名称。
•Directory(目录):指定创建的块设计文件的存放路径,可以是本地项目路径下也可以是当前项目之外的位置,一般默认为本地项目路径下。
•Specify source set(指定源集):将新的块设计添加到设计源文件集、默认仿真文件集或新的仿真文件集中。一般来说, Xilinx 建议在设计源文件集中创建块设计。
2、添加zynq系统IP
双击打开ZYNQ7 Processing System 模块
DDR3配置
UART配置
Bank工作电压参考板卡原理图
取消多余接口
验证设计
产生接口
3、生成顶层HDL
4、导出硬件Hardware
5、在vitis中进行软件设计
创建工程
编译程序
6、上板验证
打开串口工具
下载程序
验证成功
四、总结
五、拓展
在经过本章的学习后,相信大家已经掌握了创建硬件工程和软件工程的方法。例程里是直接调用 Vitis软件平台现成的模板工程去打印字符串的,大家也可以直接在 Vitis 平台里去新建一个空的应用工程,然后在空应用工程里添加 main.c 文件,在 main.c 文件里自己编写代码去打印想要打印的内容。