CN111985630A - 运用于类神经网络系统的乘积累加电路的控制电路 - Google Patents
运用于类神经网络系统的乘积累加电路的控制电路 Download PDFInfo
- Publication number
- CN111985630A CN111985630A CN202010411115.5A CN202010411115A CN111985630A CN 111985630 A CN111985630 A CN 111985630A CN 202010411115 A CN202010411115 A CN 202010411115A CN 111985630 A CN111985630 A CN 111985630A
- Authority
- CN
- China
- Prior art keywords
- transistor
- terminal
- circuit
- neuron
- drain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000009825 accumulation Methods 0.000 title claims description 8
- 238000013528 artificial neural network Methods 0.000 title description 27
- 210000002569 neuron Anatomy 0.000 claims abstract description 115
- 210000004027 cell Anatomy 0.000 claims abstract description 100
- 230000001537 neural effect Effects 0.000 claims abstract description 19
- 230000003321 amplification Effects 0.000 claims description 10
- 239000003990 capacitor Substances 0.000 claims description 10
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 9
- 238000012549 training Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000000034 method Methods 0.000 claims description 4
- 101100063435 Caenorhabditis elegans din-1 gene Proteins 0.000 description 13
- 238000010586 diagram Methods 0.000 description 7
- 229910000831 Steel Inorganic materials 0.000 description 5
- 210000002364 input neuron Anatomy 0.000 description 5
- 210000004205 output neuron Anatomy 0.000 description 5
- 239000010959 steel Substances 0.000 description 5
- 238000003491 array Methods 0.000 description 2
- 239000000969 carrier Substances 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- VVNCNSJFMMFHPL-GSVOUGTGSA-N L-penicillamine Chemical compound CC(C)(S)[C@H](N)C(O)=O VVNCNSJFMMFHPL-GSVOUGTGSA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B63/00—Resistance change memory devices, e.g. resistive RAM [ReRAM] devices
- H10B63/80—Arrangements comprising multiple bistable or multi-stable switching components of the same type on a plane parallel to the substrate, e.g. cross-point arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Neurology (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Semiconductor Memories (AREA)
- Analogue/Digital Conversion (AREA)
- Logic Circuits (AREA)
Abstract
一种运用于类神经网络系统的控制电路,包括:一第一乘积累加电路、一第一神经元数值储存电路与一第一处理器。第一乘积累加电路包括n个忆阻性记忆胞。n个忆阻性记忆胞的一第一端接收一供应电压,n个忆阻性记忆胞的一第二端连接至一第一位线,n个忆阻性记忆胞的控制端连接至对应的n条字线。一第一神经元数值储存电路储存一第一层的n个神经元数值。于一应用程序时,该第一神经元数值储存电路根据该n个神经元数值的二进制码来控制该n条字线,使得第一处理器产生一第二层的一第一神经元数值。
Description
技术领域
本发明是有关于一种运用于类神经网络系统的电路,且特别是有关于一种运用于类神经网络系统的乘积累加电路的控制电路。
背景技术
近年来,类神经网络系统(neural network system)已经广泛的运用在人工智能的用途(AI application)以提供智能处理能力,例如图形辨识(pattern recognition)、数据辨识(data classification)和物件侦测(object detection)。以下先简单介绍具备辨识数字能力的类神经网络系统。
请参照图1,其所绘示为辨识数字的类神经网络系统示意图。利用类神经网络系统100可运用于辨识手写板102上所书写的数字,其中手写板102是由784(28×28)个感应点(sense point)所建构而成。
类神经网络系统100包括输入层(input layer)110、隐藏层(hidden layer)120与输出层(output layer)130。基本上,手写板102上的每个感应点会对应到输入层的一个输入神经元(input neuron),因此输入层110共有784(28×28)个输入神经元I0~I783,并可视为输入层110的大小(size)为784。
由于类神经网络系统100需要辨识0~9的十个数字,因此输出层130共有10个输出神经元(output neuron)O0~O9,并可视为输出层130的大小(size)为10。
再者,类神经网络系统100的隐藏层120被设计为具有30个神经元H0~H29,亦即隐藏层130的大小(size)为30。因此,类神经网络系统100的尺寸为784-30-10。
每个神经元之间的连线皆代表一个神经元连接权重(neuron connectionweight)。如图1所示,输入层110中的784个输入神经元I0~I783连接至隐藏层120的神经元H0,而对应的784个神经元连接权重为(IH0,0~IH783,0)。同理,输入层110中的784个输入神经元I0~I783对应地连接至隐藏层120的30个神经元H0~H29。因此,输入层110与隐藏层120之间有734×30个神经元连接权重(IH0,0~IH783,0)、(IH0,1~IH783,1)~(IH0,29~IH783,29)。
同理,隐藏层120的30个神经元H0~H29对应地连接至输出层130的10个神经元O0~O9。因此,隐藏层120与输出层130之间有30×10个神经元连接权重(HO0,0~HO29,0)~(HO0,9~HO29,9)。其中,类神经网络系统100中所有的神经元连接权重(IH0,0~IH783,0)~(IH0,29~IH783,29)与(HO0,0~HO29,0)~(HO0,9~HO29,9)即组合成为一权重群组(weight group)。
基本上,将前一层(previous layer)的每个神经元数值乘以对应的神经元连接权重后并加总之后即可获得下一层(next layer)的神经元数值。以隐藏层120的神经元数值H0为例,同理,隐藏层120中其他神经元H1~H29也是以相同的方式来计算。
在实际应用类神经网络系统100之前,需要进行训练程序(training phase),以获得权重群组中所有的神经元连接权重。举例来说,经过多次的迭代训练(iterations oftraining)并获得所有神经元连接权重后,即可获得一个训练完成的(well-trained)类神经网络系统100。
在应用程序(application phase)时,即可在手写板102上写入数字,并由类神经网络系统100来进行辨识。如图1所示,于手写板102上写入数字7后,输出层130中的输出神经元O7数值最高,亦即类神经网络系统100辨识出数字7。
当然,图1的类神经网络系统100仅是一个范例。对于更复杂的类神经网络系统,可以使用多个隐藏层来让类神经网络系统具备更佳的辨识能力,而每个隐藏层的尺寸也不限定。
由于类神经网络系统中需要不断的进行乘法与加法运算,因此利用计算机系统可以进行上述的运算。举例来说,将所有的神经元连接权重储存于计算机系统的存储器中。接着,利用计算机系统的中央处理单元(CPU)来存取(access)存储器中的神经元连接权重,并进行乘法与加法运算后即可计算出所有神经元数值。
然而,当类神经网络系统的尺寸越大时,存储器的容量也必须增加以便用来储存神经元连接权重以及神经元数值。并且,由于中央处理单元必须不断地存取存储器中的数据,使得计算机系统的效能大幅地降低且耗费大量的功耗(power consumption)。
现今,针对类神经网络系统的特性,已发展出一种乘积累加电路(MultiplyAccumulate circuit,简称MAC),用来计算神经元数值。
请参照图2A至图2C,其所绘示为乘积累加电路器的方块图(block diagram)、已知乘积累加电路组(MAC group)与控制电路示意图。
应用到类神经网络系统时,乘积累加电路200中的权重W1,j~Wn,j即为神经元连接权重。将前一层(previous layer)的多个神经元数值即为输入数值,而乘积累加电路200的输出数值Yj即为下一层(next layer)的神经元数值。
如图2B所示,乘积累加电路组250包括j个乘积累加电路251~25j,此乘积累加电路组250可以进行类神经网络系统中前一层大小(size)n,下一层的大小(size)j的运算。
以乘积累加电路251为例来作说明,乘积累加电路251包括n个电导(electricalconductance),其电导值(conductance value)分别为G1,1~Gn,1。其中,每个电导皆由可变电阻(variable resistor)所组成。而调整后(tuned)的可变电阻,其电阻值(resistancevalue)的倒数即为电导值。举例来说,调整好的电阻值为5欧姆(ohm,Ω),其电导值为0.2西门子(siemens,S)。再者,根据类神经网络系统中的神经元连接权重来调整对应的电导值G1,1~Gn,1。
再者,乘积累加电路251的n个输入端接收n个输入电压V1~Vn,每个电压值V1~Vn分别代表前一层的n个神经元数值,乘积累加电路251的输出端产生一个输出电流I1代表下一层的神经元数值。乘积累加电路251的n个输入端与输出端之间连接对应的电导G1,1~Gn,1。再者,乘积累加电路252~25j也有相同的结构,此处不再赘述。
于类神经网络系统的训练程序(training phase)时,可调整每个乘积累加电路251~25j中的所有n×j个电导值G1,1~Gn,j作为n×j个神经元连接权重。
于类神经网络系统的应用程序(application phase)时,所有乘积累加电路251~25j的输入端接收n个输入电压V1~Vn,所有输出端连接至接地电压(未绘示)。因此,所有乘积累加电路251~25j的输出端产生的输出电流I1~Ij即代表下一层的j个神经元数值。
以乘积累加电路251为例,n个电导G1,1~Gn,j接收对应的n个输入电压V1~Vn后,产生n个电流I1,1~In,1。而叠加的(superposed)n个电流I1,1~In,1即为输出电流I1,亦即
如图2C所示,控制电路290包括数字模拟转换器(digital-to-analog converter,DAC)260、乘积累加电路组250、模拟数字转换器(analog-to-digital converter,ADC)270。其中,数字模拟转换器260可将数字数值转换为模拟电压,模拟数字转换器270可将模拟电流转换成数字数值。
首先,前一层的n个神经元数值Din_1~Din_n输入数字模拟转换器260,并转换为对应的n个输入电压V1~Vn。再者,乘积累加电路组250接收n个输入电压V1~Vn,并产生j个输出电流I1~Ij。之后,模拟数字转换器270接收j个输出电流I1~Ij,并转换为下一层的j个神经元数值Do_1~Do_j。其中,神经元数值Din_1~Din_n、Do_1~Do_j皆为数字数值。
换言之,任意尺寸的类神经网络系统即可利用图2C的控制电路290来组成。以图1的类神经网络系统100为例,其尺寸为784-30-10。因此,类神经网络系统100包括二个控制电路。第一个控制电路接收输入层110的748个神经元数值I0~I783,并产生隐藏层120的30个神经元数值H0~H29。第二个控制电路接收隐藏层120的30个神经元数值H0~H29,并产生输出层130的10个神经元数值O0~O9。
发明内容
本发明的目的在于提出一种全新架构的乘积累加电路,运用于类神经网络系统以及相关的控制电路。
本发明有关于一种运用于类神经网络系统的控制电路,包括:一第一乘积累加电路,包括n个忆阻性记忆胞,每个忆阻性记忆胞的一第一端接收一供应电压,每个忆阻性记忆胞的一第二端连接至一第一位线,该n个忆阻性记忆胞的控制端连接至对应的n条字线;一第一神经元数值储存电路,连接至该n条字线,该第一神经元数值储存电路包括n个寄存器对应地储存一第一层的n个神经元数值;一第一处理器,连接至该第一位线;其中,于该类神经网络系统的一应用程序时,该第一神经元数值储存电路根据该n个神经元数值的二进制码来控制该n条字线,使得该第一乘积累加电路产生多个第一位线电流经由该第一位线至该第一处理器,且该第一处理器利用模拟计算的方式,将该些第一位线电流转换为一输出电流后,再将该输出电流转换为一第二层的一第一神经元数值。
为了对本发明的上述及其他方面有更佳的了解,下文特举较佳实施例,并配合附图,作详细说明如下:
附图说明
图1为辨识数字的类神经网络系统示意图。
图2A至图2C为乘积累加电路器的方块图、已知乘积累加电路组与控制电路示意图。
图3A至图3C为忆阻性记忆胞的各种范例以及相关的记忆胞阵列。
图4为本发明的控制电路。
图5A为处理器示意图。
图5B为电流电压转换器的一实施例。
图5C与图5D为模拟数字转换器的二个实施例。
图6为处理器的另一实施例。
符号说明
100:类神经网络系统
102:手写板
110:输入层
120:隐藏层
130:输出层
200,251~25j,421~42j:乘积累加电路
250:乘积累加电路组
260:数字模拟转换器
270:模拟数字转换器
290,400:控制电路
310,320:忆阻性记忆胞
410,450:神经元数值储存电路
411~41n,451~45j:寄存器
420:记忆胞阵列
430:处理电路
431~43j,431':处理器
510,610:电压钳位电路
520,620:电流电压转换器
530,630:模拟计算电路
5300~530L-1,6300~630L-1:放大电路
540,640:模拟数字转换器
具体实施方式
众所周知,忆阻器(memristor)为一种电子元件,其具有电阻(resistor)的特性。再者,利用特定偏压来设定忆阻器,可使得忆阻器具有特定电阻值。当此特定偏压消失后,忆阻器的电阻值仍会维持在特定电阻值而不会改变。如果要再次改变忆阻器的电阻值,则需要提供其他的偏压至忆阻器。一般来说,忆阻器可运用于非易失性存储器,例如可变电阻式存储器(Resistive random access memory,简称RRAM或者ReRAM)或者浮动栅晶体管(floating gate transistor)所构成的非易失性存储器。
请参照图3A至图3C,其所绘示为忆阻性记忆胞(memristive cell)的各种范例以及相关的记忆胞阵列(cell array)。如图3A所示,忆阻性记忆胞310包括一开关晶体管M以及一忆阻器R。开关晶体管M的第一漏/源极端(drain/source terminal)作为忆阻性记忆胞310的第一端t1。开关晶体管M的第二漏/源极端连接至忆阻器R的第一端,忆阻器R的第二端作为忆阻性记忆胞310的第二端t2。再者,开关晶体管M的栅极端作为忆阻性记忆胞310的控制端tc。其中,经由提供特定偏压至忆阻性记忆胞310的三个端t1、t2、tc,可以控制忆阻器R的电阻值。
另外,图3A的忆阻性记忆胞310,其开关晶体管M为n型晶体管,当然开关晶体管也可以利用p型晶体管来实现。再者,忆阻器R也可以由n型浮动栅晶体管或者p型浮动栅晶体管来实现。
如图3B所示,忆阻性记忆胞320包括一开关晶体管M以及一浮动栅晶体管F。开关晶体管M的第一漏/源极端作为忆阻性记忆胞320的第一端t1。开关晶体管M的第二漏/源极端连接至浮动栅晶体管的第一漏/源极端,浮动栅晶体管的第二漏/源极端作为忆阻性记忆胞320的第二端t2。再者,开关晶体管M的栅极端作为忆阻性记忆胞320的控制端tc。经由提供特定偏压至忆阻性记忆胞320的三个端t1、t2、tc,可以控制特定数量的热载子(hotcarrier)注入浮动栅极(floating gate),用以控制浮动栅晶体管的内电阻值(internalresistance value)。其中,热载子为电子。
另外,利用上述忆阻性记忆胞310、320或者其他形态的忆阻性记忆胞可以组成记忆胞阵列(cell array)。以下以忆阻性记忆胞320为例来进行说明,当然记忆胞阵列也可以由其他忆阻性记忆胞所组成。
如图3C所示,记忆胞阵列350包括n×j个忆阻性记忆胞c11~cnj,每个忆阻性记忆胞c11~cnj中包括一开关晶体管M1,1~Mn,j以及一浮动栅晶体管F1,1~Fn,j。再者,每个忆阻性记忆胞c11~cnj的结构相同于图3B的忆阻性记忆胞320,其详细结构不再赘述。其中,每个忆阻性记忆胞c11~cnj的第一端皆接收供应电压Vs。
在记忆胞阵列350中,第一行j个忆阻性记忆胞c11~c1j的控制端皆连接至字线WL1,而第二端连接至对应的位线BL1~BLj。第二行j个忆阻性记忆胞c21~c2j的控制端皆连接至字线WL2,而第二端连接至对应的位线BL1~BLj。同理,其他行的忆阻性记忆胞也有类似的连接关系,此处不再赘述。
基本上,记忆胞阵列350可运用于非易失性存储器用来储存或者读取数据。当于非易失性存储器的编程动作(program action)或者读取动作(read action)时,记忆胞阵列350中n条字线WL1~WLn中仅有一条字线会动作(activated),其他字线则不会动作。举例来说,于编程动作时,字线WL1动作。此时,提供各种偏压至位线BL1~BLj,使得不同数量的热载子注入第一行的j个忆阻性记忆胞c11~c1j中浮动栅晶体管F1,1~F1,j的浮动栅极,用以控制浮动栅晶体管F1,1~F1,j的内电阻值(internal resistance value)。
本发明利用图3C的记忆胞阵列350来实现乘积累加电路。实际上,本发明利用不同于非易失性存储器的记忆胞阵列350操作控制,将记忆胞阵列结合其他电路来形成控制电路,用来作为类神经网络系统的乘积累加电路。
请参照图4,其所绘示为本发明的控制电路。控制电路400包括第一神经元数值储存电路410、记忆胞阵列420、处理电路(processing circuit)430与第二神经元数值储存电路450。
第一神经元数值储存电路410包括n个寄存器(register)411~41n,每一个寄存器411~41n储存前一层的n个神经元数值Din_1~Din_n。其中,n个神经元数值Din_1~Din_n为数字数值。
记忆胞阵列420包括n×j个忆阻性记忆胞c11~cnj,每个忆阻性记忆胞c11~cnj的结构相同于图3B的忆阻性记忆胞320。当然,记忆胞阵列420也可以由图3A的忆阻性记忆胞310组成,或者由其他结构的忆阻性记忆胞组成。以忆阻性记忆胞c11为例,忆阻性记忆胞c11包括一开关晶体管M1,1与一浮动栅晶体管F1,1。忆阻性记忆胞c11的第一端接收供应电压Vs,第二端连接至位线BL1,控制端连接至字线WL1。
记忆胞阵列420的字线WL1~WLn连接至第一神经元数值储存电路410。再者,记忆胞阵列420中,每一列(column)的n个忆阻性记忆胞组成一乘积累加电路。亦即,记忆胞阵列420包括j个乘积累加电路421~42j连接至n条字线WL1~WLn,并连接至对应的位线BL1~BLj。以乘积累加电路421为例,乘积累加电路421包括n个忆阻性记忆胞c11~cn1,n个忆阻性记忆胞c11~cn1的第一端接收供应电压Vs,第二端连接至位线BL1,控制端连接至对应的字线WL1~WLn。同理,其他乘积累加电路422~42j也有类似结构,此处不再赘述。
处理电路430包括j个处理器(processor)431~43j,连接至对应的位线BL1~BLj。第二神经元数值储存电路450包括j个寄存器451~45j,每一个寄存器451~45j储存j个处理器431~43j输出的下一层的神经元数值Do_1~Do_j。其中,j个神经元数值Do_1~Do_j为数字数值。
根据本发明的实施例,记忆胞阵列420的n条字线WL1~WLn直接根据n个神经元数值Din_1~Din_n运作。亦即,n个神经元数值Din_1~Din_n不需经过数字转模拟转换器(DAC)的转换。记忆胞阵列420直接根据神经元数值Din_1~Din_n的二进制码(binarycode)来控制对应字线WL1~WLn的动作或者不动作。换句话说,记忆胞阵列420中同时动作的字线WL1~WLn数目可能会大于2条以上。
再者,由于神经元数值Din_1~Din_n为数字数值,乘积累加电路421~42j会根据神经元数值Din_1~Din_n的位数目(bit number)进行多次运作(operation)。举例来说,神经元数值Din_1~Din_n为8位(8bit),乘积累加电路421~42j会进行8次运作,并于对应的位线BL1~BLj上产生8次的位线电流。
另外,处理电路430中的处理器431~43j,会多次接收对应位线BL1~BLj上的位线电流,并利用模拟计算的方式来进行运算以产生神经元数值Do_1~Do_j,并储存至第二神经元数值储存电路450的j个寄存器451~45j。
以下仅以单一乘积累加电路421搭配单处理器431来说明乘积累加电路421与处理器431的运作。
请参照图5A,其所绘示为处理器示意图。处理器431包括一电压钳位电路(voltageclamping circuit)510、电流电压转换器(current to voltage converter)520、模拟计算电路(analog computing circuit)530以及模拟数字转换器(ADC)540。其中,模拟数字转换器540可将模拟电流转换成数字数值。
在处理器431中,电流电压转换器520连接至电压钳位电路510,用以接收位线电流IBL1,并产生转换电压Va(converted voltage)。也就是说,电流电压转换器520的输入端可接收乘积累加电路421所产生的位线电流IBL1,并于电压转换器520的输出端产生转换电压Va至模拟计算电路530。
电压钳位电路510包括一控制晶体管Mc与一运算放大器512,控制晶体管Mc的第一漏/源极端连接至位线BL1,控制晶体管Mc的第二漏/源极端连接至电流电压转换器520的输入端,运算放大器512的正输入端接收一偏压电压(bias voltage)Vb,运算放大器512的负输入端连接至控制晶体管Mc的第一漏/源极端,运算放大器512的输出端连接至控制晶体管Mc的栅极端。因此,当乘积累加电路421在运作时,位线BL1会被固定在偏压电压Vb。
当然,在实际的设计上,处理器431也可以将压钳位电路510予以省略,并将电流电压转换器520的输入端连接至位线BL1,使得电流电压转换器520直接接收乘积累加电路421产生的位线电流IBL1并产生转换电压Va。
模拟计算电路530连接于电流电压转换器520与模拟数字转换器(ADC)540之间。模拟计算电路530包括L个放大电路(amplifying circuit)5300~530L-1,每个放大电路皆有相同的构造。以放大电路5300为例,放大电路5300包括一开关sw0、一电容器C0、一放大晶体管(amplifying transistor)M0。开关sw0的第一端连接至电压转换器520的输出端,开关sw0的第二端连接至电容器C0的第一端以及放大晶体管M0的栅极端,电容器C0的第二端连接至接地端Gnd,放大晶体管M0的第一漏/源端连接至节点d,放大晶体管M0的第二漏/源极端连接至接地端Gnd,节点d连接至模拟数字转换器(ADC)540。再者,模拟计算电路530接收开关信号S,而L个放大电路5300~530L-1中的开关sw0~swL-1根据开关信号S运作。
根据本发明的实施例,放大电路5300~530L-1中的放大晶体管M0~ML-1的长宽比(aspect ratio)有固定的幂次方(power)关系。举例来说,放大晶体管M0的长宽比为20×(W/L)、放大晶体管M1的长宽比为21×(W/L),依此类推,放大晶体管ML-1的长宽比为2L-1×(W/L)。
首先,于类神经网络系统的训练程序(training phase)时,可调整每个乘积累加电路421中所有n个浮动栅晶体管F1,1~Fn,1的内电阻值。举例来说,浮动栅晶体管F1,1~Fn,1的内电阻值被调整为r1,1~rn,1。因此,在忆阻性记忆胞c11中,当字线WL1动作时,开关晶体管M1,1开启(turn on),忆阻性记忆胞c11产生的记忆胞电流(cell current)I1,1即为[(Vs-Vb)/r1,1]。同理,乘积累加电路421中,其他忆阻性记忆胞c21~cn1分别产生不同的记忆胞电流I2,1~In,1。
另外,当字线WL1未动作时,忆阻性记忆胞c11不会产生记忆胞电流I1,1,亦即I1,1=0。同理,当其他字线WL2~WLn未动作时,对应的忆阻性记忆胞c21~cn1不会产生记忆胞电流I2,1~In,1。
根据本发明的实施例,于类神经网络系统的应用程序(application phase)时,乘积累加电路421会根据神经元数值Din_1~Din_n的位数目(bit number)进行多次运作(operation)。每一次运作会产生一位线电流IBL1至处理器431,使得处理器431根据所有的位线电流IBL1来产生神经元数值Do_1。
举例来说,神经元数值Din_1~Din_n为8位(8bits)。第一神经元数值储存电路410会依序提供神经元数值Din_1~Din_n内的一个位用来控制对应的n条字线WL1~WLn,使得乘积累加电路421中的忆阻性记忆胞c11~cn1产生记忆胞电流I1,1~In,1,并且加总后成为位线电流IBL1经由位线BL1传递至处理器431。由于神经元数值Din_1~Din_n为8位(8bit),所以乘积累加电路421共会产生8个位线电流IBL1依序输入处理器431。在处理器431内部,电流电压转换器520依序将8个位线电流IBL1转换成8笔转换电压Va并输入至模拟计算电路530,使得模拟计算电路530产生一输出电流Iout。之后,模拟数字转换器(ADC)540根据输出电流Iout产生下一层的神经元数值Do_1。
同理,当神经元数值Din_1~Din_n为L位(L bits)时,乘积累加电路421共会产生L个位线电流IBL1依序输入处理器431。在处理器431内部,电流电压转换器520依序将L个位线电流IBL1转换成L笔转换电压Va并输入至模拟计算电路530。之后,模拟计算电路530即产生一输出电流Iout至模拟数字转换器(ADC)540,使得模拟数字转换器(ADC)540产生下一层的神经元数值Do_1。
以下更详细地介绍乘积累加电路421的运算。首先,第一神经元数值储存电路410会根据寄存器411~41n中每一个位的数值来控制对应的字线WL1~WLn。
以寄存器411为例来作说明。寄存器411储存L位的神经元数值Din_1,其二进制码(binary code)由最高位(MSB)至最低位(LSB)的数值依序为"a1,L-1、...、a1,1、a1,0"。当二进制码的数值为"1"时,则字线WL1会动作(activated)使得开关晶体管M1,1开启(turn on),并且忆阻性记忆胞c11输出记忆胞电流I1,1。反之,当二进制码的数值为"0"时,则字线WL1会不动作(inactivated)使得开关电晶体管M1,1关闭(turn off),并且忆阻性记忆胞c11不输出记忆胞电流I1,1。当然,本发明也可以利用相反的控制方式来实现,亦即当二进制码的数值为"0"时,字线WL1会动作(activated);当二进制码的数值为"1"时,字线WL1会不动作(inactivated)。
另外,根据寄存器411提供二进制码(binary code)的顺序,开关信号S控制模拟计算电路530中的开关sw0~swL-1。举例来说,寄存器411提供二进制码(binary code)的顺序是由最高位(MSB)至最低位(LSB),则开关信号S依序将开关swL-1~sw0控制为闭合状态(close state)。换句话说,当寄存器411提供最高位(MSB)时,开关信号S控制开关swL-1为闭合状态,其他开关swL-2~sw0则为开路状态(open state)。依此类推,当寄存器411提供最低位(LSB)时,开关信号S控制开关sw0为闭合状态,其他开关swL-1~sw1则为开路状态。当然,如果寄存器411提供二进制码(binary code)的顺序是由最低位(LSB)至最高位(MSB)时,则开关信号S依序将开关sw0~swL-1控制为闭合状态。
在乘积累加电路421第一次运作时,第一神经元数值储存电路410提供寄存器411~41n的最高位(MSB)来控制字线WL1~WLn。亦即,第一神经元数值储存电路410根据寄存器411提供的"a1,L-1"来控制字线WL1,根据寄存器412提供的"a2,L-1"来控制字线WL2,依此类推,根据寄存器41n提供的"an,L-1"来控制字线WLn。因此,乘积累加电路421第一次运作时所产生的位线电流IBL1即为,
接着,电流电压转换器520将位线电流IBL1转换成第一笔转换电压Va至模拟计算电路530。由于开关swL-1为闭合状态,所以放大电路530L-1的电容器CL-1储存转换电压Va。其中,转换电压Va正比例于(proportional)位线电流IBL1。亦即,位线电流IBL1越大,转换电压Va越大。
依此类推,在乘积累加电路421倒数第二次[第(L-1)次]运作时,第一神经元数值储存电路410提供寄存器411~41n的第二位来控制字线WL1~WLn。亦即,第一神经元数值储存电路410根据寄存器411提供的"a1,1"来控制字线WL1,根据寄存器412提供的"a2,1"来控制字线WL2,依此类推,根据寄存器41n提供的"an,1"来控制字线WLn。因此,乘积累加电路421第(L-1)次运作时所产生的位线电流IBL1即为,
接着,电流电压转换器520将位线电流IBL1转换成第(L-1)笔转换电压Va并储存至放大电路5301的电容器C1。相同地,转换电压Va正比例于位线电流IBL1。
同理,在乘积累加电路421最后一次[第L次]运作时,第一神经元数值储存电路410提供寄存器411~41n的最低位(LSB)来控制字线WL1~WLn。亦即,第一神经元数值储存电路410根据寄存器411提供的"a1,0"来控制字线WL1,根据寄存器412提供的"a2,0"来控制字线WL2,依此类推,根据寄存器41n提供的"an,0"来控制字线WLn。因此,乘积累加电路421第L次运作时所产生的位线电流IBL即为,
接着,电流电压转换器520将位线电流IBL1转换成第L笔转换电压Va,并储存至放大电路5300的电容器C0。相同地,转换电压Va正比例于位线电流IBL1。
当乘积累加电路421进行L次运作后,放大电路5300~530L-1的电容器C0~CL-1皆储存各自的转换电压Va。接着,模拟数字转换器540接收致能信号EN而开始运作,而模拟计算电路530产生输出电流Iout,使得模拟数字转换器540根据输出电流Iout产生下一层的神经元数值Do_1。详细说明如下。
由于放大电路5300~530L-1中的放大晶体管M0~ML-1的长宽比(aspect ratio)有固定的幂次方(power)关系,所以放大电路5300产生的放大电流I0与转换电压Va之间的关系为I0=20×p1×Va2,放大电路5301产生的放大电流I1与转换电压Va之间的关系为I1=21×p1×Va2,依此类推,放大电路530L-1产生的放大电流IL-1与转换电压Va之间的关系为IL-1=2L-1×p1×Va2。其中,放大晶体管M0~ML-1操作在饱和区(saturation region),且p1为常数(constant)。举例来说,p1可为晶体管M0的元件参数(device parameter)。
因此,输出电流Iout即为,
在上式中,由于c为常数,因此(c×Ii,1)即为神经元连接权重。其中,i为整数且1≦i≦n。换言之,调整n个记忆胞电流I1,1~In,1即可调整对应的n神经元连接权重。另外,模拟数字转换器540将输出电流Iout进行转换后确实可产生数字的神经元数值Do_1。
请参照图5B,其所绘示为电流电压转换器的一实施例。电流电压转换器520包括二极管式连接(diode connected)的晶体管Md。晶体管Md的第一漏/源极端接收位线电流IBL1,晶体管Md的第二/源极端连接至接地端Gnd,晶体管Md的栅极端与第一漏/源极端相互连接。因此,转换电压Va=rmd×IBL1。其中,rmd即为二极管式连接的晶体管Md的内阻值。当然本发明并不限定电流电压转换器的实际架构,除了图5B的电流电压转换器520之外,在此领域的技术人员也可以利用其他电流电压转换器来进行电流与电压之间的转换。
请参照图5C,其所绘示为模拟数字转换器的一实施例。模拟数字转换器540可将模拟电流转换成数字数值。模拟数字转换器540包括一晶体管Me、一电阻R与一电压式模拟数字转换器(voltage analog to digital converter,ADC_v)550。
晶体管Me的第一漏/源极端接收供应电压Vs,晶体管Me的第二/源极端连接至节点c,晶体管Me晶体管Md的栅极端接收致能信号EN。电阻R的第一端连接至节点c,第二端连接至节点d用以接收输出电流Iout。另外,电压式模拟数字转换器550的输入端连接至节点c,电压式模拟数字转换器550的输出端产生数字的神经元数值Do_1。
基本上,当致能信号EN动作时(例如低电平的致能信号EN),晶体管Me开启(turnon),且节点c的电压Vc即为R×Iout。因此,电压式模拟数字转换器550即将节点c的电压Vc转换为数字的神经元数值Do_1。当然本发明并不限定模拟数字转换器的实际架构,除了图5C的模拟数字转换器530之外,在此领域的技术人员也可以利用其他模拟数字转换器来实现本发明。
请参照图5D,其所绘示为模拟数字转换器的另一实施例。模拟数字转换器540可将模拟电流转换成数字数值。模拟数字转换器540包括一电流镜555、一电阻R与一电压式模拟数字转换器(voltage analog to digital converter,ADC_v)550。
电流镜555的电流接收端连接至节点d用以接收输出电流Iout。电流镜555的控制端接收致能信号EN。电流镜555的电流镜射端连接至节点c。电流镜555根据致能信号EN,在电流镜555的电流镜射端产生输出电流Iout。电阻R的第一端连接至节点c,第二端连接至接地端Gnd。另外,电压式模拟数字转换器550的输入端连接至节点c,电压式模拟数字转换器550的输出端产生数字的神经元数值Do_1。
另外,电流镜555包括晶体管Me1~Me4。晶体管Me1的第一漏/源极端接收供应电压Vs,晶体管Me1的第二/源极端连接至晶体管Me2的第一漏/源极端,晶体管Me1的栅极端连接至节点d。晶体管Me2的第二漏/源极端连接至节点d,晶体管Me2的栅极端接收致能信号EN。晶体管Me3的第一漏/源极端接收供应电压Vs,晶体管Me3的第二/源极端连接至晶体管Me4的第一漏/源极端,晶体管Me3的栅极端连接至节点d。晶体管Me4的第二漏/源极端连接至节点c,晶体管Me4的栅极端接收致能信号EN。
当致能信号EN动作时(例如低电平的致能信号EN),电流镜555被致能,使得节点c的电压Vc为R×Iout。因此,电压式模拟数字转换器550即将节点c的电压Vc转换为数字的神经元数值Do_1。
参照图6,其所绘示为处理器的另一实施例。此处理器431'是改变图5A中处理器431内晶体管的形态后所组成,亦即将p型晶体管改为n型晶体管,将n型晶体管改为p型晶体管。
如图6所示,处理器431'包括一电压钳位电路610、电流电压转换器620、模拟计算电路630以及模拟数字转换器640。其中,电压钳位电路610中包括一运算放大器612,且模拟计算电路630中包括L个放大电路6300~630L-1。再者,模拟数字转换器640可将模拟电流转换成数字数值。
基本上,处理器431'的连接关系与运作原理皆类似于图5A中处理器431,所以此处不再赘述其运作原理。
由以上的说明可知,本发明提出一种运用于类神经网络系统的乘积累加电路及其相关控制电路。在本发明的控制电路中,利用前一层神经元数值Din_1~Din_n的二进制码来依序控制记忆胞阵列420中的乘积累加电路421~42j。再者,处理电路430接收乘积累加电路421~42j所产生的多个位线电流,经过模拟计算电路运算之后,产生下一层的神经元数值Do_1~Do_j。
综上所述,虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中普通技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视所附的权利要求书所界定者为准。
Claims (18)
1.一种运用于类神经网络系统的控制电路,包括:
第一乘积累加电路,包括n个忆阻性记忆胞,所述n个忆阻性记忆胞的第一端接收供应电压,所述n个忆阻性记忆胞的第二端连接至第一位线,所述n个忆阻性记忆胞的控制端连接至对应的n条字线;
第一神经元数值储存电路,连接至所述n条字线,所述第一神经元数值储存电路包括n个寄存器对应地储存第一层的n个神经元数值;以及
第一处理器,连接至所述第一位线;
其中,于所述类神经网络系统的应用程序时,所述第一神经元数值储存电路根据所述n个神经元数值的二进制码来控制所述n条字线,使得所述第一乘积累加电路产生多个第一位线电流经由所述第一位线至所述第一处理器,且所述第一处理器利用模拟计算的方式,将所述多个第一位线电流转换为输出电流后,再将所述输出电流转换为第二层的第一神经元数值。
2.根据权利要求1所述的控制电路,其中所述n个忆阻性记忆胞中的第一忆阻性记忆胞包括:开关晶体管与忆阻器,所述开关晶体管的栅极端作为所述第一忆阻性记忆胞的所述控制端,所述开关晶体管的第一漏/源极端作为所述第一忆阻性记忆胞的所述第一端,所述开关晶体管的第二漏/源极端连接至所述忆阻器的第一端,且所述忆阻器的第二端作为所述第一忆阻性记忆胞的所述第二端。
3.根据权利要求2所述的控制电路,其中所述忆阻器为浮动栅晶体管,所述浮动栅晶体管的第一漏/源极端连接至所述开关晶体管的所述第二漏/源极端,且所述浮动栅晶体管的第二漏/源极端作为所述第一忆阻性记忆胞的所述第二端。
4.根据权利要求2所述的控制电路,其中于所述类神经网络系统的训练程序时,调整所述忆阻器的电阻值。
5.根据权利要求4所述的控制电路,其中调整所述电阻值用以调整神经元连接权重。
6.根据权利要求2所述的控制电路,还包括:
第二乘积累加电路,包括n个忆阻性记忆胞,所述n个忆阻性记忆胞的第一端接收所述供应电压,所述n个忆阻性记忆胞的第二端连接至第二位线,所述n个忆阻性记忆胞的控制端连接至对应的n条字线;
处理电路,包括所述第一处理器与一第二处理器,且所述第二处理器连接至所述第二位线,其中于所述类神经网络系统的所述应用程序时,所述第一神经元数值储存电路根据所述n个神经元数值的二进制码来控制所述n条字线,使得所述第二乘积累加电路产生多个第二位线电流经由所述第二位线至所述第二处理器,且所述第二处理器根据所述多个第二位线电流产生所述第二层的第二神经元数值;以及
第二神经元数值储存电路,包括第一寄存器连接至所述第一处理器用以储存所述第二层的所述第一神经元数值,以及第二寄存器连接至所述第二处理器用以储存所述第二层的所述第二神经元数值。
7.根据权利要求1所述的控制电路,其中所述第一层的所述n个神经元数值的二进制码有L位,所述第一神经元数值储存电路依序提供L次所述n个神经元数值中的一个位用以控制所述第一乘积累加电路的所述n条字线,使得所述第一乘积累加电路产生L次所述第一位线电流。
8.根据权利要求7所述的控制电路,其中所述第一处理器包括:
电流电压转换器,所述电流电压转换器的输入端接收所述第一位线上产生的L次所述第一位线电流,并由所述电流电压转换器的输出端产生L笔转换电压;
模拟计算电路,包括L个放大电路接收对应的L笔转换电压,并产生L笔放大电流加总后成为输出电流,且所述模拟计算电路的输出端输出所述输出电流;以及
模拟数字转换器,连接至所述模拟计算电路,其中于致能号动作时,接收所述输出电流,并将所述输出电流转换为所述第二层的所述第一神经元数值。
9.根据权利要求8所述的控制电路,其中L个所述放大电路将接收的转换电压乘上对应的幂次方以及第一常数后成为L笔所述放大电流。
10.根据权利要求8所述的控制电路,其中所述第一处理器还包括电压钳位电路,连接至所述第一位线,用以将所述第一位线固定在偏压电压,且所述多个第一位线电流经由所述电压钳位电路传递至所述电流电压转换器。
11.根据权利要求10所述的控制电路,其中所述电压钳位电路包括:
控制晶体管,所述控制晶体管的第一漏/源极端连接至所述第一位线,所述控制晶体管的第二漏/源极端连接至所述电流电压转换器的所述输入端,用以提供所述多个第一位线电流;以及
运算放大器,所述运算放大器的正输入端接收所述偏压电压,所述运算放大器的负输入端连接至控制晶体管的所述第一漏/源极端,所述运算放大器的输出端连接至所述控制晶体管的栅极端。
12.根据权利要求8所述的控制电路,其中所述模拟计算电路中的每一所述放大电路包括:开关、电容器与放大晶体管,其中所述开关的第一端连接至所述电流电压转换器的所述输出端,所述开关的第二端连接至所述电容器的第一端与所述放大晶体管的栅极端,所述开关的控制端接收开关信号,所述放大晶体管的第一漏/源极端连接至所述模拟计算电路的所述输出端,所述放大晶体管的第二漏/源极端连接至所述电容器的第二端。
13.根据权利要求12所述的控制电路,其中所述放大电路中的所述放大晶体管,其长宽比有特定的幂次方关系。
14.根据权利要求12所述的控制电路,其中所述开关信号控制所述放大电路中的所述开关,使得所述开关其中之一为闭合状态,其他为开路状态。
15.根据权利要求8所述的控制电路,其中所述电流电压转换器包括:第一晶体管,所述第一晶体管的第一漏/源极端接收所述多个第一位线电流,所述第一晶体管的栅极端连接至所述第一晶体管的所述第一漏/源极端,所述第一晶体管的第二漏/源极端产生所述转换电压。
16.根据权利要求8所述的控制电路,其中所述模拟数字转换器包括:
第二晶体管,所述第二晶体管的第一漏/源极端接收供应电压,所述第二晶体管的栅极端接收所述致能信号;
电阻,所述电阻的第一端连接至所述第二晶体管的第二漏/源极端,所述电阻的第二端接收所述输出电流;以及
电压式模拟数字转换器,所述电压式模拟数字转换器的输入端连接至所述电阻的所述第一端,所述电压式模拟数字转换器的输出端产生所述第二层的所述第一神经元数值。
17.根据权利要求8所述的控制电路,其中所述模拟数字转换器包括:
电流镜,所述电流镜的电流接收端接收所述输出电流,所述电流镜的控制端接收所述致能信号;
电阻,所述电阻的第一端连接至所述电流镜的电流镜射端,所述电阻的第二端连接至接地端;以及
电压式模拟数字转换器,所述电压式模拟数字转换器的输入端连接至所述电阻的所述第一端,所述电压式模拟数字转换器的输出端产生所述第二层的所述第一神经元数值。
18.根据权利要求17所述的控制电路,其中所述电流镜包括:第二晶体管、第三晶体管、第四晶体管与第五晶体管,所述第二晶体管的第一漏/源极端接收供应电压,所述第二晶体管的第二漏/源极端连接至所述第三晶体管的第一漏/源极端,所述第二晶体管的栅极端连接至所述第三晶体管的第二漏/源极端,所述第三晶体管的所述第二漏/源极端接收所述输出电流,所述第三晶体管的栅极端接收所述致能信号,所述第四晶体管的第一漏/源极端接收所述供应电压,所述第四晶体管的第二漏/源极端连接至所述第五晶体管的第一漏/源极端,所述第四晶体管的栅极端连接至所述第二晶体管的所述栅极端,所述第五晶体管的所述第二漏/源极端连接至所述电阻的所述第一端,所述第五晶体管的栅极端接收所述致能信号。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962851582P | 2019-05-22 | 2019-05-22 | |
US62/851,582 | 2019-05-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111985630A true CN111985630A (zh) | 2020-11-24 |
Family
ID=70738307
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010411115.5A Pending CN111985630A (zh) | 2019-05-22 | 2020-05-15 | 运用于类神经网络系统的乘积累加电路的控制电路 |
CN202010411120.6A Active CN111985607B (zh) | 2019-05-22 | 2020-05-15 | 运用于类神经网络系统的乘积累加电路的相关控制电路 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010411120.6A Active CN111985607B (zh) | 2019-05-22 | 2020-05-15 | 运用于类神经网络系统的乘积累加电路的相关控制电路 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11521050B2 (zh) |
EP (1) | EP3742351A1 (zh) |
CN (2) | CN111985630A (zh) |
TW (2) | TWI744899B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111985607A (zh) * | 2019-05-22 | 2020-11-24 | 力旺电子股份有限公司 | 运用于类神经网络系统的乘积累加电路的相关控制电路 |
CN113655993A (zh) * | 2021-03-17 | 2021-11-16 | 神盾股份有限公司 | 乘积和运算装置 |
CN113741795A (zh) * | 2020-05-29 | 2021-12-03 | 旺宏电子股份有限公司 | 存储器装置及其操作方法 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI705391B (zh) * | 2018-05-29 | 2020-09-21 | 英屬開曼群島商意騰科技股份有限公司 | 適用於人工神經元的記憶體內運算記憶體裝置及記憶體內運算記憶體區塊 |
US20210166110A1 (en) * | 2019-12-03 | 2021-06-03 | Anaflash Inc. | Serialized neural network computing unit |
US11404106B2 (en) * | 2020-07-27 | 2022-08-02 | Robert Bosch Gmbh | Read only memory architecture for analog matrix operations |
US11195090B1 (en) * | 2020-08-06 | 2021-12-07 | National Tsing Hua University | Memory unit with adaptive clamping voltage scheme and calibration scheme for multi-level neural network based computing-in-memory applications and computing method thereof |
US11393523B1 (en) * | 2021-01-13 | 2022-07-19 | National Tsing Hua University | Memory unit with asymmetric group-modulated input scheme and current-to-voltage signal stacking scheme for non-volatile computing-in-memory applications and computing method thereof |
US11482282B2 (en) | 2021-03-04 | 2022-10-25 | Macronix International Co., Ltd. | Memory device and operation method thereof |
TWI751048B (zh) * | 2021-03-04 | 2021-12-21 | 旺宏電子股份有限公司 | 記憶體裝置及其操作方法 |
TWI795967B (zh) * | 2021-06-29 | 2023-03-11 | 財團法人工業技術研究院 | 記憶體內的可配置運算單元 |
TWI794910B (zh) * | 2021-07-29 | 2023-03-01 | 旺宏電子股份有限公司 | 記憶體及用於基於記憶體的類神經網路的訓練方法 |
CN114816335B (zh) * | 2022-06-28 | 2022-11-25 | 之江实验室 | 一种忆阻器阵列符号数乘法实现方法、装置及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0385436A2 (en) * | 1989-02-28 | 1990-09-05 | Fujitsu Limited | An error absorbing system in a neuron computer |
US20120016829A1 (en) * | 2009-06-22 | 2012-01-19 | Hewlett-Packard Development Company, L.P. | Memristive Adaptive Resonance Networks |
WO2017010049A1 (en) * | 2015-07-13 | 2017-01-19 | Denso Corporation | Memristive neuromorphic circuit and method for training the memristive neuromorphic circuit |
CN106815636A (zh) * | 2016-12-30 | 2017-06-09 | 华中科技大学 | 一种基于忆阻器的神经元电路 |
US9779355B1 (en) * | 2016-09-15 | 2017-10-03 | International Business Machines Corporation | Back propagation gates and storage capacitor for neural networks |
CN108536422A (zh) * | 2017-03-03 | 2018-09-14 | 慧与发展有限责任合伙企业 | 模拟乘法器-累加器 |
CN108921290A (zh) * | 2018-06-29 | 2018-11-30 | 清华大学 | 神经突触单元电路、神经网络电路和信息处理系统 |
CN109460818A (zh) * | 2018-09-25 | 2019-03-12 | 电子科技大学 | 一种基于忆阻桥和阵列的多层神经网络设计方法 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120011092A1 (en) * | 2010-07-07 | 2012-01-12 | Qualcomm Incorporated | Methods and systems for memristor-based neuron circuits |
KR101888468B1 (ko) * | 2011-06-08 | 2018-08-16 | 삼성전자주식회사 | Stdp 기능 셀을 위한 시냅스, stdp 기능 셀 및 stdp 기능 셀을 이용한 뉴로모픽 회로 |
US9754203B2 (en) * | 2013-03-24 | 2017-09-05 | Technion Research And Development Foundation Ltd. | Analog multiplier using a memristive device and method for implemening Hebbian learning rules using memrisor arrays |
FR3007867B1 (fr) * | 2013-06-26 | 2018-02-09 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Neurone artificiel comprenant une memoire resistive |
WO2016175770A1 (en) * | 2015-04-28 | 2016-11-03 | Hewlett Packard Enterprise Development Lp | Memristor apparatus with variable transmission delay |
US9934463B2 (en) * | 2015-05-15 | 2018-04-03 | Arizona Board Of Regents On Behalf Of Arizona State University | Neuromorphic computational system(s) using resistive synaptic devices |
US9563505B2 (en) * | 2015-05-26 | 2017-02-07 | Winbond Electronics Corp. | Methods and systems for nonvolatile memory data management |
US10297318B2 (en) * | 2015-06-17 | 2019-05-21 | King Abdullah University Of Science And Technology | Compensated readout of a memristor array, a memristor array readout circuit, and method of fabrication thereof |
US10650308B2 (en) * | 2015-09-23 | 2020-05-12 | Politecnico Di Milano | Electronic neuromorphic system, synaptic circuit with resistive switching memory and method of performing spike-timing dependent plasticity |
CN107615389B (zh) * | 2016-02-25 | 2021-04-13 | 慧与发展有限责任合伙企业 | 忆阻乘法器件、用于复数乘法累加运算的方法及忆阻阵列 |
GB2552014B (en) * | 2016-07-07 | 2020-05-13 | Advanced Risc Mach Ltd | Reconfigurable artificial neural networks comprising programmable non-volatile memory elements |
US10180820B2 (en) * | 2016-09-30 | 2019-01-15 | HEWLETT PACKARD ENTERPRlSE DEVELOPMENT LP | Multiply-accumulate circuits |
US10949736B2 (en) * | 2016-11-03 | 2021-03-16 | Intel Corporation | Flexible neural network accelerator and methods therefor |
KR20180070187A (ko) * | 2016-12-16 | 2018-06-26 | 에스케이하이닉스 주식회사 | 신경망 장치의 정규화 장치 및 방법 |
US10387298B2 (en) * | 2017-04-04 | 2019-08-20 | Hailo Technologies Ltd | Artificial neural network incorporating emphasis and focus techniques |
US10699778B2 (en) * | 2017-04-28 | 2020-06-30 | Arizona Board Of Regents On Behalf Of Arizona State University | Static random access memory (SRAM) cell and related SRAM array for deep neural network and machine learning applications |
US10802899B2 (en) | 2017-07-03 | 2020-10-13 | Transocean Sedco Forex Ventures Limited | Drilling tubular identification |
US10127494B1 (en) * | 2017-08-02 | 2018-11-13 | Google Llc | Neural network crossbar stack |
CN109472344A (zh) * | 2017-09-08 | 2019-03-15 | 光宝科技股份有限公司 | 类神经网络系统的设计方法 |
WO2019100036A1 (en) | 2017-11-20 | 2019-05-23 | The Regents Of The University Of California | Memristive neural network computing engine using cmos-compatible charge-trap-transistor (ctt) |
US11620500B2 (en) * | 2018-01-11 | 2023-04-04 | Winbond Electronics Corp. | Synapse system and synapse method to realize STDP operation |
CN109460817B (zh) * | 2018-09-11 | 2021-08-03 | 华中科技大学 | 一种基于非易失存储器的卷积神经网络片上学习系统 |
CN111985630A (zh) * | 2019-05-22 | 2020-11-24 | 力旺电子股份有限公司 | 运用于类神经网络系统的乘积累加电路的控制电路 |
-
2020
- 2020-05-15 CN CN202010411115.5A patent/CN111985630A/zh active Pending
- 2020-05-15 CN CN202010411120.6A patent/CN111985607B/zh active Active
- 2020-05-15 EP EP20174853.0A patent/EP3742351A1/en active Pending
- 2020-05-15 TW TW109116121A patent/TWI744899B/zh active
- 2020-05-15 US US16/874,875 patent/US11521050B2/en active Active
- 2020-05-15 TW TW109116120A patent/TWI760746B/zh active
- 2020-05-15 US US16/874,842 patent/US11436478B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0385436A2 (en) * | 1989-02-28 | 1990-09-05 | Fujitsu Limited | An error absorbing system in a neuron computer |
US20120016829A1 (en) * | 2009-06-22 | 2012-01-19 | Hewlett-Packard Development Company, L.P. | Memristive Adaptive Resonance Networks |
WO2017010049A1 (en) * | 2015-07-13 | 2017-01-19 | Denso Corporation | Memristive neuromorphic circuit and method for training the memristive neuromorphic circuit |
US9779355B1 (en) * | 2016-09-15 | 2017-10-03 | International Business Machines Corporation | Back propagation gates and storage capacitor for neural networks |
CN106815636A (zh) * | 2016-12-30 | 2017-06-09 | 华中科技大学 | 一种基于忆阻器的神经元电路 |
CN108536422A (zh) * | 2017-03-03 | 2018-09-14 | 慧与发展有限责任合伙企业 | 模拟乘法器-累加器 |
CN108921290A (zh) * | 2018-06-29 | 2018-11-30 | 清华大学 | 神经突触单元电路、神经网络电路和信息处理系统 |
CN109460818A (zh) * | 2018-09-25 | 2019-03-12 | 电子科技大学 | 一种基于忆阻桥和阵列的多层神经网络设计方法 |
Non-Patent Citations (6)
Title |
---|
ALI SHAFIEE 等: "ISAAC: A Convolutional Neural Network Accelerator with In-Situ Analog Arithmetic in Crossbars", 《2016 ACM/IEEE 43RD ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA)》, 25 August 2016 (2016-08-25), pages 1 - 13 * |
BASU 等: "Low‑power, adaptive neuromorphic systems : recent progress and future directions", 《 IEEE JOURNAL ON EMERGING AND SELECTED TOPICS IN CIRCUITS AND SYSTEMS》, 15 March 2018 (2018-03-15), pages 1 - 23 * |
ELISABETTA CHICCA 等: "Neuromorphic Electronic Circuits for Building Autonomous Cognitive Systems", 《PROCEEDINGS OF THE IEEE》, pages 1 - 22 * |
GERARDO MARCOS TORNEZ XAVIER 等: "Memristive recurrent neural network", 《NEUROCOMPUTING》, pages 281 * |
代祥光: "忆阻神经网络的应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》, pages 140 - 93 * |
徐桂芝 等: "基于忆阻器的脉冲神经网络研究综述", 《生物医学工程学杂志》, pages 475 - 480 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111985607A (zh) * | 2019-05-22 | 2020-11-24 | 力旺电子股份有限公司 | 运用于类神经网络系统的乘积累加电路的相关控制电路 |
CN111985607B (zh) * | 2019-05-22 | 2024-03-26 | 力旺电子股份有限公司 | 运用于类神经网络系统的乘积累加电路的相关控制电路 |
CN113741795A (zh) * | 2020-05-29 | 2021-12-03 | 旺宏电子股份有限公司 | 存储器装置及其操作方法 |
CN113741795B (zh) * | 2020-05-29 | 2024-04-23 | 旺宏电子股份有限公司 | 存储器装置及其操作方法 |
CN113655993A (zh) * | 2021-03-17 | 2021-11-16 | 神盾股份有限公司 | 乘积和运算装置 |
TWI776645B (zh) * | 2021-03-17 | 2022-09-01 | 神盾股份有限公司 | 乘積和運算裝置 |
Also Published As
Publication number | Publication date |
---|---|
TWI744899B (zh) | 2021-11-01 |
CN111985607A (zh) | 2020-11-24 |
TWI760746B (zh) | 2022-04-11 |
TW202044126A (zh) | 2020-12-01 |
US11436478B2 (en) | 2022-09-06 |
US11521050B2 (en) | 2022-12-06 |
US20200372331A1 (en) | 2020-11-26 |
TW202044122A (zh) | 2020-12-01 |
US20200372330A1 (en) | 2020-11-26 |
EP3742351A1 (en) | 2020-11-25 |
CN111985607B (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111985630A (zh) | 运用于类神经网络系统的乘积累加电路的控制电路 | |
US11663457B2 (en) | Neural network circuits having non-volatile synapse arrays | |
CN111095417B (zh) | 使用非易失性半导体存储元件的神经网络运算电路 | |
US10825510B2 (en) | Multi-bit dot product engine | |
US11615299B2 (en) | Neural network computation circuit including non-volatile semiconductor memory element | |
US20210248452A1 (en) | Multiply accumulate circuit for binary neural network system | |
US20230113231A1 (en) | Methods and systems of operating a neural circuit in a non-volatile memory based neural-array | |
CN111722830A (zh) | 快闪存储器的非易失性计算方法 | |
US20200411091A1 (en) | Analog-to-digital converter and neuromorphic computing device including the same | |
US20210081175A1 (en) | Multiply-Accumulate Unit | |
CN114400031B (zh) | 一种补码映射的rram存算一体芯片及电子设备 | |
WO2021038182A2 (en) | Refactoring mac computations for reduced programming steps | |
US20240036825A1 (en) | Scalar product circuit, and method for computing binary scalar products of an input vector and weight vectors | |
Ye et al. | A 28-nm RRAM computing-in-memory macro using weighted hybrid 2T1R cell array and reference subtracting sense amplifier for AI edge inference | |
CN115796252A (zh) | 权重写入方法及装置、电子设备和存储介质 | |
US6160729A (en) | Associative memory and method for the operation thereof | |
CN117157636A (zh) | 存算一体装置、系统及其操作方法 | |
CN113160860B (zh) | 计算系统、计算器件和计算方法 | |
CN116451751A (zh) | 单个非易失性器件存储正负权重的突触结构、神经网络电路、存算一体芯片和电子设备 | |
CN115796250A (zh) | 权重部署方法及装置、电子设备和存储介质 | |
CN117808062A (zh) | 计算装置、电子装置以及用于计算装置的操作方法 | |
CN117408319A (zh) | 神经网络分类器 | |
CN111105022A (zh) | 模拟计算的方法 |
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 |