CN110209375B - 一种基于radix-4编码和差分权重存储的乘累加电路 - Google Patents

一种基于radix-4编码和差分权重存储的乘累加电路 Download PDF

Info

Publication number
CN110209375B
CN110209375B CN201910462374.8A CN201910462374A CN110209375B CN 110209375 B CN110209375 B CN 110209375B CN 201910462374 A CN201910462374 A CN 201910462374A CN 110209375 B CN110209375 B CN 110209375B
Authority
CN
China
Prior art keywords
circuit
differential
input
output
adc
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
Application number
CN201910462374.8A
Other languages
English (en)
Other versions
CN110209375A (zh
Inventor
黄科杰
肖蕊
沈海斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201910462374.8A priority Critical patent/CN110209375B/zh
Publication of CN110209375A publication Critical patent/CN110209375A/zh
Priority to PCT/CN2020/092286 priority patent/WO2020238889A1/zh
Priority to US17/274,962 priority patent/US20210365241A1/en
Application granted granted Critical
Publication of CN110209375B publication Critical patent/CN110209375B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/544Methods 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/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital 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/0021Auxiliary circuits
    • G11C13/003Cell access
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M3/00Conversion of analogue values to or from differential modulation
    • H03M3/04Differential modulation with several bits, e.g. differential pulse code modulation [DPCM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4814Non-logic devices, e.g. operational amplifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06GANALOGUE COMPUTERS
    • G06G7/00Devices in which the computing operation is performed by varying electric or magnetic quantities
    • G06G7/12Arrangements for performing computing operations, e.g. operational amplifiers
    • G06G7/14Arrangements for performing computing operations, e.g. operational amplifiers for addition or subtraction 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06GANALOGUE COMPUTERS
    • G06G7/00Devices in which the computing operation is performed by varying electric or magnetic quantities
    • G06G7/12Arrangements for performing computing operations, e.g. operational amplifiers
    • G06G7/16Arrangements for performing computing operations, e.g. operational amplifiers for multiplication or division
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/79Array wherein the access device being a transistor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock 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编码和差分权重存储的乘累加电路
技术领域
本发明涉及了一种电阻式非易失性存储器电路,尤其是涉及了一种基于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为:
Figure BDA0002078435570000121
其中,
Figure BDA0002078435570000122
为积分器上一状态输出电压,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相加后进行平分,也就是说
Figure BDA0002078435570000131
其中
Figure BDA0002078435570000132
为S3闭合前的输出电压,即之前所有bit输入后的等效模拟电压。
本发明提出的模拟电压转换电路如图9所示。本发明中采用radix-4编码,不同bit之间的进制为4,输入信号有可能为1/-1,也有可能为2/-2。为了简化硬件结构,通过控制时序的方式来实现不同bit之间的加权:
(1)输入信号为1时,正负积分电路分别积分并将积分电压保持;输入信号为-1时,正负积分电路交换输入,再次积分。两次积分操作后进行一次电荷平分,此时输出电压为
Figure BDA0002078435570000133
Vout表示。。。,Vs1表示。。。。
(2)输入信号为1时,正负积分电路分别积分并将积分电压保持;输入信号为-1时,正负积分电路交换输入,再次积分。两次积分操作后与前面的积分电压一起再进行一次电荷平分,此时输出电压为
Figure BDA0002078435570000134
Vout,1表示。。。,Vs2表示。。。。
(3)两次电荷平分过程结束后,输入编码电路输出下一个radix-4编码结果,进行下一个输入位的乘加计算。
因此,最后的等效模拟电压为
Figure BDA0002078435570000135
其中,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.根据权利要求3所述的一种基于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和积分子电路的输出端之间。
CN201910462374.8A 2019-05-30 2019-05-30 一种基于radix-4编码和差分权重存储的乘累加电路 Active CN110209375B (zh)

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 CN110209375A (zh) 2019-09-06
CN110209375B true 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)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110209375B (zh) * 2019-05-30 2021-03-26 浙江大学 一种基于radix-4编码和差分权重存储的乘累加电路
CN112558917B (zh) * 2019-09-10 2021-07-27 珠海博雅科技有限公司 存算一体电路和基于存算一体电路的数据运算方法
US20210132953A1 (en) * 2019-10-31 2021-05-06 SK Hynix Inc. Arithmetic devices for neural network
US11915125B2 (en) 2019-10-31 2024-02-27 SK Hynix Inc. Arithmetic devices for neural network
US11574173B2 (en) * 2019-12-19 2023-02-07 Qualcomm Incorporated Power efficient near memory analog multiply-and-accumulate (MAC)
CN110941185B (zh) * 2019-12-20 2022-06-07 安徽大学 一种用于二值神经网络的双字线6tsram单元电路
US11663455B2 (en) * 2020-02-12 2023-05-30 Ememory Technology Inc. Resistive random-access memory cell and associated cell array structure
CN112071343B (zh) * 2020-08-18 2022-09-13 安徽大学 一种在存储器中结合电容实现乘法的sram电路结构
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
US11886835B2 (en) * 2020-12-31 2024-01-30 Ceremorphic, Inc. Cascade multiplier using unit element analog multiplier-accumulator
US20220206754A1 (en) * 2020-12-31 2022-06-30 Redpine Signals, Inc. Scaleable Analog Multiplier-Accumulator with Shared Result Bus
CN113157034B (zh) * 2021-01-19 2022-06-03 浙江大学 一种被动稳压电路实现的高线性度神经形态计算电路
CN113314174B (zh) * 2021-05-06 2023-02-03 安徽大学 一种用于sram阵列的列移位多位乘法二进制分解运算的电路结构
CN113328818B (zh) * 2021-05-14 2022-06-21 南京大学 一种基于频分复用并行化模拟存内计算的装置及方法
US20220382516A1 (en) * 2021-05-31 2022-12-01 Redpine Signals, Inc. Chopper Stabilized Analog Multiplier Accumulator with Binary Weighted Charge Transfer Capacitors
KR20230070753A (ko) * 2021-11-15 2023-05-23 삼성전자주식회사 디지털 펄스 기반 크로스바 연산을 수행하는 연산 장치 및 그 동작 방법
CN113949385B (zh) * 2021-12-21 2022-05-10 之江实验室 一种用于rram存算一体芯片补码量化的模数转换电路
CN114400031B (zh) * 2022-03-24 2022-07-08 之江实验室 一种补码映射的rram存算一体芯片及电子设备
CN114913895B (zh) * 2022-07-19 2022-11-01 中科南京智能技术研究院 一种实现两比特输入单比特权重的存内计算宏单元
KR20240014147A (ko) 2022-07-25 2024-02-01 에스케이하이닉스 주식회사 Mac 연산 동작을 수행하는 반도체 장치
CN116126282B (zh) * 2022-12-21 2023-08-18 辉羲智能科技(上海)有限公司 自动驾驶辅助控制方法、系统及其ai计算方法、装置
CN116185334B (zh) * 2023-04-19 2023-07-04 上海登临科技有限公司 阵列电路的输入控制方法和阵列电路

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7333562B2 (en) * 2002-06-28 2008-02-19 Nec Corporation Nonlinear distortion compensating circuit
CN101384989A (zh) * 2006-02-15 2009-03-11 高通股份有限公司 具有增强的缩减树电路的布斯乘法器
CN101382882A (zh) * 2008-09-28 2009-03-11 宁波大学 一种基于CTGAL的Booth编码器及绝热补码乘累加器
CN103176767A (zh) * 2013-03-01 2013-06-26 浙江大学 一种低功耗高吞吐的浮点数乘累加单元的实现方法
CN107251090A (zh) * 2015-02-16 2017-10-13 Hrl实验室有限责任公司 尖峰域卷积电路
CN109104197A (zh) * 2018-11-12 2018-12-28 合肥工业大学 应用于卷积神经网络的非还原稀疏数据的编译码电路及其编译码方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5796645A (en) * 1996-08-27 1998-08-18 Tritech Microelectronics International Ltd. Multiply accumulate computation unit
GB0001517D0 (en) * 2000-01-25 2000-03-15 Jaber Marwan Computational method and structure for fast fourier transform analizers
US20080098057A1 (en) * 2004-08-26 2008-04-24 Daisuke Takeuchi Multiplication Apparatus
CN101201731B (zh) * 2008-02-15 2010-08-18 刘杰 二进制数字减法器
CN102595060B (zh) * 2012-03-15 2013-06-19 天津大学 Cmos图像传感器内部实现tdi功能的模拟累加器
CN102662624B (zh) * 2012-04-13 2015-12-16 钜泉光电科技(上海)股份有限公司 乘法器
CN103176948B (zh) * 2013-03-04 2016-06-29 浙江大学 一种低成本的单精度初等函数运算加速器
CN105005057B (zh) * 2015-08-03 2017-02-22 北京理工大学 一种北斗导航系统d1导航电文的捕获方法
CN109196528B (zh) * 2016-05-17 2022-03-18 硅存储技术公司 使用非易失性存储器阵列的深入学习神经网络分类器
CN109146070B (zh) * 2017-06-16 2021-10-22 华为技术有限公司 一种支撑基于rram的神经网络训练的外围电路及系统
CN110209375B (zh) * 2019-05-30 2021-03-26 浙江大学 一种基于radix-4编码和差分权重存储的乘累加电路

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7333562B2 (en) * 2002-06-28 2008-02-19 Nec Corporation Nonlinear distortion compensating circuit
CN101384989A (zh) * 2006-02-15 2009-03-11 高通股份有限公司 具有增强的缩减树电路的布斯乘法器
CN101382882A (zh) * 2008-09-28 2009-03-11 宁波大学 一种基于CTGAL的Booth编码器及绝热补码乘累加器
CN103176767A (zh) * 2013-03-01 2013-06-26 浙江大学 一种低功耗高吞吐的浮点数乘累加单元的实现方法
CN107251090A (zh) * 2015-02-16 2017-10-13 Hrl实验室有限责任公司 尖峰域卷积电路
CN109104197A (zh) * 2018-11-12 2018-12-28 合肥工业大学 应用于卷积神经网络的非还原稀疏数据的编译码电路及其编译码方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种低延迟高吞吐率的浮点整型乘累加单元;沈俊; 沈海斌; 虞玉龙;《计算机工程》;20130615;91-94+102 *

Also Published As

Publication number Publication date
WO2020238889A1 (zh) 2020-12-03
US20210365241A1 (en) 2021-11-25
CN110209375A (zh) 2019-09-06

Similar Documents

Publication Publication Date Title
CN110209375B (zh) 一种基于radix-4编码和差分权重存储的乘累加电路
US11714749B2 (en) Efficient reset and evaluation operation of multiplying bit-cells for in-memory computing
EP3989445A1 (en) Sub-unit, mac array, bit-width reconfigurable hybrid analog-digital in-memory computing module
Li et al. Timely: Pushing data movements and interfaces in pim accelerators towards local and in time domain
CN110378475B (zh) 一种基于多位并行二进制突触阵列的神经形态计算电路
JP7384925B2 (ja) ビットオーダバイナリ加重乗算器/積算器
CN111144558B (zh) 基于时间可变的电流积分和电荷共享的多位卷积运算模组
CN107636640A (zh) 具有求反指示符的点积引擎
Jiang et al. Analog-to-digital converter design exploration for compute-in-memory accelerators
CN113157034B (zh) 一种被动稳压电路实现的高线性度神经形态计算电路
CN112181895B (zh) 可重构架构、加速器、电路部署和计算数据流方法
CN111260048A (zh) 一种基于忆阻器的神经网络加速器中激活函数的实现方法
CN115048075A (zh) 基于电容耦合的sram存算一体芯片
US11018687B1 (en) Power-efficient compute-in-memory analog-to-digital converters
CN114499538A (zh) 多比特输入数据编码方法、装置、电子设备及存储介质
Tsai et al. RePIM: Joint exploitation of activation and weight repetitions for in-ReRAM DNN acceleration
Liu et al. A 40-nm 202.3 nJ/classification neuromorphic architecture employing in-SRAM charge-domain compute
Chen et al. RIMAC: An array-level ADC/DAC-free ReRAM-based in-memory DNN processor with analog cache and computation
CN114168107A (zh) 一种存内精度可调的矢量矩阵乘法运算方法及运算器
Zhao et al. Re2PIM: A reconfigurable ReRAM-based PIM design for variable-sized vector-matrix multiplication
Xuan et al. HPSW-CIM: A novel ReRAM-based computing-in-memory architecture with constant-term circuit for full parallel hybrid-precision-signed-weight MAC operation
CN113741857A (zh) 一种乘累加运算电路
CN111611528A (zh) 电流值可变的电流积分和电荷共享的多位卷积运算模组
CN114004344A (zh) 神经网络电路
CN115658013B (zh) 向量乘加器的rom存内计算装置和电子设备

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