您当前的位置: 首页 > 

FPGA硅农

暂无认证

  • 2浏览

    0关注

    282博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

HLS增大带宽的方法

FPGA硅农 发布时间:2020-03-30 17:52:42 ,浏览量:2

带宽的重要性

根据roofline模型,一个平台的吞吐率取决于片外存储带宽和峰值计算性能,在加速卷积层时,制约系统吞吐率的瓶颈是峰值计算性能,而对于全连接层,计算量较小,而参数却非常多,无法完全存储在FPGA的片内RAM上,因此权值需要从片外存储器(DDR)读取,此时限制吞吐率的瓶颈主要是内存带宽。下面将介绍如何增大PL访问ddr的带宽。

data_pack

在本人的设计中,权重被量化为16位定点数,而AXI HP接口的位宽最大为64bit,这意味这事实上m_axi总线一次可以传输4个权重数据,吞吐率增大了4倍,在HLS中,可以用结构体和data_pack指令来实现这一目标。 下面是一个用作演示的Demo

#include"fc.h"

typedef ap_fixed data_t;
typedef struct data_in{
	data_t A[4];
}din;

void fc(volatile din* in,volatile din* out){
#pragma HLS INTERFACE m_axi port=in offset=slave bundle=IN num_read_outstanding=32
#pragma HLS INTERFACE m_axi port=out offset=slave bundle=OUT num_write_outstanding=32
#pragma HLS INTERFACE s_axilite port=return bundle=CTRL
#pragma HLS  data_pack variable=in
#pragma HLS  data_pack variable=out

   din a[100];
   int i;
   for(i=0;i            
关注
打赏
1658642721
查看更多评论
0.0366s