CN113805842B - 一种基于超前进位加法器实现的存算一体装置 - Google Patents
一种基于超前进位加法器实现的存算一体装置 Download PDFInfo
- Publication number
- CN113805842B CN113805842B CN202111357751.5A CN202111357751A CN113805842B CN 113805842 B CN113805842 B CN 113805842B CN 202111357751 A CN202111357751 A CN 202111357751A CN 113805842 B CN113805842 B CN 113805842B
- Authority
- CN
- China
- Prior art keywords
- carry
- gate
- transistor
- multiplication
- data
- 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/544—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 for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
Abstract
本发明涉及一种基于超前进位加法器实现的存算一体装置,包括:2N个乘法模块、超前进位加法器和乘累加模块;利用乘法模块将输入数据与权重值相乘,并将相乘结果同时馈入超前进位加法器中进行累加,可实现灵活多位宽的全数字存内计算。另外,与串行进位加法器实现4Bit加法需要9级门延迟相比,本申请公开的超前进位加法器实现同等的4Bit加法只需要5级门延迟,可将累加延迟缩短44%。因此,本发明不仅实现对二进制化权重值和激活的神经网络实现硬件加速,还可以实现在单个周期内实现4×4的矢量矩阵乘法。
Description
技术领域
本发明涉及存内计算技术领域,特别是涉及一种基于超前进位加法器实现的存算一体装置。
背景技术
人工智能、数据驱动计算、机器学习和优化任务引发了人们对开发硬件加速器的兴趣,这些加速器专门用于解决通信带宽、延迟、安全性等日益增加的问题。乘法和累加(MAC)是处理人工神经网络的硬件加速器的关键算术逻辑运算。例如,卷积神经网络(CNN)通常需要数十亿MAC操作来测试单个图像分类。因此,由多个MAC单元组成的MAC电路和算术逻辑单元(ALU)结构的设计对硬件加速器的性能起着至关重要的作用。
传统将ALU和内存的物理位置分开,独自使用各自功能(即基于流行的冯·诺依曼体系结构)。随着数据量的爆炸性增长,计算时过度能耗和显著延迟迅速增加,为了解决存储墙问题,人们提出存内计算(Computing In Memory)体系结构。CIM体系结构减轻了传统体系结构频繁的片外存储器访问带来的巨大能耗。此外,现有CIM宏的模拟密集型计算降低了计算能量,但牺牲了模拟特定的非理想性。目前对于模拟域实现CIM主要存在以下几个挑战:1.写干扰、位线动态裕度范围小;2.模拟本身的非理想性,包括工艺敏感,噪声敏感;3.DAC、ADC的面积功耗开销以及精度;4.输出ADC的定额量化导致位宽固定,可配置性差,应用场景受限。
发明内容
本发明的目的是提供一种基于超前进位加法器实现的存算一体装置,以缩短累加延迟。
为实现上述目的,本发明提供了一种基于超前进位加法器实现的存算一体装置,所述装置包括:
2N个乘法模块,用于将输入数据与权重值按相位相乘,获得乘积数据Ai和Bi,其中,N为大于等于1的正整数,i为大于等于0且小于等于N-1的正整数;
超前进位加法器,分别与2N个所述乘法模块连接,用于将乘积数据Ai和Bi进行超前进位计算,获得进位输出数据CN和超前输出数据Si;
乘累加模块,与所述超前进位加法器连接,用于将超前输出数据Si进行累加操作,获得累加和;
所述超前进位加法器包括:N个进位产生器和N个异或门,第j个进位产生器分别与第2j-1个乘法模块和第2j个乘法模块连接,第j个异或门分别与第2j-1个乘法模块、第2j个乘法模块和第j-1个进位产生器连接;所述第j个进位产生器用于将乘积数据Aj-1和Bj-1进行超前进位计算,获得进位输出数据Cj;第j个所述异或门用于将乘积数据Aj-1、Bj-1和进位输出数据Cj-1进行异或操作,获得超前输出数据Sj-1;其中,j为大于1且小于等于N的正整数;
第1个异或门分别与第1个乘法模块和第2个乘法模块连接,用于乘积数据A0、B0和初始数据C0进行异或操作,获得超前输出数据S0;第1个进位产生器用于将乘积数据A0、B0和初始数据C0进行超前进位计算,获得进位输出数据C1。
可选地,所述装置还包括:
输入模块,分别与2N个所述乘法模块连接,用于将2N个输入数据分别输入各所述乘法模块。
可选地,各所述乘法模块均包括:
6T-SRAM存储单元,用于读、写和存储权重值;
累乘单元,分别与所述输入模块和6T-SRAM存储单元连接,用于将输入数据和权重值按相位相乘,获得乘积数据。
可选地,第j个所述进位产生器包括:2个或门和j+1个与门;第1个与门的两个输入端分别与第2j-1个乘法模块和第2j个乘法模块连接,第1个与门的输出端与第2个或门的输入端连接,第2个或门的输出端输出进位输出数据Cj;第1个或门的两个输入端分别与第2j-1个乘法模块和第2j个乘法模块连接,第1个或门的输出端与剩余j个与门的输入端均连接,剩余j个与门的输出端与第2个或门的输入端均连接;第2个与门与前1个所述进位产生器连接,第3个与门与前2个所述进位产生器连接,以此类推,直至第j个与门和第j+1个与门均与前j-1个所述进位产生器连接,其中,j为大于1且小于等于N的正整数;
第1个进位产生器包括2个或门和2个与门,第1个与门的两个输入端分别与第1个乘法模块和第2个乘法模块连接,第1个与门的输出端与第2个或门的输入端连接,第2个或门的输出端输出进位输出数据C1;第1个或门的两个输入端分别与第1个乘法模块和第2个乘法模块连接,第1个或门的输出端与第2个与门的输入端连接,第2个与门的输出端与第2个或门的输入端连接。
可选地,所述6T-SRAM存储单元包括:
晶体管T1、晶体管T2、晶体管T3、晶体管T4、晶体管T5和晶体管T6;
晶体管T1的源极和晶体管T2的源极均与电源VDD连接,晶体管T1的栅极、晶体管T3的栅极、晶体管T2的漏极和晶体管T4的漏极均与Q点连接,晶体管T2的栅极、晶体管T4的栅极、晶体管T1的漏极和晶体管T3的漏极均与QB点连接,晶体管T3的源极和晶体管T4的源极均与公共端VSS连接,晶体管T5的栅极和晶体管T6的栅极均与字线连接,晶体管T5的漏极与QB点连接,晶体管T5的源极与位线连接,晶体管T6的源极与Q点连接,晶体管T6的漏极与反位线连接。
可选地,所述累乘单元为XNOR模块。
可选地,第j个所述进位产生器生成的进位输出数据Cj=Gj-1+Pj-1×Cj-1;其中,Gj-1=Aj-1×Bj-1,Pj-1=Aj-1+Bj-1;当j=1时,C1=G0+P0×C0,C0表示初始数据。
可选地,第j个异或门生成的超前输出数据Sj-1=Aj-1⊕Bj-1⊕Cj-1;当j=1时,S0=A0⊕B0⊕C0;其中,⊕表示异或运算符号。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明公开一种基于超前进位加法器实现的存算一体装置,利用乘法模块将输入数据与权重值相乘,并将相乘结果同时馈入超前进位加法器中进行累加,可实现灵活多位宽的全数字存内计算。另外,本发明公开的超前进位加法器相比串行进位加法器实现4Bit加法需要9级门延迟,本申请公开的超前进位加法器实现同等的4Bit加法只需要5级门延迟,可将累加延迟缩短44%。因此本发明不仅实现对二进制化权重值和激活的神经网络实现硬件加速,还可以实现在单个周期内实现4×4的矢量矩阵乘法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实现4bit的存算一体装置结构图;
图2为本发明乘累加模块结构图;
图3为本发明4bit超前进位加法器结构示意图;
图4为本发明4bit进位产生器电路结构图;
图5为本发明6T-SRAM存储单元结构图;
符号说明:
1、输入模块,2、乘法模块,3、超前进位加法器,4、乘累加模块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于超前进位加法器实现的存算一体装置,以缩短累加延迟。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明公开一种基于超前进位加法器实现的存算一体装置,所述装置包括:输入模块、2N个乘法模块、超前进位加法器和乘累加模块;所述输入模块分别与2N个所述乘法模块连接,所述超前进位加法器分别与2N个所述乘法模块连接,所述乘累加模块与所述超前进位加法器连接,其中,N为大于等于1的正整数。
各所述乘法模块用于将输入数据与权重值按相位相乘,获得乘积数据Ai和Bi,其中,i为大于等于0且小于等于N-1的正整数;所述超前进位加法器用于将乘积数据Ai和Bi进行超前进位计算,获得进位输出数据CN和超前输出数据Si;所述乘累加模块用于将超前输出数据Si进行累加操作,获得累加和。
所述超前进位加法器包括:N个进位产生器和N个异或门,第j个进位产生器分别与第2j-1个乘法模块和第2j个乘法模块连接,第j个异或门分别与第2j-1个乘法模块、第2j个乘法模块和第j-1个进位产生器连接;所述第j个进位产生器用于将乘积数据Aj-1和Bj-1进行超前进位计算,获得进位输出数据Cj;第j个所述异或门用于将乘积数据Aj-1、Bj-1和进位输出数据Cj-1进行异或操作,获得超前输出数据Sj-1;其中,j为大于1且小于等于N的正整数;第1个异或门分别与第1个乘法模块和第2个乘法模块连接,用于乘积数据A0、B0和初始数据C0进行异或操作,获得超前输出数据S0;第1个进位产生器用于将乘积数据A0、B0和初始数据C0进行超前进位计算,获得进位输出数据C1。
作为一种可选的实施方式,本发明第j个所述进位产生器包括:2个或门和j+1个与门;第1个与门的两个输入端分别与第2j-1个乘法模块和第2j个乘法模块连接,第1个与门的输出端与第2个或门的输入端连接,第2个或门的输出端输出进位输出数据Cj;第1个或门的两个输入端分别与第2j-1个乘法模块和第2j个乘法模块连接,第1个或门的输出端与剩余j个与门的输入端均连接,剩余j个与门的输出端与第2个或门的输入端均连接;第2个与门与前1个所述进位产生器连接,第3个与门与前2个所述进位产生器连接,以此类推,直至第j个与门和第j+1个与门均与前j-1个所述进位产生器连接,其中,j为大于1且小于等于N的正整数。
第1个进位产生器包括2个或门和2个与门,第1个与门的两个输入端分别与第1个乘法模块和第2个乘法模块连接,第1个与门的输出端与第2个或门的输入端连接,第2个或门的输出端输出进位输出数据C1;第1个或门的两个输入端分别与第1个乘法模块和第2个乘法模块连接,第1个或门的输出端与第2个与门的输入端连接,第2个与门的输出端与第2个或门的输入端连接。
为了更清楚地显示各数据标号,所以本发明将图1-图4中的Aj用Aj表示,Bj用Bj表示,Cj用Cj表示,Pj用Pj表示,Gj用Gj表示,Sj用Sj表示,其中,j为任意自变量。
如图1所示,本发明以N=4为例进行论述:所述装置包括:1个输入模块1、8个乘法模块2、1个超前进位加法器3和1个乘累加模块4,输入模块1中引脚inputA[3:0]产生的4Bit输入数据INA0、INA1、INA2、INA3和引脚inputB[3:0]产生的4Bit输入数据INB0、INB1、INB2和INB3分别输入至8个乘法模块2中的XNOR模块,6T-SRAM存储单元将输出的权重值Q输入至乘法模块2中的XNOR模块,输入数据INA0-INA3、INB0-INB3和权重值Q通过XNOR模块按位相乘后的结果分别为乘积数据A0-A3和B0-B3。随后乘积数据A0-A3、B0-B3和初始进位C0连接至4Bit超前进位加法器3中,计算结果输出为超前输出数据S0、S1、S2、S3与进位输出数据C4。计算出的超前输出数据S0-S3输入乘累加模块4进行后续累加处理。
各所述乘法模块2均包括:6T-SRAM存储单元和累乘单元,所述累乘单元分别与所述输入模块和6T-SRAM存储单元连接。如图2所示,以第一个乘法模块为例,所述6T-SRAM存储单元用于读、写和存储权重值Q;所述累乘单元用于将输入数据INA0和权重值Q按相位相乘,获得乘积数据A0。本实施例中,所述累乘单元优选为同或门(XNOR模块)。
当输入权重值Q=0时,用-1表示,Q=1时,用+1表示;当输入数据INA0=0时,用-1表示,当输入数据INA0=1时,用+1表示,权重值和输入数据的乘法由XNOR模块完成,计算逻辑为A0=INA0⊙Q。具体的,1=-1⊙-1;0=-1⊙1;0=1⊙-1;1=1⊙1;具体计算原理及结果如表格1所示。
表1计算原理表
图3中(a)为4bit超前进位加法器结构框图,图3中(b)为4bit超前进位加法器结构图,所述超前进位加法器包括:4个进位产生器和4个异或门,其中,进位产生器用于产生进位供高位加和,异或门用于产生按位求和;第1个异或门用于将乘积数据A0、B0和初始数据C0进行异或操作,获得超前输出数据S0;第2个异或门用于将乘积数据A1、B1和进位输出数据C1进行异或操作,获得超前输出数据S1;以此类推,第4个异或门用于将乘积数据A3、B3和进位输出数据C3进行异或操作,获得超前输出数据S3;第1个进位产生器用于将乘积数据A0、B0和初始数据C0进行超前进位计算,获得进位输出数据C1,第2个进位产生器用于将乘积数据A2和B2进行超前进位计算,获得进位输出数据C2,以此类推,第4个进位产生器用于将乘积数据A3和B3进行超前进位计算,获得进位输出数据C4。
由全加器的性质可知,前一个全加器的参数可以用来表示后面的进位输出,设Ci+1为后一位的进位,乘积数据Ai和乘积数据Bi为两个加数,Ci为当前进位输出数据,则:
Ci+1=(Ai·Bi)+(Ai·Ci)+(Bi·Ci)=(Ai·Bi)+(Ai+Bi)·Ci;其中,生成(Generate)信号Gi=Ai·Bi,传播(Propagate)信号Pi=Ai+Bi,则Ci+1=Gi+Pi·Ci。
由上面推导可以得出,4Bit超前进位加法器生成的进位输出数据C1-C4分别为:
C1=G0+P0·C0;
C2=G1+P1·C1=G1+P1·(G0+P0·C0)=G1+P1·G0+P1·P0·C0;
C3=G2+P2·C2=G2+P2·(G1+P1·G0+P1·P0·C0)=G2+P2·G1+P2·P1·G0+P2·P1·P0·C0;
C4=G3+P3·C3=G3+P3·(G2+P2·G1+P2·P1·G0+P2·P1·P0·C0)=G3+P3·G2+P3·P2·G1+P3·P2·P1·G0+P3·P2·P1·P0·C0。
上述公式所表示的进位输出和按位和结果以电路形式表示,如下面图4所示,第1个进位产生器包括2个或门和2个与门;第2个进位产生器包括2个或门和3个与门;第3个进位产生器包括2个或门和4个与门;第4个进位产生器包括2个或门和5个与门。G0是将A0与B0做与操作获得的,G1是将A1与B1做与操作获得的,G2是将A2与B2做与操作获得的,G3是将A3与B3做与操作获得的,P0是将A0与B0做或操作获得的,P1是将A1与B1做或操作获得的,P2是将A2与B2做或操作获得的,P3是将A3与B3做或操作获得的。
各异或门产生的超前输出数据S0-S3分别为:
S0=A0⊕B0⊕C0;
S1=A1⊕B1⊕C1;
S2=A2⊕B2⊕C2;
S3=A3⊕B3⊕C3。
本发明公开的方案可以得出结论为:任意位宽的进位输出只需要经过3级门电路的延时,计算按位和只需要4级门电路延时,而以4位行波进位加法器为例,计算4Bit位宽进位输出与按位和均需要经过9级门延迟,故此4Bit超前进位加法器结合存内计算的设计缩短了近一半延时。
如图5所示,本发明公开所述6T-SRAM存储单元包括:晶体管T1、晶体管T2、晶体管T3、晶体管T4、晶体管T5和晶体管T6;晶体管T1的源极和晶体管T2的源极均与电源VDD连接,晶体管T1的栅极、晶体管T3的栅极、晶体管T2的漏极和晶体管T4的漏极均与Q点连接,晶体管T2的栅极、晶体管T4的栅极、晶体管T1的漏极和晶体管T3的漏极均与QB点连接,晶体管T3的源极和晶体管T4的源极均与公共端VSS连接,晶体管T5的栅极和晶体管T6的栅极均与字线连接,晶体管T5的漏极与QB点连接,晶体管T5的源极与位线连接,晶体管T6的源极与Q点连接,晶体管T6的漏极与反位线连接。
本发明公开的技术方案存在以下优点:
1、本发明设计的存算一体装置为全数字实现,避免了模拟域存内计算受工艺偏差影响,电路噪声影响以及模拟域存内计算固有的数模转换以及模数转换的功耗,面积开销和转换精度的损失。
2、本发明在乘积实现阶段采用4Bit输入与4Bit权重并行相乘的实现方式,相较采用串行输入方式虽然增加了布线资源,但是在单位时间内乘积计算量是串行实现方式的4倍,故本设计适合面积要求不高、低延时的需求环境。
3、本发明采用的存内计算和超前进位加法器结合的实现方式,相比采取进位链的实现方式,在计算按位和与进位输出时节省了一半延时,尽管实现面积有所增大,但是在低延时需求环境下,本设计优势明显。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种基于超前进位加法器实现的存算一体装置,其特征在于,所述装置包括:
2N个乘法模块,用于将输入数据与权重值按相位相乘,获得乘积数据Ai和Bi,其中,N为大于等于1的正整数,i为大于等于0且小于等于N-1的正整数;
超前进位加法器,分别与2N个所述乘法模块连接,用于将乘积数据Ai和Bi进行超前进位计算,获得进位输出数据CN和超前输出数据Si;
乘累加模块,与所述超前进位加法器连接,用于将超前输出数据Si进行累加操作,获得累加和;
所述超前进位加法器包括:N个进位产生器和N个异或门,第j个进位产生器分别与第2j-1个乘法模块和第2j个乘法模块连接,第j个异或门分别与第2j-1个乘法模块、第2j个乘法模块和第j-1个进位产生器连接;所述第j个进位产生器用于将乘积数据Aj-1和Bj-1进行超前进位计算,获得进位输出数据Cj;第j个所述异或门用于将乘积数据Aj-1、Bj-1和进位输出数据Cj-1进行异或操作,获得超前输出数据Sj-1;其中,j为大于1且小于等于N的正整数;
第1个异或门分别与第1个乘法模块和第2个乘法模块连接,用于乘积数据A0、B0和初始数据C0进行异或操作,获得超前输出数据S0;第1个进位产生器用于将乘积数据A0、B0和初始数据C0进行超前进位计算,获得进位输出数据C1。
2.根据权利要求1所述的基于超前进位加法器实现的存算一体装置,其特征在于,所述装置还包括:
输入模块,分别与2N个所述乘法模块连接,用于将2N个输入数据分别输入各所述乘法模块。
3.根据权利要求2所述的基于超前进位加法器实现的存算一体装置,其特征在于,各所述乘法模块均包括:
6T-SRAM存储单元,用于读、写和存储权重值;
累乘单元,分别与所述输入模块和6T-SRAM存储单元连接,用于将输入数据和权重值按相位相乘,获得乘积数据。
4.根据权利要求1所述的基于超前进位加法器实现的存算一体装置,其特征在于,第j个所述进位产生器包括:2个或门和j+1个与门;第1个与门的两个输入端分别与第2j-1个乘法模块和第2j个乘法模块连接,第1个与门的输出端与第2个或门的输入端连接,第2个或门的输出端输出进位输出数据Cj;第1个或门的两个输入端分别与第2j-1个乘法模块和第2j个乘法模块连接,第1个或门的输出端与剩余j个与门的输入端均连接,剩余j个与门的输出端与第2个或门的输入端均连接;第2个与门与前1个所述进位产生器连接,第3个与门与前2个所述进位产生器连接,以此类推,直至第j个与门和第j+1个与门均与前j-1个所述进位产生器连接,其中,j为大于1且小于等于N的正整数;
第1个进位产生器包括2个或门和2个与门,第1个与门的两个输入端分别与第1个乘法模块和第2个乘法模块连接,第1个与门的输出端与第2个或门的输入端连接,第2个或门的输出端输出进位输出数据C1;第1个或门的两个输入端分别与第1个乘法模块和第2个乘法模块连接,第1个或门的输出端与第2个与门的输入端连接,第2个与门的输出端与第2个或门的输入端连接。
5.根据权利要求3所述的基于超前进位加法器实现的存算一体装置,其特征在于,所述6T-SRAM存储单元包括:
晶体管T1、晶体管T2、晶体管T3、晶体管T4、晶体管T5和晶体管T6;
晶体管T1的源极和晶体管T2的源极均与电源VDD连接,晶体管T1的栅极、晶体管T3的栅极、晶体管T2的漏极和晶体管T4的漏极均与Q点连接,晶体管T2的栅极、晶体管T4的栅极、晶体管T1的漏极和晶体管T3的漏极均与QB点连接,晶体管T3的源极和晶体管T4的源极均与公共端VSS连接,晶体管T5的栅极和晶体管T6的栅极均与字线连接,晶体管T5的漏极与QB点连接,晶体管T5的源极与位线连接,晶体管T6的源极与Q点连接,晶体管T6的漏极与反位线连接。
6.根据权利要求3所述的基于超前进位加法器实现的存算一体装置,其特征在于,所述累乘单元为XNOR模块。
7.根据权利要求4所述的基于超前进位加法器实现的存算一体装置,其特征在于,第j个所述进位产生器生成的进位输出数据Cj=Gj-1+Pj-1×Cj-1;其中,Gj-1=Aj-1×Bj-1,Pj-1=Aj-1+Bj-1;当j=1时,C1=G0+P0×C0,C0表示初始数据。
8.根据权利要求7所述的基于超前进位加法器实现的存算一体装置,其特征在于,第j个异或门生成的超前输出数据Sj-1=Aj-1⊕Bj-1⊕Cj-1;当j=1时,S0=A0⊕B0⊕C0;其中,⊕表示异或运算符号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111357751.5A CN113805842B (zh) | 2021-11-17 | 2021-11-17 | 一种基于超前进位加法器实现的存算一体装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111357751.5A CN113805842B (zh) | 2021-11-17 | 2021-11-17 | 一种基于超前进位加法器实现的存算一体装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113805842A CN113805842A (zh) | 2021-12-17 |
CN113805842B true CN113805842B (zh) | 2022-02-22 |
Family
ID=78898631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111357751.5A Active CN113805842B (zh) | 2021-11-17 | 2021-11-17 | 一种基于超前进位加法器实现的存算一体装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113805842B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114647398B (zh) * | 2022-05-23 | 2022-08-05 | 中科南京智能技术研究院 | 一种基于进位旁路加法器的存内计算装置 |
CN115113846B (zh) * | 2022-08-31 | 2022-12-06 | 之江实验室 | 一种全加器电路和多位全加器 |
CN116149599B (zh) * | 2023-03-30 | 2023-08-08 | 杭州雄迈集成电路技术股份有限公司 | 一种分步进位处理方法、系统、加法器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6571268B1 (en) * | 1998-10-06 | 2003-05-27 | Texas Instruments Incorporated | Multiplier accumulator circuits |
US8645450B1 (en) * | 2007-03-02 | 2014-02-04 | Altera Corporation | Multiplier-accumulator circuitry and methods |
CN113032723A (zh) * | 2021-05-25 | 2021-06-25 | 广东省新一代通信与网络创新研究院 | 一种矩阵乘法器的实现方法及矩阵乘法器装置 |
-
2021
- 2021-11-17 CN CN202111357751.5A patent/CN113805842B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6571268B1 (en) * | 1998-10-06 | 2003-05-27 | Texas Instruments Incorporated | Multiplier accumulator circuits |
US8645450B1 (en) * | 2007-03-02 | 2014-02-04 | Altera Corporation | Multiplier-accumulator circuitry and methods |
CN113032723A (zh) * | 2021-05-25 | 2021-06-25 | 广东省新一代通信与网络创新研究院 | 一种矩阵乘法器的实现方法及矩阵乘法器装置 |
Non-Patent Citations (2)
Title |
---|
一种低延迟高吞吐率的浮点整型乘累加单元;沈俊等;《计算机工程》;20130615(第06期);全文 * |
高性能累积乘法单元的设计;段荣行;《信息技术》;20030830(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113805842A (zh) | 2021-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113805842B (zh) | 一种基于超前进位加法器实现的存算一体装置 | |
CN107633298B (zh) | 一种基于模型压缩的递归神经网络加速器的硬件架构 | |
Bank-Tavakoli et al. | Polar: A pipelined/overlapped fpga-based lstm accelerator | |
CN111880763A (zh) | 一种在内存中实现带有正负数乘加的sram电路 | |
CN110543939A (zh) | 一种基于fpga的卷积神经网络后向训练的硬件加速实现架构 | |
KR102557733B1 (ko) | 확률론적 병렬 마이크로프로세서 | |
CN112698811A (zh) | 神经网络随机数发生器共享电路、共享方法、处理器芯片 | |
Tsmots et al. | Neural-like means for data streams encryption and decryption in real time | |
Sim et al. | Log-quantized stochastic computing for memory and computation efficient DNNs | |
Luong et al. | Efficient architectures and implementation of arithmetic functions approximation based stochastic computing | |
Lin et al. | Fpga-based reservoir computing with optimized reservoir node architecture | |
Chu et al. | Efficient design of majority-logic-based approximate arithmetic circuits | |
Jia et al. | An energy-efficient Bayesian neural network implementation using stochastic computing method | |
Deng et al. | Auditory perception architecture with spiking neural network and implementation on FPGA | |
Temenos et al. | A stochastic computing sigma-delta adder architecture for efficient neural network design | |
Ma et al. | Non-volatile memory array based quantization-and noise-resilient LSTM neural networks | |
CN114399052A (zh) | 量子与逻辑门、逆量子与逻辑门及逻辑运算线路生成方法 | |
Reddy et al. | 16-Bit GDI multiplier design for low power applications | |
Mittal | Analysis of parallel prefix adders with low power and higher speed | |
Nasrin et al. | Supported-BinaryNet: Bitcell array-based weight supports for dynamic accuracy-latency trade-offs in SRAM-based binarized neural network | |
US20220334800A1 (en) | Exact stochastic computing multiplication in memory | |
Sowmya et al. | Low-Power Bit Pair Recoding Technique Using Pre-encoding Mechanism | |
CN116931873B (zh) | 两字节乘法电路及其任意位宽为2次幂的乘法电路与芯片 | |
Liu et al. | Hardware Spiking Neural Networks with Pair-Based STDP Using Stochastic Computing | |
Ahn | Special-purpose hardware architecture for neuromorphic computing |
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 |