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

多比特运算模块以及使用了该模块的存内计算电路结构

文献发布时间:2023-06-19 19:28:50


多比特运算模块以及使用了该模块的存内计算电路结构

技术领域

本发明涉及静态随机存储器技术领域,更具体的,涉及多比特运算模块,以及使用了该模块的存内计算电路结构。

背景技术

近年来,卷积神经网络(Convolutional Neural Networks,CNN)在涉及人工智能(AI)和物联网(IoT)的众多应用中取得了前所未有的成功,如图像识别、语音关键词检测、人脸识别等。

然而,受到计算硬件的限制,处理AI任务时效率低下。传统的计算硬件是基于冯·诺依曼架构,由于存储器和计算单元是独立的两个部分,计算机执行计算操作时,需要从存储器中取出数据,传输到计算单元中进行计算,而后再写回存储器。由于数据在处理单元(Processing Elemen,PEs)和内存之间的移动,容易出现能耗过高和延迟的问题,称为“存储墙”。存内计算(Computing In Memory,CIM)打破传统计算机的冯·诺依玛架构,将计算电路嵌入存储器中,存储和计算连为一体,从而大幅度降低了数据迁移及对存储器的访存消耗。

非易失性内存计算(Nonvolatile Computing In Memory)在要求非易失数据存储和低功耗的电池供电的微型AI设备上极具优势。目前的非易失性存内计算技术方案支持二进制神经网络(BNNs)或二进制权重网络(BWNs),一定程度上减少了存储需要,提高了能效。然而BNNs、BWNs仅适用于简单的网络,应用于复杂应用时只能提供有限的系统级推理精度,限制了AI技术的进一步发展。因此,具有多比特输入(IN)、权重(W)和输出(OUT)的乘累加(Multiply And Accumulate,MAC)存内计算技术对于要求高推理精度的高级AI边缘芯片是极为重要的。

发明内容

基于此,有必要针对现有传统存内计算推理精度有限的问题,提供多比特运算模块以及使用了该模块的存内计算电路结构。

本发明采用以下技术方案实现:

第一方面,本发明提供了多比特运算模块,包括分比特计算模块一、分比特计算模块二。

分比特计算模块一包括n个级联计算单元一、n条权重位线一LW[1]~LW[n]。

其中,第k个级联计算单元一包括4个NMOS管N1[k]、N2[k]、N3[k]、N4[k]。N1[k]、N2[k]的规格相同。1≤k≤n。

N1[k]的栅极连接权重位线一LW[k],漏极连接计算位线CBL,源极连接节点一X1[k]。N2[k]的栅极连接权重位线一LW[k],漏极连接计算位线CBLB,源极连接节点二X2[k]。N3[k]的栅极连接全局位线GBL,漏极连接节点一X1[k],源极连接地GND。N4[k],其栅极连接全局位线GBLB,漏极连接节点二X2[k],源极连接地GND。

分比特计算模块二包括n个级联计算单元二、n条偶数权重位线二RW[1]~RW[n]。

其中,第k个级联计算单元二包括4个NMOS管N5[k]、N6[k]、N7[k]、N8[k]。N5[k]、N6[k]的规格相同。N7[k]、N8[k]、N3[k]、N4[k]的规格相同,N5[k]宽长比是N1[k]宽长比的h倍。

N5[k]的栅极连接权重位线二RW[k],漏极连接计算位线CBL,源极连接节点三X3[k]。N6[k]的栅极连接权重位线二RW[k],漏极连接计算位线CBLB,源极连接节点四X4[k]。N7[k]的栅极连接全局位线GBL,漏极连接节点三X3[k],源极连接地GND。N8[k]的栅极连接全局位线GBLB,漏极连接节点四X4[k],源极连接地GND。

权重位线二RW[k]、权重位线一LW[k]用于提供权重值。全局位线GBL、GBLB用于提供多比特输入值。

多比特运算模块从分比特计算模块一、分比特计算模块二选通列并行工作,接收权重值与多比特输入值,进行多比特乘累加计算。计算位线CBL、CBLB用于通过电压变化量反映多比特乘累加计算结果。

该种多比特运算模块的实现根据本公开的实施例的方法或过程。

第二方面,本发明公开了存内计算电路结构,包括存储阵列模块、数据选择模块、灵敏放大器模块、模式选择模块、如第一方面公开的多比特运算模块、量化单元模块、时序控制电路模块。

