CN108536422A - 模拟乘法器-累加器 - Google Patents

模拟乘法器-累加器 Download PDF

Info

Publication number
CN108536422A
CN108536422A CN201810179601.1A CN201810179601A CN108536422A CN 108536422 A CN108536422 A CN 108536422A CN 201810179601 A CN201810179601 A CN 201810179601A CN 108536422 A CN108536422 A CN 108536422A
Authority
CN
China
Prior art keywords
alignment
row
line
circuit
memristor
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
Application number
CN201810179601.1A
Other languages
English (en)
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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 Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of CN108536422A publication Critical patent/CN108536422A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • 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
    • G06N3/065Analogue means
    • 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
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/02Computing arrangements based on specific mathematical models using fuzzy logic
    • G06N7/04Physical realisation
    • G06N7/046Implementation by means of a neural network
    • 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/0069Writing or programming circuits or methods
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/124Sampling or signal conditioning arrangements specially adapted for A/D converters
    • H03M1/1245Details of sampling arrangements or methods
    • 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
    • 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
    • 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/4818Threshold devices
    • G06F2207/4824Neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Computational Linguistics (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • Fuzzy Systems (AREA)
  • Algebra (AREA)
  • Analogue/Digital Conversion (AREA)
  • Electronic Switches (AREA)

Abstract

本发明涉及模拟乘法器-累加器。示例电子设备包括交叉杆阵列、行驱动器电路和交叉杆阵列的列线中的每一条的列输出电路。交叉杆阵列可以包括行线、列线和忆阻器,每个忆阻器连接在行线中的一条与列线中的一条之间。行驱动器电路可以分别在多个时间段期间将多个模拟电压施加到第一节点,并且针对行线中的每一条,基于数字输入向量在多个时间段中的一个期间选择性地将行线连接到第一节点。每个列输出电路可以包括积分电容器、由积分控制信号控制的开关以及电流镜像电路。电流镜像电路可以在开关闭合时,使得积分电流流向或流出积分电容器的电极,积分电流的大小反映在对应列线上流动的电流。积分控制信号可以在每一个时间段期间闭合开关指定时间量。

Description

模拟乘法器-累加器
背景技术
乘法器-累加器(MAC)是一种执行乘法-累加操作的设备。例如,乘法-累加操作可以包括将各种值相乘并将这些乘积加在一起。
人造神经元可以包括接收一个或多个输入信号并对输入执行操作以生成输出信号的电路。输入信号和输出信号可以是例如电压、电流、数字值等。在某些示例中,由人造神经元对输入执行的操作可以包括乘法-累加操作,在这种情况下,人造神经元可以包括MAC。在这样的示例中,神经元的输入信号可以被馈送到MAC以用于与其它值相乘(例如,为每个输入设置的权重),并且神经元的输出信号可以基于MAC的输出信号。人工神经网络是人造神经元的集合,其中一些神经元的输出信号被用作其它神经元的输入信号。
附图说明
图1是图示包括基于忆阻器的模拟MAC的示例电子设备的电路图。
图2是图示示例行驱动器电路的电路图。
图3是图示包括用于生成数字输出向量的多个神经网络层和输出电路的示例电子设备的框图。
图4是图示包括用于生成模拟输出向量的多个神经网络层和输出电路的示例电子设备的框图。
图5是图示包括基于忆阻器的模拟MAC的示例电子设备的电路图,每个模拟MAC都具有正权重列和负权重列。
图6是图示操作包括基于忆阻器的模拟MAC的电子设备的示例方法的过程流程图。
图7是图示时钟信号、积分控制信号以及可用于从时钟信号生成积分控制信号的各种中间时钟信号的信号时序图。
具体实施方式
示例电子设备可以包括多个基于忆阻器的模拟MAC。基于忆阻器的模拟MAC是一种在模拟域中执行乘法-累加操作、使用一个或多个忆阻器来执行乘法-累加操作的乘法部分的MAC。例如,可以跨过忆阻器施加电压,并且流过忆阻器的结果电流可以被相加。由于流过每个忆阻器的电流等于忆阻器的电导乘以跨过忆阻器施加的电压,因此电压到电流的转换表示模拟域中乘法-累加操作的乘法部分。因此,通过适当地设定忆阻器的电导和施加于忆阻器的电压,可以在模拟域中进行所需的乘法运算。
本文描述的某些示例电子设备可以包括多个这种基于忆阻器的模拟MAC。例如,示例电子设备可以包括忆阻器交叉杆阵列,交叉杆阵列可以包括布置成阵列的列线、行线和忆阻器,每个忆阻器连接在列线中的一条与行线中的一条之间。可以针对每条列线包括列输出电路,忆阻器的每列及其对应的列输出电路形成MAC。在这样的示例中,可以基于输入向量将电压施加到交叉杆阵列的行,并且可以基于作为施加的电压的结果的流过忆阻器的电流来确定输出向量。可以使用输入级来基于输入向量针对每一行生成适当的电压。例如,交叉杆阵列可以在人工神经网络(“ANN”)中形成一层神经元,每个MAC形成人造神经元并且通过调整对应的忆阻器的电导来设置神经元的权重。
在某些示例中,交叉杆阵列的输入级可以基于数字输入向量将模拟电压施加到行线-具体而言,数字输入向量可以包括针对每条行线的数字值,并且施加到行线的模拟电压可以基于行线的相应数字值。在某些示例中,输入级可采用分布式数模转换架构,其中单个电压源被用于跨多个时间段生成针对所有行线的电压。具体地,在这种分布式数模转换架构中,电压源(诸如图2中的数模转换器230)可以生成分别在时间段t1、t2、...、tP中逐步实施的一系列电压V1、V2、...VP的信号,并且可以针对每行提供开关单元(诸如开关单元210),以根据该行的输入数字值,当信号处于该行的适当电压时,将该行连接到电压信号。例如,具有数字输入值“1”的每行(如果有的话)可以在时间段t1期间连接到电压源(并且因此电压V1将被施加到这些行),具有数字输入值“2”的每行(如果有的话)可以在时间段t2期间连接到电压源(并且因此电压V2将被施加到这些行),等等。以这种方式,基于行的输入数字值,每行可以具有施加到其上的适当的模拟电压,而不必针对每条行线包括数模转换器。
每条列线的列输出电路可以被配置为生成与在对应的列线上流动的电流的总和对应的输出信号。然而,当使用分布式数模转换架构时,电压不一定同时施加到行线,并且因此电流可能在不同的时序流过各个忆阻器。因此,为了获得与在对应列线上流动的电流的总和对应的输出信号,在某些示例中,每个列输出电路可以包括积分电容器、由积分控制信号控制的开关以及电流镜像电路,当开关闭合时,该电流镜像电路使得积分电流流向积分电容器(积分电流的大小反映在对应的列线上流动的电流)的电极或从积分电容器的电极流出,并且积分控制信号可以在多个时间段中的每个时间段期间将开关闭合指定的时间量。结果,在第P个时间段tP结束时,针对每个列输出电路,存储在积分电容器中的电压差将与从时间段t1到tP在列线上流动的所有电流的总和成比例,该总和是通过常量缩放的期望的MAC结果。具体而言,存储在积分电容器中的电压差将为其中是施加到第n行RL_n的电压(该电压基于数字输入xn),并且GRL_n是连接到第n行RL_n的忆阻器的电导。
通过使用上述示例列输出电路,某些示例能够避免必须为每条行线提供采样和保持电路。具体来说,生成与在对应的列线上流动的电流的总和对应的输出信号的一种可替代方法将是使得所有电流同时流动,并且然后检测所得到的合计电流。然而,当使用分布式数模转换架构时,为了确保所有电流同时在对应的列线上流动,可能需要用于保持在时间段t1到tP期间针对行线生成的不同电压的一些机制(诸如针对每条行线的采样和保持电路),以便可以将相应的电压同时施加到行线。这样的采样和保持电路可占用芯片空间并增加设备的成本,并且因此作为使用上述示例列输出电路的结果,能够省略这种每行采样和保持电路的本文描述的示例可以具有降低的成本和改进的芯片空间使用率。
图1图示示例电子设备10。示例电子设备10包括忆阻器交叉杆阵列100、行驱动器电路200和多个列输出电路300,每个列输出电路300与忆阻器交叉杆阵列100的列线CL中的一条对应。
忆阻器交叉杆阵列100可以包括N条行线RL(其中N≥1)、M条列线CL(其中M≥1)以及多个忆阻器101,每个忆阻器101连接在行线RL中的一条与列线CL中的一条之间。在某些示例中,行线RL与列线CL的每个交点可以具有对应的忆阻器101。行线RLn中的每一条可以与数字输入向量的数字输入值xn对应。具体而言,行线RL1对应于数字输入值x1,行线RL2对应于数字输入值x2,依此类推。
忆阻器交叉杆阵列100和列输出电路300可以形成多个基于忆阻器的模拟MAC。例如,在图1中,每条列线CL对应于单个MAC。具体地,单个MAC可以包括列输出电路300、连接到列输出电路300的列线CL和连接到列线CL的忆阻器101。单个MAC可以具有N个输入,每个输入对应于行线RLn中的一条;具体地,给定MAC的单独输入可以包括连接到对应的行线RLn的忆阻器101。给定MAC的每个输入可以通过将对应的忆阻器101的电导设置为对应于期望权重的值而被分配权重。尽管在示例设备10中可以包括许多MAC,但是为了便于描述,下面的描述的部分可能集中在单个MAC上,尤其是当描述每个MAC都共有的特征时。
行驱动器电路200用作交叉杆阵列100的输入级,并且可以根据分布式数模转换架构基于数字输入向量跨多个时间段向行线RL施加模拟电压。具体地,在某些示例中,行驱动器电路200可以分别在多个时间段t1、t2、...、tP期间将多个模拟电压V1、V2、...VP施加到第一节点220,并且针对行线RL中的每一条,基于数字输入向量的对应数字输入值xn而在多个时间段t1、t2、...、tP中的一个时间段期间,选择性地将行线RLn连接到第一节点220。例如,数字输入值xn等于“1”的任何行线RLn可以在第一时间段t1期间连接到第一节点220,数字输入值xn等于“2”的任何行线RLn可以在第一时间段t2期间连接到第一节点220,依此类推。下面关于图2更详细地描述行驱动器电路200的示例。
列输出电路300可以每个包括积分电容器Cint、由积分控制信号Ctr_Int控制的开关S1以及电流镜像电路301,在开关S1闭合时,电流镜像电路301使得积分电流流向积分电容器Cint的电极或从积分电容器Cint的电极流出,积分电流的大小反映在对应的列线CL上流动的电流。当说电流镜像电路301将使得积分电流“流向”积分电容器Cint(等等)的电极或从积分电容器Cint(等等)的电极“流出”时,这应该被理解为意味着电流镜像电路301的一种可能配置是使得电流流向积分电容器Cint,而电流镜像电路301的另一可能配置是使得电流从积分电容器Cint流出。积分电容器Cint可具有连接到开关S1的第一电极和连接到高电压Vdd的第二电极。输出节点Nout可以连接到积分电容器Cint的第一电极,使得可以经由输出节点Nout读出第一电极的电压VC,从而使得能够确定存储在积分电容器中的电压差ΔVC。在某些示例中,重置开关S2也可以被包括在高电压Vdd与第一电极之间,重置开关S2可以由重置信号控制以将存储在积分电容器Cint中的电压差ΔVC重置为零。
列输出电路300中的一个(即列输出电路300_M)的细节在图1中以虚线表示的放大视图图示。在某些示例中,列输出电路300中的每一个可以包括类似配置中的类似特征(除了被连接到不同列线CL以外),并且因此在放大视图中图示的示例列输出电路300_M可以代表所有的列输出电路300,并且省略了重复的说明。
图1中图示了电流镜像电路301的一个可能示例。示例电流镜像电路301包括连接在对应的列线CL与低电压Vss(也称为“第一电压”)之间的第一晶体管T1和连接在低电压Vss与开关S1之间的第二晶体管T2,第一晶体管T1和第二晶体管T2的栅极连接在一起并连接到对应的列线CL。当开关S1闭合时,图1中图示的示例电流镜像电路301将以基于在对应的列线CL上流动的电流的速率使得电荷从积分电容器Cint流出。应该理解的是,这仅仅是电流镜像电路301的一个示例,并且可以使用任何类型的电流镜,只要其被配置成当开关S1闭合时,使得积分电流流向积分电容器Cint的电极或从积分电容器Cint的电极流出,积分电流的大小反映在对应的列线CL上流动的电流。
电子设备10可以被配置为在至少包括时间段t1、t2、...、tP的处理时段期间处理数字输入向量如上所述,行驱动器电路200可以在每个时间段t1、t2、...、tP期间向第一节点220施加电压。另外,在时间段t1、t2、...、tP中的每一个期间,积分控制信号Crt_Int将使开关S1闭合指定的时间量tint。例如,如果开关S1被配置当Crt_Int处于高逻辑值时闭合,那么Crt_Int可以在时间段t1、t2、...、tP中的每一个被脉动为高,脉冲的宽度为tint,其中tint小于任何时间段t1、t2、...、tP的持续时间。在Crt_Int被脉动处的时序可以被设置为使得在Crt_Int被脉动之前,由施加到行线RL的电压的变化引起的瞬态效应可能已经消退。例如,由于施加到行线RL的电压在时间段t1、t2、...、tP的每个时间的开始时改变,因此积分控制信号Crt_Int可以在时间段t1、t2、...、tP中的每一个开始之后的一段时间Δt被脉动,其中Δt被设置为避免任何瞬态效应。例如,如果tA是时间段t1、t2、...、tP中的每一个的持续时间,则积分控制信号Crt_Int可以在时间段t1、t2、...、tP中的每一个开始之后以Δt≥1/2tA的时序被脉动。在某些示例中,tint可以小于1/2·tA
因此,在每个时间段tP处,从电容器Cint的第一电极减去(或者在一些示例中,添加)电荷包Qp,其中Qp的大小取决于在tP期间在对应的列CL上流动的电流Ip。电荷包Qp是从第一电极中减去还是被添加到第一电极取决于电流镜像电路301的配置。例如,图1中图示的示例电流镜像电路301将使电荷包Qp从第一电极中减去。电荷包Qp的大小可以由下公式给出:
其中IRL_n是流经连接到行线RL_n和对应的列CL的忆阻器101的电流,GRL_n是忆阻器101的电导,并且该求和是针对xn=p的所有n的值(即,对数字输入值xn等于p的所有行线RL_n)。注意,对于其中没有xn=p的n的值的任何时间段tP,求和具有为零的值,并且因此Qp针对这些时间段具有为零的大小。
一旦第P个时间段tP已经结束,将从电容器Cint的第一电极减去的(或者,在一些示例中,添加到电容器Cint的第一电极的)总电荷量将等于:
回想一下,是施加到第n行的电压。
将公式2与电容器V=Q/C的特征方程结合意味着一旦第P个时间段tP已经结束,存储在积分电容器Cint中的电压差ΔVC的大小将由下式给出:
注意,电压差ΔVC的极性将取决于电流镜像电路300是被配置成使电流流向积分电容器Cint还是使电流远离积分电容器Cint而流动,但是无论如何,电压差ΔVC的大小应当相同。因此,电压差ΔVC等于由常数(tint/Cint)缩放的期望的MAC结果(即,)。
针对每个列输出电路300,可以从经由输出节点Nout输出的电压VC确定电压差ΔVC,并且可以基于ΔVC生成对应的列线CL的输出值ym。电压VC的输出可以包括例如将节点Nout(例如,经由开关(未图示))选择性地连接到后续处理级和/或对节点Nout的电压VC进行采样。例如,输出节点Nout的电压VC可以被输出到模拟缓冲器或ADC,可以从该模拟缓冲器或ADC生成输出值ym。作为另一示例,可以对输出节点Nout的电压VC进行采样,并且可以基于采样电压(Vsamp)来生成输出值ym。来自所有列线CL1至CLM的输出值y1至yM可形成输出向量图3(下面更详细地描述)图示了其中输出值y1至yM是数字值的示例,而图4(下面更详细地描述)图示了其中输出值y'1至y'M是模拟值的示例。
在示例设备10中,电压施加到行线RL的时序可以根据数字输入向量而变化。例如,针对给定的输入阶段,在时间段t1、t2、...、tP中的一些时间段期间,行线RL中没有一个可以具有施加到其的电压,在时间段t1、t2、...、tP中的其它时间段期间,单条行线RL可以具有施加到其的电压,并且在时间段t1、t2、...、tP中的其它时间段期间,多条行线RL可以同时具有施加到其的电压。然而,不管可以施加各个电压的各个时序,列输出电路300可以能够生成期望的MAC结果。
例如,假设存在N=4条行线RL并且数字输入向量被输入到设备10。在该示例中,在第一时间段t1期间,由于行RL1和RL4的数字输入值x1和x4都等于“1”,因此第一行RL1和第四行RL4都将具有施加到其的电压V1。因此,在时间段t1期间,具有大小tintV1(GRL_1+GRL_4)的电荷包Q1将被从积分电容器Cint中减去(或者,在一些示例中,被添加到积分电容器Cint中)。在第二时间段t2期间,由于行RL3的数字输入值x3等于“2”,因此第三行RL3将具有施加到其的电压V2。因此,在时间段t2期间,具有大小tintV2GRL_3的电荷包Q2将被从积分电容器Cint中减去(或者,在一些示例中,被添加到积分电容器Cint中)。在第三时间段t3期间,由于没有数字输入值xn等于“3”,因此没有行线RL将被施加电压V3。因此,在时间段t3期间,积分电容器Cint的电极上的电荷不变。在第四时间段t5期间,由于行RL2的数字输入值x2等于“4”,所以第二行RL2将具有施加到其的电压V4。因此,在时间段t4期间,具有大小tintV4GRL_2的电荷包Q4将被从积分电容器Cint中减去(或者,在一些示例中,被添加到积分电容器Cint中)。如果在t4之后还有额外的时间段,那么在这些时间段期间没有电压施加到行线,因为没有数字输入值大于“4”。因此,当第P个时间段tP结束时,积分电容器Cint的电压差ΔVC将为(tint/Cint)(V1GRL_1+V4GRL_2+V2GRL_3+V1GRL_4),这是通过常数(tint/Cint)缩放的所需MAC结果。
在图1中,交叉杆阵列100被图示为具有四条或更多条行线RL和四条或更多列线CL,但是这仅仅是为了描述方便而使用的一个示例,并且可以包括大于或等于1的任何数量的行线RL和列线CL。此外,在某些示例中,除了上述行线RL之外,可以在交叉杆阵列100中提供不与数字输入向量的数字输入值xn对应的附加行线(未图示)。例如,可以包括偏移线,其可以被用于针对每个MAC提供可调整的偏移,但是不具有对应的数字输入值xn。不具有对应的数字输入值xn的可能行线的另外示例可以包括虚拟线、校准线、错误校正线等。除非另外具体指明,在本文和所附权利要求中,对“行线”的任何引用表示与数字输入向量的数字输入值xn对应的那些行线,而不是可能包括在交叉杆阵列100中的任何其它行线。因此,除非另外特别指明,例如,诸如“行线中的每一条”之类的短语应该被理解为指代与数字输入向量的数字输入值xn对应的每条行线而不是其它可能的行线(诸如偏移线)。
在图1中,图示了电压Vss和Vdd,其中Vdd>Vss。应该理解的是,在某些示例中,电压Vss和Vdd可以颠倒,使得在图示为施加Vss的任何地方施加Vdd,反之亦然。这种颠倒也可能需要改变各种信号的极性、改变各种电流流动的方向、改变各种晶体管的极性等。
图2更详细地图示示例电子设备10的部分。具体地,图2图示了行驱动器电路200以及控制器400的示例。图2的各个元件对应于上面已经描述的图1的元件,并且在这两个图中针对这些对应的元件使用相同的附图标记。这种对应的特征的重复描述被省略。
示例行驱动器电路200包括针对行线RL中的每一条的开关电路210、第一节点220、数模转换器(“DAC”)230和计数器240。
开关电路210中的每一个可以存储来自数字输入向量的数字值,并且在对应于存储的数字值的时间段t1-tP中的一个时间段期间将第一节点220连接到对应的行线RL。换句话说,如果数字值xn=p被存储在开关电路210_n中,则开关电路210_n将在时间段tp期间将节点220连接到对应的行线RLn。因此,例如,如果存在N=4条行线RL并且数字输入向量被输入到行驱动器电路200,那么开关电路210_1和开关电路210_4将在t1期间将行RL1和RL4连接到节点220,开关电路210_3将在t2期间将行RL3连接到节点220,并且开关电路210_2将在t4期间将行RL2连接到节点220。例如,开关电路210中的每一个可以包括连接在行线RL与节点220之间的开关以及将在适当的时序闭合开关的比较电路211。例如,比较电路211可以存储对应的行线RL的数字输入值并且可以将存储的数字值与计数器240输出的数字值COUNT进行比较,并且可以在存储的数字值与COUNT匹配时,闭合开关。例如,比较电路211可以包括用于存储数字输入值的寄存器和用于将存储的值与COUNT进行比较的比较器,比较器的输出控制开关。
DAC 230可以分别在时间段t1到tP期间将电压V1到VP施加到节点220。例如,DAC230可以基于数字值COUNT生成模拟电压信号Vramp,COUNT的值可以根据时钟信号Clk在每个时间段t1到tP的开始改变。因此,信号Vramp可以在时间段t1到tP期间逐步实施电压V1到VP,其中V1是与t1期间的COUNT的值对应的模拟电压,V2是与t2期间的COUNT的值对应的模拟电压,以此类推。
如上所述,计数器240可以输出数字信号COUNT,其值可以根据时钟Clk在时间段t1-tP中的每一个的开始处改变。在某些示例中,计数器240可以被配置为递增每个时间段的COUNT的值,在这种情况下,信号Vramp可以采取其大小在每个时间段期间增加的斜坡信号的形式。
控制器400可以包括用于生成时钟信号Clk、重置信号和积分控制信号Crt_Int的电路。时钟信号Clk可以是任何时钟信号。控制器400可以在第P个时间段tP之后,断言重置信号以重置计数器240和列输出电路300中的每一个的积分电容器Cint。当为新的数字输入值开始新的处理时段时,控制器400可以释放重置信号。积分控制信号Crt_Int可以基于时钟信号Clk生成。例如,如图7中所图示,可以生成与时钟信号Clk具有相同时段的第二时钟信号Clk2,可以通过将第二信号Clk2的相位移动为Δφ的量,从第二信号Clk2生成第三信号Clk3,并且然后可以通过截断第三信号Clk3的每个有效脉冲使得有效脉冲的周期保持相同但是其脉冲宽度被使得等于tint,而从第三信号Clk3生成积分控制信号Crt_Int。第三信号Clk3的有效脉冲可以对应于导致开关S1闭合的任何逻辑值。在图7中,假定积分控制信号Crt_Int的逻辑高值闭合开关S1,并且因此第三信号Clk3的高脉冲是被截断以形成积分控制信号Crt_Int的有效脉冲。
在某些示例中,电子设备10可以包括人工神经网络(“ANN”)。例如,交叉杆阵列100、行驱动器电路200和列输出电路300可以对应于ANN的第一层。在这样的示例中,交叉杆阵列100中的每一个MAC可以对应于单个神经元。具体而言,每列可以对应于单个神经元,并且神经元可以将对应的列中的忆阻器101中的每一个与对应的列的列输出电路300一起包括在内。在某些示例中,交叉杆阵列100中的每一列恰好对应于一个神经元(例如,在列与神经元之间存在一一对应关系),而在其它示例中(例如参见图5),多于一列可对应于多个神经元(例如,在列与神经元之间存在多对一的对应关系)。在第一层之后可以存在ANN的另外的层,在这种情况下,第一层的输出可以作为第二层的输入被馈送到第二层。图3和图4(下面更详细地描述)图示其中电子设备10包括ANN的多个层的示例。
图3图示其中电子设备10包括ANN并且其中第一层的输出值y1-yM是数字输出值的示例。图3的各个元件对应于上面已经描述的图1的元件,并且在这两个图中针对这些对应的元件使用相同的附图标记。这种对应的特征的重复描述被省略。列输出电路300_M和输出电路500的细节以虚线所示的放大视图图示。
在图3的示例中,ANN的第一层由交叉杆阵列100、行驱动器电路200和列输出电路300形成。示例电子设备10还包括输出电路500,输出电路500分别基于列输出电路300_1至300_M的电压差ΔVC生成数字输出值y1-yM(统称为数字输出向量),并将数字输出值y1-yM馈送到ANN的第二层1000的输入级2000。
例如,列输出电路300中的每一个的输出节点Nout可以连接到输出电路500,使得列输出电路300的相应的电压VC可以被输出到输出电路500。输出电路500可以包括模数转换器(“ADC”)502,模数转换器502基于电压VC来生成与第m列输出电路300的电压差ΔVC对应的数字输出值ym,电压VC经由输出节点Nout_m(或基于其自身基于VC的另一模拟电压,例如采样电压Vsamp)与用作参考电压的电压Vdd输出。在某些示例中,可以针对列输出电路300中的每一个提供单独的ADC 502。在其它示例中,多个列输出电路300(可能全部的列输出电路300)可以共享相同的ADC 502。在图3中,输出电路500被图示为还包括采样保持电路(“S/H”)501,其用于对电压VC进行采样并向ADC 502提供采样电压Vsamp。例如,可以针对列输出电路300中的每一个提供单独的S/H 501。然而,在某些示例中,S/H 501电路可以被省略,并且电压VC可以被直接馈送到ADC 502。
在某些示例中,类似于图3中的示例设备10的第一层,ANN的第二层1000及其相关联的输入级2000可以被配置为接收数字输入向量并输出数字输出向量。在一些这样的示例中,ANN的第二层1000及其相关联的输入级2000可以具有与第一层的配置类似的配置。具体而言,第二层1000可以包括类似于交叉杆阵列100的交叉杆阵列和类似于列输出电路300的列输出电路,并且输入级2000可以类似于行驱动器电路200。在一些这样的示例中,可以包括ANN的另外的层(未图示),另外的层也可以以与第一层类似的方式配置。这种方法在每个层使用统一架构的意义上可能是有益的。
图4图示其中电子设备10包括ANN并且其中第一层的输出值y1-yM是模拟输出值的示例。图4的各个元件对应于上面已经描述的图1的元件,并且在这两个图中针对这些对应的元件使用相同的附图标记。这种对应的特征的重复描述被省略。列输出电路300_M和输出电路600的细节以虚线所示的放大视图图示。在下文中,当具体指代模拟输出值y1-yM和输出向量的模拟版本时,可以将撇号附加到它们的附图标记上,以将它们与它们的数字版本区别开。
在图4的示例中,ANN的第一层由交叉杆阵列100、行驱动器电路200和列输出电路300形成。示例电子设备10还包括输出电路600,输出电路600分别基于列输出电路300_1至300_M的电压差ΔVC生成模拟输出值y’1-y’M(统称为模拟输出向量),并将模拟输出值y’1-y’M馈送到ANN的第二层1001的输入级2001。
例如,列输出电路300中的每一个的输出节点Nout可以连接到输出电路600,使得列输出电路300的相应的电压VC可以被输出到输出电路600。输出电路600可以包括每个列输出电路300的缓冲器602,缓冲器602基于列输出电路300的电压差ΔVC(或基于其自身基于ΔVC的另一模拟电压)来生成对应的模拟输出值y’m。例如,缓冲器602可以包括差分放大器,该差分放大器将电压VC(或对应的电压)与高电压Vdd之间的差放大到适合于经由模拟信号总线传输到第二层的电平。作为另一示例,缓冲器602可以包括用于将电压差ΔVC转换成电流以用于经由基于电流的模拟信号总线传输到第二层的电路。在图3中,输出电路500被图示为还包括采样保持电路(“S/H”)601,其对电压VC进行采样并向对应的缓冲器602提供采样电压Vsamp。例如,可以为每个列输出电路300提供单独的S/H 601。然而,在某些示例中,S/H 601电路可以被省略,并且电压VC可以被直接馈送到缓冲器602。
在某些示例中,ANN的第二层1001及其相关联的输入级2001可被配置为接收模拟输入向量并生成模拟输出向量。因此,在这样的示例中,ANN的第二层1001及其相关联的输入级2001可以具有与第一层的配置不同的配置。具体而言,在这样的示例中,第二层1001可以包括类似于交叉杆阵列100的交叉杆阵列,但是其列输出电路可以与列输出电路300不同并且输入级2001可以与行驱动器电路200不同。例如,输入级2001可以被配置为将模拟输出值y1-yP同时直接施加到第二层1001的行线,并且第二层1001的列输出电路可以被配置为检测作为施加的电压的结果的在每条列线上流动的合计电流。在一些这样的示例中,可以包括ANN的另外的层(未图示),另外的层也可以以与第二层1001类似的方式配置。这样的方法可能是有益的,因为可以从每个层省略模数转换电路,这可以降低成本并节省芯片空间。
如上所述,通过设置对应的忆阻器101的电导,可以针对各个MAC中的每一个MAC的每个输入(即,为每条行线RL)独立地设置权重。在上面关于图1-4描述的电子设备10的示例中,给定MAC的输入的权重可以全部是正的,或者它们可以全部是负的,但不能针对同一单个MAC的不同输入设置正权重和负权重。然而,在某些示例中,可能希望将正权重分配给给定MAC的一些输入,而将负权重分配给同一MAC的其它输入。相应地,图5图示电子设备10的另一示例,其中正负权重两者都可以被分配给同一单个MAC的输入。
图5图示包括交叉杆阵列110、行驱动器电路200和列输出电路310的示例设备10。图5的各个元件对应于上面已经描述的图1的元件,并且在这两个图中对于这些对应的元件使用相同的附图标记。这种对应的特征的重复描述被省略。
除了交叉杆阵列110的列线CL包括正权重列线CL+和负权重列线CL-之外,图5的交叉杆阵列110与上述交叉杆阵列100类似。正权重列线CL+和负权重列线CL-成对排列,使得针对每个正权重列线CL+,存在对应的负权重列线CL-。连接到正权重列线CL+中的一条的忆阻器101有时可以被称为正忆阻器101,而连接到负权重列线CL-中的一条的忆阻器101有时可以被称为负忆阻器101。如下面更详细地描述的,正忆阻器101可以用于分配正权重,而负忆阻器101可以用于分配负权重。
列输出电路310中的每一个对应于包括正权重列线CL+中的一条和其对应的负权重列线CL-的一对列线。此外,单个MAC可以包括列输出电路310、连接到列输出电路310的正权重列线CL+和其对应的负权重列线CL-以及连接到该对列线CL+/CL-的忆阻器101。单个MAC可以具有N个输入,每个输入对应于行线RLn中的一条。具体而言,给定MAC的单个输入可以包括连接至对应行线RLn的正忆阻器101和负忆阻器101。
除了除第一镜像电路301之外还提供第二镜像电路302并且积分电容器Cint被连接到中间电压Vdd/2而不是连接到高电压Vdd,图5的列输出电路310类似于上述列输出电路300。具体地,第一镜像电路301可以连接到对应的正权重列线CL+,而第二镜像电路302可以连接到对应的负权重列线CL-。第二电流镜像电路302可以通过由积分控制信号Ctr_Int控制的对应的开关S3选择性地连接到积分电容器Cint。在某些示例中,将第二电流镜像电路302选择性地连接至积分电容器Cint的开关S3可以与将第一电流镜像电路301连接至积分电容器Cint的开关S1是相同器件。在其它示例中,如图5中所图示,选择性地将第二电流镜像电路302连接至积分电容器Cint的开关S3可以是与开关S1分离的器件。在下文中,为了方便起见,可以将开关S3称为好像与开关S1不同,但是应该理解,下面的描述也可以应用于其中开关S3和开关S1由相同的器件形成的示例。
当开关S1闭合时,第一电流镜像电路301可以用于使得第一积分电流流向积分电容器Cint的电极或从积分电容器Cint的电极流出,第一积分电流的大小反映在对应的正权重列线CL+上流动的电流。当开关S3闭合时,第二电流镜像电路302可用于使得第二积分电流流向积分电容器Cint的电极或从积分电容器Cint的电极流出,第二积分电流的大小反映在对应的负权重列线CL-上流动的电流。具体地,第一电流镜像电路301和第二电流镜像电路302使得第一积分电流和第二积分电流相对于积分电容器Cint的电极在相反的方向上流动。换句话说,如果第一电流镜像电路301被用于使电流流向电极,则第二电流镜像电路302被用于使电流远离电极流动,并且反之亦然。开关S1和开关S3两者都由积分控制信号Ctr_Int控制。
在图5的放大视图部分中图示了第一电流镜像电路301和第二电流镜像电路302的可能示例。图5中示出的示例第一电流镜像电路301用于使电流远离积分电容器Cint的第一电极流动,而图5中示出的示例第二电流镜像电路302用于使电流流向第一电极。示例第二电流镜像电路302包括连接在对应的负权重列线CL-与低电压Vss之间的第三晶体管T3以及连接在低电压Vss与第五晶体管T5之间的第四晶体管T4,第三晶体管T3和第四晶体管T4的栅极连接在一起并连接到对应的列线CL-。示例第二电流镜像电路302还包括连接在第四晶体管T4与高电压Vdd之间的第五晶体管T5以及连接在高电压Vdd与开关S3之间的第六晶体管T6,第五晶体管T5和第六晶体管T6的栅电极连接在一起并连接到第四晶体管T4。第五晶体管T5和第六晶体管T6可以是p沟道晶体管,而第一晶体管T1至第四晶体管T4可以是n沟道晶体管。当开关S3闭合时,图5中图示的示例第二电流镜像电路302将以基于在对应的负权重列线CL-上流动的电流的速率将电荷流向积分电容器Cint。应该理解的是,这仅仅是第二电流镜像电路302的一个示例,并且可以使用任何类型的电流镜,只要其被配置为当开关S3闭合时,使得第二积分电流流向积分电容器Cint的电极或从积分电容器Cint的电极流出(在与第一积分电流相反的方向上),第二积分电流的大小反映在对应的负权重列线CL-上流动的电流。
具体而言,在每个时间段tP,电荷包被添加到电容器Cint的第一电极或从电容器Cint的第一电极中减去,其中在tP期间被添加/减去的净电荷量(在下文中为Q’p)取决于在tP期间在对应的正权重列线CL+上流动的电流Ip +和在tP期间在对应的负权重列线CL-上流动的电流Ip -。具体来说,Q’p可以由下式给出:
其中I+ RL_n是流过连接到行线RL_n的正忆阻器101的电流,并且G+ RL_n是忆阻器101的电导,I- RL_n是流过连接到行线RL_n的负忆阻器101的电流,并且G- RL_n是忆阻器101的电导,并且求和是对所有xn=p的n的值(即,对数字输入值xn等于p的所有行线RL_n)。如果Q’p为正,则这意味着在tP期间第一电流镜像电路301从第一电极减去的电荷的量超过在tP期间由第二电流镜像电路302添加到第一电极的电荷的量是Q’p的量。相反,如果Q’p为负,则这意味着在tP期间由第二电流镜像电路302添加到第一电极的电荷的量超过在tP期间第一电流镜像电路301从第一电极减去的电荷的量是Q’p的量。
因此,一旦第P个时间段tP结束,添加到电容器Cint的第一电极或从电容器Cint的第一电极中减去的电荷的总量将等于:
的正的值表示跨所有时间段t1-tP从第一电极减去了等于的净电荷量,而的负的值表示跨所有时间段t1-tP等于的净电荷量被添加到第一电极。
将公式5与电容器V=Q/C的特征方程结合意味着一旦第P个时间段tP结束,存储在积分电容器Cint中的电压差ΔVC将由下式给出:
因此,对于其中输入可以被正地加权或负地加权的情况,电压差ΔVC等于期望的MAC结果,即被常数(tint/Cint)缩放的
从公式6可以看出,流过第n条行线RLn的正忆阻器101的电流倾向于增加ΔVC,而流过第n条行线RLn的负忆阻器101的电流倾向于减小ΔVC。因此,通过控制的相对大小,可以为与第n条行线RLn相关联的输入任意设置正的权重或负的权重。具体而言,可以通过将第n条行线RLn的正忆阻器101的电导设置为与期望权重对应的值并且将连接到第n行线RLn的负忆阻器101的电导设置为零(或者设置为非常低的值),来将正的权重分配给给定MAC的第n个输入。相反地,可以通过将第n条行线RLn的负忆阻器101的电导设置为与期望权重对应的值并且将连接到第n条行线RLn的正忆阻器101的电导设置为零(或者设置为非常低的值),来将负的权重分配给给定MAC的第n个输入。
当为第n个输入设置正的权重并且将电压施加到第n条行线RLn时,电流将流过正忆阻器101并且沿着正权重列线CL+流动,但是由于负忆阻器101的电导为零(或非常低),所以没有电流(或非常小的电流)将流过负阻忆器101并且沿着负权重列线CL-流动。相反,当对第n个输入设置负权重并且将电压施加到第n条行线RLn时,电流将流过负阻忆器101并且沿着负权重列线CL-流动,但是由于正忆阻器101的电导为零(或非常低),所以没有电流(或非常小的电流)将流过正忆阻器101并且沿正权重列线CL+流动。因此,被分配正权重的输入最终导致从积分电容器Cint中减去一些电荷(因为它们在正权重列线CL+上生成电流),而被分配负权重的输入最终导致一些电荷被添加到积分电容器Cint(因为它们在负权重列线CL-上生成电流)。换句话说,对于那些被分配了正权重的输入,来自公式6的表达式简化为而对于那些分配了负权重的输入,则简化为
在某些示例中,给定MAC的每个输入可以使其相关联的正负忆阻器101和负忆阻器101独立于相同MAC的其它输入的忆阻器101而设置,并且因此在这样的示例中,MAC的一个输入被分配正的权重而同一MAC的另一输入被分配负的权重是可能的。
尽管在上述示例中,正的权重与从积分电容器Cint减去电荷(例如,经由第一电流镜像电路301)相关联,并且负的权重与向积分电容器Cint增加电荷相关联(例如,经由第二电流镜像电路302),然而这仅仅是一个示例,可以使用相反的约定。
在某些示例中,图5中图示的示例电子设备10可以包括人工神经网络(“ANN”)。例如,交叉杆阵列110、行驱动器电路200和列输出电路310可以对应于ANN的第一层。在这样的示例中,交叉杆阵列110的每个MAC可以对应于单个神经元。具体而言,每对列线CL+和CL-可以对应于单个神经元,并且该神经元可以将对应的列中的每个忆阻器101与对应的列的列输出电路310一起包括在内。在第一层之后可以存在ANN的另外的层,在这种情况下,第一层的输出可以作为第二层的输入被馈送到第二层。
具体地,在某些示例中,第一层的输出可以是数字输出向量。在这样的示例中,图5中图示的示例电子设备10可以包括输出电路500以及如上所述并且在图3中图示的第二层1000及其相关联的输入级2000。在这样的示例中,输出电路500、第二层1000和输入级2000可以以与上面关于图3描述的相同的方式配置,并且因此省略这些特征的重复描述。
作为另一示例,第一层的输出Y=(y1,y2,...,yM)可以是模拟输出向量。在这样的示例中,图5中图示的示例电子设备10可以包括输出电路600以及如上所述并且在图4中图示的第二层1001及其相关联的输入级2001。在这样的示例中,输出电路600、第二层1001和输入级2001可以以与上面关于图4描述的相同的方式配置,并且因此省略这些特征的重复描述。
图6图示操作电子设备的示例方法。例如,该方法可以用于操作具有第一层的人工神经网络,第一层包括具有行线、列线和忆阻器的交叉杆阵列(诸如交叉杆阵列100或110),每个忆阻器连接在行线中的一条与列线中的一条之间。示例方法可以例如经由电子设备的一个或多个控制器(例如,控制器400)来执行。
示例方法包括分别在多个时间段期间将多个模拟电压施加到第一节点(参见框6001)。例如,电压V1-VP可分别在时间段t1-tP期间施加到第一节点,其中P≥2。
示例方法还可以包括,针对行线中的每一条,基于数字输入向量在多个时间段中的一个时间段期间选择性地将行线连接到第一节点(参见框6002)。举例来说,针对每一条行线RLn,可基于对应于行线RLn的数字输入xn,在时间段t1到tP中的一个时间段,将行线RLn选择性地连接到第一节点。具体地,针对每条行线RLn,行线RLn可以在时序tP连接到第一节点,其中p=xn。由于根据框6001在tP期间将Vp施加到了第一节点,因此根据框6002将给定行线RLn连接到第一节点可以导致电压Vp被施加到给定行线RLn
示例方法还可以包括:针对列线中的每一条,在多个时间段中的每一个时间段期间将对应于列线的至少一个开关闭合指定的时间量(tint),并且在至少一个开关闭合的同时,使得积分电流流向积分电容器或从积分电容器流出(参见框6003),积分电流的大小反映在列线上流动的电流。例如,列线中的每一条的至少一个开关可以通过向开关施加积分控制信号(诸如Ctr_Int)而被以上述方式控制。具体而言,可以在时间段t1-tP中的每一个时间段期间,以等于指定时间量(tint)的脉冲宽度,将积分控制信号脉动到有效电平。
在框6003中,当至少一个开关闭合时,使得积分电流流向积分电容器或从积分电容器流出可以经由连接在列线与开关之间的电流镜像电路(诸如电流镜像电路301)来实现。例如,当至少一个开关闭合时,使得积分电流流向积分电容器或从积分电容器流出可以包括至少在开关闭合时,将第一电压(例如,Vss)施加到电流镜像电路。
示例方法还可以包括:在多个时间段结束之后,基于存储在列线的积分电容器中的相应的电压来生成第一层的输出向量(参见框6004)。
在某些示例中,交叉杆阵列可以进一步包括第二列线和第二忆阻器,第二列线每条对应于列线中的一条,第二忆阻器每个连接在行线中的一条与第二列线中的一条之间(诸如在交叉杆阵列310中)。在这样的示例中,该方法可以进一步包括:在框6003处,针对列线中的每一条,在列线的至少一个开关闭合时,致使第二积分电流流向列线的积分电容器或从列线的积分电容器流出,第二积分电流的大小反映在与列线对应的第二列线中的一条列线上流动的电流,其中第一积分电流和第二积分电流相对于列线的积分电容器在相反的方向上流动。
在某些示例中,第一层的每个神经元与列线中的一条和第二列线中的对应一条相关联。在这样的示例中,示例方法可以进一步包括:通过调整与相关联的列线连接的忆阻器中的一个的电阻来为给定神经元的第一给定输入设置正的权重,并且通过调整与相关联的第二列线连接的忆阻器中的一个的电阻来为给定神经元的第二给定输入设置负的权重。
在某些示例中,第一层的输出向量是数字输出向量。在这样的示例中,在框6004处生成第一层的输出向量可以包括:将基于在多个时间段结束之后存储在列线的积分电容器中的相应的电压的信号馈送到至少一个模数转换器。在某些示例中,馈送到至少一个模数转换器的信号可以是通过采样和保持电路从存储在积分电容器中的电压采样的电压。
在某些示例中,第一层的输出向量是模拟输出向量。在这样的示例中,在框6004处生成第一层的输出向量可以包括:将基于在多个时间段结束之后存储在列线的积分电容器中的相应的电压的信号馈送到模拟缓冲电路。在某些示例中,馈送到模拟缓冲电路的信号可以是通过采样和保持电路从存储在积分电容器中的电压采样的电压。
在本领域中,术语“忆阻器”可以广义地用于某些情况,也可以狭义地用于某些情况。从狭义上讲,“忆阻器”可以具体指代在电荷与磁通之间呈现非线性关系(或者呈现电流的时间积分与电压的时间积分之间的关系)的电路元件。从广义上讲,“忆阻器”广泛地指代基于变化的电阻状态并且通过其电阻读取的任何非易失性存储器元件。在本文和在所附权利要求书中,除非另外具体指明,否则“忆阻器”总是在广义上使用;具体而言,如本文所使用的,“忆阻器”广泛地指代基于变化的电阻状态并且通过其电阻读取的任何非易失性存储器元件。因此,忆阻器101可以由例如该术语的狭义下的忆阻器、改变电介质固态材料上的电阻的存储器元件、相变存储器元件(有时称为PCM或PCRAM)、导电桥接存储器元件(有时称为CBRAM或可编程金属化单元)、磁阻存储器元件(有时称为MRAM)等形成。
另外,在某些示例中,可以使用不是忆阻器的电阻元件来代替忆阻器101,以连接交叉杆阵列100中的列线和行线。这样的电阻元件可以是例如可变电阻电阻器或固定电阻电阻器。可变电阻电阻器的示例包括以线性(欧姆)模式运行的晶体管(在这种情况下,其沟道电阻可以通过改变施加到晶体管的栅极的电压而改变)、通过改变通过电路元件的电流路径来改变其电阻的电路元件(例如,具有不同电阻的多个电阻器和选择电流路径流过哪个电阻器的开关)等。固定电阻电阻器的示例包括多晶硅电阻器、激光修整薄膜等。在其中非忆阻器电阻元件替代忆阻器101的示例设备10中,示例设备10的其它部件可以具有与上述那些部件相同的配置;在一些这样的示例中,还可以根据需要添加专用于电阻元件的附加部件(例如,用于晶体管的栅极线、用于开关的控制线等)。
在其中使用忆阻器101或者其中使用可变电阻电阻器代替忆阻器101的示例中,可以通过改变忆阻器101或可变电阻电阻器的电导来动态调整分配给MAC的输入的权重。在其中使用固定电阻电阻器代替忆阻器的示例中,分配给MAC输入的权重可以被(例如,在制造期间)设置,并且之后可以保持固定。
在整个本公开和所附权利要求书中,偶尔可能对条目“一些”进行引用。对“一些”的这种引用意味着任何大于或等于1的整数。换句话说,“一些”与“至少一个”意思相同。当以这种方式使用“一些”时,为了语法一致性,描述(多个)条目的单词可以以复数形式书写,但这并不一定意味着仅仅引用多个项目。因此,例如,尽管使用了复数形式,但是诸如“一些处理器,其中所述处理器......”等短语可以包含一个处理器和多个处理器。
在引用一些条目中可以使用短语“一些”的事实不应该被解释为意味着在引用另一条目时省略短语“一些”意味着该条目必然是单数或必然是复数。
具体地,在没有明确指出单数或复数的情况下,当使用冠词“一”和“该”引用条目时,除非另有明确说明,应该理解为这意味着该条目有“至少一个”。当以这种方式使用这些冠词时,为了语法一致性,描述(多个)条目的单词可以以单数形式书写,但这并不一定意味着仅仅引用一个项目。因此,例如,尽管使用了单数形式,诸如“一处理器,其中该处理器......”等的短语可以包含一个处理器和多个处理器。
有时,短语“和/或”在本文中与条目的列表结合使用。这个短语意味着列表中的任何条目的组合-从单个条目到所有条目以及之间的任何排列都可能包含在内。因此,例如,“A、B和/或C”可以包括以下组合中的任何一个:{A}、{B}、{C}、{A,B}、{A,C}、{C,B}和{A,C,B}。
以上参考各种示例流程图描述了各种示例过程。在描述和图示的流程图中,为了易于描述,以特定的顺序阐述了操作。然而,应当理解,可以以与所描述的顺序不同的顺序执行一些或全部操作,并且可以同时进行一些或全部操作。
虽然已经参考前述示例示出和描述了上述公开,但是应当理解,在不脱离本公开的精神和范围的情况下,可以作出其它形式、细节和实现方式。

Claims (20)

1.一种电子设备,包括:
交叉杆阵列,所述交叉杆阵列包括行线、列线和忆阻器,每个忆阻器连接在所述行线中的一条行线与所述列线中的一条列线之间;
行驱动器电路,所述行驱动器电路用于分别在多个时间段期间将多个模拟电压施加到第一节点,并且用于针对所述行线中的每一条行线,基于数字输入向量,在所述多个时间段中的一个时间段期间选择性地将该行线连接到所述第一节点;以及
所述列线中的每一条列线的列输出电路,所述列输出电路包括:
积分电容器,
由积分控制信号控制的开关,和
电流镜像电路,所述电流镜像电路用于在所述开关闭合时,使得积分电流流向所述积分电容器的电极或从所述积分电容器的电极流出,所述积分电流的大小反映在对应的列线上流动的电流,
其中所述积分控制信号用于在所述多个时间段中的每一个时间段期间闭合所述开关指定的时间量。
2.根据权利要求1所述的电子设备,
其中,所述列输出电路中的每一个列输出电路的输出信号基于在所述多个时间段结束之后存储在所述积分电容器中的电压差。
3.根据权利要求1所述的电子设备,进一步包括:
模数转换电路,所述模数转换电路用于基于在所述多个时间段结束之后存储在所述列输出电路的所述积分电容器中的各个电压差,为所述列输出电路中的每一个列输出电路生成数字输出值。
4.根据权利要求3所述的电子设备,进一步包括:
所述列输出电路中的每一个列输出电路的采样和保持电路,所述采样和保持电路中的每一个采样和保持电路连接到对应的列输出电路的所述积分电容器,以在所述多个时间段结束之后对所述积分电容器的电极的电压进行采样,并且将所采样的电压馈送到所述模数转换电路。
5.根据权利要求3所述的电子设备,
其中所述交叉杆阵列、所述行驱动器电路和所述列输出电路形成人工神经网络的第一层,所述列输出电路的各个所述数字输出值形成所述第一层的数字输出向量,并且所述第一层的所述数字输出向量作为输入被馈送到所述人工神经网络的第二层。
6.根据权利要求1所述的电子设备,进一步包括:
模拟缓冲电路,所述模拟缓冲电路用于基于在所述多个时间段结束之后存储在所述列输出电路的所述积分电容器中的各个电压差,输出所述列输出电路中的每一个列输出电路的模拟输出值。
7.根据权利要求6所述的电子设备,
其中所述交叉杆阵列、所述行驱动器电路和所述列输出电路形成人工神经网络的第一层,所述列输出电路的各个所述模拟输出值形成所述第一层的模拟输出向量,并且所述第一层的所述模拟输出向量作为输入被馈送到所述人工神经网络的第二层。
8.根据权利要求1所述的电子设备,
其中所述交叉杆阵列、所述行驱动器电路和所述列输出电路形成人工神经网络的第一层,所述列线中的每一条列线对应于所述人工神经网络的单个神经元。
9.根据权利要求1所述的电子设备,
其中所述行驱动器电路包括:
数模转换器,所述数模转换器用于通过将斜坡电压信号施加到所述第一节点而将所述多个模拟电压施加到所述第一节点,所述斜坡电压信号的电压在所述多个时间段中的每一个时间段变化,以及
所述行线中的每一条行线的开关电路,其中所述开关电路中的每一个开关电路存储来自所述数字输入向量的数字值,并且在与所存储的数字值对应的所述多个时间段中的一个时间段期间,将所述第一节点连接到对应的行线。
10.一种电子设备,包括:
交叉杆阵列,所述交叉杆阵列包括行线、第一列线、第二列线以及忆阻器,每条第二列线与所述第一列线中的一条列线对应,每个忆阻器连接在所述行线中的一条行线与所述第一列线中的一条第一列线或所述第二列线中的一条第二列线之间;
行驱动器电路,所述行驱动器电路用于分别在多个时间段期间将多个模拟电压施加到第一节点,并且用于针对所述行线中的每一条行线,基于数字输入向量,在所述多个时间段中的一个时间段期间选择性地将该行线连接到所述第一节点;以及
所述第一列线中的每一条第一列线的列输出电路,所述列输出电路包括:
积分电容器,
由积分信号控制的至少一个开关,
第一电流镜像电路,所述第一电流镜像电路用于在所述至少一个开关闭合时,使得第一积分电流流向所述积分电容器的电极或从所述积分电容器的电极流出,所述第一积分电流的大小反映在该第一列线上流动的电流,以及
第二电流镜像电路,所述第二电流镜像电路用于在所述至少一个开关闭合时,使得第二积分电流从所述电极流出或流向所述电极,所述第二积分电流的大小反映在对应于该第一列线的第二列线上流动的电流,其中所述第一电流和所述
第二电流相对于所述电极在相反方向上流动;
其中所述积分信号用于在所述多个时间段中的每一个时间段期间闭合所述至少一个开关指定的时间量。
11.根据权利要求10所述的电子设备,
其中,所述列输出电路中的每一个列输出电路的输出信号基于在所述多个时间段结束之后存储在所述积分电容器中的电压差。
12.根据权利要求10所述的电子设备,进一步包括:
模数转换电路,所述模数转换电路用于基于在所述多个时间段结束之后存储在所述列输出电路的所述积分电容器中的各个电压差,为所述列输出电路中的每一个列输出电路生成数字输出值。
13.根据权利要求10所述的电子设备,进一步包括:
模拟缓冲电路,所述模拟缓冲电路用于基于在所述多个时间段结束之后存储在所述列输出电路的所述积分电容器中的各个电压差,输出所述列输出电路中的每一个列输出电路的模拟输出值。
14.根据权利要求8所述的电子设备,
其中所述交叉杆阵列、所述行驱动器电路和所述列输出电路形成人工神经网络的第一层,所述第一层的每个神经元与所述第一列线中的一条第一列线及其对应的第二列线相关联,
所述电子设备通过调整连接到所关联的第一列线的所述忆阻器中的一个忆阻器的电阻电导来为给定神经元的第一给定输入设置正的权重,并且
所述电子设备通过调整连接到所关联的第二列线的所述忆阻器中的一个忆阻器的电导来为所述给定神经元的第二给定输入设置负的权重。
15.一种操作人工神经网络的方法,所述人工神经网络具有第一层,所述第一层包括具有行线、列线和忆阻器的交叉杆阵列,每个忆阻器连接在所述行线中的一条行线与所述列线中的一条列线之间,所述方法包括:
分别在多个时间段期间将多个模拟电压施加到第一节点;
针对所述行线中的每一条行线,基于数字输入向量在所述多个时间段中的一个时间段期间选择性地将该行线连接到所述第一节点;
针对所述列线中的每一条列线,在所述多个时间段中的每一个时间段期间闭合对应于该列线的至少一个开关指定的时间量,并且在所述至少一个开关闭合的同时,使得积分电流流向对应于该列线的积分电容器或从对应于该列线的积分电容器流出,所述积分电流的大小反映在该列线上流动的电流;以及
基于在所述多个时间段结束之后存储在该列线的所述积分电容器中的相应的电压差来生成所述第一层的输出向量。
16.根据权利要求15所述的方法:
其中,针对所述列线中的每一条列线,使得所述积分电流流向该列线的所述积分电容器或从该列线的所述积分电容器流出包括:当对应于该列线的所述至少一个开关闭合时,将第一电压施加到镜像电路,所述镜像电路连接到该列线和该列线的所述至少一个开关。
17.根据权利要求15所述的方法:
其中所述交叉杆阵列进一步包括第二列线和第二忆阻器,每条第二列线对应于所述列线中的一条,每个第二忆阻器连接在所述行线中的一条与所述第二列线中的一条之间,并且
所述方法进一步包括,针对所述列线中的每一条列线:在该列线的至少一个开关闭合时,使得第二积分电流流向该列线的积分电容器或从该列线的积分电容器流出,所述第二积分电流的大小反映在第二列线中的与该列线对应的一条第二列线上流动的电流,其中第一积分电流和第二积分电流相对于该列线的积分电容器在相反的方向上流动。
18.根据权利要求17所述的方法:
其中所述第一层的每个神经元与所述列线中的一条列线和所述第二列线中的对应一条第二列线相关联,并且
所述方法进一步包括:
通过调整连接到所关联的列线的所述忆阻器中的一个忆阻器的电导来为给定神经元的第一给定输入设置正的权重,并且
通过调整连接到所关联的第二列线的所述忆阻器中的一个忆阻器的电导来为所述给定神经元的第二给定输入设置负的权重。
19.根据权利要求15所述的方法:
其中所述第一层的所述输出向量是数字输出向量,并且
生成所述第一层的所述输出向量包括:将基于在所述多个时间段结束之后存储在所述列线的所述积分电容器中的所述各个电压差的信号馈送到至少一个模数转换器。
20.根据权利要求15所述的方法:
其中所述第一层的所述输出向量是模拟输出向量,并且
生成所述第一层的所述输出向量包括:将基于在所述多个时间段结束之后存储在所述列线的所述积分电容器中的所述各个电压差的信号馈送到模拟缓冲电路。
CN201810179601.1A 2017-03-03 2018-03-05 模拟乘法器-累加器 Pending CN108536422A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/449,071 US11315009B2 (en) 2017-03-03 2017-03-03 Analog multiplier-accumulators
US15/449,071 2017-03-03

Publications (1)

Publication Number Publication Date
CN108536422A true CN108536422A (zh) 2018-09-14

Family

ID=61800245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810179601.1A Pending CN108536422A (zh) 2017-03-03 2018-03-05 模拟乘法器-累加器

Country Status (5)

Country Link
US (1) US11315009B2 (zh)
EP (1) EP3370145B1 (zh)
KR (1) KR20180101276A (zh)
CN (1) CN108536422A (zh)
TW (1) TWI657381B (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109524039A (zh) * 2018-11-21 2019-03-26 复旦大学 一种忆阻器阻态数目扩展的结构及相关方法
CN109542392A (zh) * 2018-11-09 2019-03-29 复旦大学 基于忆阻器交叉阵列的低功耗加权求和电路
CN109740744A (zh) * 2018-12-13 2019-05-10 南京邮电大学 基于忆阻器矩阵的指定元素权值运算方法
CN110991628A (zh) * 2019-11-02 2020-04-10 复旦大学 一种基于电荷泵的神经元电路
CN111722830A (zh) * 2019-03-20 2020-09-29 旺宏电子股份有限公司 快闪存储器的非易失性计算方法
CN111796618A (zh) * 2019-04-03 2020-10-20 瑞昱半导体股份有限公司 人工神经元及其执行方法
CN111953349A (zh) * 2020-07-31 2020-11-17 上海集成电路研发中心有限公司 一种基于忆阻器的模拟乘加器电路
CN111985630A (zh) * 2019-05-22 2020-11-24 力旺电子股份有限公司 运用于类神经网络系统的乘积累加电路的控制电路
CN112771533A (zh) * 2018-11-08 2021-05-07 Tdk株式会社 积和运算器、积和运算方法、逻辑运算装置和神经形态器件
CN112823327A (zh) * 2018-10-11 2021-05-18 国际商业机器公司 模拟的交叉点阵列中匹配对称点作为零权重点的对准技术
CN112836810A (zh) * 2019-11-22 2021-05-25 华邦电子股份有限公司 使用交叉阵列的电子装置以及数据处理方法
WO2021103122A1 (zh) * 2019-11-29 2021-06-03 珠海复旦创新研究院 一种基于忆阻器阵列的半加器、全加器及乘法器
CN112955863A (zh) * 2018-11-13 2021-06-11 罗伯特·博世有限公司 用于实现矩阵运算的方法和设备
CN113614729A (zh) * 2019-03-27 2021-11-05 索尼集团公司 算术装置和乘法累加系统
CN113811872A (zh) * 2019-05-09 2021-12-17 应用材料公司 位序的二进制加权的乘法累加器
CN113811896A (zh) * 2019-05-07 2021-12-17 Hrl实验室有限责任公司 用于存储器内计算的双极全忆阻器电路
CN114424198A (zh) * 2019-09-17 2022-04-29 安纳富来希股份有限公司 乘法累加器
CN114830136A (zh) * 2019-12-19 2022-07-29 高通股份有限公司 功率高效的近存储器模拟乘法和累加(mac)
CN116029351A (zh) * 2023-03-30 2023-04-28 南京大学 基于光电存算单元的模拟域累加读出电路
WO2024174354A1 (zh) * 2023-02-21 2024-08-29 鹏城实验室 一种基于电导可调器件的神经网络训练操作系统及方法

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10878317B2 (en) * 2017-09-11 2020-12-29 Samsung Electronics Co., Ltd. Method and system for performing analog complex vector-matrix multiplication
CN111344665B (zh) * 2017-11-17 2024-04-26 株式会社半导体能源研究所 加法运算方法、半导体装置及电子设备
US10496374B2 (en) * 2018-03-22 2019-12-03 Hewlett Packard Enterprise Development Lp Crossbar array operations using ALU modified signals
US10418550B2 (en) * 2018-05-29 2019-09-17 Nanjing University High temperature resistant memristor based on two-dimensional covalent crystal and preparation method thereof
US10452472B1 (en) * 2018-06-04 2019-10-22 Hewlett Packard Enterprise Development Lp Tunable and dynamically adjustable error correction for memristor crossbars
TWI799588B (zh) * 2018-07-13 2023-04-21 日商索尼股份有限公司 積和運算裝置、積和運算電路、積和運算系統及積和運算方法
US11410025B2 (en) * 2018-09-07 2022-08-09 Tetramem Inc. Implementing a multi-layer neural network using crossbar array
WO2020068121A1 (en) * 2018-09-28 2020-04-02 Hewlett Packard Enterprise Development Lp Charge metering circuit for memristor
US12111878B2 (en) * 2018-10-12 2024-10-08 International Business Machines Corporation Efficient processing of convolutional neural network layers using analog-memory-based hardware
US11204740B2 (en) 2018-12-04 2021-12-21 Electronics And Telecommunications Research Institute Neuromorphic arithmetic device and operating method thereof
KR102692218B1 (ko) * 2018-12-19 2024-08-05 에스케이하이닉스 주식회사 오류 역전파를 이용하여 지도 학습을 수행하는 뉴로모픽 시스템
EP3674991B1 (en) * 2018-12-28 2024-07-17 IMEC vzw Multibit neural network
JP2020126426A (ja) * 2019-02-04 2020-08-20 ソニー株式会社 演算装置、及び積和演算システム
JP2020126427A (ja) * 2019-02-04 2020-08-20 ソニー株式会社 演算装置、積和演算システム及び設定方法
GB2583782B (en) 2019-05-07 2021-11-10 Cirrus Logic Int Semiconductor Ltd Computing circuitry
CN110209375B (zh) * 2019-05-30 2021-03-26 浙江大学 一种基于radix-4编码和差分权重存储的乘累加电路
US12026601B2 (en) * 2019-06-26 2024-07-02 Micron Technology, Inc. Stacked artificial neural networks
TWI770444B (zh) * 2019-07-03 2022-07-11 財團法人工業技術研究院 神經元電路
CN112183734A (zh) * 2019-07-03 2021-01-05 财团法人工业技术研究院 神经元电路
CN211653633U (zh) * 2019-07-08 2020-10-09 神亚科技股份有限公司 乘法器装置
US11735256B2 (en) * 2019-09-01 2023-08-22 Tetramem Inc. Reducing disturbance in crossbar array circuits
US11573792B2 (en) 2019-09-03 2023-02-07 Samsung Electronics Co., Ltd. Method and computing device with a multiplier-accumulator circuit
US11354383B2 (en) 2019-09-27 2022-06-07 Applied Materials, Inc Successive bit-ordered binary-weighted multiplier-accumulator
KR102225558B1 (ko) * 2019-10-14 2021-03-08 연세대학교 산학협력단 온칩 활성화 함수가 구현된 아날로그 신호 전달 기반의 멀티 레이어 연산 회로
KR20210119805A (ko) * 2020-03-25 2021-10-06 삼성전자주식회사 뉴로모픽 장치 및 그 구동 방법
US11562240B2 (en) * 2020-05-27 2023-01-24 International Business Machines Corporation Efficient tile mapping for row-by-row convolutional neural network mapping for analog artificial intelligence network inference
CN111815640B (zh) * 2020-07-21 2022-05-03 江苏经贸职业技术学院 一种基于忆阻器的rbf神经网络医学图像分割算法
KR20220020097A (ko) * 2020-08-11 2022-02-18 삼성전자주식회사 프로세싱 장치 및 이를 포함하는 전자 시스템
US11200948B1 (en) * 2020-08-27 2021-12-14 Hewlett Packard Enterprise Development Lp System for a flexible conductance crossbar
US11488664B2 (en) 2020-10-13 2022-11-01 International Business Machines Corporation Distributing device array currents across segment mirrors
KR102574426B1 (ko) 2020-12-31 2023-09-04 한국과학기술원 기계학습 알고리즘을 처리하는 mac 연산 장치 및 방법
US11705196B2 (en) * 2021-03-09 2023-07-18 Tetramem Inc. Auto-calibrating crossbar-based apparatuses
CN113285710B (zh) * 2021-06-04 2023-01-20 广东工业大学 基于忆阻器交叉阵列的逻辑门电路及与非门、或非门实现方法
CN116185338B (zh) * 2023-04-23 2023-07-14 中国人民解放军国防科技大学 基于忆阻器的乘法器
US11954586B2 (en) * 2023-08-04 2024-04-09 Deepx Co., Ltd. Neural processing unit being operated based on plural clock signals having multi-phases

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140172937A1 (en) * 2012-12-19 2014-06-19 United States Of America As Represented By The Secretary Of The Air Force Apparatus for performing matrix vector multiplication approximation using crossbar arrays of resistive memory devices
US20150170025A1 (en) * 2013-12-18 2015-06-18 The Government Of The United States Of America As Represented By The Secretary Method and apparatus for performing close-loop programming of resistive memory devices in crossbar array based hardware circuits and systems
CN104978996A (zh) * 2015-07-24 2015-10-14 广东科技学院 一种基于忆阻器的三维结构存储器
CN105552222A (zh) * 2015-12-25 2016-05-04 中国人民解放军国防科学技术大学 一种基于非晶态锰酸镧薄膜的交叉杆结构忆阻器及其制备方法
CN106373611A (zh) * 2016-09-29 2017-02-01 华中科技大学 一种存储与计算阵列结构及其操作方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW279231B (en) 1995-04-18 1996-06-21 Nat Science Council This invention is related to a new neural network for prediction
TWI417798B (zh) 2008-11-21 2013-12-01 Nat Taipei University Oftechnology High - speed reverse transfer neural network system with elastic structure and learning function
US8856055B2 (en) 2011-04-08 2014-10-07 International Business Machines Corporation Reconfigurable and customizable general-purpose circuits for neural networks
US9489618B2 (en) * 2014-05-27 2016-11-08 Purdue Research Foudation Electronic comparison systems
US10248907B2 (en) * 2015-10-20 2019-04-02 International Business Machines Corporation Resistive processing unit
US10664271B2 (en) * 2016-01-30 2020-05-26 Hewlett Packard Enterprise Development Lp Dot product engine with negation indicator
CN105844330B (zh) 2016-03-22 2019-06-28 华为技术有限公司 神经网络处理器的数据处理方法及神经网络处理器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140172937A1 (en) * 2012-12-19 2014-06-19 United States Of America As Represented By The Secretary Of The Air Force Apparatus for performing matrix vector multiplication approximation using crossbar arrays of resistive memory devices
US20150170025A1 (en) * 2013-12-18 2015-06-18 The Government Of The United States Of America As Represented By The Secretary Method and apparatus for performing close-loop programming of resistive memory devices in crossbar array based hardware circuits and systems
CN104978996A (zh) * 2015-07-24 2015-10-14 广东科技学院 一种基于忆阻器的三维结构存储器
CN105552222A (zh) * 2015-12-25 2016-05-04 中国人民解放军国防科学技术大学 一种基于非晶态锰酸镧薄膜的交叉杆结构忆阻器及其制备方法
CN106373611A (zh) * 2016-09-29 2017-02-01 华中科技大学 一种存储与计算阵列结构及其操作方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MUHAMMAD SHAKEEL QURESHI等: "CMOS Interface Circuits for Reading and Writing", 《2011 IEEE INTERNATIONAL SYMPOSIUM OF CIRCUITS AND SYSTEMS (ISCAS)》 *
WALT WOODS等: "Memristor panic — A survey of different device models in crossbar architectures", 《PROCEEDINGS OF THE 2015 IEEE/ACM INTERNATIONAL SYMPOSIUM ON NANOSCALE ARCHITECTURES (NANOARCH´15)》 *

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112823327B (zh) * 2018-10-11 2022-12-13 国际商业机器公司 模拟的交叉点阵列中匹配对称点作为零权重点的对准技术
CN112823327A (zh) * 2018-10-11 2021-05-18 国际商业机器公司 模拟的交叉点阵列中匹配对称点作为零权重点的对准技术
CN112771533A (zh) * 2018-11-08 2021-05-07 Tdk株式会社 积和运算器、积和运算方法、逻辑运算装置和神经形态器件
CN109542392A (zh) * 2018-11-09 2019-03-29 复旦大学 基于忆阻器交叉阵列的低功耗加权求和电路
CN112955863A (zh) * 2018-11-13 2021-06-11 罗伯特·博世有限公司 用于实现矩阵运算的方法和设备
CN109524039A (zh) * 2018-11-21 2019-03-26 复旦大学 一种忆阻器阻态数目扩展的结构及相关方法
CN109740744A (zh) * 2018-12-13 2019-05-10 南京邮电大学 基于忆阻器矩阵的指定元素权值运算方法
CN111722830A (zh) * 2019-03-20 2020-09-29 旺宏电子股份有限公司 快闪存储器的非易失性计算方法
CN111722830B (zh) * 2019-03-20 2024-06-07 旺宏电子股份有限公司 快闪存储器的非易失性计算方法
CN113614729B (zh) * 2019-03-27 2023-08-04 索尼集团公司 算术装置和乘法累加系统
CN113614729A (zh) * 2019-03-27 2021-11-05 索尼集团公司 算术装置和乘法累加系统
CN111796618A (zh) * 2019-04-03 2020-10-20 瑞昱半导体股份有限公司 人工神经元及其执行方法
CN111796618B (zh) * 2019-04-03 2022-07-01 瑞昱半导体股份有限公司 人工神经元及其执行方法
US11694070B2 (en) 2019-05-07 2023-07-04 Hrl Laboratories, Llc Bipolar all-memristor circuit for in-memory computing
CN113811896A (zh) * 2019-05-07 2021-12-17 Hrl实验室有限责任公司 用于存储器内计算的双极全忆阻器电路
CN113811896B (zh) * 2019-05-07 2022-12-09 Hrl实验室有限责任公司 用于存储器内计算的双极全忆阻器电路
CN113811872A (zh) * 2019-05-09 2021-12-17 应用材料公司 位序的二进制加权的乘法累加器
CN111985630A (zh) * 2019-05-22 2020-11-24 力旺电子股份有限公司 运用于类神经网络系统的乘积累加电路的控制电路
CN111985630B (zh) * 2019-05-22 2024-07-12 力旺电子股份有限公司 运用于类神经网络系统的乘积累加电路的控制电路
CN114424198A (zh) * 2019-09-17 2022-04-29 安纳富来希股份有限公司 乘法累加器
CN110991628B (zh) * 2019-11-02 2023-04-18 复旦大学 一种基于电荷泵的神经元电路
CN110991628A (zh) * 2019-11-02 2020-04-10 复旦大学 一种基于电荷泵的神经元电路
CN112836810A (zh) * 2019-11-22 2021-05-25 华邦电子股份有限公司 使用交叉阵列的电子装置以及数据处理方法
CN112836810B (zh) * 2019-11-22 2023-09-29 华邦电子股份有限公司 使用交叉阵列的电子装置以及数据处理方法
WO2021103122A1 (zh) * 2019-11-29 2021-06-03 珠海复旦创新研究院 一种基于忆阻器阵列的半加器、全加器及乘法器
CN114830136A (zh) * 2019-12-19 2022-07-29 高通股份有限公司 功率高效的近存储器模拟乘法和累加(mac)
CN111953349A (zh) * 2020-07-31 2020-11-17 上海集成电路研发中心有限公司 一种基于忆阻器的模拟乘加器电路
WO2024174354A1 (zh) * 2023-02-21 2024-08-29 鹏城实验室 一种基于电导可调器件的神经网络训练操作系统及方法
CN116029351A (zh) * 2023-03-30 2023-04-28 南京大学 基于光电存算单元的模拟域累加读出电路
CN116029351B (zh) * 2023-03-30 2023-06-13 南京大学 基于光电存算单元的模拟域累加读出电路

Also Published As

Publication number Publication date
US11315009B2 (en) 2022-04-26
US20180253643A1 (en) 2018-09-06
EP3370145B1 (en) 2019-10-30
EP3370145A1 (en) 2018-09-05
TWI657381B (zh) 2019-04-21
TW201833824A (zh) 2018-09-16
KR20180101276A (ko) 2018-09-12

Similar Documents

Publication Publication Date Title
CN108536422A (zh) 模拟乘法器-累加器
US20210142157A1 (en) Spin orbit torque based electronic neuron
US9466362B2 (en) Resistive cross-point architecture for robust data representation with arbitrary precision
CN112005252B (zh) 具有单独权重更新和干扰电路的电阻式处理单元架构
JP2021507349A (ja) 抵抗処理ユニット・アレイのクロスポイント・デバイスに重みを記憶するための方法、そのクロスポイント・デバイス、ニューラル・ネットワークを実施するためのクロスポイント・アレイ、そのシステム、およびニューラル・ネットワークを実施するための方法
CN110825345A (zh) 使用非易失性存储器单元的乘法
US11948618B2 (en) Non-volatile analog resistive memory cells implementing ferroelectric select transistors
US11074499B2 (en) Synaptic weight transfer between conductance pairs with polarity inversion for reducing fixed device asymmetries
Krestinskaya et al. Memristive non-idealities: Is there any practical implications for designing neural network chips?
US11055612B2 (en) Voltage controlled highly linear resistive elements
US20190304538A1 (en) In-cell differential read-out circuitry for reading signed weight values in resistive processing unit architecture
US11783171B2 (en) Computing circuitry
WO2024131396A1 (zh) 延时缓冲单元及其操作方法、计算装置及其操作方法
US11645503B2 (en) Multibit neural network
CN117157636A (zh) 存算一体装置、系统及其操作方法
Zhou et al. Experimental demonstration of neuromorphic network with STT MTJ synapses
JP2022008142A (ja) 回路を利用して所定の演算を遂行する装置及び方法
EP4354443A2 (en) Calibration methods and structures for partitioned memory architecture with single resistor or dual resistor memory elements
Ma et al. Effect of OTS selector reliabilities on NVM crossbar-based neuromorphic training
US12125530B2 (en) Partitioned memory architecture with single resistor or dual resistor memory elements for in-memory pipeline processing
Narayanan et al. Neuromorphic technologies for next-generation cognitive computing
US20240120001A1 (en) Partitioned memory architecture with single resistor or dual resistor memory elements for in-memory pipeline processing
US20240192921A1 (en) Fixed asymmetry compensation for multiply and accumulate operations
Jeong et al. A Modeling and Simulation of ReRAM with Nonidealities for System-Level PIM Validation in System Verilog
EP4002220A1 (en) Synapse circuit for three-factor learning

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180914