一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

具有细粒度精确可重构近似计算的分层加法树结构模块的制作方法

2022-10-22 07:46:40 来源:中国专利 TAG:


1.本发明涉及集成电路设计与制造技术领域,尤其涉及一种具有细粒度精确可重构近似计算的分层加法树结构模块。


背景技术:

2.功能精度是传统算术电路的主要要求。然而,对于某些应用程序,算术处理可以在“不精确”或“近似”的基础上执行,近似算术电路已被广泛考虑用于容错应用。为提高加法器性能,近似计算将精度纳入权衡的条件之内,通过适量放弃精度,换取加法器性能的显著提升。在加法器中引入近似设计的方案可以在精度损失可容忍范围内带来面积和能耗的降低。
3.比较典型的几种近似加法器包括低位或门加法器,容错加法器,精度可配置加法器,进位预测选择加法和进位跳跃加法器等。上述近似加法器均用于多位计算,对权重较高的位进行精确计算,而权重较低的位采用近似方法进行计算。
4.但以前研究中的近似加法器架构都是16位单个数据输入,在加速cnn中的卷积计算通常需要3*3的卷积运算,需要9*16位数据向量计算。所以本技术旨在设计一种具有细粒度精确可重构近似计算的分层加法树结构来对多数据输入的数据向量进行计算,获得更高的能量效率。


技术实现要素:

