掌桥专利:专业的专利平台
掌桥专利
首页

一种基于近似4-2压缩器的单比特全数字存内计算单元

文献发布时间:2024-04-18 19:58:26


一种基于近似4-2压缩器的单比特全数字存内计算单元

技术领域

本发明属于技术领域,具体涉及一种基于近似4-2压缩器的单比特全数字存内计算单元。

背景技术

在人工智能发展迅猛的今天,传统的冯诺依曼架构针对数据密集型的神经网络本身存在“存储墙”和“功耗墙”的问题,而存内计算架构通过将存储单元和计算电路结合,从根本上解决了冯诺依曼瓶颈。

而主流的模拟密集型电路的抗干扰能力又较弱,相比较之下数字型的全数字存内计算架构的鲁棒性便展出了优势。但是数字存内计算结构中又因为额外乘法和加法树电路的叠加导致功耗和面积损耗,难以应用。

发明内容

本发明的目的在于克服现有技术中的不足,提供一种基于近似4-2压缩器的单比特全数字存内计算单元,具有更高的稳定性和准确度,受外界干扰较小。

为达到上述目的,本发明是采用下述技术方案实现的:

第一方面,本发明提供一种基于近似4-2压缩器的单比特全数字存内计算单元,包括至少一个近似4-2压缩器和与所述近似4-2压缩器连接的一组存储单元;

一组存储单位包括四个存储单元;

每个所述存储单元存储1bit权重信息,并均通过一个同或门连接所述近似4-2压缩器;

所述近似4-2压缩器包括第一级电路和第二级电路;

所述第一级电路包括两个反向器和一个与非门,所述第二级电路包括两个与非门;第一级电路的两个反向器和一个与非门分别与所述第二级电路的两个与非门连接;

四个存储单元中,两个存储单元分别通过同或门连接所述第一级电路的两个反相器,两个存储单元分别通过同或门连接所述第一级电路的同一个与非门;

所述第一级电路的两个反相器用于将两个存储单元输入的乘累加结果反向输出到第二级电路的与非门中;

所述第一级电路的与非门用于将另外两个存储单元输入的按位乘法结果输出到第二级电路的与非门中;

第二级电路的与非门用于输出作为近似结果。

进一步的,所述存储单元包括数据锁存结构以及两个导通的N管;

进一步的,所述数据锁存结构包括首尾相接的两个反相器;

进一步的,所述存储单元的两个N管的栅极由同一字线WL控制,两个N管的源漏接位线BL、BLB和反相器;

进一步的,同一列的存储单元使用同一位线进行连接。

进一步的,每个存储单元的Q端均与其按位乘法结构中的同或门输入端进行连接,同或门输入的另一端连接输入激励IN,输出作为按位乘法结果进入到近似4-2压缩器中。

进一步的,所述近似4-2压缩器为多个,每个近似4-2压缩器连接一组存储单元。

第二方面,本发明提供一种基于近似4-2压缩器的单比特全数字存内计算方法,基于第一方面所述的单比特全数字存内计算单元,包括:

将一组中四个存储单元的单比特的按位乘法结果输入近似4-2压缩器中,进行乘累加,将单比特的乘累加结果进行乘累加,将4个1bit的数据进行乘累加,得到乘累加结果。

进一步的,所述存储单元包括数据锁存结构以及两个导通的N管;

所述方法还包括:

在存储模式中,该存内计算单元进行正常的SRAM写入操作,当字线信号高电平到来后,开启两个N型晶体管,将位线上预加载的权重数据写入到存储单元中,写入后的权重数据以1bit的形式存储在SRAM中。

与现有技术相比,本发明所达到的有益效果:

1、和模拟密集型的存内计算单元以充放电完成乘累加相比,本申请的数字域的门电路具有更高的稳定性和准确度,受外界干扰较小;

2、与传统的数字存内计算结构中加法器阵列的高功耗相比,该结构通过引入一种新型的近似4-2压缩器,传统的做法是使用全加器和半加器进行相加,而这种做法会产生较大的功耗浪费。这里采用近似4-2压缩器进行相加,在产生可接受的误差情况下降低了功耗,降低了加法器阵列部分的功耗消耗,从而可以降低整体数字存内计算结构的功耗浪费;

3、本结构支持神经网络中的二值化的输入激励和权重进行乘累加,其中二值化网络中存在“+1”和“-1”两个值,在电路中采用电压VDD代表“+1”,电压VSS代表“-1”,VDD为电源电压,VSS为接地的零电压。对于最终的乘累加结果,可以看做是将其中“+1”的数量进行相加,即按照数字电路的高低电平进行相加,得到乘累加结果。每列的4个SRAM单元作为一个单元共用一个近似4-2压缩器,得到最终的2bit近似乘累加结果。

附图说明

图1是本发明的存内计算单元的整体结构结构示意图;

图2是本发明的存储单元结构示意图;

图3是本发明的近似4-2压缩器结构示意图;

图中:1、反相器;2、N管;3、同或门;4、与非门;

10、存储单元;20、压缩器。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

在本实施例的描述中,需要说明的是,如出现术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等,其所指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本实施例的限制。

实施例一:

本实施例提供一种基于近似4-2压缩器的单比特全数字存内计算单元,包括压缩器和至少一组存储单元,图1即为此存内计算单元的整体结构。

组成部分:

每个存储单元10由两个交叉耦合的反相器1以及两个导通的N管2(N型晶体管)组成,共包括6个晶体管,每个存储单元10存储1bit权重信息,并且使用一个同或门3来进行按位乘法;

