基于PWL的浮点数对数计算架构制造技术

技术编号:28147817 阅读:28 留言:0更新日期:2021-04-21 19:35
本发明专利技术涉及高空作业平台技术领域,具体地说,涉及基于PWL的浮点数对数计算架构。其包括对数函数分割单元、宽度权衡单元、硬件描述语言单元和对数合成单元;所述对数函数分割单元将对数函数自动分割成几个最大的子段后,通过宽度权衡单元在分段数和分数位宽度之间进行了权衡,根据所述宽度权衡单元的结果,本发明专利技术通过利用PWL方法的分段器算法,在预先设定的最大绝对误差和计算单元的分数位宽的限制下,将对数函数自动分割成几个最大的子段,然后,我们在分段数和分数位宽度之间进行了权衡,基于分段器的结果,我们的设计使用Verilog HDL进行编码,并在TSMC 90nm CMOS技术下进行合成,达到在不影响精度的情况下,消耗更小的面积、延迟和功耗。延迟和功耗。延迟和功耗。

【技术实现步骤摘要】
基于PWL的浮点数对数计算架构


[0001]本专利技术涉及对数计算
,具体地说,涉及基于PWL的浮点数对数计算架构。

技术介绍

[0002]复杂的算术运算,如乘、除、平方根和幂运算都是一种常见的运算,广泛用于数字信号处理和人工智能算法。对数系统(LNS),将上述复杂的加、减、移位、乘法运算简化,对数计算基数为2是一个很大程度上影响LNS性能的关键组成部分,各种方法被提出,来执行对数函数的计算以及追求高速度和各种精度要求,其中,数字递推算法、基于CORDIC的逼近算法和分段线性逼近算法是最常用的逼近方法,但随着基数的增加,面积呈爆炸式增长,数字递推算法、基于CORDIC的逼近算法和分段线性逼近算法迭代需要多个时钟周期,不仅消耗更大的面积和时间,且使用功耗较大,鉴于此,我们提出基于PWL的浮点数对数计算架构。

技术实现思路

[0003]本专利技术的目的在于提供基于PWL的浮点数对数计算架构,以解决上述
技术介绍
中提出的问题。
[0004]为实现上述目的,本专利技术提供基于PWL的浮点数对数计算架构,包括对数函数分割单元、宽度权衡单元、硬件描述语言单元和对数合成单元;
[0005]所述对数函数分割单元用于在预先设定的最大绝对误差和计算单元的分数位宽的限制下,将对数函数自动分割成几个最大的子段;
[0006]所述宽度权衡单元用于在分段数和分数位宽度之间进行了权衡;
[0007]所述硬件描述语言单元用于语言编写具体的硬件架构;
[0008]所述对数合成单元用于直接计算的浮点数对数;
[0009]所述对数函数分割单元将对数函数自动分割成几个最大的子段后,通过宽度权衡单元在分段数和分数位宽度之间进行了权衡,根据所述宽度权衡单元的结果,使用所述硬件描述语言单元进行编码,最后所述对数合成单元采用TSMC 90nm CMOS技术进行合成对数。
[0010]作为本技术方案的进一步改进,所述对数函数分割单元采用PWL方法的分段器算法,将非线性函数划分为若干个子部分。
[0011]作为本技术方案的进一步改进,所述对数函数分割单元包括线性函数计算模块、分段宽度计算模块、误差计算模块和误差优化模块;
[0012]所述线性函数计算模块用于计算线性函数,确定输入的所属段;
[0013]所述分段宽度计算模块用于计算分数位宽;
[0014]所述误差计算模块用于根据所述分段宽度计算模块计算的分数位宽评价PWL方法的分段器算法精度;
[0015]所述误差优化模块用于计算出分段截距的最优值;
[0016]通过使用移位和加法器来代替乘法器,但占用了多个23位输入加法器,而宽度较
大的加法器增大了加法器的面积、时延和功率,因此,实现了71.21%的面积减少,32.20%的延迟和36.31%的功率,而不影响精度。
[0017]作为本技术方案的进一步改进,所述线性函数计算模块中的线性函数计算的公式如下:
[0018][0019]其中,h为非线性函数的近似数,n为子区段,非线性函数f(x)被划分为若干个子部分,在第i小节,f(x)用线性函数hi(x)近似,假设f(x)[p,q]的输入范围被划分为n个子区段,f(x)由PWL方法将函数h(x)计算为,大量的段落数n增加有助于提高精度,但也会造成VLSI电路资源消耗较大。
[0020]作为本技术方案的进一步改进,所述分段宽度计算模块中的线性函数分段计算公式如下:
[0021]h
i
(x)=k
i
×
x+b
i
,x∈[p
i
,q
i
].
[0022]其中,i为输入x的分数位宽,k
i
和b
i
是通过线段的起点和终点。
[0023]作为本技术方案的进一步改进,所述误差计算模块中的误差计算公式如下:
[0024]σ=f(x)

