Vivado HLS中的数据类型

参考文献

[1]、lauren的FPGA(微信公众号)
[2]、小鱼FPGA(微信公众号)

项目简述

我们知道C、C++中数据类型的大小都是以字节为单位,这在FPGA中式相当浪费资源,因为只能式8bit的整数倍。所以在VIVADO HLS中我们需要具体指定每个数据类型的位宽,比如5位、10位。这篇文章将介绍在VIVADO HLS中为什么要使用任意精度的数据类型,以及如何使用任意精度数据类型。

为什么在VIVADO HLS中使用任意精度数据类型

C、C++语言中常见的数据类型如下:
在这里插入图片描述
我们举一个DSP48的例子解释为什么要使用任意精度,用过FPGA的同学都应该知道DSP48是FPGA中非常重要的硬件资源,而且数目不算多,在中端芯片中也就几百个DSP48。该硬件的简略图如下:
在这里插入图片描述
从图中我们可以看出DSP48可以计算的表达式,其中两个表达式中的a、b、c、d之间的任意组合,DSP48均可以计算。上面最重要的就是乘法器资源,上面的乘法器是25x18 Multiplier,这也满足了绝大多数的计算要求,但是如果我们要计算两个int类型的数据相乘,那么便需要3个DSP48,相当占用资源,从这个例子上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值