当前位置:   article > 正文

VITIS HLS 2023.2 Vitis Unified IDE使用及简单hls工程搭建

VITIS HLS 2023.2 Vitis Unified IDE使用及简单hls工程搭建

VITIS HLS 2023.2 Vitis Unified IDE使用及简单hls工程搭建

1、版本介绍

本次使用的vivado/vitis版本为2023.2,在2023版本中,vitis界面有了较大的变化。虽然该版本xilinx保留了Vitis Classic 和vitis HLS老版本界面,但会在后续版本中逐步替换。借此机会记录一下本人使用新版本的情况。本次介绍vitis hls 2023.2。

首先需要安装两种库,一种是OPENCV库,还有一种是Xilinx官方自己的Vitis Vision Library库,前者可以用来在HLS中进行仿真,无法进行综合,而后者则是可以进行综合的。现将两种库的环境都配置一下,记住版本最好一致,2023.2版本安装默认不带两种库,需要自行安装。

2、Xilinx官方的Vitis Vision Library库

去Xilinx官方的github库下载,GitHub - Xilinx/Vitis_Libraries: Vitis Libraries这里把链接贴在这,或者直接百度搜索 vitis vision library github也可。目前2023.2有两个版本的库,个人建议下载2023.2 update1。windows直接点下载Source code.zip。

img

下载完成后解压到一个纯英文目录,记住这个目录,可以打开vision看看,里面README写了L1\L2\L3目录中的库内容,同时还介绍了推荐对应的Opencv版本

3、非Xilinx官方的OPENCV库

1、首先需要去opencv官网下载,opencv.注意版本对应,Xilinx官方已经在2023.2版本推荐OPENCV4.4.0,你自己下载版本的时候也最好下4.4.0版本,我这里下载的版本是4.4.0。下载好后执行,得到一个文件夹:

进行到这一步还不够,我们还需要对其进行配置和编译,我们需要新建一个文件夹,用于存放编译后的文件夹,假设我在上层目录新建了一个命名为build的文件夹,注意不要与上图中的build文件夹搞混。

2、安装Mingw64工具,并配置环境变量,MinGW-w64 - for 32 and 64 bit Windows - Browse Files at SourceForge.net这个是Mingw64的安装网站,我这里下载的是7.3.0版本,大家也可以选择新版,不影响后续操作如图所示:

img

安装过程中选择一下安装路径即可,安装完后需要配置环境变量,右击此电脑—》属性–》高级系统设置–》环境变量-》系统变量-》path,在path中添加,这个路径大家根据自己安装路径更改:

配置完后快捷键WIN+R,输入cmd,然后输入gcc -v以及g++ -v,显示如下界面,即表明配置成功:

3、下载安装CMAKE,[Index of /files/v3.5 (cmake.org),如图所示:

需要注意这里cmake版本最好为3.5及以上。我这里下载的是3.5.1

下载完成后双击打开CMAKE,在 where is the source code 选择安装的 opencv 的source 文件夹路径就是该章节第一步中图中的source文件夹,在 where to build the binary 选择第一步新建的 build 文件夹路径。

点击Configure,按如下界面配置:

在这里插入图片描述

在这里插入图片描述

上图中的gcc.exe、g++.exe的路径在mingw的安装目录可以找到。

勾选 ENABLE_CXX11,勾选 WITH_OPENGL,不勾选OPENCV_ENABLE_ALLOCATOR_STATS,其余部分保持默认。

注意事项:

在列表项中找到ENABLE_CXX11这一项,对其Value值进行勾选。在最新版本情况下大概率是没有的,此时需要我们自行添加这一项,点击“Add Entry”按钮,在Name一栏中输入ENABLE_CXX11,并在Value一栏中点击勾选,后单击“OK”按钮。此时可在列表栏第一项中找到自行添加的表项。

勾选完毕后,再次单击 configure,出现 config done 之后单击 Generate,出现 generate done 之后将cmake-gui 关闭,右键开始菜单,输入 cmd,在 windows 下输入 cd + 文件夹路径,进入第一步在opencv目录新建的build 文件夹,进入之后输入 mingw32-make,开始进行编译,当编译完成之后输入mingw32-make install,之后会在build文件夹内生成一个install文件夹,如图所示:

下面再次配置环境变量,这里配置的是用户变量。install前面的路径以你自己为准,后面要对应好,不要出错:

另外如果没法编译,我上传了我编译后的结果,大家可以使用参考:

链接: https://pan.baidu.com/s/1fRoukMihHnToWqlZ6fnl_g?pwd=halo 提取码: halo 复制这段内容后打开百度网盘手机App,操作更方便哦

现在,两种库均配置完毕。下面介绍如何在HLS中调用这两种库。

4、简单建立工程

新版vitis unified把vitis hls和sdk两个合并了。我们先只关注HLS。我这里建立一个test工程。

这里可以选择综合文件和testbench文件,我们暂时不选。

建立工程后界面如下,这里2023.2可能会建立一次工程后什么也没发生,这是一个bug,重新建立一次就行了。

我们这次工程的内容选取Xilinx官方的Vitis Vision Library库中的霍夫变换例子。我们选择如图config文件夹和.cpp.h文件,复制到咱们新建的test工程目录下。

在source中和testbench中添加文件。点击Settings中的hls_config.cfg

点击C Synthesis sources添加CFLAGS和CSIMFLAGS,注意在这里添加的所有路径均为/,若复制windows资源管理器导航栏需要注意更改。

我这里两个一样都是:

-I E:/program/hls/test/src/config -I D:/software/xilinx2023/Vitis_Libraries-2023.2_update1/Vitis_Libraries-2023.2_update1/vision/L1/include -I ./ -D__SDSVHLS__ -std=c++14

前面是工程目录中的config内的头文件,后面是Xilinx官方的Vitis Vision Library库的头文件。大家注意根据自己安装路径进行更改,别的不需要改动。

点击Testbench sources添加CFLAGS

我这里是

-I E:/program/hls/test/src/config -I D:/software/opencv4_4/build/install/include -I D:/software/xilinx2023/Vitis_Libraries-2023.2_update1/Vitis_Libraries-2023.2_update1/vision/L1/include -I ./ -D__SDSVHLS__ -std=c++14

前面是工程目录中的config内的头文件,中间是opencv头文件(注意是选自己编译后的路径不是默认下载的),后面是Xilinx官方的Vitis Vision Library库的头文件。

输入argv,这个是testbench主函数的输入图像,这里我复制了Xilinx官方的Vitis Vision Library库中的名为128x128.png的图像到工程目录。

输入ldflags,大家根据自己安装路径更改,再次提醒这里路径是自己创建的build文件夹内的,这里我的是:

-L D:/software/opencv4_4/build/install/x64/mingw/lib -llibopencv_imgcodecs440 -llibopencv_imgproc440 -llibopencv_calib3d440 -llibopencv_core440 -llibopencv_highgui440 -llibopencv_flann440 -llibopencv_features2d440

如果需要C/RTL 联合仿真,则选中C/RTL Cosimulation输入同样的argv和ldflags.

至此工程就配置完毕了,点左侧的C仿真和综合均通过。

为了验证结果可以把xf_houghlines_tb.cpp中的316和350行注释掉,这样会保存生成的图片。在工程目录test\test\test\hls\csim\build下可以看到生成的图片,仿真成功。

另外注意:test bunch打开会报错头文件找不到,官方说这是2023.2在windows上的bug,但这个不影响仿真运行,大家使用时无视就行。

总结:一下切换到新版本会有很多不适,再加上一些bug导致第一次使用起来非常费劲。但熟悉后发现这种vscode界面还是非常友好的,统一了嵌入式和hls开发。之后有时间我会更新2023.2新版嵌入式开发的教程,和hls使用心得,欢迎关注收藏。

另外转载记得附原文链接。

参考链接:

HLS_OPENCV库的安装_vitis hls opencv-CSDN博客

VScode搭建OpenCV环境(使用CMake和MinGW-w64)_opencv cmake mingw64 vscode-CSDN博客

Create and Run a Vitis Vision Library Example on Windows 10 (xilinx.com)

Widget (xilinx.com)

AMD 技术信息门户

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/584627
推荐阅读
相关标签
  

闽ICP备14008679号