一种128位浮点低时延双曲正余弦函数硬件计算单元制造技术

技术编号:34773268 阅读:19 留言:0更新日期:2022-08-31 19:39
本发明专利技术公开了一种128位浮点低时延双曲正余弦函数硬件计算单元,具体涉及计算机运算领域,包括三个子模块,分别是预处理模块、CORDIC定点运算模块和浮点除法模块,所述预处理模块完成两个功能:一是判断输入数据是否存在异常情况,有则直接输出异常情况;二是无异常则继续对输入数据的符号位、指数位、尾数位进行分割,完成浮点转定点的运算,并确保转化后的结果在CORDIC算法的收敛域内,所述CORDIC定点运算模块,包括X通道、Y通道和Z通道的四步并行迭代模块。所述浮点除法模块根据预处理模块和CORDIC定点运算模块计算得到指数函数e

【技术实现步骤摘要】
一种128位浮点低时延双曲正余弦函数硬件计算单元


[0001]本专利技术涉及计算机运算
,更具体地说,本专利技术涉及一种128位浮点低时延双曲正余弦函数硬件计算单元。

技术介绍

[0002]双曲正余弦函数在科学计算中应用广泛。目前,对于大多数科学计算应用,64位浮点标准已足够精确。但气象学、流体力学等重要科学计算应用对计算精度和实时性的要求越来越高。查表法、多项式逼近法、CORDIC法和随机计算法是实现双曲正余弦函数的典型硬件方法。一般来说,查表法是计算双曲正余弦函数最快的方法,但它需要消耗大量电路面积。多项式逼近法在有限的定义域内以较低的最大误差获得了较好的近似,但速度并不快,因为它通常在硬件架构中使用乘法操作。CORDIC法通常用于需要低硬件成本的数字电路系统。然而,在某些应用中,CORDIC法可能无法满足电路面积和时延方面的要求。随机计算法以计算精度和时延为代价,实现了高时钟频率和低电路功耗。

技术实现思路

[0003]为了克服现有技术的上述缺陷,本专利技术提供如下技术方案一种128位浮点低时延双曲正余弦函数硬件计算单元,包括三个子模块:预处理模块、CORDIC定点运算模块和浮点除法模块,所述预处理模块,即Pre_deal模块,使用了一种扩展指数函数收敛域的方法,主要完成两个功能,一是对输入的128位浮点数进行异常判断处理,二是当不存在输入异常情况时,完成浮点输入转为定点输入的运算;所述CORDIC定点运算模块,即Cordic_core模块,是设计的核心模块,主要包括X通道、Y通道和Z通道的四步并行迭代模块,依据Pre_deal模块输出结果,计算得到指数函数e
x
的数值;所述浮点除法模块,即Exp_divide_sinh_cosh模块,该模块功能为:接收信号,采用预测-修正算法中计算e

x
,再通过加减法和移位操作计算得到结果,输出计算完成信号。
[0004]在一个优选地实施方式中,所述Pre_deal模块输出exception_out有5种可能的值,分别是:3

b000(不存在输入异常情况),3

b001(非数),3

b010(负无穷),3

b011(正无穷),和3

b100(指数位小于等于15

h3f8c,视输入为0),当输入没有问题时,进入到B计算模块,计算得到B值后利用乘法器算出A的值,预处理模块结束。
[0005]在一个优选地实施方式中,所述Cordic_core模块,输入没有异常情况时,采用CORDIC四步并行迭代算法计算指数函数e
x
,其中主要包括X通道、Y通道和Z通道的四步并行迭代模块,四步并行迭代算法基本迭代公式如下。
[0006][0007]在一个优选地实施方式中,所述Cordic_core模块主要由一个状态机组成,该状态机包括4个状态,分别是INIT状态、ITE状态、ONE_STEP_1状态和ONE_STEP_2状态,其中INIT状态用于进行指数函数e
x
计算的初始化过程,ITE状态使用CORDIC四步并行迭代算法计算指数函数。
[0008]在一个优选地实施方式中,所述Exp_divide_sinh_cosh模块包括控制信号clk和rst_n、mantissa_divide等模块,采用预测-修正算法计算指数函数e