存储阵列模块用于提供标准读写模式和多比特乘累加计算模式。存储阵列模块包括存储部及参考部。数据选择模块包括列选择模块、行译码模块,用于在标准读写模式下,根据外部地址信号对存储部中对应的存储单元进行定位访问。列选择模块还连接有写入驱动电路,用于控制对存储单元进行写入。灵敏放大器模块用于将存储部产生的读电流与参考部的参考电流进行比较并生成转换电压,对转换电压放大并获得输出权重值。灵敏放大器模块还连接有读出驱动电路,其用于在标准读写模式的读操作时读取输出权重值。模式选择模块用于切换存储阵列模块的标准读写模式和多比特乘累加计算模式。多比特运算模块在多比特计算功能模式下,根据权重值、多比特输入值,进行多比特乘累加计算。多比特运算模块连接有输入寄存器,用于通过全局位线GBL、GBLB将多比特输入值输入进多比特运算模块中。量化单元模块用于在多比特乘累加计算模式下,将计算位线CBL、CBLB累积的电压变化量进行量化,获得量化输出。时序控制电路模块用于控制存内计算电路结构各部分时序,使其对应工作。

该种存内计算电路结构的实现根据本公开的实施例的方法或过程。

与现有技术相比,本发明具备如下有益效果:

1,本发明的多比特运算模块通过计算位线负载电容的放电累加完成了多比特乘累加运算,分比特权重和分离全局位线的设计具有良好的计算并行度和稳定性,具有较高的推理精度,且与后续的量化单元模块配合获得量化输出,可支持深度神经网络多比特MAC运算。

2,本发明的存储阵列模块采用1T-1MTJ存储单元构成的MRAM,具有较高的存储密度和算力密度,可减小面积的开销。本发明可在访存的同时,完成多比特乘累加运算,能够显著地降低网络整体功耗。

3,本发明基于MRAM实现了多比特乘累加计算,具有静态功耗低和非易失性的特点,在要求数据非易失存储和低功耗电池的设备应用中具有优势。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,

在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例1中存内计算电路结构的结构示意图;

图2为图1中存储阵列模块、列选择器模块、灵敏放大器模块、模式选择器模块、多比特运算模块的结构图;

图3为图2中左存储阵列、左参考阵列的结构图;

图4为图2中右存储阵列、左参考阵列的结构图;

图5为图2中多比特运算模块中第k个级联计算单元一、第k个级联计算单元二构成一对级联计算单元的结构图;

图6为图2中多比特运算模块模拟域乘累加计算等效电路图;

图7为图2中灵敏放大器模块的结构图;

图8为图7中灵敏放大器模块进行读操作瞬态仿真波形图;

图9为图2中量化单元模块的结构图;

图10为图9的量化单元模块的量化过程示意图;

图11为图2中多比特运算模块执行2-bit输入与2-bit权重乘累加计算结果示意图;

图12为图1的存内计算电路结构基于2-bit输入与2-bit权重乘累加计算蒙特卡洛仿真结果图A;

图13为图1的存内计算电路结构基于2-bit输入与2-bit权重乘累加计算蒙特卡洛仿真结果图B;

图14为图1的存内计算电路结构基于2-bit输入与2-bit权重乘累加计算蒙特卡洛仿真结果图C;

图15为本发明实施例1提供的存内计算电路结构中系统功耗及能效随工作电压变化的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,当组件被称为“安装于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“设置于”另一个组件,它可以是直接设置在另一个组件上或者可能同时存在居中组件。当一个组件被认为是“固定于”另一个组件,它可以是直接固定在另一个组件上或者可能同时存在居中组件。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“或/及”包括一个或多个相关的所列项目的任意的和所有的组合。

实施例1

参看图1,为本实施例1公开的存内计算电路结构的结构示意图。

存内计算电路结构包括存储阵列模块、数据选择模块、灵敏放大器模块、模式选择模块、多比特运算模块、量化单元模块、时序控制电路模块。参看图3,由上到下依次展示了存储阵列模块、列选择模块、灵敏放大器模块、模式选择器模块、多比特运算模块的结构图。

存储阵列模块用于提供标准读写模式和多比特乘累加计算模式。存储阵列模块包括存储部及参考部,包括(2N+2N/j)列M行阵列。

具体的,如图2所示,存储部包括左存储阵列、右存储阵列:

如图3所示,为图2的左部放大图。左存储阵列包括N列M行的存储单元;其中,每j列构成一组左子阵列,左存储阵列包括N/j组左子阵列。

如图4所示,为图2的右部放大图。右存储阵列也包括N列M行的存储单元;其中,每j列构成一组右子阵列,右存储阵列包括N/j组右子阵列。

参考部包括左参考阵列、右参考阵列:左参考阵列包括对应左存储阵列的N/j列M行的左参考单元。其中,第k列左参考单元与第k组左子阵列对应设置;1≤k≤N/j。类似的,右参考阵列包括对应右存储阵列的N/j列M行的右参考单元;其中,第k列右参考单元与第k组右子阵列对应设置。

存储单元、左参考单元、右参考单元都是基于MRAM,区别在于连接的位线和源线不同:

存储单元包括NMOS管M1、磁隧道结器件MTJ1。NMOS管M1的栅极连接字线WL,漏极连接源线SL。磁隧道结器件MTJ1的一端电连接位线BL,另一端电连接M1的源极。

左参考单元和右参考单元结构相同,包括NMOS管M2、磁隧道结器件MTJ2。NMOS管M2的栅极连接字线WL,漏极连接参考源线。磁隧道结器件MTJ2的一端电连接参考位线,另一端电连接M2的源极。

需要说明的是,磁隧道结器件MTJ1、MTJ2根据写操作电流的方向不同会呈现高阻和低阻两种状态。

同一行的存储单元、左参考单元、右参考单元共用同一根字线WL。同一列的存储单元共用同一根位线BL、同一根源线SL。同一列的左参考单元共用同一根参考位线、同一根参考源线。同一列的右参考单元共用同一根参考位线、同一根参考源线。

其中,左参考阵列的第k根参考位线用于输出参考电流I

多比特运算模块对应存储阵列模块设置,用于在多比特计算功能模式下,根据权重值、多比特输入值,进行多比特乘累加计算。其中,多比特运算模块连接有输入寄存器,其用于通过全局位线GBL、全局位线GBLB将多比特输入值输入进多比特运算模块中。权重值则来自于灵敏放大器模块。

多比特运算模块包括分比特计算模块一、分比特计算模块二。

分比特计算模块一包括n个级联计算单元一、n条权重位线一LW[1]~LW[n]。

参看图5,第k个级联计算单元一包括4个NMOS管N1(k)、N2(k)、N3(k)、N4(k)。

N1(k)的栅极连接权第k条权重位线一LW(k),漏极连接计算位线CBL,源极连接第k个节点一X1(k)。N2(k)的栅极连接权重位线一LW(k),漏极连接计算位线CBLB,源极连接第k个节点二X2(k)。N3(k)的栅极连接全局位线GBL,漏极连接节点一X1(k),源极连接地GND。N4(k)的栅极连接全局位线GBLB,漏极连接节点二X2(k),源极连接地GND。

分比特计算模块二包括n个级联计算单元二、n条偶数权重位线二RW[1]~RW[n]。

参看图5,第k个级联计算单元二包括4个NMOS管N5[k]、N6[k]、N7[k]、N8[k]。N5[k]的栅极连接第k条权重位线二RW[k],漏极连接计算位线CBL,源极连接第k个节点三X3[k]。N6[k]的栅极连接权重位线二RW[k],漏极连接计算位线CBLB,源极连接第k个节点四X4[k]。N7[k]的栅极连接全局位线GBL,漏极连接节点三X3[k],源极连接地GND。N8[k]的栅极连接全局位线GBLB,漏极连接节点四X4[k],源极连接地GND。

需要强调的是,n=N/j。N1[k]、N2[k]的规格相同,1≤k≤n。N5[k]、N6[k]的规格相同。N7[k]、N8[k]、N3[k]、N4[k]的规格相同。N5[k]宽长比是N1[k]宽长比的h倍,通过调整h的值进而对级联计算单元的导通电流进行加权控制。

权重位线二RW[k]、权重位线一LW[k]用于提供权重值。全局位线GBL、GBLB用于提供多比特输入值。

多比特运算模块从分比特计算模块一、分比特计算模块二选通列并行工作,接收权重值与多比特输入值,进行多比特乘累加计算。计算位线CBL、CBLB用于通过电压变化量反映多比特乘累加计算结果。