本申请的存储单元10是SRAM的6管单元,额外增加一个同或门3;

由三个与非门4和两个反相器1组成了近似4-2压缩器20(包括最右侧的5个逻辑门,即BLB右侧),该压缩器20共有两级电路,其中第一级为两个反向器和一个与非门4构成,第二级为两个与非门4构成;

WL<3:0>为字线信号,BL和BLB为位线信号,Q<3:0>和QB<3:0>为SRAM存储单元10的内部存储节点,IN<3:0>为输入激励,OUT<1:0>为2bit的乘累加输出结果,为近似结果;

图1为搭建的该存内计算单元的电路图,其中左侧(图2)为整体的存内计算单元结构图,右侧(图3)为近似4-2压缩器20的门级电路图。

连接关系:

两个反相器1首尾相接,组成数据锁存结构,每个SRAM 6T结构(本申请的存储单元10结构由常规的SRAM 6T结构改进而成,包括4个sram单元)中的两个N管2的栅极由同一字线WL控制,源漏接位线BL、BLB和反相器1,同一列的存储单元10使用同一位线进行连接;

每个存储单元10的Q端均与其按位乘法结构(按位乘法结构就是同或门3,本申请用同或门3实现单比特的按位乘法)中的同或门3输入端进行连接,同或门3输入的另一端接输入激励IN,输出作为按位乘法结果进入到近似4-2压缩器20中;

近似4-2压缩器20中的两个反相器1将两个输入的乘累加结果反向输出到第二级与非门4(BLB右侧的第二级有两个与非门4)中,另外两个按位乘法结果接一个与非门4的两个输入并输出到下一级与非门4中,最终第二级与非门4的输出作为乘累加结果;

操作过程:

该电路有两种操作模式:存储模式和计算模式。在存储模式中,该存内计算单元进行正常的SRAM写入操作,当字线信号高电平到来后,开启两个N型晶体管,将位线上预加载的权重数据写入到存储单元10中,写入后的权重数据以1bit的形式存储在SRAM中。

当存储模式完成后,进行计算模式。在计算模式下,将单比特的乘累加结果进行乘累加,在这里将4个1bit的数据进行乘累加。传统的做法是使用全加器和半加器进行相加,而这种做法会产生较大的功耗浪费。这里采用近似4-2压缩器20进行相加,在产生可接受的误差情况下降低了功耗。

近似4-2压缩器20的真值表如下所示:

近似4-2压缩器20的布尔逻辑如下所示:

从真值表中可以看出,该近似4-2压缩器20在输入“1”较多的情况下具有较为准确的结果,因此该存内计算单元在“1”较密集的神经网络中会具有较高的精度。

相比于现有的存内计算单元,本结构有两个优点:

第一个优点是和模拟密集型的存内计算单元以充放电完成乘累加相比,数字域的门电路具有更高的稳定性和准确度,受外界干扰较小;

第二个优点是与传统的数字存内计算结构中加法器阵列的高功耗相比,本结构中的近似计算结构可以在较大程度上降低了加法器阵列的功耗和面积,具有较大的使用价值。该结构通过引入一种新型的近似4-2压缩器,降低了加法器阵列部分的功耗消耗,从而可以降低整体数字存内计算结构的功耗浪费;

这个里面的A.B.C.D对应的是一组中四个存储单元的同或门的输出。字符上的横线为“非”,OUT<0>表示输出的近似结果的低一位,OUT<1>表示输出的近似结果的高一位。

该结构支持神经网络中的二值化的输入激励和权重进行乘累加,其中二值化网络中存在“+1”和“-1”两个值,在电路中采用电压VDD代表“+1”,电压VSS代表“-1”,VDD为电源电压,VSS为接地的零电压。对于最终的乘累加结果,可以看做是将其中“+1”的数量进行相加,即按照数字电路的高低电平进行相加,得到乘累加结果。每列的4个SRAM单元作为一个单元共用一个近似4-2压缩器20,得到最终的2bit近似乘累加结果。

实施例二:

本实施例提供一种基于近似4-2压缩器的单比特全数字存内计算方法,基于实施例一所述的计算单元,包括:

该电路有两种操作模式:存储模式和计算模式。在存储模式中,该存内计算单元进行正常的SRAM写入操作,当字线信号高电平到来后,开启两个N型晶体管2,将位线上预加载的权重数据写入到存储单元10中,写入后的权重数据以1bit的形式存储在SRAM中。

当存储模式完成后,进行计算模式。在计算模式下,将单比特的乘累加结果进行乘累加,在这里将4个1bit的数据进行乘累加。传统的做法是使用全加器和半加器进行相加,而这种做法会产生较大的功耗浪费。这里采用近似4-2压缩器20进行相加,在产生可接受的误差情况下降低了功耗。

其中二值化网络中存在“+1”和“-1”两个值,在电路中采用电压VDD代表“+1”,电压VSS代表“-1”,VDD为电源电压,VSS为接地的零电压。对于最终的乘累加结果,可以看做是将其中“+1”的数量进行相加,即按照数字电路的高低电平进行相加,得到乘累加结果。每列的4个SRAM存储单元10作为一个单元共用一个近似4-2压缩器20,得到最终的2bit近似乘累加结果。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度小于第二特征。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”,“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

相关技术
  • 一种基于SRAM单元的全数字域存内近似计算电路
  • 一种基于动态逻辑乘法的单比特全数字存内计算单元
技术分类

06120116494950