5.为解决现有的技术问题,本发明提供了一种具有细粒度精确可重构近似计算的分层加法树结构模块。
6.本发明的具体内容如下:一种具有细粒度精确可重构近似计算的分层加法树结构模块,包括多数据输入模块、加法器树构造生成模块、计算及结果输出模块;
7.多数据输入模块的输入端a接收n1个加数,并对近似加法器计算进行定义,定义为n1个数相加的加法,其输入端b接收用户所需精度配置n2,并传入精度控制模块;
8.加法器树构造生成模块,其输入端接收n1个由输入模块接收并完成传递的加法数;其加法器生成过程分别调用近似加法计算单元库与全精度加法计算单元库;其初始化过程结合用户输入加数个数对加法器的加法树层数进行配置;经初始化后的加法树层数将被传输至近似加法器树构造模块中,完成具有细粒度精确可重构近似加法模块的生成;
9.计算及结果输出模块,该模块将上一级中生成的近似加法器进行近似加法运算,完成最终的近似计算任务;同时,该模块将输入信号中的精度配置要求传递至精度控制模块中,对近似计算过程中各层需要的精度进行合理控制;最终由输出链路完成数据输出。
10.进一步的,多数据输入模块为16位数据输入模块,输入端a接收n1个16位的加数。
11.进一步的,16位多数据输入模块可接收输入的16位数据并判断数据个数、接收输入数据、取得用户所需精度配置。
12.进一步的,16位多数据输入模块对数据的处理步骤包括:
13.步骤101:输入数据对数据向量中数据个数进行定义,依据输入数据的个数n1完成系统计算位数单元的初始化;
14.步骤102:精度配置数据n2输入,作为后续计算过程的控制信号完成精度控制信号初始化;
15.步骤103:精度合规检测,对所要求精度配置n2进行判断,检测其是否满足数据位宽要求,若满足,则会传递至下一级,若不满足则会要求重新输入;
16.步骤104:最终整合模块会对上述完成输入整理的数据整合并输出至下一级系统中。
17.进一步的,加法器树构造生成模块包括:
18.单层加法器结构模块:单层加法器结构用于加法树每一层的加法器生成;
19.基于计算需求的加法树生成模块:加法树生成模块根据需要计算的加数个数配置加法树层数;加法树分层处理多位数的累加,操作数和中间计算结果均可以成对相加;
20.近似加法器生成模块:该单元根据基于计算需求的加法树生成模块得到的加法树,在每一层配置单层加法器结构模块中的加法器。每一层分别配置近似加法器和全精度加法器,通过精度控制模块来控制每一层在最终计算时使用何种加法器模块,完成精确可重构近似计算加法器的生成。
21.进一步的,单层加法器结构模块中,后续加法器生成所需要的四种加法器:第一种加法器结构为全精度加法器fa;第二种加法器结构为axa1,低位由或门加法器,高位由ora和fa可重构;第三种加法器结构为axa2,低位由或门加法器,高位由tga2和fa可重构。
22.进一步的,基于计算需求的加法树生成模块,加法树分层处理多位数的累加,操作数和中间计算结果均可以成对相加,除最后一个操作数外,所有操作数均在第一层两辆相加,最后一个操作数需要在最后一层以前面所有操作数的累加结果相加。
23.进一步的,加法器树构造生成模块对数据处理过程包括:
24.步骤201:加法器数生成模块接收上一级传递至本级的输入数据个数,首先完成加法树层数的设置,层数为
25.步骤202:根据生成加法树层数预加载需要使用的单层加法器结构模块,包括全精度加法器fa、axa1和axa2;
26.步骤203:生成近似加法器,每一层包含单层fa全精度加法器和单层近似加法器,以及需要精度输入的精度控制块来选择计算时使用fa或近似加法;在相邻层的可重构部分交替使用正误差的tga2和负误差的ora进行误差补偿的结构。
27.进一步的,计算及结果输出模块包括:
28.近似计算单元模块,该模块使用上一级近似加法器生成模块中生成的加法器,完成对近似加法的计算;
29.精度控制模块,该模块根据输入要求精度对计算过程中的近似加法器每一层的加法器选择进行设置;
30.近似计算结果输出模块,该模块与后级其他电路相互联,完成数据传递;其具有基本逻辑传递与电平隔离功能。
31.进一步的,计算及结果输出模块对数据的处理步骤包括:
32.步骤301:接收前两个模块传递的数据和生成的近似加法器,准备进行计算;
33.步骤302:进行并行计算过程,此过程中调用前级精度配置n2对近似加法器每层中加法器进行选择;
34.步骤303:同步时序控制模块对输出信号时序进行检测,确保再写入下一循环数据前已经完成对当前循环的数据输出,避免逻辑冲突;
35.步骤304:最终输出模块完成最终计算的数据将经由此模块输出至最终外设单元。
36.本发明在近似计算技术中根据近似精度要求,在误差容许范围内生成对数据向量进行计算的近似加法器,实现了对于数据向量的近似加法计算,活动更高的能量效率和合适的精度,解决了现有近似加法器配置方案无法应对数据向量计算的问题。
附图说明
37.下面结合附图对本发明的具体实施方式做进一步阐明。
38.图1为本发明的一种具有细粒度精确可重构近似计算的分层加法树结构模块的整体架构图;
39.图2为本发明加法器树构造生成模块中3*3九输入加法树构成;
40.图3为本发明加法器树构造生成模块中5*5二十五输入加法树构成;
41.图4为本发明单层加法器结构模块中加法器。
具体实施方式
42.结合图1,本发明在已有近似计算模块的基础上,新设计了一款具有细粒度精确可重构近似计算的分层加法树配置方案,生成可重构的多层近似计算加法器,针对需要运算的数据向量进行近似加法运算,确保近似加法的误差在可接受范围内,大大提升了近似方案的可靠性。本发明具体包括16位多数据输入模块、加法器树构造生成模块和计算及结果输出模块,其中:
43.16位多数据输入模块,其输入端a接收n1个16位的加数,并对近似加法器计算进行定义,定义为n1个数相加的加法;其输入端b接收用户所需精度配置n2,并传入到精度控制模块。
44.加法器树构造生成模块,其输入端接收n1个由输入模块接收并完成传递的16位的加法数;其加法器生成过程将分别调用近似加法计算单元库与全精度加法计算单元库;其初始化过程将结合用户输入加数个数对加法器的加法树层数进行配置。经初始化后的加法树层数将被传输至近似加法器树构造模块中,完成具有细粒度精确可重构近似加法模块的生成。
45.计算及结果输出模块,该模块将上一级中生成的近似加法器进行近似加法运算,完成最终的近似计算任务;同时,该模块将输入信号中的精度配置要求传递至精度控制模块中,对近似计算过程中各层需要的精度进行合理控制;最终由输出链路完成数据输出。
46.16位多数据输入模块具有接收输入的16位数据并判断数据个数的功能,和接收输入数据,取得用户所需精度配置的功能。
47.加法器树构造生成模块包括:
48.第一,单层加法器结构模块,单层加法器结构用于加法树每一层的加法器生成。该模块中,后续加法器生成所需要的四种加法器。第一种加法器结构为全精度加法器fa;第二
种加法器结构为axa1,低位由或门加法器(ora),高位由ora和fa可重构(ra1);第三种加法器结构为axa2,低位由或门加法器(ora),高位由tga2和fa可重构(ra2)。如图4所示为本发明单层加法器结构模块中加法器。
49.第二,基于计算需求的加法树生成模块,加法树生成模块根据需要计算的加数个数配置加法树层数。加法树分层处理多位数的累加,操作数和中间计算结果均可以成对相加。除最后一个操作数外,所有操作数均在第一层两两相加,最后一个操作数需要在最后一层以前面所有操作数的累加结果相加。加法树采用并行结构,可用作具有缩减晶体管数目的流水线计算结构,并防止累加过程中的数据溢出,可以通过将每个加法器的位宽度增加1来减少错误。如图2和图3所示分别为3*3九输入和5*5二十五输入加法树构成,其中,九输入加法器树分为4层处理,操作数[9]在第3层与前面所有操作数的累加结果3#1相加;二十五加法器树分为5层处理,操作数[25]在第3层与上一层中间计算结果3#1相加。
[0050]
第三,近似加法器生成模块。该单元根据基于计算需求的加法树生成模块得到的加法树,在每一层配置单层加法器结构模块中的加法器。每一层分别配置近似加法器和全精度加法器,通过精度控制模块来控制每一层在最终计算时使用何种加法器模块,完成精确可重构近似计算加法器的生成。
[0051]
计算及结果输出模块包括:
[0052]
第一,近似计算单元模块。该模块使用上一级近似加法器生成模块中生成的加法器,完成对近似加法的计算。
[0053]
第二,精度控制模块。该模块根据输入要求精度对计算过程中的近似加法器每一层的加法器选择进行设置。
[0054]
第三,近似计算结果输出模块。该模块作用为与后级其他电路相互联,完成数据传递功能;其具有基本逻辑传递与电平隔离功能。
[0055]
各模块的工作过程分别如下:
[0056]
16位多数据输入模块的工作流程具体包括步骤101至步骤104。如下:
[0057]
步骤101:输入数据对数据向量中数据个数进行定义,依据输入数据的个数n1完成系统计算位数单元的初始化。
[0058]
步骤102:精度配置数据n2输入,作为后续计算过程的控制信号完成精度控制信号初始化。
[0059]
步骤103:精度合规检测,对所要求精度配置n2进行判断,检测其是否满足数据位宽要求,若满足,则会传递至下一级,若不满足则会要求重新输入。
[0060]
步骤104:最终整合模块会对上述完成输入整理的数据整合并输出至下一级系统中。
[0061]
加法器树构造生成模块的工作流程具体步骤包括201至205。如下:
[0062]
步骤201:加法器数生成模块接收上一级传递至本级的输入数据个数,首先完成加法树层数的设置,层数为
[0063]
步骤202:根据生成加法树层数预加载需要使用的单层加法器结构模块,包括全精度加法器fa、axa1和axa2。
[0064]
步骤203:生成近似加法器,每一层包含单层fa全精度加法器和单层近似加法器,以及需要精度输入的精度控制块来选择计算时使用fa或近似加法。在相邻层的可重构部分
交替使用正误差的tga2和负误差的ora进行误差补偿的结构。以两层累加为例,先确定了第一层axa1中ra1采用具有正误差的tga2,然后通过检索使用笛卡尔遗传规划(cgp)和多目标遗传算法自动生成了430个近似8位加法器库来得到于tga2最匹配的负误差近似加法器,实验结果表明在第二层axa2中ra2使用ora的方案可以使得两层累加的结构误差最小。在奇数层采用axa1,而在偶数层采用axa2,能够使最终误差最小。
[0065]
计算及结果输出模块的工作流程具体包括步骤301至步骤305。如下:
[0066]
步骤301:接收前两个模块传递的数据和生成的近似加法器,准备进行计算。
[0067]
步骤302:进行并行计算过程,此过程中调用前级精度配置n2对近似加法器每层中加法器进行选择。
[0068]
步骤303:同步时序控制模块,对输出信号时序进行检测,确保再写入下一循环数据前已经完成对当前循环的数据输出,避免逻辑冲突。
[0069]
步骤304:最终输出模块,完成最终计算的数据将经由此模块输出至最终外设单元。
[0070]
本发明公开的加法器拥有数据向量近似计算及多层并行加法器树生成功能。其基本功能为实现低功耗高精度近似加法计算,具体用于实现以下功能:对输入数据向量进行预处理获取输入数据向量的16bit数据个数;基于输入数据的个数设置近似加法树的层数;根据单层近似计算模块,构造多层级可重构加法器树结构完成近似加法器生成,并输出最终运算结果数据。同时,计算过程中根据近似计算精度配置需求来选择近似计算加法器每层使用近似计算与否,来满足精度需求。
[0071]
本技术在加法器树构造过程中,根据预先实验结果选择误差最合适的每层可重构单层近似加法模块配置,完成近似加法器电路的配置。通过对于奇数层和偶数层使用正负误差的近似加法器配置结构,每一层的计算误差可以达到最小。同时,近似计算和全精度加法器通过控制单元来进行选择,根据需求的精度配置,这种方案使计算过程中既兼顾近似的精度需求,也能达到降低功耗,提高能效的效果。
[0072]
在以上的描述中阐述了很多具体细节以便于充分理解本发明。但是以上描述仅是本发明的较佳实施例而已,本发明能够以很多不同于在此描述的其它方式来实施,因此本发明不受上面公开的具体实施的限制。同时任何熟悉本领域技术人员在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献