在多比特乘累加计算模式下,多比特运算模块利用计算位线电容(C

总的来说就是,左、右两个存储阵列均为N列M行,每个存储阵列中按j列划分为N/j组子阵列。左存储阵列对应级联计算单元一(即低位级联计算单元),右存储阵列对应级联计算单元二(即高位级联计算单元)。在标准读写模式和多比特乘累加计算模式下,左右两个存储阵列中的N/j组子阵列均并行工作,且相对应位置的左、右子阵列(即第k组左子阵列、第k组右子阵列)为一对,共N/j对;相应的左存储阵列对应的级联计算单元一与右存储阵列对应的级联计算单元二(即第k个低位级联计算单元、第k个高位级联计算单元)构成一对级联计算单元,共N/j对,如图5所示,这样保证了计算并行度和稳定性。

当存储阵列模块完成标准读操作后,N/j对存储数据通过灵敏放大器模块读出,每对输出由DOUTL[k]与DOUTR[k]组成2-bit权重W[1:0]。

在多比特乘累加计算模式下,MEN置为高电平,N/j对2-bit权重分比特传输至对应的N/j对级联计算单元,外部4-bit输入IN[3:0]分为两组(IN[3:2]、IN[1:0])分别传递至全局位线GBL/GBLB,表征为VGBL/VGBLB高电平的持续时间,计算结果分别对应计算位线CBL/CBLB上的电压变化量。

对于单对级联计算单元被激活,其开始读取对应的灵敏放大器(CSA)输出的权重信息:

若读取的权重为W[1:0]为“00”,则该计算单元不产生电流,即乘法操作结果为0;若读取的权重W[1:0]为1“01”、“10”和“11”,则计算位线电容(CCBL/CCBLB)该对计算单元开始对该计算单元放电,最终乘累加结果分别产生放电电流I、2I和3I,且根据输入值对应为全局的放电时间在计算位线CBL/CBLB上产生放电电压降。

N/j对乘法结果在对应的计算位线CBL/CBLB上产生的放电累加,即CBL/CBLB上的总的电压变化量对应最终乘累加计算结果。

参看图6,为多比特运算模块执行2-bit输入与2-bit权重乘累加计算等效电路图,取第1个级联计算单元一的一半、第1个级联计算单元二的一半进行说明。本实施例中,将h取2。

N1[1]与N2[1](未画出)构成低位级联计算单元,读取左存储子阵列中存储的权重值。N5[1]与N6[1](未画出)构成高位级联计算单元,读取右存储子阵列中存储的权重值,其中,LW[1]与RW[1]分别代表左存储子阵列与右存储子阵列的权重值,即2-bit权重W[1:0]分比特传输至高位级联计算单元与低位级联计算单元,其中一对2-bit输入IN[3:2]传递至全局位线GBL,根据输入数据确定V

上述的多比特运算模块支持涉及多比特输入、多比特权重的乘累加运算,相较于现有的单比特乘累加运算,布尔逻辑运算等,本多比特运算模块适用于多种多比特神经网络,可提高AI边缘设备的推理精度。

对于存储阵列模块而言,需要配置数据选择模块,用于在标准读写模式下,根据外部地址信号对存储部中对应的存储单元进行定位访问。依据存储阵列的分布特性,数据选择模块包括行译码模块、列选择模块,后者用于启用对应行,前者用于启用对应行。列选择模块还连接有写入驱动电路,用于控制对存储单元进行写入。

(一)行译码模块连接在字线WL上(图3未画出),M条字线WL共用同一个行译码模块(即同一个行译码器)。

(二)列选择模块包括n个列选择器一、n个列选择器二。如图3所示,

第k个列选择器一与第k组左子阵列对应设置。第k组左子阵列的位线BL与第k个列选择器一的输入端连接,第k个列选择器一的输出端输出读电流I

第k个列选择二与第k组右子阵列对应设置。第k组右子阵列的位线BL与第k个列选择器二的输入端连接,第k个列选择器二的输出端输出读电流I

n个列选择器一、n个列选择器二共用同一个寻址信号CS,方便进行统一控制。具体的,寻址信号CS向列选择模块输入启用第k列,列选择器一即启用第k组左子阵列,列选择器二即启用第k组右子阵列。

灵敏放大器模块用于将存储部产生的读电流与参考部的参考电流进行比较并生成转换电压,对转换电压放大并获得输出权重值。

如图3所示,灵敏放大器模块包括n个灵敏放大器一、n个灵敏放大器二。

(A)第k个灵敏放大器一与第k个列选择器一连接。第k个灵敏放大器一包括第k个电流采样单元一、第k个电压放大器一,用于对I

具体的,参看图7,电流采样单元一包括6个PMOS管P1~P6,4个NMOS管NM1~NM4。

P1的栅极连接外部使能信号SAEN,源极连接电源VDD,漏极连接第一节点NET1。P2的栅极、漏极连接第一节点NET1,源极连接电源VDD。P3栅极连接第一节点NET1,源极连接电源VDD,漏极连接第一级输出节点SO。P4的栅极连接第二节点NET2,源极连接电源VDD,漏极连接第一级输出节点SOB。P5的栅极、漏极连接第二节点NET2,源极连接电源VDD。P6的栅极连接外部使能信号SAEN,源极连接电源VDD,漏极连接第二节点NET2。

NM1的栅极连接钳位信号CLP,源极连接读电流I

电压放大器一包括2个PMOS管P7~P8、3个NMOS管NM5~NM7、1个反相器INV。

P7的栅极、漏极连接第三节点NET3,源极连接电源VDD。P8的栅极、漏极连接第四节点NET4,源极连接电源VDD。NM5的栅极连接第一级输出节点SO,源极连接第五节点NET5,漏极连接第三节点NET3。NM6的栅极连接第一级输出节点SOB,源极连接第五节点NET5,漏极连接第四节点NET4。NM7的栅极连接外部使能信号SAEN,源极连接地GND,漏极连接第五节点NET5。反相器INV的输入端连接第四节点NET4,输出信号为权重值DOUT并分成两路,其中一路用于连接读出驱动电路、另一路连接权重位线WW。

由于上述(A)中为第k个灵敏放大器一、第k个电压放大器一,因此P1~P8即为PL1[k]~PL8[k],NM1~NM5即为NML1[k]~NML5[k],INV即为INVL[k],NET1~NET即为NETL1[k]~NETL5[k],SO即为SOL[k],SOB即为SOBL[k],I

(2)第k个灵敏放大器二与第k个列选择器二连接。第k个灵敏放大器二包括第k个电流采样单元二、第k个电压放大器二,用于对I

灵敏放大器二包括电流采样单元二、电压放大器二,用于对偶数存储子阵列的读电流I

与(A)相似的,电流采样单元二和电流采样单元一的构成相同,也包括6个PMOS管P1~P6,4个NMOS管NM1~NM4。

电压放大器一和电压放大器二的构成也相同,包括2个PMOS管P7~P8、3个NMOS管NM5~NM7、1个反相器INV。

具体连接参看(A)的介绍,及图7:

由于(B)中为第k个灵敏放大器二、第k个电压放大器二,因此P1~P8即为PR1[k]~PR8[k],NM1~NM5即为NMR1[k]~NMR5[k],INV2即为INVR[k],NET1~NET5即为NETR1[k]~NETR5[k],SO即为SOR[k],SOB即为SOBR[k],I

对于输出信号DOUTL/DOUTR,若参考电流小于位线电流,输出为低电平0;当参考电流大于位线电流,输出为高电平1。

参看图8,为本发明实施例的读操作瞬态仿真波形图,以(A)、(B)中不带序号的通用参数指代进行说明:

读操作过程可分为两个阶段:

预充/压差稳定阶段:钳位信号CLP使能,此时开启介于位线和电流源之间的钳位管,字线WL开启,电流流经存储部和参考部。当存储单元中的MTJ1为高阻态时,参考电流I

采样阶段:当节点SO与节点SOB之间稳定电压差形成后,电压放大器使能信号SAE开启,节点SO与节点SOB之间的电压差倍放大,输出端读出存储数据。

当然,灵敏放大器模块还连接有读出驱动电路,其用于在标准读写模式的读操作时读取输出权重值。

模式选择模块用于切换存储阵列模块的标准读写模式和多比特乘累加计算模式。

如图3所示,模式选择模块根据外部使能信号MEN选择模式。

当外部使能信号MEN为高电平时,即权重位线一LW[1]~LW[n]、权重位线二RW[1]~RW[n]与多比特运算模块不接通,存储阵列模块为标准读写模式。

当外部使能信号MEN为低电平时,存储阵列模块为多比特乘累加计算模式,权重位线一LW[1]~LW[n]、权重位线二RW[1]~RW[n]与多比特运算模块接通,使第k个灵敏放大器一与第k个级联计算单元一连接,第k个灵敏放大器二与第k个级联计算单元二连接。

在标准读写模式和多比特乘累加计算模式下,左子阵列、右子阵列均并行工作。当存储阵列模块完成标准读操作后,存储数据通过灵敏放大器模块读出,输出对应的权重值一DOUTL与权重值二DOUTR,对应2-bit权重。

在多比特乘累加计算模式下,2-bit权重分比特传输至级联计算单元一/二;外部4-bit输入分为两组,分别传递至全局位线GBL/GBLB,表征为V

若读取的权重值为“0”,则该计算单元不产生电流,即乘法操作结果为0;若读取的权重值为“1”,则计算位线电容(C

量化单元模块用于在多比特乘累加计算模式下,将计算位线CBL/CBLB累积的电压变化量进行量化,获得量化输出。

需要说明的是,量化单元模块设置了两个,一个连接到计算位线CBL,用于对计算位线CBL的电压变化量进行量化;另一个连接到计算位线CBLB,用于对计算位线CBLB的电压变化量进行量化。

参看图10,两个量化单元模块结构相同,均包括电容阵列、逐次逼近逻辑控制单元、电压比较器。

电容阵列包括5个电容C0~C4,其中第一电容为C0,第二电容为C1,第三电容为C2,第四电容为C3,第五电容为C4。五个电容的关系为C4:C3:C2:C1:C0=8:4:2:1:1。

电容C0、C1、C2、C3、C4的上极板均连接至电压比较器的输入节点INP,电容C0、C1、C2、C3、C4的下极板分别通过控制开关S[0]、S[1]、S[2]、S[3]、S[4]连接到计算位线CBL或CBLB、参考电压VREF、电源VDD。

逐次逼近逻辑控制单元采用逐次逼近逻辑生成控制信号S[4:0],用于控制电容阵列生成电压比较器使能信号EN进而控制电压比较器。

电压比较器的输入节点INN连接至共模电压VCM。控制信号CE开启时,输入节点INP、INN短接,电压比较器使能信号EN开启电压比较器,对输入节点INP、INN的电压进行比较,产生输出Output。

对于单个量化单元模块而言,其将7种不同的乘累加结果量化为4-bit数据(0~15),即最大量化结果MAC_MAX=15。

量化单元模块执行标准二分法转化,参考图10,对于连接计算位线CBL的量化单元模块一,以乘累加MAC=9举例:

首先,控制信号CE开启,节点INN、INP短接至共模电压VCM,VCM对应量化数字输出0。

当电容阵列完成对计算位线CBL上乘累加得到的模拟电压采样后,开关S[4:0]切换至电源VDD,此时节点INP的电压为:

V

当比较阶段开始时,逐次逼近逻辑控制单元通过控制开关S[4],将第五电容C4的下极板与参考电压V

V

经过电压比较器对V

V

经过电压比较器对V

V

经过电压比较器对V

V

此时的V

同理,对于连接计算位线CBLB的量化单元模块二,也以乘累加MAC=9举例,工作过程与上面类似,也输出乘累加计算数字结果MAC=9,即为量化单元模块二的Output。

量化单元模块一的Output和量化单元模块二的Output用于输入到数字组合电路中,并进行权重再分配,这样经过数字组合电路转换后得到全精度数字结果输出。以上述的两个Output均为MAC=9为例,则最终全精度输出为FMAC=153(“10011001”)。

此外,上述部件的工作由时序控制电路模块控制,其通过控制存内计算电路结构各部分时序,使其对应工作。具体的,时序控制电路控制各输入信号、控制信号的高低电平切换。

实施例2

本实施例2对实施例1中h取2时,具体模拟域计算过程进行原理性说明及仿真证明。

参看图11,为多比特运算模块中任一对级联计算单元(以第1个级联计算单元一、第1个级联计算单元二组成第1对级联计算单元为例)执行2-bit输入与2-bit权重乘法计算结果示意图。

W[1:0]×IN[3:2]的具体模拟域计算过程如下:

当权重W[1:0]=00时,即左存储阵列的权重值LW[1]与右存储阵列的权重值RW[1]均为“0”,此时无论输入IN[3:2]值为多少(IN[3:2]=00、01、10、11),低位联计算单元与高位级联计算单元均不导通,即计算位线CBL上无放电电流产生,计算位线电容C

在以上共计7种情况下,位线CBL产生电压变化ΔV

当W[1:0]=01,IN[3:2]=01时,即RW[1]=0,LW[1]=1,V

当W[1:0]=01,IN[3:2]=10时,即RW[1]=1,LW[1]=0,V

当W[1:0]=01,IN[3:2]=11时,即RW[1]=0,LW[1]=1,V

当W[1:0]=10,IN[3:2]=01时,即RW[1]=1,LW[1]=0,V

当W[1:0]=10,IN[3:2]=10时,即RW[1]=1,LW[1]=0,V

当W[1:0]=10,IN[3:2]=11时,即RW[1]=1,LW[1]=0,V

当W[1:0]=11,IN[3:2]=01时,即RW[1]=1,LW[1]=1,VGBL在一个计算周期内高电平持续时间T

当W[1:0]=11,IN[3:2]=10,即RW[1]=1,LW[1]=1,V

当W[1:0]=11,IN[3:2]=11时,即RW[1]=1,LW[1]=1,VGBL在一个计算周期内高电平持续时间T

具体的真值表如下表一:

表一多比特运算模块进行多比特乘累加运算的真值表

由以上分析可知,在模拟域中,

容易证明IN[3:2]分别为“00”、“01”、“10”及“11”时,对应放电时间分别为“0t”、“1t”、“2t”及“3t”。

而为了证明W[1:0]分别为“00”、“01”、“10”及“11”时,对应的计算单元放电电流分别为“0I”、“1I”、“2I”、“3I”,要依据图6的等效电路进行直流分析:

当N1[1]与N5[1]均工作于饱和区,N2[1]与N6[1]均工作与深线性区,可以做出一个由可调电流源I与可调线性电阻R

需要说明的是,(W/L)

计算开始前,计算位线电容C

其中,μ

高位级联计算单元的导通电流I

可调线性电阻R

其中,节点LX(即X1[1])的电压V

V

节点RX(即X3[1])的电压V

V

当可调线性电阻R

一对级联计算单元的放电电流等于高位级联计算单元电流I

当W[1:0]分别为“00”、“01”、“10”及“11”时,总放电电流分别为:0*I

又根据线性电容VCR(Voltage Current Relation)关系式可得:

即验证了公式(1)、(2)、(3)。

此外,参见图12、图13、图14为2-bit输入与2-bit权重乘法计算7种放电结果蒙特卡洛仿真证明图,图12验证了W[1:0]×N[3:2]=10×01与W[1:0]×N[3:2]=01×10两种计算情况在CBL上的放电量均为2ΔV,且其蒙特卡洛仿真的高斯分布显示放电操作结束后CBL上电压均值与标准差近似相等。同理,图13验证了W[1:0]×IN[3:2]=01×11与W[1:0]×N[3:2]=11×01两种计算情况在CBL上的放电量均为3ΔV;图14验证了W[1:0]×IN[3:2]=10×11与W[1:0]×N[3:2]=11×10两种计算情况在CBL上的放电量均为6ΔV。可知本多比特运算模块在模拟域中的执行的多比特乘累加计算具有可靠性。

本实施例2还对实施例1公开的存内计算电路系统功耗及能效随工作电压变化的进行了仿真。参看图15,横坐标为工作电压,左边纵坐标表示功耗,右边纵坐标表示能效。从图中可以看到,随着工作电压的降低,功耗降低,能效得到提升,该电路最低工作电压可到0.5V,此时的功耗及能效分别为43.21μW和84.39TOPS/W,功耗及能效符合要求。

实施例3

本实施例3考虑更普遍的情况,即为了验证设计方法的实用性:将高位级联计算单元中N5[k]宽长比设置为低位级联计算单元中N1[k]宽长比的h倍,而其他条件均不变,可以使高位级联计算单元被激活时产生的放电电流I

参考实施例2,公式(5)、(8)替换成公式(13)、(14):

高位级联计算单元的导通电流I

节点RX(即X3[k])的电压V

V

再将公式(14)代入公式(13),同时再将公式(7)代入公式(4)中,可得:

则重写公式(15)、(16)可得:

则可转化为证明:

即证明公式(18):

而根据洛必达法则可得:

即公式(18)得证,所以,I

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

技术分类

06120115919662