SDAccel试水
最近在玩CRC算法在SDAccel开发环境下进行加速,试了云端与本地两种环境,简单讲讲做的工作。
option 1:云端开发
可以使用亚马逊云,注册账号绑定信用卡后就可以进入到marketplace,选择相应的板子,接下去就可以在云端开发了,开发环境都已经配好。由于没有信用卡,我只能选择本地开发。。。。。
option 2:本地开发
本地开发最麻烦的就是配环境。
1、首先需要有linux的环境,我用的是虚拟机上的Ubuntu系统。
2、安装SDAccel开发环境,再把xrt,deployment shell,development shell都装一下(xilinx官网都有)。
3、在source环境下打开sdx进行开发,主要流程差不多如下:
下面具体开始:
1、新建工程,选择如下的platform
2、在rtl kernel wizard中根据向导进行配置
配置完成后便会生成xml文件(RTL内核向导使用通过各个步骤捕获的规范去生成xml文件及一个sample kernel),以供接下来生成RTL Kernel使用。
3、等待vivado被自动打开,然后将样本删除:in the Sources window, select Compile Order > Synthesis,Select all eight source files, right-click, and then select **Remove File from Project…`,In the displayed Remove Sources dialog box, to remove the files from the project, click OK.
The Invalid Top Module dialog box opens,click ok.
4、接下来和vivado基本开发流程一样,加入design source、加入仿真文件,仿真配置如下:
仿真没问题就可以点击在Flow Navigator处点击 Generate RTL Kernel.这样就会生成xo文件,供接下来在SDx中使用。
5、回到SDx,把下图中的host_example.cpp改成自己需要的,这是整个开发的关键,这个文件规定了PL和PS的连接,需要把接口看懂,才能实现自己的项目。SDAccel最后可以进行硬件仿真,因为可以把vivado中生成的IP核当PL,cpp文件当PS,完成测试,所以说,它不需要真的有一块开发板,它可以直接用CPU仿真。
部分接口含义如下:
6、cpp文件和xo文件都有了后就可以build了,最后可以得到一个可直接运行的安装包。build的选项有三个,如下
在这里用硬件仿真,需要烧到板子上去时需要选择SW。
------------------------总结-------------------
这就是最基本的开发流程,当然还有许多优化策略,可以用于开发完整项目,这次的暑期学校很大的意义就是让我知道了自己有多菜,决定研究生三年要好好学习了。。。