HLS ap数据类型

291 阅读1分钟

arbitrary precision 任意精度数据类型

从硬件角度看C语言的数据类型,较浪费资源。C语言中的数据类型以8bit为界限,分为8bit、16bit、32bit、64bit,相对于传统的HDL语言,相对死板。若想计算一个18bitx18bit的乘法,就需要将两个数据声明为32bit,得到64bit结果,比较浪费资源。
Vivado HLS中使用了任意精度数据类型。
在这里插入图片描述

1. HLS新的数据类型

C/C++数据类型:

在这里插入图片描述
其中HLS中不支持char16_t和char32_t两种数据类型。在C/C++中,所有的数据位宽都是基于8-bit,即位宽都是8-bit的倍数,当在逻辑中使用时,会明显造成资源的浪费&