JP2024500737A - アナログ抵抗クロスバーアレイにおける異なる演算の為の読み出し回路の動的構成 - Google Patents
アナログ抵抗クロスバーアレイにおける異なる演算の為の読み出し回路の動的構成 Download PDFInfo
- Publication number
- JP2024500737A JP2024500737A JP2023536806A JP2023536806A JP2024500737A JP 2024500737 A JP2024500737 A JP 2024500737A JP 2023536806 A JP2023536806 A JP 2023536806A JP 2023536806 A JP2023536806 A JP 2023536806A JP 2024500737 A JP2024500737 A JP 2024500737A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- rpu
- current
- analog
- array
- 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
- 238000003491 array Methods 0.000 title description 10
- 238000012545 processing Methods 0.000 claims abstract description 58
- 230000002093 peripheral effect Effects 0.000 claims abstract description 46
- 210000004027 cell Anatomy 0.000 claims description 146
- 230000010354 integration Effects 0.000 claims description 141
- 238000000034 method Methods 0.000 claims description 67
- 239000003990 capacitor Substances 0.000 claims description 49
- 238000006243 chemical reaction Methods 0.000 claims description 43
- 230000008569 process Effects 0.000 claims description 34
- 238000013528 artificial neural network Methods 0.000 claims description 30
- 210000002569 neuron Anatomy 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 18
- 230000000946 synaptic effect Effects 0.000 claims description 18
- 238000012549 training Methods 0.000 claims description 17
- 238000011144 upstream manufacturing Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 abstract description 2
- 239000013598 vector Substances 0.000 description 64
- 239000010410 layer Substances 0.000 description 37
- 239000011159 matrix material Substances 0.000 description 34
- 230000000875 corresponding effect Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 15
- 101100328883 Arabidopsis thaliana COL1 gene Proteins 0.000 description 10
- 101100004188 Arabidopsis thaliana BARD1 gene Proteins 0.000 description 6
- 230000001276 controlling effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 210000002364 input neuron Anatomy 0.000 description 5
- 230000001537 neural effect Effects 0.000 description 5
- 210000004205 output neuron Anatomy 0.000 description 5
- 210000000225 synapse Anatomy 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 230000001902 propagating effect Effects 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 238000009738 saturating Methods 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000005284 excitation Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 229940050561 matrix product Drugs 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000001465 metallisation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001242 postsynaptic effect Effects 0.000 description 1
- 210000005215 presynaptic neuron Anatomy 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
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/08—Learning methods
-
- 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
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)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Analogue/Digital Conversion (AREA)
- Logic Circuits (AREA)
- Electronic Switches (AREA)
- Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)
Abstract
デバイスであって、該デバイスは、複数の抵抗処理ユニット(RPU)セルの1つのアレイ、複数のRPUセルの該1つのアレイを横切って第1の方向に延在する複数の第1制御線、及び複数のRPUセルの該1つのアレイを横切って第2の方向に延在する複数の第2制御線を備えている。読み出し回路を備えている周辺回路は、該複数の第1制御線及び該複数の第2制御線に接続されている。制御システムは、該周辺回路を制御して、複数のRPUセルの該1つのアレイ上で第1の操作を実行し且つ複数のRPUセルの該1つのアレイ上で第2の操作を実行する為の制御信号を生成する。該制御信号は、該第1の操作が複数のRPUセルの該1つのアレイ上で行われるときに、該読み出し回路が第1のハードウェア構成を有するように構成する為の第1の構成制御信号;及び、該第2の操作が複数のRPUセルの該1つのアレイ上で行われるときに、該読み出し回路が、第1のハードウェア構成とは異なる第2のハードウェア構成を有するように構成する為の第2の構成制御信号を含む。
【選択図】図6
【選択図】図6
Description
この開示は、一般的には、ニューロモーフィックコンピューティングの為のアナログ抵抗処理システムに、及びアナログ抵抗処理システムの周辺回路を制御して、該アナログ抵抗処理システムの複数の抵抗処理ユニット(RPU:resistive processing unit)セルの1つのアレイ上で様々な演算を実行する為の技術に関する。
情報処理システム、例えば、ニューロモーフィックコンピューティングシステム及び人工ニューラルネットワーク(ANN:artificial neural network)システムが、様々なアプリケーション、例えば、コグニティブレコグニション及びコンピューティングの為の機械学習及び推論処理、において利用されている。そのようなシステムは、様々なタイプの計算を実行する為に並列に動作するところの多数の高度に相互接続された処理要素(「人工ニューロン」として言及される)を一般的に備えているハードウェアベースのシステムである。該人工ニューロン(例えば、プレシナプスニューロン(pre-synaptic neurons)及びポストシナプスニューロン(post-synaptic neurons))は、複数の人工ニューロン間の接続強度を表すシナプス重みを提供するところの人工シナプスデバイスを使用して接続される。該シナプス重みは、調整可能な抵抗メモリデバイス(tunable resistive memory devices)を有する複数のRPUセルの1つのアレイを使用して実装されることができ、該複数のRPUセルのコンダクタンス状態は、該シナプス重みにエンコードされ又はさもなければマッピングされる。
本開示の実施態様は、ニューロモーフィックコンピューティングの為のアナログ抵抗処理システム、及び該アナログ抵抗処理システムの複数のRPUセルの1つのアレイ上で異なる操作を行う際に、アナログ抵抗処理システムの周辺回路、例えば読み出し回路、のハードウェア構成を動的に構成する技術を含む。
例示的な実施態様はデバイスを含み、該デバイスは、RPUの1つのアレイ、複数のRPUセルの該1つのアレイを横切って第1の方向に延在する複数の第1制御線、及び複数のRPUセルの該1つのアレイを横切って第2の方向に延在する複数の第2制御線を備えている。各RPUセルが、該複数の第1制御線のうちの1つと該複数の第2制御線のうちの1つとの交差部で接続されており、ここで、該周辺回路は、読み出し回路を備えている。制御システムは、該周辺回路に動作可能に接続されている。該制御システムは、該周辺回路を制御して、複数のRPUセルの該1つのアレイ上で第1の操作を実行し且つ複数のRPUセルの該1つのアレイ上で第2の操作を実行する為の制御信号を生成する。該制御信号は、該第1の操作が複数のRPUセルの該1つのアレイ上で行われるときに、該読み出し回路が第1のハードウェア構成を有するように構成する為の第1の構成制御信号;及び、該第2の操作が複数のRPUセルの該1つのアレイ上で行われるときに、該読み出し回路が、第1のハードウェア構成とは異なる第2のハードウェア構成を有するように構成する為の第2の構成制御信号を含む。
他の実施態様は、添付の図面と合わせて読まれるべき例示的な実施態様の下記の発明の詳細な説明において記載されるであろう。
ここで、本発明の実施態様が、ニューロモーフィックコンピューティングの為のアナログ抵抗処理システム、及び該アナログ抵抗処理システムの複数の抵抗処理ユニット(RPU)セルの1つのアレイ上で異なる操作を実行する為にアナログ抵抗処理システムの周辺回路、例えば読み出し回路、を動的に構成する技術に関して更に詳細に記載されるであろう。例えば、以下に更に詳細に説明されているように、幾つかの実施態様において、アナログ抵抗処理システムの該読み出し回路のハードウェア構成が、該アナログ抵抗処理システムの複数のRPUセルの1つのアレイ上で実行されるところの異なる操作(例えば、ニューラルネットワーク訓練プロセスのフォワードパス操作及びバックワードパス操作)の為に異なる操作信号範囲を有するように動的に設定される。
添付の図面において示されているような様々な特徴は縮尺通りに描かれていない概略的な図であることが理解されるべきである。その上、同一又は類似の参照番号は、同一又は類似の特徴、要素又は構造を示す為に図面全体を通じて使用され、従って、同一又は類似の特徴、要素又は構造についての発明の詳細な説明は、図面の各々について繰り返されることはない。更に、本明細書において使用されている語「例示的」は、「例、実例又は説明として機能する」ことを意味する。本明細書において「例示的」として説明されている任意の実施態様又は設計は、他の実施態様又は設計よりも好ましい又は有利であると解釈されるべきでない。
本開示の例示的な実施態様は、インメモリコンピューティングシステム又は計算メモリシステムを包含し、それらは、データを記憶し、且つ該データを処理して幾つかの計算タスクを実行するという2つの目的の為に複数のRPUセルの1つのアレイを利用する。幾つかの実施態様において、該複数のRPUセルは、抵抗メモリデバイス、例えば、抵抗ランダムアクセスメモリ(ReRAM:resistive random-access memory)デバイス、相変化メモリ(PCM:phase-change memory)デバイス等、を実装し、それは、最小コンダクタンス(min conductance)(Gmin)から最大コンダクタンス(maximum conductance)(Gmax)の範囲にわたって可変コンダクタンス状態(variable conductance states)を有する調整可能なコンダクタンス(tunable conductance)(G)を有する。上述されているように、ニューロモーフィックコンピューティングシステム及びANNシステムは、人工ニューロンが人工シナプスデバイスを用いて接続されて2つの人工ニューロン間の接続の強度を表すシナプス重みを提供するところのインメモリコンピューティングシステムの一種である。該シナプス重みは、複数の調整可能な抵抗メモリデバイス(tunable resistive memory devices)を使用して実装されることができ、ここで、該可変コンダクタンス状態(variable conductance states)は該シナプス重みを表し、及び計算(例えば、ベクトル行列乗算)を実行する為に使用される。アナログ抵抗メモリデバイスの該コンダクタンス状態は、シナプス重みにエンコードされるか、又はさもなければマッピングされる。
様々なタイプの人工ニューラルネットワーク、例えば、ディープニューラルネットワーク(DNN:deep neural network)及び畳み込みニューラルネットワーク(CNN:convolutional neural network)、は、機械学習アプリケーション、例えば、画像認識、物体認識、音声認識、の為のニューロモーフィックコンピューティングアーキテクチャを実装する。そのようなニューラルネットワークに関連付けられたインメモリ計算は例えば、訓練データセットを処理することによって複数の抵抗メモリセルのシナプス重みが最適化されるところの訓練計算と、例えば、入力データを分類する又は該入力データに基づいてイベントを予測する等の目的の為に入力データを処理する為に訓練済みのニューラルネットワークが使用されるところのフォワード推論計算(forward inference computation)とがある。
DNNの訓練は一般的に、バックプロパゲーションアルゴリズムに依存し、それは、下記の3つの繰り返しサイクル、すなわち、フォワードサイクル、バックワードサイクル及び重み更新サイクル、を含み、それは、収束基準が満たされるまで何度も繰り返される。該フォワードサイクル及びバックワードサイクルは主に、フォワード方向及びバックワード方向におけるベクトル行列乗算を計算することを含む。この操作は、複数のアナログ抵抗メモリセルの1つの2Dアレイ上で実行できる。フォワードサイクルにおいて、該1つの2Dアレイにおける該抵抗メモリデバイスの記憶されたコンダクタンス値が行列を形成し、及び入力ベクトルが電圧パルスとして該2Dアレイの各入力列を通じて伝送される。バックワードサイクルにおいて、電圧パルスが列から入力として供給され、及びベクトル行列積が行列の転置で計算される。該重み更新は、乗算演算と、該1つの2Dアレイ内の各抵抗メモリセルにおいて局所的に実行されるべき増分重み更新とから構成されるベクトル-ベクトル外積(vector-vector outer product)を計算することを含む。
複数のRPUセルの1つのアレイを備えている確率的に訓練されたDNNは、調整可能な抵抗デバイス(tunable resistive devices)を使用して実装されたシナプス重みを有することができる。幾つかの実施態様において、コンピューティングシステム100における各RPUセル110は、該RPUセル110の行列要素又は重みを表すコンダクタンス値を有する抵抗素子(resistive element)を備えている。幾つかの実施態様において、複数のRPUセル110の複数の抵抗素子は、抵抗デバイス、例えば、抵抗スイッチングデバイス(界面性又はフィラメント性のスイッチングデバイス)、ReRAMデバイス、メモリスタデバイス、PCMデバイス等、及びRPUセル110の重みを調整する為に複数の異なるコンダクタンスレベルの範囲内でプログラム的に調整されることができる調整可能なコンダクタンス(tunable conductance)(又は、調整可能な抵抗レベル(tunable resistance level))を有する他のタイプのデバイスを用いて実装される。幾つかの実施態様において、複数のRPUセル110の可変コンダクタンス要素(variable conductance elements)は、強誘電体デバイス、例えば強誘電体電界効果トランジスタデバイス、を使用して実装されることができる。その上、幾つかの実施態様において、複数のRPUセル110は、各RPUセル110がコンデンサと読み出しトランジスタとを備えているアナログCMOSベースのフレームワークを使用して実装されることができる。このフレームワークでは、該コンデンサは、RPUセル110のメモリ素子として機能し、及びコンデンサ電圧の形式で重み値を記憶し、ここで、該コンデンサ電圧は、該コンデンサ電圧のゲート端子に印加されて、該コンデンサ電圧のレベルに基づいて読み出しトランジスタのチャネル抵抗を変調し、ここで、該読み出しトランジスタのチャネル抵抗は、該RPUセルのコンダクタンスを表し、及び該チャネル抵抗に基づいて生成された読み出し電流のレベルと相関する。
DNNを適切に訓練し、そして高精度を達成する為には、所与のDNNアルゴリズムが有意なエラーペナルティ無しに許容することができるところの許容可能なRPUデバイスパラメータの厳しい仕様セットを、調整可能な抵抗デバイス(tunable resistive devices)の操作特性が満たしている必要がある。これらの仕様は例えば、抵抗メモリデバイスのスイッチング特性における変動、例えば、単一の電位差による最小増分コンダクタンス変化(±Δgmin)、上下コンダクタンス変化における対称性、該コンダクタンス値の調整可能な範囲(tunable range)、等を包含する。
図1は、本開示の例示的な実施態様に従う、複数の抵抗処理ユニットセルの1つのアレイを備えているコンピューティングシステムを概略的に図示する。より詳細には、図1は、複数の行R1,R2,R3,…,Rm、及び複数の列C1,C2,C3,…,Cnに配列された複数のRPUセル110の2次元(2D)クロスバーアレイを備えているコンピューティングシステム100(例えば、ニューロモーフィックコンピューティングシステム)を概略的に示す。各行R1,R2,R3,…,Rmにおける複数のRPUセル110は、夫々の行制御線RL1,RL2,RL3,…,RLm(まとめて、行制御線RLという)に共通に接続されている。各行RL1,RL2,RL3,…,RLmにおける複数のRPUセル110は、夫々の列制御線CL1,CL2,CL3,...,CLn(まとめて、列制御線CLという)に共通に接続されている。各RPUセル110は、行制御線及び列制御線の夫々の1つのクロスポイント(すなわち、交差点(intersection))において(及びそれの間に)接続されている。1つの例示的な実施態様において、RPUシステム100は、複数のRPUセル110の4,096×4,096のアレイを備えている。
コンピューティングシステム100は、行制御線RL1,RL2,RL3,…,RLmに接続された周辺回路120と、列制御線CL1,CL2,CL3,…,CLnに接続された周辺回路130とを更に備えている。更に、周辺回路120はデータ入出力(I/O)インタフェースブロック125に接続されており、及び周辺回路130はデータI/Oインタフェースブロック135に接続されている。コンピューティングシステム100は更に、コンピューティングシステム100の周辺回路120及び130の操作の為の電力分配及び制御信号及びクロッキング信号を提供する為の、様々な種類の回路ブロック、例えば、電力、クロック、バイアス及びタイミング回路、を備えている制御信号回路140を備えている。
ニューロモーフィックコンピューティングアプリケーションにおいて、複数のRPUセル110は、プレニューロン(pre-neurons)とポストニューロン(post-neurons)との間の重み付けされた接続を提供する人工シナプスを備えている。複数のプレニューロン及びポストニューロンが、複数のRPUセル110の2Dクロスバーアレイを介して接続され、それは、完全に接続されたニューラルネットワークを自然に表現する。幾つかの実施態様において、コンピューティングシステム100は、DNN又はCNN計算を実行するように構成されており、ここで、各RPUセル110のコンダクタンスは、行列要素又は重みwijを表し、それは、周辺回路120及び130の操作を通じて更新又はアクセスされることができる(ここで、wijは、複数のRPUセル110の該1つのアレイにおけるi番目の行及びj番目の列の為の重み値を表す)。上述されているように、DNN訓練は一般的に、3つの繰り返しサイクル、すなわち、フォワードサイクル、バックワードサイクル及び重み更新サイクル、を含むバックプロパゲーションプロセスに依拠する。コンピューティングシステム100は、バックプロパゲーションプロセスの3つのサイクル全てを並行して実行するように構成されることができ、従って、より低い電力及び減少された計算リソースを用いてDNN訓練に有意な加速を潜在的に提供する。コンピューティングシステム100は、アナログドメインにおけるベクトル行列乗算演算を並列的に実行するように構成されることができる。
行制御線RL及び列制御線CLは各々、図示を容易にする為に単一の線として図1において示されているが、各行及び各列の制御線は、実装と、複数のRPUセル110の特定のアーキテクチャに依存して、夫々の行及び列における複数のRPUセル110に接続された2以上の制御線を含むことができることが理解されるべきである。例えば、幾つかの実施態様において、各行制御線RLは、所与のRPUセル110についてのワード線の相補的な1対を備えていることができる。その上、各列制御線CLは、例えば、1以上のソース線(SL:source line)及び1以上のビット線(BL:bit line)を備えている複数の制御線を備えうる。
周辺回路120及び130は、複数のRPUセル110の2Dアレイにおける夫々の行及び列に接続された種々の回路ブロックを備えており、該回路ブロックは、ベクトル行列乗算関数(vector-matrix multiply functions)、行列ベクトル乗算関数(matrix-vector multiply functions)、及び外積更新演算を実行して、(ニューラルネットワーク訓練の為の)バックプロパゲーションプロセスのフォワード操作、バックワード操作及び重み更新操作、並びに訓練済みニューラルネットワークを用いた推論処理を実装するように構成されている。例えば、幾つかの実施態様において、RPUセルの読み出し操作/感知操作(例えば、所与のRPUセル110の重み値の読み出し)をサポートする為に、周辺回路120及び130は、フォワードサイクル/バックワードサイクルの間に受け取られた入力ベクトル値(読み出し入力値)に応答して、パルス幅変調(PWM:pulse-width modulation)読み出しパルスを生成し且つ複数のRPUセル110に適用するパルス幅変調(PWM)回路及び読み出しパルス駆動回路を備えている。
より具体的には、幾つかの実施態様において、周辺回路120及び130はデジタル・アナログ(D/A)変換回路を備えており、該デジタル・アナログ(D/A)変換回路は、(行又は列に適用されるべき)デジタル入力ベクトルを受け取り且つデジタル入力ベクトルを、パルス幅を変化させる入力電圧によって表されるアナログ入力ベクトル値に変換するように構成されている。幾つかの実施態様において、入力ベクトルが、調整可能な持続時間(tunable duration)(例えば、パルス持続時間は1ナノ秒(ns)の倍数であり、且つ入力ベクトルの値に比例する)を有する固定された振幅Vin=1Vパルスによって表される場合に、時間エンコードスキームが使用される。行(又は列)に印加される入力電圧は、出力電流によって表される出力ベクトル値を生成し、ここで、複数のRPUセル110の重みは、出力電流を測定することによって読み出される。
周辺回路120及び130は更に、接続された複数のRPUセル110から出力され且つ蓄積される読み出し電流(IREAD)を積分し、そして、該積分された電流をその後の計算の為にデジタル値(読み出し出力値)に変換する電流積分回路及びアナログ・デジタル(A/D)変換回路を備えている。特に、複数のRPUセル110によって発生した電流が列(又は行)上で一緒にされ、そしてこの合計電流が周辺回路120及び130の電流読み出し回路によって測定時間Tmeasにわたって積分される。該電流読み出し回路は、積算電流計及びアナログ・デジタル(A/D)変換器を備えている。幾つかの実施態様において、各積算電流計は、コンデンサ上の所与の列(又は行)からの電流出力(又は、負及び正の重みを実装する複数のRPUセルの対からの差動電流)を積分するオペアンプを備えており、及びアナログ・デジタル(A/D)変換器は、該積分された電流(例えば、アナログ値)をデジタル値に変換する。
データI/Oインタフェース125及び135は、デジタル処理コアとインタフェースするように構成されており、ここで、デジタル処理コアは、コンピューティングシステム100(ニューラルコア)への入力/出力を処理し、及び異なるRPUアレイ間でデータを経路付けするように構成されている。データI/Oインタフェース125及び135は、(i)デジタル処理コアから外部制御信号及びデータを受け取り、そして、該受け取られた制御信号及びデータを周辺回路120及び130に提供し、並びに(ii)周辺回路120及び130からデジタル読み出し出力値を受け取り、そして、処理の為にデジタル読み出し出力値をデジタル処理コアへ送信するように構成されている。幾つかの実施態様において、該デジタル処理コアは、ニューラルネットワークの次の層又は前の層に提供されるべきデータに活性化関数(例えば、シグモイドニューロン関数、ソフトマックス等)及び他の算術演算を計算するところの非線形関数回路を実装する。
当技術分野において知られているように、完全に接続された複数のDNNは、一連の線形及び非線形変換を経ることによって、信号が入力層から出力層にプロパゲーションするような完全に接続された複数の層のスタックを備えている。DNN全体は、入力データを出力層においてクラススコアにマッピングするところの単一の微分可能なエラー関数を表す。典型的には、DNNは、バックプロパゲーションアルゴリズムを用いて各パラメータに関するエラー勾配が計算されるところの単純な確率的勾配降下(SGD:stochastic gradient decent)スキームを用いて訓練される。該バックプロパゲーションアルゴリズムは、3つのサイクル、すなわち、フォワードサイクル、バックワードサイクル、重み更新サイクル、で構成されており、それは、収束基準が満たされるまで何度も繰り返される。該フォワードサイクル及びバックワードサイクルは主に、図1において示されているコンピューティングシステムのRPUデバイスセル110の2Dクロスバーアレイを用いて、フォワード方向及びバックワード方向におけるベクトル行列乗算演算を含む。
図1のコンピューティングシステム100において、コンダクタンス値gijは、複数のRPUセルの2Dクロスバーアレイにおいて、重み値wijの行列Wを形成する。フォワードサイクル(図2A)において、(電圧パルスの形式における)入力ベクトルが、2Dクロスバーアレイにおける入力行の各々を通じて伝送されて、複数のRPUセル110においてベクトル行列乗算を実行する。バックワードサイクル(図2B)において、列から供給される電圧パルスが複数のRPUセル110に入力され、及びベクトル行列積が、重み行列Wの値の転置で計算される。フォワードサイクル及びバックワードサイクルとは対照的に、抵抗デバイスの2Dクロスバーアレイ上で重み更新を実装することは、乗算操作と、1つのアレイにおける各クロスポイントRPUデバイスにおいて局所的に実行される増分重み更新とを備えているベクトル-ベクトル外積を計算することを必要とする。図2A、図2B及び図2Cは、図1のコンピューティングシステム100を使用して実行されることができるバックプロパゲーションアルゴリズムの夫々のフォワードパス、バックワードパス及び重み更新操作を概略的に示す。
N個の入力ニューロンがM個の出力(又は隠れ)ニューロンに接続されている単一の完全に接続された層の場合、フォワードパス(図2A)は、ベクトル行列乗算y=Wxを計算することを含み、ここで、長さNのベクトルxは、入力ニューロンの活動を表し、及び大きさM×Nの行列Wは、入力ニューロンと出力ニューロンとの各ペア間の重み値を格納する。長さMの結果として得られたベクトルyは更に、要素の各々に非線形活性を実行することによって処理され、そして次に、次の層へと渡される。情報が最後の出力層に一旦到達すると、エラー信号が計算され、そして、ネットワークを通じてバックプロパゲーションされる。該フォワードサイクルにおいて、複数のRPUセル110の該クロスバーアレイ中に記憶されたコンダクタンス値が行列を形成し、一方、該入力ベクトルは、入力行R1,R2,R3,…,Rmの各々を通じる電圧パルスとして伝送される。
単一の層上でバックワードサイクル(図2B)はまた、重み行列の転置z=WTδにおけるベクトル行列乗算を含み、ここで、Wは重み行列を表し、ここで、長さMのベクトルδは出力ニューロンによって計算されたエラーを表し、及びここで、長さNのベクトルzはニューロンの非線形性の微分を用いて処理され、そして次に、前の層に渡される。バックワードサイクルにおいて、電圧パルスが入力として列CL1,CL2,CL3,…,CLnから複数のRPUセル110に供給され、そして、ベクトル行列積が重み行列Wの転置について計算される。
最後に、更新サイクル(図2C)において、重み行列Wは、フォワードサイクル及びバックワードサイクルにおいて使用される2つのベクトルの外積を実行することによって更新される。特に、抵抗デバイスの2Dクロスバーアレイ上で、該1つのアレイサイズに依存せずに、局所的且つ全て並列に重み更新を実装することは、図1のコンピューティングシステムにおける各クロスポイント(RPUセル110)において局所的に実行されるべき乗算演算及び増分重み更新からなるベクトル-ベクトル外積(vector-vector outer product)を計算する必要がある。図2Cにおいて概略的に示されているように、重み更新処理は、以下のように計算される:wij←wij+ηxi×δj、ここで、wijは、i番目の行とj番目の列についての重み値を表し(分かり易くする為に、層インデックスは省略されている)、ここで、xiは、入力ニューロンでの活動であり、δjは出力ニューロンによって計算されるエラー値であり、ここで、ηはグローバルな学習率を表す。
要約すると、重み行列Wにおける全ての演算は、M行及びN列を有する2端子RPUデバイスの2Dクロスバーアレイを用いて実装されることができ、ここで、該クロスバーアレイに記憶されたコンダクタンス値が行列Wを形成する。該フォワードサイクルにおいて、入力ベクトルxが電圧パルスとして行の各々に伝送され、そして、その結果得られるベクトルyは、該列から電流信号として読み取られることができる。同様に、電圧パルスがバックワードサイクルにおいて入力として列から供給されるときに、ベクトル行列積が重み行列の転置WTにおいて計算される。最後に、該更新サイクルにおいて、ベクトルxとδを表す電圧パルスが行及び列から同時に供給される。該更新サイクルにおいて、各RPUセル110は、列及び行から来る該電圧パルスを処理することによって局所的な乗算及び和演算を実行し、従って、増分重み更新を達成する。
該重み更新サイクルのxiベクトルとδjベクトルとの積を求める為に、周辺回路120及び130の確率的トランスレータ回路が、入力ベクトルxi及びδjを表す確率的ビットストリームを生成する為に利用される。ベクトルxi及びδjの為の確率的ビットストリームは、複数のRPUセルの2Dクロスバーアレイの行及び列を通じて供給され、ここで、所与のRPUセルのコンダクタンスは、所与のRPUセルに入力されたxiの確率的パルスストリームとδjの確率的パルスストリームとの一致に依存して変化するであろう。重み更新操作の為のベクトルクロス積演算は、実数を表す確率的ストリームの一致検出(AND論理ゲート演算を使用)が乗算操作と同等であるという既知の概念に基づいて実装される。上記された3つの演算モードにより、該ニューラルネットワークを形成する複数のRPUセルは、3つのサイクル全てにおいてアクティブであることを可能にし、従って、DNNの学習プロセスの間に複数のRPUセルの更新された重み値を計算する為にバックプロパゲーションアルゴリズムの非常に効率的な実装を可能にする。
ベクトル行列乗算がRPUアレイ上で実行されるフォワードパス操作及びバックワードパス操作の間、デジタル入力ベクトル(x又はδ)は、行及び列にわたって固定された振幅及び調整可能な持続時間(tunable durations)を有する電圧パルスとして送信されるところのアナログ入力ベクトルに変換される。幾つかの実施態様において、最大パルス持続時間は、積分時間(Tmeas→1)に関してユニティ(unity)を表し、ここで、全てのパルス持続時間は、xi又はδjの値に依存して適宜スケーリングされる。このスキームは、xにおける全てのxiが所与の範囲、例えば[-1,1]、にあるフォワードサイクルにおいて最適に機能する。しかしながら、このスキームは、δにおけるエラー信号値の範囲の為の保証がない故に、該バックワードサイクルの場合に問題となる。例えば、訓練プロセスが進み、分類エラーが益々小さくなるにつれて、δにおける全てのδjがユニティ(δ<<1)よりも有意に小さくなりうる。この場合、入力ベクトルδの入力エラー信号δjの低い信号強度の結果として、バックワードパス操作の間に発生する出力信号の信号強度が小さすぎて、読み出し回路のフルスケール演算範囲に適合しない場合がある。
幾つかの実施態様において、入力エラーベクトルδの最大入力エラー信号δjに基づいて、入力エラー信号δjが、例えば[-1,1]の間に入るように、フォワードパス操作の間にRPUアレイに適用される入力ベクトルの入力信号xiのフル入力範囲と同様の入力エラー信号δjがスケールされるようにノイズ管理システムがRPUアレイ内に実装されることができる。しかしながら、場合によっては、該フォワードパス操作及びバックワードパス操作についての入力信号範囲を一致させるプロセスは、例えば、ニューラルネットワーク(例えば、DNN)が訓練される様式によって、フォワードパス操作及びバックワードパス操作の結果として生じる出力信号範囲を一致させるには不十分でありうる。
特に、フォワードパス操作の場合に、Wxの分布が大きくなる。なぜならば、入力ベクトルxと重み行列Wの重み値の値は典型的に相関し(例えば、そのような相関を高めることを意図されたDNN学習を通じて達成される)、一方、バックワードパス操作の為のWTδの場合に、エラーベクトルδと行列WTは典型的には、相関のないベクトルであり、従って、ゼロに近い結果を有する。結果的に、フォワードパス操作及びバックワードパス操作の出力信号強度は有意に異なる。その上、弱い出力信号がバックワードパス操作の間に生成される別の理由は、多くのDNNについての入力エラーベクトルδの多くの要素δjが典型的にゼロ又はゼロに非常に近いことである。この例において、該入力エラーベクトルδの値δjの入力範囲が該フォワードパス操作の為の入力ベクトルxの入力信号xiの入力範囲(例えば、[-1,1])に一致する場合であっても、入力エラーベクトルδの値δjをスケーリングすることは、該バックワードパス操作によって生成される出力信号の信号強度を有意に増加させない場合がある。
少なくとも上述された理由の場合に、(該フォワードパス操作及びバックワードパス操作の為に共有される)読み出し回路が、該フォワードパス操作の間に生成される出力信号の範囲についてより最適である固定された出力信号バウンドb(例えば、操作信号範囲)を有するように構成されている場合に、該バックワードパス操作の間に実行されるベクトル行列乗算演算の結果として生成される出力信号は小さすぎる可能性があり、且つ場合によっては容易に検出されることができない又は量子化されることができないことがある。例えば、該固定された出力信号バウンドbは、共有された読み出し回路の電流積分回路が固定サイズの積分コンデンサを有すること、又は該共有された読み出し回路のADC回路が固定されたADC分解能を有すること等の結果である。そのような場合に、相対的に小さい(例えば、ゼロに近い)アナログ出力信号は、有限のADC分解能の為にゼロに量子化されるであろう。
この効果は、共有されたADC回路が、相対的に小さい分解能(例えば、3ビット、4ビット、5ビットの分解能)を有するように構成されている場合に特に深刻であり、ここで、ADCビンサイズ(すなわち、最下位ビット(LSB:least significant bit)電圧)は相対的に大きい。固定された出力バウンドb(例えば、同じサイズの積分コンデンサ若しくは同じADC分解能又はそれらの組み合わせ等)を有する(フォワード及びバックワードパス操作の為の)共有された読み出し回路の使用は、該フォワードパス操作の間に生成された電圧信号を効果的に読み出し且つ量子化する為に十分でありうるが、バックワードパス操作の間に生成された電圧信号(それは、バックワードパス操作の間にニューラルネットワーク層を通じてプロパゲーションされるエラー信号を表す)を効果的に読み出し且つ量子化するには不十分である。バックワードプロパゲーションのエラー信号(backward propagating error signals)は、フォワードプロパゲーション信号(forward propagating signals)よりも遙かに低い信号強度を有する為に、該共有された読み出し回路の固定された信号出力バウンドbは、該バックワードプロパゲーションの信号(backward propagating signals)の量子化を不十分にし、それにより、「消失勾配」(vanishing gradients)として言及される効果を結果として生じる。
当技術分野において知られているように、ADC回路は、アナログ信号(連続時間、又は連続振幅のアナログ信号)を、量子化プロセスを通じてデジタル信号に変換する。ADCの分解能は、ADCがアナログ入力値の許容された範囲にわたって生成することができる離散値の数を言及する。例えば、8ビットの分解能を有するADCは、アナログ入力信号を256個の異なるレベル(28=256)のうちの1つにエンコードすることができ、256:1のダイナミックレンジを提供する。該値は、アプリケーションに依存して、[0~255](すなわち、符号無しの整数)又は[-128~127](すなわち、符号付きの整数)の範囲を表すことができる。ADCの分解能はまた、最下位ビット(LSB)電圧によって示される(「電圧分解能」としてまた言及される)。ADCのLSBは検出されることができる最小の間隔を表し、8ビットADCの場合に、該LSBは約1/256、すなわち3.9x10-3である。LSB電圧(又は、電圧分解能)は、出力コードレベルにおける変化を保証する為に必要である電圧における変化を云う。ADCの電圧分解能は、アナログ入力電圧値の許容された範囲(例えば、フルスケール操作電圧範囲)を離散的な間隔の数で割った値に等しい。
例えば、ADCのフルスケール操作電圧範囲が-10Vから+10Vである(ここで、Vはマイクロボルト(μV)、ミリボルト(mV)等であることができる)と仮定すると、8ビットADCの電圧分解能は20/256であり、それは、およそ0.078Vである。所与の操作(例えば、バックワードパス)の為のアナログ電圧値が、ADCのフルスケール操作電圧範囲[-10V~+10V]と比較してはるかに小さな電圧範囲、例えば[-0.1V~+0.1V]、内にある場合、より小さな電圧範囲についての実効電圧分解能は、LSBが0.078Vである故に有意に制限され、それにより、0.078V未満の絶対値を有する任意のアナログ電圧信号がゼロとして量子化されるであろう。言い換えれば、より小さな電圧範囲[-0.1V~+0.1V]において、8ビットADCは0.078Vよりも小さい電圧差を理想的に解決することができない。このシナリオにおいて、8ビットADCの場合には、8ビットADCの電圧分解能をより多くの離散レベル(例えば、256レベル)に高めて、より小さな電圧範囲(-0.1V~+0.1V)内の電圧値をより効果的に量子化することがより望ましいであろう。幾つかの実施態様において、より小さい電圧を測定するように実装されることができるように、より小さいフルスケール範囲を有する低いビット分解能が実装されることができる。
本開示の例示的な実施態様は、アナログRPUクロスバーアレイの異なる操作モード、例えば、フォワードパス操作及びバックワードパス操作、に異なる信号バウンドを提供する為に、共有された読み出し回路の構成(例えば、ハードウェア構成)を動的に変更することによってアナログドメインにおいて実装されるところのバウンド管理技法を実装する。(δ<<1)である場合に該バックワードパス操作についての出力信号を強化する為に、様々な技術が、共有された読み出し回路を、該フォワードパス操作の間に第1の構成を有し且つバックワードパス操作の間に第2の構成を有するように動的に構成する為に使用されることができる。特に、該フォワードパス操作において、該共有された読み出し回路は、該読み出し回路が第1の出力信号バウンドb1(例えば、第1の操作信号範囲)で操作、及び該バックワードパス操作において、該共有された読み出し回路は、第2の出力信号バウンドb2(例えば、第2の操作信号範囲)で操作するところの第1の構成を有するように構成され、ここで、b2<b1である。
図3Aは、本開示の例示的な実施態様に従って、フォワードパス操作を実行する為に複数の抵抗処理ユニットセルの1つのアレイを備えているコンピューティングシステムを構成する為の方法を概略的に示す。特に、図3Aは、複数のRPUセル305の1つのクロスバーアレイを備えているコンピューティングシステム300を概略的に示し、ここで、1つのアレイ305における各RPUセル310は、各行(R1,R2,...,Rm)及び各列(C1,C2,...,Cn)の交差部においてアナログ不揮発性抵抗素子(調整可能なコンダクタンス(tunable conductance)Gを有する可変抵抗(variable resistor)として表されている)を備えている。図3Aにおいて図示されているように、複数のRPUセル305の該1つのアレイは、夫々の複数のRPUセル310のコンダクタンス値Gij(ここで、iは行インデックスを表し、及びjは列インデックスを表す)によってエンコードされるシナプス重みWijの行列にマッピングされるコンダクタンス値Gijの行列を提供する。複数のRPUセル305の該1つのアレイは、人工ニューラルネットワークの上流層(例えば、入力層又は中間層)のノード(人工ニューロン)を、該人工ニューラルネットワークの次の下流層(中間層又は出力層)のノード(人工ニューロン)に接続するところの人工プログラム可能なシナプス素子の1つのアレイを表す。
フォワードパス操作の場合に、コンピューティングシステム300の周辺回路内のマルチプレクサは、行線駆動回路320を行線R1,R2,...,Rmに選択的に接続するように作動化される。該行線駆動回路320は、夫々の行線R1,R2,...,Rmに接続されている複数のDAC回路ブロック322-1,322-2,...,322-m(まとめて、DAC回路ブロック322という)で構成されている。加えて、コンピューティングシステム300の周辺回路におけるマルチプレクサは、読み出し回路330を列線C1,C2,...,Cnに選択的に接続するように作動化される。読み出し回路330は、夫々の列線C1,C2,...,Cnに接続されている複数の読み出し回路ブロック330-1,330-2,...,330-nを備えている。読み出し回路ブロック330-1,330-2,...,330-mは、夫々の電流積分回路332-1,332-2,...,332-m及び夫々のADC回路334-1,334-2,...,334-mを備えている。
ニューラルネットワークにおけるフォワードパス操作は、上流層(例えば、入力層又は隠れ層)のニューロン活性度及び、該上流層のニューロンと下流層(例えば、隠れ層又は出力層)のニューロンとを接続するシナプス重みに基づいて、該下流層のニューロン活性度を計算する為に行われる。図3Aにおいて、上流のニューロンは、該上流のニューロンの励起を表すデジタル信号x=[x1,x2,...,xm](入力ベクトルとして言及される)を生成し、ここで、デジタル信号x1,x2,...,xmは夫々のDAC回路ブロック322-1,322-2,...,322-mに入力され、それにより、アナログ電圧V(t)(時間の関数としての電圧)信号を行線R1,R2,...,Rm上に生成し、それは、該上流ニューロンの励起、すなわちx=[x1,x2,...,xm]に比例する。
幾つかの実施態様において、DAC回路ブロック322-1,322-2,...,322-mは各々、夫々の行線R1,R2,...,Rmに印加されるパルス幅変調(PWM)読み出しパルスV1,V2,...,Vmを生成するように構成されたパルス幅変調回路及び駆動回路を備えている。より具体的には、幾つかの実施態様において、DAC回路ブロック322-1、322-2、...、322-mは、入力ベクトルが調整可能な持続時間(tunable duration)を有する固定された振幅パルス(例えば、V=1V)によって表される時間エンコードスキームを用いてデジタル・アナログ変換プロセスを実行するように構成され、ここで、パルス持続時間は予め特定された時間周期(例えば、1ナノ秒)の倍数であり、及び入力ベクトルの値に比例する。例えば、所与のデジタル入力値0.5は4ナノ秒の電圧パルスによって表されることができ、デジタル入力値1は80ナノ秒の電圧パルスによって表されることができる(例えば、デジタル入力値1は、積分時間Tmeasに等しいパルス持続時間を有するアナログ電圧パルスにエンコードされることができる)。図3Aにおいて示されているように、結果として得られるアナログ入力電圧V1,V2,...,Vm(例えば、読み出しパルス)は、行線R1,R2,...,Rmに印加される。
フォワードパス操作の間、アナログ入力電圧V1,V2,...,Vm(例えば、読み出しパルス)が、行線R1,R2,...,Rmに印加され、ここで、各RPUセル310は、対応する読み出し電流IREAD=Vi×Gij(オームの法則に基づく)を発生し、ここで、Viは、所与の行iにおける所与のRPUセル310に印加されるアナログ入力電圧を示し、及びGijは、(所与の行i及び所与の列jにおける)所与のRPUセル310のコンダクタンス値を示す。図3Aにおいて示されているように、各列j上の複数のRPUセル310によって生成される読み出し電流は、(キルヒホッフ電流則に基づいて)合計され、夫々の列C1,C2,...,Cnの出力において夫々の電流I1,I2,...,Inを生成する。この様式において、結果として得られる列電流I1,I2,...,Inは、フォワードパス操作において実行されるベクトル行列乗算演算の結果を表し、ここで、図3Aにおいて示されているように、入力電圧ベクトル[V1,V2,...,Vm]が(コンダクタンス値Gijの)コンダクタンス行列Gと乗算されて出力電流ベクトル[I1,I2,...,In]を発生する。特に、所与の列電流Ijは、下記の式で計算される。
例えば、第1の列C1の列電流I1は、I1=(V1G11+V2G21+,…,+VmGm1)として決定される。
夫々の列C1,C2,...,Cnの出力における結果として得られた集約読み出し電流(aggregate read currents)I1,I2,...,Inは、読み出し回路330の夫々の読み出し回路ブロック330-1,330-2,...,330-nに入力される。集約読み出し電流I1,I2,...,Inは、夫々の電流積分回路332-1,332-2,...,332-nによって積分されて、夫々の出力電圧を発生し、それにより、夫々のADC回路334-1,334-2,...,334-nによって量子化されて、出力ベクトルyの夫々のデジタル出力信号y1,y2,...,ynを発生する。デジタル出力信号y1,y2,...,ynは処理され、そして、次の下流層に伝送されて、フォワードプロパゲーションを継続する。データがニューラルネットワークを通じてフォワードに伝搬する際に、ベクトル行列乗算が行われ、ここで、隠れニューロン/ノードが入力を受け取り、非線形変換を行い、そして次に、該結果を次の重み行列に送る。このプロセスは、データが出力ニューロン/ノードを備えている出力層に到達するまで続けられる。出力ニューロン/ノードは分類エラーを評価し、そして、分類エラー信号δを生成し、それにより、バックワードパス操作を使用して該ニューラルネットワークを通じて逆伝搬される。エラー信号δは、フォワード推論分類の結果(推定されたラベル)と該ニューラルネットワークの出力層における正しいラベルとの間の差として決定されることができる。
図3Bは、本開示の例示的な実施態様に従って、バックワードパス操作を実行する為に複数の抵抗処理ユニットセルの1つのアレイを備えているコンピューティングシステムを構成する為の方法を概略的に示す。特に、図3Bは、バックワードパス操作を実行する際のコンピューティングシステム300の構成を概略的に示し、ここで、コンピューティングシステム300の周辺回路内のマルチプレクサは、列線駆動回路340を列線C1,C2,...,Cnに選択的に接続し、及び共有された読み出し回路330を行線R1,R2,...,Rmに接続する為に作動化される。列線駆動回路340は、夫々の列線C1,C2,...,Cnに接続されている複数のDAC回路ブロック342-1,342-2,...,342-n(まとめて、DAC回路ブロック342という)を備えている。
幾つかの実施態様において、上述されているように、図3A及び図3Bに例示されているように、各行及び各列が専用のDAC回路ブロックを有するように、該行及び列はDAC回路を共有しない。一方、幾つかの実施態様において、該行及び列は読み出し回路330を共有する(例えば、行R1及び列C1は読み出し回路ブロック330-1を共有し、並びに行R2及び列R2は読み出し回路ブロック330-2を共有する等)。幾つかの実施態様において、行の数と列の数とが同じである場合(すなわち、n=m)、共有された読み出し回路330の読み出し回路ブロックの数は、n=mに等しくなり、一方、行と列の数が同じでない場合(すなわち、n≠m)、読み出し回路330の読み出し回路ブロックの数は、n及びmのうちの大きい方に等しくなるであろう。
図3Bにおいて示されているように、コンピューティングシステム300の複数のRPUセル305の1つのアレイ上で行われるバックワードパス操作は、コンピューティングシステム300が、該ニューラルネットワークの下流層からバックプロパゲーションされるエラー信号δ=[δ1,δ2,...,δn]のベクトルを受け取ることを除いて、フォワードパス操作(図3A)と同様の様式で行われる。デジタルエラー信号δ1,δ2,...,δnは、夫々の列C1,C2,...,Cnに接続されている夫々のDAC回路ブロック342-1,342-2,...,342-nに入力される。DAC回路ブロック342-1,342-2,...,342-nは、上述されたのと同じ又は同様の時間エンコード技術を使用してアナログ電圧V1,V2,...,Vnを生成し、夫々のデジタルエラー信号δ1,δ2,...,δnの値に対応するパルス変調電圧パルス(同じ振幅だが調整可能なパルス幅(tunable pulse width))を生成する。以下に更に詳細に説明されているように、幾つかの実施態様において、バックワードパス操作の為に、アナログ電圧信号V1,V2,...,Vnは、フォワードパス操作の為に利用される積分時間T1measよりも大きい積分時間T2measに基づいて生成される。
バックワードパス操作の間、アナログ電圧信号V1,V2,...,Vn(例えば、エラー信号を表す読み出しパルス)、が列線C1,C2,...,Cnに印加され、ここで、各RPUセル310は、対応する読み出し電流IREAD=Vj×Gij(オームの法則に基づく)を発生し、ここで、Vjは所与の列j上における所与のRPUセル310に印加されるアナログ入力電圧を示し、及びGijは(所与の行i及び列jにおける)所与のRPUセル310のコンダクタンス値を示す。図3Bにおいて示されているように、各行i上の複数のRPUセル310によって生成される読み出し電流は、(キルヒホッフの電流則に基づいて)合計され、夫々の行R1,R2,...,Rmの出力において夫々の行電流I1,I2,...,Imを生成する。この様式において、行電流I1,I2,...,Inは、図3Bにおいて示されているように、バックワードパス操作において実行される行列ベクトル乗算演算の結果を表し、ここで、(コンダクタンス値Gijを有する)コンダクタンス行列Gが入力電圧ベクトル[V1,V2,,...,Vn]と乗算されて出力電流ベクトル[I1,I2,...,Im]を発生する。特に、所与の行電流Iiは、下記の式で計算される。
例えば、第1行R1の列電流I1は、I1=(V1G11+V2G12+,…,+VnG1n)として決定される。
夫々の行R1,R2,…,Rmの出力における結果として得られた集約読み出し電流I1,I2,…,Imは、該共有された読み出し回路330の夫々の読み出し回路ブロック330-1,330-2,...,330-mに入力される。集約読み出し電流I1,I2,...,Imは、夫々の電流積分回路332-1,332-2,...,332-mによって積分されて、夫々の出力電圧を発生し、それにより、夫々のADC回路334-1,334-2,...,334-mによって量子化されて、出力ベクトルzの夫々のデジタル出力信号z1,z2,...,zmを発生する。デジタル出力信号z1,z2,...,zmは、次に処理され、そして、次の上流層に伝送され、バックワード伝搬操作を継続する。このプロセスは、エラー信号が入力層に到達するまで続けられる。
コンピューティングシステム300の複数のRPUセル305の1つのアレイにおいてバックワードパス操作が完了した後に、フォワードプロパゲーションされたデジタル信号x1,x2,…,xmと、フォワードパス操作及びバックワードパス操作の間に複数のRPUセル305の該1つのアレイによって受信されたバックワードプロパゲーションされたデジタルエラー信号δ,δ2,…,δnとに基づいて、複数のRPUセル310(それは、複数のRPUセル305の1つのアレイのコンダクタンス行列Gを表す)のコンダクタンス値を調整する重み更新プロセスが行われる。エラー信号値(すなわち、デルタ値)が所与のニューロン層について一旦積分されると、その層は、重み更新の為の準備が整う。コンピューティングシステム300の複数のRPUセル305の該1つのアレイ上で実行される更新プロセスは、コンピューティングシステム300の追加の上流層を通じてエラーベクトルδのバックワード伝搬とパイプライン化されることができる。幾つかの実施態様において、第1の隠れ層から入力層ニューロンに戻るバックワードプロパゲーションが実行されるが、入力ニューロンが上流のシナプスを有しないので必要とされず、従って、δエラー値を使用する最高層は第1の隠れ層である。
図3A及び図3Bにおいて更に示されているように、モード制御システム350が、コンピューティングシステム300の複数のRPUセル305の1つのアレイ上で実行される異なる操作、例えば、フォワードパス及びバックワードパス操作、の為に異なる出力信号バウンドを有するように共有された読み出し回路330の構成(例えば、ハードウェア構成)を動的に変更する制御信号を生成するように構成される。例えば、図3Aにおいて示されているように、モード制御システム350は、共有された読み出し回路330を動的に構成して、フォワードパス操作の為に最適化された第1の構成、すなわちCONFIG_1を有するように1以上の制御信号を生成する。特に、フォワードパス操作において、共有された読み出し回路330は、該フォワードパス操作の間にRPUアレイ305及び周辺回路320及び330によって受信及び生成される電圧信号及び電流信号の予想された範囲(例えば、信号強度)に基づいて決定されるところの第1の出力信号バウンドb1(例えば、第1の操作信号範囲)を用いて操作されるように構成される。
その上、図3Bにおいて示されているように、モード制御システム350は、共有された読み出し回路330を動的に構成して、バックワードパス操作の為に最適化された第2の構成、すなわちCONFIG_2を有するように1以上の制御信号を生成する。特に、バックワードパス操作において、共有された読み出し回路330は、該バックワードパス操作の間にRPUアレイ305及び周辺回路340及び330によって受信及び生成される電圧信号及び電流信号の予想された信号強度範囲に基づいて決定されるところの第2の出力信号バウンドb2(例えば、第2の操作信号範囲)で操作されるように構成される。上述されているように、該バックワードパス操作において、エラー信号δは低い信号強度を有することができ(例えば、δ<<1)、ここで、該フォワードパス操作の為の共有された読み出し回路330の出力信号バウンドb1(例えば、第1の操作信号範囲)は、バックワードパス操作の間のように複数のRPUセル310の1つのアレイから出力される集約電流信号を適切に処理し且つ量子化する為には不十分である。以下で更に詳細に説明されているように、該バックワードパス操作の間にRPUアレイ305の複数のRPUセル310から出力される集約電流信号の信号処理及び量子化を強化する為に、第2の操作信号範囲を有するように周辺回路(例えば、共有された読み出し回路330)を動的に構成する為の様々な技術が実装されることができる。
図3A及び図3Bに示されているモード制御システム350(並びに、図6、図7A、図7B、図8及び図9Aに示されている例示的なモード制御システム)は一般的に、幾つかの実施態様において、ニューラルコアの周辺回路を制御する為の様々なタイプの制御回路、プロセッサ、及び関連付けられた機能性(ソフトウェア、ファームウェア、若しくはハードウェア又はそれらの組み合わせにおいて実装されている)を集合的に含む制御システム(例えば、コンピューティングシステム100(図1)の周辺回路120及び130、コンピューティングシステム300の周辺回路320、330及び340等)を制御し、それによって、該コンピューティングシステムによって実行される様々な操作(例えば、フォワード操作、バックワード操作、及び更新操作)を制御することが理解されるであろう。例えば、モード制御システム350は、制御信号回路140(図1)、並びにニューラルコアに動作可能に接続されている1以上のデジタル処理コアの制御回路及びプロセッサ等を備えており、ここで、1以上のデジタル処理コアは、該ニューラルコアによって行われる操作を指示する為にデータ及び制御信号を提供する。
図3A及び図3Bは、フォワードパス操作及びバックワードパス操作の間に集約列及び行電流を生成する為の例示的な方法を概略的に示すが、「符号付きの重み」を可能にする差動電流技術を使用して該集約列及び行電流を生成する為に他の技術が実装されることができる。例えば、図4A及び図4Bは、本開示の例示的な実施態様に従う、符号付きの重み値を使用してフォワードパス操作を実行する為に、複数の抵抗処理ユニットセルの1つのアレイを備えているコンピューティングシステムを構成する為の方法を概略的に示す。加えて、図5A及び図5Bは、本開示の例示的な実施態様に従う、符号付きの重み値を使用してバックワードパス操作を実行する為に、複数の抵抗処理ユニットセルの1つのアレイを備えているコンピューティングシステムを構成する為の方法を概略的に示す。
より具体的には、図4Aは、「符号付きの重み」を可能にする為に参照電流回路400によって生成される参照電流(IREF)を使用して、フォワードパス操作の間に集約列電流を生成する為の方法を概略的に示す。図示を容易にする為に、図4Aは、共有された読み出し回路330の第1の列C1及び関連付けられた読み出し回路ブロック330-1のみを示す。図4Aは、読み出し回路ブロック330-1に入力される集約列電流ICOL1が、ICOL1=I1-IREFとして決定される差動読み出しスキームを概略的に示す。この差動スキームにおいて、ICOL1の大きさは重み値を示し、及び重み符号は、I1が参照電流IREFよりも大きいか、等しいか又は小さいかに依存するだろう。正の符号(ICOL1>0)は、I1>IREFの場合に得られるだろう。ゼロ値(ICOL1=0)は、I1=IREFの場合に得られるだろう。負の符号(I COL1<0)は、I1<IREFの場合に得られるだろう。参照電流回路400は図4Aにおいて一般的に図示されているが、参照電流回路400は既知の技術を使用して実装されることができる。例えば、幾つかの実施態様において、参照電流回路400は、所与のアプリケーションの為に選択される既知の固定された大きさを有する参照電流IREFを生成するように構成された固定された電流源を備えている。
次に、図4Bは、2つの別個のRPUアレイ410-1及び410-2の対応する列C1+及びCl-からの差動列電流(different column currents)I1
+及びI1
-を使用してフォワードパス操作の間に集約列電流(aggregate column current)ICOL1を生成する為の方法を概略的に示し、ここで、コンダクタンスは(G+-G-)として決定される。より具体的には、図4Bの例示的な実施態様において、各RPUセル310(人工シナプス)は、夫々のコンダクタンス値Gij
+とGij
-を有するところの2つのユニットであるRPUセル310-1及び310-2を備えており、ここで、所与のRPUセルのコンダクタンス値は、夫々のコンダクタンス値の差、すなわちGij=Gij
+-Gij
-として決定され、ここで、i及びjは、シナプスの2Dアレイ内のインデックスである。このように、負の重み及び正の重みは、正だけのコンダクタンス値を用いて容易にエンコードされることができる。
言い換えれば、RPUデバイスのコンダクタンス値は正しかありえない故に、図4Bの差分スキームは、正(wij
+)の重み値と負(wij
-)の重み値とをエンコードする為に、一対の同一のRPUデバイスアレイを実装する。ここで、重み値(wij)は、一対のRPUアレイ410-1及び410-2の同一の位置にある2つの対応するデバイス(Gij
+-Gij
-)内に格納される2つのコンダクタンス値の差に比例する(ここで、2つのRPUアレイ410-1と410-2は、チップのバックエンド金属メタライゼーション構造(back-end-of-line metallization structure)において互いに積層されることができる)。この例において、単一のRPUタイルは、3つのサイクル全てにおける該1つのアレイの並列操作をサポートするところの周辺回路を備えたRPUアレイの1対とみなされる。
図4Bにおいて示されているように、正の重み及び負の重みをエンコードする為に使用される同一のRPUアレイ410-1及び410-2における対応する行中の複数のRPUセル310-1及び310-2に正の電圧パルス(V1,V2,...,Vm)及び対応する負の電圧パルス(-V1,V2,...,Vm)が別々に供給される。夫々のRPUアレイ410-1及び410-2における対応する第1の列C1+及びC1-から出力される集約列電流I1
+及びI1
-は組み合わされて、差動集約電流(differential aggregate current)ICOL1を生成し、該差動集約電流(differential aggregate current)ICOL1は、対応する第1の列C1+及びC1-に接続される読み出し回路ブロック330-1に入力される。
図5A及び図5Bは、図4A及び図4Bと同様であるが、バックワードパス操作の間に行の出力電流を生成する代替実施態様を概略的に示す。より具体的には、図5Aは、「符号付きの重み」を可能にする為に参照電流回路500によって生成される参照電流(IREF)を使用して、バックワードパス操作の間に集約行電流を生成する為の方法を概略的に示す。図示を容易にする為に、図5Aは、共有された読み出し回路330の第1の行R1及び関連付けられた読み出し回路ブロック330-1のみを示す。図5Aは、読み出し回路ブロック330-1に入力される集約行電流IROW1が、IROW1=I1-IREFとして決定される差動読み出しスキームを概略的に示す。この差分スキームにおいて、IROW1の大きさは重み値を示し、及び重み符号は、I1が参照電流IREFよりも大きいか、等しいか又は小さいかによって決まるだろう。正の符号(IROW1>0)は、I1>IREFの場合に得られるだろう。ゼロ値(IROW1=0)は、I1=IREFの場合に得られるだろう。負の符号(IROW1<0)は、I1<IREFの場合に得られるだろう。参照電流回路500は図5Aに一般的に図示されているが、参照電流回路500は既知の技術を使用して実装されることができる。例えば、幾つかの実施態様において、参照電流回路500は、所与のアプリケーションの為に選択される既知の固定された大きさを有する参照電流IREFを生成するように構成された固定された電流源を備えている。
次に、図5Bは、2つの別個のRPUアレイ410-1及び410-2の対応する行R1+及びRl-からの差動行電流I1
+及びI1
-を使用してバックワードパス操作の間に集約行電流Irow1を生成する為の方法を概略的に示す。また、図5Bの例示的な実施態様において、各RPUセル310(人工シナプス)は、夫々のコンダクタンス値Gij
+及びGij
-を有するところの2つのユニットであるRPUセル310-1及び310-2を備えており、ここで、所与のRPUセル310のコンダクタンス値は、夫々のコンダクタンス値の差、すなわちGij=Gij
+-Gij
-として決定され、ここで、i及びjは夫々のRPUアレイ410-1及び410-2内のインデックスである。このようにして、負の重み及び正の重みは、正だけのコンダクタンス値を用いて容易にエンコードされることができる。
図5Bにおいて示されているように、正の重み及び負の重みをエンコードする為に使用される同一のRPUアレイ410-1及び410-2における対応する列内の複数のRPUセル310-1及び310-2に正の電圧パルス(V1,V2,...,Vm)及び対応する負の電圧パルス(-V1,V2,...,Vm)が別々に印加される。夫々のRPUアレイ410-1及び410-2における対応する第1の行R1+及びR1-から出力される集約行電流I1
+及びI1
-は組み合わされて、差動集約電流ICOL1を生成し、該差動集約電流ICOL1は、対応する第1の列C1+及びC1-に接続されている読み出し回路ブロック330-1に入力される。
ここで、例示的な実施態様が、1つのアナログRPUクロスバーアレイの異なる操作モード、例えば、フォワードパス操作及びバックワードパス操作、について異なる信号バウンドを提供する為に、共有された読み出し回路の構成(例えば、ハードウェア構成)を動的に変更するようにアナログドメインが実装されるバウンド管理技術を概略的に示すところの、図6、図7A、図7B、図8、図9A及び図9Bに関連して更に詳細に議論される。特に、図6、図7A、図7B、図8、図9A及び図9Bは、周辺回路(例えば、共有された読み出し回路330)を動的に構成して、異なる操作モード(例えば、フォワードパス操作及びバックワードパス操作)の為に特殊化された構成(例えば、非対称ハードウェア構成)を有し、それによって異なる操作モードについてのアナログRPUクロスバーアレイの行及び列から出力される集約電流信号の信号処理及び量子化を最適化する為の様々な技術を概略的に示す。これは、該アナログRPUクロスバーアレイの周辺回路がバックワード操作及びフォワードパス操作の為の読み出し操作を実行する為に「対称的な」(symmetric)構成を有する慣用的なスキームと対照的である。
図6は、本開示の例示的な実施態様に従う、複数の抵抗処理ユニットセルの1つのアレイ上で実行される異なる操作の為に読み出し回路を動的に構成する為のシステムを概略的に示す。より具体的には、図6は、電流積分回路の積分コンデンサを動的に構成して、アナログRPUクロスバーアレイの操作モード(例えば、フォワードパス操作又はバックワードパス操作)に依存して電流積分回路のゲインを変更する為のシステム600を概略的に示す。システム600は、モード制御システム610及び読み出し回路ブロック620を備えている。モード制御システム610は、フォワードパス操作及びバックワードパス操作の間に利用される共有された読み出し回路(例えば、共有された読み出し回路330、図3A及び図3B)の全ての読み出し回路ブロックに適用される様々な制御信号612を生成するように構成される。例示的な実施態様において、制御信号612は、
として示されている制御信号を含む。
図示を容易にする為に、図6は、共有された読み出し回路330の複数の読み出し回路ブロックのi番目の読み出し回路ブロックを表す所与の読み出し回路ブロック620を概略的に図示する。図6の例示的な実施態様において、共有された読み出し回路330の各読み出し回路ブロックが読み出し回路ブロック620と同じ回路構成を有し、及び共有された読み出し回路330の各読み出し回路ブロックが、関連付けられたアナログRPUクロスバーアレイ上で行われるフォワードパス操作及びバックワードパス操作の間にモード制御システム610から出力されるところの制御信号612を受信すると仮定されている。
図6において概略的に示されているように、読み出し回路ブロック620は、マルチプレクサ回路630、電流積分回路640、及びADC回路650を備えている。電流積分回路640は、オペアンプ642、第1の積分コンデンサ644-1、第2の積分コンデンサ644-2、第1のスイッチ646-1、第2のスイッチ646-2を備えている。オペアンプ642は、グランド(GND)電圧に接続された非反転入力、マルチプレクサ回路630の出力に接続された反転入力(ノードN1と表記される)、ADC回路650の入力に接続された出力(ノードN2と表記される)を備えている。ノードN1とノードN2との間には、第1の積分コンデンサ644-1及び第1のスイッチ646-1がシリアルに接続され、ノードN1とノードN2との間には、第2の積分コンデンサ644-2及び第2のスイッチ646-2がシリアルに接続されている。
図6において更に示されているように、マルチプレクサ回路630は、RPUクロスバーアレイの対応する行線ROW(i)及び列線COL(i)に接続されている第1の入力及び第2の入力を有する。マルチプレクサ回路630は、制御信号F_モード及びB_モードを受信する制御入力を備えている。制御信号F_モードは、該RPUクロスバーアレイがフォワードパス操作を行っている場合にモード制御システム610から出力される制御信号を含み、及び制御信号B_モードは、該RPUクロスバーアレイがバックワードパス操作を行っている場合にモード制御システム610から出力される制御信号を含む。幾つかの実施態様において、マルチプレクサ回路630は、(i)B_モード制御信号のアサーションに応答して、行線ROW(i)を電流積分回路640の入力ノードN1に接続し、及び(ii)F_モード制御信号のアサーションに応答して、列線COL(i)を電流積分回路640の入力ノードN1に接続するように構成される。
この構成において、マルチプレクサ回路630は、該RPUクロスバーアレイによって実行されるフォワードパス操作及びバックワードパス操作の為の読み出し回路ブロック620の共有を制御するように構成される。例えば、図3A及び図3Bの例示的な実施態様において、マルチプレクサ回路630及び関連付けられた制御信号F_モード及びB_モード(共有された読み出し回路330の読み出し回路ブロックの各々に実装される)は、フォワードパス操作(図3A)の間に、RPUアレイ305の列線C1,C2,...,Cnを該共有された読み出し回路330に選択的に接続する為の、及びバックワードパス操作(図3B)の間に、RPUアレイ305の行線R1,R2,...,Rmを該共有された読み出し回路330に選択的に接続する為のメカニズムを提供する。
電流積分回路640は、積分期間(integration period)(Tmeas)にわたって積分関数を実行し、電流積分回路640の入力ノードN1における入力電流を、電流積分回路640の出力ノードN2におけるアナログ電圧VOUTに変換する。積分期間の終了後、ADC回路650は出力電圧VOUTをラッチし、そして、出力電圧VOUTを量子化して、アナログ出力電圧VOUTに対応するデジタル信号を生成する。該入力電流は、(i)フォワードパス操作の間に電流積分回路640の入力ノードN1に(マルチプレクサ回路630の操作を介して)選択的に接続されている列線COL(i)から出力される集約列電流、又は(ii)バックワードパス操作の間に電流積分回路640の入力ノードN1に(マルチプレクサ回路630の操作を介して)選択的に接続されている行線ROW(i)から出力される集約行電流であることができる。
電流積分回路640は、入力電流(集約行電流又は集約列電流)を電流積分回路640の出力ノードN2上の出力電圧VOUTに変換する為に、第1の積分コンデンサ644-1及び第2の積分コンデンサ644-2のうちの一方によって設けられた選択可能な容量性フィードバックを有する演算相互コンダクタンス増幅器(OTA:operational transconductance amplifier)として構成される。図6の例示的な構成において、第1の積分コンデンサ644-1は静電容量値CINT1を含み、及び第2の積分コンデンサ644-2は静電容量値CINT2を含み、ここで、CINT1はCINT2よりも大きい。第1の積分コンデンサ644-1及び第2の積分コンデンサ644-2は、異なる操作モード(例えば、フォワードパス操作及びバックワードパス操作)の為にオペアンプ642のフィードバック経路に選択的に接続され、フィードバック静電容量の量を変更し、従って、電流の操作モードに応じて電流積分回路640のゲインを変更する。
図6の例示的な実施態様において、電流積分回路640は、オペアンプ642の静電容量性フィードバック経路において第1の電流積分コンデンサ644-1及び第2の電流積分コンデンサ644-2のうちの一方を選択的に接続することによって高ゲイン構成と低ゲイン構成との間で動的に切り替え可能な構成可能なゲインを有する。例えば、フォワードパス操作の間、電流積分回路640は、出力ノードN2上に出力電圧VOUTを生成する為に低ゲイン構成を有するように構成されることができ、及びバックワードパス操作の間、電流積分回路640は、出力ノードN2上に出力電圧VOUTを生成する為に高ゲイン構成を有するように構成されることができる。
一般的に、電流積分回路640によって生成される出力電圧VOUTは、下記の式で決定される。
ここで、Rは、電流積分回路640の入力ノードN1における集約電流(行電流又は列電流)に寄与する複数のRPUセルの夫々の抵抗値(すなわち、コンダクタンス値)を示し、CINTは、オペアンプ642の入力ノードN1と出力ノードN2との間のフィードバック経路に選択的に接続された積分コンデンサの静電容量値を示し、ここで、VINは集約された行又は列電流の発生に寄与する夫々の入力電圧パルスを示し、及びここで、TMEASは積分時間を示す。上記式で示されているように、出力電圧VOUTの大きさは、積分コンデンサの静電容量値CINTに間接的に比例する。このように、R、TMEAS、及びVINの所与の値の場合において、出力電圧VOUTは、フィードバック積分コンデンサの静電容量値CINTが減少するにつれて増加する。
図6において示されているシステム構成の例示的な実施態様において、第1の積分コンデンサ644-1の静電容量値CINT1は、第2の積分コンデンサ644-2の静電容量値CINT2よりも大きい。この事例において、フォワードパス操作の間に、オペアンプ642の入力ノードN1と出力ノードN2と間のフィードバック経路に第1の積分コンデンサ644-1が選択的に接続され、低ゲイン構成を有するように電流積分回路640を構成する。一方、バックワードパス操作の間、入力電圧のパルス幅がフォワードパス操作の為の入力電圧のパルス幅よりも有意に短い持続時間であると予想されることを考慮して、第2の積分コンデンサ644-2は、オペアンプ642の入力ノードN1と出力ノードN2との間のフィードバック経路に選択的に接続され、高ゲイン構成を有するように電流積分回路640を構成し、それによって、ADC回路650による処理の為に十分な大きさの出力電圧VOUTを発生する。第1の積分コンデンサ644-1及び第2の積分コンデンサ644-2の静電容量値CINT1及びCINT2は、電流積分操作の間にオペアンプ642を飽和する可能性を防止又はさもなければ最小化しながら、フォワードパス操作及びバックワードパス操作の間に十分なゲインを提供するように選択される。
図7A及び図7Bは、本開示の例示的な実施態様に従って、複数の抵抗処理ユニットセルの1つのアレイ上で実行される異なる操作の為に読み出し回路を動的に構成するシステムを概略的に示す。より具体的には、図7A及び図7Bは、RPUクロスバーアレイの操作モード(フォワードパス又はバックワードパス)に依存して異なる分解能を有する2つの異なるADC回路を選択する為に、共有された読み出し回路を動的に構成する為のシステムの代替の例示的な実施態様を概略的に示す。図7Aを参照すると、システム700は、モード制御システム710及び読み出し回路ブロック720を備えている。モード制御システム710は、フォワードパス及びバックワードパス操作の間に利用される共有された読み出し回路(例えば、共有された読み出し回路330、図3A及び図3B)の全ての読み出し回路ブロックに適用される様々な制御信号712を生成するように構成される。例示的な実施態様において、制御信号712は、F_モード、B_モード、ADC_H、及びADC_Lとして示されている制御信号を含む。
図示を容易にする為に、図7Aは、共有された読み出し回路330の複数の読み出し回路ブロックのi番目の読み出し回路ブロックを表す所与の読み出し回路ブロック720を概略的に図示する。図7Aの例示的な実施態様において、共有された読み出し回路330の各読み出し回路ブロックが読み出し回路ブロック720と同じ回路構成を有し、及び共有された読み出し回路330の各読み出し回路ブロックが、関連付けられたアナログRPUクロスバーアレイ上で行われるフォワードパス操作及びバックワードパス操作の間にモード制御システム710から出力されるところの制御信号712を受信すると仮定されている。
図7Aにおいて概略的に示されているように、読み出し回路ブロック720は、マルチプレクサ回路730、電流積分回路740、選択回路760、第1のADC回路750-1、及び第2のADC回路750-2を備えている。電流積分回路740は、オペアンプ742、オペアンプの入力ノードN1と出力ノードN2との間に接続されている積分コンデンサ744を備えている。マルチプレクサ回路730は、制御信号F_モード及びB_モードを受信する制御入力を備えている。マルチプレクサ回路730は、図6のマルチプレクサ回路630と同じ様式で動作するように構成されており、その詳細は繰り返さない。
電流積分回路740は、積分期間(TMEAS)にわたって積分機能を実行し、電流積分回路740の入力ノードN1における入力電流を、電流積分回路740の出力ノードN2におけるアナログ電圧VOUTに変換する。入力電流は、(i)フォワードパス操作の間に電流積分回路740の入力ノードN1に(マルチプレクサ回路730の操作を介して)選択的に接続されている列線COL(i)から出力される集約列電流、又は(ii)バックワードパス操作の間に電流積分回路740の入力ノードN1に(マルチプレクサ回路730の操作を介して)選択的に接続されている行線ROW(i)から出力される集約行電流であることができる。図7Aの例示的な実施態様において、電流積分回路740は、積分コンデンサ744の静電容量値CINT1に基づく固定されたゲインを有する。幾つかの実施態様において、積分コンデンサ744の静電容量値CINT1は、フォワードパス操作についての出力信号バウンドの為に選択され、例えば、電流積分操作の間にオペアンプ742を飽和する可能性を防止又はさもなければ最小化しながら、フォワードパス操作の間に出力ノードN2上に出力電圧VOUTを生成する為に電流積分回路740に十分なゲインを提供する。
図7Aにおいて更に示されているように、選択回路760は、(i)電流積分回路740の出力ノードN2に接続された入力、(ii)制御信号ADC_H及びADC_Lを受信する制御入力、(iii)第1のADC回路750-1及び第2のADC回路750-2の入力に夫々接続されている第1の出力及び第2の出力を備えている。幾つかの実施態様において、第1のADC回路750-1は、電流積分回路740の出力ノードN2において発生した出力電圧VOUTをデジタル化する為にバックワードパス操作の間に利用される高分解能ADC回路を備えており、及び第2のADC回路750-2は、電流積分回路740の出力ノードN2において発生した出力電圧VOUTをデジタル化する為にフォワードパス操作の間に利用される低分解能ADC回路を備えている。
制御信号ADC_Lは、RPUクロスバーアレイがフォワードパス操作を実行している場合にモード制御システム710から出力される制御信号を含み、及び制御信号ADC_Hは、RPUクロスバーアレイがバックワードパス操作を実行している場合にモード制御システム710から出力される制御信号を含む。幾つかの実施態様において、選択回路760は、(i)制御信号ADC_Hのアサーションに応答して、電流積分回路740の出力ノードN2を第1のADC回路750-1の入力に選択的に接続し、及び(ii)制御信号ADC_Lのアサーションに応答して、電流積分回路740の出力ノードN2を第2のADC回路750-2の入力に選択的に接続するように構成される。
幾つかの実施態様において、第1のADC回路750-1は第1の分解能を備えており、及び第2のADC回路750-2は第2の分解能を備えており、ここで、該第1の分解能は該第2の分解能よりも高い。幾つかの実施態様において、第1のADC回路750-1及び第2のADC回路750-2は同じビット分解能を備えており、ここで、第1のADC回路750-1及び第2のADC回路750-2が夫々、nビットのADC分解能、例えばn=3、4、5、6、7、8、を含むが、第1のADC回路750-1及び第2のADC回路750-2は、所与のnビット分解能について異なる最下位ビット(LSB:least significant bit)電圧分解能を有するよう構成される。
例えば、第1のADC回路750-1及び第2のADC回路750-2は8ビット分解能のADCであるが、第1のADC回路750-1は、例えば[-0.1V~+0.1V]のフルスケール操作電圧範囲を有するように構成され、及び第2のADC回路750-2は、例えば[-10V~+10V]のフルスケール操作電圧範囲を有するように構成されると仮定する(ここで、Vはマイクロボルト(μV)、ミリボルト(mV)等であることができる)。この事例において、第1のADC回路750-1(8ビットADC)の電圧分解能(第1の分解能)は0.2/256であり、それはおよそ0.000078Vであり、一方、第2のADC回路750-2(8ビットADC)の電圧分解能(第2の分解能)は20/256であり、それはおよそ0.078Vである。本例において、第1のADC回路750-1の第1の電圧分解能(0.000078V)は、第2のADC回路750-2(8ビットADC)の第2の電圧分解能(0.078V)よりも高い電圧分解能を提供する。第1のADC回路750-1の高められた電圧分解能は、バックワードパス操作の間に電流積分回路740の出力ノードN2において発生する低レベル出力電圧VOUTをデジタル化する為に有効であり、及び第2のADC回路750-2の電圧分解能は、フォワードパス操作の間に電流積分回路740の出力ノードN2において発生する高レベル出力電圧VOUTをデジタル化する為に有効であろう。
他の実施態様において、第1のADC回路750-1及び第2のADC回路750-2は異なるゲインを有するように構成されることができ、ここで、第1のADC回路750-1の第1のゲインは、第2のADC回路750-2の第2のゲインよりも大きい。例えば、幾つかの実施態様において、第1のADC回路750-1及び第2のADC回路750-2は、フォワードパス操作によって生成される出力電圧VOUTの予想される電圧範囲の為に設計された、同じビット分解能、同じ電圧分解能及び同じ操作電圧入力範囲を有するADC変換回路を有するように構成されることができるが、第1のADC回路750-1はアナログフロントエンドを備えており、該アナログフロントエンドは、ADC変換回路の操作入力範囲に一致するように(バックワードパス操作の間に生成される)低レベル出力電圧VOUTの適切なゲイン及びレベルシフトを提供するように構成された増幅器若しくはレベルシフト回路又はそれらの組み合わせを備えている。
次に、図7Bは、本開示の例示的な実施態様に従って、RPUクロスバーアレイの操作モード(フォワードパス又はバックワードパス)に依存して異なる分解能を有する2つの異なるADC回路の間で選択するように共有された読み出し回路を動的に構成する為のシステム701を概略的に示す。上述されているように、図7Bのシステム701は、図7Aのシステム700の代替の実施態様である。図7Bを参照すると、システム701は、モード制御システム711及び読み出し回路ブロック721を備えている。モード制御システム711は、フォワードパス操作及びバックワードパス操作の間に利用される共有された読み出し回路(例えば、共有された読み出し回路330、図3A及び図3B)の全ての読み出し回路ブロックに適用される複数の制御信号713を生成するように構成される。例示的な実施態様において、制御信号713は、F_モード及びB_モードとして示されている制御信号を含む。
図示を容易にする為に、図7Bは、共有された読み出し回路330の複数の読み出し回路ブロックのi番目の読み出し回路ブロックを表す所与の読み出し回路ブロック721を概略的に図示する。図7Bの例示的な実施態様において、共有された読み出し回路330の各読み出し回路ブロックが読み出し回路ブロック721と同じ回路構成を有し、及び共有された読み出し回路330の各読み出し回路ブロックが該関連付けられたアナログRPUクロスバーアレイ上で実行されるフォワードパス操作及びバックワードパス操作の間にモード制御システム711から出力されるところの制御信号713を受信することを仮定している。
図7Bにおいて概略的に示されているように、読み出し回路ブロック721は、選択回路731、第1の電流積分回路740-1、第2の電流積分回路740-2、第1のADC回路750-1、及び第2のADC回路750-2を備えている。第1の電流積分回路740-1は、選択回路731の出力に接続された入力、及び第1のADC回路750-1の入力に接続された出力を備えている。第2の電流積分回路740-2は、選択回路731の出力に接続された入力、及び第2のADC回路750-2の入力に接続された出力を備えている。幾つかの実施態様において、第1の電流積分回路740-1及び第2の電流積分回路740-2は、図7Aにおける電流積分回路740と同様であるので、その詳細は繰り返さない。更に、幾つかの実施態様において、第1のADC回路750-1及び第2のADC回路750-2は、図7Aの例示的な実施態様において上述されたものと同じ回路アーキテクチャ及び機能を実装するが、その詳細は繰り返さない。
選択回路731は、図6及び図7Aのマルチプレクサ回路630及び730と同様の様式で操作されるように構成される。しかしながら、選択回路731は2つの出力を有し、ここで、幾つかの実施態様において、選択回路731は、(i)B_モード制御信号のアサーションに応答して、行線ROW(i)を第1の電流積分回路740-1の入力に選択的に接続し、及び(ii)F_モード制御信号のアサーションに応答して、列線COL(i)を第2の電流積分回路740-2の入力に選択的に接続するように構成される。この構成において、第1の電流積分回路740-1及び第1のADC回路750-1は、バックワードパス操作の間に行線ROW(i)から出力される集約行電流信号を受信し、積分し、及び量子化し、並びに第2の電流積分回路740-2及び第2のADC回路750-2は、フォワードパス操作の間に列線COL(i)から出力される集約列信号を受信し、積分し、及び量子化する。
図7Bの代替実施態様において、第1の電流積分回路740-1及び第2の電流積分回路740-2は、異なるが固定されたゲインを有するように構成され、並びに第1のADC回路750-1及び第2のADC回路750-2は、同じ分解能を有するように構成される。この実施態様において、第1の電流積分回路740-1が固定された第1のゲインを有し及び第2の電流積分回路740-2が該第1の固定されたゲインよりも小さい第2の固定されたゲインを有するように、第1の電流積分回路740-1及び第2の電流積分回路740-2は夫々、夫々のオペアンプの夫々のフィードバック経路において、単一であるが、異なるサイズを有する積分コンデンサを有するであろう。この構成を用いて、第1の電流積分回路740-1は、第1のADC回路750-1の操作入力電圧範囲に対応する電圧範囲のレベルを有する出力電圧VOUTを生成する為により高いゲインを有することによって、バックワードパス操作の為の出力信号バウンドで設計されるであろう。
図8は、本開示の別の例示的な実施態様に従って、複数の抵抗処理ユニットセルの1つのアレイ上で実行される異なる操作の為に、読み出し回路を動的に構成する為のシステムを概略的に示す。より具体的には、図8は、RPUクロスバーアレイの操作モード(フォワードパス又はバックワードパス)に依存して異なる解像度又は異なるゲインを有するようにADC回路を動的に構成する為のシステム800を概略的に示す。システム800は、モード制御システム810、及び読み出し回路ブロック820を備えている。モード制御システム810は、フォワードパス操作及びバックワードパス操作の間に利用される共有された読み出し回路(例えば、共有された読み出し回路330、図3A及び図3B)の全ての読み出し回路ブロックに適用される様々な制御信号812を生成するように構成される。例示的な実施態様において、制御信号812は、F_モード、B_モード、ADC_H、及びADC_Lとして示されている制御信号を含む。
また、図示を容易にする為に、図8は、共有された読み出し回路330の複数の読み出し回路ブロックのi番目の読み出し回路ブロックを表す所与の読み出し回路ブロック820を概略的に図示する。図8の例示的な実施態様において、共有された読み出し回路330の各読み出し回路ブロックが読み出し回路ブロック820と同じ回路構成を有すること、及びフォワード及びバックワードパス操作が該関連付けられたアナログRPUクロスバーアレイ上で実行される場合に、各読み出し回路ブロックが、モード制御システム810から出力される制御信号812を受信することを仮定している。
図8において概略的に示されているように、読み出し回路ブロック820は、マルチプレクサ回路830、電流積分回路840、構成可能なADC回路850を備えている。マルチプレクサ回路830及び電流積分回路840は、図6のマルチプレクサ回路630及び図7Aの電流積分回路740と同一の構成を備えており、及び同一又は類似の機能を実行し、その詳細は繰り返さない。図8において更に示されているように、構成可能なADC回路850は、制御信号ADC_H及びADC_Lを受信する制御入力を備えている。
幾つかの実施態様において、構成可能なADC回路850は、制御信号ADC_H及びADC_Lに応答して動的に調整されるところの構成可能なLSB電圧分解能を備えている。例えば、バックワードパス操作の間に制御信号ADC_Hのアサートに応答して、構成可能なADC回路850は、バックワードパス操作の間に電流積分回路840の出力ノードN2上に生成される低レベル出力電圧VOUTを有効に量子化する為に十分なレベルまで電圧分解能を高めるように動的に構成される。更に、フォワードパス操作の間に制御信号ADC_Lのアサートに応答して、構成可能なADC回路850は、フォワードパス操作の間に電流積分回路840の出力ノードN2上に生成される高レベル出力電圧VOUTを有効に量子化する為に十分なレベルまで電圧分解能を減少するように動的に構成される。この点で、構成可能なADC回路850は、バックワードパス操作の為の第1の分解能を有するように動的に構成され、及びフォワードパス操作の為の第2の分解能を有するように動的に構成され、ここで、該第1の分解能は、該第2の分解能よりも大きい。
ADC分解能を有する構成可能なADC回路850は、適切な時間ベースのADC変換回路及び技法を使用して実装されることができる。例えば、構成可能なADC回路850は、シングルスロープ又はデュアルスロープの積分ADCアーキテクチャを使用して実装されることができ、ここで、ADC変換は、出力電圧VOUT、参照電圧、又は出力電圧VOUT及び参照電圧の積分に基づく。この例示的な実施態様において、LSB電圧分解能は、積分ADCの1以上の操作パラメータ、例えば、参照電圧のレベル、積分ADCの積分時間等を包含するがこれらに限定されない、を変更することによって動的に変更されることができる。
他の実施態様において、構成可能なADC回路850は、制御信号ADC_H及びADC_Lに応答して動的に調整される構成可能なゲインを備えている。例えば、構成可能なADC回路850は、フォワードパス操作についての出力信号バウンドの為に設計される固定された(構成可能でない)分解能を有しうるが、それでもなお、操作モード(例えば、フォワードパス操作又はバックワードパス操作)に依存してプログラムマブル・イン・増幅器(programmable in amplifier)のゲインを動的に調整する為に、ADC回路850のアナログフロントエンドにプログラマブル・ゲイン増幅器(programmable gain amplifier)及びレベルシフト回路を実装しうる。
例えば、幾つかの実施態様において、バックワードパス操作の間に制御信号ADC_Hのアサートに応答して、出力電圧VOUTがADC回路850の変換回路の高い操作入力電圧範囲内に入るレベルまで増幅する為により高いゲインを有するようにADC回路850のフロントエンドアナログ回路は動的に構成され、それにより、低レベル出力電圧VOUTがADC回路850の固定された分解能に基づいてより正確に量子化することを可能にする。更に、フォワードパス操作の間に制御信号ADC_Hのアサートに応答して、ADC回路850のフロントエンドアナログ回路は、出力電圧VOUT(それは、電流積分回路840の出力ノードからADC回路850内にラッチされる)が、ADC回路850の変換回路の操作入力電圧範囲内に入るレベルに維持されるように、低いゲイン(例えば、1のユニティゲイン)を有するように動的に構成される。
図9A及び図9Bは、本開示の別の例示的な実施態様に従って、複数の抵抗処理ユニットセルの1つのアレイ上で実行される異なる操作の為の読み出し回路を備えている周辺回路を動的に構成する為のシステムを概略的に示す。より具体的には、図9A及び図9Bは、本開示の別の例示的な実施態様に従って、RPUクロスバーアレイの異なる操作モードに対して異なる操作信号範囲を有するようにアナログRPUクロスバーアレイの周辺回路を動的に構成するシステムを概略的に示す。図9A及び図9Bは、RPUクロスバーアレイの操作モード(フォワードパス又はバックワードパス)に応じて異なる積分時間を提供するように周辺回路(例えば、共有された読み出し回路330及び列線駆動回路340(DAC回路ブロック342))を動的に構成するシステム900を概略的に示す。
図9Aを参照すると、システム900は、モード制御システム910、及び読み出し回路ブロック920を備えている。モード制御システム910は、フォワードパス操作及びバックワードパス操作の間に利用される共有された読み出し回路(例えば、共有された読み出し回路330、図3A及び図3B)の全ての読み出し回路ブロックに適用される様々な制御信号912を生成するように構成される。例示的な実施態様において、制御信号912は、F_モード、B_モード、T1MEAS_モード、及びT2MEAS_モードとして示されている制御信号を含む。また、図示を容易にする為に、図9Aは、共有された読み出し回路330の複数の読み出し回路ブロックのi番目の読み出し回路ブロックを表す所与の読み出し回路ブロック920を概略的に図示する。図9Aの例示的な実施態様において、共有された読み出し回路330の各読み出し回路ブロックが読み出し回路ブロック920と同じ回路構成を有すること、並びにフォワードパス操作及びバックワードパス操作が該関連付けられたアナログRPUクロスバーアレイ上で実行される場合に、各読み出し回路ブロックがモード制御システム910から出力される制御信号912を受信することを仮定している。
図9Aにおいて概略的に示されているように、読み出し回路ブロック920は、マルチプレクサ回路930、電流積分回路940、及びADC回路950を備えている。幾つかの実施態様において、マルチプレクサ回路930は、図6のマルチプレクサ回路630と同じ構成を備えており、及びそれと同じ又は同様の機能を実行し、従って、その詳細は繰り返さない。加えて、幾つかの実施態様において、ADC回路950は、図6のADC回路650と同じ構成を備えており、及びそれと同じ又は類似の機能を実行し、従って、その詳細は繰り返さない。この例示的な実施態様において、ADC回路950は、フォワードパス操作の間に電流積分回路940の出力ノードN2において生成される予想される高レベル出力電圧VOUTを効果的にデジタル化する分解能及び操作信号範囲を有するように設計されている固定された構成を有する。
電流積分回路940は、オペアンプ942、オペアンプ942の入力ノードN1と出力ノードN2との間に接続されている積分コンデンサ944、並びに、積分時間カウンタ及びリセット制御回路を備えている制御回路946を備えている。電流積分回路940は、電流積分回路940の入力ノードN1における入力電流を、電流積分回路940の出力ノードN2におけるアナログ電圧VOUTに変換する為の積分機能を実行し、ここで、該電流積分操作は、RPUクロスバーアレイの操作モード(例えば、フォワードパス操作又はバックワードパス操作)に依存して第1の積分時間T1MEAS又は第2の積分時間T2MEASを有するように動的に調整されることができるところの構成可能な積分期間にわたって実行される。第2の積分時間T2MEASは、第1の積分時間T1MEASよりも大きい。例えば、幾つかの実施態様において、第1の積分時間T1MEASは80ナノ秒(ns)であり、一方、第2の積分時間T2MEASは80nsよりも大きい(例えば、T2MEAS=2×T1MEAS)。
図9Aの例示的な実施態様において、電流積分回路940は、積分コンデンサ944の静電容量値CINT1に基づく固定されたゲインを有する。幾つかの実施態様において、積分コンデンサ944の静電容量値CINT1は、フォワードパス操作についての出力信号バウンドを提供する為に、例えば、電流積分操作の間にオペアンプ942を飽和する可能性を防止又はさもなければ最小化しながら、積分期間T1MEASのフォワードパス操作の間に出力ノードN2上に出力電圧VOUTを生成する為に電流積分回路940が十分なゲインを提供するように選択される。
一方、バックワードパス操作の間、電流積分回路940は、バックワードパス操作の為の電流積分操作の間にオペアンプ942を飽和する可能性を防止又はさもなければ最小化しながら、より大きな出力電圧VOUTが電流積分回路940の出力ノードN2上に生成されることを可能にする為に、第2の積分期間T2MEASにわたって入力電流を統合するように動的に構成される。図9Aにおいて概略的に示されているように、電流積分回路940の積分時間は、制御回路946に入力される積分時間制御信号T1MEAS_モード及びT2MEAS_モードに応答して、制御回路946によって動的に構成される。例えば、フォワードパス操作の間、モード制御システム910は、制御信号T1MEAS_モードをアサートし、それは、第1の積分時間T1MEASにわたって電流積分操作を実行する為に電流積分回路940を構成するように制御回路946に指示する。一方、バックワードパス操作の間、モード制御システム910は、制御信号T2MEAS_モードをアサートし、それは、第2の積分時間T2MEASにわたって電流積分操作を実行する為に電流積分回路940を構成するように制御回路946に指示する。
制御回路946は図9Aにおいて一般的に図示されているが、制御回路946は、機能を実行する為に、例えば、電流積分回路940の積分期間を制御すること、電流積分期間の終了時に出力ノードN2上の出力電圧VOUTをADC回路950にラッチさせる為に制御信号(例えば、ADC_EN)を送信すること、電流積分回路をリセットすること、例えば、次の電流積分プロセスを実行する準備として電流積分回路940を初期化する為に出力ノード上の電圧を初期電圧レベル(例えば、0V)に設定することによって電流積分回路をリセットすること等、を実行する為に、様々な制御回路アーキテクチャ及び技術を使用して実装されることができる。この点、制御回路946は、電流積分回路940の特定の回路フレームワーク、及び電流積分回路940とADC回路950との間のハードウェアインタフェース及び構成に応じて、様々な様式において構成されることができる。
例示的な実施態様において、制御回路946は、積分時間カウンタに入力されるところのクロックパルスの数をカウントする統合時間カウンタを備えており、ここで、該積分時間は、当業者によって理解されるように、受信されたクロックパルスの特定のカウントに相関する。この点に関して、幾つかの実施態様において、電流積分回路940の積分時間は、積分時間制御信号T1MEAS_モード及びT2MEAS_モードに応答して、(i)第1の積分時間T1MEASに相関する第1のカウントプロセス、及び(ii)第2の積分時間T2MEASに相関する第2のカウントプロセスのいずれかを実行するように制御回路946の積分時間カウンタ回路を構成することによって調整される。
バックワードパス操作の為の電流積分回路946の積分時間(例えば、T2MEAS)を増加させることに加えて、幾つかの実施態様において、線駆動回路のDAC回路ブロック(例えば、列線駆動回路340のDAC回路ブロック342、図3B)は、デジタルエラー信号δ1,δ2,...,δnについて生成されるパルス変調電圧パルスのパルス期間を、T1MEASからT2MEASへの積分時間における増加に比例して増加するように動的に構成される。例えば、図9Bは、バックワードパス操作の間にDAC回路ブロックによって生成され且つ夫々の列C1,C2,...,Cnに印加されるところのアナログ電圧V1,V2,...,Vnのパルス持続時間を増加させる為のプロセスを概略的に示す。
図9Bの例示的な実施態様において、バックワードパス操作の為の第2の積分時間T2MEASが、フォワードパス操作の為の第1の積分時間T1MEASの2倍であると仮定される。この点で、増加した積分時間T2MEASでバックワードパス操作の為に生成されるアナログ電圧V1,V2,...,Vn(それは、夫々のデジタルエラー信号δ1,δ2,...,δnの値に対応する)は、夫々のパルス幅W1_2,W2_2,...,Wn_2を有し、それは、フォワードパス操作及びバックワードパス操作の両方について同じ積分時間T1MEASを使用する場合に、バックワードパス操作の為に(慣用的なスキームにおいて)生成されるであろう夫々のパルス幅W1_1,W2_1,...,Wn_1の2倍の大きさを有する。この点で、夫々のデジタルエラー信号δ1,δ2,...,δnについてのアナログ電圧V1,V2,...,Vnのパルス幅が増加すると共に積分時間T2MEASが増加することにより、バックワードパス操作の為に該共有された読み出し回路の電流積分回路の出力ノードN2上に生成される出力電圧VOUTの増加が結果としてもたらされる。このスキームにより、該共有された読み出し回路の電流積分回路が、電流積分回路コンデンサの固定されたゲインを提供する固定されたサイズの積分コンデンサを有するにもかかわらず、出力電圧VOUTを増加させ且つ低レベルのデジタルエラー信号δ1,δ2,...,δnの読み出しを強化し、それはフォワードパス操作の為に最適である。
本開示の様々な実施態様の記載は、例示の目的の為に提示されたものであり、網羅的であること又は開示された実施態様に限定されることが意図されたものでない。多くの修正及び変形が、記載された実施態様の範囲及び精神から逸脱することなしに当業者に明らかであろう。本明細書において使用される語は、実施態様の原理、実用的な用途、又は市場において見られる技術に対する技術的改善を最もよく説明する為に、又は当業者が本明細書において開示されている実施態様を理解することができるようにする為に選択された。
Claims (20)
- デバイスであって、該デバイスは、
複数の抵抗処理ユニット(RPU)セルの1つのアレイ;
複数のRPUセルの前記1つのアレイを横切って第1の方向に延在する複数の第1制御線、及び複数のRPUセルの前記1つのアレイを横切って第2の方向に延在する複数の第2制御線、ここで、各RPUセルが、前記複数の第1制御線のうちの1つと前記複数の第2制御線のうちの1つとの交差部で接続されている;
前記複数の第1制御線に及び前記複数の第2制御線に接続された周辺回路、ここで、前記周辺回路は読み出し回路を備えている;並びに、
前記周辺回路に操作可能に接続された制御システム、ここで、前記制御システムは、前記周辺回路を制御して、複数のRPUセルの前記1つのアレイ上で第1の操作を実行し且つ複数のRPUセルの前記1つのアレイ上で第2の操作を実行する為の制御信号を生成する、
を備えており、
ここで、前記制御信号は、
前記第1の操作が複数のRPUセルの前記1つのアレイ上で行われるときに、前記読み出し回路が第1のハードウェア構成を有するように構成する為の第1の構成制御信号;及び、
前記第2の操作が複数のRPUセルの前記1つのアレイ上で行われるときに、前記読み出し回路が、第1のハードウェア構成とは異なる第2のハードウェア構成を有するように構成する為の第2の構成制御信号
を含む、
前記デバイス。 - 前記周辺回路が、制御線電圧駆動回路とマルチプレクサ回路とを更に備えており;並びに、
前記読み出し回路を前記複数の第1制御線に及び前記制御線電圧駆動回路を前記複数の第2制御線に選択的に接続して前記第1の操作を前記マルチプレクサ回路に行わせ、並びに前記読み出し回路を前記複数の第2制御線に及び前記制御線電圧駆動回路を前記複数の第1制御線に選択的に接続して前記第2の操作を前記マルチプレクサ回路に行わせるマルチプレクサ制御信号を前記制御信号が更に有する、
請求項1に記載のデバイス。 - 前記第1の操作が、複数のRPUセルの前記1つのアレイ上で行われるニューラルネットワーク訓練プロセスのフォワードパス操作を含み、ここで、複数のRPUセルの前記1つのアレイは、人工ニューロンの上流層と人工ニューロンの下流層とを接続する人工シナプス要素の1つのアレイを備えている;
前記第2の操作が、複数のRPUセルの前記1つのアレイ上で行われる前記ニューラルネットワーク訓練プロセスのバックワードパス操作を含み;
前記第1の操作の場合に、前記制御線電圧駆動回路は、前記複数の第2制御線のうちの1以上に第1の電圧パルスを印加し、ここで、前記第1の電圧パルスは、前記ニューラルネットワークの前記上流層から受け取られたデジタル入力信号を表し、及び前記第1のハードウェア構成を有する前記読み出し回路は、前記RPUセルによって生成され且つ前記第1の電圧パルスに応答して前記複数の第1制御線に出力されるところの第1の電流信号を受け取り、前記複数の第1制御線から出力される前記第1の電流信号を表す第1のデジタル出力信号を生成する;
前記第2の操作の場合に、前記制御線電圧駆動回路は、前記複数の第1制御線のうちの1以上に第2の電圧パルスを印加し、ここで、前記第2の電圧パルスは、前記ニューラルネットワークの前記下流層から受け取られたデジタルエラー信号を表し、及び前記第2のハードウェア構成を有する前記読み出し回路は、前記RPUセルによって生成され且つ前記第2の電圧パルスに応答して前記複数の第2制御線に出力されるところの第2の電流信号を受け取り、前記複数の第2制御線から出力される前記第2の電流信号を表す第2のデジタル出力信号を生成する、
請求項2に記載のデバイス。 - 前記読み出し回路が、複数の読み出し回路ブロックを備えており、ここで、各読み出し回路ブロックは、
入力ノードと出力ノードとを備えている電流積分回路;及び、
前記電流積分回路の前記出力ノードに接続された入力を有するアナログ・デジタル変換回路
を備えており、
ここで、前記電流積分回路は、
前記入力ノードに接続された反転入力端子と前記出力ノードに接続された出力端子とを有するオペアンプ;
前記電流積分回路の前記入力ノードと前記出力ノードとの間で第1のフィードバック経路に直列に接続された第1の積分コンデンサと第1のスイッチ、ここで、前記第1の積分コンデンサは第1の静電容量を有する;及び、
前記電流積分回路の前記入力ノードと前記出力ノードとの間で第2のフィードバック経路において直列に接続された第2の積分コンデンサと第2のスイッチ、ここで、前記第2の積分コンデンサは、前記第1の静電容量よりも小さい第2の静電容量を有する、
を備えており、
ここで、前記第1の構成制御信号が、前記第1のスイッチを作動化させ且つ前記第2のスイッチを非作動化させて、前記電流積分回路の前記出力ノードと前記入力ノードとの間の第1のフィードバック経路に接続された前記第1の積分コンデンサの前記第1の静電容量に基づいて第1のゲインを有するように前記電流積分回路を構成する;及び、
ここで、前記第2の構成制御信号が、前記第2のスイッチを作動化させ且つ前記第1のスイッチを非作動化させて、前記電流積分回路の前記出力ノードと前記入力ノードとの間の第2のフィードバック経路に接続された前記第2の積分コンデンサの前記第2の静電容量に基づいて前記第1のゲインよりも大きい第2のゲインを有するように前記電流積分回路を構成する、
請求項1に記載のデバイス。 - 前記読み出し回路が複数の読み出し回路ブロックを備えており、各読み出し回路ブロックが、
入力ノードと出力ノードとを備えている電流積分回路;
前記電流積分回路の前記出力ノードに接続された選択回路;
前記選択回路の第1の出力に接続された第1のアナログ・デジタル変換回路、ここで、前記第1のアナログ・デジタル変換回路は、第1の最下位ビット(LSB)電圧分解能を備えている;及び、
前記選択回路の第2の出力に接続された第2のアナログ・デジタル変換回路、ここで、前記第2のアナログ・デジタル変換回路は、前記第1のLSB電圧分解能よりも大きい第2のLSB電圧分解能を備えている、
を備えており、
ここで、前記第1の構成制御信号が、前記選択回路に、前記電流積分回路の前記出力ノードを前記第1のアナログ・デジタル変換回路に選択的に接続するようにさせる;及び、
ここで、前記第2の構成制御信号が、前記選択回路に、前記電流積分回路の前記出力ノードを前記第2のアナログ・デジタル変換回路に選択的に接続するようにさせる、
請求項1に記載のデバイス。 - 前記読み出し回路が複数の読み出し回路ブロックを備えており、各読み出し回路ブロックが、
入力ノードと出力ノードとを備えている電流積分回路;
前記電流積分回路の前記出力ノードに接続された選択回路;
前記選択回路の第1の出力に接続された第1のアナログ・デジタル変換回路、ここで、前記第1のアナログ・デジタル変換回路が第1のゲインを備えている;
前記選択回路の第2の出力に接続された第2のアナログ・デジタル変換回路、ここで、前記第2のアナログ・デジタル変換回路は、前記第1のゲインよりも大きい第2のゲインを備えている、
を備えており、
ここで、前記第1の構成制御信号が、前記選択回路に、前記電流積分回路の前記出力ノードを前記第1のアナログ・デジタル変換回路に選択的に接続するようにさせる;及び、
ここで、前記第2の構成制御信号が、前記選択回路に、前記電流積分回路の前記出力ノードを前記第2のアナログ・デジタル変換回路に選択的に接続するようにさせる、
請求項1に記載のデバイス。 - 前記読み出し回路が複数の読み出し回路ブロックを備えており、各読み出し回路ブロックが、
前記複数の第1制御線のうちの1つの第1制御線に接続された第1の入力と、前記複数の第2制御線のうちの1つの第2制御線に接続された第2の入力とを備えている選択回路;
入力ノードと出力ノードとを備えている第1の電流積分回路;
前記第1の電流積分回路の前記出力ノードに接続された第1のアナログ・デジタル変換回路、ここで、前記第1のアナログ・デジタル変換回路が、第1の最下位ビット(LSB)電圧分解能を有する;
入力ノードと出力ノードとを備えている第2の電流積分回路;及び、
前記第2の電流積分回路の前記出力ノードに接続された第2のアナログ・デジタル変換回路、ここで、前記第2のアナログ・デジタル変換回路が、前記第1のLSB電圧分解能よりも大きい第2のLSB電圧分解能を有する、
を備えており、
ここで、前記第1の構成制御信号が、前記選択回路に、前記1つの第1制御線を前記第1の電流積分回路の前記入力ノードに選択的に接続するようにさせる;及び、
ここで、前記第2の構成制御信号が、前記選択回路に、前記1つの第2制御線を前記第2の電流積分回路の前記入力ノードに選択的に接続するようにさせる、
請求項1に記載のデバイス。 - 前記第1の電流積分回路が、前記第1の電流積分回路の前記入力ノードに接続された反転入力端子と、前記第1の電流積分回路の前記出力ノードに接続された出力端子とを有する第1のオペアンプ、及び前記入力ノードと前記出力ノードとの間でフィードバック経路に接続された第1の積分コンデンサとを備えており、ここで、前記第1の積分コンデンサが第1の静電容量を有する;並びに、
前記第2の電流積分回路が、前記第2の電流積分回路の前記入力ノードに接続された反転入力端子と、前記第2の電流積分回路の前記出力ノードに接続された出力端子とを有する第2のオペアンプ、及び前記入力ノードと前記出力ノードとの間でフィードバック経路に接続された第2の積分コンデンサとを備えており、ここで、前記第2の積分コンデンサが、前記第1の静電容量に実質的に等しい第2の静電容量を有する、
請求項1に記載のデバイス。 - 前記読み出し回路が複数の読み出し回路ブロックを備えており、各読み出し回路ブロックが、
前記複数の第1制御線のうちの1つの第1制御線に接続された第1の入力と、前記複数の第2制御線のうちの1つの第2制御線に接続された第2の入力とを備えている選択回路;
入力ノードと出力ノードとを備えている第1の電流積分回路;
前記第1の電流積分回路の前記出力ノードに接続された第1のアナログ・デジタル変換回路、ここで、前記第1のアナログ・デジタル変換回路は、第1のゲインを備えている;
入力ノードと出力ノードとを備えている第2の電流積分回路;及び、
前記第2の電流積分回路の前記出力ノードに接続された第2のアナログ・デジタル変換回路、ここで、前記第2のアナログ・デジタル変換回路は、前記第1のゲインよりも大きい第2のゲインを備えている、
を備えており、
ここで、前記第1の構成制御信号が、前記選択回路に、前記1つの第1制御線を前記第1の電流積分回路の前記入力ノードに選択的に接続するようにさせる;及び、
ここで、前記第2の構成制御信号が、前記選択回路に、前記1つの第2制御線を前記第2の電流積分回路の前記入力ノードに接続させる、
請求項1に記載のデバイス。 - 前記読み出し回路が複数の読み出し回路ブロックを備えており、各読み出し回路ブロックが、
入力ノードと出力ノードとを備えている電流積分回路;及び、
前記選択回路の第1の出力に接続されたアナログ・デジタル変換回路、ここで、前記アナログ・デジタル変換回路は、第1のLSB電圧分解能と、前記第1のLSB電圧分解能よりも大きい第2のLSB電圧分解能とを備えている構成可能な最下位ビット(LSB)電圧分解能を備えている、
を備えており、
ここで、前記第1の構成制御信号は、前記アナログ・デジタル変換回路が前記第1のLSB電圧分解能を有するように構成し;及び、
ここで、前記第2の構成制御信号は、前記アナログ・デジタル変換回路が前記第2のLSB電圧分解能を有するように構成する、
請求項1に記載のデバイス。 - 前記読み出し回路が複数の読み出し回路ブロックを備えており、各読み出し回路ブロックが、
入力ノードと出力ノードとを備えている電流積分回路;及び、
前記選択回路の第1の出力に接続されたアナログ・デジタル変換回路、ここで、前記アナログ・デジタル変換回路は、第1のゲインと、前記第1のゲインよりも大きい第2のゲインとを備えている構成可能なゲインを備えている、
を備えており、
ここで、前記第1の構成制御信号は、前記第1のゲインを有するように前記アナログ・デジタル変換回路を構成する;及び、
ここで、前記第2の構成制御信号は、前記第2のゲインを有するように前記アナログ・デジタル変換回路を構成する、
請求項1に記載のデバイス。 - 前記読み出し回路が複数の読み出し回路ブロックを備えており、各読み出し回路ブロックが、
入力ノードと出力ノードとを備えている電流積分回路;及び、
前記選択回路の第1の出力に接続されたアナログ・デジタル変換回路
を備えており、
ここで、前記電流積分回路が、第1の積分期間と、前記第1の積分期間よりも長い第2の積分期間とを備えている構成可能な積分期間を備えており;
ここで、前記第1の構成制御信号は、前記第1の積分期間を有する電流積分プロセスを実行するように前記電流積分回路を構成する;及び、
ここで、前記第2の構成制御信号は、前記第2の積分期間を有する電流積分プロセスを実行するように前記電流積分回路を構成する、
請求項11に記載のデバイス。 - 前記周辺回路が、制御線電圧駆動回路を更に備えており、ここで、前記制御線電圧駆動回路は、前記第1の構成制御信号に応答して前記第1の積分期間に比例する第1のパルス持続時間を有する電圧パルスを生成し及び前記第2の構成制御信号に応答して前記第2の積分期間に比例する第2のパルス持続時間を有する電圧パルスを生成するところの構成可能なパルス幅変調回路を備えている、請求項1に記載のデバイス。
- 複数の抵抗処理ユニット(RPU)セルの1つのアレイ上で第1の操作を実行すること;
複数のRPUセルの前記1つのアレイ上で前記第1の操作を実行する為に第1のハードウェア構成を有するように読み出し回路を構成すること;
複数のRPUセルの前記1つのアレイ上で第2の操作を実行すること;及び、
複数のRPUセルの前記1つのアレイ上で前記第2の操作を実行する為に第2のハードウェア構成を有するように前記読み出し回路を構成すること、ここで、前記読み出し回路の前記第2のハードウェア構成は、前記読み出し回路の前記第1のハードウェア構成と異なる、
を含む方法。 - 前記第1の操作が、複数のRPUセルの前記1つのアレイ上で実行されるニューラルネットワーク訓練プロセスのフォワードパス操作を含み、ここで、前記複数のRPUセルの前記1つのアレイは、人工ニューロンの上流層と人工ニューロンの下流層とを接続する人工シナプス要素の1つのアレイを備えている;
前記第2の操作が、複数のRPUセルの前記1つのアレイ上で実行される前記ニューラルネットワーク訓練プロセスのバックワードパス操作を含む、
請求項14に記載の方法。 - 第1のハードウェア構成を有するように前記読み出し回路を構成することが、第1の積分静電容量を有するように前記読み出し回路の電流積分回路を構成することを含み;及び、
第2のハードウェア構成を有するように前記読み出し回路を構成することが、前記第1の積分静電容量よりも小さい第2の積分静電容量を有するように前記読み出し回路の前記電流積分回路を構成することを含む、
請求項14に記載の方法。 - 第1のハードウェア構成を有するように読み出し回路を構成することが、第1の最下位ビット(LSB)電圧分解能を有するように前記読み出し回路のアナログ・デジタル変換回路を構成することを含み;及び、
第2のハードウェア構成を有するように前記読み出し回路を構成することが、前記第1のLSB電圧分解能よりも大きい第2のLSB電圧分解能を有するように前記読み出し回路の前記アナログ・デジタル変換回路を構成することを含む、
請求項14に記載の方法。 - 第1のハードウェア構成を有するように前記読み出し回路を構成することが、第1のゲインを有するように前記読み出し回路のアナログ・デジタル変換回路を構成することを含み;及び、
第2のハードウェア構成を有するように前記読み出し回路を構成することが、前記第1のゲインよりも大きい第2のゲインを有するように前記読み出し回路のアナログ・デジタル変換回路を構成することを含む、
請求項14に記載の方法。 - ニューロモーフィックコンピューティングシステムを備えているシステムであって、該ニューロモーフィックコンピューティングシステムが、
複数の抵抗処理ユニット(RPU)セルの1つのアレイ、ここで、複数の第1制御線が複数のRPUセルの前記1つのアレイを横切って第1の方向に延在し、及び複数の第2制御線が複数のRPUセルの前記1つのアレイを横切って第2の方向に延在し、ここで、各RPUセルが、前記複数の第1制御線のうちの1つと前記複数の第2制御線のうちの1つとの交差部で接続されており、複数のRPUセルの前記1つのアレイが、前記ニューロモーフィックコンピューティングシステムの人工ニューロンの上流層と前記ニューロモーフィックコンピューティングシステムの人工ニューロンの下流層との間の接続強度を表すシナプス重みを記憶するところの人工シナプス要素の1つのアレイを備えており、ここで、該シナプス重みが、複数のRPUセルの抵抗デバイスのコンダクタンス値によってエンコードされている;
前記複数の第1制御線に及び前記複数の第2制御線に接続された周辺回路、ここで、前記周辺回路は読み出し回路を備えている;並びに、
前記周辺回路に操作可能に接続された制御システム、ここで、前記制御システムは、前記周辺回路を制御して、複数のRPUセルの前記1つのアレイ上で第1の操作を実行し且つ複数のRPUセルの前記1つのアレイ上で第2の操作を実行する為の制御信号を生成する、
を備えており、
ここで、前記制御信号は、
前記第1の操作が複数のRPUセルの前記1つのアレイ上で実行されるときに、第1のハードウェア構成を有するように前記読み出し回路を構成する為の第1の構成制御信号、ここで、前記第1の操作は、ニューラルネットワーク訓練プロセスのフォワードパス操作を含む;及び、
前記第2の操作が複数のRPUセルの前記1つのアレイ上で実行されるときに、前記第1のハードウェア構成とは異なる第2のハードウェア構成を有するように前記読み出し回路を構成する為の第2の構成制御信号、ここで、前記第2の操作は、前記ニューラルネットワーク訓練プロセスのバックワードパス操作を含む、
を含む、前記システム。 - 前記周辺回路が、制御線電圧駆動回路とマルチプレクサ回路とを更に備えており;
前記制御信号が、前記読み出し回路を前記複数の第1制御線に及び前記制御線電圧駆動回路を前記複数の第2制御線に選択的に接続して前記第1の操作を前記マルチプレクサ回路に行わせ、並びに前記読み出し回路を前記複数の第2制御線に及び前記制御線電圧駆動回路を前記複数の第1制御線に選択的に接続して前記第2の操作を前記マルチプレクサ回路に行わせるマルチプレクサ制御信号を更に有し;
前記第1の操作の場合に、前記制御線電圧駆動回路は、前記複数の第2制御線のうちの1以上に第1の電圧パルスを印加し、ここで、前記電圧パルスは、前記上流層から受け取られたデジタル入力信号を表し、及び前記第1のハードウェア構成を有する前記読み出し回路は、前記RPUセルによって生成され且つ前記第1の電圧パルスに応答して前記複数の第1制御線に出力されるところの第1の電流信号を受け取り、前記複数の第1制御線から出力される前記第1の電流信号を表す第1のデジタル出力信号を生成する;
前記第2の操作の場合に、前記制御線電圧駆動回路は、前記複数の第1制御線のうちの1以上に第2の電圧パルスを印加し、ここで、前記第2の電圧パルスは、前記下流層から受け取られたデジタルエラー信号を表し、及び前記第2のハードウェア構成を有する前記読み出し回路は、RPUセルによって生成され且つ第2の電圧パルスに応答して前記複数の第2制御線に出力されるところの第2の電流信号を受け取り、前記複数の第2制御線から出力される前記第2の電流信号を表す第2のデジタル出力信号を生成する、
請求項19に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/121,930 | 2020-12-15 | ||
US17/121,930 US20220188628A1 (en) | 2020-12-15 | 2020-12-15 | Dynamic configuration of readout circuitry for different operations in analog resistive crossbar array |
PCT/CN2021/125968 WO2022127381A1 (en) | 2020-12-15 | 2021-10-25 | Dynamic configuration of readout circuitry for different operations in analog resistive crossbar array |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024500737A true JP2024500737A (ja) | 2024-01-10 |
Family
ID=81942595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023536806A Pending JP2024500737A (ja) | 2020-12-15 | 2021-10-25 | アナログ抵抗クロスバーアレイにおける異なる演算の為の読み出し回路の動的構成 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220188628A1 (ja) |
JP (1) | JP2024500737A (ja) |
CN (1) | CN116601710A (ja) |
DE (1) | DE112021006459T5 (ja) |
GB (1) | GB2618232A (ja) |
WO (1) | WO2022127381A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11823037B1 (en) * | 2023-02-28 | 2023-11-21 | PolyN Technology Limited | Optocoupler-based flexible weights in neuromorphic analog signal processors |
CN116189732B (zh) * | 2023-04-21 | 2023-07-21 | 南京大学 | 读出电路优化的存算一体芯片及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10134472B1 (en) * | 2017-06-30 | 2018-11-20 | International Business Machines Corporation | Floating gate architecture for deep neural network application |
US10340002B1 (en) * | 2018-03-30 | 2019-07-02 | International Business Machines Corporation | In-cell differential read-out circuitry for reading signed weight values in resistive processing unit architecture |
US11157810B2 (en) * | 2018-04-16 | 2021-10-26 | International Business Machines Corporation | Resistive processing unit architecture with separate weight update and inference circuitry |
US10896242B2 (en) * | 2019-03-01 | 2021-01-19 | International Business Machines Corporation | Resistive memory device for matrix-vector multiplications |
CN110648706B (zh) * | 2019-09-02 | 2021-03-23 | 中国科学院微电子研究所 | 三维阻变存储器及其读出电路 |
-
2020
- 2020-12-15 US US17/121,930 patent/US20220188628A1/en active Pending
-
2021
- 2021-10-25 JP JP2023536806A patent/JP2024500737A/ja active Pending
- 2021-10-25 WO PCT/CN2021/125968 patent/WO2022127381A1/en active Application Filing
- 2021-10-25 GB GB2310291.6A patent/GB2618232A/en active Pending
- 2021-10-25 CN CN202180084148.6A patent/CN116601710A/zh active Pending
- 2021-10-25 DE DE112021006459.2T patent/DE112021006459T5/de active Pending
Also Published As
Publication number | Publication date |
---|---|
GB2618232A (en) | 2023-11-01 |
US20220188628A1 (en) | 2022-06-16 |
WO2022127381A1 (en) | 2022-06-23 |
GB202310291D0 (en) | 2023-08-16 |
CN116601710A (zh) | 2023-08-15 |
DE112021006459T5 (de) | 2023-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10708522B2 (en) | Image sensor with analog sample and hold circuit control for analog neural networks | |
US11348002B2 (en) | Training of artificial neural networks | |
US9779355B1 (en) | Back propagation gates and storage capacitor for neural networks | |
US8930291B1 (en) | Cortical neuromorphic network, system and method | |
JP7119109B2 (ja) | 重み更新回路および推論回路を別個に有する抵抗型処理ユニット・アーキテクチャ | |
US5343555A (en) | Artificial neuron with switched-capacitor synapses using analog storage of synaptic weights | |
US8959040B1 (en) | Spike timing dependent plasticity apparatus, system and method | |
US10468098B2 (en) | In-cell differential read-out circuitry for reading signed weight values in resistive processing unit architecture | |
CN111656368A (zh) | 硬件加速的离散式神经网络 | |
JP2024500737A (ja) | アナログ抵抗クロスバーアレイにおける異なる演算の為の読み出し回路の動的構成 | |
US20220058492A1 (en) | Delta-sigma modulation neurons for high-precision training of memristive synapses in deep neural networks | |
US11188815B2 (en) | Weight shifting for neuromorphic synapse array | |
Liu et al. | A memristor-based neuromorphic engine with a current sensing scheme for artificial neural network applications | |
US11562249B2 (en) | DNN training with asymmetric RPU devices | |
US11386319B2 (en) | Training of artificial neural networks | |
GB2583790A (en) | Computing circuitry | |
Bertuletti et al. | A multilayer neural accelerator with binary activations based on phase-change memory | |
JP7357080B2 (ja) | Rpuアレイのためのノイズおよび信号管理 | |
US11556770B2 (en) | Auto weight scaling for RPUs | |
US20220101142A1 (en) | Neural network accelerators resilient to conductance drift | |
CN117136363A (zh) | 深度神经网络训练 | |
KR20230054136A (ko) | 뉴로모픽 하드웨어 | |
CN117391161A (zh) | 基于存储器的神经拟态器件及其操作方法 | |
JPH0266688A (ja) | ホップフィールドネット | |
Thakoor et al. | Cascaded VLSI neural network architecture for on-line learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD16 | Notification of change of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7436 Effective date: 20230512 Free format text: JAPANESE INTERMEDIATE CODE: A7436 Effective date: 20230711 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240307 |