高层次综合编码样式


一、最佳硬件设计的编码风格
1.代码结构
2.数据类型
3.循环
4.数组
5.函数接口

二、数据类型的思考
1.绝对不要使用int,float,double类型进行综合
硬件中每个bit都是消耗寄存器/lut的,因此必须精确的指定位宽;
位宽扩展要显式扩展;
使用typedef几种管理位宽;
typedef ap_fixed<18,6> data_t;
typedef ap_uint<12> idx_t;

三、接口协议
1.被处理器调度的顶层,建议使用ap_ctrl_hs协议;
2.数据流模块,建议使用ap_ctrl_none协议,彻底的消除控制间隙

四、HLS编码设计黄金规则
1.位宽是首要的,第一等公民:每一根信号都要精确定位;
2.流是模块之间的通信语言--模块之间尽量不用数组,而是使用hls::stream;
3.循环是性能的重要部件--必须使用pipeline,变量局部化,边界固定,II=1
4.数组作为FIFO或者RAM---通过分区来匹配并行读
5.消除依赖关系
6.灵活的使用pragram

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值