llc1991

小白一个,记录下自己学习过程

HLS学习-- 建立工程的流程

0
阅读(1614)

首先简单介绍下HLS建立工程的流程:

  1. 首先建立一个算法核心模块文件,后缀可以为 .cpp ; 然后建立一个对应的接口文件,也就是 .h 文件,

    在 .h 中先ifndef enif 一下,一面重复定义

  2. 创建一个testbench 文件 .cpp ,testbench 文件里面的函数必须为 main 函数,他是我们的 testbench 启动寻找的入口函数,所以其 mian 函数的类型我 int 类型,因为返回值方便HLS 软件对代码进行分析,


在main 函数中主要是给测试,包括想怎么利用算法模块,在testbench里面 描述出基于算法的工作过程

这才是testbench存在的核心。

#include "shift_led_2.h"

int main(){

led_t led_o=0x06; //首先是激励,所以需要有输入和输出

led_t led_i;

const led_t shift_time=10;

cnt32 i;

for(i=0;i

{

shift(&led_o,led_i); //算法模块

led_i=led_o;

fprintf(stdout,"led_o=%x",led_o&0x7);

}

}

3. .h 文件是在结束testbench 后不容许存在于 src 文件中,所以要删掉,但是我还是没弄懂为什么不能有 .h 文件


4. project -> run C simulation

5. run c synthesis -> active solution 这样就转化为verilog 了 这是所谓的 C 综合,把C文件综合成 verilog 文件

6. 进行优化操作

7.进行 C和RTL 联合仿真 选择:1. 选择modelsim 仿真,然后跟踪 all 所有。

8 . 查看波形,根据波形选择那些接口需要在vivado中需要使用到。

9. 介绍怎么把自己设计的代码生成私有的ip,以及在vivado中调用方法:

a.



typedef #define const








Baidu
map