UG871 Reading Notes(4)

Chapter5 Arbitrary Precision Types(抽象精度类型)
一、C++原生数据类型

  1. C++/C提供的原生数据类型均是以8-bit为边界的,但是在实际的硬件设计时,这样对数据类型的选择灵活性很差。一方面它有时会造成额外的硬件资源开销,更严重的是,更高的数据位宽会造成更高的计算时延,使得有可能需要更多的时钟周期来得到计算结果。

  2. 在设计报告的分析中,可以看到浮点运算耗用了大部分的设计执行时间。

图4 浮点运算占据了大部分延时

二、使用抽象精度类型

  1. 此设计和中不同的地方在于使用了抽象精度类型,打开头文件定义可以看到这样的数据类型定义。
    在这里插入图片描述
    注意看**typedef ap_fixed<W_IN,IW_IN> win_fn_in_t;**这一行关于抽象精度类型的定义,首先ap_fixed类型和float和double一样支持整数和小数位的表示。
    这里的抽象精度类型含义如下:
    W_IN:变量的总字长
    IW_IN:整数所占的位宽
    显然小数部分的位宽就是W_IN - IW_IN了
    使用抽象数据类型可以使运算规模更小,使用的资源开销更少,花费的时钟周期更少。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值