Vitis HLS介绍及工作流程

时间:2025-07-24  作者:Diven  阅读:0

RTL与HLS强强联合打造FPGA新开发之路

副标题-FPGA高层次综合HLS(一)-Vitis HLS介绍

Vitis HLS介绍及工作流程

高层次综合(High-level Synthesis)简称HLS,指的是将高层次语言描述的逻辑结构,自动转换成低抽象级语言描述的电路模型的过程。

Vitis HLS介绍及工作流程

对于AMD Xilinx而言,Vivado 2019.1之前(包括),HLS工具叫Vivado HLS,之后为了统一将HLS集成到Vitis里了,集成之后增加了一些功能,同时将这部分开源出来了。Vitis HLS是Vitis AI重要组成部分,所以我们将重点介绍Vitis HLS。

为了创建可编程逻辑内核,Vitis V++ 编译器能够将 OpenCL、C/C++ 和 RTL 编译到AMD Xilinx对象 (.xo) 文件中,然后将链接到AMD Xilinx二进制 (.xclbin) 中用于可编程逻辑。

FPGA bit流创建流程

与主机开发流程(正常开发流程)结合使用时,我们可以使用 Vitis IDE 对我们的应用程序进行自上而下的加速。

但是,查看 FPGA bit流创建流程,我们还可以使用 HLS 或 RTL 从下到上创建加速内核。

这种自下而上的流程使我们能够专注于复杂的内核算法,验证其性能并确保可编程逻辑实现过程的优化途径是最佳的。

这种方法还可以更好地与团队方法一起使用,并且可以创建可跨多个项目使用的加速内核库(IP)。另一个优点是应用于可编程逻辑实现的优化驻留在 .xo 文件中,无需在每次使用算法时重新进行优化。

Vivado HLS 正是为此流程而构建,Vitis HLS包含在 Vitis 安装的 bin 目录中。

