CN114647398B - 一种基于进位旁路加法器的存内计算装置 - Google Patents
一种基于进位旁路加法器的存内计算装置 Download PDFInfo
- Publication number
- CN114647398B CN114647398B CN202210559249.0A CN202210559249A CN114647398B CN 114647398 B CN114647398 B CN 114647398B CN 202210559249 A CN202210559249 A CN 202210559249A CN 114647398 B CN114647398 B CN 114647398B
- Authority
- CN
- China
- Prior art keywords
- carry
- transistor
- input end
- gate
- adder module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Static Random-Access Memory (AREA)
- Complex Calculations (AREA)
Abstract
本发明涉及一种基于进位旁路加法器的存内计算装置,涉及存内计算领域,包括输入驱动模块、SRAM阵列、进位旁路加法器和多个D触发器,所述输入驱动模块用于为所述SRAM阵列中每行SRAM提供一个输入脉冲信号,各SRAM用于存储权重,各行SRAM中每个SRAM对应一个第一与门,各第一与门的第一输入端连接对应行的输入脉冲信号,各第一与门的第二输入端连接对应的SRAM的输出,各行第一与门的输出共线连接到所述进位旁路加法器的输入端,所述进位旁路加法器用于对所述SRAM阵列中各列第一与门输出的数据进行逐列相加,所述进位旁路加法器的输出连接各D触发器的输入。本发明提高了存内计算的加法速度。
Description
技术领域
本发明涉及存内计算技术领域,特别是涉及一种基于进位旁路加法器的存内计算装置。
背景技术
在人工智能技术高速发展的今天,卷积神经网络作为一种高效且快速的神经网络类型而得到广泛的使用。但由于大量的数据交换需求,卷积神经网络在冯诺依曼体系下的效率较低。为了减少内存墙对性能的影响,基于卷积神经网络的存内计算技术应运而生。
然而,现今的绝大部分存内计算架构都采用了模拟电路的设计方法,受PVT效应(P是指process,是指芯片上单元的制造过程,工艺等;V是voltage,代表芯片上单元工作电压;T是temperature,代表芯片上单元的工作温度)的影响较大,且得到的MAC(乘累加)值不是全精度。这同样限制了卷积神经网络的准确性。
发明内容
本发明的目的是提供一种基于进位旁路加法器的存内计算装置,具有全精度的输出结果,且提高了存内计算的加法速度。
为实现上述目的,本发明提供了如下方案:
一种基于进位旁路加法器的存内计算装置,包括输入驱动模块、SRAM阵列、进位旁路加法器和多个D触发器,所述输入驱动模块用于为所述SRAM阵列中每行SRAM提供一个输入脉冲信号,各SRAM用于存储权重,各行SRAM中每个SRAM对应一个第一与门,各第一与门的第一输入端连接对应行的输入脉冲信号,各第一与门的第二输入端连接对应的SRAM的输出,各行第一与门的输出共线连接到所述进位旁路加法器的输入端,所述进位旁路加法器用于对所述SRAM阵列中各列第一与门输出的数据进行逐列相加,所述进位旁路加法器的输出连接各D触发器的输入,所述D触发器用于寄存所述进位旁路加法器输出的计算结果。
可选地,所述SRAM阵列为8行8列的SRAM阵列,各所述SRAM均为8晶体管存储单元。
可选地,所述8晶体管存储单元包括管N1、管N2、管N3、管N4、管N5、管N6、管P1和管P2,管N1、管N2、管N3、管N4、管N5和管N6均为NMOS管,管P1和管P2均为PMOS管;
管P1的栅极分别与管N1的栅极、管P2的漏极、管N2的漏极和管N4的漏极连接,管P2的栅极分别与管N2的栅极、管P1的漏极、管N1的漏极和管N3的漏极连接,管P1的源极和管P2的源极均与电源VDD连接,管N3的栅极和管N4的栅极均连接字线WL,管N3的源极连接位线BL,管N4的源极连接位线BLB,管N1的源极和管N2的源极均接公共端VSS,管N5的栅极连接管N2的漏极,管N5的漏极连接管N6的漏极,管N5的源极接所述公共端VSS,管N6的栅极连接读字线RWL,管N6的源极连接读位线RBLB,读位线RBLB为所述8晶体管存储单元的输出。
可选地,所述进位旁路加法器包括第一进位旁路加法器模块、第二进位旁路加法器模块、第三进位旁路加法器模块和第四进位旁路加法器模块;所述第一进位旁路加法器模块、所述第二进位旁路加法器模块、所述第三进位旁路加法器模块和所述第四进位旁路加法器模块均包括进位输入端、第一加数输入端,第二加数输入端、进位输出端以及和输出端,所述第一进位旁路加法器模块的进位输出端连接第二加数输入端的进位输入端,所述第二进位旁路加法器模块的进位输出端连接第三加数输入端的进位输入端,所述第三进位旁路加法器模块的进位输出端连接第四加数输入端的进位输入端;所述第一进位旁路加法器模块、所述第二进位旁路加法器模块、所述第三进位旁路加法器模块和所述第四进位旁路加法器模块的第一加数输入端和第二加数输入端均为4bit位输入端。
可选地,所述第一进位旁路加法器模块、第二进位旁路加法器模块、第三进位旁路加法器模块和第四进位旁路加法器模块结构相同;
所述第一进位旁路加法器模块包括第一全加器模块、第二全加器模块、第三全加器模块、第四全加器模块、第一异或门、第二异或门、第三异或门、第四异或门、第二与门和二选一电路,所述第一全加器模块、所述第二全加器模块、所述第三全加器模块和所述第四全加器模块均包括进位输入端、第一加数输入端,第二加数输入端、进位输出端以及和输出端,所述第一全加器模块的进位输出端连接所述第二全加器模块的进位输入端,所述第二全加器模块的进位输出端连接所述第三全加器模块的进位输入端,所述第三全加器模块的进位输出端连接所述第四全加器模块的进位输入端,所述第一全加器模块、所述第二全加器模块、所述第三全加器模块和所述第四全加器模块的第一加数输入端和第二加数输入端均为1bit位输入端,所述第一全加器模块的第一加数输入端连接所述第一异或门的第一输入端,所述第一全加器模块的第二加数输入端连接所述第一异或门的第二输入端,所述第二全加器模块的第一加数输入端连接所述第二异或门的第一输入端,所述第二全加器模块的第二加数输入端连接所述第二异或门的第二输入端,所述第三全加器模块的第一加数输入端连接所述第三异或门的第一输入端,所述第三全加器模块的第二加数输入端连接所述第三异或门的第二输入端,所述第四全加器模块的第一加数输入端连接所述第四异或门的第一输入端,所述第四全加器模块的第二加数输入端连接所述第四异或门的第二输入端,所述第一异或门的输出端、所述第一异或门的输出端、所述第一异或门的输出端和所述第一异或门的输出端分别连接所述第二与门的输入端,所述第二与门的输出端与所述二选一电路的选择信号输入端连接,所述第一全加器模块的进位输入端连接所述二选一电路的第一输入端,所述第四全加器模块的进位输出端连接所述二选一电路的第二输入端,所述二选一电路的输出端为所述第一进位旁路加法器模块的进位输出端。
可选地,所述D触发器的数量为16,每个D触发器寄存一位所述进位旁路加法器的输出。
可选地,所述进位旁路加法器用于根据时钟信号控制对所述SRAM阵列中各列第一与门输出的数据进行逐列相加。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明公开了一种基于进位旁路加法器的存内计算装置,根据进位旁路加法器对SRAM阵列的输出和输入信号的相乘结果进行逐列加法计算,并将每一位输出结果由D触发器寄存,具有全精度的输出结果,且提高了存内计算的加法速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种基于进位旁路加法器的存内计算装置结构示意图;
图2为本发明8晶体管存储单元结构示意图;
图3为本发明进位旁路加法器结构示意图;
图4为本发明第一进位旁路加法器模块结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于进位旁路加法器的存内计算装置,具有全精度的输出结果,且提高了存内计算的加法速度。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明一种基于进位旁路加法器的存内计算装置结构示意图,如图1所示,一种基于进位旁路加法器的存内计算装置,包括输入驱动模块101、SRAM阵列102、进位旁路加法器103和多个D触发器104,所述输入驱动模块101用于为所述SRAM阵列102中每行SRAM提供一个输入脉冲信号,各SRAM用于存储权重,各行SRAM中每个SRAM(静态随机存取存储器)对应一个第一与门,各第一与门的第一输入端连接对应行的输入脉冲信号,各第一与门的第二输入端连接对应的SRAM的输出,各行第一与门的输出共线连接到所述进位旁路加法器103的输入端,所述进位旁路加法器103用于对所述SRAM阵列102中各列第一与门输出的数据进行逐列相加,所述进位旁路加法器103的输出连接各D触发器104的输入,所述D触发器104用于寄存所述进位旁路加法器103输出的计算结果。
各D触发器104的第一输出端连接所述进位旁路加法器103的输入,各D触发器104的第二输出端直接输出。D触发器104中Q为D触发器的输出端。
所述SRAM阵列102为8行8列的SRAM阵列102,各所述SRAM均为8晶体管存储单元,8晶体管存储单元如图1中8T。
如图1中IN[7]、IN[6]、IN[5]、IN[4]、IN[3]、IN[2]、IN[1]和IN[0]为输入驱动模块101为8行SRAM提供的输入脉冲信号。
如图2所示,所述8晶体管存储单元包括管N1、管N2、管N3、管N4、管N5、管N6、管P1和管P2,管N1、管N2、管N3、管N4、管N5和管N6均为NMOS管,管P1和管P2均为PMOS管。
所述8晶体管存储单元中连接关系:
P1的栅极接N1的栅极,P1的源极接VDD,P1的漏极接N1的漏极;
P2的栅极接N2的栅极,P2的源极接VDD,P2的漏极接N2的漏极;
N1的栅极接P1的栅极,N1的源极接VSS,N1的漏极接P1的漏极;
N2的栅极接P2的栅极,N2的源极接VSS,N2的漏极接P2的漏极;
N3的栅极接WL,N3的源极接BL,N3的漏极接P1和N1的漏极;
N4的栅极接WL,N4的源极接BLB,N4的漏极接P2和N2的漏极;
N5的栅极接P2和N2的漏极,N5的源极接VSS,N5的漏极接N6的漏极;
N6的栅极接RWL,N6的源极接RBLB,N6的漏极接N5的漏极。
读位线RBLB为所述8晶体管存储单元的输出。即第一与门的第二输入端连接对应SRAM的读位线RBLB。
管N1、管N2、管N3、管N4管P1和管P2组成了一个基本的SRAM 6T单元,字线WL用于加载写使能信号。位线BL和位线BLB用于加载权重数据。
管N5和管N6为读取电路,读字线RWL用于加载读使能信号,在读操作过程中开启。读位线RBLB为8晶体管存储单元的输出,用于将权重输出。
管P1的漏极为权重存储节点Q,管P2的漏极为权重存储节点QB。
当读字线RWL有效时,将SRAM存储的权重读出。
与8晶体管存储单元连接的第一与门用来进行乘法运算,并将乘法运算的结果送到进位旁路加法器103中。
所述D触发器104的数量为16,每个D触发器104寄存一位所述进位旁路加法器103的输出。8个8bit的数相加结果最多为16位,因此最多需要16个D触发器104。
所述进位旁路加法器103用于根据时钟信号CLK控制对所述SRAM阵列102中各列第一与门输出的数据进行逐列相加。
CLK为时钟信号,每一个时钟信号激活一个D触发器104,共有6个时钟信号。
如图3所示,所述进位旁路加法器103包括第一进位旁路加法器模块CSA0、第二进位旁路加法器模块CSA1、第三进位旁路加法器模块CSA2和第四进位旁路加法器模块CSA3;所述第一进位旁路加法器模块、所述第二进位旁路加法器模块、所述第三进位旁路加法器模块和所述第四进位旁路加法器模块均包括进位输入端、第一加数输入端,第二加数输入端、进位输出端以及和输出端,所述第一进位旁路加法器模块的进位输出端连接第二加数输入端的进位输入端,所述第二进位旁路加法器模块的进位输出端连接第三加数输入端的进位输入端,所述第三进位旁路加法器模块的进位输出端连接第四加数输入端的进位输入端;所述第一进位旁路加法器模块、所述第二进位旁路加法器模块、所述第三进位旁路加法器模块和所述第四进位旁路加法器模块的第一加数输入端和第二加数输入端均为4bit位输入端,所述第一加数输入端的进位输入端为所述进位旁路加法器103的初始进位。
A[15:0]和B[15:0]为进位旁路加法器103的两组输入,16bit的数被分为4组进入进位旁路加法器103中。
S[15:0]为进位旁路加法器103得到的和,S[15:0]的16bit的数被分为4组输出。
A[15:0]、B[15:0]和S[15:0]均表示从0至15共16bit的数。
C0为加法器的初始进位,C4、C8、C12和C16分别为经过CSA0、CSA1、CSA2、CSA3计算得到的对应位的进位结果。
CSA0、CSA1、CSA2和CSA34个相同的旁路进位加法器进位串联相接组成了一个完整的进位旁路加法器103结构。
进位旁路加法器103的连接关系简述为:
CSA0的输入接A[3:0],B[3:0]以及进位C0,输出接和S[3:0]和进位C4;
CSA1的输入接A[7:4],B[7:4]以及进位C4,输出接和S[7:4]和进位C8;
CSA2的输入接A[11:8],B[11:8]以及进位C8,输出接和S[11:8]和进位C12;
CSA3的输入接A[15:12],B[15:12]以及进位C12,输出接和S[15:12]和进位C16。
所述第一进位旁路加法器模块、第二进位旁路加法器模块、第三进位旁路加法器模块和第四进位旁路加法器模块结构相同。
如图4所示,所述第一进位旁路加法器模块包括第一全加器模块FA0、第二全加器模块FA1、第三全加器模块FA2、第四全加器模块FA3、第一异或门XOR0、第二异或门XOR1、第三异或门XOR2、第四异或门XOR3、第二与门和二选一电路MUX,所述第一全加器模块、所述第二全加器模块、所述第三全加器模块和所述第四全加器模块均包括进位输入端、第一加数输入端,第二加数输入端、进位输出端以及和输出端,所述第一全加器模块的进位输出端连接所述第二全加器模块的进位输入端,所述第二全加器模块的进位输出端连接所述第三全加器模块的进位输入端,所述第三全加器模块的进位输出端连接所述第四全加器模块的进位输入端,所述第一全加器模块、所述第二全加器模块、所述第三全加器模块和所述第四全加器模块的第一加数输入端和第二加数输入端均为1bit位输入端,所述第一全加器模块的第一加数输入端连接所述第一异或门的第一输入端,所述第一全加器模块的第二加数输入端连接所述第一异或门的第二输入端,所述第二全加器模块的第一加数输入端连接所述第二异或门的第一输入端,所述第二全加器模块的第二加数输入端连接所述第二异或门的第二输入端,所述第三全加器模块的第一加数输入端连接所述第三异或门的第一输入端,所述第三全加器模块的第二加数输入端连接所述第三异或门的第二输入端,所述第四全加器模块的第一加数输入端连接所述第四异或门的第一输入端,所述第四全加器模块的第二加数输入端连接所述第四异或门的第二输入端,所述第一异或门的输出端、所述第一异或门的输出端、所述第一异或门的输出端和所述第一异或门的输出端分别连接所述第二与门的输入端,所述第二与门的输出端与所述二选一电路的选择信号输入端连接,所述第一全加器模块的进位输入端连接所述二选一电路的第一输入端,所述第四全加器模块的进位输出端连接所述二选一电路的第二输入端,所述二选一电路的输出端为所述第一进位旁路加法器模块的进位输出端。
如图4所示,A[3]、A[2]、A[1]、A[0]和B[3]、B[2]、B[1]、B[0]为第一全加器模块的输入数据,S[3]、S[2]、S[1]、S[0]为第一全加器模块产生的和。
A[3]、A[2]、A[1]和A[0]对应输入数据A[3:0],B[3]、B[2]、B[1]和B[0]对应输入数据B[3:0]。
C0、C1、C2、C3和C4为进位信号,其中FA0中C0为初始进位(FA3、FA2和FA1中对应C0为上一级输入的进位),C4为本级产生的进位信号。
第一与门用来产生选择信号,选择C4进位的输出。
二选一电路MUX用来选择C4直接输出C0输出FA3的进位。
FA3,FA2,FA1,FA0为全加器模块,实现最基本的加法功能。
本发明一种基于进位旁路加法器的存内计算装置的操作过程如下:
本发明存内计算装置有两种操作模式,存储模式和计算模式。
存储模式:存储模式由SRAM 8T(8晶体管存储单元)中的管N1,管N2,管N3,管N4,管P1和管P2实现,用一个最基本的SRAM 6T单元完成写入操作。要进行读取操作时,先对BL和BLB进行预充电,充电到VDD,随后打开N3和N4晶体管,对BL和BLB进行放电操作。在存储模式时,N5和N6晶体管关闭,只用6T晶体管进行操作。
计算模式:开始计算模式时,先通过6T单元将权重数据写入SRAM中,通过输入驱动模块将8位数据输入送到第一与门的输入端;N5和N6晶体管使能,将权重数据送到第一与门的另一端。最靠近进位旁路加法器的一列(最右边一列)相与的结果先送入到进位旁路加法器中,与D触发器中被初始化为0的数相加,相加后的结果再写回到D触发器中。下一个时钟沿到来后,D触发器将之前寄存的第一个和数送出,与第二靠近进位旁路加法器的列(从右网左数第二列)中得到的数相加,再将新的数字存入D触发器刷新数据。以此类推,即可得到一个最大16bit数据的MAC值。
在进行加法运算时,进位旁路加法器一定程度上可以加快运算速度。基于超前进位加法器的研究,可以得到:
Pi=Ai⊕Bi,i=0,1,…,N-1;
Gi=Ai·Bi,i=0,1,…,N-1;
其中Pi为进位传递因子,Gi为进位生成因子,当Pi为1传递进位,Gi为1生成一个进位,N表示加法器的位数。对于4位的加法器,进位C4有如下结果:
C4=G3+G2&P3+G1&P3&P2+G0&P3&P2&P1+C0&P3&P2&P1&P0。
根据上面对进位因子的分析,设计进位旁路加法器。将选择信号设置为P3&P2&P1&P0。当P3&P2&P1&P0=1,则P3,P2,P1,P0全为1。根据进位传递因子的公式,可知仅存在Ai=0且Bi=1或者Ai=1且Bi=0这两种情况,而这两种情况下Gi都为0。因此,当P3&P2&P1&P0=1,C4=C0。可将C0直接输出得到C4,从而加快了加法的计算速度。
本发明采用了8T SRAM存内计算单元组成了8x8的阵列,基于进位旁路加法器进行MAC运算。支持无符号数的运算,其中0电压代表“0”,VDD代表“1”,支持最高8bit的权重和8bit的输入,输出最高支持16bit精度。此设计主要分为3个部分,提供输入驱动的输入驱动模块,用来存储权重和进行乘法计算的SRAM阵列,以及进行加法计算的迭代进位旁路加法器部分。
本发明的技术效果如下:
第一个优点为全精度,数字电路是二值化电路,相对于模拟电路实现存内计算来说不需要ADC(模数转换)的量化,可以直接得到全精度的数字,并忽略了模拟的PVT效应。
第二个优点为加法器部分采用了进位旁路加法器,可以在一定程度上加快计算加法的速度,可以直接传递进位。
第三个优点为采用了D触发器进行电路的复用,节省了电路的面积,只用一个加法器实现了8x8的阵列的MAC运算,提高了电路的复用率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (7)
1.一种基于进位旁路加法器的存内计算装置,其特征在于,包括输入驱动模块、SRAM阵列、进位旁路加法器和多个D触发器,所述输入驱动模块用于为所述SRAM阵列中每行SRAM提供一个输入脉冲信号,各SRAM用于存储权重,各行SRAM中每个SRAM对应一个第一与门,各第一与门的第一输入端连接对应行的输入脉冲信号,各第一与门的第二输入端连接对应的SRAM的输出,各行第一与门的输出共线连接到所述进位旁路加法器的输入端,所述进位旁路加法器用于对所述SRAM阵列中各列第一与门输出的数据进行逐列相加,所述进位旁路加法器的输出连接各D触发器的输入,所述D触发器用于寄存所述进位旁路加法器输出的计算结果。
2.根据权利要求1所述的基于进位旁路加法器的存内计算装置,其特征在于,所述SRAM阵列为8行8列的SRAM阵列,各所述SRAM均为8晶体管存储单元。
3.根据权利要求2所述的基于进位旁路加法器的存内计算装置,其特征在于,所述8晶体管存储单元包括管N1、管N2、管N3、管N4、管N5、管N6、管P1和管P2,管N1、管N2、管N3、管N4、管N5和管N6均为NMOS管,管P1和管P2均为PMOS管;
管P1的栅极分别与管N1的栅极、管P2的漏极、管N2的漏极和管N4的漏极连接,管P2的栅极分别与管N2的栅极、管P1的漏极、管N1的漏极和管N3的漏极连接,管P1的源极和管P2的源极均与电源VDD连接,管N3的栅极和管N4的栅极均连接字线WL,管N3的源极连接位线BL,管N4的源极连接位线BLB,管N1的源极和管N2的源极均接公共端VSS,管N5的栅极连接管N2的漏极,管N5的漏极连接管N6的漏极,管N5的源极接所述公共端VSS,管N6的栅极连接读字线RWL,管N6的源极连接读位线RBLB,读位线RBLB为所述8晶体管存储单元的输出。
4.根据权利要求2所述的基于进位旁路加法器的存内计算装置,其特征在于,所述进位旁路加法器包括第一进位旁路加法器模块、第二进位旁路加法器模块、第三进位旁路加法器模块和第四进位旁路加法器模块;所述第一进位旁路加法器模块、所述第二进位旁路加法器模块、所述第三进位旁路加法器模块和所述第四进位旁路加法器模块均包括进位输入端、第一加数输入端,第二加数输入端、进位输出端以及和输出端,所述第一进位旁路加法器模块的进位输出端连接第二加数输入端的进位输入端,所述第二进位旁路加法器模块的进位输出端连接第三加数输入端的进位输入端,所述第三进位旁路加法器模块的进位输出端连接第四加数输入端的进位输入端;所述第一进位旁路加法器模块、所述第二进位旁路加法器模块、所述第三进位旁路加法器模块和所述第四进位旁路加法器模块的第一加数输入端和第二加数输入端均为4bit位输入端。
5.根据权利要求4所述的基于进位旁路加法器的存内计算装置,其特征在于,所述第一进位旁路加法器模块、第二进位旁路加法器模块、第三进位旁路加法器模块和第四进位旁路加法器模块结构相同;
所述第一进位旁路加法器模块包括第一全加器模块、第二全加器模块、第三全加器模块、第四全加器模块、第一异或门、第二异或门、第三异或门、第四异或门、第二与门和二选一电路,所述第一全加器模块、所述第二全加器模块、所述第三全加器模块和所述第四全加器模块均包括进位输入端、第一加数输入端,第二加数输入端、进位输出端以及和输出端,所述第一全加器模块的进位输出端连接所述第二全加器模块的进位输入端,所述第二全加器模块的进位输出端连接所述第三全加器模块的进位输入端,所述第三全加器模块的进位输出端连接所述第四全加器模块的进位输入端,所述第一全加器模块、所述第二全加器模块、所述第三全加器模块和所述第四全加器模块的第一加数输入端和第二加数输入端均为1bit位输入端,所述第一全加器模块的第一加数输入端连接所述第一异或门的第一输入端,所述第一全加器模块的第二加数输入端连接所述第一异或门的第二输入端,所述第二全加器模块的第一加数输入端连接所述第二异或门的第一输入端,所述第二全加器模块的第二加数输入端连接所述第二异或门的第二输入端,所述第三全加器模块的第一加数输入端连接所述第三异或门的第一输入端,所述第三全加器模块的第二加数输入端连接所述第三异或门的第二输入端,所述第四全加器模块的第一加数输入端连接所述第四异或门的第一输入端,所述第四全加器模块的第二加数输入端连接所述第四异或门的第二输入端,所述第一异或门的输出端、所述第二异或门的输出端、所述第三异或门的输出端和所述第四异或门的输出端分别连接所述第二与门的输入端,所述第二与门的输出端与所述二选一电路的选择信号输入端连接,所述第一全加器模块的进位输入端连接所述二选一电路的第一输入端,所述第四全加器模块的进位输出端连接所述二选一电路的第二输入端,所述二选一电路的输出端为所述第一进位旁路加法器模块的进位输出端。
6.根据权利要求5所述的基于进位旁路加法器的存内计算装置,其特征在于,所述D触发器的数量为16,每个D触发器寄存一位所述进位旁路加法器的输出。
7.根据权利要求1所述的基于进位旁路加法器的存内计算装置,其特征在于,所述进位旁路加法器用于根据时钟信号控制对所述SRAM阵列中各列第一与门输出的数据进行逐列相加。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210559249.0A CN114647398B (zh) | 2022-05-23 | 2022-05-23 | 一种基于进位旁路加法器的存内计算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210559249.0A CN114647398B (zh) | 2022-05-23 | 2022-05-23 | 一种基于进位旁路加法器的存内计算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114647398A CN114647398A (zh) | 2022-06-21 |
CN114647398B true CN114647398B (zh) | 2022-08-05 |
Family
ID=81997411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210559249.0A Active CN114647398B (zh) | 2022-05-23 | 2022-05-23 | 一种基于进位旁路加法器的存内计算装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114647398B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113035251A (zh) * | 2021-05-21 | 2021-06-25 | 中科院微电子研究所南京智能技术研究院 | 一种数字存内计算阵列装置 |
CN114512161A (zh) * | 2022-04-19 | 2022-05-17 | 中科南京智能技术研究院 | 一种带符号的存内计算装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11200029B2 (en) * | 2020-04-16 | 2021-12-14 | Flashsilicon Incorporation | Extendable multiple-digit base-2n in-memory adder device |
CN112151091B (zh) * | 2020-09-29 | 2023-03-21 | 中科南京智能技术研究院 | 一种8t sram单元及存内计算装置 |
CN112884140B (zh) * | 2021-03-11 | 2024-02-20 | 中科南京智能技术研究院 | 一种多位存内计算单元、阵列及装置 |
CN113077050B (zh) * | 2021-06-07 | 2021-08-17 | 中科院微电子研究所南京智能技术研究院 | 一种用于神经网络处理的数字域计算电路装置 |
CN113805842B (zh) * | 2021-11-17 | 2022-02-22 | 中科南京智能技术研究院 | 一种基于超前进位加法器实现的存算一体装置 |
CN114089950B (zh) * | 2022-01-20 | 2022-05-27 | 中科南京智能技术研究院 | 一种多比特乘累加运算单元及存内计算装置 |
-
2022
- 2022-05-23 CN CN202210559249.0A patent/CN114647398B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113035251A (zh) * | 2021-05-21 | 2021-06-25 | 中科院微电子研究所南京智能技术研究院 | 一种数字存内计算阵列装置 |
CN114512161A (zh) * | 2022-04-19 | 2022-05-17 | 中科南京智能技术研究院 | 一种带符号的存内计算装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114647398A (zh) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112151091B (zh) | 一种8t sram单元及存内计算装置 | |
CN111816231B (zh) | 一种双-6t sram结构的存内计算装置 | |
CN109979503B (zh) | 一种在内存中实现汉明距离计算的静态随机存储器电路结构 | |
CN112951294A (zh) | 计算设备以及计算方法 | |
CN112558919B (zh) | 一种存内计算位单元及存内计算装置 | |
CN112992232B (zh) | 一种多位正负单比特存内计算单元、阵列及装置 | |
CN113257306B (zh) | 一种基于静态随机存取存储器的存算一体阵列及加速装置 | |
CN111816234A (zh) | 一种基于sram位线同或的电压累加存内计算电路 | |
CN114937470B (zh) | 基于多比特sram单元的定点全精度存内计算电路 | |
CN110970071B (zh) | 低功耗静态随机存取存储器的存储单元及应用 | |
CN112884140B (zh) | 一种多位存内计算单元、阵列及装置 | |
CN114300012B (zh) | 一种解耦合sram存内计算装置 | |
CN113342126B (zh) | 一种基于ReRAM的可重构电流镜加权电路 | |
CN113467751A (zh) | 一种基于磁性随机存储器的模拟域存内计算阵列结构 | |
CN117271436B (zh) | 基于sram的电流镜互补存内计算宏电路、及芯片 | |
CN116594587A (zh) | 一种基于动态逻辑乘法的单比特全数字存内计算单元 | |
CN114038492B (zh) | 一种多相采样存内计算电路 | |
CN112233712A (zh) | 一种6t sram存算装置、存算系统及存算方法 | |
CN117130978A (zh) | 基于稀疏跟踪adc的电荷域存内计算电路及其计算方法 | |
CN114647398B (zh) | 一种基于进位旁路加法器的存内计算装置 | |
CN114895869B (zh) | 一种带符号的多比特存内计算装置 | |
CN116543808A (zh) | 一种基于sram单元的全数字域存内近似计算电路 | |
CN114882921A (zh) | 一种多比特计算装置 | |
Zhao et al. | A Novel Transpose 2T-DRAM based Computing-in-Memory Architecture for On-chip DNN Training and Inference | |
CN112214197A (zh) | Sram全加器及多比特sram全加器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |