学习使用SDAccel

这个案例和Vitis官方案例非常相似,后续更新了当时使用SDAccel踩坑的情况

准备工作

注: 文档及源码参考自:https://github.com/Xilinx/SDAccel-Tutorials
操作系统:ubantu-64
开发工具:SDAccel2019.1 https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/sdaccel-development-environment.html 确认安装路径全英文
开发环境:下载并安装https://www.xilinx.com/products/boards-and-kits/alveo/u200.html#2018_3 (这里的1、2、3都要安装)这里1、2、3都要安装

开始

一、打开Linux终端,cd到SDx安装目录下,设置运行SDAccel的环境并启动SDx:

~/document/Xilinx/SDx/2019.1$ source settings64.sh
~/document/Xilinx/SDx/2019.1$ sdx

在初始界面选择Create Application Project在新建的窗口中给工程命名、选择运行平台xilinx_u200_xdma_201830_1(如果未安装上述开发环境则在这里不会显示)、选择Empty Application后点击finish

在这里插入图片描述
二、配置RTL内核
在这里插入图片描述
选择RTL Kernel Wizard进入到设置窗口,在General Settings将内核名称改为Vadd_A_B,其他默认在这里插入图片描述
Scalars窗口默认
Global Memory窗口将AXI master接口数设置为2,并修改参数名在这里插入图片描述
Streaming interfaces窗口默认
最后设置结束后出现如下图,点击Finish后,自动运行Vivado在这里插入图片描述
三、Vivado-RTL设计
Sources窗口选择Compile Order>Synthesis,然后选择Design Sources下八个文件右键选择Remove File from Project在这里插入图片描述
弹出以下窗口点击OK,接着在相同窗口把Synthesis切换到Simulation,从工程中移除Vadd_A_B_tb.sv文件在这里插入图片描述
之后添加之前下载的源文件,右键点击Design Sources,选择Add Sources,点击Add or create design sources后添加IP目录及testbench下Vadd_A_B_tb.sv文件,之后点击Finish在这里插入图片描述
Sources窗口,选择Hierarchy模块,右键点击Vadd_A_B_tb.sv文件,选择Move to Simulation Sources
四、RTL仿真
Flow Navigator模块选择Settings,在这个窗口下将Simulation模块的xsim.simulate.runtime的值改为all在这里插入图片描述
之后点击Run Simulation,选择行为仿真,运行结束后Tcl Console弹出Test Completed Successfully表示仿真成功在这里插入图片描述
Flow Navigator,点击Generate RTL Kernel,选择Sources-only kernel,点击OK,结束后生成一个XO文件在这里插入图片描述
最后退出Vivado
五、编译工程
将原来的host_example.cpp文件删除,再右键整个工程目录,选择Import Sources,将host.cpp添加进去在这里插入图片描述
接着将RTL内核设置为hardware function
在这里插入图片描述
SDx Application Project Settings中将Active build configuration 改为Emulation-HW
在这里插入图片描述

—————————————————————————————————

以下是后来使用VITIS 2019.2遇到的相同问题,(VITIS的案例和SDAceel这个案例很像)

1、编译整个工程,出现“XRT requires opencl headers to be installed“问题,运行指令:

sudo apt-get install opencl-headers

这样就不报错了。具体参考xilinx官方文档:https://www.xilinx.com/support/documentation/sw_manuals/xilinx2019_2/ug1393-vitis-application-acceleration.pdf第18页

2、运行时报错:“/home/xx/Vitis/Vitis/2019.2/lib/lnx64.o/Default/libstdc++.so.6: version `CXXABI_1.3.11’ not found (required by /opt/xilinx/xrt/lib/libxilinxopencl.so.2)“
解决方法:
执行:

sudo find ~/ -name libstdc++.so.6.0.25

其中将Xilinx安装目录下的libstdc++.so.6.0.25复制到vitis相应目录下

sudo cp ./Xilinx/.xinstall/xic/lib/lnx64.o/Ubuntu/18/libstdc++.so.6.0.25 ~/Vitis/Vitis/2019.2/lib/lnx64.o/Default/

删除libstdc++.so.6和libstdc++.so

sudo rm libstdc++.so.6 libstdc++.so

建立新链接

sudo ln -s libstdc++.so.6.0.25 libstdc++.so

3、上面这个问题就解决了,但是接着又出现了新的问题:
在这里插入图片描述
解决方法与上面类似:

sudo cp ~/Vitis/Vitis/2019.2/lib/lnx64.o/Ubuntu/18/libstdc++.so.6.0.25 ~/Vitis/Vitis/2019.2/lnx64/tools/gcc/lib64/
sudo rm libstdc++.so.6.0.16 libstdc++.so.6

参考文章:https://www.it610.com/article/1279120374910435328.htm
这样就不报错了
服务器运行比较快,个人电脑配置不高的话运行时间长且容易卡死。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值