实验平台
Vitis HLS 2021.2
Windows 10
实验内容
如何将顶级函数接口上的数组参数实现为许多不同类型的RTL端口。
实验步骤
Step 1:创建项目
- 修改run_hls.tcl
- 修改四个源文件
- 执行vitis_hls -f run_hls.tcl生成工程
- 使用HLS打开对应的工程
Step 2:仿真数组函数参数到RAM端口
- 点击Run C Synthesis。
Step 3:使用双端口RAM和FIFO接口
- 新建一个solution
- 点击For_Loop,添加UNROLL约束
- 点击d_i,添加双端口RAM约束
- 双击d_i
- 选中BIND_STORAGE
- type选中ram_2p
- impl选中bram
- 点击d_o,添加FIFO约束
- 双击d_o
- 选中INTERFACE
- mode选中ap_fifo
- 点击Run C Synthesis。
Step 4:RAM分区和FIFO数组接口
- 新建一个solution,将solution2的内容拷贝到新的solution中。
- d_i添加RAM分区
- 双击d_i
- 选中ARRAY_PARTITION
- type选中block
- factor填2
- d_o添加RAM分区
- 同d_i添加分区,不同的是factor填4
- 点击Run C Synthesis
Step 5:完全分区的数组接口
- 新建一个solution,拷贝solution3
- 修改d_i的RAM分区
- 选中HLS ARRAY_PARITION
- 右击选择修改
- 然后将type改为compete
- 修改d_o的RAM分区
- 同d_i
- 删除d_i的双端口RAM约束
- 点击Run C Synthesis
- 将solution1-4进行比对,结果如下