首页
学习
活动
专区
圈层
工具
发布

HLS Lesson12-for循环优化:基本性能指标

代码语言:js
复制
#include<ap_int.h>
#define N 3
#define XW 8
#define BW 16
typedef ap_int<XW> dx_t;
typedef ap_int<BW> db_t;
typedef ap_int<BW+1> do_t;
void foo(dx_t xin[N],dx_t a,db_t b,db_t c,do_t yo[N]);
#include"for_optim.h"
void foo(dx_t xin[N],dx_t a,db_t b,db_t c,do_t yo[N])
{
int i;
loop:
for(i=0;i<N;i++)
{
yo[i]=a*xin[i]+b+c;
}
}

可以看出loop的latency为9

1.可以进行pipeline

可以降低latency和iteration internal

2.可以展开for(unrolling)

默认情况下的for循环是被折叠的,所有的每次循环都采用一套电路,分时复用罢了。可以完全展开或者部分展开。

下一篇
举报
领券