CN110209375A - 一种基于radix-4编码和差分权重存储的乘累加电路 - Google Patents
一种基于radix-4编码和差分权重存储的乘累加电路 Download PDFInfo
- Publication number
- CN110209375A CN110209375A CN201910462374.8A CN201910462374A CN110209375A CN 110209375 A CN110209375 A CN 110209375A CN 201910462374 A CN201910462374 A CN 201910462374A CN 110209375 A CN110209375 A CN 110209375A
- Authority
- CN
- China
- Prior art keywords
- circuit
- difference
- coding
- adc
- input 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.)
- Granted
Links
- 238000006243 chemical reaction Methods 0.000 claims abstract description 9
- 238000009825 accumulation Methods 0.000 claims abstract description 5
- 239000003990 capacitor Substances 0.000 claims description 57
- 238000005070 sampling Methods 0.000 claims description 41
- 239000004065 semiconductor Substances 0.000 claims description 31
- 230000005611 electricity Effects 0.000 claims description 22
- 230000005669 field effect Effects 0.000 claims description 22
- 229910002056 binary alloy Inorganic materials 0.000 claims description 12
- 235000006508 Nelumbo nucifera Nutrition 0.000 claims description 3
- 240000002853 Nelumbo nucifera Species 0.000 claims description 3
- 235000006510 Nelumbo pentapetala Nutrition 0.000 claims description 3
- 238000003491 array Methods 0.000 claims description 3
- 235000013399 edible fruits Nutrition 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 abstract description 16
- 238000005265 energy consumption Methods 0.000 abstract description 6
- 230000008901 benefit Effects 0.000 abstract description 3
- 238000000034 method Methods 0.000 description 26
- 230000008569 process Effects 0.000 description 20
- 238000013528 artificial neural network Methods 0.000 description 12
- 230000010354 integration Effects 0.000 description 5
- 230000001186 cumulative effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 229920005994 diacetyl cellulose Polymers 0.000 description 2
- PNEYBMLMFCGWSK-UHFFFAOYSA-N Alumina Chemical group [O-2].[O-2].[O-2].[Al+3].[Al+3] PNEYBMLMFCGWSK-UHFFFAOYSA-N 0.000 description 1
- 208000000044 Amnesia Diseases 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 231100000863 loss of memory Toxicity 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/54—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
-
- 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
- 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/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
- G06N3/065—Analogue means
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/003—Cell access
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M3/00—Conversion of analogue values to or from differential modulation
- H03M3/04—Differential modulation with several bits, e.g. differential pulse code modulation [DPCM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
- G06F2207/4814—Non-logic devices, e.g. operational amplifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06G—ANALOGUE COMPUTERS
- G06G7/00—Devices in which the computing operation is performed by varying electric or magnetic quantities
- G06G7/12—Arrangements for performing computing operations, e.g. operational amplifiers
- G06G7/14—Arrangements for performing computing operations, e.g. operational amplifiers for addition or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06G—ANALOGUE COMPUTERS
- G06G7/00—Devices in which the computing operation is performed by varying electric or magnetic quantities
- G06G7/12—Arrangements for performing computing operations, e.g. operational amplifiers
- G06G7/16—Arrangements for performing computing operations, e.g. operational amplifiers for multiplication or division
-
- 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/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2213/00—Indexing scheme relating to G11C13/00 for features not covered by this group
- G11C2213/70—Resistive array aspects
- G11C2213/79—Array wherein the access device being a transistor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Neurology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Analogue/Digital Conversion (AREA)
Abstract
本发明公开了一种基于radix‑4编码和差分权重存储的乘累加电路。包括输入数据编码电路、差分权重存储电路、积分计算电路和差分ADC电路,输入数据编码电路的输出端依次经差分权重存储电路、积分计算电路后和差分ADC电路连接,差分ADC电路输出乘累加结果;原始输入数据经输入数据编码电路编码后与差分权重存储电路电路中所存储的权重值相乘,通过积分计算电路对各个相乘结果的正值和负值进行分别累加,然后通过差分ADC电路对正负值累加结果的差进行模数转换,从而得到最后的乘累加结果。本发明具有面积小、计算速度快、功耗低等优点,可用于神经形态芯片,特别是对能耗要求较高的边缘计算设备中,可以实现大规模并行计算。
Description
技术领域
本发明涉及了一种电阻式非易失性存储器电路,尤其是涉及了一种基于radix-4编码和差分权重存储的乘累加电路,用于神经形态芯片的核心计算电路阵列,属于神经形态电路领域。
背景技术
近年来人工智能技术迅速发展,各种算法和应用都处于高速迭代过程中,这对硬件的存储容量、计算能力以及能效都提出了更高的要求。传统计算机采用冯·诺依曼结构,由于存储单元和运算单元的分离,在处理数据时需要先从存储单元中读出,再输入处理单元中进行运算,而由于存储单元采用缓存(SRAM)-主存(DRAM)-闪存(FLASH)的层次结构,存储单元与计算单元之间的通讯速率过慢,功耗过高,使得神经网络的效率收到了极大的限制。
神经形态计算通过模仿人脑的结构将存储单元和计算单元集成在一起,能够解决上述的冯·诺依曼结构遇到的瓶颈问题,可以大幅提高人工神经网络的计算效率。利用新兴的电阻式非易失性存储器(RRAM,Resistive Random-Access-Memory)将输入信号的加权组合转化为输出电压,可以完成人工神经网络中的基本操作矩阵乘法和累加(MAC,Multiplication-and-Accumulation),从而实现超低功耗的存内并行计算。
传统的乘法器通常采用二进制编码,通过移位加法的方式实现乘法运算,这种计算方式会产生大量的部分积和多次移位运算,需要大量的移位寄存器进行存储,最后再通过加法器将各个部分积相加。这种乘法器无论是面积还是功耗都很大,并且每次只能实现一次乘法,计算效率低下,大大限制了神经网络的计算效率。因此本发明采用radix-4booth编码对输入数据进行编码,将输入数据的位宽减少了一半,并提出了一种新的高效的存储器内乘法和积分运算相结合,可以实现大规模并行计算,大幅度降低乘累加运算的功耗并提高神经网络处理器的计算性能。
神经网络中权重值的分布均遵循正态分布规律,“1”的比例约占1/3,目前的大多神经形态处理器中的权重都采取补码形式存储,如果采取补码形式存储,那么权重中“1”的比例将上升为1/2,计算的功耗将增加。因此本发明提出了一种差分权重存储的乘累加阵列,将权重按照正、负值差分存储,大幅度降低权重中“1”的比例,从而降低神经网络电路在计算时的功耗。
当前提出的神经形态计算电路在输入端大都需要高精度的数模转换器(DACs,Digital-to-Analog Converters)作为接口器件,导致接口器件的能耗占整体能耗的80%以上,不利于在边缘计算设备里的应用。而且当前的神经形态计算解决方案,实现的权重量化精度和激活值量化精度低,只能面向Lenet等简单网络,对于Alexnet等规模较大的深度神经网络性能损失明显,很大程度上限制了其应用的范围。
发明内容
针对目前乘法器面积开销大,功耗高,计算效率低下以及难以实现大规模并行计算等问题,本发明所提供一种基于radix-4编码和差分权重存储的乘累加电路及其乘累加方法,用于神经形态芯片中神经形态计算核的乘累加操作,能够在低能耗的情况下仅通过硬件实现大规模并行计算,能用于高精度高性能的深度神经网络中。
传统的乘累加电路结构图如图1所示,单个乘法器一次只能处理一行数据,乘法器计算的结果输入加法器中完成累加运算,假设有n个输入和n个输出进行相乘,则需要n个乘法器和n-1个二输入加法器才能得到最终的结果,整个电路的规模巨大,功耗也非常巨大。
目前有的电路需要在输入端添加模数转换器,在输出端添加数模转换器,电路的功耗和面积都很高。而本发明采用RRAM作为基本单元来实现差分权重存储电路,在电流经过基本单元的时候实现了输入数据与权重值相乘的过程,不再像传统的乘累加电路一样需要乘法器才能实现乘法过程。通过积分子电路对每一列基本单元输出端输出的数据进行积分,从而实现累加过程,也不需要传统电路中的加法器。本发明的电路和计算方法可以实现大规模并行计算,同时整体电路的能耗非常低,能够在低能耗的情况下实现高精度高性能的深度神经网络。
本发明采用的技术方案是:
本发明包括输入数据编码电路、差分权重存储电路、积分计算电路和差分ADC电路,输入数据编码电路的输出端依次经差分权重存储电路、积分计算电路后和差分ADC电路连接,差分ADC电路输出乘累加结果;原始输入数据经输入数据编码电路编码后与差分权重存储电路电路中所存储的权重值相乘,通过积分计算电路对各个相乘结果的正值和负值进行分别累加,然后通过差分ADC电路对正负值累加结果的差进行模数转换,从而得到最后的乘累加结果。
所述的输入数据编码电路包括依次连接的存储器、编码器和数据选择器;原始的输入数据为二进制编码数据,事先存储在存储器中,存储器中的数据根据时序输出,每次输出当前数据的低三位进入编码器中,编码器接收来自存储器的低三位数据,将其编码成radix-4编码,编码结果通过4选1的选择器选通向差分权重存储电路输出编码数据值,在4个时钟周期内依次输出,每个时钟周期输出radix-4编码的一种编码,四个时钟周期分别输出radix-4编码的四种不同编码。
所述的差分权重存储电路包括两个大小规模相等的权重存储电路,每个权重存储电路均由多个基本单元阵列排布连接构成,基本单元均由一个场效应管和二进制RRAM连接构成,同一列的基本单元串接,同一行的基本单元串接;权重存储电路的每一行基本单元共同存储一个权重值,两个权重存储电路分别为正值存储电路和负值存储电路,正值存储电路和负值存储电路分别存储正、负权重值,正值存储电路存储为正值的权重值,负值存储电路存储为负值的权重值;
从原始输入数据的低三位开始,依次每三位输入到输入数据编码电路,每三位数据之间有一位数据重叠,经输入数据编码电路处理后由选择器输出的编码数据值到各行基本单元a1,n-1,各行基本单元接收编码数据值,将编码数据值和正值存储电路/负值存储电路中的每一权重相乘后按列相加得到当前位的乘加结果。
本发明中,在二进制RRAM中做存储内计算,通过与的方式得到每一位的计算结果。非易失性阻变存储器按位读取,因此抛弃传统的单个输入数据与权重值相乘后累加的计算方式,所有的输入数据同时输入到权重存储电路中。这样情况下,相比于传统的SRAM阵列,本发明采用的RRAM阵列具有高存储密度和一次性读取的特点,可以一次读取多个权重值,大幅度减少乘加阵列的功耗和面积。相比于传统的单个存储器阵列的补码存储形式,本发明中正、负权重值都采用原码进行存储(负数为绝对值原码),同时当权重值存储在一个阵列中时,另一个阵列中对应行为零,整个权重存储阵列中绝大部分存储单元都处于零状态,不参与计算过程,整个电路的功耗将非常低。
所述的基本单元均由一个场效应管和二进制RRAM串接构成,二进制RRAM一端连接在场效应管的源极,二进制RRAM另一端接地,场效应管的栅极连接到输入数据编码电路的输出端,场效应管的漏极作为基本单元的输出端并连接到积分计算电路的输入端,同一列基本单元的场效应管的漏极串接,同一行基本单元的场效应管的栅极串接并作为基本单元的输入端。
所述的积分计算电路包括多组积分子电路和一个补偿电路;
每个积分子电路主要由一个选择开关管组和一个积分器构成,每组选择开关管组均由两个选择MOS管Q1,n-1、Q2,n-1和一个控制MOS管S1,n-1的三个MOS管连接构成,两个选择MOS管的源极作为积分计算电路的输入端,并分别连接到正值存储电路和负值存储电路的一列基本单元的输出端,两个选择MOS管的漏极均连接到控制MOS管的源极,控制MOS管的栅极连接到外部控制开关电路,控制MOS管的漏极作为积分计算电路的输出端并连接到差分ADC电路;每个积分器包括第一积分电容Cn-1、第二积分电容(Cf-Cn-1)、复位开关S4、积分工作开关S2;第一积分电容Cn-1、第二积分电容(Cf-Cn-1)、复位开关S4并联在电压Vdd和积分子电路的输出端之间,第一积分电容Cn-1和第二积分电容(Cf-Cn-1)之间串接有积分工作开关S2,第一积分电容Cn-1和积分工作开关S2之间引出连接到ADC采样线;补偿电路包括补偿电容Cp和补偿电容复位开关Sp,补偿电容Cp和补偿电容复位开关Sp并联在电压Vdd和ADC采样线之间;
所述的差分ADC电路包括设置连接在ADC采样线上的电荷平分开关S3、ADC采样电容Cf和ADC采样开关Sadc;补偿电容Cp和补偿电容复位开关Sp并联后与ADC采样线之间连接有一个电荷平分开关S3,每处第一积分电容Cn-1和积分工作开关S2之间引出到ADC采样线之间均连接有一个电荷平分开关S3,ADC采样电容Cf和ADC采样开关Sadc串联后连接在电压Vdd和积分子电路的输出端之间。
第一积分电容Cn-1、第二积分电容(Cf-Cn-1)用于对一列基本单元的输出端进行积分操作,在积分工作开关S2闭合的时候工作;复位开关S4用于对第二积分电容(Cf-Cn-1)复位,在所有的第一积分电容Cn-1所存储的电荷与ADC采样电容Cf所存储的电荷平分之后工作;积分工作开关S2用于控制第一积分电容和第二积分电容工作,在一列基本单元的输出端输入数据的时候工作;补偿电容Cp用于保证积分电路的第一积分电容Cn-1和补偿电容Cp之和与采样电容Cf相同,在电荷平分开关S3闭合时工作;补偿电容复位开关Sp用于对采样电容Cf进复位,在电荷平分开关S3断开时工作。电荷平分开关S3用于将所有的第一积分电容Cf所存储的电荷与ADC采样电容Cf所存储的电荷相加后平分,在一列基本单元输出端输入两次数据之后时候工作;ADC采样电容Cf和ADC采样开关Sadc用于平分所有的第一积分电容Cn-1所存储的电荷,在工作。
首先,控制MOS管S1,n-1接收外部控制两个选择MOS管Q1,n-1、Q2,n-1的其中一个导通工作,进而控制从基本单元输出的数据根据正、负判断处理分别输出,使得正值存储电路输出时和负值存储电路输出时分别导通,正值存储电路和负值存储电路输出为零时不导通。
其次,积分工作开关S2导通控制控制MOS管S1,n-1的数据输入到第一积分电容Cn-1和第二积分电容(Cf-Cn-1)的两个积分电容,补偿电容复位开关Sp导通使补偿电容Cf复位。
接着,所有电荷平分开关S3导通情况下,控制进行电荷平分分配,补偿电容Cp和所有积分器的第一积分电容Cn-1进行电荷分配,电荷平分时所有的第一积分电容与ADC采样电容平分,最后得到一个等效电压。
最后,ADC采样开关Sadc导通处理,使得ADC采样电容Cf平分所有的第一积分电容Cn-1所存储的电荷。
本发明的有益效果是:
本发明相比于目前乘加电路具有面积小,计算次数少,计算速度快,可大规模并行计算,低功耗等优势,可用于神经形态芯片的核心计算电路中,配置成深度神经网络应用,适用于部署对功耗要求高的边缘计算设备中。
本发明提出的积分计算电路和模拟电压转换电路,利用电荷重新分配的原理,完成不同权重位和不同输入位的加权过程,结构简单且误差小易控制,能实现较高的积分精度和网络正确率,而解决了现有乘累加电路提出的镜像电流源体制和动态阈值体制等普遍存在结构复杂、电路误差大和功耗大的问题,解决了导致只能应用在小规模的神经网络中的技术问题,本发明能够应用在大规模的神经网络中。
附图说明
图1为传统的乘累加阵列结构图;
图2为本发明提出的基于radix-4编码和差分权重存储的乘累加阵列结构图;
图中:1、输入编码电路,2、差分权重存储电路,3、积分计算电路;
图3为本发明提出的输入数据编码电路;
图4为本发明具体实施采用的1T1R存储器结构图;
图5为本发明提出的差分权重存储电路;
图6为本发明提出的权重存储逻辑框图;
图7为本发明提出的积分计算电路结构图;
图7(a)为正值积分电路,图7(b)为负值积分电路;
图8为本发明提出的积分计算过程框图;
图9为本发明提出的模拟电压转换电路结构图。
具体实施方式
以下结合附图及具体实施例对本发明作进一步详细说明。
如图2所示,具体实施包括输入数据编码电路、差分权重存储电路、积分计算电路和差分ADC电路,输入数据编码电路的输出端依次经差分权重存储电路、积分计算电路后和差分ADC电路连接,差分ADC电路输出乘累加结果;原始输入数据经输入数据编码电路编码后与差分权重存储电路电路中所存储的权重值相乘,通过积分计算电路对各个相乘结果的正值和负值进行分别累加得到原始输入数据的当前处理的一个输入位对应的等效模拟电压值,然后通过差分ADC电路对正负值累加结果的差进行模数转换实现不同输入位之间的加权,从而得到最后的乘累加结果,实现乘累加的电路处理。
如图3所示,所述的输入数据编码电路包括依次连接的存储器、编码器和数据选择器;输入数据提前存储在存储器中,按照时序输入到编码器中进行编码,随后通过选择器顺序选通四个不同的输出通道,依次输出不同的编码结果。
具体的,原始的输入数据为二进制编码数据,事先存储在存储器中,存储器中的数据根据时序输出,每次输出当前数据的低三位进入编码器中,编码器接收来自存储器的低三位数据,即三位二进制数,将其编码成radix-4编码,编码结果通过4选1的选择器选通向差分权重存储电路输出编码数据值,在4个时钟周期内依次输出,每个时钟周期输出radix-4编码的一种编码,四个时钟周期分别输出radix-4编码的四种不同编码,分别为输出结果为1、-1、2、-2。
所述的差分权重存储电路采用非易失性阻变存储器(RRAM)作为存储单元,相对于传统的SRAM单元,仅在计算过程中会产生功耗。
如图5所示,所述的差分权重存储电路包括两个大小规模相等的权重存储电路,每个权重存储电路均由多个基本单元阵列排布连接构成,基本单元均由一个场效应管和二进制RRAM连接构成,同一列的基本单元串接,同一行的基本单元串接;如图6所示,权重存储电路的每一个基本单元存储一个权重,权重存储电路的每一行基本单元共同存储一个权重值,两个权重存储电路分别为正值存储电路和负值存储电路,正值存储电路和负值存储电路分别存储正、负权重值,正值存储电路存储为正值的权重值,负值存储电路存储为负值的权重值;
具体实施中,两个权重存储电路的同一行中,其一为正值权重/负值权重,其二为零值。
两个权重存储电路的同一行作差得到一个权重值:当权重值为正时,在正值存储电路中存储权重值,负值存储电路置零;当权重值为负时,在负值存储电路中存储权重值,正值存储电路置零。
从原始输入数据的低三位开始,依次每三位输入到输入数据编码电路,每三位数据之间有一位数据重叠,经输入数据编码电路处理后由选择器输出的编码数据值到各行基本单元a1,n-1,每一行的基本单元从输入数据编码电路接收到的相同的编码数据值,不同行的基本单元从输入数据编码电路接收到的可以是不同的编码数据值,各行基本单元接收编码数据值,将编码数据值和正值存储电路/负值存储电路中的每一权重相乘后按列相加得到当前位的乘加结果。
从原始输入数据的最低位开始,一位原始输入数据计算完成后,原始输入数据移到下一位继续输入计算。
如图4所示,具体实施中,所述的基本单元均由一个场效应管和二进制RRAM串接构成,二进制RRAM一端连接在场效应管的源极,二进制RRAM另一端接地,场效应管的栅极连接到输入数据编码电路的输出端(数据选择器),场效应管的漏极作为基本单元的输出端并连接到积分计算电路的输入端,同一列基本单元的场效应管的漏极串接,同一行基本单元的场效应管的栅极串接并作为基本单元的输入端。
具体实施中,采用1晶体管-1RRAM(1T1R,1Transistor 1RRAM)结构作为基本组成单元,其中晶体管控制开关行为,8个1位RRAM以固定点数的形式来模拟权重的二进制单元。本发明采用氮掺杂氧化铝结构的实验数据对RRAM进行建模,每个RRAM具有2个电阻:低阻态(约10MΩ)和高阻态(约10G—100GΩ)。通过时序安排,使RRAM阵列只在积分阶段导通,大多数时间处于关断状态,从而大大降低了突触阵列的功耗。来自输入电路的输入信号直接作为RRAM阵列中1T1R单元的控制电压Vc,从而消除了输入接口DAC的使用,大幅减少了能量的消耗和面积的占用。
简单来说,本发明将传统的按行相乘再累加的计算方法改成了按列相乘后累加的方法,可以实现大规模并行计算。
所述的正值存储电路和负值存储电路中的基本单元数量相同,行数和列数均相同。
如图7和图9所示,所述的积分计算电路包括多组积分子电路和一个补偿电路;
每个积分子电路主要由一个选择开关管组和一个积分器构成,每组选择开关管组均由两个选择MOS管Q1,n-1、Q2,n-1和一个控制MOS管S1,n-1的三个MOS管连接构成,两个选择MOS管的源极作为积分计算电路的输入端,并分别连接到正值存储电路和负值存储电路的一列基本单元的输出端(场效应管漏极),即一个选择MOS管的源极连接到正值存储电路中同一列基本单元的场效应管的漏极输出端,另一个选择MOS管的源极连接到负值存储电路中同一列基本单元的场效应管的漏极输出端,两个选择MOS管的漏极均连接到控制MOS管的源极,控制MOS管的栅极连接到外部控制开关电路,控制MOS管的漏极作为积分计算电路的输出端并连接到差分ADC电路;
每个积分器包括第一积分电容Cn-1、第二积分电容(Cf-Cn-1)、复位开关S4、积分工作开关S2;第一积分电容Cn-1、第二积分电容(Cf-Cn-1)、复位开关S4并联在电压Vdd和积分子电路的输出端之间,第一积分电容Cn-1和第二积分电容(Cf-Cn-1)之间串接有积分工作开关S2,第一积分电容Cn-1和积分工作开关S2之间引出连接到ADC采样线;
补偿电路包括补偿电容Cp和补偿电容复位开关Sp,补偿电容Cp和补偿电容复位开关Sp并联在电压Vdd和ADC采样线之间;
如图9所示,所述的差分ADC电路包括设置连接在ADC采样线上的电荷平分开关S3、ADC采样电容Cf和ADC采样开关Sadc;补偿电容Cp和补偿电容复位开关Sp并联后与ADC采样线之间连接有一个电荷平分开关S3,每处第一积分电容Cn-1和积分工作开关S2之间引出到ADC采样线之间均连接有一个电荷平分开关S3,ADC采样电容Cf和ADC采样开关Sadc串联后连接在电压Vdd和积分子电路的输出端之间。
积分子电路和差分ADC电路中电荷平分开关S3的数量均与正值存储电路/负值存储电路中基本单元的列数相同,一个积分子电路对应连接正值存储电路和负值存储电路中的一列基本单元,不同积分子电路对应连接正值存储电路和负值存储电路中的不同列基本单元。
积分电路分为正值积分电路和负值积分电路,分别对正数和负数进行积分。由正值存储电路及其对应连接的积分计算电路和差分ADC电路部分构成了正值积分电路,如图7(a)所示。由负值存储电路及其对应连接的积分计算电路和差分ADC电路部分构成了负值积分电路,如图7(b)所示。
在本发明中,8位输入信号被编码为四位radix-4编码,采用多路输入并行计算和轴突优先的策略,将输入数据的每一位按照一定的顺序输入积分电路,利用电荷再分配的原理,可以完成如图8所示的积分计算过程。输入信号可以表示为数字形式x=An/2-1An/2-2…A0x=An/2-1An/2-2…A0,其中每一位Ai在时分复用电路的控制下依次选通编码值为1,-1,2,-2的输入行,权重值可以用数字形式w=an-1an-2…a0,w=an-1an-2…a0进行表示。通过欧姆定律可以得到输入信号与权重值相乘的结果,以电流信号表示,同时根据输入信号与权重阵列的正负分别将电流信号传送到正、负积分电路中进行积分计算,可以完成一次数据输入的乘累加的过程。
本发明提出的模拟电压转换器电路如图9所示。通过积分计算电路得到1次数据输入乘累加的结果后,模数转换电路通过时序控制,在输入完1,-1后进行一次电荷分配;在输入完2,-2后再进行一次电荷分配,可以完成不同输入位之间的加权过程,得到正、负两个模拟输出电压。将这两个模拟输出电压分别输入一个差分的SAR ADC的正、负输入端,即可得到数字的乘累加输出,构成完成的神经形态计算电路。
本发明采用多个积分器对乘法计算结果进行积分操作,在特殊采用了radix-4编码基础上,radix-4编码的1/-1和2/-2之间存在差异,不同积分器所用电容之间存在2倍关系,将所有积分器并联通过电荷再分配后可得到1位输入后乘累加的计算结果。
编码值与权重值都有正负之分,通过开关控制信号输入,正值积分电路仅对正值进行积分,负值积分电路仅对负值进行积分。1位积分的数据完成后,通过模拟电压转换操作,在adix-4编码的1/-1和2/-2的分别输入时闭合两次补偿电容复位开关Sp,进行两次电荷平分操作,即当前值*1/4,可以实现不同输入数据位之间的加权操作。
所有数据输入完成后,正、负积分电路所得模拟输出电压的差值即为最后的乘累加结果。
本发明的实施例及其实施工作过程如下:
图3为本发明提出的输入数据编码电路,包括存储器、编码器和数据选择器。存储器的时钟端口(clk)连接时钟信号,输入端口用于输入原始输入数据,标志位用于表示一个原始输入数据输出完成,三个输出端口分别与编码器的输入端口(A、B、C)相连接,编码器的四个输出端口(-2、-1、2、1)分别连接数据选择器的四个输入端口(11、10、01、00),数据选择器的两个控制信号分别为控制信号1(s_np)和控制信号2(s_21)。
存储器用于存储原始输入数据,在每个时钟的上升沿,存储器从内部读出原始输入数据进行输出。假设原始输入数据为六位二进制数011010,输出过程为:
初始情况下,标志位为0。第一个时钟到第四个时钟,从上到下的输出为原始输入数据的次低位1,最低位0和单独的0,然后原始输入数据逻辑右移一位变成001101;第五个时钟到第八个时钟,从上到下的输出为原始输入数据的低三位1、0、1,然后原始输入数据逻辑右移两位变成000011;第九个时钟到第十二个时钟,从上到下的输出为原始输入数据的低三位0、1、1,然后原始数据逻辑右移两位变成000000;第十三个时钟,原始数据全部为0,输出结束,标志位从0变成1。
编码器接受来自存储器的三位输入信号,并对其进行radix-4编码,编码规则为输入A的值乘以-2加上输入B的值再加上输入C的值所得的结果。假设结果为-2,那么输出端-2为高电平,其他输出端为低电平;假设结果为-1,那么输出端-1为高电平,其他输出端为低电平;假设结果为2,那么输出端2为高电平,其他输出端为低电平;假设结果为1,那么输出端1为高电平,其他输出端为低电平;假设结果为0,那么所有输出端都是低电平。依旧假设原始输入数据为011010,根据存储器的输出,第一个时钟到第四个时钟,输出端-2为高电平,其他输出端为低电平;第五个时钟到第八个时钟,输出端-1为高电平,其他输出端为低电平;第九个时钟到第十二个时钟,输出端2为高电平,其他输出端为低电平;第十三个时钟,所有输出端均为低电平。
编码器的输出输入数据选择器中,通过控制信号1(s_np)和控制信号2(s_21)进行选通。当控制信号1(s_np)高电平时11端或者10端选通,低电平时01端或者00端选通;控制信号2(s_21)高电平时11端或者01端选通,低电平时10端或者00端选通。通过改变控制信号1(s_np)和控制信号2(s_21)的时序,依次选通00端,10端,01端和11端,从而在控制输入数据编码电路的输出在四个时钟周期内依次为radix-4编码形式的1、-1、2、-2。依旧假设原始输入数据为011010,编码器第一个时钟周期到第四个时钟周期编码器-2输出端为1,该端口在第四个时钟周期选通,因此第一个时钟周期到第三个时钟周期,输入数据编码电路输出为0,第四个时钟周期输入数据编码电路输出为1。与前四个时钟周期相同,第五个时钟周期到第八个时钟周期中,第六个时钟周期输入数据编码电路输出为1,其他时钟周期输入数据编码电路输出为0;第九个时钟周期到第十二个时钟周期,第九个时钟周期输入数据编码电路输出为1,其他时钟周期输入数据编码电路输出为0。
图5为本发明提出的差分权重存储电路,正值存储电路和负值存储电路,二者的规模和结构完全相同,分别用于存储正值的权重值和负值的权重值。在本存储阵列中,采用8个基本单元来存储一个二进制权重,因此可将一个8位固定点权重表示为w=an-1an-2…a0,an-1为权重值的一个二进制位,用如图4所示的基本单元来表示。当基本单元在高阻态时,电阻值为100G,表示an-1=0;当基本单元在低阻态时,电阻值为10M,表示an-1=1。
本发明中采取的权重存储机制如图6所示,如果某个权重wx为正数,则它的值wx的二进制序列存储在正值存储阵列的某一行中,而负值存储阵列中相应行存储值为0;同理,如果某个权重wy为负数,则它的绝对值|wy|的二进制序列存储在负值存储阵列中的某一行中,而正值存储阵列中相应行存储值为0。需要注意的是,当权重值为负数时,存储的是它的负数,也就是绝对值,这样可以保证所有的符号位均为0,也简化之后计算过程。
本发明中采取的权重存储机制如图6所示,差分权重阵列分为正值存储电路和负值存储电路,两个电路相同行所存储数据的差值即为当前权重值,且保证每一行中至少有一个电路的存储值为0。也就是说,当正值存储电路中某一行存储值为wx时,该行负值存储电路存储值应为0,此时存储的权重值为wx-0=wx;同理,如果当负值存储电路中某一行存储值为wy,那么该行正值存储电路存储值应为0,该行的权重值为0-wy=-wy。采用这样的存储机制,可以保证所有的符号位均为0,简化后面的计算过程。
图7为本发明提出的积分计算电路结构,其中1为正值积分电路,2为负值积分电路。由于本发明采用radix-4编码,输入数据有正值也有负值,同时权重值也是正负值分开存储,因此通过图3中控制信号1(s_np)来控制积分计算电路的输入信号,正值积分电路只接受正数的相乘结果,负值积分电路只接受负数的相乘结果。也就是说当控制信号1(s_np)为高电平时,输入数据编码电路输出负值,正值积分电路接受来自负值存储电路的计算结果,即负数输入*负数权重=正数结果,负值积分电路接受来自正值存储电路的计算结果,即负数输入*正数权重=负数结果;当控制信号1(s_np)为低电平时输入数据编码电路输出正值,正值积分电路接受来自正值存储电路的计算结果,即正数输入*正数权重=正数结果,负值积分电路接受来自负值存储电路的计算结果,即正数输入*负数权重=负数结果对于n位权重值而言,用于积分的第一积分电容分别为Cn-1,Cn-2,...,C0,并且它们之间的相互关系为Cn-1=2Cn-2=...=2n-1C0,作用是用于存储一列基本单元输出所代表的电荷;用于积分的第二积分电容为Cf-Cn-1,Cf-Cn-2…Cf-C0,作用是保证每个积分器在进行积分时积分电容总和都与ADC采样电容(Cf)相等。控制MOS复位开关S4用于对第二积分电容(Cf-Cn-1)复位,积分工作开关S2用于控制第一积分电容和第二积分电容工作,补偿电容Cp用于保证积分电路的第一积分电容Cn-1和补偿电容Cp之和与采样电容Cf相同,补偿电容复位开关Sp用于对采样电容Cf进复位,电荷平分开关S3用于将所有的第一积分电容Cf所存储的电荷与ADC采样电容Cf所存储的电荷相加后平分,首先,控制MOS管S1,n-1接收外部控制两个选择MOS管Q1,n-1、Q2,n-1的其中一个导通工作,进而控制从基本单元输出的数据根据正、负判断处理分别输出,使得正值存储电路输出时和负值存储电路输出时分别导通,正值存储电路和负值存储电路输出为零时不导通。
其次,积分工作开关S2导通控制控制MOS管S1,n-1的数据输入到第一积分电容Cn-1和第二积分电容(Cf-Cn-1)的两个积分电容,补偿电容复位开关Sp导通使补偿电容Cf复位。
接着,所有电荷平分开关S3导通情况下,控制进行电荷平分分配,补偿电容Cp和所有积分器的第一积分电容Cn-1进行电荷再分配。
最后,ADC采样开关Sadc导通处理,使得ADC采样电容Cf平分所有的第一积分电容Cn-1所存储的电荷。
在本发明中,8位输入信号被编码为四位radix-4编码,采用多路输入并行计算和轴突优先的策略,将输入数据的每一位按照一定的顺序输入积分电路,利用电荷再分配的原理,可以完成如图8所示的积分计算过程。输入信号可以表示为数字形式x=An/2-1An/2-2…A0,其中每一位Ai在时分复用电路的控制下依次选通编码值为1,-1,2,-2的输入行,权重值可以用数字形式w=an-1an-2…a0进行表示。通过欧姆定律可以得到输入信号与权重值相乘的结果,以电流信号表示,同时根据输入信号与权重阵列的正负分别将电流信号传送到正、负积分电路中进行积分计算,可以完成一次数据输入的乘累加的过程。
本发明提出的模拟电压转换器电路如图9所示。通过积分计算电路得到1次数据输入乘累加的结果后,模数转换电路通过时序控制,在输入完1,-1后进行一次电荷分配;在输入完2,-2后再进行一次电荷分配,可以完成不同输入位之间的加权过程,得到正、负两个模拟输出电压。将这两个模拟输出电压分别输入一个差分的SAR ADC的正、负输入端,即可得到数字的乘累加输出,构成完成的神经形态计算电路。
在本发明中,输入数据从最低位开始同时输入,与权重相乘后输入积分电路进行积分,积分完成后输入下一bit。也就是说,A0,0A1,0...Ap-1,0同时输入,当Ai=1时,输入电压为VA,当Ai=0时,输入电压为0。
在积分过程中,开关S1,S2导通,开关S3断开以使各个积分器分立,积分电路的输出电压Vo为:
其中,为积分器上一状态输出电压,T为积分时间,Gi为1-bit二进制权重的电导(高阻态时为1/RH,低阻态时为1/RL),Cf为所有积分电容的总和。积分过程结束后,开关S1断开以减少存储器电路的能量损耗,S2断开以保证积分电容Ci电荷值不变,S3闭合以获得yj=∑2n-1ai,n-1bi,j+...+∑21ai,1bi,j+∑20ai,0bi,j的等效电压。由于积分电容间的关系为Cn-1=2Cn-2=...=2n-1C0,因此在S3闭合时,电容电荷量将根据电容值进行再分配,即可得到等效的模拟电压。
当输入数据为多个bit时,1-bit数据输入完成后,输入数据将移动到下一位,这时需要对等效模拟电压进行加权,如图9所示。在整个积分过程中,ADC采样开关闭合,当S3闭合时,之前的Vout与Vs相加后进行平分,也就是说其中为S3闭合前的输出电压,即之前所有bit输入后的等效模拟电压。
本发明提出的模拟电压转换电路如图9所示。本发明中采用radix-4编码,不同bit之间的进制为4,输入信号有可能为1/-1,也有可能为2/-2。为了简化硬件结构,通过控制时序的方式来实现不同bit之间的加权:
(1)输入信号为1时,正负积分电路分别积分并将积分电压保持;输入信号为-1时,正负积分电路交换输入,再次积分。两次积分操作后进行一次电荷平分,此时输出电压为Vout表示。。。,Vs1表示。。。。
(2)输入信号为1时,正负积分电路分别积分并将积分电压保持;输入信号为-1时,正负积分电路交换输入,再次积分。两次积分操作后与前面的积分电压一起再进行一次电荷平分,此时输出电压为Vout,1表示。。。,Vs2表示。。。。
(3)两次电荷平分过程结束后,输入编码电路输出下一个radix-4编码结果,进行下一个输入位的乘加计算。
因此,最后的等效模拟电压为
其中,Vs,i表示。。。,Vs1,i表示。。。,Vs2,i表示。。。,n表示。。。。
将正、负两个等效模拟电压相减,即可得到最后的模拟电压输出。
通过上述积分过程和电荷再分配过程,完成了数字形式的radix-4编码输入和差分存储的权重的乘累加运算,并得到了模拟形式的输出电压。如需进行后续运算,将两个电压差分输入ADC中进行A-D转换。
以上实施例仅用于说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解;其依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。
Claims (5)
1.一种基于radix-4编码和差分权重存储的乘累加电路,其特征在于:包括输入数据编码电路、差分权重存储电路、积分计算电路和差分ADC电路,输入数据编码电路的输出端依次经差分权重存储电路、积分计算电路后和差分ADC电路连接,差分ADC电路输出乘累加结果;原始输入数据经输入数据编码电路编码后与差分权重存储电路电路中所存储的权重值相乘,通过积分计算电路对各个相乘结果的正值和负值进行分别累加,然后通过差分ADC电路对正负值累加结果的差进行模数转换,从而得到最后的乘累加结果。
2.根据权利要求1所述的一种基于radix-4编码和差分权重存储的乘累加电路,其特征在于:所述的输入数据编码电路包括依次连接的存储器、编码器和数据选择器;原始的输入数据为二进制编码数据,事先存储在存储器中,存储器中的数据根据时序输出,每次输出当前数据的低三位进入编码器中,编码器接收来自存储器的低三位数据,将其编码成radix-4编码,编码结果通过4选1的选择器选通向差分权重存储电路输出编码数据值,在4个时钟周期内依次输出,每个时钟周期输出radix-4编码的一种编码,四个时钟周期分别输出radix-4编码的四种不同编码。
3.根据权利要求1所述的一种基于radix-4编码和差分权重存储的乘累加电路,其特征在于:所述的差分权重存储电路包括两个大小规模相等的权重存储电路,每个权重存储电路均由多个基本单元阵列排布连接构成,基本单元均由一个场效应管和二进制RRAM连接构成,同一列的基本单元串接,同一行的基本单元串接;权重存储电路的每一行基本单元共同存储一个权重值,两个权重存储电路分别为正值存储电路和负值存储电路,正值存储电路和负值存储电路分别存储正、负权重值,正值存储电路存储为正值的权重值,负值存储电路存储为负值的权重值;
从原始输入数据的低三位开始,依次每三位输入到输入数据编码电路,每三位数据之间有一位数据重叠,经输入数据编码电路处理后由选择器输出的编码数据值到各行基本单元a1,n-1,各行基本单元接收编码数据值,将编码数据值和正值存储电路/负值存储电路中的每一权重相乘后按列相加得到当前位的乘加结果。
4.根据权利要求1所述的一种基于radix-4编码和差分权重存储的乘累加电路,其特征在于:所述的基本单元均由一个场效应管和二进制RRAM串接构成,二进制RRAM一端连接在场效应管的源极,二进制RRAM另一端接地,场效应管的栅极连接到输入数据编码电路的输出端,场效应管的漏极作为基本单元的输出端并连接到积分计算电路的输入端,同一列基本单元的场效应管的漏极串接,同一行基本单元的场效应管的栅极串接并作为基本单元的输入端。
5.根据权利要求1所述的一种基于radix-4编码和差分权重存储的乘累加电路,其特征在于:所述的积分计算电路包括多组积分子电路和一个补偿电路;
每个积分子电路主要由一个选择开关管组和一个积分器构成,每组选择开关管组均由两个选择MOS管Q1,n-1、Q2,n-1和一个控制MOS管S1,n-1的三个MOS管连接构成,两个选择MOS管的源极作为积分计算电路的输入端,并分别连接到正值存储电路和负值存储电路的一列基本单元的输出端,两个选择MOS管的漏极均连接到控制MOS管的源极,控制MOS管的栅极连接到外部控制开关电路,控制MOS管的漏极作为积分计算电路的输出端并连接到差分ADC电路;每个积分器包括第一积分电容Cn-1、第二积分电容(Cf-Cn-1)、复位开关S4、积分工作开关S2;第一积分电容Cn-1、第二积分电容(Cf-Cn-1)、复位开关S4并联在电压Vdd和积分子电路的输出端之间,第一积分电容Cn-1和第二积分电容(Cf-Cn-1)之间串接有积分工作开关S2,第一积分电容Cn-1和积分工作开关S2之间引出连接到ADC采样线;补偿电路包括补偿电容Cp和补偿电容复位开关Sp,补偿电容Cp和补偿电容复位开关Sp并联在电压Vdd和ADC采样线之间;
所述的差分ADC电路包括设置连接在ADC采样线上的电荷平分开关S3、ADC采样电容Cf和ADC采样开关Sadc;补偿电容Cp和补偿电容复位开关Sp并联后与ADC采样线之间连接有一个电荷平分开关S3,每处第一积分电容Cn-1和积分工作开关S2之间引出到ADC采样线之间均连接有一个电荷平分开关S3,ADC采样电容Cf和ADC采样开关Sadc串联后连接在电压Vdd和积分子电路的输出端之间。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910462374.8A CN110209375B (zh) | 2019-05-30 | 2019-05-30 | 一种基于radix-4编码和差分权重存储的乘累加电路 |
PCT/CN2020/092286 WO2020238889A1 (zh) | 2019-05-30 | 2020-05-26 | 一种基于Radix-4编码和差分权重的乘累加电路 |
US17/274,962 US20210365241A1 (en) | 2019-05-30 | 2020-05-26 | Multiplication and accumulation circuit based on radix-4 booth code and differential weight |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910462374.8A CN110209375B (zh) | 2019-05-30 | 2019-05-30 | 一种基于radix-4编码和差分权重存储的乘累加电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110209375A true CN110209375A (zh) | 2019-09-06 |
CN110209375B CN110209375B (zh) | 2021-03-26 |
Family
ID=67789543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910462374.8A Active CN110209375B (zh) | 2019-05-30 | 2019-05-30 | 一种基于radix-4编码和差分权重存储的乘累加电路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210365241A1 (zh) |
CN (1) | CN110209375B (zh) |
WO (1) | WO2020238889A1 (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110941185A (zh) * | 2019-12-20 | 2020-03-31 | 安徽大学 | 一种用于二值神经网络的双字线6tsram单元电路 |
WO2020238889A1 (zh) * | 2019-05-30 | 2020-12-03 | 浙江大学 | 一种基于Radix-4编码和差分权重的乘累加电路 |
CN112071343A (zh) * | 2020-08-18 | 2020-12-11 | 安徽大学 | 一种在存储器中结合电容实现乘法的sram电路结构 |
CN112558917A (zh) * | 2019-09-10 | 2021-03-26 | 珠海博雅科技有限公司 | 存算一体电路和基于存算一体电路的数据运算方法 |
CN113157034A (zh) * | 2021-01-19 | 2021-07-23 | 浙江大学 | 一种被动稳压电路实现的高线性度神经形态计算电路 |
CN113325909A (zh) * | 2020-02-12 | 2021-08-31 | 力旺电子股份有限公司 | 运用于二进制类神经网络***的乘积累加电路 |
CN113949385A (zh) * | 2021-12-21 | 2022-01-18 | 之江实验室 | 一种用于rram存算一体芯片补码量化的模数转换电路 |
CN114400031A (zh) * | 2022-03-24 | 2022-04-26 | 之江实验室 | 一种补码映射的rram存算一体芯片及电子设备 |
CN114830136A (zh) * | 2019-12-19 | 2022-07-29 | 高通股份有限公司 | 功率高效的近存储器模拟乘法和累加(mac) |
CN114913895A (zh) * | 2022-07-19 | 2022-08-16 | 中科南京智能技术研究院 | 一种实现两比特输入单比特权重的存内计算宏单元 |
WO2022236885A1 (zh) * | 2021-05-14 | 2022-11-17 | 南京大学 | 一种基于频分复用并行化模拟存内计算的装置及方法 |
CN116126282A (zh) * | 2022-12-21 | 2023-05-16 | 辉羲智能科技(上海)有限公司 | 自动驾驶辅助控制方法、***及其ai计算方法、装置 |
CN116185334A (zh) * | 2023-04-19 | 2023-05-30 | 上海登临科技有限公司 | 阵列电路的输入控制方法和阵列电路 |
CN117831589A (zh) * | 2024-01-11 | 2024-04-05 | 浙江大学 | 一种基于rram的高密度数模混合存算阵列 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12014184B2 (en) * | 2019-10-31 | 2024-06-18 | SK Hynix Inc. | Arithmetic devices for neural network including an input distribution signal generation circuit, an output distribution signal generation circuit, and an output distribution signal compensation circuit |
US11915125B2 (en) | 2019-10-31 | 2024-02-27 | SK Hynix Inc. | Arithmetic devices for neural network |
US11688457B2 (en) * | 2020-12-26 | 2023-06-27 | International Business Machines Corporation | Using ferroelectric field-effect transistors (FeFETs) as capacitive processing units for in-memory computing |
US12014151B2 (en) * | 2020-12-31 | 2024-06-18 | Ceremorphic, Inc. | Scaleable analog multiplier-accumulator with shared result bus |
US11886835B2 (en) * | 2020-12-31 | 2024-01-30 | Ceremorphic, Inc. | Cascade multiplier using unit element analog multiplier-accumulator |
CN113314174B (zh) * | 2021-05-06 | 2023-02-03 | 安徽大学 | 一种用于sram阵列的列移位多位乘法二进制分解运算的电路结构 |
KR20230070753A (ko) * | 2021-11-15 | 2023-05-23 | 삼성전자주식회사 | 디지털 펄스 기반 크로스바 연산을 수행하는 연산 장치 및 그 동작 방법 |
KR20240014147A (ko) | 2022-07-25 | 2024-02-01 | 에스케이하이닉스 주식회사 | Mac 연산 동작을 수행하는 반도체 장치 |
TWI837802B (zh) * | 2022-09-02 | 2024-04-01 | 旺宏電子股份有限公司 | 用於記憶體內運算之記憶體裝置、其運算方法及其運算晶胞 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1410239A2 (en) * | 2000-01-25 | 2004-04-21 | Jaber Associates, L.L.C. | Butterfly-processing element for efficient fast fourier transform method and apparatus |
US7333562B2 (en) * | 2002-06-28 | 2008-02-19 | Nec Corporation | Nonlinear distortion compensating circuit |
CN101201731A (zh) * | 2008-02-15 | 2008-06-18 | 刘杰 | 二进制数字减法器 |
CN101382882A (zh) * | 2008-09-28 | 2009-03-11 | 宁波大学 | 一种基于CTGAL的Booth编码器及绝热补码乘累加器 |
CN101384989A (zh) * | 2006-02-15 | 2009-03-11 | 高通股份有限公司 | 具有增强的缩减树电路的布斯乘法器 |
CN102595060A (zh) * | 2012-03-15 | 2012-07-18 | 天津大学 | Cmos图像传感器内部实现tdi功能的模拟累加器 |
CN102662624A (zh) * | 2012-04-13 | 2012-09-12 | 钜泉光电科技(上海)股份有限公司 | 乘法器 |
CN103176948A (zh) * | 2013-03-04 | 2013-06-26 | 浙江大学 | 一种低成本的单精度初等函数运算加速器 |
CN103176767A (zh) * | 2013-03-01 | 2013-06-26 | 浙江大学 | 一种低功耗高吞吐的浮点数乘累加单元的实现方法 |
CN105005057A (zh) * | 2015-08-03 | 2015-10-28 | 北京理工大学 | 一种北斗导航***d1导航电文的捕获方法 |
CN107251090A (zh) * | 2015-02-16 | 2017-10-13 | Hrl实验室有限责任公司 | 尖峰域卷积电路 |
CN109104197A (zh) * | 2018-11-12 | 2018-12-28 | 合肥工业大学 | 应用于卷积神经网络的非还原稀疏数据的编译码电路及其编译码方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5796645A (en) * | 1996-08-27 | 1998-08-18 | Tritech Microelectronics International Ltd. | Multiply accumulate computation unit |
US6571268B1 (en) * | 1998-10-06 | 2003-05-27 | Texas Instruments Incorporated | Multiplier accumulator circuits |
US8019805B1 (en) * | 2003-12-09 | 2011-09-13 | Globalfoundries Inc. | Apparatus and method for multiple pass extended precision floating point multiplication |
US20070294326A1 (en) * | 2004-02-27 | 2007-12-20 | Nuri Saryal | Hybrid Computer |
US20080098057A1 (en) * | 2004-08-26 | 2008-04-24 | Daisuke Takeuchi | Multiplication Apparatus |
EP3459019A4 (en) * | 2016-05-17 | 2020-02-19 | Silicon Storage Technology, Inc. | NEURONAL NETWORK CLASSIFIER WITH IN-DEPTH LEARNING USING A NON-VOLATILE MEMORY NETWORK |
US11315009B2 (en) * | 2017-03-03 | 2022-04-26 | Hewlett Packard Enterprise Development Lp | Analog multiplier-accumulators |
CN109146070B (zh) * | 2017-06-16 | 2021-10-22 | 华为技术有限公司 | 一种支撑基于rram的神经网络训练的***电路及*** |
US10009014B1 (en) * | 2017-08-03 | 2018-06-26 | Bae Systems Information And Electronic Systems Integration Inc. | Input sampling compact signal averager |
CN107491774B (zh) * | 2017-09-30 | 2021-04-27 | 苏州迈瑞微电子有限公司 | 一种指纹传感器及其驱动方法 |
US20190156883A1 (en) * | 2017-11-20 | 2019-05-23 | Macronix International Co., Ltd. | Neuromorphic computing device |
CN110209375B (zh) * | 2019-05-30 | 2021-03-26 | 浙江大学 | 一种基于radix-4编码和差分权重存储的乘累加电路 |
-
2019
- 2019-05-30 CN CN201910462374.8A patent/CN110209375B/zh active Active
-
2020
- 2020-05-26 WO PCT/CN2020/092286 patent/WO2020238889A1/zh active Application Filing
- 2020-05-26 US US17/274,962 patent/US20210365241A1/en active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1410239A2 (en) * | 2000-01-25 | 2004-04-21 | Jaber Associates, L.L.C. | Butterfly-processing element for efficient fast fourier transform method and apparatus |
US7333562B2 (en) * | 2002-06-28 | 2008-02-19 | Nec Corporation | Nonlinear distortion compensating circuit |
CN101384989A (zh) * | 2006-02-15 | 2009-03-11 | 高通股份有限公司 | 具有增强的缩减树电路的布斯乘法器 |
CN101201731A (zh) * | 2008-02-15 | 2008-06-18 | 刘杰 | 二进制数字减法器 |
CN101382882A (zh) * | 2008-09-28 | 2009-03-11 | 宁波大学 | 一种基于CTGAL的Booth编码器及绝热补码乘累加器 |
CN102595060A (zh) * | 2012-03-15 | 2012-07-18 | 天津大学 | Cmos图像传感器内部实现tdi功能的模拟累加器 |
CN102662624A (zh) * | 2012-04-13 | 2012-09-12 | 钜泉光电科技(上海)股份有限公司 | 乘法器 |
CN103176767A (zh) * | 2013-03-01 | 2013-06-26 | 浙江大学 | 一种低功耗高吞吐的浮点数乘累加单元的实现方法 |
CN103176948A (zh) * | 2013-03-04 | 2013-06-26 | 浙江大学 | 一种低成本的单精度初等函数运算加速器 |
CN107251090A (zh) * | 2015-02-16 | 2017-10-13 | Hrl实验室有限责任公司 | 尖峰域卷积电路 |
CN105005057A (zh) * | 2015-08-03 | 2015-10-28 | 北京理工大学 | 一种北斗导航***d1导航电文的捕获方法 |
CN109104197A (zh) * | 2018-11-12 | 2018-12-28 | 合肥工业大学 | 应用于卷积神经网络的非还原稀疏数据的编译码电路及其编译码方法 |
Non-Patent Citations (2)
Title |
---|
TAO LUO, WEI ZHANG, BINGSHENG HE AND DOUGLAS MASKELL: "A Racetrack Memory Based In-memory Booth Multiplier for Cryptography Application", 《2016 21ST ASIA AND SOUTH PACIFIC DESIGN AUTOMATION CONFERENCE (ASP-DAC)》 * |
沈俊; 沈海斌; 虞玉龙: "一种低延迟高吞吐率的浮点整型乘累加单元", 《计算机工程》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020238889A1 (zh) * | 2019-05-30 | 2020-12-03 | 浙江大学 | 一种基于Radix-4编码和差分权重的乘累加电路 |
CN112558917A (zh) * | 2019-09-10 | 2021-03-26 | 珠海博雅科技有限公司 | 存算一体电路和基于存算一体电路的数据运算方法 |
CN112558917B (zh) * | 2019-09-10 | 2021-07-27 | 珠海博雅科技有限公司 | 存算一体电路和基于存算一体电路的数据运算方法 |
CN114830136A (zh) * | 2019-12-19 | 2022-07-29 | 高通股份有限公司 | 功率高效的近存储器模拟乘法和累加(mac) |
CN110941185A (zh) * | 2019-12-20 | 2020-03-31 | 安徽大学 | 一种用于二值神经网络的双字线6tsram单元电路 |
CN110941185B (zh) * | 2019-12-20 | 2022-06-07 | 安徽大学 | 一种用于二值神经网络的双字线6tsram单元电路 |
CN113325909A (zh) * | 2020-02-12 | 2021-08-31 | 力旺电子股份有限公司 | 运用于二进制类神经网络***的乘积累加电路 |
CN112071343B (zh) * | 2020-08-18 | 2022-09-13 | 安徽大学 | 一种在存储器中结合电容实现乘法的sram电路结构 |
CN112071343A (zh) * | 2020-08-18 | 2020-12-11 | 安徽大学 | 一种在存储器中结合电容实现乘法的sram电路结构 |
CN113157034A (zh) * | 2021-01-19 | 2021-07-23 | 浙江大学 | 一种被动稳压电路实现的高线性度神经形态计算电路 |
WO2022236885A1 (zh) * | 2021-05-14 | 2022-11-17 | 南京大学 | 一种基于频分复用并行化模拟存内计算的装置及方法 |
CN113949385A (zh) * | 2021-12-21 | 2022-01-18 | 之江实验室 | 一种用于rram存算一体芯片补码量化的模数转换电路 |
CN113949385B (zh) * | 2021-12-21 | 2022-05-10 | 之江实验室 | 一种用于rram存算一体芯片补码量化的模数转换电路 |
CN114400031A (zh) * | 2022-03-24 | 2022-04-26 | 之江实验室 | 一种补码映射的rram存算一体芯片及电子设备 |
CN114913895A (zh) * | 2022-07-19 | 2022-08-16 | 中科南京智能技术研究院 | 一种实现两比特输入单比特权重的存内计算宏单元 |
CN116126282A (zh) * | 2022-12-21 | 2023-05-16 | 辉羲智能科技(上海)有限公司 | 自动驾驶辅助控制方法、***及其ai计算方法、装置 |
CN116126282B (zh) * | 2022-12-21 | 2023-08-18 | 辉羲智能科技(上海)有限公司 | 自动驾驶辅助控制方法、***及其ai计算方法、装置 |
CN116185334A (zh) * | 2023-04-19 | 2023-05-30 | 上海登临科技有限公司 | 阵列电路的输入控制方法和阵列电路 |
CN117831589A (zh) * | 2024-01-11 | 2024-04-05 | 浙江大学 | 一种基于rram的高密度数模混合存算阵列 |
Also Published As
Publication number | Publication date |
---|---|
CN110209375B (zh) | 2021-03-26 |
WO2020238889A1 (zh) | 2020-12-03 |
US20210365241A1 (en) | 2021-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110209375A (zh) | 一种基于radix-4编码和差分权重存储的乘累加电路 | |
CN110378475B (zh) | 一种基于多位并行二进制突触阵列的神经形态计算电路 | |
JP7384925B2 (ja) | ビットオーダバイナリ加重乗算器/積算器 | |
CN109344964A (zh) | 一种适用于神经网络的乘加计算方法和计算电路 | |
CN110427171A (zh) | 可扩展的定点数矩阵乘加运算的存内计算结构和方法 | |
CN111144558B (zh) | 基于时间可变的电流积分和电荷共享的多位卷积运算模组 | |
CN107545305B (zh) | 一种基于cmos工艺的、数模混合的、电荷域的神经元电路 | |
CN107636640A (zh) | 具有求反指示符的点积引擎 | |
CN113157034B (zh) | 一种被动稳压电路实现的高线性度神经形态计算电路 | |
CN111125616B (zh) | 一种二维离散傅里叶变换运算电路及运算方法 | |
CN107544770B (zh) | 一种数模混合输入的、电荷域的模拟乘加器电路 | |
CN110750231A (zh) | 一种面向卷积神经网络的双相系数可调模拟乘法计算电路 | |
CN110941185B (zh) | 一种用于二值神经网络的双字线6tsram单元电路 | |
CN112181895A (zh) | 可重构架构、加速器、电路部署和计算数据流方法 | |
EP4022426A1 (en) | Refactoring mac operations | |
CN113672855A (zh) | 一种存内运算方法、装置及其应用 | |
CN111611529B (zh) | 电容容量可变的电流积分和电荷共享的多位卷积运算模组 | |
CN104779957A (zh) | 高速逐次逼近模数转换器 | |
CN114115797A (zh) | 存储器内运算装置 | |
CN104868917A (zh) | 模数转换器 | |
CN107835023B (zh) | 一种逐次逼近型数模转换器 | |
CN114168107A (zh) | 一种存内精度可调的矢量矩阵乘法运算方法及运算器 | |
CN104734718A (zh) | 混合型dac电容阵列结构 | |
US11544037B2 (en) | Low area multiply and accumulate unit | |
CN110262771A (zh) | 一种基于mos晶体管的基本运算电路及其扩展电路 |
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 |