CN117391156A - 用于卷积神经网络的存算一体存储器 - Google Patents
用于卷积神经网络的存算一体存储器 Download PDFInfo
- Publication number
- CN117391156A CN117391156A CN202210755889.9A CN202210755889A CN117391156A CN 117391156 A CN117391156 A CN 117391156A CN 202210755889 A CN202210755889 A CN 202210755889A CN 117391156 A CN117391156 A CN 117391156A
- Authority
- CN
- China
- Prior art keywords
- convolution
- memory
- weights
- bit
- nmos tube
- 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.)
- Pending
Links
- 238000013527 convolutional neural network Methods 0.000 title abstract description 17
- 238000004364 calculation method Methods 0.000 claims abstract description 19
- 238000012935 Averaging Methods 0.000 claims abstract description 4
- 239000003990 capacitor Substances 0.000 claims description 10
- 238000013528 artificial neural network Methods 0.000 claims description 2
- 238000000034 method Methods 0.000 description 12
- 229920005994 diacetyl cellulose Polymers 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Analogue/Digital Conversion (AREA)
Abstract
本发明提供一种用于卷积神经网络的存算一体存储器,支持p个q比特的数字输入信号和p个q比特的权重进行卷积计算,p≥1,q≥1,具体包括:存储阵列,各行上分别存储不同的p个权重,按列分为q组,每组有p列,每组p列对应存储p个权重相同位的1比特数据;p个数/模转换器,一一对应输入p个数字输入信号,得到p个模拟电压;卷积电流产生电路,用于根据p个模拟电压,在存储阵列的每一列上形成电流,并将每组p列上的电流进行累加,得到q个卷积电流;卷积电压产生电路,用于对q个卷积电流进行镜像,按照p个权重不同位的权得到q个电压,并对q个电压进行平均,得到卷积电压;模/数转换器,用于将卷积电压转换成q比特的数字输出信号。
Description
技术领域
本发明涉及集成电路设计技术领域,尤其涉及一种用于卷积神经网络的存算一体存储器。
背景技术
卷积神经网络(Convolutional Neural Network,CNN)是人工智能领域主要用于处理图像数据的一种网络架构。该网络架构针对图像的特点,在常规的深度神经网络上进行了一些改进,主要包括卷积层(Convolutional layer),池化层(pooling layer)和全连接层(fully connected layer)。
近年来,随着信息存储技术的发展,基于存储阵列实现存算一体化的模拟计算系统,成为优化卷积神经网络运算速度和功耗的一种可行的技术,解决了传统冯诺依曼计算体系结构面临的存储墙(带宽)与功耗墙(功耗)问题。
卷积神经网络实现卷积计算时,为模拟人脑处理信息的过程,并与现有深度学习的架构相匹配,存算一体存储器通常需要多比特的精度,能够实现多比特权重的卷积计算。
发明内容
本发明提供一种用于卷积神经网络的存算一体存储器,能够实现多比特输入和多比特权重的卷积计算,提高计算精度。
本发明提供一种用于卷积神经网络的存算一体存储器,支持p个数字输入信号和p个权重进行卷积计算,所述数字输入信号和所述权重均为q比特的二进制数,p≥1,q≥1,所述存算一体存储器包括:
存储阵列,所述存储阵列各行上分别存储不同的p个权重,各行至少包括p*q列,按列分为q组,每组有p列,每组p列对应存储p个权重相同位的1比特数据;
p个数/模转换器,一一对应输入所述p个数字输入信号,得到p个模拟电压;
卷积电流产生电路,用于根据输入的所述p个模拟电压,在所述存储阵列的每一列上形成电流,并将每组p列上的电流进行累加,得到q个卷积电流;
卷积电压产生电路,用于对所述q个卷积电流进行镜像,按照p个权重不同位的权得到q个电压,并对所述q个电压进行平均,得到卷积电压;
模/数转换器,用于将所述卷积电压转换成q比特的数字输出信号。
可选地,所述存储阵列各行上p个权重的比特位排列方式为:LSB到MSB从左到右依次递增。
可选地,所述卷积电流产生电路,包括q个电路单元,每个电路单元有p个支路,共有p*q个支路,p*q个支路与所述存储阵列的p*q列是一一对应的,
每个支路包括运放和第一NMOS管,运放的一个输入端作为支路的输入端,每个电路单元中的p个支路输入端一一对应连接所述p个数/模转换器产生的p个模拟电压;
运放的另一个输入端与所述第一NMOS管的源极连接,作为支路的输出端,每个电路单元中的p个支路输出端一一对应连接所述存储阵列每组中的p列;
运放的输出端与所述第一NMOS管的栅极连接,所述第一NMOS管的漏极作为支路的供电端,每个电路单元中的p个支路供电端连接于一点,共同连接至所述卷积电压产生电路。
可选地,所述卷积电流产生电路还包括:
连接于每条支路和所述存储阵列每列之间的p*q*2个第二NMOS管;
所述存储阵列每条位线通过所述第二NMOS管连接至所述卷积电流产生电路每个支路输出端;
所述存储阵列每条源线通过所述第二NMOS管接地;
所述第二NMOS管的栅极输入第一控制信号。
可选地,所述卷积电压产生电路,包括q个支路,每个支路包括:
1:1电流镜,用于对一个卷积电流进行镜像,得到镜像电流;
输出电阻,输入所述镜像电流,在非接地端产生对应p个权重相同位的1比特的输出电压;
输出电容,一端与所述输出电阻的非接地端连接,另一端接地;
第三NMOS管,连接于所述1:1电流镜输出端和所述输出电阻的非接地端之间,所述第三NMOS管的栅极输入第一控制信号;
第四NMOS管,连接于所述输出电阻的接地端和地之间,所述第四NMOS管的栅极输入第二控制信号;
第五NMOS管,源极与所述输出电阻的非接地端连接,栅极输入第三控制信号,漏极作为输出端;
其中q个支路中的输出电阻按照p个权重在不同位的权进行取值,q个支路中第五NMOS管的漏极连接于一点,共同连接至所述模/数转换器的输入端。
可选地,q个支路中的输出电阻的阻值依次为R0*2^0,R0*2^1,……,R0*2^(q-1),R0的阻值为5Ω~100kΩ。
可选地,所述数/模转换器为q比特精度,参考电压为0.1~0.3V。
可选地,所述模/数转换器为q比特精度,参考电压为0.1~3.3V。
可选地,所述存算一体存储器为MRAM、RRAM、PRAM、DRAM、SRAM、NOR FLASH、NANDFLASH中任意一种。
本发明提供的一种用于卷积神经网络的存算一体存储器,能够实现多比特输入和多比特权重的卷积计算,提高计算精度。而且能有效提升数据存储效率,具有集成度高,处理效率高,高可靠性和稳定性的特点。
附图说明
图1为本发明一实施例用于卷积神经网络的存算一体存储器结构框图;
图2为本发明一实施例用于卷积神经网络的存算一体存储器的具体电路结构示意图;
图3为输入X和权重W实现多比特的原理示意图;
图4为MRAM实现一个8比特输入X与一个8比特权重W乘法的结构框图及工作原理示意图;
图5为一种256Kb、支持8X8的8比特输入和8X8的8比特权重进行卷积计算的MRAM存储器示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。
此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
本发明实施例提出了一种用于卷积神经网络的存算一体存储器,其可利用卷积电流产生电路、卷积电压产生电路实现多比特输入和多比特权重的卷积计算,提高计算精度。
如图1所示,该存算一体存储器支持p个数字输入信号X0~Xp-1,和p个权重进行卷积计算,数字输入信号和权重均为q比特的二进制数,p≥1,q≥1,具体包括:存储阵列、p个数/模转换器DAC、卷积电流产生电路、卷积电压产生电路和模/数转换器ADC,其中,
存储阵列各行上分别存储不同的p个权重,本实施例中,可以将这p个权重看成一个卷积核,存储阵列各行至少包括p*q列,该p*q列按列分为q组,每组有p列,每组中的p列对应存储p个权重相同位的1比特数据。
p个数/模转换器DAC一一对应输入p个数字输入信号,得到p个模拟电压VX0~VXp-1。
卷积电流产生电路,用于根据输入的p个模拟电压,在存储阵列的每一列上形成电流,并将每组p列上的电流进行累加,得到q个卷积电流。这q个卷积电流表征了p个权重在不同位的电流。
卷积电压产生电路,用于对q个卷积电流进行镜像,按照p个权重不同位的权得到q个电压,并对q个电压进行平均,得到卷积电压。
模/数转换器ADC,用于将卷积电压转换成q比特的数字输出信号。
具体地,图2示出了本发明实施例一种用于卷积神经网络的存算一体存储器的具体电路结构。如图2所示,该存算一体存储器为MRAM存储器,则对应的存储阵列为MRAM阵列,图2示出了阵列的位线BL、源线SL、字线WL的连接关系,每个MRAM单元包括串联的MTJ和MOS管。但存算一体存储器并局限于MRAM,该存算一体存储器可为MRAM、RRAM、PRAM、DRAM、SRAM、NOR FLASH、NAND FLASH中任意一种。
参考图2,MRAM存储阵列的一行用于存储p个q比特的权重。存储阵列按列分成q组,每组有p列,各组依次编号为0~(q-1),每组中的p列对应存储p个权重相同位的1比特数据,例如,存储阵列各行上p个权重的比特位排列方式为:LSB到MSB从左到右依次递增。即第0组的p列用于存储p个权重的0位,第1组的p列用于存储p个权重的1位,依次类推,第q-1组的p列用于存储p个权重的q-1位。存储阵列第i行的第j个权重表示为Wi j,Wi j的第k个比特表示为Wi j<k>。
输入DAC用于把数字输入Xj转换成模拟输入电压VXj。
卷积电流产生电路有q个电路单元,每个电路单元有p个支路,共有p*q个支路,p*q个支路与存储阵列的p*q列是一一对应的。
每个支路包括运放和第一NMOS管(图中只标注了一个第一NMOS管,符号M1),该结构具有恒流作用,运放的一个输入端(例如同相输入端)作为支路的输入端,每个电路单元中的p个支路输入端一一对应连接p个数/模转换器产生的p个模拟电压;
运放的另一个输入端(例如反相输入端)与第一NMOS管的源极连接,作为支路的输出端,每个电路单元中的p个支路输出端一一对应连接存储阵列每组中的p列;
运放的输出端与第一NMOS管的栅极连接,第一NMOS管的漏极作为支路的供电端,每个电路单元中的p个支路供电端连接于一点,连接至卷积电压产生电路。
卷积电流产生电路用于q比特的输入X和单比特权重Wi j<k>的卷积计算,得到q个卷积电流,每个比特位的卷积电流表达式为:
其中,j=0,1,2,……,p-2,p-1。
进一步地,卷积电流产生电路还包括:
连接于每条支路和存储阵列每列之间的p*q*2个第二NMOS管(符号M2),存储阵列每条位线通过第二NMOS管连接至卷积电流产生电路每个支路输出端,存储阵列的每条源线通过第二NMOS管接地,第二NMOS管的栅极输入第一控制信号COV_EN。
卷积电压产生电路包括q个支路,每个支路包括:
1:1电流镜,用于对一个卷积电流进行镜像,得到镜像电流;
输出电阻RY,输入镜像电流,在非接地端产生对应p个权重相同位的1比特的输出电压;
输出电容C,一端与输出电阻的非接地端连接,另一端接地;
第三NMOS管M3,连接于1:1电流镜输出端和输出电阻的非接地端之间,第三NMOS管的栅极输入第一控制信号COV_EN;
第四NMOS管M4,连接于输出电阻的接地端和地之间,第四NMOS管的栅极输入第二控制信号PREC_EN;
第五NMOS管M5,源极与输出电阻的非接地端连接,栅极输入第三控制信号EQ_EN,漏极作为输出端;
其中q个支路中的输出电阻按照p个权重在不同位的权进行取值,q个支路中第五NMOS管的漏极连接于一点,共同连接至模/数转换器的输入端。
例如,q个支路中的输出电阻的阻值依次为R0*2^0,R0*2^1,……,R0*2^(q-1),R0的阻值为5Ω~100kΩ。
卷积电压产生电路用于q比特的输入X和q比特的权重Wi j<q-1:0>的卷积,得到卷积电压,卷积电压表达式为:
其中,k=0,1,2,……,q-2,q-1。
输出ADC用于把卷积电压VY转换成数字输出信号Y<q-1:0>。
另外,为了满足精度要求,数/模转换器至少为q比特精度,参考电压为0.1~0.3V。模/数转换器至少为q比特精度,参考电压为0.1~3.3V。
实际上,卷积电流产生电路各条支路与存储阵列各列之间的第二NMOS管(M2)、卷积电压产生电路各支路中的第三NMOS管(M3)、第四NMOS管(M4)、第五NMOS管(M5)主要起到控制卷积操作的作用。
在上述存储器电路结构中,输入X的多比特利用了MTJ的电流和MTJ两端电压的线性关系,如图3的(a)所示,选取线性区域将X模拟化;权重W的多比特利用了输出电压VY和输出电阻RY的线性关系,如图3的(b)所示,通过将RY<k>设定为基础电阻R0的2的k次幂倍,k=0,1,2……,q-1,来实现多比特权重W不同位的权。
图4中的(a)展示了MRAM实现一个8比特输入X与一个8比特权重W乘法的结构框图,由DAC、8组运放、RMTJ<7:0>(存储W<7:0>),8组电流镜,输出电阻RY<7:0>,电容C<7:0>,开关S0<7:0>,S1<7:0>,S2<7:0>和ADC组成。其中RY<7:0>依次等于R0*2^7,……R0*2^0,用来区分多比特权重W不同位的权,C<7:0>=C0。
工作原理如下:
1、一个8比特权重W<7:0>存放在8个MTJ中;
2、首先,如图4中的(b)所示,将开关S0<7:0>,S1<7:0>闭合,将S2<7:0>关断,VX加在权重存储单元RMTJ<7:0>上产生的电流通过电流镜1:1复制到输出端,通过电阻RY<7:0>后将电容C<7:0>充电至VY<7:0>,其中VY<k>=R0*2^k*VX/RMTJ<k>(k=0,1,……7),存储在C<7:0>上的电荷Q<7:0>=VY<7:0>*C0;
3、然后,如图4中的(c)所示,将开关S0<7:0>,S1<7:0>关断,将开关S2<7:0>闭合,存储在C<7:0>上的电荷Q<7:0>通过开关S2<7:0>进行电荷分享,产生由于S2<7:0>闭合,VY上的等效电容CY=8*C0,/>
4、VY经过ADC产生输出数字信号Y。
将上述原理应用到图2所示的存算一体存储器,正常读写操作时,通过正常的存储器接口,包括地址、读写命令、写数据和读数据,可以对存储阵列所有地址进行读写操作。这个过程中,卷积输入X全部置0,控制信号COV_EN、PREC_EN、EQ_EN为低,和卷积操作相关的电路不工作。
卷积操作时,控制信号COV_EN为高,卷积输入为q位的数字输入信号X0,X1,……,Xp-1。根据输入地址,字线驱动器将选中的字线WL打开,其对应的权重Wi j<k>被选中;数模转换器将卷积输入X0,X1,……,Xp-1转换成模拟电压VX0,VX1,……,VXp-1;由于控制信号COV_EN为高,所有的SL通过NMOS管接地,所有的BL通过NMOS管和运放的一个输入端连接,模拟电压VX0,VX1,……,VXp-1通过运放复制到BL上,加到存储阵列MTJ上产生电流Ij<k>,权重位相同的电流通过NMOS管连到了一起产生每一个权重位对应的卷积电流I<k>,卷积电流I<k>输入到1:1电流镜,电流镜将I<k>镜像后流过按所在权重位取值的输出电阻RY<k>,依次取值为R*2^(k-1),在输出电阻上产生卷积电压,这些卷积电压连接到一个电容C,当PREC_EN为高时,卷积电压被存储在电容C上,然后关闭PREC_EN,打开EQ_EN,卷积电压通过NMOS管连接在一起,通过电荷分享,得到平均电压VY。VY经过模数转换器ADC转换成数字信号Y。
为了更好地理解本申请,图5给出了一种256Kb、支持8X8的8比特输入和8X8的8比特权重进行卷积计算的MRAM存储器的实例,该结构可以进行输入X为8X8的8位2进制数,权重W为8X8的8位2进制数的卷积。
具体实例参数如下:
1、MTJ RP=3K,TMR=200;
2、MRAM阵列大小为256Kb(512行X512列),512列分成8组,每组有64列,X方向(一根WL)为1组8X8(即64)个8比特权重,8比特权重的LSB(最低有效位,具有权值2^0)到MSB(最高有效位,具有权值2^7)从左到右依次递增,Y方向(从上到下)为512组不同的64个权重,通过字线WL译码来选择;
3、输入X为8X8的8位2进制数;
4、权重W为8X8的8位2进制数;
5、输入DAC为8比特精度,参考电压为0.3V;
6、输出ADC为8比特精度,参考电压为1.1V;
7、R0为5Ω;C0为1nF。
该存算一体存储器的卷积计算流程说明如下:
8X8(即64)个8比特的数字输入信号X0<7:0>~X63<7:0>分别通过64个DAC,得到64个模拟电压VX0~VX63。
权重W存放在MTJ中,对于512x512的存储阵列,选通一根WL时,512个MTJ被选中。将这512个MTJ分为8组,每组中64个MTJ,这64个MTJ各自存储64个8比特权重的其中一位,依次表示为Wi 0~63<0>~Wi 0~63<7>。选通WL<0>,则这8组MTJ表示为W0 0~63<0>~W0 0~63<7>。选通WL<511>,则这8组MTJ表示为W511 0~63<0>~W511 0~63<7>。
卷积电流产生电路有8个电路单元,每个电路单元有64个支路,支路编号为0-63,每个电路单元的第0个支路连接模拟电压VX0,每个电路单元的第1个支路连接VX1,……,依次类推,每个电路单元的第63个支路连接VX63。
输入的64个模拟电压VX0~VX63分别与每组的64个MTJ进行乘法运算,得到8组电流I0~63<0>~I0~63<7>。这8组电流分别相加,得到8个卷积电流I<0>~I<7>。
卷积电流表达式为:
I<0>=VX0*(1/W0 0<0>)+VX1*(1/W0 1<0>)+…+VX63*(1/W0 63<0>)
…
I<7>=VX0*(1/W0 0<7>)+VX1*(1/W0 1<7>)+…+VX63*(1/W0 63<7>)
8个卷积电流分别通过电流镜进行镜像,再与输出电阻RY进行乘法运算,最后利用电容的电荷分享,得到平均电压VY,即为卷积电压。
卷积电压VY表达式为:
VY=1/8(I<0>*R0*20+I<1>*R0*21+…+I<7>*R0*27)
最后,卷积电压VY通过ADC得到一个8位的数字输出信号Y<7:0>。
本发明实施例提供的一种用于卷积神经网络的存算一体存储器,能够实现多比特输入和多比特权重的卷积计算,提高计算精度。而且能有效提升数据存储效率,具有集成度高,处理效率高,高可靠性和稳定性的特点。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (9)
1.一种用于卷积神经网络的存算一体存储器,其特征在于,支持p个数字输入信号和p个权重进行卷积计算,所述数字输入信号和所述权重均为q比特的二进制数,p≥1,q≥1,所述存算一体存储器包括:
存储阵列,所述存储阵列各行上分别存储不同的p个权重,各行至少包括p*q列,按列分为q组,每组有p列,每组p列对应存储p个权重相同位的1比特数据;
p个数/模转换器,一一对应输入所述p个数字输入信号,得到p个模拟电压;
卷积电流产生电路,用于根据输入的所述p个模拟电压,在所述存储阵列的每一列上形成电流,并将每组p列上的电流进行累加,得到q个卷积电流;
卷积电压产生电路,用于对所述q个卷积电流进行镜像,按照p个权重不同位的权得到q个电压,并对所述q个电压进行平均,得到卷积电压;
模/数转换器,用于将所述卷积电压转换成q比特的数字输出信号。
2.根据权利要求1所述的存算一体存储器,其特征在于,所述存储阵列各行上p个权重的比特位排列方式为:LSB到MSB从左到右依次递增。
3.根据权利要求1所述的存算一体存储器,其特征在于,所述卷积电流产生电路,包括q个电路单元,每个电路单元有p个支路,共有p*q个支路,p*q个支路与所述存储阵列的p*q列是一一对应的,
每个支路包括运放和第一NMOS管,运放的一个输入端作为支路的输入端,每个电路单元中的p个支路输入端一一对应连接所述p个数/模转换器产生的p个模拟电压;
运放的另一个输入端与所述第一NMOS管的源极连接,作为支路的输出端,每个电路单元中的p个支路输出端一一对应连接所述存储阵列每组中的p列;
运放的输出端与所述第一NMOS管的栅极连接,所述第一NMOS管的漏极作为支路的供电端,每个电路单元中的p个支路供电端连接于一点,共同连接至所述卷积电压产生电路。
4.根据权利要求3所述的存算一体存储器,其特征在于,所述卷积电流产生电路还包括:
连接于每条支路和所述存储阵列每列之间的p*q*2个第二NMOS管;
所述存储阵列每条位线通过所述第二NMOS管连接至所述卷积电流产生电路每个支路输出端;
所述存储阵列每条源线通过所述第二NMOS管接地;
所述第二NMOS管的栅极输入第一控制信号。
5.根据权利要求1所述的存算一体存储器,其特征在于,所述卷积电压产生电路,包括q个支路,每个支路包括:
1:1电流镜,用于对一个卷积电流进行镜像,得到镜像电流;
输出电阻,输入所述镜像电流,在非接地端产生对应p个权重相同位的1比特的输出电压;
输出电容,一端与所述输出电阻的非接地端连接,另一端接地;
第三NMOS管,连接于所述1:1电流镜输出端和所述输出电阻的非接地端之间,所述第三NMOS管的栅极输入第一控制信号;
第四NMOS管,连接于所述输出电阻的接地端和地之间,所述第四NMOS管的栅极输入第二控制信号;
第五NMOS管,源极与所述输出电阻的非接地端连接,栅极输入第三控制信号,漏极作为输出端;
其中q个支路中的输出电阻按照p个权重在不同位的权进行取值,q个支路中第五NMOS管的漏极连接于一点,共同连接至所述模/数转换器的输入端。
6.根据权利要求5所述的存算一体存储器,其特征在于,q个支路中的输出电阻的阻值依次为R0*2^0,R0*2^1,……,R0*2^(q-1),其中R0的阻值为5Ω~100kΩ。
7.根据权利要求1所述的存算一体存储器,其特征在于,所述数/模转换器为q比特精度,参考电压为0.1~0.3V。
8.根据权利要求1所述的存算一体存储器,其特征在于,所述模/数转换器为q比特精度,参考电压为0.1~3.3V。
9.根据权利要求1所述的存算一体存储器,其特征在于,所述存算一体存储器为MRAM、RRAM、PRAM、DRAM、SRAM、NOR FLASH、NAND FLASH中任意一种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210755889.9A CN117391156A (zh) | 2022-06-29 | 2022-06-29 | 用于卷积神经网络的存算一体存储器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210755889.9A CN117391156A (zh) | 2022-06-29 | 2022-06-29 | 用于卷积神经网络的存算一体存储器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117391156A true CN117391156A (zh) | 2024-01-12 |
Family
ID=89470752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210755889.9A Pending CN117391156A (zh) | 2022-06-29 | 2022-06-29 | 用于卷积神经网络的存算一体存储器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117391156A (zh) |
-
2022
- 2022-06-29 CN CN202210755889.9A patent/CN117391156A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Long et al. | ReRAM-based processing-in-memory architecture for recurrent neural network acceleration | |
US11361216B2 (en) | Neural network circuits having non-volatile synapse arrays | |
CN111985607B (zh) | 运用于类神经网络系统的乘积累加电路的相关控制电路 | |
CN110914906B (zh) | 用于执行具有多位输入矢量的矩阵计算的多级单元(mlc)非易失性(nv)存储器(nvm)矩阵电路 | |
CN111047031B (zh) | 用于神经网络中的数据重用的移位装置 | |
Lee et al. | Neuromorphic computing using NAND flash memory architecture with pulse width modulation scheme | |
CN113467751B (zh) | 一种基于磁性随机存储器的模拟域存内计算阵列结构 | |
US20180225566A1 (en) | Neuromorphic device including a synapse having a plurality of synapse cells | |
CN114400031B (zh) | 一种补码映射的rram存算一体芯片及电子设备 | |
WO2019147522A2 (en) | Neural network circuits having non-volatile synapse arrays | |
Wang et al. | Device Variation Effects on Neural Network Inference Accuracy in Analog In‐Memory Computing Systems | |
Liu et al. | Bit-transformer: Transforming bit-level sparsity into higher preformance in reram-based accelerator | |
US10861551B2 (en) | Memory cells configured to generate weighted inputs for neural networks | |
Lee et al. | Novel method enabling forward and backward propagations in NAND flash memory for on-chip learning | |
CN114496010A (zh) | 一种基于磁性随机存储器的模拟域近存计算阵列结构 | |
CN117391156A (zh) | 用于卷积神经网络的存算一体存储器 | |
He et al. | Rvcomp: Analog variation compensation for rram-based in-memory computing | |
Wei et al. | Emerging Memory-Based Chip Development for Neuromorphic Computing: Status, Challenges, and Perspectives | |
Lu et al. | NVMLearn: a simulation platform for non-volatile-memory-based deep learning hardware | |
TW202230115A (zh) | 運算裝置及運算方法 | |
CN111656371B (zh) | 具有非易失性突触阵列的神经网络电路 | |
CN113488092A (zh) | 基于sram实现多比特权重存储与计算的电路及存储与模拟计算系统 | |
He | RRAM Based In-Memory Computing for Area-/Energy-Efficient Deep Learning | |
Jiang | Architecture and Circuit Design Optimization for Compute-In-Memory | |
Khaddam-Aljameh | Computational Memory Design |
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 |