JP2025514007A - Neural network circuits and devices - Google Patents
Neural network circuits and devices Download PDFInfo
- Publication number
- JP2025514007A JP2025514007A JP2024555883A JP2024555883A JP2025514007A JP 2025514007 A JP2025514007 A JP 2025514007A JP 2024555883 A JP2024555883 A JP 2024555883A JP 2024555883 A JP2024555883 A JP 2024555883A JP 2025514007 A JP2025514007 A JP 2025514007A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- output
- circuit
- neural network
- column
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
- G06F2207/4814—Non-logic devices, e.g. operational amplifiers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Neurology (AREA)
- Semiconductor Memories (AREA)
Abstract
【課題】 本発明は、ニューラルネットワーク回路及び装置に関する。
【解決手段】 一実施形態に係るニューラルネットワーク回路は、出力ラインに沿って配置されて第1抵抗値及び第2抵抗値のうちの1つを有する抵抗性メモリ素子を含み、入力ラインを介して入力信号を受信する場合に応答して、前記抵抗性メモリ素子及び前記入力信号に基づいてカラム信号を生成するシナプスメモリセルと、基準ライン(reference line)に沿って配置され、アプリケーションにより予め決定された比率で前記第1抵抗値又は前記第2抵抗値を有する基準メモリ素子を含み、前記基準メモリ素子及び前記入力信号に基づいて基準信号を生成する基準メモリセルと、前記カラム信号及び前記基準信号から前記出力ラインに対する出力信号を生成する出力回路を含む。
【選択図】 図1
The present invention relates to a neural network circuit and device.
[Solution] In one embodiment, a neural network circuit includes a synapse memory cell arranged along an output line and including a resistive memory element having one of a first resistance value and a second resistance value, and in response to receiving an input signal via an input line, generates a column signal based on the resistive memory element and the input signal, a reference memory cell arranged along a reference line and including a reference memory element having the first resistance value or the second resistance value in a ratio predetermined by an application, and generates a reference signal based on the reference memory element and the input signal, and an output circuit that generates an output signal for the output line from the column signal and the reference signal.
[Selected Figure] Figure 1
Description
以下の開示は、ニューラルネットワーク回路及び装置に関する。 The following disclosure relates to neural network circuits and devices.
現在、フォン・ノイマン(von Neumann)コンピュータアーキテクチャでプロセッサとメモリとの間の膨大なデータの頻繁な移動は、長いディレイと大きい電力消耗を引き起こしてチップの性能を制限する。機械学習の応用において、例えば、ニューラルネットワークの層間でデータが移動することは、計算負荷の主要な側面である。フォン・ノイマンアーキテクチャにおいて、機械学習を実現するとき算出コストを考慮すれば、現在のソフトウェア基盤の深層ニューラルネットワーク演算では人工知能(AI)の加速器ハードウェアを使用できる。現在におけるソフトウェア基盤の深層ニューラルネットワーク演算は、高性能CPU、GPU、ASICなどのAI加速器ハードウェアが用いられている。 Currently, in von Neumann computer architectures, the frequent movement of huge amounts of data between the processor and memory causes long delays and high power consumption, limiting the performance of the chip. In machine learning applications, for example, the movement of data between layers of a neural network is a major aspect of the computational load. Considering the computational cost when implementing machine learning in von Neumann architectures, current software-based deep neural network operations can use artificial intelligence (AI) accelerator hardware. Currently, software-based deep neural network operations use AI accelerator hardware such as high-performance CPUs, GPUs, and ASICs.
ニューロモーフィックアーキテクチャは、データが格納されているメモリ素子の位置で直ちに演算を行い、ニューロン回路間の接続強度(例えば、シナプス加重値)をメモリ素子に格納して更新することができる。ニューロモーフィックの演算方式は、人工知能、ビックデータ、センサネットワーク、パターン/モノ認識などに適用され得る。ニューロモーフィックアーキテクチャは、アナログメモリを用いてハードウェアとして実現されることができる。 Neuromorphic architectures can perform calculations immediately at the location of the memory element where data is stored, and store and update the connection strengths between neuronal circuits (e.g., synaptic weights) in the memory element. Neuromorphic calculation methods can be applied to artificial intelligence, big data, sensor networks, pattern/object recognition, etc. Neuromorphic architectures can be realized as hardware using analog memory.
一実施形態に係るニューラルネットワーク回路は、出力ラインに沿って配置され、第1抵抗値及び第2抵抗値のうちの1つを有する抵抗性メモリ素子を含み、入力ラインを介して入力信号を受信する場合に応答して前記抵抗性メモリ素子及び前記入力信号に基づいてカラム信号を生成するシナプスメモリセルと、基準ライン(reference line)に沿って配置され、アプリケーションにより予め決定された比率で前記第1抵抗値又は前記第2抵抗値を有する基準メモリ素子を含み、前記基準メモリ素子及び前記入力信号に基づいて基準信号を生成する基準メモリセルと、前記カラム信号及び前記基準信号から前記出力ラインに対する出力信号を生成する出力回路とを含む。 The neural network circuit of one embodiment includes a synapse memory cell arranged along an output line, including a resistive memory element having one of a first resistance value and a second resistance value, and generating a column signal based on the resistive memory element and the input signal in response to receiving an input signal via an input line; a reference memory cell arranged along a reference line, including a reference memory element having the first resistance value or the second resistance value in a ratio predetermined by an application, and generating a reference signal based on the reference memory element and the input signal; and an output circuit that generates an output signal for the output line from the column signal and the reference signal.
前記シナプスメモリセルは、前記シナプスメモリセルに割り当てられるシナプス加重値を表現するためのビット個数(bit number)の抵抗性メモリ素子を含み、前記ビット個数の抵抗性メモリ素子は、同じ入力ラインに沿って配置されることができる。 The synapse memory cell includes a resistive memory element having a bit number for expressing a synapse weight value assigned to the synapse memory cell, and the resistive memory elements having the bit number can be arranged along the same input line.
前記基準メモリセルは、前記シナプス加重値を表現するためのビット個数の基準メモリ素子を含み、前記ビット個数の基準メモリ素子は、同じ入力ラインに沿って配置されることができる。 The reference memory cell includes reference memory elements having a number of bits for representing the synapse weight value, and the reference memory elements having the number of bits can be arranged along the same input line.
前記基準メモリセルは、符号ビットを表現するための基準メモリ素子を含むことができる。 The reference memory cell may include a reference memory element for representing a code bit.
前記出力回路は、前記第1抵抗値の抵抗性メモリ素子に基づいた第1電流と前記第2抵抗値の抵抗性メモリ素子に基づいた第2電流との間の差である正味電流(net current)の正の整数倍に対応する電流を前記出力信号として生成することができる。 The output circuit can generate, as the output signal, a current corresponding to a positive integer multiple of a net current that is the difference between a first current based on the resistive memory element having the first resistance value and a second current based on the resistive memory element having the second resistance value.
前記出力回路は、前記第1抵抗値の抵抗性メモリ素子に基づいた第1電流と前記第2抵抗値の抵抗性メモリ素子に基づいた第2電流との間の差である正味電流(net current)の負の整数倍に対応する電流を前記出力信号として生成することができる。 The output circuit can generate, as the output signal, a current corresponding to a negative integer multiple of a net current that is the difference between a first current based on a resistive memory element having the first resistance value and a second current based on a resistive memory element having the second resistance value.
前記出力回路は、前記出力信号を閾値と比較した結果に基づいて、他のニューロン回路への発火を行う漏れ積分発火(Leaky Integration and Fire)回路をさらに含むことができる。 The output circuit may further include a leaky integration and fire circuit that fires other neuron circuits based on the result of comparing the output signal with a threshold.
前記LIF回路は、正味電流の正の整数倍に対応する前記出力信号に対応して、出力電圧を増加させることができる。 The LIF circuit can increase the output voltage in response to the output signal corresponding to a positive integer multiple of the net current.
前記LIF回路は、正味電流の負の整数倍に対応する前記出力信号に対応して、出力電圧を低減させることができる。 The LIF circuit can reduce the output voltage in response to the output signal corresponding to a negative integer multiple of the net current.
前記LIF回路は、前記出力信号に基づいて累積する電圧が臨界時間内に閾値電圧に達しない場合に応答して前記出力信号を漏らすことができる。 The LIF circuit can leak the output signal in response to a voltage accumulating based on the output signal not reaching a threshold voltage within a critical time.
前記LIF回路は、前記出力信号に基づいて累積される電圧が前記閾値に対応する臨界時間内に閾値電圧に達する場合に応答して、前記他のニューロン回路への発火を行うことができる。 The LIF circuit can fire the other neuron circuit in response to a voltage accumulated based on the output signal reaching a threshold voltage within a critical time corresponding to the threshold.
一実施形態に係るニューラルネットワーク回路は、複数のメモリ素子を含み、前記複数のメモリ素子のうち設定された前記閾値に基づいて指定された少なくとも1つのメモリ素子が前記第1抵抗値を有する、閾値メモリアレイ(threshold memory array)をさらに含むことができる。 The neural network circuit according to one embodiment may further include a threshold memory array including a plurality of memory elements, in which at least one memory element selected from the plurality of memory elements based on the set threshold has the first resistance value.
一実施形態に係るニューラルネットワーク回路は、前記閾値生成回路と基準ワードラインを共有し、前記基準ワードラインに沿って配置され、前記第2抵抗値を有する追加基準メモリ素子を有する追加基準メモリセルを更に含むことができる。 In one embodiment, the neural network circuit may further include an additional reference memory cell that shares a reference word line with the threshold generation circuit, is disposed along the reference word line, and has an additional reference memory element having the second resistance value.
前記出力回路は、前記閾値メモリセルに基づいて生成された信号及び前記追加基準メモリセルに基づいて生成された信号に基づいて、前記閾値に対応する臨界時間を設定することができる。 The output circuit can set a critical time corresponding to the threshold based on a signal generated based on the threshold memory cell and a signal generated based on the additional reference memory cell.
前記出力回路は、前記閾値メモリセルに基づいて生成された信号と前記追加基準メモリセルに基づいて生成された信号との間の差に対応する電流の累積を開始し、前記累積された電流に対応する電圧が閾値電圧を超過する場合、前記閾値に対応する閾値時間を指示する信号を出力することができる。 The output circuit can begin accumulating a current corresponding to the difference between the signal generated based on the threshold memory cell and the signal generated based on the additional reference memory cell, and output a signal indicating a threshold time corresponding to the threshold when a voltage corresponding to the accumulated current exceeds a threshold voltage.
前記出力回路は、前記閾値メモリセル及び前記追加基準メモリセルに基づいて決定された前記閾値に対応する臨界時間を、前記出力ラインに対する前記出力信号及び他の出力ラインに対する他の出力信号に対して適用することができる。 The output circuit can apply a critical time corresponding to the threshold determined based on the threshold memory cell and the additional reference memory cell to the output signal for the output line and other output signals for other output lines.
同じ出力ラインに接続されているシナプスメモリセルの抵抗性メモリ素子は互いに並列に接続されることができる。 The resistive memory elements of synapse memory cells connected to the same output line can be connected in parallel with each other.
一実施形態に係るニューラルネットワーク回路は、前記出力ラインとは異なる出力ラインに沿って配置される異なるシナプスメモリセルをさらに含み、前記出力回路は、前記出力ライン及び前記異なる出力ラインのそれぞれに対して同じ基準メモリセルを用いて個別的に出力信号を生成することができる。 In one embodiment, the neural network circuit further includes a different synapse memory cell arranged along an output line different from the output line, and the output circuit can generate output signals individually for each of the output line and the different output line using the same reference memory cell.
前記出力回路は、前記シナプスメモリセルのビットごとの前記カラム信号を累積することにより、カラム累積信号(column integrated signal)を生成し、前記基準メモリセルのビットごとの前記基準信号を累積することによって基準累積信号(reference integrated signal)を生成する読出回路を含むことができる。 The output circuit may include a read circuit that generates a column integrated signal by accumulating the column signals of the synapse memory cells for each bit, and generates a reference integrated signal by accumulating the reference signals of the reference memory cells for each bit.
前記読出回路は、前記シナプスメモリセル及び前記基準メモリセルのビットごとに前記カラム信号を当該ビットに対応する倍数の電流でコピーするカレントミラーを含むことができる。 The read circuit may include a current mirror that copies the column signal for each bit of the synapse memory cell and the reference memory cell with a current multiple corresponding to that bit.
前記出力回路は、前記カラム累積信号と前記基準累積信号との間の差に対応する前記出力信号を生成することができる。 The output circuit can generate the output signal corresponding to the difference between the column accumulation signal and the reference accumulation signal.
前記出力回路は、前記基準累積信号に対応する電流をノードに向かって流入(flow in)させ、前記カラム累積信号に対応する電流を前記ノードから流出(flow out)させることで、前記カラム累積信号と前記基準累積信号との間の差に対応する電流が流れるキャパシタを含むことができる。 The output circuit may include a capacitor through which a current corresponding to the difference between the column accumulation signal and the reference accumulation signal flows by causing a current corresponding to the reference accumulation signal to flow in toward a node and a current corresponding to the column accumulation signal to flow out of the node.
前記出力回路は、前記入力ラインに沿って受信される入力信号及びシナプス加重値間の積和(multiply and accumulation;MAC)を、前記出力信号を解釈した結果に基づいて取得し、前記取得された積和に基づいて決定されたノード値を他のニューロン回路に伝達することができる。 The output circuit can obtain a multiply and accumulate (MAC) between the input signal received along the input line and the synaptic weight value based on the result of interpreting the output signal, and transmit a node value determined based on the obtained multiply and accumulate (MAC) to another neuron circuit.
一実施形態に係るニューラルネットワーク回路の動作方法は、出力ラインに沿って配置された1つ以上のメモリセルのうち、入力ラインを介して入力信号が印加されたシナプスメモリセルの抵抗性メモリ素子及び前記入力信号に基づいてカラム信号を生成するステップと、基準ラインに沿って配置された1つ以上のメモリセルのうち、前記入力信号が印加された基準メモリセルの基準抵抗値を有する基準メモリ素子及び前記入力信号に基づいて基準信号を生成するステップと、前記カラム信号及び前記基準信号から前記出力ラインに対する出力信号を生成するステップとを含み、前記基準抵抗値は、アプリケーションにより第1抵抗値及び前記第1抵抗値とは異なる第2抵抗値の予め決定された組み合せに基づいて決定されることができる。 An operating method of a neural network circuit according to one embodiment includes the steps of: generating a column signal based on a resistive memory element of a synapse memory cell to which an input signal is applied via an input line among one or more memory cells arranged along an output line, and the input signal; generating a reference signal based on a reference memory element having a reference resistance value of a reference memory cell to which the input signal is applied among one or more memory cells arranged along a reference line, and the input signal; and generating an output signal for the output line from the column signal and the reference signal, and the reference resistance value can be determined based on a predetermined combination of a first resistance value and a second resistance value different from the first resistance value according to an application.
実施形態に対する特定な構造的又は機能的な説明は単なる例示のための目的として開示されたものであって、様々な形態に変更されることができる。したがって、実施形態は特定な開示形態に限定されるものではなく、本明細書の範囲は技術的な思想に含まれる変更、均等物ないし代替物を含む。 Specific structural or functional descriptions of the embodiments are disclosed for illustrative purposes only and may be modified in various forms. Therefore, the embodiments are not limited to the specific disclosed forms, and the scope of this specification includes modifications, equivalents, or alternatives within the technical concept.
第1又は第2などの用語を複数の構成要素を説明するために使用され得るが、このような用語は1つの構成要素を他の構成要素から区別する目的としてのみ解釈されなければならない。例えば、第1構成要素は第2構成要素と命名することができ、同様に、第2構成要素は第1構成要素にも命名することができる。 Although terms such as first or second may be used to describe multiple components, such terms should be construed only for the purpose of distinguishing one component from the other components. For example, a first component may be named a second component, and similarly, a second component may be named a first component.
いずれかの構成要素が他の構成要素に「接続」されていると言及されたときには、その他の構成要素に直接的に連結されているか又は接続されているが、中間に他の構成要素が存在し得るものと理解されなければならない。 When a component is referred to as being "connected" to another component, it is understood that it is directly connected or connected to the other component, but that there may be other components in between.
単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は、明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、1つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。 Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, terms such as "include" or "have" indicate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, and should be understood as not precluding the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.
異なるように定義さがれない限り、技術的又は科学的な用語を含んで、ここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈されなければならず、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。 Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art to which the present invention belongs. Terms commonly used and predefined should be interpreted to have a meaning consistent with the meaning they have in the context of the relevant art, and should not be interpreted as having an ideal or overly formal meaning unless expressly defined in this specification.
以下、添付する図面を参照しながら実施形態を詳細に説明する。図面を参照して説明する際に、図面符号に拘わらず同じ構成要素は同じ参照符号を付与し、これに対する重複する説明は省略する。 Hereinafter, the embodiments will be described in detail with reference to the accompanying drawings. When describing the embodiments with reference to the drawings, the same components are given the same reference numerals regardless of the drawing numerals, and duplicate descriptions thereof will be omitted.
図1は、一実施形態に係るニューラルネットワーク回路を示す。 Figure 1 shows a neural network circuit according to one embodiment.
一実施形態に係るニューラルネットワーク回路100は、ニューラルネットワークで以前レイヤのニューロン回路及び対象レイヤのニューロン回路を接続するシナプスを模写した回路で実現できる。ニューラルネットワーク回路100を含む電子装置をニューラルネットワーク装置に示してもよい。ニューロン回路は、ニューロンの活性化及び/又はニューラルネットワークの活性化関数(activation function)を実現した回路を含んでもよい。ニューラルネットワークは、それぞれ複数のノードを有する複数のレイヤを含み、以前レイヤは、ニューラルネットワークで対象レイヤの以前に接続されたレイヤを示す。ニューラルネットワークのノードは、ニューラルネットワーク回路100のニューロン回路に対応する。ニューラルネットワーク回路100は、以前レイヤのニューロン回路から出力されたノード値(例えば、入力値)を該当するニューロン回路間の接続強度(例えば、シナプス加重値)に基づいて、対象レイヤのニューロン回路に伝達することができる。対象レイヤの対象ニューロン回路は、対象ニューロン回路に接続されている以前レイヤの以前ニューロン回路から受信されるノード値、及びシナプス加重値に基づいた加重和に活性化関数が適用された結果をノード値として有することができる。本明細書において、ニューロン回路は出力回路150に実現でき、後述するが、スパイキングニューラルネットワーク(spiking neural network)を実現したニューラルネットワーク回路100のニューロン回路は、漏れ積分発火(Leaky Integration and Fire;LIF)回路を含んでもよい。但し、これに限定されることなく、ニューラルネットワークの活性化関数は、他の方式に応じて設計された回路で実現されることもできる。ここで、活性関数又は活性関数の結果からの活性化値は、ライン又は演算子が活性状態であるか不活性状態であるか、例えば、ラインが活性化されか不活性化されたかに応じて区別され得る。しかし、以前レイヤの0ではない活性化値出力が入力線に適用される場合、例えば、入力ラインは活性又は活性化したと見なされ、反対に、0の活性化値又は信号が適用されない場合、当該ラインは、不活性又は不活性化されたと見なす。
The
ニューラルネットワーク回路100は、シナプスメモリアレイ110、基準メモリアレイ120、及び出力回路150を含む。シナプスメモリアレイ110及び基準メモリアレイ120は、メモリアレイに称されてもよい。
The
シナプスメモリアレイ110は、入力ライン及び出力ラインに沿って配置される複数のシナプスメモリセル111を含む。複数のシナプスメモリセル111は、クロスバーアレイ形態に配置されてもよい。入力ラインは入力を受信するラインとして、図1において、K個のワードラインWL0~WLK-1に示されている。Kは1以上の整数であってもよい。各ワードラインからの信号はそれぞれ「0」又は「1」を示し、これは、以前レイヤのK個のノードの出力である。出力ラインは、当該出力ラインに沿って配置されたシナプスメモリセル111の抵抗性メモリ素子により指示されるシナプス加重値、及び各入力信号によって指示される入力値間の演算結果(例えば、積の結果)が合算された値(例えば、積和(multiplication and accumulation;MAC)の結果値、又は加重和(weighted sum))を示す出力信号159を出力してもよい。出力ラインは、図1ではJ個のラインに図示され、Jは1以上の整数であってもよい。従って、シナプスメモリアレイ110は、K×J個のシナプスメモリセル111を含んでもよい。j番目のセル列(jは、1~J)とk番目のセル行(kは1~K)にあるシナプスメモリセル111が与えられた場合、与えられたシナプスメモリセル111に格納されている値は、以前レイヤのj番目のノードと現在/次のレイヤのk番目のノードとの間のシナプス加重値になる。言い換えれば、図1に示されたニューラルネットワーク回路100は、K個の以前ノードとJ個の次のノードを接続するシナプスの接続が具現された回路として解釈されることもできる。シナプス加重値がaビットとして表現される場合、各出力ラインは、a個のビットラインを含んでもよい。ここで、aは1以上の整数であってもよい。いずれか1つの出力ラインから出力される出力信号159は、当該出力ラインに含まれたビットラインで生成されるカラム信号(例えば、ビットカラム信号)が累積した信号と、基準ラインで生成される基準信号が累積した信号との間の差信号である。
The
入力ラインは、プレシナプス回路(pre-synaptic circuit)を介して入力信号を受信することができる。プレシナプス回路は、ニューラルネットワークの以前ノード(例えば、以前ニューロン回路)の出力を受信して現在のノードのシナプスメモリ素子に伝達してもよい。プレシナプス回路は、アクソン回路(axon circuit)のように示してもよい。 The input line may receive an input signal via a pre-synaptic circuit. The pre-synaptic circuit may receive the output of a previous node (e.g., a previous neuron circuit) of the neural network and transmit it to a synaptic memory element of the current node. The pre-synaptic circuit may also be referred to as an axon circuit.
出力ラインは、ポストシナプス回路(post-synaptic circuit)に接続され、当該出力ラインに接続されているシナプスメモリ素子のシナプス加重値と入力信号との間の積和に対応する信号をポストシナプス回路に伝達する。ポストシナプス回路は、シナプス加重値と入力信号との間の積和に対応する出力信号159を、次のノード(例えば、次のシナプス回路)に発火(fire)したり伝達してもよい。ポストシナプス回路はデンドライト回路(dendrites circuit)に示してもよく、例示的には、後述するLIF回路に実現してもよい。
The output line is connected to a post-synaptic circuit and transmits a signal corresponding to the sum of products between the synaptic weights of the synaptic memory elements connected to the output line and the input signal to the post-synaptic circuit. The post-synaptic circuit may fire or transmit an
入力信号は、入力ラインを介して受信される信号を示す。本明細書において、ニューラルネットワーク回路100がいずれか1つの入力ラインからビット値「1」に対応する入力信号を受信した場合、当該入力ラインに入力電圧が印加されてもよい。異なる例として、いずれか1つの入力ラインの入力信号がビット値「0」を示す場合、ニューラルネットワーク回路100は当該入力ラインを不活性化してもよい。言い換えれば、ニューラルネットワーク回路100は、当該入力ラインに電圧を印加していないか、0Vの電圧を印加してもよい。但し、入力信号が示すビット値ごとに印加される入力電圧は、前述したものに限定されない。図1に示された例示において、K個の入力ラインのうち、k個の入力ラインで活性化値(例えば、ビット値「1」に対応する電圧)が印加されてもよい。kは、0以上K以下の整数である。即ち、与えられた入力に対して一部の入力ラインは活性化「1」になり、他のラインは不活性化「0」になる。
The input signal indicates a signal received through an input line. In this specification, when the
シナプスメモリセル111は、出力ラインに沿って配置されて第1抵抗値及び第2抵抗値のうち1つを有する抵抗性メモリ素子を含んでもよい。シナプスメモリセル111は、シナプスメモリセル111に割り当てられるシナプス加重値を表現するためのビット個数(bit number)の抵抗性メモリ素子を含んでもよい。前述したビット個数の抵抗性メモリ素子は、同じ入力ラインに沿って配置されてもよい。
The
シナプスメモリセル111は、入力ラインを介して入力信号を受信する場合に応答して、抵抗性メモリ素子及び入力信号に基づいてカラム信号を生成することができる。第1抵抗値及び第2抵抗値は、それぞれ2進化された値にマッピングされ得る。例えば、第1抵抗値及び第2抵抗値は、それぞれ「0」又は「1」のビット値を指示してもよい。例示的に、低抵抗である第1抵抗値は「0」のビット値、高抵抗である第2抵抗値は「1」のビット値を示す。但し、これに限定されることなく、設計に応じて、第1抵抗値及び第2抵抗値にマッピングされるビット値は変わり得る。
In response to receiving an input signal via an input line, the
シナプス加重値がマルチビットとされたビットシーケンスとして表現される場合、シナプスメモリセル111は、複数のサブセルを含んでもよい。例えば、シナプス加重値は、aビットのビットシーケンスに表現されてもよい。aビットのシナプス加重値に対してシナプスメモリセル111はa個のサブセルを含んでもよい。第1サブセルは、シナプス加重値を示すビットシーケンスのLSB(least significant bit)の桁に対応するビット値の抵抗値を有し、第aサブセルは、MSB(most significant bit)の桁に対応するビット値の抵抗値を有してもよい。a個のサブセルのそれぞれは、シナプス加重値のうち、該当するビット桁のビット値に対応する抵抗値を有する抵抗性メモリ素子を含んでもよい。a個のサブセルのそれぞれに含まれている抵抗性メモリ素子は、該当するビット桁のビット値にマッピングされた抵抗値を有するように設定されてもよい。第1抵抗値及び第2抵抗値の1つを有するように設定されてもよい。下記の図2では、シナプスメモリセル111が3ビットセルに具現された例示について説明する。
When the synapse weight value is expressed as a bit sequence with multiple bits, the
カラム信号は、シナプスメモリアレイ110でいずれか1つのカラムラインに沿って配置されたシナプスメモリセル111から出力される信号が累積した信号である。例えば、カラム信号は、シナプスメモリアレイ110で同じビットラインに接続されているサブセルの抵抗性メモリ素子に対応するビット値と入力信号の入力値との間の積和に対応する信号であってもよい。言い換えれば、いずれか1つのビットラインのカラム信号は、出力ラインで当該ビットラインが示すビット桁の積和に対応する信号であってもよい。後述するが、ニューラルネットワーク回路100は、同じ出力ラインに含まれているビットラインのカラム信号それぞれに当該ビットラインのビット桁に対応する加重値(以下、「ビット加重値」)を乗算して合算した信号を取得することができる。例えば、LSBに対応するビット加重値は1/4、LSBから1番目のビット桁に対応するビット加重値は1/2、LSBから2番目のビット桁に対応するビット加重値は1であってもよい。但し、MSBであるLSBから2番目のビット桁のビット加重値を1として仮定して設計されたものであり、ビット加重値をそれに入力することではなく、設計に応じて変わり得る。説明の便宜上、本明細書であるカラムを主に縦ラインとして示したが、これに限定されることなく、設計に応じてカラムラインの形状は変わり得る。
The column signal is a signal obtained by accumulating signals output from the
上述したように、抵抗性メモリ素子は、第1抵抗値及び第2抵抗値のいずれか1つの抵抗値を有する素子である。例えば、抵抗性メモリ素子は、MRAM(magnetic ram)であってもよい。MRAMは、MTJ(Magnetic Tunnel Junction)の2つの状態中の1状態を有してもよい。P状態(parallel state)のMRAMは第1抵抗値を有し、AP状態(anti-parallel state)のMRAMは第2抵抗値を有してもよい。第2抵抗値は、第1抵抗値よりも大きくてもよい。第2抵抗値は高抵抗値(high resistance value)、第1抵抗値は低抵抗値(low resistance value)のように称する。AP状態は高抵抗状態、P状態は低抵抗状態のように称してもよい。MRAMの第1抵抗値対比第2抵抗値の抵抗比は2であってもよい。但し、抵抗性メモリ素子の抵抗比が前述に限定されず、素子の種類に応じて抵抗比は変わり得る。一実施形態に係るニューラルネットワーク回路100は、抵抗性メモリ素子の第1抵抗値及び第2抵抗値に応じて出力される信号を区別するために、後述する基準メモリアレイ120を用いて正味信号を生成することができる。
As described above, the resistive memory element is an element having one of a first resistance value and a second resistance value. For example, the resistive memory element may be an MRAM (magnetic ram). The MRAM may have one of two states, MTJ (magnetic tunnel junction). The MRAM in the P state (parallel state) may have a first resistance value, and the MRAM in the AP state (anti-parallel state) may have a second resistance value. The second resistance value may be greater than the first resistance value. The second resistance value may be referred to as a high resistance value, and the first resistance value may be referred to as a low resistance value. The AP state may be referred to as a high resistance state, and the P state may be referred to as a low resistance state. The resistance ratio of the first resistance value to the second resistance value of the MRAM may be 2. However, the resistance ratio of the resistive memory element is not limited to the above, and the resistance ratio may vary depending on the type of element. The
参考として、本明細書で説明の便宜のために、P状態及びAP状態の抵抗性メモリ素子を主に説明するが、これに限定されることはない。説明に反しない限り、P状態は第1抵抗値を有する状態、AP状態は第2抵抗値を有する状態に置換して解釈されてもよい。 For reference, for convenience of explanation in this specification, resistive memory elements in the P state and AP state are mainly described, but are not limited thereto. Unless contrary to the explanation, the P state may be interpreted as a state having a first resistance value, and the AP state may be interpreted as a state having a second resistance value.
基準メモリアレイ120は、基準ラインに沿って配置される複数の基準メモリセル121を含む。図1に示された例示として、基準メモリアレイ120に含まれている基準メモリセル121は、基準ラインに沿って配置されてもよい。基準メモリアレイ120は、入力ラインの個数と同じ個数の基準メモリセル121を含んでもよい。
The
基準メモリセル121は、基準ライン(reference line)に沿って配置されてアプリケーションによりプログラマブル(programable)の抵抗値を有する基準メモリ素子を含んでもよい。ここで、「プログラマブル」な抵抗値を有することは、抵抗値を動的に変更できることを意味する。基準メモリセル121は、シナプス加重値を表現するためのビット個数の基準メモリ素子を含んでもよい。前述したビット個数の基準メモリ素子は、同じ入力ラインに沿って配置されてもよい。
The
一実施形態に係る各基準メモリセル121は、前述したシナプスメモリセル111と同様に、ビット個数だけの基準サブセル、言い換えれば、ビット個数だけの抵抗性メモリ素子を含んでもよい。ここで、基準メモリセル121は、第1抵抗値及び第2抵抗値のうち、予め決定された抵抗値として設定された抵抗性メモリ素子を含んでもよい。
Each
他の実施形態に係る各基準メモリセル121は、シナプスメモリセル111のビット個数に関係なく、単一のビット情報(例えば、符号(sign)ビット)を格納する1ビットセルであってもよい。
In other embodiments, each
基準メモリセル121は、基準メモリ素子及び入力信号に基づいて基準信号を生成することができる。基準信号は、基準メモリアレイ120で基準ラインに沿って配置された基準メモリセル121から出力される信号が累積した信号である。基準ラインもビット個数だけの基準ビットラインを含んでもよい。例えば、基準信号は、基準メモリアレイ120で同じ基準ビットラインに接続されている基準サブセルの抵抗性メモリ素子に対応するビット値と入力信号の入力値との間の積和に対応する信号である。言い換えれば、いずれか1つの基準ビットラインの基準信号は、基準ラインで当該基準ビットラインが示すビット桁の積和に対応する信号であり得る。
The
出力回路150は、カラム信号及び基準信号から出力ラインに対する出力信号159を生成する。参考として、ニューラルネットワーク回路100は、出力ラインとは異なる出力ラインに沿って配置される異なるシナプスメモリセルをさらに含んでもよい。この場合、出力回路150は、出力ライン及び異なる出力ラインのそれぞれに対して同じ基準メモリセルを用いて個別的に出力信号を生成することができる。言い換えれば、出力回路150は、出力ラインごとの異なる出力信号を生成するために、同じ基準カラム信号を使用することができる。出力回路150の動作については後述する。
The
一実施形態に係るニューラルネットワーク回路100は、シナプス動作(Synapse operation)を行っている間に、各シナプスメモリ素子にアクセスするためのK個のワードラインに入力されれば、各カラムごとに生成された信号(例えば、電流信号)を全て累積(integration)する。出力ラインはビット桁に対応するビットラインを含み、出力ラインから出力されるカラム累積信号ICellsは、個別ビットラインのカラム信号にビット加重値の適用された信号が統合された信号であってもよい。カラム累積信号は、下記の数式(1)のように表現される。
The
前述した数式(1)において、IPはP状態(例えば、第1抵抗値)の抵抗性メモリ素子に流れる電流を示し、IAPはAP状態(例えば、第2抵抗値)の抵抗性メモリ素子に流れる電流を示す。カラム累積信号ICellsはIP及びIAPの線型組み合せである。出力回路150のシナプス読出回路151がカラム累積信号ICellsを生成する。基準メモリアレイ120の基準累積信号IREFは数式(2)に表示されたように算出されることができる。
In the above formula (1), I P represents a current flowing through a resistive memory element in a P state (e.g., a first resistance value), and I AP represents a current flowing through a resistive memory element in an AP state (e.g., a second resistance value). The column accumulation signal I Cells is a linear combination of I P and I AP . The
前述した数式(2)は、基準メモリアレイ120に含まれている抵抗性メモリ素子のうち、入力信号が印加された抵抗性メモリ素子に流れる電流信号にビット桁ごとのビット加重値が適用された信号である。基準累積信号IREFは、ビット桁ごとの基準信号にビット加重値が適用されて統合された信号である。ここで、Xは、アプリケーションによりNよりも小さいか同一であり、0よりも大きいか同じ整数のいずれか1つに決定されてもよい。基準メモリセル121が1ビットセルである場合、Xは0又はNの値を有してもよい。
The above-mentioned Equation (2) is a signal in which a bit weighting value for each bit digit is applied to a current signal flowing through a resistive memory element to which an input signal is applied among resistive memory elements included in the
出力回路150の基準読出回路152が基準累積信号IREFを生成する。前述した数式(1)及び数式(2)において、線型組み合せの係数N、Mは下記の数式(3)及び数式(4)のように表現される。
A reference read
Nは、活性化したワードラインに接続されているサブセルに基づいて決定される値を示す。kは、上述したように、活性化したワードライン(例えば、入力ライン)の個数を示す。aは、各メモリセルに含まれているサブセルの個数であり、シナプス加重値のビット個数である。例えば、Nは、いずれか1つの出力ラインに接続されているシナプスメモリセル111のうち、活性化したワードラインに接続されているシナプスメモリセル111に含まれた各サブセルが示すビット桁を指数にした2の累乗値の和である。Mは、N以下の整数として、活性化したワードラインに接続されているシナプスメモリセル111のうち、P状態(例えば、第1抵抗値)のサブセルに基づいて決定される値である。mijは、活性化した第jワードラインの第iシナプスメモリセルが第1抵抗値を有すると1であり、第iシナプスメモリセルが第2抵抗値を有すると0である。例えば、Mは、いずれか1つの出力ラインに接続されているシナプスメモリセル111のうち、活性化したワードラインに接続されているシナプスメモリセル111で、P状態のサブセルが示すビット桁を指数にする2の累乗値のk個の和である。まとめると、Nは活性化した入力ラインのビット数に比例し、MはP状態(例えば、「1」)にある活性化した入力ラインのビット数に比例する。
N indicates a value determined based on the subcells connected to the activated word line. k indicates the number of activated word lines (e.g., input lines) as described above. a indicates the number of subcells included in each memory cell, and the number of bits of the synapse weight value. For example, N is the sum of powers of 2 with the bit digits of each subcell included in the
出力信号159Inet、column、即ち、統合されたカラム累積信号ICellsと統合された基準累積信号IREFのネット信号は数式(5)を参照して算出される。
The
一実施形態に係るニューラルネットワーク回路100の出力回路150は、前述した数式(5)により、カラム累積信号ICells及び基準累積信号IREF間の差に対応する出力信号159Inet、columnを生成することができる。
The
第1抵抗値の抵抗性メモリ素子に基づいた第1電流IPと第2抵抗値の抵抗性メモリ素子に基づいた第2電流IAP間の差(IP-IAP)を有効信号(valid signal)又は正味信号(net signal)のように示してもよい。又は、IP-IAPは電流形態の信号であるため、正味電流(net current)に示してもよい。ここで、出力信号159Inet、columnは、正味信号に(M-X)倍に対応する。(M-X)は、X値に応じて正の整数であってもよく、負の整数であってもよい。
The difference (I P -I AP ) between the first current I P based on the resistive memory element having the first resistance value and the second current I AP based on the resistive memory element having the second resistance value may be referred to as a valid signal or a net signal. Alternatively, since I P -I AP is a current-type signal, it may be referred to as a net current. Here, the
本明細書において、ニューラルネットワーク回路100は、シナプス加重値(synaptic weight)により電流を累積する生物神経網の模写機能を実現するスパイキングニューラルネットワーク(spiking neural network;SNN)を主に説明するが、これに限定されることはない。一実施形態に係るニューラルネットワーク回路100は、抵抗比が大きくないメモリを使用するCIM(Computation In Memory)回路、及びVMM(Vector Matrix Multiplication)回路のようなMAC(Multiply-Accumulate)演算を実現するシステムに適用されてもよい。ニューラルネットワーク回路100に含まれている抵抗性メモリ素子の低抵抗と高抵抗との間の抵抗比が大きくなくても、前述した正味信号を介して出力値を区別することができる。一実施形態に係るニューラルネットワーク回路100では、第1抵抗値対比第2抵抗値の抵抗比が1を超過する抵抗性メモリ素子を用いても、正味信号を介して出力を区別することができる。従って、メモリアレイから出力された電流の検出及び合算のための設計で制約が減少される。
In this specification, the
従って、一実施形態に係るニューラルネットワーク回路100は、高抵抗状態を相殺することでより増加したサイズのメモリアレイを有することができる。さらに、ニューラルネットワーク回路100は、多い量のデータを扱う人工知能プロセッサにも適用され得る。
Thus, the
さらに、以下で詳細に説明するが、一実施形態に係るニューラルネットワーク回路100は、生物神経網の代表的な2種類の反応である入力刺激により電位が増加するEPSP(Excitatory Post Synaptic Potential)と、減少するIPSP(Inhibitory Post Synaptic Potential)を1つのシナプスメモリアレイ110で実現することができる。より具体的に、ニューラルネットワーク回路100は、出力信号159Inet、columnが正味信号の正数倍に比例する場合、刺激に反応して電圧を増加させるESPSを、出力信号159Inet、columnが正味信号の負数倍に比例する場合、刺激に反応して電圧を低減させるIPSPを実現することができる。
Furthermore, as will be described in detail below, the
参考として、本明細書において、出力回路150が活性化関数回路としてLIF回路を含んでいる例示について主に説明するが、これに限定されることはない。例えば、ニューラルネットワーク回路100は、LIF回路の代わりにアナログデジタルコンバータ(Analog-to-Digital converter)を含み、前述した出力信号をアナログ信号からデジタル値(例えば、出力データ)に変換してもよい。ニューラルネットワーク回路100を含む電子装置は、出力データに活性化関数を適用して次のノードに伝播する値を決定できる。言い換えれば、電子装置は、活性化関数に対応する演算をデジタルレベルで行うこともできる。
For reference, the present specification mainly describes an example in which the
図2は、一実施形態に係るシナプスメモリセル及び読出回路を示す。 Figure 2 shows a synapse memory cell and readout circuit according to one embodiment.
一実施形態に係るニューラルネットワーク回路の出力回路は、シナプスメモリアレイ210に接続される読出回路251及びLIF回路を含む。図2では省略されているが、出力回路は、基準メモリアレイに接続される基準読出回路251も含んでもよい。図2では、シナプス読出回路251を主に説明するが、基準読出回路251もシナプス読出回路251と同一に構成されてもよい。
The output circuit of the neural network circuit according to one embodiment includes a
図2に示すように、同じ出力ラインに接続されているシナプスメモリセル211の抵抗性メモリ素子は、互いに並列に接続されることができる。例えば、同じ出力ラインに接続されているシナプスメモリセル211のうち、同じビットラインに接続されている抵抗性メモリ素子が互いに並列に接続されてもよい。従って、同じビットラインの抵抗性メモリ素子から出力される電流信号が出力ラインに沿って統合できる。図2において、抵抗性メモリ素子の抵抗はRDATAに示されている。上述したように、ビットラインBL0~BL2に沿って配置された抵抗性メモリ素子のうち、ワードラインWL0~WLK-1を介して入力信号が印加された抵抗性メモリ素子は、当該抵抗性メモリ素子にかかる電圧による電流信号を生成することができる。ワードラインWL0~WLK-1に沿って入力信号が印加されれば、スイッチSWdataがオンされる。
As shown in FIG. 2, the resistive memory elements of the
スイッチSWsense(例えば、トランジスタ)は、抵抗性メモリ素子をセンシングラインと接続させることができる。ここで、Sel_data信号が印加されれば、スイッチSWsense(例えば、トランジスタ)がオンされ、ビットラインBL0~BL2及びセンシングライン(sense line)SLがそれぞれ供給電圧及び接地に接続される。 The switch SW sense (e.g., a transistor) can connect the resistive memory element to a sensing line. When a Sel_data signal is applied, the switch SW sense (e.g., a transistor) is turned on, and the bit lines BL0 to BL2 and the sensing line SL are connected to a supply voltage and ground, respectively.
演算増幅器OPは、高い利益を有してセンシングラインSL及びビットラインBL0~BL2の間に見られる抵抗値に関わらず、ビットラインBL0~BL2の電圧をVamp_refに固定させることができる。言い換えれば、センシングラインSL及びビットラインBL0~BL2の間の電圧差が一定に保持される。抵抗性メモリ素子は、それぞれ両端に同一にかかる固定されている電圧Vamp_refに対して、抵抗RDATAにより決定された電流(例えば、カラム信号)をビットラインBL0~BL2に生成してもよい。 The operational amplifier OP has a high advantage in that it can fix the voltage of the bit lines BL0-BL2 to V amp_ref regardless of the resistance seen between the sensing line SL and the bit lines BL0-BL2. In other words, the voltage difference between the sensing line SL and the bit lines BL0-BL2 is held constant. The resistive memory element may generate a current (e.g., a column signal) in the bit lines BL0-BL2 that is determined by the resistance R DATA with respect to the same fixed voltage V amp_ref applied to both ends of each.
出力回路の読出回路251は、シナプスメモリセル211及び基準メモリセルのビットごとにカラム信号を当該ビットに対応する倍数の電流でコピーするカレントミラーを含む。例えば、読出回路251のカレントミラーは、ビットラインで生成されたカラム信号を他のビットラインBL’0~BL’2に複製してもよい。複製された電流の大きさは、トランジスタの幅に応じて変わり得る。上述したように、カレントミラーは、ビット加重値に対応する電流コピー比でカラム信号を複製できる。例示的に、図2において、第1ビットラインBL0は1/4倍、第2ビットラインBL1は1/2倍、第3ビットラインBL3は1倍で電流が複製された。
The
出力回路の読出回路251は、シナプスメモリセル211のビットごとのカラム信号を累積(integrate)することで、カラム累積信号(column integrated signal)ICellsを生成し、基準メモリセルのビットごとの基準信号を累積することで基準累積信号(reference integrated signal)IREFを生成することができる。例えば、出力回路は、カラム信号から複製された電流を合算することで、カラム累積信号ICellsを生成することができる。出力回路は、基準信号についても前述と同じ読出回路251及び動作により基準累積信号IREFを生成できる。参考として、抵抗性メモリ素子がMRAMで実現される場合、MTJに流れる電流が小さいことにより読出妨害(read disturbance)が発生しないため、相対的に低い共通入力(low common input)を処理できる増幅器が要求される。出力回路はカラム累積信号ICells及び基準累積信号IREFに基づいて出力信号を生成し、生成された出力信号を処理するLIF回路260をさらに含んでもよい。LIF回路260の構造及び動作については後述する。
The
出力回路は、前述した読出回路251からカラム累積信号ICells及び基準累積信号IREF間の差である出力信号を使用することで、P状態の抵抗性メモリ素子が1つであり、AP状態の抵抗性メモリ素子が複数である場合の信号も正確に区分することができる。また、プログラマブルの抵抗値を有する基準メモリ素子を用いて基準累積信号IREFを生成するため、出力信号は正味信号の正の整数倍だけでなく、負の整数倍に対応する値についても有し、出力回路はこれを用いてEPSPだけでなくIPSPも表現できる。
The output circuit can accurately distinguish signals when there is one P-state resistive memory element and multiple AP-state resistive memory elements by using an output signal that is the difference between the column accumulation signal I Cells and the reference accumulation signal I REF from the above-mentioned
言い換えれば、正味信号である場合は常に正数であるため、出力信号が正味信号の正の整数倍ということは、カラム累積信号ICellsが基準累積信号IREFよりも大きいものと理解され、出力信号が正味信号の負の整数倍ということは、カラム累積信号ICellsが基準累積信号IREFよりも小さいものと理解される。 In other words, since the net signal is always positive, when the output signal is a positive integer multiple of the net signal, it is understood that the column accumulated signal I Cells is greater than the reference accumulated signal I REF , and when the output signal is a negative integer multiple of the net signal, it is understood that the column accumulated signal I Cells is less than the reference accumulated signal I REF .
図2において、出力回路のうち読出回路251によりシナプスメモリアレイに含まれている抵抗性メモリ素子の抵抗値を判読した出力信号が説明され、以下の図3では、出力信号を利用した発火処理について説明する。
Figure 2 shows the output signal obtained by reading the resistance value of the resistive memory element included in the synapse memory array using the
図3は、一実施形態に係る出力回路の漏れ積分発火(Leaky Integration and Fire;LIF)回路を示す。 Figure 3 shows a leaky integration and fire (LIF) circuit for an output circuit according to one embodiment.
一実施形態に係る出力回路150は、LIF回路260を含む。LIF回路260は、ニューロン動作を模写するための回路として、出力信号159を閾値と比較した結果に基づいて他のニューロン回路への発火を行うことができる。出力信号159は、前述した数式(5)で前述したInet、columnであるため、その説明は省略する。LIF回路260は、漏れ部分回路361及び発火部分回路362を含む。
The
シナプス以後の電位には、刺激に反応して電圧が増加するEPSPと刺激に反応して電圧が減少するIPSPがある。EPSPは興奮性シナプス後の電位に称され、IPSPは抑制性シナプス後電位に称されてもよい。ニューロンでは、プレニューロン(pre-neuron)からポストニューロン(post-neuron)に閾値(threshold)を超過する刺激が伝達されたり、閾値以下の複数の刺激が短い時間内に数回伝達されれば、活動電位(Action Potential)が発生し得る。その後、ニューロンの膜電位は、基本電圧にリセットできる。但し、プレニューロン(pre-neuron)からポストニューロン(post-neuron)に閾値(threshold)以下の刺激が伝達されれば、活動電位の代わりにPSP(Post Synaptic Potential)が発生し、PSPでは次の刺激が入る前まで少しずつ漏れが発生し得る。LIF回路260は、前述したニューロンの発火又は漏れを実現した回路である。
Post-synaptic potentials include EPSPs, which are potentials that increase in voltage in response to a stimulus, and IPSPs, which are potentials that decrease in voltage in response to a stimulus. EPSPs may be called excitatory postsynaptic potentials, and IPSPs may be called inhibitory postsynaptic potentials. In neurons, when a stimulus that exceeds the threshold is transmitted from a pre-neuron to a post-neuron, or when multiple stimuli below the threshold are transmitted several times within a short period of time, an action potential may be generated. The membrane potential of the neuron can then be reset to the base voltage. However, if a stimulus below the threshold is transmitted from a pre-neuron to a post-neuron, a post-synchronous potential (PSP) occurs instead of an action potential, and leakage may occur little by little in the PSP until the next stimulus is received. The
漏れ部分回路361は、図2を参照して前述したカラム累積信号及び基準累積信号を受信することができる。図3において、カラム累積信号及び基準累積信号は、電流源でモデリングされて示されているが、これは説明の便宜のためのものであって、実際には図2に示されている読出回路により供給される電流として解釈される。漏れ部分回路361はキャパシタを含む。例えば、出力信号159は、基準累積信号に対応する電流をキャパシタのノードに向かって流入(flow in)され、カラム累積信号に対応する電流をキャパシタのようなノードから流出(flow out)される。前述した基準累積信号の流入及びカラム累積信号の流出によりキャパシタには、カラム累積信号と基準累積信号との間の差に対応する電流が流れることができる。
The
出力回路150は、第1抵抗値の抵抗性メモリ素子に基づいた第1電流IPと、第2抵抗値の抵抗性メモリ素子に基づいた第2電流IAPとの間の差である正味電流の整数倍に対応する電流を出力信号159として生成する。漏れ部分回路361は、リセット信号RESETが印加されている間に不活性化され、リセット信号RESETが非印加されている間に活性化される。言い換えれば、漏れ部分回路361は、リセット信号RESETの非印加後に臨界時間の間に出力信号159による出力電流を漏らすことができる。
The
出力信号159の出力電流は、キャパシタに流れることにより出力電圧に変換される。漏れ部分回路361のうち、漏れ演算増幅器OPintegは出力端でウィンドウスイッチに接続し、ウィンドウスイッチは接地に接続されているキャパシタに接続される。ウィンドウスイッチにウィンドウ信号WINDOWが印加される間に、漏れ演算増幅器OPintegと接地に接続されているキャパシタが接続されている。従って、出力信号159の出力電流が漏れ演算増幅器OPintegの出力端に位置する接地に接続されているキャパシタに流れる。接地に接続されているキャパシタは、出力電流による電荷を漏らすことで出力電流を出力電圧に変換してもよい。ここで、接地に接続されているキャパシタに充電された電圧は、漏れトランジスタLEAKAGEにより漏れる。
The output current of the
漏れトランジスタLEAKAGEには、VCM_COLOUMN_INに基づいた付勢電圧が印加されてもよい。ウィンドウスイッチは、ウィンドウ信号WINDOWによって所定の臨界時間(例えば、漏れ時間)の間にターンオンされる。言い換えれば、接地に接続されているキャパシタは、リセット以後に臨界時間が経過するまで出力電流が漏れる。 An activation voltage based on VCM_COLUMN_IN may be applied to the leakage transistor LEAKAGE. The window switch is turned on for a certain critical time (e.g., leakage time) by the window signal WINDOW. In other words, a capacitor connected to ground leaks output current until a critical time has elapsed after reset.
一実施形態によれば、漏れ部分回路361は発火部分回路362に、前述した臨界時間の間に漏れ出力電圧を伝達することができる。発火部分回路362の比較器OPfireは、予め設定された閾値電圧VTHと出力電圧VCOLUMNとを比較する。例えば、比較器OPfireは、臨界時間の間に累積した出力電圧VCOLUMNが閾値電圧VTHを超過する場合に発火信号(例えば、1)を出力し、出力電圧VCOLUMNが閾値電圧VTH以下である場合、漏れ信号(例えば、0)を出力してもよい。
According to one embodiment, the
参考として、後述するが、臨界時間は別途の回路(例えば、臨界時間生成回路)で閾値に対応する閾値電流の漏れを介して、閾値電圧VTHを達成するまで所要される時間として設定される。出力電流と閾値電流は両方電流であるため、一方の電流を他方の電流を比較することは難しい。従って、発火部分回路362の比較器OPfireは、後述する図7にて生成されたWINDOW信号によるRESET信号が0になる瞬間からWINDOW信号が0になる瞬間までの臨界時間の間に漏れた電流から変換された電圧を閾値電圧と比較することができる。電流が小さければ電圧に変換される量も小さく、変換された電圧が閾値電圧よりも小さい。反対に、電流が大きければ、電圧に変換される量が大きいため変換された電圧が閾値電圧以上に上がり、比較器OPfireが発火パルス(fire pulse)を出力する。
For reference, the critical time is set as the time required to reach the threshold voltage VTH through leakage of a threshold current corresponding to the threshold in a separate circuit (e.g., a critical time generating circuit), as described later. Since both the output current and the threshold current are currents, it is difficult to compare one current with the other. Therefore, the comparator OP fire of the firing
一実施形態によれば、LIF回路は、出力信号159に基づいて累積される電圧が臨界時間内に閾値電圧に達しない場合に応答して、出力信号159を漏らすことができる。例えば、LIF回路260の発火部分回路362は、漏れ及び変換された出力電圧が閾値電圧よりも小さい場合、変換された出力電圧を漏れ演算増幅器OPintegに伝達できる。アナログMUX(analog MUX)は、変換された出力電圧を漏れ演算増幅器OPintegの新しい共通モード入力(common mode input)VCM_COLUMNとして提供できる。漏れ回路は、次のニューロン入力に基づいた出力信号159が生成される場合、前述した共通モード入力を基準にして出力電流による漏れとして継続することで、漏れた(leaky integrated)出力電圧を取得できる。
According to one embodiment, the LIF circuit can leak the
一実施形態によれば、LIF回路260は、出力信号159に基づいて累積する電圧が閾値に対応する臨界時間内に閾値電圧に達する場合に応答して、他のニューロン回路への発火を行うことができる。例えば、漏れた出力電圧が閾値電圧を超過したり、数個の小さい出力信号159の漏れ電圧が閾値電圧を超過する場合、発火部分回路362の比較器OPfireは発火信号を生成してもよい。発火信号は、発火を指示するパルス出力(pulse output)であってもよい。発火信号は、クロック信号に対して同期されるアナログ増幅器基盤比較器OPfire及びフリップフロップ(flip-flop)回路を介して、クロック信号に同期された信号として生成することができる。
According to one embodiment, the
発火部分回路362は、アナログMUX回路の選択信号SELを制御し、外部から入力されるVCM_COLUMN_INを漏れ演算増幅器OPintegに伝達することで、共通モード電圧を初期化できる。
The firing
一実施形態に係る出力回路150は、回路ごとに累積(integration)動作、比較動作、及び漏れ(leakage)動作を区分して行う。従って、出力回路150でキャパシタ(capacitor)の大きさや漏れ電流(leakage current)の制約による誤差を最小化することができる。さらに、出力回路150は、実際の生物の刺激(stimulation)周期であるmsの単位の発火も模写できる。
In one embodiment, the
図3において、RESET信号及びSW信号は、制御信号として外部クロック(clock)Clkが入力されるタイミング生成器(timing generator)によって生成されてもよい。後述する臨界時間生成回路は、発火の有無が基準となる臨界時間を指示するウィンドウ信号WINDOWを生成してもよい。ウィンドウ信号WINDOWは、設定された閾値電圧、抵抗性メモリ素子、及びキャパシタの変化(variation)に強靭な(robust)臨界時間(例えば、累積時間(Integration time))を提供する。 In FIG. 3, the RESET signal and the SW signal may be generated by a timing generator to which an external clock Clk is input as a control signal. A critical time generation circuit, which will be described later, may generate a window signal WINDOW indicating a critical time based on the presence or absence of firing. The window signal WINDOW provides a critical time (e.g., integration time) that is robust to variations in the set threshold voltage, resistive memory element, and capacitor.
図4は、一実施形態に係るニューラルネットワーク回路に含まれている閾値生成回路及び追加基準回路について説明する。 Figure 4 illustrates a threshold generation circuit and an additional reference circuit included in a neural network circuit according to one embodiment.
一実施形態に係るニューラルネットワーク回路は、閾値を設定するための回路をさらに含んでもよい。例えば、ニューラルネットワーク回路は、閾値メモリアレイ480及び追加基準メモリアレイ490をさらに含んでもよい。シナプスメモリアレイ110及び基準メモリアレイ120は図1を参照して前述したため、その説明は省略する。
The neural network circuit according to one embodiment may further include a circuit for setting a threshold value. For example, the neural network circuit may further include a
閾値メモリアレイ480(threshold memory cell)は、複数のメモリ素子を含む。閾値メモリアレイ480において、複数のメモリ素子のうち設定された閾値に基づいて指定された少なくとも1つのメモリ素子は、第1抵抗値(例えば、P状態)を有してもよい。図4において、閾値メモリアレイ480に含まれているメモリセルは閾値メモリセルであって、Thに図示されている。例えば、閾値を表現するためのメモリ素子がビット桁を考慮して選択されてもよい。言い換えれば、閾値は、第1抵抗値を有するメモリ素子の個数及び当該メモリ素子が示すビット桁に基づいて表現されることができる。
The
閾値メモリアレイ480は、いずれか1つのカラムラインに沿って配置される閾値メモリセルを含む。カラムラインは、マルチビットを示す複数のビットラインを含んでもよい。閾値メモリセルのそれぞれは、ビットラインごとにサブセルを含んでもよい。例示的に、閾値が6IPの閾値電流として設定される場合、(2+4)*IPを表現するために、閾値メモリアレイ480でLSBから1番目のビット桁(例えば、21=2)に対応するメモリ素子、及びLSBから2番目のビット桁(例えば、22=4)に対応するメモリ素子が第1抵抗値を有してもよい。
The
追加基準メモリセルは、閾値生成回路と基準ワードライン(Ref WL0~Ref WL L-1)を共有する。追加基準メモリセルは、基準ワードラインに沿って配置されて第2抵抗値を有する追加基準メモリ素子を有してもよい。追加基準メモリアレイ490の追加基準メモリセルのメモリ素子は、アプリケーションによりプログラマブル(programable)の抵抗値を有してもよい。追加基準メモリセルは後述するが、前述した閾値メモリアレイ480として指定された閾値を正味信号に表現するために使用され得る。
The additional reference memory cells share the reference word lines (Ref WL0 to Ref WL-1) with the threshold generation circuit. The additional reference memory cells may include additional reference memory elements arranged along the reference word lines and having a second resistance value. The memory elements of the additional reference memory cells of the additional
例えば、前述した閾値メモリアレイ480のカラムに沿って累積した信号(以下、「閾値累積信号」)は、下記の数式(6)のように表現されることができる。
For example, the signal accumulated along the columns of the
前述した数式(6)において、IPはP状態(例えば、第1抵抗値)の抵抗性メモリ素子に流れる電流を示し、IAPはAP状態(例えば、第2抵抗値)の抵抗性メモリ素子に流れる電流を示す。閾値累積信号IThは、IP及びIAPの線型組み合せである。出力回路450の第2読出回路452が閾値累積信号IThを生成する。
In the above equation (6), I P represents the current through the resistive memory element in the P state (e.g., a first resistance value), and I AP represents the current through the resistive memory element in the AP state (e.g., a second resistance value). The threshold accumulation signal I Th is a linear combination of I P and I AP . The
前述した数式(7)は、追加基準メモリアレイ490に含まれている抵抗性メモリ素子のうち、基準ワード信号が印加された抵抗性メモリ素子に流れる電流信号にビット桁ごとのビット加重値が適用された信号である。追加基準累積信号IREF、Thは、ビット桁ごとの基準信号にビット加重値が適用されて統合された信号である。ここで、Yは、アプリケーションによりRよりも小さいか同一であり、0よりも大きいか同一な整数のいずれか1つに決定されてもよい。追加基準メモリアレイ490が1ビットセルから構成された場合、Yは、0又はYの値を有する。
The above-mentioned Equation (7) is a signal in which a bit weighting value for each bit digit is applied to a current signal flowing through a resistive memory element to which a reference word signal is applied among resistive memory elements included in the additional
出力回路450の第2読出回路452が追加基準累積信号IREF、Thを生成する。前述した数式(6)及び数式(7)において、線型組み合せの係数T、Rは下記の数式(8)及び数式(9)のように表現されることができる。
The
Rは、活性化された基準ワードラインに接続されているサブセルに基づいて決定される値を示す。Lは、活性化した基準ワードラインの数を示す。図4において、すべての基準ワードラインが活性化された例示について説明する。aは、各メモリセルに含まれるサブセルの数であり,シナプス加重値のビット数である。例えば、Rは、1つのカラムに沿って接続されている閾値メモリセルのうち、活性化した基準ワードラインに接続されている基準メモリセルに含まれている各サブセルが示すビット桁を指数にする2の累乗値の和である。Tは、R以下の整数であって、活性化した基準ワードラインに接続されている閾値メモリセルのうち、P状態(例えば、第1抵抗値)であるサブセルに基づいて決定される値である。Tは、予め設定された閾値に対応する。tijは、活性化された第jワードラインの第i閾値メモリセルが第1抵抗値を有すれば1であり、第i閾値メモリセルが第2抵抗値を有すれば0である。例えば、Tは、同じカラムで接続されている閾値メモリセルにおいて、P状態のサブセルが示すビット桁を指数にする2の累乗値のk個の和である。 R indicates a value determined based on the subcells connected to the activated reference word line. L indicates the number of activated reference word lines. An example in which all reference word lines are activated will be described with reference to FIG. 4. a indicates the number of subcells included in each memory cell, and the number of bits of the synapse weight value. For example, R is a sum of powers of 2 using the bit digits indicated by the subcells included in the reference memory cells connected to the activated reference word line among the threshold memory cells connected along one column as an exponent. T is an integer equal to or less than R, and is a value determined based on the subcells in the P state (e.g., the first resistance value) among the threshold memory cells connected to the activated reference word line. T corresponds to a preset threshold. t ij is 1 if the i-th threshold memory cell of the activated j-th word line has a first resistance value, and is 0 if the i-th threshold memory cell has a second resistance value. For example, T is a sum of k powers of 2 using the bit digits indicated by the subcells in the P state among the threshold memory cells connected in the same column as an exponent.
一実施形態に係るニューラルネットワーク回路の出力回路450は、前述した数式(10)により、閾値累積信号ITh及び追加基準累積信号IREF、Th間の差に対応する閾値正味信号Inet、Thを生成する。出力回路450は、前述した数式(5)において、第1読出回路451(例えば、図1のシナプス読出回路151及び基準読出回路152を含む回路)から取得された出力信号Inet、columnと、前述した数式(10)で取得された閾値正味信号Inet、Thとを比較する。但し、上述したように、電流対電流間の比較は回路の実現が難しく、その上、出力回路450は出力信号Inet、column及び閾値正味信号Inet、Thを間接的に比較するための臨界時間生成回路をさらに含んでもよい。臨界時間生成回路については、下記の図7を参照して説明する。
The
一実施形態に係る出力回路450は、閾値メモリセル及び追加基準メモリセルに基づいて決定された閾値に対応する臨界時間を出力ラインに対する出力信号及び他の出力ラインに対する他の出力信号に対して適用される。言い換えれば、出力回路450は、シナプスメモリアレイの出力ラインから取得される出力信号に対して、共通の閾値に対応する臨界時間を適用することができる。
The
図5Aないし図5Cは、一実施形態に係るシナプスメモリカラム、基準カラム、閾値生成カラム、及び追加基準カラムで生成される正味信号を利用した発火比較の例を説明する。 Figures 5A to 5C illustrate an example of a firing comparison using net signals generated by a synaptic memory column, a reference column, a threshold generation column, and an additional reference column according to one embodiment.
図5Aにおいて、シナプスメモリアレイのいずれか1つのカラムがシナプスメモリカラム510に図示されている。基準メモリアレイのいずれか1つのカラムが基準カラム520に図示されている。閾値メモリアレイのいずれか1つのカラムが閾値生成カラム580に図示されている。追加基準メモリアレイのいずれか1つのカラムが追加基準カラム590に図示されている。説明の便宜のために、各カラムは3ビットのビットラインを含み、1つの入力ラインに入力信号が印加された例示を示す。
In FIG. 5A, one column of the synapse memory array is illustrated as
例示的に、シナプスメモリカラム510の第3サブセルは第2抵抗値、第1サブセル及び第2サブセルは第1抵抗値として設定された抵抗性メモリ素子を有してもよい。基準カラム520の第1サブセル及び第3サブセルは第2抵抗値、第2サブセルは第1抵抗値として設定されたメモリ素子を有してもよい。但し、基準カラム520のサブセルそれぞれの抵抗値は、上記の例示に限定されず、アプリケーションにより動的に変更されてもよい。
For example, the third subcell of the
各サブセルのそれぞれは、LSBに対応するビット加重値(例えば、1倍)、LSBから1番目のビット桁のビット加重値(例えば、2倍)、LSBから2番目のビット桁のビット加重値(例えば、4倍)が適用された電流信号を生成することができる。シナプスメモリカラム510のカラム累積信号ICellsは(2+4)*IP+1*IAPであってもよい。基準カラム520の基準累積信号IREFは、2*IP+(1+4)*IAPであってもよい。出力信号Inet、columnは、4(IP-IAP)であってもよい。出力信号Inet、columnが正数であるため、出力信号Inet、columnはEPSP動作を行うための出力信号であることが分かる。
Each sub-cell may generate a current signal to which a bit weighting value corresponding to the LSB (e.g., 1x), a bit weighting value of the first bit digit from the LSB (e.g., 2x), and a bit weighting value of the second bit digit from the LSB (e.g., 4x) are applied. The column accumulation signal I Cells of the
同様に、閾値生成カラム580で閾値累積信号IThは2*IAP+(1+4)*IP=5IP+2IAPであってもよい。追加基準カラム590で生成される追加基準累積信号IREF、Thは2*IP+(1+4)*IAP=2IP+5IAPであってもよい。図5Aにおいて、閾値正味信号Inet、Thは3(IP-IAP)に決定されてもよい。出力回路は、出力信号Inet、columnが閾値正味信号Inet、Thより大きいため、発火信号を生成することができる。
Similarly, the threshold accumulation signal I_Th generated in the
図5Bを参照すると、シナプスメモリカラム510の第3サブセルは第1抵抗値、第1サブセル、及び第2サブセルは第2抵抗値として設定された抵抗性メモリ素子を有する。基準カラム520の場合、図5Aと同様に、第1サブセル及び第3サブセルは第2抵抗値、第2サブセルは第1抵抗値として設定されたメモリ素子を有してもよい。但し、基準カラム520のサブセルそれぞれの抵抗値は上記の例示に限定されず、アプリケーションにより動的に変更されてもよい。
Referring to FIG. 5B, the third subcell of the
各サブセルのそれぞれはLSBに対応するビット加重値(例えば、1倍)、LSBから1番目のビット桁のビット加重値(例えば、2倍)、LSBから2番目のビット桁のビット加重値(例えば、4倍)が適用された電流信号を生成する。シナプスメモリカラム510のカラム累積信号ICellsは1*IP+(2+4)*IAPであってもよい。基準カラム520の基準累積信号IREFは2*IP+(1+4)*IAPであってもよい。出力信号Inet、columnは-1(IP-IAP)であってもよい。出力信号Inet、columnが負数であるため、出力信号Inet、columnはIPSP動作を行うための出力信号であることが分かる。
Each sub-cell generates a current signal to which a bit weighting value corresponding to the LSB (e.g., 1x), a bit weighting value of the first bit digit from the LSB (e.g., 2x), and a bit weighting value of the second bit digit from the LSB (e.g., 4x) are applied. The column accumulation signal I Cells of the
図5Cでは、2つの入力ラインに入力信号が印加された例が示されている。 Figure 5C shows an example where an input signal is applied to two input lines.
図5Cにおける出力信号Inet、columnは図5A及び図5Bの出力信号を合わせた4(IP-IAP)-(IP-IAP)=3(IP-IAP)であってもよい。同様に、閾値正味信号Inet、Thは6(IP-IAP)に決定されてもよい。出力回路は、出力信号Inet、columnが閾値正味信号Inet、Thよりも小さいため、漏れ動作を行うことができる。 The output signal I net,column in Figure 5C may be 4(I P -I AP )-(I P -I AP )=3(I P -I AP ) which is the sum of the output signals of Figures 5A and 5B. Similarly, the threshold net signal I net,Th may be determined to be 6(I P -I AP ). The output circuit may perform leakage operation because the output signal I net,column is less than the threshold net signal I net,Th .
図6A~図6Cは、他の実施形態に係るシナプスメモリカラム、基準カラム、閾値生成カラム、及び追加基準カラムで生成される正味信号を利用した発火比較の例示を説明する。 Figures 6A-6C illustrate an example of a firing comparison using net signals generated by a synaptic memory column, a reference column, a threshold generation column, and an additional reference column according to another embodiment.
図6Aにおいて、シナプスメモリアレイのいずれかのカラムをシナプスメモリカラム610に示す。基準メモリアレイのカラムは基準カラム620に図示される。閾値メモリアレイのカラムは閾値生成カラム680に図示される。追加基準メモリアレイのいずれかのカラムが追加ベースカラム690に図示される。説明の便宜のために、各カラムは3ビットのビットラインを含み、1つの入力ラインに入力信号が印加された例を図示している。
In FIG. 6A, one of the columns of the synapse memory array is shown in
例示的に、シナプスメモリカラム610の第3サブセルは第1抵抗値、第1サブセル及び第2サブセルは第2抵抗値として設定された抵抗性メモリ素子を有してもよい。基準カラム620はシナプスメモリカラム610のビット個数に関わらず、単一のビット情報(例えば、符号(sign)ビット)を格納する1ビットセルであってもよい。より具体的に、基準カラム620は、模写しようとする動作がEPSPであるかIPSPであるかに応じて、1ビットセルに第2抵抗値又は第1抵抗値として設定された抵抗性メモリ素子を有してもよい。図6Aでは、模写しようとする動作がEPSPであり、基準カラム620の1ビットセルには第2抵抗値として設定された抵抗性メモリ素子を有してもよい。
Exemplarily, the third subcell of the
シナプスメモリカラム610の各サブセルのそれぞれは、LSBに対応するビット加重値(例えば、1倍)、LSBから1番目のビット桁のビット加重値(例えば、2倍)、LSBから2番目のビット桁のビット加重値(例えば、4倍)が適用された電流信号を生成することができる。シナプスメモリカラム610のカラム累積信号ICellsは(4+2)*IP+1*IAPであってもよい。
Each sub-cell of the
基準カラム620の1ビットセルには、予め決定されたビット加重値(例えば、7倍)が適用された電流信号を生成する。基準カラム620の基準累積信号IREFは7*IAPであってもよい。出力信号Inet、columnは6(IP-IAP)であってもよい。出力信号Inet、columnが正数であるため、出力信号Inet、columnはEPSPであることが分かる。
A current signal to which a predetermined bit weight (e.g., 7 times) is applied is generated for the 1-bit cell of the
同様に、閾値生成カラム680で閾値累積信号IThは2*IAP+(1+4)*IP=5IP+2IAPであってもよい。追加基準カラム690で生成される追加基準累積信号IREF、Thは7*IAPであってもよい。図6Aにおいて、閾値正味信号Inet、Thは5(IP-IAP)に決定されてもよい。出力回路は、出力信号Inet、columnが閾値正味信号Inet、Thよりも大きいため、発火信号を生成することができる。
Similarly, the threshold accumulation signal I_Th in the
図6Bを参照すると、シナプスメモリカラム610の第3サブセルは第2抵抗値、第1サブセル及び第2サブセルは第1抵抗値として設定された抵抗性メモリ素子を有してもよい。図6Bにおいて、模写しようとする動作がIPSPであり、基準カラム620の1ビットセルには第1抵抗値として設定された抵抗性メモリ素子を有してもよい。
Referring to FIG. 6B, the third subcell of the
シナプスメモリカラム610の各サブセルのそれぞれは、LSBに対応するビット加重値(例えば、1倍)、LSBから1番目のビット桁のビット加重値(例えば、2倍)、LSBから2番目のビット桁のビット加重値(例えば、4倍)が適用された電流信号を生成する。シナプスメモリカラム510のカラム累積信号ICellsは(2+4)*IP+1*IAPであってもよい。
Each sub-cell of the
基準カラム620の1ビットセルには、予め決定されたビット加重値(例えば、7倍)が適用された電流信号を生成する。基準カラム620の基準累積信号IREFは7*IPであってもよい。出力信号Inet、columnは-1(IP-IAP)であってもよい。
A current signal to which a predetermined bit weight (e.g., 7 times) is applied is generated for the 1-bit cell of the
図6Cにおいて、2つの入力ラインに信号が印加された例示を図示する。 Figure 6C illustrates an example where signals are applied to two input lines.
図6Cにおける出力信号Inet、columnは、図6A及び図6Bの出力信号を合わせた6(IP-IAP)-(IP-IAP)=5(IP-IAP)であってもよい。同様に、閾値正味信号Inet、Thは10(IP-IAP)に決定されてもよい。出力回路は、出力信号Inet、columnが閾値正味信号Inet、Thよりも小さいため、漏れ動作を行うことができる。 The output signal I net,column in Figure 6C may be 6(I P -I AP )-(I P -I AP )=5(I P -I AP ) which is the sum of the output signals of Figures 6A and 6B. Similarly, the threshold net signal I net,Th may be determined to be 10(I P -I AP ). The output circuit may perform leakage operation because the output signal I net,column is less than the threshold net signal I net,Th .
図7は、一実施形態に係る出力回路の臨界時間生成回路を示す。 Figure 7 shows a critical time generation circuit for an output circuit according to one embodiment.
一実施形態に係る出力回路は、閾値メモリセルに基づいて生成された信号及び追加基準メモリセルに基づいて生成された信号に基づいて閾値に対応する臨界時間791を設定することができる。図7では、出力回路で臨界時間791を設定する臨界時間生成回路753について説明する。第1読出回路451、第2読出回路452、及びLIF回路は前述したため、その説明は省略する。
An output circuit according to an embodiment can set a
上述したように、出力された電流と閾値として設定された電流との間の直接的な比較は難しいため、臨界時間生成回路753は、電流比較のための臨界時間791を設定することができる。臨界時間生成回路753は、閾値に対応する電流の漏れを介して閾値電圧まで達するために費やされる時間を臨界時間791として設定してもよい。上述したように出力回路は、出力電流の漏れを介して同じ閾値電圧まで達するために費やされる時間が臨界時間791よりも小さいかを比較する。例えば、出力回路は、設定された臨界時間791内に出力電流の漏れを介して変換された出力電圧が、閾値電圧を超過するか否かを判断することで、間接的に閾値電流と出力電流との間の比較を行うことができる。
As described above, since it is difficult to directly compare the output current with the current set as the threshold, the critical
出力回路は、閾値メモリセルに基づいて生成された信号と追加基準メモリセルに基づいて生成された信号との間の差に対応する電流の累積を開示し、累積された電流に対応する電圧が閾値電圧を超過する場合に閾値に対応する臨界時間791を指示する信号を出力する。
The output circuit discloses an accumulation of currents corresponding to the difference between the signal generated based on the threshold memory cell and the signal generated based on the additional reference memory cell, and outputs a signal indicating a
臨界時間生成回路753は、図3を参照して前述した漏れ部分回路と一部類似の構成を含む。例えば、臨界時間生成回路753は、キャパシタのノードに閾値累積信号IThを流入させ、当該ノードから追加基準累積信号IREF、Thを流入させることができる。従って、当該キャパシタには閾値正味信号Inet、Thが流れる。キャパシタ、演算増幅器の種類及び大きさが同一に設計されてもよい。
The critical
タイミング図790に示されたリセット信号RESET、ホールド信号HOLDはタイミング生成器により生成される。リセット信号RESET=1であるとき、閾値正味信号Inet、Thが流れるキャパシタ両端電圧がすべてVCM、TWGであるため初期化される。リセット信号RESET=0であり、ホールド信号HOLD=1であるとき、キャパシタに閾値正味信号Inet、Thによる累積を介して変換された電圧VTWGが格納される。変換された電圧VTWGは、閾値正味信号Inet、Thの累積により徐々に増加する。ウィンドウ比較器OPwindowは変換された電圧VTWGが閾値電圧VTHを超過する場合、0を出力する。従って、臨界時間791は、リセット信号RESET=0になる時点からウィンドウ信号WINDOW=0になるまで、として定義される。VCM、TWGはVCM_COLUMN_INよりも小さく設定されてもよい。例えば、出力信号Inet、column及び閾値正味信号Inet、Thが同一である場合(例えば、Inet、column=7IP-7IAP、Inet、Th=7IP-7IAP)、VCM、TWGを基準とする閾値電圧VTHよりVCM_COLUMN_INを基準とする変換された電圧VTWGの電圧が高いことで、7IP-7IAPの場合にも発火として確認することができる。
The reset signal RESET and the hold signal HOLD shown in the timing diagram 790 are generated by a timing generator. When the reset signal RESET=1, the voltages across the capacitor through which the threshold net signals I net and Th flow are all VCM and TWG, so they are initialized. When the reset signal RESET=0 and the hold signal HOLD=1, the converted voltage V TWG is stored in the capacitor through accumulation by the threshold net signals I net and Th . The converted voltage V TWG gradually increases due to the accumulation of the threshold net signals I net and Th . The window comparator OP window outputs 0 when the converted voltage V TWG exceeds the threshold voltage V TH . Therefore, the
図8は、一実施形態に係る出力回路でLIF回路に含まれる素子及び素子ごとのタイミング図を示す。 Figure 8 shows the elements included in the LIF circuit in an output circuit according to one embodiment, and a timing diagram for each element.
リセットリセットフリップフロップ810は、1/4に分周されたクロック信号及びニューロン入力(入力信号)に応答して、リセット信号RESETを生成することができる。ホールドリセットフリップフロップ820は、1/8に分周されたクロック信号及びニューロン入力(例えば、入力信号)に応答して、ホールド信号HOLDを生成する。比較リセットフリップフロップ830は、クロック信号、供給電圧VDD、反転されたホールド信号HOLDBに応答して、比較信号COMPAREを生成することができる。比較信号COMPAREは、累積した出力信号が比較器の入力に伝達完了すれば、比較器の比較動作を開始するとの信号である。漏れリセットフリップフロップ840は、クロック信号、供給電圧VDD、反転された比較信号COMPAREBに応答して、漏れ信号LEAKAGEを生成する。漏れ信号LEAKAGEは、前述した比較動作後に出力電圧の漏れ動作(leakage operation)を行うための信号である。SWプルリップルラプ870は漏れた電圧がある場合、漏れた電圧を次の入力に基づいた出力に合算するよう、漏れ部分回路に伝達するためのSW信号を生成することができる。前述した信号に対するタイミング図890において図示されるように、臨界時間891は、リセット以後のウィンドウ信号WINDOWが不活性化される前までの時間区間である。
The reset flip-
図9は、一実施形態に係るニューラルネットワーク回路の発火動作の例示を説明する。 Figure 9 illustrates an example of the firing behavior of a neural network circuit according to one embodiment.
ニューラルネットワーク回路は、メモリアレイ910、出力回路950、分周器及びタイミング生成器940、ワードラインドライバ970、書き込みドライバ980を含む。メモリアレイ910は、シナプスメモリアレイ、基準メモリアレイ、閾値メモリアレイ、追加基準メモリアレイを含む。出力回路950は、読出回路951、臨界時間生成回路953、LIF回路960を含んでもよい。メモリアレイ910及び出力回路950は、前述したためその説明は省略する。分周器及びタイミング生成器940は、回路で使用される信号(例えば、クロック信号及び個別素子に対する制御信号)を生成する。ワードラインドライバ970は、メモリアレイ910のワードライン(例えば、入力ライン)を駆動する。書き込みドライバ980は、メモリアレイ910のビットラインに沿って配置されるメモリセルの抵抗性メモリ素子の抵抗値を設定し、ビットライン及びセンシングラインを駆動することができる。
The neural network circuit includes a
図9に示されたタイミング図990は、閾値がT=6として設定されたニューラルネットワーク回路の例示的な動作について説明する。閾値正味信号Inet、Thは、6(IP-IAP)であってもよい。カラム<0>に流れる電流が7(IP-IAP)→2(IP-IAP)→7(IP-IAP)+(-3)(IP-IAP)に変化し、カラム<1>に流れる電流が7(IP-IAP)→-2(IP-IAP)→3(IP-IAP)+(-3)(IP-IAP)に変化する。上述したように、閾値以下の刺激が伝達されれば発火信号は出力されず、蓄積された電圧V_integratedは、漏れパルス(LEAKAGE pulse)がハイ(high)である区間に伝達される。蓄積された電圧のレベルは、累積パルス(LEAKAGE pulse)がハイ(high)の区間の間に徐々に減少する。閾値以上の刺激が伝達されれば発火信号は出力され、累積した電圧V_integratedが初期化される。また、閾値以下の刺激が伝えられて漏れた後、刺激がさらに伝えられて2つの刺激の合計が閾値以上になると、発火信号が出力される。図9に示された例示において、閾値T=6であるため、カラム<0>に流れる電流に対して順に発火→漏れ→漏れが発生する。カラム<1>に流れる電流に対して順に発火→漏れ→漏れが発生する。 9 illustrates an exemplary operation of the neural network circuit with a threshold set as T=6. The threshold net signal I net,Th may be 6(I P -I AP ). The current through column <0> changes from 7(I P -I AP )→2(I P -I AP )→7(I P -I AP ) +(-3)(I P -I AP ) and the current through column <1> changes from 7(I P -I AP )→-2(I P -I AP )→3(I P -I AP )+(-3)(I P -I AP ). As described above, if a stimulus below the threshold is delivered, the firing signal is not output, and the accumulated voltage V_integrated is delivered in the section where the leak pulse is high. The level of the accumulated voltage gradually decreases during the section where the accumulated pulse is high. If a stimulus above the threshold is delivered, the firing signal is output, and the accumulated voltage V_integrated is initialized. In addition, if a stimulus below the threshold is delivered and leaks, and then a stimulus is delivered and the sum of the two stimuli exceeds the threshold, the firing signal is output. In the example shown in FIG. 9, since the threshold T=6, firing → leakage → leakage occurs in the order of the current flowing through column <0>. Firing → leakage → leakage occurs in the order of the current flowing through column <1>.
図10は、一実施形態に係るニューラルネットワーク回路の動作方法を示すフローチャートである。 Figure 10 is a flowchart showing a method of operation of a neural network circuit according to one embodiment.
まず、ステップ1010において、ニューラルネットワーク回路は、出力ラインに沿って配置された1つ以上のメモリセルのうち、入力ラインを介して入力信号が印加されたシナプスメモリセルの抵抗性メモリ素子及び入力信号に基づいてカラム信号を生成する。例えば、プレシナプス回路を介して入力信号(例えば、スパイク(spike)信号))が受信されれば、ニューラルネットワーク回路は、メモリアレイのワードラインにアクセスする。ニューラルネットワーク回路の読出回路は、シナプス加重値及び入力信号によるカラム信号(例えば、電流)を生成することができる。
First, in
そして、ステップ1020において、ニューラルネットワーク回路は、基準ライン(reference line)に沿って配置された1つ以上のメモリセルのうち、入力信号が印加された基準メモリセルの基準抵抗値を有する基準メモリ素子及び入力信号に基づいて基準信号を生成する。基準抵抗値は、アプリケーションにより前記第1抵抗値又は前記第2抵抗値の予め決定された組み合せに基づいて決定されてもよい。
Then, in
次に、ステップ1030において、ニューラルネットワーク回路は、カラム信号及び基準信号から出力ラインに対する出力信号を生成する。ニューラルネットワーク回路は、高抵抗状態の電流を相殺させるために、カラム累積信号と基準累積信号との間の差に対応する出力信号を生成する。
Next, in
そして、ステップ1040において、ニューラルネットワーク回路は、出力信号に基づいて発火又は累積処理を行う。例えば、ニューラルネットワーク回路は、出力信号を臨界時間の間に漏れしてもよい。ニューラルネットワーク回路は、漏れ出力電圧を閾値電圧と比較した結果に応じて発火又は累積を行う。ニューラルネットワーク回路は、出力電圧が閾値電圧を超過する場合、発火を行ってもよい。ニューラルネットワーク回路は、出力電圧が閾値電圧以下である場合、累積処理を行い、当該電圧を次のニューロンインプットが入ってくるまで保持される。
Then, in
但し、ニューラルネットワークの出力信号処理を前述したステップ1040に限定されることはない。ニューラルネットワーク回路の出力回路は、入力ラインに沿って受信される入力信号及びシナプス加重値間の積和(multiply and accumulation;MAC)を出力信号を解釈した結果(例えば、アナログデジタル変換された値)に基づいて取得し、取得された積和に基づいて決定されたノード値(例えば、活性値)を他のニューロン回路に伝達することもできる。
However, the output signal processing of the neural network is not limited to the above-mentioned
以上で説明された実施形態は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組み合せで具現される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPA(field programmable array)、PLU(programmable logic unit)、マイクロプロセッサー、又は命令(instruction)を実行して応答する異なる装置のように、1つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム(OS)及びオペレーティングシステム上で実行される1つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は1つが使用されるものとして説明する場合もあるが、当技術分野で通常の知識を有する者は、処理装置が複数の処理要素(processing element)及び/又は複数類型の処理要素を含むことが把握する。例えば、処理装置は、複数のプロセッサ又は1つのプロセッサ及び1つのコントローラを含む。また、並列プロセッサ(parallel processor)のような、他の処理構成も可能である。 The embodiments described above may be implemented with hardware components, software components, or a combination of hardware and software components. For example, the devices and components described in the present embodiments may be implemented using one or more general-purpose or special-purpose computers, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA), a programmable logic unit (PLU), a microprocessor, or a different device that executes and responds to instructions. The processing device executes an operating system (OS) and one or more software applications that run on the operating system. The processing device also accesses, stores, manipulates, processes, and generates data in response to the execution of the software. For ease of understanding, the description may assume that a single processing device is used, but one skilled in the art will appreciate that a processing device may include multiple processing elements and/or multiple types of processing elements. For example, a processing device may include multiple processors or a processor and a controller. Other processing configurations, such as parallel processors, are also possible.
ソフトウェアは、コンピュータプログラム、コード、命令、又はそのうちの一つ以上の組合せを含み、希望の通りに動作するよう処理装置を構成したり、独立的又は結合的に処理装置を命令することができる。ソフトウェア及び/又はデータは、処理装置によって解釈されたり処理装置に命令又はデータを提供するために、いずれかの類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、又は送信される信号波に永久的又は一時的に具体化することができる。ソフトウェアはネットワークに連結されたコンピュータシステム上に分散され、分散した方法で格納されたり実行され得る。ソフトウェア及びデータは一つ以上のコンピュータで読出し可能な記録媒体に格納され得る。 Software may include computer programs, codes, instructions, or any combination of one or more thereof, to configure or instruct a processing device to operate as desired, either independently or in combination. The software and/or data may be embodied permanently or temporarily in any type of machine, component, physical device, virtual device, computer storage medium or device, or transmitted signal wave, to be interpreted by or provide instructions or data to a processing device. The software may be distributed across computer systems coupled to a network, and may be stored and executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.
本実施形態による方法は、様々なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組み合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例として、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD-ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気-光媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。 The method according to the present invention is embodied in the form of program instructions to be executed by various computer means and recorded on a computer-readable recording medium. The recording medium includes program instructions, data files, data structures, and the like, either alone or in combination. The recording medium and program instructions may be specially designed and constructed for the purposes of the present invention, or may be known and available to those skilled in the art of computer software technology. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program instructions, such as ROMs, RAMs, flash memories, and the like. Examples of program instructions include not only machine language code, such as that generated by a compiler, but also high-level language code executed by a computer using an interpreter, etc.
上記で説明したハードウェア装置は、本発明に示す動作を実行するために1つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。 The hardware devices described above may be configured to operate as one or more software modules to perform the operations described in the present invention, and vice versa.
上述したように実施形態をたとえ限定された図面によって説明したが、当技術分野で通常の知識を有する者であれば、上記の説明に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順に実行され、及び/又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法とは異なる形態に結合又は組み合わせられてもよく、他の構成要素又は均等物によって置き換え又は置換されたとしても適切な結果を達成することができる。 Although the embodiments have been described above with reference to limited drawings, a person having ordinary skill in the art may apply various technical modifications and variations based on the above description. For example, the described techniques may be performed in a different order than described, and/or the components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different manner than described, and may be replaced or substituted with other components or equivalents to achieve suitable results.
したがって、他の具現、他の実施形態および特許請求の範囲と均等なものも後述する特許請求の範囲の範囲に属する。 Therefore, other realizations, other embodiments, and equivalents to the claims are also within the scope of the claims set forth below.
100 ニューラルネットワーク回路 110 シナプスメモリアレイ
111 シナプスメモリセル
120 基準メモリアレイ
121 基準メモリセル
150 出力回路
151 シナプス読出回路
152 基準読出回路
100
Claims (27)
出力ラインに沿って配置され、第1抵抗値及び第2抵抗値のうちの1つを有する抵抗性メモリ素子を含み、入力ラインを介して入力信号を受信する場合に応答して前記抵抗性メモリ素子及び前記入力信号に基づいてカラム信号を生成するシナプスメモリセルと、
基準ラインに沿って配置され、アプリケーションにより予め決定された比率で前記第1抵抗値又は前記第2抵抗値を有する基準メモリ素子を含み、前記基準メモリ素子及び前記入力信号に基づいて基準信号を生成する基準メモリセルと、
前記カラム信号及び前記基準信号から前記出力ラインに対する出力信号を生成する出力回路と、
を含む、ニューラルネットワーク回路。 A neural network circuit, comprising:
a synapse memory cell disposed along the output line, the synapse memory cell including a resistive memory element having one of a first resistance value and a second resistance value, the synapse memory cell responsive to receiving an input signal via an input line to generate a column signal based on the resistive memory element and the input signal;
a reference memory cell arranged along a reference line, the reference memory cell including a reference memory element having the first resistance value or the second resistance value in a ratio predetermined by an application, the reference memory element and the reference memory cell generating a reference signal based on the reference memory element and the input signal;
an output circuit for generating an output signal for the output line from the column signal and the reference signal;
A neural network circuit comprising:
前記ビット個数の抵抗性メモリ素子は、同じ入力ラインに沿って配置される、請求項1に記載のニューラルネットワーク回路。 The synapse memory cell includes a resistive memory element having a number of bits for expressing a synapse weight value assigned to the synapse memory cell,
The neural network circuit of claim 1 , wherein the resistive memory elements of said number of bits are arranged along the same input line.
前記ビット個数の基準メモリ素子は、同じ入力ラインに沿って配置される、請求項2に記載のニューラルネットワーク回路。 the reference memory cell includes a reference memory element having a number of bits for expressing the synapse weight value;
3. The neural network circuit of claim 2, wherein the reference memory elements of said number of bits are arranged along the same input line.
前記出力回路は、前記出力ライン及び前記異なる出力ラインのそれぞれに対して同じ基準メモリセルを用いて個別的に出力信号を生成する、請求項1に記載のニューラルネットワーク回路。 further comprising a different synapse memory cell disposed along a different output line than the output line;
2. The neural network circuit of claim 1, wherein the output circuit generates output signals using the same reference memory cell for the output line and each of the different output lines individually.
出力ラインに沿って配置された1つ以上のメモリセルのうち、入力ラインを介して入力信号が印加されたシナプスメモリセルの抵抗性メモリ素子及び前記入力信号に基づいてカラム信号を生成するステップと、
基準ラインに沿って配置された1つ以上のメモリセルのうち、前記入力信号が印加された基準メモリセルの基準抵抗値を有する基準メモリ素子及び前記入力信号に基づいて基準信号を生成するステップと、
前記カラム信号及び前記基準信号から前記出力ラインに対する出力信号を生成するステップと、
を含み、
前記基準抵抗値は、アプリケーションにより第1抵抗値及び前記第1抵抗値とは異なる第2抵抗値の予め決定された組み合せに基づいて決定される、ニューラルネットワーク回路の動作方法。 1. A method of operating a neural network circuit, comprising:
generating a column signal based on a resistive memory element of a synapse memory cell to which an input signal is applied via an input line, among one or more memory cells arranged along the output line; and
generating a reference signal based on a reference memory element having a reference resistance value of a reference memory cell to which the input signal is applied, among one or more memory cells arranged along a reference line, and the input signal;
generating an output signal for the output line from the column signal and the reference signal;
Including,
A method of operating a neural network circuit, wherein the reference resistance value is determined by an application based on a predetermined combination of a first resistance value and a second resistance value different from the first resistance value.
それぞれの抵抗を含む抵抗性メモリセルの行及び列含むメモリアレイを含み、
前記メモリアレイの各抵抗性メモリセルは、第1抵抗値と第2抵抗値との間で変化するようにプログラミング可能な抵抗を有し、前記メモリアレイの列は、当該列の抵抗性メモリ素子に提供された入力信号、及び当該列のそれぞれのメモリ素子の抵抗に基づいて統合された熱電流を提供し、
それぞれ抵抗器を含む抵抗性メモリセルで構成された基準アレイを含み、
前記基準アレイのそれぞれの抵抗性メモリセルは、第1抵抗値と第2抵抗値との間で変動できるようにプログラミングされ、前記基準アレイは、基準アレイの抵抗性メモリ素子に提供された入力信号及びそれぞれのメモリ素子の抵抗に基づいて統合された基準電流を提供する、プロセッサ。
1. A processor comprising:
a memory array including rows and columns of resistive memory cells including respective resistors;
each resistive memory cell of the memory array having a resistance programmable to change between a first resistance value and a second resistance value, and a column of the memory array provides an integrated thermal current based on an input signal provided to the resistive memory elements of the column and the resistance of each memory element of the column;
a reference array of resistive memory cells each including a resistor;
A processor, wherein each resistive memory cell of the reference array is programmed to vary between a first resistance value and a second resistance value, and the reference array provides an integrated reference current based on an input signal provided to the resistive memory elements of the reference array and the resistance of each memory element.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220033964A KR20230136353A (en) | 2022-03-18 | 2022-03-18 | Neural network circuit and device |
KR10-2022-0033964 | 2022-03-18 | ||
US17/883,546 US20230298663A1 (en) | 2022-03-18 | 2022-08-08 | Neural network based method and device |
US17/883,546 | 2022-08-08 | ||
PCT/KR2023/003616 WO2023177269A1 (en) | 2022-03-18 | 2023-03-17 | Neural network based method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2025514007A true JP2025514007A (en) | 2025-05-02 |
Family
ID=88024139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2024555883A Pending JP2025514007A (en) | 2022-03-18 | 2023-03-17 | Neural network circuits and devices |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4494036A4 (en) |
JP (1) | JP2025514007A (en) |
CN (1) | CN119325607A (en) |
WO (1) | WO2023177269A1 (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10169701B2 (en) * | 2015-05-26 | 2019-01-01 | International Business Machines Corporation | Neuron peripheral circuits for neuromorphic synaptic memory array based on neuron models |
US11361215B2 (en) * | 2017-11-29 | 2022-06-14 | Anaflash Inc. | Neural network circuits having non-volatile synapse arrays |
KR102221763B1 (en) * | 2018-11-19 | 2021-02-26 | 포항공과대학교 산학협력단 | Batch normalization apparatus based on resistive memory for binary neural network |
KR102706475B1 (en) * | 2019-06-26 | 2024-09-12 | 삼성전자주식회사 | Analog-to-digital converter and neuromorphic computing device including the same |
CN112786081A (en) * | 2019-11-01 | 2021-05-11 | 华为技术有限公司 | Storage unit and chip |
US12124942B2 (en) * | 2019-12-03 | 2024-10-22 | Anaflash Inc. | Serialized neural network computing unit |
-
2023
- 2023-03-17 JP JP2024555883A patent/JP2025514007A/en active Pending
- 2023-03-17 CN CN202380040233.1A patent/CN119325607A/en active Pending
- 2023-03-17 WO PCT/KR2023/003616 patent/WO2023177269A1/en active Application Filing
- 2023-03-17 EP EP23771147.8A patent/EP4494036A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023177269A1 (en) | 2023-09-21 |
EP4494036A1 (en) | 2025-01-22 |
EP4494036A4 (en) | 2025-08-20 |
CN119325607A (en) | 2025-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11804266B2 (en) | Apparatus and method with in-memory processing | |
US11620505B2 (en) | Neuromorphic package devices and neuromorphic computing systems | |
Song et al. | Pipelayer: A pipelined reram-based accelerator for deep learning | |
CN111656368B (en) | Hardware accelerated discrete neural network | |
Fouda et al. | Spiking neural networks for inference and learning: A memristor-based design perspective | |
US11531871B2 (en) | Stacked neuromorphic devices and neuromorphic computing systems | |
US20190122105A1 (en) | Training of artificial neural networks | |
WO2018228424A1 (en) | Method and device for training neural network | |
US20150269480A1 (en) | Implementing a neural-network processor | |
CN106133755A (en) | The constant object using the image of spike granting neutral net represents | |
JP7708381B2 (en) | Apparatus for implementing a neural network and method of operating the same | |
US20230046817A1 (en) | Apparatus and method with in-memory delay dependent processing | |
Jain et al. | Neural network accelerator design with resistive crossbars: Opportunities and challenges | |
US20250149085A1 (en) | Device with neural network | |
KR20230005309A (en) | Efficient Tile Mapping for Row-by-Row Convolutional Neural Network Mapping for Analog Artificial Intelligence Network Inference | |
CN115358375A (en) | A method and device for constructing a computing model of a spiking neural network reserve pool | |
US20240143541A1 (en) | Compute in-memory architecture for continuous on-chip learning | |
Han et al. | Efficient discrete temporal coding spike-driven in-memory computing macro for deep neural network based on nonvolatile memory | |
CN106133763A (en) | Synaptic Management of Plasticity | |
CN105659260B (en) | Dynamically assign and check synaptic delay | |
US20230298663A1 (en) | Neural network based method and device | |
JP2025514007A (en) | Neural network circuits and devices | |
Lu et al. | NVMLearn: a simulation platform for non-volatile-memory-based deep learning hardware | |
Henderson et al. | Memristor Based Liquid State Machine With Method for In-Situ Training | |
KR20240109086A (en) | Neural network circuit and operating method thereof |