同时Xilinx GitHub (https://github.com/Xilinx/HLS-Tiny-Tutorials)上还有许多 Vitis HLS 教程项目。

GitHub教程

这些教程涵盖了开始开发有效内核所需的一切,包括算法开发、编码风格、接口和内存架构等方面。

如果我们使用的是 Windows,我们可以通过输入以下命令从 Xilinx 软件命令行工具调用 Vitis HLS:

vitis_hls

在 Linux 系统中,在运行安装目录中的设置脚本settings64.sh后,我们可以在终端窗口中使用相同的命令。

调用Vitis HLS

Vitis HLS 加载和欢迎页面。

Vitis HLS 加载和欢迎页面

我们可以通过从 GitHub 克隆或下载 ZIP 文件来使用这些示例。如果我们探索一个示例库,我们将找到支持该示例的源代码和 TCL 文件。

循环函数示例的内容

我们可以通过切换到该目录并从 Linux 终端或 XSCT (windows)运行这些示例:

vitis_hls -f run_hls.tcl

这将以命令行模式运行该项目并综合。

运行Vitis HLS示例

命令运行完成后,将看到一个包含解决方案和项目文件的新目录(Vitis HLS工程)。

要探索设计,我们可以使用已打开的 Vitis GUI 导航到示例项目目录。

打开 GUI 后,将看到一个基于 Eclipse 的工作区,看起来类似于 Vivado HLS,但存在细微差别。

Vitis HLS图形界面

在 GUI 中,我们可以浏览综合报告、调试应用程序并分析RTL的实现。

默认情况下,实现过程将设置为生成基于 RTL 的解决方案,但如果我们希望使用自下而上的流程,并在 Vitis 中实现加速功能并生成 Xilinx 对象,我们应该怎么做?

我们可以检查解决方案设置下的选项- Vitis 自下而上设计。

设置Vitis HLS自下而上流程

当我们接下来执行综合时,我们不仅会看到 Verilog 和 VHDL 实现,还会看到包含内核描述的 XML 文件。

一旦我们对算法的性能感到满意,我们就可以导出 Xilinx需要的对象。在这种情况下,我们使用了教程项目中的一个简单示例,非常简单且很小。

从导出 RTL 对话框中,选择 Vitis 内核选项来代替正常的 Vivado IP。

导出内核

Xilinx 对象将导出到设置的位置。

xo文件导出

现在我们可以将获取的 XO 文件包含在我们的一个或多个 Vitis 设计中。当然,如果我们需要硬件实现,我们也可以将 IP 导出到 Vivado。

RTL与HLS强强联合打造FPGA新开发之路

从上面的一个示例我们看到了,Vitis大大方便了整个FPGA开发流程,减少了设计周期,虽然目前与Verilog/SV/VHDL实现的硬件在资源方面还是有很大差距,但是很多公司一直在致力于这方面的实现,毕竟这是一个趋势。那么目前HLS真的一无用处吗?

答案是否定的,合理运用HLS的强大数据处理能力,能达到事倍功倍的效果,毕竟目前FPGA资源都是过剩的。

RTL与HLS强强联合打造FPGA新开发之路:只需要把两者结合好;RTL做控制,HLS做数据流计算这样的组合才跑得欢快~

PS:不知道大家注意没,Vivado中很多官方/第三方IP都是使用HLS搭建的,尤其在视觉图像、数字信号处理等方面。

这是《FPGA高层次综合HLS》系列教程开篇,后面会按照专题继续更新,文章有什么问题,欢迎大家批评指正~感谢大家支持。

 

审核编辑 :李倩

 


猜您喜欢

前言因应新型冠状病毒肺炎疫情蔓延, 额温枪成了家庭与公共场所必备良品。因量测不须接触人体, 减少病毒感染的机率 且能在几十秒内透过红外传感器进行温度采集转进而...
2023-08-21 10:54:00

R050贴片电阻,究竟是多大呢?R050代表的是其封装尺寸,050对应的是英制尺寸,即0.05英寸 x 0.05英寸。换算成公制单位,大约是1.27毫米 x 1...
2024-11-26 11:29:34

信号发生器是重要的电子测试设备,应用于通信、电子设计和科研等领域。其主要优势体现在以下几个方面。信号发生器能够产生各种频率和波形的信号,包括正弦波、方波、三角波...
2013-08-18 00:00:00

倒角机是应用于金属加工和木工行业的设备,其规格尺寸直接影响到加工的效率和精度。倒角机的规格尺寸主要包括机器的工作台尺寸、切割角度范围和最大加工厚度等。常见的倒角...
2014-08-27 00:00:00

线性稳压器 (LDO) 是一种电子元件,其作用是将不稳定的输入电压转换为稳定的输出电压。 您可以将其想象成电子设备的电源净化器。LDO 的功能:稳压: LDO ...
2023-12-22 00:00:00

随着电子设备的微型化和高性能化,芯片热管理技术正成为电子信息产业发展的重要瓶颈,也迎来了前所未有的发展机遇。对于希望进入科技行业的年轻人来说,芯片热管理技术领域...
2024-01-31 00:00:00

在美国新罕布什尔州的曼彻斯特,全球领先的运动控制、节能系统传感技术及功率半导体解决方案提供商Allegro MicroSystems(纳斯达克股票代码:ALGM...
2024-07-10 14:31:00

现代电子设备中,NTC热敏电阻优异的温度感应能力而被应用。NTC(负温度系数)热敏电阻的电阻值温度的升高而降低,常用于温度测量、温度补偿和过热保护等场合。对于许...
2025-04-14 16:31:09

过滤器和过滤膜是现代科技中不可少的重要组件,应用于水处理、空气净化和工业生产等领域。过滤器通过物理或化学方法去除液体或气体中的杂质,确保输出的流体达到所需的纯净...
2009-04-15 00:00:00

0201贴片电容是电子行业常见元件。其体积小,应用于各种电路中。本文将介绍0201贴片电容的容值表及相关信息。贴片电容的定义贴片电容是表面贴装的电容器。体积小,...
2025-03-25 09:31:06