APP下载

基于Gold-Schmidt算法的高精度低延迟浮点平方根运算单元的VLSI实现

2023-02-14刘明佳沐许志良傅文佳张霆廷

华东科技 2023年1期
关键词:浮点平方根结果表明

文/刘明,佳沐,许志良,傅文佳,张霆廷

基于Gold-Schmidt 迭代算法,笔者采用IEEE-754(2008)标准中的128 位浮点标准数据格式,模块化地实现了浮点平方根运算单元的VLSI 电路设计。随后,笔者对实现的128 位浮点平方根运算单元进行了仿真测试,结果表明,本文设计的硬件运算单元满足全浮点域的精度要求。接着,笔者使用TSMC 65nm 标准工艺库对该硬件运算单元做了逻辑综合,结果表明,本文设计的硬件运算单元工作频率可达800MHz,完成一次完整的128 位浮点计算需要4 个时钟周期,最大计算误差小于1 比特位,硬件电路面积为0.8216mm2,硬件功耗为13.87MW。

一、平方根算法简述

目前常见的开方算法有以下几类。

(1)数字递归法。该方法操作简单,易于实现,但延迟较长,这点在精度较大的浮点数运算过程中表现得尤为明显。

(2)函数迭代法。如Newton–Raphson 法、Householders 法和Gold-Schmidt 迭代算法,此类算法需要更多的硬件成本,却不能保证运算结果的完全准确,此类算法的优点是快速、可扩展、易于流水线化。

(3)高基数运算法。该方法运算速度快,但实现起来较为复杂,且通常需要消耗相当大的硬件面积。

(4)查表法。该方法简单、快速,但硬件成本较高,可扩展性较差。

基于此,本文采用Gold-Schmidt 法来设计并实现高精度、低时延的浮点平方根运算单元。Gold-Schmidt 法的迭代公式如下:

式(1)中,ri表示平方根变量;xi表示调变因子x 变量;hi表示调变因子h 变量。

初始值设置如式(2)所示:

其 中,r0≈1/X1/2是1/X1/2的近似值(查表获取)。经过n 次迭代,笔者得到xn=X1/2。此时,笔者结合式(1),得到Gold-Schmidt 法的迭代示意图,如图1 所示。

二、浮点平方根运算单元的VLSI 实现

基于Gold-Schmidt 法的浮点平方根运算单元的结构如图2所示。

如图2 所示,sqrt_preconfig模块主要负责对输入的128 位浮点数data 进行异常检测与预处理。首先,该模块会将输入的data分解为符号data_in_sign、指数data_in_exp以及尾数data_in_m,并计算指数偏差值exp_out;随后,进行异常检测,输出异常检测旗帜信号exception。exception 有5种可能的值:3′b000(输入不存在异常情况),3′b001(输入为非数,输出为非数),3′b010(输入为负数,输出为非数),3′b011(输入为正无穷,输出为正无穷),3′b100(输入为0,输出为0)。同时,在检查输入浮点数的指数为奇数还是偶数后,该模块还会调整尾数部分,例如将其由113 位调整为116 位,并输出mantissa_out,以便后续sqrt_mantissa_calculation 模块的分组计算。

三、浮点平方根运算单元的验证与分析

(一)仿真验证

在本研究中,仿真验证共分为三大部分,分别是浮点异常验证、边界数据验证和逻辑功能验证。其中,浮点异常验证主要针对的是输入的非数(NaN)、正负无穷、0 或者不符合定义域的输入数值,边界数据验证的一般是定义域边界的输入数值,而逻辑功能验证的则是定义域内的浮点正规数。

基于此,笔者对此次设计的浮点平方根运算单元进行大量的随机数据测试,测试数据包括非数、正负无穷、0、浮点正规数以及边界数。仿真验证结果如表1 所示。

表1 浮点平方根运算单元仿真验证结果对比

(二)性能分析

在电路设计得到仿真验证之后,本文根据TSMC 65nm标准工艺库,在0.9V 的工作电压下完成了逻辑实现和综合,最终得到有关硬件的工作频率、面积等逻辑综合结果,如表2 所示。

表2 浮点平方根运算单元综合结果

四、结语

本文对128 位浮点平方根运算单元实现了RTL 级(寄存器传输级)建模,并基于ModelSim硬件仿真平台完成了平方根运算单元的逻辑功能的仿真验证;在TSMC 65nm的标准工艺完成了逻辑实现和综合。结果表明,本文所设计的浮点平方根运算硬件单元完成一次128位浮点计算需要4 个时钟周期,计算误差最大不超过128 位浮点尾数的最低位,满足精度高、延迟低的特征。DC 逻辑综合结果表明,当电路的工作频率为800MHz 时,硬件电路面积为0.8216mm2,功耗为13.87MW。

猜你喜欢

浮点平方根结果表明
LEO星座增强GNSS PPP模糊度浮点解与固定解性能评估
基于Simulink浮点模型和定点模型的问题研究
基于浮点DSP的铁路FSK信号检测
“平方根”学习法升级版
平方根易错点警示
帮你学习平方根
如何学好平方根
单精度浮点加法器的FPGA实现
册亨县杂交水稻引种试验
体育锻炼也重要