首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >HLS Lesson12-for循环优化:基本性能指标

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

作者头像
瓜大三哥
发布于 2018-02-26 15:13:01
发布于 2018-02-26 15:13:01
9570
举报
文章被收录于专栏:瓜大三哥瓜大三哥
代码语言: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循环是被折叠的,所有的每次循环都采用一套电路,分时复用罢了。可以完全展开或者部分展开。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-11-12,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 1.可以进行pipeline
  • 2.可以展开for(unrolling)
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档