h
i
(x),x∈[p
i
,q
i
].
[0025]其中,σ为误差,考虑到输入x是离散的,我们可以遍历计算线段中的所有点,从而准确的得到误差。
[0026]作为本技术方案的进一步改进,所述误差优化模块优化后的线性函数的计算公式如下:
[0027]h
i
'(x)=h
i
(x)+D=k
i
*x+b
i
'。
[0028]作为本技术方案的进一步改进,所述宽度权衡单元采用量化算法,提高所述对数函数分割单元的子段分割的精度所述量化算法包括以下步骤:
[0029]①
、用qw=ceil(

log2(MAEhw))初始化小数位,MAEhw用于限制量化后的MAE;
[0030]②
、利用qw的小数位数计算量化后的MAE,首先将输入与每段的开始和结束进行比较,确定输入属于第i段,然后在MATLAB中量化ki和bi;
[0031]③
、如果MAE>MAEhw,qw是最小的分数位,如果MAE≤MAEhw,qw太小,不满足MAEhw的约束,qw的值更新为qw+1,然后返回到步骤

;使线性函数从连续信号转换数字信号的。
[0032]作为本技术方案的进一步改进,量化ki和bi计算公式如下:
[0033][0034][0035]其中kqi和bqi为分数部分qw位量化后的线性函数系数,随着qw的增大,分段数逐渐减少,由于量化运算后对y轴截距进行了优化,加法器的输入宽度也减小了,在达到相同的精度同时,节省83.28%的面积、89.36%的时延和94.06%的功耗。
[0036]作为本技术方案的进一步改进,所述硬件描述语言单元采用Verilog HDL语言编写具体的硬件架构,所述对数合成单元采用TSMC 90nm CMOS技术进行合成。
[0037]与现有技术相比,本专利技术的有益效果:
[0038]1、该基于PWL的浮点数对数计算架构中,通过利用PWL方法的分段器算法,在预先设定的最大绝对误差和计算单元的分数位宽的限制下,将对数函数自动分割成几个最大的子段,然后,我们在分段数和分数位宽度之间进行了权衡,基于分段器的结果,我们的设计使用Verilog HDL进行编码,并在TSMC 90nm CMOS技术下进行合成,达到在不影响精度的情况下,消耗更小的面积、延迟和功耗。
附图说明
[0039]图1为本专利技术的整体模块框图;
[0040]图2为本专利技术的对数函数分割单元框图;
[0041]图3为本专利技术的量化算法流程框图。
[0042]图中各个标号意义为:
[0043]100、对数函数分割单元;110、线性函数计算模块;120、分段宽度计算模块;130、误差计算模块;140、误差优化模块;
[0044]200、宽度权衡单本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于PWL的浮点数对数计算架构,其特征在于:包括对数函数分割单元(100)、宽度权衡单元(200)、硬件描述语言单元(300)和对数合成单元(400);所述对数函数分割单元(100)用于在预先设定的最大绝对误差和计算单元的分数位宽的限制下,将对数函数自动分割成几个最大的子段;所述宽度权衡单元(200)用于在分段数和分数位宽度之间进行了权衡;所述硬件描述语言单元(300)用于语言编写具体的硬件架构;所述对数合成单元(400)用于直接计算的浮点数对数;所述对数函数分割单元(100)将对数函数自动分割成几个最大的子段后,通过宽度权衡单元(200)在分段数和分数位宽度之间进行了权衡,根据所述宽度权衡单元(200)的结果,使用所述硬件描述语言单元(300)进行编码,最后所述对数合成单元(400)采用TSMC 90nm CMOS技术进行合成对数。2.根据权利要求1所述的基于PWL的浮点数对数计算架构,其特征在于:所述对数函数分割单元(100)采用PWL方法的分段器算法。3.根据权利要求1所述的基于PWL的浮点数对数计算架构,其特征在于:所述对数函数分割单元(100)包括线性函数计算模块(110)、分段宽度计算模块(120)、误差计算模块(130)和误差优化模块(140);所述线性函数计算模块(110)用于计算线性函数,确定输入的所属段;所述分段宽度计算模块(120)用于计算分数位宽;所述误差计算模块(130)用于根据所述分段宽度计算模块(120)计算的分数位宽评价PWL方法的分段器算法精度;所述误差优化模块(140)用于计算出分段截距的最优值。4.根据权利要求3所述的基于PWL的浮点数对数计算架构,其特征在于:所述线性函数计算模块(110)中的线性函数计算的公式如下:其中,h(x)为非线性函数的近似数,n为子区段。5.根据权利要求3所述的基于PWL的浮点数对数计算架构,其特征在于:所述分段宽度计算模块(120)中的线性函数分段计算公式如下:h
i
(x)=k
i
×
x+b
i
,x∈[p...

【专利技术属性】
技术研发人员:王宇毛喆龙吕飞
申请(专利权)人:南京晓庄学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1