Xilinx Vitis HLS 2020.1 beta 初体验(一)

您所在的位置:网站首页 llvm编译器后端 Xilinx Vitis HLS 2020.1 beta 初体验(一)

Xilinx Vitis HLS 2020.1 beta 初体验(一)

2023-04-14 20:08| 来源: 网络整理| 查看: 265

防秒退提醒:本文比较了基于现有 Vivado HLS 2019.2 和最新版本的 Vitis HLS 2020.1 的硬件设计步骤来看 Xilinx 在 HLS 上最近的进展。本文(一)初步测试了新版 Vitis HLS 中声称的自动优化代码的功能。

0. 背景

在今年的 FPGA2020 会议上,Xilinx 宣布 Vitis HLS 的前端将开源。用户之前只能通过 C/C++ 作为输入代码,来生成 Verilog/VHDL 在 FPGA 上运行,期间不能对综合过程进行干涉。而前端的开源将意味着,从 C 到 Verilog 的过程中,多了一个可以定制优化的选项。用户可以将 C 先编译成 LLVM IR(一种类似汇编的中间语言),然后自制 LLVM pass 对输入代码进行分析或者优化,然后将改进的 LLVM IR 送入 Vitis HLS 后端生成更高效的 Verilog。

这样的好处是在 HLS 领域,很多工具都是基于 LLVM 开发的:先从 C/C++ 生成 LLVM IR,再在 LLVM IR 层进行优化,然后将 LLVM IR 调度称时序电路输出 RTL。那么用户以后如果想要在 Vitis HLS 里综合出更好的电路,可以自己定制或者从网上下载别人设计好的 LLVM pass 插件在 LLVM IR 的层面进行进一步自动优化。

几周前我收到了来自 Xilinx 团队的 Vitis HLS 2020.1 beta 版本。但是由于比较忙一直没有打开过,最近终于有时间体验一波,顺便跟大家分享一下。

1. GUI 用户界面

界面终于有 dark mode 了,不喜欢的也可以在偏好里面调回 light mode。

Vitis 2020.1 (beta) dark mode2. 自动优化

在我收到的压缩文件中,Xilinx 团队提供了一个以下一个例子。我将用 Vivado HLS 2019.2 来比较新版的 Vitis HLS 发生了哪些变化。(以下假设大家有用过 Vivado HLS,所以很基础的我就不提了,比如 pragma 是什么或者报告的每一项是什么。这里我只提具体的变化。如果大家需要更纤细简单的 Viavdo HLS 教程请在下方留言。)

void example(int a[50], int b[50]) { int buff[50]; for (size_t i = 0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3