x
,设置预测-修正算法中的参数p为113,q为113,m为11,n为3,t为3,预测-修正算法中的核心为mantissa_divide模块。
[0009]在一个优选地实施方式中,所述e

x
和e
x
的计算结果均为128位浮点数。
[0010]本专利技术的技术效果和优点:
[0011]1、实现了CORDIC四步并行迭代算法,将128位浮点输入计算所需的迭代次数缩减至32次;
[0012]2、实现128位浮点高精度计算的同时保证函数输出误差小于2

113

[0013]3、将函数硬件计算单元的定义域扩大至(2

16382
,2
16382
);
[0014]4、与其他的算法或CORDIC变式相比,本专利技术提出的架构很好地兼顾了计算精度、计算误差和收敛域。
附图说明
[0015]图1为本专利技术的双曲正余弦函数顶层结构图。
[0016]图2为本专利技术的双曲正余弦函数Pre_deal模块流程图。
[0017]图3为本专利技术的B计算模块电路图。
[0018]图4为本专利技术的A计算模块电路图。
[0019]图5为本专利技术的Cordic_core模块状态机的状态转换图。
[0020]图6为本专利技术的INIT状态的结构图。
[0021]图7为本专利技术的ITE状态的结构图。
[0022]图8为本专利技术的ONE_STEP_1状态的结构图。
[0023]图9为本专利技术的ONE_STEP_2状态的结构图。
[0024]图10为本专利技术的Exp_divide_sinh_cosh模块的结构图。
具体实施方式
[0025]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0026]实施例
[0027]本专利技术提供一种技术方案,具体为使用Verilog硬件描述语言完成128位浮点低时延双曲正余弦函数计算单元的硬件建模,首先,为了实现双曲正余弦函数的全浮点域计算,考察双曲正余弦函数的定义式(1)和(2):
[0028][0029][0030]其中,e

x
=1/e
x
。式子(1)和(2)表明双曲正余弦函数的计算包含了指数函数e
x
的计算、除法运算、加减法运算和移位操作。根据式子(1)和(2),将双曲正余弦函数分为三个子模块来实现,如图1所示,本专利技术中128位浮点低时延双曲正余弦函数计算单元包括三个子模块,分别是预处理模块、CORDIC定点运算模块和浮点除法模块。
[0031]所述预处理模块,即图1中Pre_deal模块,使用了一种扩展指数函数收敛域的方法,主要完成两个功能:一是对输入的128位浮点数进行异常判断处理;二是不存在输入异常情况时,完成浮点输入转为定点输入的运算。所述CORDIC定点运算模块,即图1中Cordic_core模块,是设计的核心模块,主要包括X通道、Y通道和Z通道的四步并行迭代模块,依据Pre_deal模块输出结果,计算得到指数函数e
x
的数值。所述浮点除法模块,即Exp_divide本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种128位浮点低时延双曲正余弦函数硬件计算单元,包括三个子模块,分别是预处理模块、CORDIC定点运算模块和浮点除法模块,其特征在于:所述预处理模块,即Pre_deal模块,使用了一种扩展指数函数收敛域的方法,主要完成两个功能,一是对输入的128位浮点数进行异常判断处理,二是当不存在输入异常情况时,完成浮点输入转为定点输入的运算;所述CORDIC定点运算模块,即Cordic_core模块,是设计的核心模块,主要包括X通道、Y通道和Z通道的四步并行迭代模块,依据Pre_deal模块输出结果,计算得到指数函数e
x
的数值;所述浮点除法模块,即Exp_divide_sinh_cosh模块,该模块功能为:接收信号,采用预测-修正算法中计算e

x
,再通过加减法和移位操作计算得到结果,输出计算完成信号。2.根据权利要求1所述的一种128位浮点低时延双曲正余弦函数硬件计算单元,其特征在于:所述Pre_deal模块输出exception_out有5种可能的值,分别是:3

b000(不存在输入异常情况),3

b001(非数),3

b010(负无穷),3

b011(正无穷),和3

b100(指数位小于等于15

h3f8c,视输入为0),当输入没有问题时,进入到B计算模块,计算得到B值后利用乘法器算出A的...

【专利技术属性】
技术研发人员:吴德钦冉启海王明江
申请(专利权)人:宇思半导体科技深圳有限公司
类型:发明
国别省市:

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

1