第一次写文,总结一下一年多以来在HLS写IP核的流程,太多坑,太多细节需要注意,软件本身也有很多BUG,然而教学视频并不会讲,都是自己把坑一个个填上。。。CSDN上也有比较理论的流程教学,这里是偏实际上手操作上的流程分享。
目前使用的是Vivado 2019.1和2019.2版本,编程语言是C,使用目的是图像算法生成IP核。(如果要在system generator里使用的,最后的步骤可以忽略。)
HLS总共分为四个阶段:
- C仿真
- 优化综合 (先优化后综合)
- C/RTL联合仿真
- 生成IP核
在Vivado HLS的软件界面上,每个阶段生成的结果在相应的文件夹里都能找到:

C仿真
这个阶段比较简单,添加源文件到Source目录下,添加测试文件和testbench到Test Bench目录下。
注意: 这里的测试文件必须手动加载到软件中,若只是放在工程文件夹里面的话,在tb里面读入是一个空文件。例如上图里的测试文件INPUT.txt和tb文件test.cpp,若只将IN