1 自媒体账号
目前运营的自媒体账号如下:
- 哔哩哔哩 【雪天鱼】: 雪天鱼个人主页-bilibili.com
- 优快云 【雪天鱼】: 雪天鱼-优快云博客
QQ 学习交流群
- FPGA科研硕博交流群 910055563 (进群有一定的学历门槛,长期未发言会被请出群聊,主要交流FPGA科研学术话题)
- CNN | RVfpga学习交流群(推荐,人数上限 2000) 541434600
- FPGA&IC&DL学习交流群 866169462
- 关键词
dataflow 、 stream(fifo)、流水线突发、顺序突发、迭代次数细粒度控制、完美嵌套循环 - 实验环境
Vitis HLS 2021.1、 Vivado 2021.1(用于进行协同仿真)
2 问题描述 (公开)
所发现的设计问题:
现有一个三层嵌套循环通过 M_AXI 接口对全局存储器进行读取,如果此时对迭代次数进行细粒度控制,会导致模块延迟大约增加为原来的2倍。
设计描述:设计内部包含两个模块,一个是Read模块,通过 AXI4 存储器映射接口(m_axi) 与 全局存储器(PS 的 DDR)进行通信,该接口支持双向通信,但这里 Read 模块只负责从 DDR 读取数据到设计内部的 FIFO 中,然后 Compute 模块从 FIFO 中取出一个数据进行其他操作。
代码如下:
// H = 20, W =15, C = 8
void read_arr(hls::stream<int>& arr_stream, int in_arr[H][W][C])
{
#pragma HLS inline off
for(int h=0; h < H; h++)
{
for(int w=0; w < W; w++)
{