ug871 Lab5

实验平台

        Vitis HLS 2021.2

        Windows 10

实验内容

        如何将顶级函数接口上的数组参数实现为许多不同类型的RTL端口。

实验步骤

Step 1:创建项目

  1. 修改run_hls.tcl
  2. 修改四个源文件
  3. 执行vitis_hls -f run_hls.tcl生成工程
  4. 使用HLS打开对应的工程

Step 2:仿真数组函数参数到RAM端口

  1. 点击Run C Synthesis。

Step 3:使用双端口RAM和FIFO接口

  1. 新建一个solution
  2. 点击For_Loop,添加UNROLL约束
  3. 点击d_i,添加双端口RAM约束
    1. 双击d_i
    2. 选中BIND_STORAGE
    3. type选中ram_2p
    4. impl选中bram
  4. 点击d_o,添加FIFO约束
    1. 双击d_o
    2. 选中INTERFACE
    3. mode选中ap_fifo
  5. 点击Run C Synthesis。

Step 4:RAM分区和FIFO数组接口

  1. 新建一个solution,将solution2的内容拷贝到新的solution中。
  2. d_i添加RAM分区
    1. 双击d_i
    2. 选中ARRAY_PARTITION
    3. type选中block
    4. factor填2
  3. d_o添加RAM分区
    1. 同d_i添加分区,不同的是factor填4
  4. 点击Run C Synthesis

Step 5:完全分区的数组接口

  1. 新建一个solution,拷贝solution3
  2. 修改d_i的RAM分区
    1. 选中HLS ARRAY_PARITION
    2. 右击选择修改
    3. 然后将type改为compete
  3. 修改d_o的RAM分区
    1. 同d_i
  4. 删除d_i的双端口RAM约束
  5. 点击Run C Synthesis
  6. 将solution1-4进行比对,结果如下
    1. ug871 Lab5_第1张图片

你可能感兴趣的:(fpga)