HLS 任意精度的数据类型

1、传统C语言支持的数据类型,Vivado HLS不支持char16_t/char32_t两种字符型数据类型。
图1 Vivado-HLS学习--如何处理任意精度的数据类型

2、从硬件角度看C语言的数据类型,较浪费资源。C语言中的数据类型以8bit为界限,分为8bit、16bit、32bit、64bit,相对于传统的HDL语言,相对死板。若想计算一个18bitx18bit的乘法,就需要将两个数据声明为32bit,得到64bit结果,比较浪费资源。
Vivado-HLS学习--如何处理任意精度的数据类型

3、因此,Vivado HLS中使用了任意精度数据类型。 
Vivado-HLS学习--如何处理任意精度的数据类型

4、使用任意精度数据类型的好处。从同一工程的两种solution可看出,使用任意精度数据类型,对综合后的Timing、Latency、资源使用情况都有明显改善。
Arbitrary:任意的
accuracy:精确的、准确的
Vivado-HLS学习--如何处理任意精度的数据类型

5、当声明一个任意精度数据类型的时候,最好在头文件中声明,这样便于修改和查错。
Vivado-HLS学习--如何处理任意精度的数据类型

6、sizeof()使用。对于任意精度的数据类型,sizeof()同样有效。
Vivado-HLS学习--如何处理任意精度的数据类型

Vivado-HLS学习--如何处理任意精度的数据类型
7、MCSV软件也可设置任意精度数据类型。
Vivado-HLS学习--如何处理任意精度的数据类型

Vivado-HLS学习--如何处理任意精度的数据类型
8、总结
Vivado-HLS学习--如何处理任意精度的数据类型

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值