JP2021518590A - 混合信号コンピューティングのためのシステムおよび方法 - Google Patents

混合信号コンピューティングのためのシステムおよび方法 Download PDF

Info

Publication number
JP2021518590A
JP2021518590A JP2020548918A JP2020548918A JP2021518590A JP 2021518590 A JP2021518590 A JP 2021518590A JP 2020548918 A JP2020548918 A JP 2020548918A JP 2020548918 A JP2020548918 A JP 2020548918A JP 2021518590 A JP2021518590 A JP 2021518590A
Authority
JP
Japan
Prior art keywords
node
current
signal
circuit
add
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.)
Granted
Application number
JP2020548918A
Other languages
English (en)
Other versions
JP7306725B2 (ja
Inventor
フィック,ローラ
エル−チャマス,マナー
スカジニア,スカイラー
フィック,デイビッド
Original Assignee
ミシック,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ミシック,インコーポレイテッド filed Critical ミシック,インコーポレイテッド
Publication of JP2021518590A publication Critical patent/JP2021518590A/ja
Application granted granted Critical
Publication of JP7306725B2 publication Critical patent/JP7306725B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/14Conversion in steps with each step involving the same or a different conversion means and delivering more than one bit
    • H03M1/145Conversion in steps with each step involving the same or a different conversion means and delivering more than one bit the steps being performed sequentially in series-connected stages
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03FAMPLIFIERS
    • H03F3/00Amplifiers with only discharge tubes or only semiconductor devices as amplifying elements
    • H03F3/45Differential amplifiers
    • H03F3/45071Differential amplifiers with semiconductor devices only
    • H03F3/45076Differential amplifiers with semiconductor devices only characterised by the way of implementation of the active amplifying circuit in the differential amplifier
    • H03F3/45179Differential amplifiers with semiconductor devices only characterised by the way of implementation of the active amplifying circuit in the differential amplifier using MOSFET transistors as the active amplifying circuit
    • H03F3/45183Long tailed pairs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03FAMPLIFIERS
    • H03F3/00Amplifiers with only discharge tubes or only semiconductor devices as amplifying elements
    • H03F3/45Differential amplifiers
    • H03F3/45071Differential amplifiers with semiconductor devices only
    • H03F3/45479Differential amplifiers with semiconductor devices only characterised by the way of common mode signal rejection
    • H03F3/45928Differential amplifiers with semiconductor devices only characterised by the way of common mode signal rejection using IC blocks as the active amplifying circuit
    • H03F3/45968Differential amplifiers with semiconductor devices only characterised by the way of common mode signal rejection using IC blocks as the active amplifying circuit by offset reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06JHYBRID COMPUTING ARRANGEMENTS
    • G06J1/00Hybrid computing arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03FAMPLIFIERS
    • H03F3/00Amplifiers with only discharge tubes or only semiconductor devices as amplifying elements
    • H03F3/45Differential amplifiers
    • H03F3/45071Differential amplifiers with semiconductor devices only
    • H03F3/45076Differential amplifiers with semiconductor devices only characterised by the way of implementation of the active amplifying circuit in the differential amplifier
    • H03F3/45475Differential amplifiers with semiconductor devices only characterised by the way of implementation of the active amplifying circuit in the differential amplifier using IC blocks as the active amplifying circuit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03FAMPLIFIERS
    • H03F2203/00Indexing scheme relating to amplifiers with only discharge tubes or only semiconductor devices as amplifying elements covered by H03F3/00
    • H03F2203/45Indexing scheme relating to differential amplifiers
    • H03F2203/45551Indexing scheme relating to differential amplifiers the IC comprising one or more switched capacitors

Landscapes

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

Abstract

グローバル基準信号源と、第1の加算ノードおよび第2の加算ノードと、第1の加算ノードおよび第2の加算ノードに沿って配置された複数の別個の対の電流発生回路と、第1の加算ノードに配置される複数の別個の対のそれぞれの第1の電流発生回路および第2の加算ノードに配置される複数の別個の対のそれぞれの第2の電流発生回路と、ローカルDACがグローバル基準源からの基準信号に基づいて第1の加算ノードと第2の加算ノードとの間の差動電流を調整する、第1の加算ノードと第2の加算ノードそれぞれと電気的に通信して配置される共通モード電流回路と、および第1の加算ノードおよび第2の加算ノードから取得されたバイナリ出力値電流値を生成するコンパレータまたは有限状態機械と、を含む、混合信号集積回路。【選択図】図1

Description

関連出願の相互参照
本出願は、2018年3月19日出願の米国仮特許出願第62/644,908号の利益を主張し、その全体は参照により本明細書に組み込まれる。
本明細書に記載の本発明は、一般に集積回路のアーキテクチャ分野に関し、より詳細には、新規の有用な混合信号集積回路および集積回路のアーキテクチャ分野の混合信号を計算する方法に関する。
今日、人工知能および機械学習の様々な実装形態が、多くの技術分野で革新の契機になっている。人工知能(AI)システムおよび人工知能のモデル(アルゴリズムを含む)は、機械学習(深層学習)、推論、推理能力、および機械の大規模データ処理能力(例えば、コンピュータおよび/またはコンピューティングサーバ)を可能にする多くのシステムアーキテクチャおよびモデルによって定義される。これらのAIシステムおよびモデルは、自然言語処理、画像認識、企画立案、意思決定などの1つまたは複数の特定のタスクを行うため、集中的に訓練されることが多い。例えば、これらのAIシステムおよびモデルのサブセットは、人工ニューラルネットワークモデルを含む。人工ニューラルネットワークモデルの訓練は、多くの場合、使用前にモデルの関連するニューラルネットワークアルゴリズムを微調整するため訓練周期全体で数千時間と何テラバイトもの訓練データとを必要とする可能性がある。
しかし、訓練が終わると、ニューラルネットワークモデルまたはニューラルネットワークアルゴリズムを素早く展開して、訓練周期中に使用されるより大きい訓練データに比べると比較的小さいデータセットに基づいて推論して、特定タスクを成し遂げることができる(例えば、音声入力データからの音声を認識して)。小さいデータセットに戻づくニューラルネットワークモデルまたはニューラルネットワークアルゴリズムによる推論は、ニューラルネットワークモデルが計算して、正しい回答になる、または環境についての兆候になるものについての予言になり得る。
さらに、1つまたは複数のニューラルネットワークアルゴリズムを実装するニューラルネットワークモデルは、訓練フェーズで要求したのと同じ量の計算源を要求しない可能性があるが、その分野のニューラルネットワークモデルを展開して、重要な回路区域、エネルギー、および計算力を要求し続けて、データおよび推論を分類するか、または結果を予言する。例えば、加重和計算は、ニューラルネットワークアプリケーションを含む、パターンマッチングアプリケーションおよび機械学習アプリケーションで一般に使用される。加重和計算では、集積回路は、1組の入力(xi)に1組の重み(wi)を乗じ、各乗算演算の結果を合計して最終結果(z)を計算するように機能できる。しかし、機械学習アプリケーションのための典型的な加重和計算は、加重和計算の計算コストを高くさせて伝統的なデジタル回路で計算する何百または何千もの重みを含む。具体的には、デジタルメモリから何百または何千もの重みにアクセスするには、非常に多くの計算時間(すなわち、レイテンシを増加する)と非常に多くのエネルギーを必要とする。
したがって、ニューラルネットワークモデルなどの加重和計算を計算するために要求される伝統的なデジタル回路は、ニューラルネットワークモデルに要求される何十万もの重みを保存するために必要な大量のデジタルメモリ回路を収容するため大きくなりがちである。回路のサイズが大きくなるため、多くの伝統的なコンピュータおよび回路の計算力を可能にするためより多くのエネルギーが必要になる。
その上、人工知能モデル、すなわち、ニューラルネットワークモデルを実装するためのこれらの伝統的なコンピュータおよび回路は、分散型コンピューティングシステム(例えば、クラウド)において、または多くのオンサイトコンピューティングサービスを使用するときなど、遠隔コンピューティング処理に適する可能性がある。しかし、これらの遠隔人工知能処理システムを遠隔、エッジコンピューティングデバイスまたはフィールド機器用に推論を計算する際に使用するとき、レイテンシの問題は、明白である。すなわち、これらの伝統的な遠隔システムが、遠隔フィールド機器で使用される推論を生成するためニューラルネットワークモデルの実装を求める場合、遠隔フィールド機器からの入力データを受信する際に回避不能な遅延が存在する。入力データは、バンド幅が変動してネットワーク上で転送されることが必要な場合が多いので、続いて遠隔コンピューティングシステムによって生成される推論は、同じか、または類似のネットワークを介して、遠隔フィールド機器に返信される必要がある。
AI処理システムをフィールドレベルで(例えば、局所的に遠隔フィールド機器で)実装することは、一部のレイテンシの課題を解決するための提案された解決策であってもよい。しかし、一部のこれらの伝統的なAIコンピュータおよびシステムをエッジデバイスで実装する試み(例えば、遠隔フィールド機器)は、データを処理し、推論を生成する際に使用されるコンピューティングシステムの要求される複雑なアーキテクチャにより、上述のように、相当な量のエネルギーを消費する多くの回路を備えるかさばるシステムをもたらす恐れがある。したがって、追加のないこうした提案は、現在の技術で実行できないおよび/また持続できない可能性がある。
したがって、大きく、かさばる(エッジ)デバイスにならず、レイテンシを低減し、省エネルギーでもありながら、リアルタイムまたはほぼリアルタイムで必要な計算パワーを有して予言または推論をする、フィールドの局所に(例えば、ローカルAI)かつエッジデバイスで使用されることが好ましい人工知能モデルを実装する展開可能なシステムに対するニーズがある。
本出願の以下に記載された実施形態は、AIおよび機械学習を実装する伝統的なシステムおよび集積回路アーキテクチャの不備を処理することが可能なこうした先進的かつ改善された集積回路および実装技術を提供する。
一実施形態では、集積回路には、複数のローカル差動電流回路を動作させる加重グローバル基準信号源、複数の差動電流回路のうちの1つの差動電流回路と電気的に通信して配置される第1の加算ノードおよび第2の加算ノード、それぞれの第1のプログラム可能な電流源が第1の加算ノードに配置され、それぞれの第2のプログラム可能な電流源が第2の加算ノードに配置され、プログラム可能な電流源の各対が入力信号に基づいて第1の加算ノードと第2の加算ノードとの間に差動電流信号を設定する、第1の加算ノードおよび第2の加算ノードに沿って配置された複数の別個の対のプログラム可能な電流源、第1の加算ノードと第2の加算ノードのそれぞれに電気的に通信して配置され、共通電流値を第1の加算ノードと第2の加算ノードのそれぞれに供給するか、それぞれから減らす共通モード制御回路、バイナリ加重グローバル基準源からの1つまたは複数の基準信号に基づいて第1の加算ノードと第2の加算ノードとの間の差動電流を調整するローカル差動電流回路、および第1の加算ノードと第2の加算ノードとの出力に基づいてアナログ値を評価し、その評価に基づいてバイナリ出力値を生成するコンパレータが含まれる。
一実施形態では、第1の加算ノードの第1の電流値の出力と第2の加算ノードの第2の電流値の出力の合計がゼロに等しくなるまで、ローカル差動電流回路は、第1の加算ノードと第2の加算ノードとの間の差動電流を調整する。
一実施形態では、コンパレータは、第1の加算ノードと第2の加算ノードのそれぞれの合計電流値の相対的な状態を評価し、第1の加算ノードと第2の加算ノードのいずれが、より大きい電流値を有するか、またはより小さい電流値を有するかを判定する。
一実施形態では、ローカル差動電流回路は、第1の加算ノードと第2の加算ノードのいずれがより大きい電流信号値を出力するかに基づいて第1の加算ノードと第2の加算ノードに漸次より小さい差動電流信号増分を供給することによって第1の加算ノードと第2の加算ノードとの間の差動電流信号を増やしたり減らしたりする。
一実施形態では、共通モード回路は、共通モード電流値を第1の加算ノードと第2の加算ノードのそれぞれに供給する単一増幅器駆動回路およびスイッチトキャパシタフィードバック回路のうちの1つを備える。
一実施形態では、スイッチトキャパシタフィードバック回路は、生成された共通モードフィードバック電圧を追跡する目標電圧値を動作させる第1の増幅器および共通モードフィードバック回路のスイッチング信号からの敏感な出力電圧から保護する第2の増幅器を含む。
一実施形態では、共通モード電流回路は、それぞれが2つのトランジスタのうちの1つと電気的に通信して配置され、それぞれが2つのトランジスタのそれぞれでゲート電圧を所望の共通モード電圧に動作させる少なくとも2つの増幅器を含む補正回路を備える。
一実施形態では、共通モード電流回路は、それぞれが2つのトランジスタのうちの1つと電気的に通信して配置され、2つのトランジスタのそれぞれでゲート電圧を所望の共通モード電圧に動作させる2つのトランジスタのそれぞれの間で切り替える単一増幅器を含む補正回路を備える。
一実施形態では、共通モード電流回路は、フロントエンド増幅器の出力電圧差動が少なくとも2つのトランジスタにゲート電圧として保存される、第1の加算ノードと第2の加算ノードの容量性入力ノードへの出力電圧をショートすることによって自動的にゼロになるフロントエンド増幅器を含む補正回路を備える。
一実施形態では、バイナリ加重グローバル基準信号源は、バイナリサーチアルゴリズムの各段階でバイナリ加重グローバル基準信号源が、複数のローカル差動電流回路がそれぞれ、複数のローカル差動電流回路それぞれの、それぞれのローカルの状態を調整するためにバイナリ加重値を設定するように、バイナリサーチアルゴリズムを実行する。
一実施形態では、複数のローカル差動電流回路はそれぞれ、共有信号経路に沿って配置され、加算ノードの別個の対と電気的に通信して配置され、バイナリ加重グローバル基準源は、複数のローカル差動電流回路のそれぞれに共有信号経路に沿って複数のバイナリ加重信号を供給する。
一実施形態では、混合信号集積回路には、複数のローカルデジタルアナログ変換器(DAC)を動作させるグローバル基準信号源、複数のローカルDACのうちの1つのローカルDACと電気的に通信して配置される第1の加算ノードおよび第2の加算ノード、複数の別個の対のそれぞれの第1の電流発生回路が第1の加算ノードに配置され、複数の別個の対のそれぞれの第2の電流発生回路が第2の加算ノードに配置され、電流発生回路の各対が入力信号に基づいて第1の加算ノードと第2の加算ノードとの間に差動電流信号を設定する、第1の加算ノードおよび第2の加算ノードに沿って配置された複数の別個の対の電流発生回路、第1の加算ノードと第2の加算ノードのそれぞれに電気的に通信して配置され、共通電流値を第1の加算ノードと第2の加算ノードのそれぞれに供給するか、それぞれから減らす共通モード回路、グローバル基準源からの1つまたは複数の基準信号に基づいて第1の加算ノードと第2の加算ノードとの間の差動電流を調整するローカルDAC、および第1の加算ノードと第2の加算ノードとの出力に基づいてアナログ値を評価し、その評価に基づいてバイナリ出力値を生成するコンパレータまたは有限状態機械が含まれる。
一実施形態では、グローバル基準源は、バイナリサーチアルゴリズム、最下位ビットサーチアルゴリズム、非バイナリサーチアルゴリズム、対数サーチアルゴリズム、およびカスタムユーザ定義サーチ関数のうちの1つを実行する。
一実施形態では、集積回路を実装する方法は、複数の別個のプログラム可能な電流源のそれぞれでアナログ入力信号を受け取ること、複数の別個のプログラム可能な電流源のそれぞれによって、複数の別個のプログラム可能な電流源のそれぞれの両端間にアナログ入力信号を印加することに基づいて、差動電流信号を生成すること、複数の別個のプログラム可能な電流源のそれぞれによって、第1の加算ノードおよび第2の加算ノードに差動電流信号を供給すること、第1の加算ノードと第2の加算ノードとの間の平均電圧を測定すること、測定に応じて、第1の加算ノードおよび第2の加算ノードのそれぞれに共通電流信号を供給すること、ローカル差動電流源によって、第1の加算ノードおよび第2の加算ノードにサーチベースの差動電流信号を供給すること、および第1の加算ノードと第2の加算ノードの差動電流信号の加重和の差に基づいてバイナリ出力値を生成することを含む。
一実施形態では、ローカル差動電流源は、大きさが同じだが方向が逆の第1の加算ノードと第2の加算ノードのそれぞれに既知の変化する電流信号を供給する。
一実施形態では、方法は、計算を実施するためNサイクルの全体にわたるローカル差動電流源に基準信号のNビットの全体を供給するNビットグローバルデジタルアナログ変換器を備えるグローバル基準源を実装することをさらに含む。
一実施形態では、方法は、第1の加算ノードと第2の加算ノードに沿って差動電流信号を評価すること、出力信号が目標電圧に対する第1の加算ノードおよび第2の加算ノードの測定された電圧の位置を示すローカル差動電流源に出力信号を返すことをさらに含む。
一実施形態では、方法は、Nサイクル後に、第1の加算ノードと第2の加算ノードのそれぞれの合計電流値の間の加重和の差値を計算すること、および加重和の差をバイナリ出力コードに変換することをさらに含む。
図1は、本出願の1つまたは複数の実施形態による集積回路100の概略図を示す。 図2は、本出願の1つまたは複数の実施形態による集積回路を使用して加重和計算を実施する方法を示す。 図3は、本出願の1つまたは複数の実施形態による集積回路の第2の概略アーキテクチャを示す。 図3Aは、本出願の1つまたは複数の実施形態による共通モード回路を実装するバリアントアーキテクチャの概略図を示す。 図3Bは、本出願の1つまたは複数の実施形態による共通モード回路を実装するバリアントアーキテクチャの概略図を示す。 図3Cは、本出願の1つまたは複数の実施形態による共通モード回路を実装するバリアントアーキテクチャの概略図を示す。 図3Dは、本出願の1つまたは複数の実施形態による共通モード回路を実装するバリアントアーキテクチャの概略図を示す。 図3Eは、本出願の1つまたは複数の実施形態による共通モード回路を実装するバリアントアーキテクチャの概略図を示す。 図4は、本出願の1つまたは複数の実施形態による集積回路の第3の概略アーキテクチャを示す。 図5は、本出願の1つまたは複数の実施形態による集積回路の第4の概略アーキテクチャを示す。 図6は、本出願の1つまたは複数の実施形態による集積回路の第5の概略アーキテクチャを示す。 図7は、本出願の1つまたは複数の実施形態による集積回路内にローカル電流源のアレイを有するグローバル基準源を実装する概略図を示す。 図7Aは、本出願の1つまたは複数の実施形態による集積回路内にローカル電流源のアレイを有するグローバル基準源を実装する概略図を示す。 図7Bは、本出願の1つまたは複数の実施形態による集積回路内にローカル電流源のアレイを有するグローバル基準源を実装する概略図を示す。 図7Cは、本出願の1つまたは複数の実施形態による集積回路内にローカル電流源のアレイを有するグローバル基準源を実装する概略図を示す。 図8は、本出願の1つまたは複数の実施形態による集積回路内のグローバル基準源のバイナリ加重実装形態の概略図を示す。 図8Aは、本出願の1つまたは複数の実施形態による集積回路内のグローバル基準源のバイナリ加重実装形態の概略図を示す。 本出願の1つまたは複数の実施形態によるNサイクル計算の概略図を示す。
本出願の好ましい実施形態の以下の説明は、本発明をこれらの好ましい実施形態に制限することを意図するものではなく、むしろ当業者がこれらの発明を作製し使用できるようにすることを意図する。
I.混合信号計算大要
計算集約的プログラムまたはアプリケーション(例えば、深層ニューラルネットワークアルゴリズム)などを実装する際に使用される伝統的な集積回路では、通常の集積回路(IC)アーキテクチャは、大きい面積および力を必要とする比較的大きい回路を含んで、計算を実行、実施する。これは デジタル信号を処理することは(例えば、バイナリ信号)、大きくて電力消費の激しい回路の実装を要求する場合が多いためである。したがって、人工知能モデルなどの多くの技術的な計算集約的なプログラムの実装に対して、デジタル信号を処理するためのこれらの大型回路を有する結果としてのコンピュータICもまた、大きくて、したがって、空間が制限されたエッジデバイスなどを含むことにあまり適していない。
さらに、ニューラルネットワークモデルなどの計算集約的アプリケーションを実装する集積回路の大多数の計算量は、 数千から数万の行列乗算を実施するものである。さらに、ニューラルネットワークモデルのためのデジタル信号の処理では、2つの数字の積が計算され、積がその後、アキュムレータに追加される積和演算も実施され得る。したがって、デジタル回路のみ、または主としてデジタル回路を使用して、ニューラルネットワークモデルを実装する場合、結果としてのデジタル回路は、計算を実施して大量のエネルギーを消費し、神経細胞用重み係数および多くの積和演算の結果として生じる製品を貯蔵する。
計算のため必要な電力を低減するための技術的な解決策として、計算集約的プロセスができる集積回路の全体的なサイズは、面積効率およびエネルギー効率を達成するため様々な他の集積回路の電気回路構成と並んで極めて面積効率の良いデジタルアナログ変換器(DAC)を使用して(根本的に大きい、または面積集約的な標準DACではなくて)実装できる混合信号コンピューティングアーキテクチャを提供することを含む。したがって、DACアーキテクチャの伝統的な実装は、集積回路が要求するエネルギーおよびその全体的なサイズを低減するために有用であり得るが、計算集約的AIプログラムおよびアプリケーションを処理するために必要であり得る多くのDACにより、DACアーキテクチャのこれらの伝統的な実装は、適していない可能性がある。
しかし、本出願の実施形態は、1つまたは複数のアナログデジタル変換器と動作可能に通信できるグローバル(基準信号源)DACを様々な形態で実装することにより、少なくとも上述の技術的課題を解決する。
したがって、加重和計算を実施する集積回路が提供される。集積回路は、対に相互接続され配置された複数の電流発生要素、正の加算ノード、負の加算ノード、および入力発生回路を含むのが好ましい。電流発生要素の各対に対して、各要素の制御端子は入力ノードに電気的にせ接続される。電流発生要素のうちの1つは、正の加算ノードに接続された端子(例えば、ドレーンなど)を有するが、他の電流発生要素は、負の加算ノードに接続された端子(例えば、ドレーンなど)を有する。両方の電流発生要素上の残りの端子は、共有することができる基準に接続される。入力ノードが、活性化電圧にあり、2つの加算ノードが所定の目標電圧にある場合、電流発生要素の各対は、2つの加算ノードに所定の量の電流を供給する。本明細書で言及される活性化電圧は、プログラム可能な電流源によって供給される電流が電圧と共に増加し始める電圧値に関する。したがって、活性化電圧は、プログラム可能な電流源に検出可能電流信号を生成させる電圧値に関係し得る。これら2つの供給された電流の差は値を示し、値は、複数の電流発生要素の対の中で変動する。各対は、同じ2つの加算ノードに電気的に接続されるので、それらの電流は、当然これらのノードで合計され、その結果、2つのノードの間の電流の全体的な差は、対の値の合計に等しくなる。
上記を達成するため、集積回路は、共通モード電流発生回路、差動電流発生回路、および比較回路を含む。共通モード電流回路は、2つの加算ノードの平均電圧を測定し、平均電圧が目標電圧に等しくなるように各ノードに同じ電流を出力する。差動電流回路は、大きさが同じだが方向が逆の既知の変化する電流を各線に出力する。本明細書で論じたように、追加で、または代替で、差動電流回路は、大きさが変動し同じ方向(すなわち、同じ信号)か、または逆の方向(例えば、異なる信号)の既知の変化する電流を各線に出力するように機能することができる。比較回路は、どの加算線の電圧が大きいかを示す信号を出力する。比較出力回路が変化するとき、2つの加算ノードはしばらくの間目標電圧に等しくなり、差動電流回路によって生成される電流は、加算値に等しく、差動電流の値は、結果として記録され得ることが知られている。
したがって、DACのアーキテクチャ面積の低減を達成でき、エッジコンピューティングデバイスなどが入力データの源で局地的にAI計算することを含む複雑でコンピュータ集約的な動作を実施することができるコンピュータ効率および電力効率が達成され得る。
II.アレイDAC大要
上述の混合信号計算アーキテクチャの改良として、本出願の1つ以上の実施形態は、参照によりその全体が本願に組み込まれる、米国仮特許出願第62/559,354号および米国特許出願第16/127,488号に記載の、動作可能に通信し複数のローカル(出力)DACの制御であるグローバル(基準信号源)DACを実装する。本明細書に記載のその実施形態およびさらなる実施形態は、チップ上で非常に大きい面積を費やさずに、多くの正確なDACの作成を可能にすることにより、混合信号コンピューティングアーキテクチャに関する根本的な技術的課題を解決するように機能する。対称的に、デバイスのサイズに関して低い束縛を要求する様々な構成部品のマッチングの制約により、最新のDACは、通常大きくなる可能性がある。この技術的課題は、DACの解像度が6〜8ビットを越えると、さらに明らか、かつ解決しがたくなる。その結果、これらの伝統的なDACは、DACのアーキテクチャで雑音や速度が考慮されると、エネルギー効率およびサイズ効率がよくない可能性がある。
グローバル(基準)DACは、ローカル(ミラー)DACそれぞれに対する信号源(一部の実施形態では、基準信号源のみ)として機能する。好ましい実施形態では、ローカルDACは、複数のクロックサイクルにわたってグローバルDACによって発生したアナログ基準信号を連続的に蓄積するように機能する。こうした実施形態では、ローカルDACそれぞれによる蓄積は、新しいまたは全体的な出力(例えば、基準信号の蓄積を表す電荷)を供給するコンデンサ上または他のエネルギー貯蔵デバイス上にある。
したがって、各ローカルDACは、通常基準信号を供給するそれぞれの専用の基準デバイスを必要とするので、上述の方法でグローバルDACを実装することにより、ローカルDACを動作させるために必要な多くの高精密基準デバイスの低減が可能になる。伝統的なDACでは、基準信号の発生ならびに出力回路は、一般に単一の大きいDACに組み込まれ得る。したがって、本出願のいくつかの実施形態では、グローバルDACは、複数のローカルDACそれぞれに信号伝達し、それによって正確なDACを実装するマッチング要求を改善する正確な源、より具体的には、複数のローカル出力DACを動作させるための複数の基準信号源DACに対する要求(例えば、1対1の一致を除く)を提供するように機能する。したがって、DACのアーキテクチャ面積の低減を達成でき、エッジコンピューティングデバイスなどが入力データの源で局地的にAI計算することを含む複雑でコンピュータ集約的な動作を実施することを可能にするコンピュータ効率および電力効率が達成され得る。
III.バイナリマトリックス大要
グローバルDACによって制御されるローカルDACのアレイを含むアーキテクチャを実装する混合信号計算回路には、伝統的な集積回路上に著しい動作効率およびチップサイズ効率を提供しながら、動作効率を改良し、その計算速度を上げる機会がさらに存在する。
したがって、本出願の1つ以上の実施形態は、アナログデジタル変換器(ADC)アーキテクチャ毎に1つのDACを可能にし、計算毎に2サイクルより計算毎にNサイクルだけを必要とするバイナリサーチアルゴリズムの使用も可能にするアレイDACトポロジを有利に実装する。
こうした実装の技術的利点には、エネルギー効率(より少ないエネルギー使用)ならびに行列乗算計算および/または類似の計算の間集積回路の改良された動作性能(例えば、より速い計算)が含まれる。
例えば、非バイナリ加重グローバルDACの一部のADCアーキテクチャへの実装では、グローバルDACは、通常、ビット値の基本的または完全なスイープを実施することを要求される。こうした例では、8ビットグローバルDACを実装する場合、8ビットグローバルDACは、256ビット値(2)を通してスイープするように機能し、それに応じて、アレイのADCそれぞれに256基準信号を生成する。したがって、こうした実装を用いて計算を実施するため少なくとも256クロックサイクルが必要である。
上述の通り、バイナリ加重DACは、およそNサイクルでNビット計算を実施するためその機能を提案されている。
いずれの適切なサーチアルゴリズムが、LSB(最下位ビット)最初のバイナリサーチ、非バイナリを含むがそれに限定されないバイナリサーチを越えて実装され得ることに留意されたい。
IV.混合信号計算アーキテクチャ
図1に示すように、計算集約的プログラムおよび/または計算集約的アプリケーションのための混合信号計算を実装する集積回路100は、入力回路110、複数のプログラム可能な電流源120、第1の加算ノード130、第2の加算ノード140、および読み出し回路150(例えば、アナログデジタル変換器(ADC))を含む。好ましくは、読み出し回路150は、図8Aに例として示すように、差動電流回路151および共通モード電流回路156を含む。
集積回路100は、電流発生要素(例えば、複数のプログラム可能な電流源など)に計算の重みまたは同様の係数を予め保存し、入力に応答して電流値を生成するため電流発生要素を使用することによって(デジタルドメインよりも)アナログドメインにおいて計算集約的アプリケーションまたは計算集約的プログラムのための加重和計算を実施するように機能するのが好ましいが、混合信号回路は、電流発生要素によって生成された電流値の加重和計算に基づいて出力コード(例えば、デジタル出力)を識別するため実装することができる。
入力(発生)回路110は、プログラム可能な電流源120のアレイの1つ以上に入力信号を提供するように機能するのが好ましい。いくつかの実施形態では、入力回路110は、複数のプログラム可能な電流源120に1組の入力信号を生成する、かつ/または提供するように構成される。入力回路は、1つまたは複数の入力信号源からデジタル(例えば、バイナリ)入力信号またはアナログ入力信号を受信するように機能できる。1つまたは複数の入力信号源は、入力回路110、外部入力センサ(例えば、カメラなど)、スイッチ、オフチップデバイスまたはオフチップ回路(例えば、オフチップメモリなど)などと動作可能に信号通信する別の集積回路層を含んでもよい。入力回路110は、追加でまたは代替で、プログラム可能な電流源の各対が一連の入力信号を受信し、それに応じて一連の対応する出力を生成する多段方式の集積回路100内にデジタル入力信号を提供するように機能してもよい。
いくつかの実施形態では、入力回路110は、それぞれがプログラム可能な電流源120の信号入力端子と電気的に通信し得る複数の信号出力ポートを備える単一回路として構成することができる。すなわち、各信号出力ポートは、プログラム可能な電流源120または対のプログラム可能な電流源120の対応する信号入力受信端子に電気的に結合されるか、そうでなければ、電気的に接続され得る。追加でまたは代替で、入力回路110は、それぞれがプログラム可能な電流源120の信号入力端子と電気的に通信して配置される単一信号出力ポートを含む複数の異種の回路として構成することができる。
いくつかの実施形態では、入力回路110は、デジタル入力信号をアナログ入力信号に変換するように構成され得る。こうした実施形態では、入力回路110は、デジタル入力信号を受信し、デジタル入力信号を回路100のアナログ電気回路構成に理解可能なアナログ出力信号に変換するように機能するデジタルアナログ変換器を含み得る。例えば、入力回路110は、デジタルセンサからバイナリ入力信号を受信し、バイナリ入力信号を電圧信号に変換し、電圧信号をプログラム可能な電流源120に渡すように機能してもよい。したがって、入力回路110は、プログラム可能な電流源120を制御するため受信した入力信号に基づいて変動する電圧信号を生成するように構成される電圧コントローラ回路(例えば、コンピュータプロセッサなどを有するマイクロコントローラ)を含んでもよい。
好ましい実施形態では、対のプログラム可能な電流源120のゲート端子を接続することによって電気的に通信して配置されるか、または電気的に接続される複数のプログラム可能な電流源120は、対に配置することができるが、プログラム可能な電流源は、任意の適切な方法で対で接続できることに留意されたい。好ましくは、プログラム可能な電流源の異種の対は、行または列に配置され、それにより柱状または長手方向配列を形成するが、様々な実施形態では、プログラム可能な電流源の対は、3列より多く、または3列より少なく配置されるか、もしくは任意の適切な数の列で配置されてもよい。追加で、プログラム可能な電流源120の電気的に接続された対は、さらに、上述の通り、入力回路110に電気的に通信して配置されるか、または電気的に接続されてもよい。すなわち、1対のプログラム可能な電流源120の1つ以上のゲート端子を使用して、プログラム可能な電流源120の対を互いにならびに入力回路110の入力ノード(ポート)または回路に電気的に接続することができる。いくつかの実施形態では、プログラム可能な電流源120の各対は、入力回路110の出力ノードに電気的に通信して配置される制御端子を含み、対の1つまたは複数の端子は、複数の対のプログラム可能な電流源のそれぞれの中で共有され得る基準発生器または基準回路に接続されてもよい。いくつかの実施形態では、基準発生器は、プログラム可能な電流源120の各対に対して基準値を生成および供給するように機能し得るグローバルデジタルアナログ変換器(DAC)などの任意の適切な基準源を備える。こうした構成の結果、入力回路110は、1対のプログラム可能な電流源120のゲート端子を介して単一入力信号を送信することができてもよく、対の電流源それぞれは、入力回路110から同じ単一入力信号を受信するように機能する。
1対のプログラム可能な電流源120の各プログラム可能な電流源120のソース端子は、接地または任意の適切な基準電圧に接続されてもよいが、各プログラム可能な電流源120のドレーン端子は、それぞれの電流加算ノードに接続される。好ましい実施形態では、1対の電流源の第1のプログラム可能な電流源120のドレーン端子は、第1の電流加算ノード130に電気的に接続することができ、1対の電流源の第2のプログラム可能な電流源120のドレーン端子は、第2の電流加算ノード140に電気的に接続することができる。同様に、電流源の対の第1のプログラム可能な電流源120および第2のプログラム可能な電流源120のそれぞれのソース端子は、それぞれの接地または任意の適切な基準電圧に電気的に接続することができる。
好ましい実施形態では、対のプログラム可能な電流源120のアレイは、回路100内に配置され得る。こうした実施形態では、アレイの各対のプログラム可能な電流源120の第1のプログラム可能な電流源は、第1の電流加算ノード130を共有することができ、各対のプログラム可能な電流源120の第2のプログラム可能な電流源は、第2の電流加算ノード140を共有することができる。こうした実施形態の第1の加算ノード130は、第1のプログラム可能な電流源のそれぞれによって供給された正の電流を合計するように機能でき、第2の加算ノード140は、第2のプログラム可能な電流源のそれぞれによって供給された負の値を表す電流(例えば、負に加重された電流)を合計するように機能することができる。したがって、対のプログラム可能な電流源120のアレイは、第1の加算ノード130と第2の加算ノード140それぞれに沿ってプログラム可能な電流源120のアレイによって供給された電流を合計するため、キルヒホッフの電流則(KCL)を利用して回路100に配置することができる。
一実装形態では、プログラム可能な電流源120の2つ以上のアレイが、図5に例として示す回路100に配置されてもよい。このマルチカラム配置では、プログラム可能な電流源120の2つ以上のアレイはそれぞれ、図3〜4に例として示すように、入力発生回路110を共有する列を形成し、差動電流回路151の論理回路152(例えば、コンピュータプロセッサ、処理回路などを有するマイクロコントローラ)を制御する。この構成では、入力発生回路110を含む回路100の1つ以上の構成要素および少なくとも差動電流回路151のマイクロコントローラは、複製されないので、回路100で縮尺を達成できる。
プログラム可能な電流源120の2つ以上のアレイが、回路100に配置され得る第2の実施形態では、図6に例として示すように、プログラム可能な電流源120の複数の列またはアレイが、差動電流回路153、共通モード電流回路156および電流源158、ならびに比較回路160を共有できるように、アナログマルチプレクサ170が、回路100内に追加で配置されてもよい。好ましくは、アナログマルチプレクサ170は、プログラム可能な電流源120の第1の列またはアレイから、および別にプログラム可能な電流源120の第2の列またはアレイから加重合計電流を受け取るように機能する。動作の際には、アナログマルチプレクサ170は、プログラム可能な電流源のそれぞれの列またはアレイから読み出し回路150に加重合計電流を交互に入れ替えるように機能してもよい。この方法で、読み出し回路150のアナログデジタル変換器の機能は、複数の列にわたって償却することができる。この実装形態がプログラム可能な電流源120の2つの列またはアレイで図示されるが、アナログマルチプレクサは、プログラム可能な電流源120の任意の数の列またはアレイを実装するように縮尺できることを理解されたい。
第2の実装形態の変形では、プログラム可能な電流源120の複数の列それぞれの出力状態は、プログラム可能な電流源120の各列からの出力結果が回路100で実施された加重和計算の終わりにシフトチェーンから外にシフトできるようにシフトチェーンに結合されてもよい。これにより、回路100に実装されたプログラム可能な電流源120の複数の列それぞれに対して出力回路を位置付ける十分な空間がない場合に、回路100の回路区域での効率的な働きを可能にする。
第1の加算ノード130および第2の加算ノード140は、電荷を伝達または搬送できる任意の種類の導管を含んでもよい。例えば、第1の加算ノード130および第2の加算ノード140は、
電気伝導体(例えば、金属ワイヤまたは金属線、導電性流体など)を含んでもよい。任意の適切な電気伝導体が、第1の加算ノード130および第2の加算ノード140を実装するために使用されてもよいことに留意されたい。
複数のプログラム可能な電流源120はそれぞれ、(アナログ)入力信号(例えば、電圧など)に応じて電流値を発生するように機能するのが好ましい。好ましい実施形態では、プログラム可能な電流源120は、電圧が印加されると電流値を発生するように機能する抵抗回路を備える。抵抗回路は、任意の種類の再構成可能抵抗器(すなわち、調整可能な抵抗器)であってよく、好ましくは、抵抗回路は、任意の適切なまたは再構成可能な抵抗値あるいは係数を保存するようにプログラムすることができるNORフラッシュトランジスタを備える。追加でまたは代替で、抵抗回路は、メモリスタとも呼ばれる場合がある、誘電性固体材料にわたって抵抗を変化させるように動作する1つの種類の不揮発性ランダムアクセスコンピュータメモリである抵抗ランダムアクセスメモリ(RRAMまたはReRAM)を備える。いくつかの実施形態では、プログラム可能な電流源120は、1端子(1T)NORフラッシュトランジスタまたは2端子(2T)NORフラッシュトランジスタおよび/もしくは他のフラッシュメモリを使用して実装されてもよい。プログラム可能な電流源は、他の種類のNOR型およびNAND型フラッシュデバイス、RRAMデバイス、または当技術分野で既知の任意の適切なデバイスを含む様々な電流発生デバイスによって実装できることを理解されたい。
好ましい実施形態では、プログラム可能な電流源120は、重みまたは係数で事前構成することができる。例えば、機械学習モデル(例えば、ニューラルネットワークモデル)の重みおよび/または係数は、プログラム可能な電流源120の対にマッピングすることができる。
上述したように、プログラム可能な電流源120は、同じ入力電圧信号がプログラム可能な電流源120の対の両端間に印加されたとき、プログラム可能な電流源120の対が、特定のまたは所定の値になるようにプログラムされている差を有する1対の電流(対のそれぞれの電流源による電流出力)を出力するように、対にかつ前もってプログラムされて(すなわち、予めプログラムされて)配置されるのが好ましい。したがって、プログラム可能な電流源120の対によって供給されるそれぞれの電流間の差は、(正の)加算ノード130と電気的に通信して配置されるプログラム可能な電流源を所定の値(例えば、正の重みまたは正の係数)にプログラムすること、および/または(負の)加算ノード140と電気的に通信して配置されるプログラム可能な電流源を所定の値(例えば、正の重みまたは正の係数)にプログラムすることによって生成することができる。したがって、所定の差値を有するプログラム可能な電流源120による電流の対の出力は、2つの加算ノードがそれぞれ目標電圧(VTARGET)にあるという状態の間に、入力回路100が、電圧入力を含む入力信号をプログラム可能な電流源120の対に提供するとき、達成され得る。さらに、以下により詳細に記載するように、読み出し回路150は、2つの加算ノードの目標電圧状態を生成するように機能でき、この状態を生成すると同時に、読み出し回路150は、プログラム可能な電流源120の電流の合計差を決定するように機能することもできる。したがって、加重和計算結果は、所与の1組の入力に対する合計電流差を決定することにより、この方法で決定することができる。
読み出し回路150は、加重和電流信号からデジタル出力信号またはコードを決定するように機能するのが好ましい。読み出し回路150は、所与の1組の入力に対する加重和計算結果を決定するため共同して動作する差動電流回路151、共通モード電流回路156、およびコンパレータ回路160を含むのが好ましい。
本出願の1つ以上の実施形態では、読み出し回路150は、アナログデジタル変換器(ADC)を備えるのが好ましい。製造上の欠陥に起因する場合が多い生産性の課題により、集積回路100は、故障を説明するため冗長ADCを実装してもよい。1つまたは複数の特定の実装形態では、故障の場合、ADC全体に代わることができる、列の冗長が実装されてもよい。列および/または行の冗長が実装されてもよいことに留意されたい。
さらに、こうした実施形態では、複数の冗長ADC(X)が、集積回路のN個のADCの各組用に配置されてもよい。使用または動作の際には、冗長ADCの出力は、所与の組の全てのN個のADC出力に多重送信されてもよい。
このアーキテクチャにより、余分な寄生を敏感なアナログノードに追加しない透明な設計が可能になる。一変形実装形態では、各欠陥ADCまたはこわれたADCは、冗長ADCが要求されるとき、1つだけ移動されてもよい。この方法では、ルーティングは少ないが、デジタル機構は、冗長の実装を認識していることを要求されてもよい。例えば、チップのブリングアップ後、不良ADCの位置は、フューズなどに保存され、冗長ADCは、欠陥ADCを交換するように設定される。
差動電流回路151は、電流源153および電流源153を使用して電流発生電流を制御する差動マイクロコントローラ回路152を含むのが好ましい。差動電流回路151は、差動電流値を第1の電流加算ノード130および第2の電流加算ノード140に対して生成し供給するように機能するのが好ましい。使用の際には、差動電流回路151および関連する電流源153は、既知の差を有する2つの電流を一度に生成するように機能することができ、1つの電流を第1の加算ノード130および第2の加算ノード140にそれぞれ供給する。好ましくは、差動電流回路の電流源によって生成された2つの差動電流は、大きさが等しくてもよいが、反対符号(例えば、同じ大きさの1つの正の電流、1つの負の電流、(50A、−50A))を有する。追加でまたは代替で、差動電流回路151の2つの電流源153によって生成された2つの差動電流は、差動電流回路151からの入力信号に基づく2つの電流源153によって供給された第1の電流信号および第2の電流信号尾が異なる大きさ(例えば、(+8A、+2A)、(+4A、+6A)など)を持つことができるように大きさが変動してもよい。
差動電流回路151の2つの差動電流源153はそれぞれ、第1の電流加算ノード130と第2の電流加算ノード140の一方と電気的に通信していてもよい。いくつかの実施形態では、2つの差動電流源153はそれぞれ、第1の電流加算ノード130と第2の電流加算ノード140の一方と直接の電気接続を共有し、その結果、2つの電流源のそれぞれの端子は、第1の電流加算ノード130と第2の電流加算ノード140の一方と電気的に接続されるか、または電気的に結合される。
一実装形態では、差動回路151は、コントローラとして作用するカレントミラーを有するデジタルアナログ変換器(DAC)を備え、それは、1組の既知のデジタル入力値またはデジタル入力コードで予めプログラムされるか、またはそれへのアクセスを有する。DACは、既知のまたは事前設定されたデジタル入力値をアナログ信号(例えば、差動電流信号)に変換することによって2つの電流源153によって供給される差動電流信号を変動するように機能する。カレントミラーは、装荷に関わらず出力電流を一定に保持しながら、一方の能動デバイス(または電流源)を通る第1の電流を別の能動デバイスでその電流を制御することによって複製するように機能することができる。好ましい実施形態では、カレントミラーを定義する回路は、電流の方向を逆にするように機能する反転電流増幅器を含む。
使用の際には、カレントミラーを有するDACは、DACへの入力として既知のデジタル値の組を通してランプまたはスイープし、第1の加算ノード130および第2の加算ノード140それぞれに加えることができる結果としての(および変動する)電流信号を出力するように機能することができる。好ましい実施形態では、DACは、最も負の既知のデジタル値から最も正の既知のデジタル値にランプまたはスイープすることができる。追加でまたは代替で、DACは、最も正の既知のデジタル値から最も負の既知のデジタル値にスイープすることができる。これらの実施形態のいくつかは、2つの差動電流を生成するためカレントミラーなどを有するDACを備える差動電流回路を実装することができるが、差動電流を生成する任意の適切なデバイスおよび/または既知のデバイスを実装してもよいことを理解されたい。
共通モード電流回路156は、図1に例として示すように、2つの電流源158、共通モード制御回路157(例えば、コンピュータプロセッサ、処理回路などを有するマイクロコントローラ)、増幅器、および共通源増幅器段階を備えるのが好ましい。共通モード電流回路は、第1の加算ノード130および第2の加算ノード140の平均電圧を(電圧、電流、または任意の電気的パラメータもしくは電荷を感知できる)測定回路を介して測定するように機能するのが好ましい。これに対し、共通モード制御回路157は、第1の加算ノード130および第2の加算ノード140の平均電圧が目標電圧(VTARGET)に等しくなるか、または実質的に等しくなるように電流源158を変調して、第1の加算ノード130および第2の加算ノード140それぞれに電流信号を出力するように機能することができる。好ましい実施形態では、2つの電流源158によって生成されるか、または供給され、それぞれの加算ノード130、140の出力される電流信号は、大きさおよび符号が等しい。
一実装形態では、図3Aに示すように、共通モード制御回路157は、第1の加算ノード130および第2の加算ノード140それぞれで入力が、所望の共通モード電圧(VTARGET)に等しくなるまで、回路157のトランジスタの電圧ゲートを動作させるため増幅器Aで実装されてもよい。共通モード制御回路157のトランジスタは、1つまたは複数のNMOSトランジスタ、PMOSトランジスタ、および/または任意の適切な若しくは既知のトランジスタで実装できることに留意されたい。
追加でまたは代替で、図3Bに示すように、共通モード制御回路157は、回路157のトランジスタのゲート電圧を変調するため、スイッチトキャパシタフィードバックネットワークで実装できる。
共通モード制御回路157がスイッチトキャパシタフィードバックネットワークを含む好ましい実施形態では、スイッチトキャパシタフィードバックネットワークは、出力電圧ノードに障害を引き起こす共通モード制御回路157のスイッチング信号からの敏感な出力電圧を保護するアーキテクチャで作成されてもよい。また、共通モードフィードバック電圧は、プログラム可能な電流源(例えば、フラッシュセルなど)によって生成される共通モード電流の最大範囲を網羅するため大振幅を必要とする場合があるため、スイッチトキャパシタフィードバック回路の実効利得は一般の環境におけるよりも高くなるはずである。図3Cに例として示すように、スイッチトキャパシタフィードバックネットワークは、生成された共通モードフィードバック電圧を追跡するため理想的な電圧(目標電圧)を動作させる増幅器A1で好ましくは実装され得る。さらに、共通モードフィードバック回路でスイッチング信号から敏感な出力電圧を保護する増幅器A2が、設けられてもよい。
回路100の回路設計内の不完全な回路構成要素および/または1つまたは複数の副作用により、補正回路および/または補正方法が、回路100の設計における副作用または他の意図しない問題を和らげるため回路100内に実装されてもよい。一例として、
共通モード電流駆動トランジスタ間のオフセットは、プログラム可能な電流源120を通る電流にオフセットを引き起こすように機能し、それにより、入力回路110からの入力信号を乱す場合がある。したがって、回路100を実装する前に、共通モード回路156が、電流のオフセットを補うため校正されてもよい(すなわち、電流のオフセットが校正される)。
例えば、1つまたは複数の実装形態では、共通モード制御回路157は、追加でまたは代替で、供給モード従属性オフセット用の回路を含んでもよい。上述のように、供給モード出力電圧を調整するために使用されるトランジスタは、製造後にいくつかのパラメータ不整合がある場合があり、それにより、共通モードフィードバック回路からの同じ入力電圧を与えられた場合でも2つのデバイス間に異なるトランスコンダクタンス値を引き起こし、2つのトランジスタが異なる電流値を生成する場合がある。電流値または電流エラーのこの差異は、ADC増幅器(例えば、フロントエンドADC増幅器)の出力上の差動電圧として現れ、ADCでのオフセットをもたらす。したがって、共通モードの電流変化のため、このトランジスタデバイスのエラーは、どの共通モード電流の場合が計算されているかに応じて、より大きい実行電流エラーを引き起こしたり、より小さい実行電流エラーを引き起こしたりする場合がある。本出願の1つ以上の実施形態では、オフセットまたはトランジスタデバイスのエラーは、1つの共有された共通モード調整トランジスタを備える2つの電流ステアリングトランジスタのゲート電圧を調節することによって訂正され得る。
図3Dに例として示す第1の実装形態では、回路157が既知の動作状態にあるとき、所望の共通モード電圧に等しい出力を満たす値に(NMOS)トランジスタのゲート電圧を動作させるように、2つの増幅器が設けられてもよい。この第1の実装形態の変形では、共通モード制御回路157は、動作の2つの相において共通モード目標電圧に一致する電圧値を生成するため、2つのトランジスタ間で切り替えることができる単一の増幅器のみで実装されてもよい。
図3Eに例として示すように、第2の実装形態では、出力電圧が容量性入力ノードに対してショートし、電圧差動が、2つの(NMOS)トランジスタ上のゲート電圧として保存されるADCのフロントエンドの増幅器は、自動的にゼロになり得る。したがって、フラッシュセルによって生成された差動電流値を訂正するのを避けるため、入力は、オフセット訂正(すなわち、自動ゼロ化)相の間、反転され、その後、入力は、計算(すなわち、非自動ゼロ化)相を非反転される。この二相プロセスは、信号が訂正されるのを維持するように機能でき、(NMOS)電流ステアリングトランジスタのゲートの反転値を保存することによって信号を二倍にする。
好ましくは、補正校正の第1の相では、プログラム可能な電流源120の選択された組は、第1の加算ノード130(例えば、正の加算ノード)に電気的に接続されてもよい。この実装形態では、共通モード回路156の増幅器は、第1の加算ノード130が、目標電圧(Vtarget)に等しいか、または実質的に等しくなるように、電圧基準(Vref)に参照される第1のコンデンサを動作させるように機能する。この相では、Vrefは、共通モード回路156の増幅器の良好な動作状態を可能にするように選択され、オフセットなくVtargetを達成するためP型金属酸化物半導体(PMOS)デバイス(例えば、トランジスタ)のゲート上に必要な公称値を表すことができる。その結果、共通モード電流回路156の増幅器は、理想的な状態からそのトランジスタのオフセットを表す第1のコンデンサの両端間に電圧を動作させる。
第2の相では、(同じ電流信号を有する)プログラム可能な電流源120のプログラム可能な電流源120の選択された組(すなわち、同じ組)は、第2の加算ノード140(例えば、負の加算ノード)に接続されてもよい。共通モード回路156の増幅器は、第2の加算ノード140が、目標電圧(Vtarget)に等しいか、または実質的に等しくなるように、電圧基準(Vref)にも参照されてよい第2のコンデンサを動作させるように機能し得る。
補正校正の第1の相と第2の相の結果、第1のコンデンサと第2のコンデンサとの間の電圧差は、2つのPMOSデバイスによって生成されたオフセット電流(例えば、補正電流)の差を表すことができる。補正校正は、校正の第1の相と第2の相との間のプログラム可能な電流源120の任意の組を実装でき、第1の相あるいは第2の相の第1の加算ノード130または負の加算ノード140のいずれかで動作するように機能できることに留意されたい。回路100内の実装されたトランジスタは、nチャンネル金属酸化物半導体電界効果(NMOS)であってよいが、共通モード回路156のトランジスタは、PMOSであってもよく、NMOSトランジスタとPMOSトランジスタの配置は、反転されるか交換してもよく、その結果、共通モード回路156はNMOSトランジスタを実装し、PMOSトランジスタは、差動電流回路151を含む他の箇所に実装されてよい。
動作の際には、共通モード回路156の増幅器は、共通モード電流駆動源158がそれぞれその対応する保存されたオフセットによって修正された電圧を受け取るように差を保存するコンデンサの底板を動作させるように機能できる。
第1の加算ノード130および第2の加算ノード140は、プログラム可能な電流源120と差動電流回路151の合計を含む差動電流の2つの源を有するのが好ましい。動作の際には、差動電流の2つの源が等しいが逆向きであるとき、それらは相殺され、結果として全体の差動電流はない。差動電流がないというこの状態が満たされると、共通モード電流回路156および2つの電流源158は、第1の加算ノード130と第2の加算ノード140をVTARGETに等しくなるようにし、それにより、全ての差動電流が正しい電圧状態にあることによって知られる状態を可能にする。
読み出し回路150は、電流源153によって生成された差動電流を変更し、比較回路160の出力を読み取ることによって差動電流の2つの源の間の等しいが逆の電流状態を識別または判定するように機能するのが好ましい。差動電流の2つの源の間の差が等しくないとき、2つの加算ノード130、140のうちの一方の加算ノードは、他の加算ノードの決定された電圧より大きい決定された電圧を有し、比較回路160は、加算ノードの電圧がより高いことを示す第1の出力を維持または生成する。より高い電圧値を有するノードは、差動電力回路151がプログラム可能な電流源120の合計より、より正のまたはより負の差動電流を供給しているかどうか次第であり得る。いくつか詳細に上述したように、差動電流回路151によって供給された差動電流は、最も負の値から最も正の値に、または逆に最も正の値から最も負の値にスイープされてもよく、比較回路160は、電流の2つの差が交差する点でその出力を変更する。すなわち、2つの差動電流源の合計がゼロに等しいか、または第1の加算ノード130と第2の加算ノード140両方の合計の電圧値が(VTARGET)に等しいとき、比較回路160は、その出力を変更する。比較回路160がその出力を変更するとき、差動電流回路によって加算ノードに供給される差動電流値は、2つのプログラム可能な電流源120の加重和の差を表すデジタル出力コードを生成するためアナログデジタル変換器によって記録および参照されてもよい。さらにそのとき、差動電流回路によって供給された記録された2つの差動電流値は、第1の加算ノード130と第2の加算ノード140の2つの差動電流の合計に関して、大きさは等しいが、方向は逆であった。
V.DACのアレイを実装する混合信号計算アーキテクチャ
図7に示すように、計算集約的なプログラムおよび/またはアプリケーションのための混合信号コンピューティングを実施するシステム700は、グローバル基準発生器710、複数のローカルアキュムレータ720、および共有信号経路725を含む。図7Aに示すように、ローカルアキュムレータ720はそれぞれ、エネルギー貯蔵デバイス722およびカレントミラー724を含み得る。
システム700は、好ましくはデジタルアナログ変換器の典型的な機能を少なくとも2つの構成要素デバイスに二(2)分割するため機能する。いくつかの実施形態では、第1の構成要素は、1つまたは複数の(アナログ)基準信号を定義するかまたは発生させるため機能するグローバル基準発生器710を含む。いくつかの実施形態では、グローバル基準発生器710は、バイナリ加重グローバル基準発生器を備えてもよい。いくつかの実施形態では、第2の構成要素は、共有信号経路725を介してグローバル基準発生器710から基準信号を受信するように機能し、いくつかの実施形態では、時間の設定期間にわたり基準信号の値の算術関数(例えば、足し算、引き算など)を実施するためさらに機能する1組のローカル蓄積デバイスを含む。
システム700は、小さい、ローカル蓄積デバイスのセットを含む第2の構成要素に対して、第1の構成要素を大きくでき、正確な基準信号を発生できるようにすることによって、少なくとも上述の構成で、規模の効率性および面積の効率性を達成するように(例えば、小さい集積回路を作る)機能する。すなわち、第1の構成要素の面積および電力(マッチして、雑音を制限する)が、ここで償却される。したがって、システム700は、極めて高い面積効率および電力効率を持ちながら、計算集約的動作を実施できる集積回路アーキテクチャを可能にする。
グローバル基準発生器710は、複数のローカルアキュムレータ720それぞれに対して基準信号を発生するように機能する。好ましくは、グローバル基準発生器710は、図7〜7Aに示すように、グローバルデジタルアナログ変換器(DAC)を備える。こうした場合では、グローバルDACは、外部源からのデジタル信号(例えば、二進数または入力)を入力として受信するように機能でき、アナログ基準信号 (例えば、電圧または電流信号)を複数のローカルDACに出力するように機能できる。したがって、グローバルDACは、アナログ基準信号をグローバルDACで受信したデジタル入力に基づいて、ローカルアキュムレータ(例えば、ローカルDAC)に発生するように機能し得る。追加で、または代替で、グローバル基準発生器710によって発生し、各ローカルアキュムレータに送信された基準信号は、ローカルアキュムレータ720の機能を制御するか、または動作させるために使用できる、電流または電圧などのアナログ基準信号であってもよい。したがって、グローバル基準発生器710によって提供されるグローバル基準信号は、ローカルアキュムレータ720を互いにならびに同じグローバル基準発生器710に動作可能に接続する共有信号経路725(例えば、共有、または共通のケーブル)を介してローカルアキュムレータ720に送信されるのが好ましい。
図7Bに関連して、図7Bは、複数のローカルDAC(LDAC)が単一グローバルDAC(GDAC)から1つまたは複数のアナログ基準信号を受信するように機能するグローバルDACローカルDACアーキテクチャの一実装形態を示す。したがって、各ローカルDACで受信されるローカル入力(例えば、A_入力、B_入力など)は、一定量の電荷を発生する調整可能抵抗器に加えることができる。したがって、いくつかの実施形態では、調整可能抵抗器の各列が、組み合わせて(ニューラルネットワークの)ニューロンとして機能し、ニューロン列のそれぞれの調整可能抵抗器で発生した電流出力は、集められて、単一の集合した電流出力(例えば、ニューロン出力)を形成できる。しかし、調整可能抵抗器の列は、任意の適切な計算技術または計算アーキテクチャに加えることができる。
図7Cを参照すると、グローバル基準発生器710が、ローカルアキュムレータ720の増幅器ベースの積分器に対してバイアス電圧(例えば、グローバル基準信号)を発生するように機能するローカルアキュムレータ720の別の実装形態が、図示される。こうした実装形態の技術的優位は、単一電流源(2つの電流源よりも)を備えたローカルアキュムレータ720を可能にすることを含む。増幅器ベースの積分器を備えたローカルアキュムレータ720の好ましい構成では、(トランジスタ)スイッチが、オンオフ状態を作動させる場合に起きる電荷注入の効果を低減するダミー経路が実装されてもよい。こうした構成は、追加のトランジスタで達成され得る。
一般に、グローバル基準発生器710は、より良いマッチングおよび雑音性能を備えた高速アナログ設計で構成され得る。追加で、または代替で、グローバル基準発生器710の構成は、グローバル基準発生器710がアナログ基準信号を発生でき、また、グローバル基準発生器710が複数のローカルアキュムレータ720それぞれに対して大きくなる基準信号発生デバイスおよび/または回路を含み得る。追加で、または代替で、グローバル基準発生器710は、基準信号を順次(例えば、1つずつ)または同時に(例えば、クロックサイクル毎に多重信号)送信するように構成され得る。グローバル基準発生器710は、本明細書で考えられるか、そうでなければ当業者に既知の任意の適切な方法で、基準信号を発生し、かつ/または送信するように構成され得ることに留意されたい。
共有信号経路725は、単一信号線、信号トレース、または複数のローカルアキュムレータ720への多重接続を有する信号経路であってよい。共有信号経路は、グローバル基準発生器710から、それに接続されるかまたは共有信号経路725に沿って位置付けられる複数のローカルアキュムレータ720それぞれへ、基準信号の伝送を可能にするように機能するのが好ましい。共有信号経路725は、共有信号経路725に沿って伝送されるグローバル基準発生器710 から生じる任意の基準信号がコピーされるか、そうでなければ、共有信号経路725に接続されたローカルアキュムレータ720それぞれによって反映され得るように構成され得る。
一実装形態では、共有信号経路725は、グローバル基準発生器710によって使用されて、連続した(アナログ)基準信号を提供できる。したがって、こうした実装形態では、共有信号経路725は、単一のビット基準信号をクロックサイクル毎にローカルアキュムレータ720に供給するように機能し得る。例えば、グローバル基準発生器710が、3ビットDACなどを含む場合、共有信号経路725は、3ビットそれぞれを個別に、順次に複数のローカルアキュムレータ720それぞれに提供できる。このように、共有信号経路725は、単一信号源(例えば、グローバル基準発生器)が、ローカルアキュムレータ720それぞれの専用信号源の代わりに、正確な基準信号を多重ローカルアキュムレータに提供できるようにする。こうした構成の技術的利点は、計算集約的アプリケーションおよび/またはプログラム(例えば、ニューラルネットワークモデルなど)を実装する相当により小さい回路である。
ローカルアキュムレータ720は、アナログ出力をローカル出力受信器(例えば、ローカルアナログデジタル変換器)などに発生するように機能し得る。好ましい実施形態では、複数のローカルアキュムレータ720は、グローバル基準発生器710からのグローバル基準信号を使用して、いくつかのクロックサイクルにわたってアナログ出力を発生するように機能し得る複数のローカルデジタルアナログ変換器(LDAC)を備える。グローバル基準発生器710の基準信号発生モードに応じて、複数のローカルアキュムレータ720は、アナログ出力を単一クロックサイクルにわたって発生できることに留意されたい。各LDACの基準信号は、グローバル基準発生器710によって供給することができ、一般に、基準信号発生デバイスおよび/または回路は、大きいため、LDACの構成は、一般に基準信号発生デバイスを除く可能性がある。
いくつかの実施形態では、複数のLDACはそれぞれ、以下でより詳細に論じるように、結果として生じる基準信号を出力するように機能する1つまたは複数の種類の基準信号の蓄積/集合/加算/再構成回路を含むことができることを留意されたい。すなわち、一部の実施形態では、ローカルアキュムレータ720(またはLDAC)は、基準信号を蓄積するように機能できると同時に、一部の変形例では、ローカルアキュムレータがエネルギー貯蔵デバイスを増やす/減らす、またはグローバル基準発生器710の符号化スキームおよび各ローカルアキュムレータの構成に基づいて加算機能を実施することもできる。
上述のように、複数のローカルアキュムレータ720はそれぞれ、エネルギー貯蔵デバイス、カレントミラー724、および一部の実施形態では、コンパレータ回路を含み得る。エネルギー貯蔵デバイスは、局地的にローカルアキュムレータ720で電流または電圧値を含むアナログエネルギー値などのエネルギー値を貯蔵するように機能するのが好ましい。好ましくは、エネルギー貯蔵デバイスは、コンデンサを備えるが、エネルギー貯蔵デバイスは、直列で動作するフラッシュトランジスタなどの任意の適切な電気エネルギー貯蔵要素であってよい。一部の実施形態では、複数のローカルアキュムレータ720はそれぞれ、1つまたは複数の信号入力(例えば、順次入力)に基づいて、エネルギー貯蔵デバイスに対して算術関数を実施するように機能し得る。したがって、ローカルアキュムレータ720は、エネルギー貯蔵デバイスに電荷を加える、かつ/または減らすように機能し得る。各ローカルアキュムレータ720は、追加で、または代替で、1つまたは複数の信号入力に基づいてコンデンサの(電圧)電荷を統合するように機能してもよい。
複数のローカルアキュムレータ720それぞれのカレントミラー724は、共有信号経路725を通じて提供された基準電流信号を複製する、またはコピーするように機能する。具体的には、一部の実施形態では、グローバル基準発生器710は、共有信号経路725を経由して基準電流信号を提供するように機能する。基準電流信号は、共有信号経路725に接続され、それに沿って位置付けられた各ローカルアキュムレータ720によって受信され得る。したがって、カレントミラー724を各ローカルアキュムレータ720で使用して、ローカルアキュムレータ720は、出力信号を発生する、または蓄積するため基準電流信号(例えば、グローバル基準信号)をコピーするように機能する。
好ましい実施形態では、カレントミラー724は、ローディングにかかわらず、出力電流を一定に維持しながら一(1)回路の別の能動デバイスの電流を制御することによって、1つの能動デバイスを介して電流をコピーするように設計された回路を含む。カレントミラー724は、変動する信号電流または一定の信号電流(グローバル基準発生器710が、一定のまたは変動するグローバル基準信号を提供するかどうかに応じて)をコピーし、回路へバイアス電流および/またはアクティブロードを提供するように機能し得る。好ましくは、カレントミラー724を定義する回路は、ほとんどの実施形態で、電流の方向を逆にするように機能すると同時に、電流制御型電流源であってもよい反転電流増幅器(理想的には)を含む。しかし、電流ミラーは、基準電流信号をコピーする任意の適切な回路を含むことができることに留意されたい。
図7Aを参照すると、グローバル基準発生器710が、ローカルアキュムレータ720内の2つのカレントミラー724に対してバイアス電圧(例えば、グローバル基準信号)を発生するように機能するローカルアキュムレータ720の一実装形態が、図示される。グローバル基準発生器710によって提供されるバイアス電圧は、カレントミラー724内でコピーされた電流が加重されるように、発生され得る。例えば、システム100のグローバル基準発生器710のバイナリ実装形態では、グローバル基準発生器710によって発生したバイアス電圧は、クロックサイクル毎に更新され得る。このように、カレントミラー724内のコピーされた電流は、二進法で変化する。この実装形態では、連続入力などが、ローカルアキュムレータ720のエネルギー貯蔵デバイス722 (コンデンサ)上の一部の電荷に加えられてもよく、一部の電荷は、エネルギー貯蔵デバイス722から減ぜられてもよい。エネルギー貯蔵デバイス722に加えられるか、またはそこから減らされる電荷の量は、ローカルアキュムレータ720内のコピーされた電流の関数であるのが好ましく、コピーされた電流は、二進法で変化するので、加えられた電荷または減らされた電荷は、同様の方法または同じ方法で変化するように機能する。したがって、Nビット(例えば、8ビット)のグローバルDACなどに対して、N(例えば、N=8)クロックサイクルは、要求された出力をローカルDACで作成するように要求される。
VI.バイナリ − 荷重グローバル基準源
図8に示すように、集積回路800は、バイナリ加重グローバル基準信号源805、対のプログラム可能な電流源820、共通モード電流回路856、ローカル差動電流源851、コンパレータ860、有限状態機械870を実装する。集積回路800のプログラム可能な電流源820の各対は、第1の加算ノード830と第2の加算ノード840との間に差動電流を設定するように機能するのが好ましい。共通モード電流回路856は、第1の加算ノード830と第2の加算ノード840に対して配置することができ、対のプログラム可能な電流源820を動作の既知の領域(例えば、平均基準電圧など)に追いやるかまたは仕向けるため、第1の加算ノード830と第2の加算ノード840に電流を供給するか、それらから電流を減らすように機能する。
さらに、集積回路800のプログラム可能な電流源820の各対は、第1の加算ノード830と第2の加算ノード840との間の差動電流値を調整するように機能する異種のローカル差動電流源(例えば、ローカルデジタルアナログ変換器(LDAC))と電気的に通信して配置される。したがって、対のプログラム可能な電流源の複数の列は、アレイを定義する集積回路800内に配置することができ、対のプログラム可能な電流源の各列は、別個の独立したローカル差動電流源851を含むことができる。したがって、複数のローカル差動電流源851は、複数のローカル差動電流源が同じグローバル基準信号発生器805に電気的に結合されるアレイに存在してもよい。
ローカル差動電流源851は、グローバル基準信号源805によって供給された基準信号値を鏡映するように機能するローカルDACを備えるのが好ましい。さらに、各ローカルDACは、ローカルDACのメモリ内に予め保存することができる値にしたがってローカルDACがアナログ出力信号を生成できるそれ自体のメモリ状態を含んでもよい。動作の際には、バイナリサーチアルゴリズムの各段階で、グローバル基準信号源が、アレイ内に配置された各ローカルDACがそのローカル状態を調整し、相応するように差動電流信号を出力するように機能するバイナリ加重値を設定するように、グローバル基準信号源805はバイナリサーチアルゴリズムを実行するように機能してもよい。コンパレータ860を使用して、集積回路は、どのノードが長い(または短い)電流信号を有するかを判定するため、第1の加算ノード830と第2の加算ノード840それぞれの電流の相対状態を評価するように機能してもよい。評価に応じて、ローカルDACは、グローバルDACから供給されたバイナリ加重基準信号に基づいて、漸次より小さい増分を用いて第1の加算ノード830と第2の加算ノード840との間の電流差動を増やしたり減らしたりするように機能し得る。したがって、第1の加算ノード830と第2の加算ノード840のそれぞれの差動電流調整後、かつNビットグローバルDACからの基準信号を受信するNサイクル後、一比較ビットはローカルDACに出力されてもよい。
一変形では、集積回路800は、一プログラム可能な電流源および一加算ノードを有するシングルエンド回路として実装されてもよい。こうした実装形態では、共通モード電流回路は、図8Aに例として示されるように、アーキテクチャから除外されてもよい。
VII.バイナリマトリックスを実装する方法
図2に示すように、方法200は、入力信号を受信することS210、1対の加算ノードの間に差動電流を生成することS220、既知の動作領域に対の加算ノードに沿って差動電流を調整することS230、対の加算ノードに差動電流を供給するまたは減らすことS240、第1の加算ノードおよび第2の加算ノードの差動電流信号に基づいて出力信号を発生することS245、および対の差動電流の加重和の差または画定出力コードを識別することS250を含む。
入力信号を受信することを含むS210は、デジタル(例えば、バイナリ)入力またはアナログ入力に応じてプログラム可能な電流源で1つまたは複数の入力信号の受信を可能にするように機能する。1つまたは複数の入力信号は、1つまたは複数の外部デバイス(例えば、外部センサなど)、上流のローカルデバイス、別の回路層などから供給されてもよい。好ましい実施形態では、1つまたは複数の入力信号は、デジタル入力信号またはアナログ入力信号を含む。デジタル入力信号を受信する場合、S210は、プログラム可能な電流源によって生成される所定の差動電流に関連付けられた活性化状態、またはプログラム可能な電流源によって差動電流信号が生成されない非活性化状態だけを有するデジタル入力信号を生成するため方法200を実装するシステムの入力回路を実装するように機能し得る。すなわち、各デジタル入力信号またはバイナリ入力信号は、これも電流信号に対してゼロの値を含む単一または有限の関連するアナログ電流応答に関連付けることができる。
追加でまたは代替で、アナログ入力信号を方法200を実装するシステムに受信する場合、S210は、複数の対応する所定の電流信号を有する複数の活性化状態およびプログラム可能な電流源によって差動電流が生成されない非活性化状態を有するアナログ入力信号を生成するため入力回路を実装するように機能できる。
アナログ入力信号が1つまたは複数のプログラム可能な電流源で受信される場合、S220は、各プログラム可能な電流源によって1つまたは複数の電流信号を生成するため、プログラム可能な電流源の両端にアナログ入力信号を印加するように機能してもよい。好ましくは、対になっている1組のプログラム可能な電流源は、合算された場合、プログラム可能な電流源の出力電流信号がゼロより大きい大きさを有する差動電流信号を生成するように機能できる。好ましい実施形態では、S210に実装された入力回路は、電圧制御入力回路を備え、したがって、プログラム可能な電流源それぞれによって受信された入力信号は電圧信号を含む。したがって、電圧信号がプログラム可能な電流源の調整可能抵抗要素の両端に印加されるとき、結果の電流が生成される。好ましくは、プログラム可能な電流源はそれぞれ、各プログラム可能な電流源の抵抗要素の抵抗長を変更する予め保存された重みまたは係数を含む。
追加でまたは代替で、バイナリ入力信号がプログラム可能な電流源の1つ以上で受信される場合、所定の電流信号が、バイナリ入力信号を処理するプログラム可能な電流源によって生成され得る。
適宜、1対の加算ノードの各加算ノードに沿って加算電流を含むS225は、第1の加算ノードで複数の電流信号を合計し、第2の加算ノードで複数の電流信号を合計するように機能する。具体的には、好ましい実施形態では、プログラム可能な電流源は、対の第1の電流源が第1の加算ノードと電気的に通信し、対の第2の電流源が第2の加算ノードに電気的に通信して、対で配置され得る。さらに、プログラム可能な電流源の複数の対は、複数の対のそれぞれの第1の電流源が第1の加算ノードを(電気的接続により)共有し、複数の対のそれぞれの第2の電流源が第2の加算ノードを(電気的接続により)共有するように配置され得る。したがって、こうした構成では、各対の第1の電流源は、第1の加算ノードに電流を供給することができ、各対の第2の電流源は第2の加算ノードに別の電流を供給することができる。
したがって、S225は、第1の加算ノードに供給される電流のほかプログラム可能な電流源のアレイによって第2の加算ノードに供給される電流信号も合計するように機能するのが好ましい。
加算ノードの対の各加算ノードに共通電流信号を印加することを含むS230は、対の加算ノードの間の平均電圧を測定し、これに対し、対の加算ノードに2つの共通電流信号を生成し供給するように機能する。2つの共通電流信号は、同じ大きさと方向を持つのが好ましい。したがって、S230は、所定の目標電圧に一致するため対の加算ノードの平均電圧を調整する2つの共通電流信号を使用するように機能し得る。
好ましい実施形態では、S230は、2つの電流源およびマイクロコントローラ回路を備える共通モード電流回路を使用して共通電流信号を発生するように機能する。S230によって実装されると、マイクロコントローラは、対の加算ノードの平均電圧を測定し、
対の加算ノードの平均目標電圧に到達するため共通電流信号を計算し、2つの共通電流源を介して対の加算ノードの各加算ノードに共通電流信号を供給する。
差動電流信号を1対の加算ノードに供給することを含むS240は、同じ大きさであるが、対の第1の加算ノードおよび第2の加算ノードそれぞれに対する方向が逆(すなわち、一方は正で一方は負)であるサーチベースの差動電流信号を生成するように機能するのが好ましい。追加でまたは代替で、S240は、変動する大きさを有し、かつ/または同じ(例えば、両方とも正の信号か両方とも負の信号)か逆(例えば、一方が正の信号で一方が負の信号)方向である対の加算ノードに差動電流信号を供給するように機能してもよい。
好ましい実施形態では、S240は、ローカル差動電流信号源(例えば、ローカルDAC)のアレイと一緒にグローバル基準信号源(例えば、グローバルDAC)を実装するように機能してもよい。S240に実装されるグローバル基準信号源は、ローカル差動電流信号源のアレイに対して共通基準信号源として機能できる。例えば、集積回路は、対のプログラム可能な電流源のアレイまたは複数の列を実装できる。こうした例では、各列は、共通モード電流回路、ローカル差動電流信号源、少なくとも1つのコンパレータ、および任意で有限状態機械などを含むことができる。したがって、こうした実装形態のグローバル基準信号源は、アレイの対のプログラム可能な電流源のそれぞれの列内に配置された各ローカル差動電流信号源に基準信号を共有信号経路に沿って供給するように機能し得る。
好ましい実施形態では、S240によって実装されたグローバル基準信号源は、グローバルDACを備え、ローカル差動電流信号源はそれぞれ、ローカルDACを備える。好ましくは、グローバルDACは、計算を実施するためNサイクルの全体にわたるローカルDACに基準信号のNビットの全体を供給するように機能するNビットグローバルDACを備える。
第1の実装形態では、S240は、1対のプログラム可能な電流源によって潜在的に供給される第1の加算ノードおよび第2の加算ノード内の電流信号の検出に応じて、ローカル差動電流源に(アレイの列の)第1の加算ノードおよび第2の加算ノードに1組の初期差動電流信号を供給させるように機能してもよい。こうした実装形態では、ローカル差動電流源は、ノードにグローバル基準信号源からのNの合計ビットのうちの初期(または第1の)基準信号ビットに基づいて初期差動電流信号を生成し、供給するように機能してもよい。
さらに、この第1の実装形態では、S240は、コンパレータまたは有限状態機械などの一方からの出力信号(S245)に応じてローカル差動電流源を使用して第1の加算ノードおよび第2の加算ノードに後続の差動電流信号を供給するように機能してもよい。出力信号は、第1の加算ノードと第2の加算ノードの差動電流の合計の電圧が目標電圧(VTARGET)より大きいか小さいか、または合計の電圧がVTARGET値と交差したかどうかを示す。
第2の実装形態では、S240は、コンパレータか有限状態機械などのうちの一方からの出力信号に応じてローカル差動電流源に、差動電流信号の初期セットを第1の加算ノードおよび第2の加算ノードに供給させるように機能してもよい。すなわち、この第2の実装形態では、差動電流信号の初期セットは、コンパレータまたは有限状態機械からの信号出力が最初に受信された後でのみローカル差動電流源によって供給され得る。こうした第2の実装形態では、ローカル差動電流源は、グローバル基準信号源からのNの合計ビットのうちの初期の(または第1の)基準信号ビットに基づいて初期差動電流信号を生成するように機能できる。
好ましい実施形態では、グローバル基準信号源は、所定のパターンにより、かつ/または所定の組の値によりローカル差動電流源のアレイに1組のNビット基準信号を生成するように機能してもよい。例えば、グローバル基準信号源は、それぞれの後続の基準信号の供給で大きさが減少する(または増加する)1組のNビット基準信号を生成するように機能してもよい。いくつかの実施形態では、1組のNビット基準信号の基準信号の減少は、規則正しく、所定の減衰アルゴリズムに基づくことができる。例えば、グローバル基準信号源は、後続の基準信号の大きさを2分の1(例えば、1/2、1/4、1/8、1/16など)または任意の適切な小数値または減衰率によって減少させるように機能できる。したがって、グローバル基準信号源からの1組のNビット基準信号値に対し、Nビット基準信号の組の最初の基準信号が最大で、Nビット基準信号値の組の最後の基準信号が最小であるように、基準信号の値は減少してもよい。したがって、1組のNビット基準信号の基準信号値の減少する連続体は、図9に例として示すように、加算ノードの結果としての電圧がNサイクルの終わりに電圧基準に収束できるように各ローカル差動電流源に供給されてもよい。
第1の加算ノードと第2の加算ノードの差動電流信号に基づいて出力信号を生成することを含むS245は、第1の加算ノードと第2の加算ノードに沿って差動電流源を評価し、出力信号をローカル差動電流源に返すように機能する。上述のように、出力信号は、目標電圧に関して第1の加算ノードと第2の加算ノードの測定された電圧の位置を示すのが好ましい。
第1の実装形態では、S245は、ローカル差動電流源に出力信号を生成するため有限状態機械を実装するように機能できる。この第1の実装形態では、S245は、第1の加算ノードと第2の加算ノードの電流信号の加重和の差および結果としてのノードの電圧を決定し、さらに、予め設定された目標電圧値にノードの結果としての電圧の比較を生成するように機能し得る。S245は、有限状態機械に結果としての電圧と目標電圧の比較を出力するのが好ましい。
この第1の実装形態では、有限状態機械は、2つの識別可能な状態で実装されるのが好ましく、ローカル差動電流源に2つの状態のうちの一方を出力するように機能する。例えば、有限状態機械は、第1の加算ノードおよび第2の加算ノードの結果としての電圧が、目標電圧値より大きい(すなわち、上)か小さい(すなわち、下)かを識別するように予めプログラムすることができる。別の例では、有限状態機械は、第1の加算ノードおよび第2の加算ノードの結果としての電圧が目標電圧と交差したか、または目標電圧値と交差していないかを識別するように予めプログラムすることができる。有限状態機械で、S245は、決定的を決定するように機能してもよい。
有限状態機械は、この第1の実装形態では、2つの識別可能な状態のみで実装され得るが、有限状態機械は、任意の数の状態(例えば、3、4、5、6…n状態)で実装されてもよく、利用可能な数の状態から1つの状態を出力するよう機能してもよい。
第2の実装形態では、S245は、コンパレータでの目標電圧に対する加算ノードの対の電圧の状態を解読するため複数のコンパレータ(例えば、3つのコンパレータ)を実装するように機能できる。例えば、第1のコンパレータは、加算ノードの対の電圧が目標電圧より大きい(上)かどうかを判定するように機能でき、第2のコンパレータは加算ノードの対の電圧が目標電圧と交差するかどうかを判定するように機能でき、第3のコンパレータは加算ノードの対の電圧が目標電圧より小さい(下)かどうかを判定するように機能できる。複数のコンパレータの出力は、ローカル差動電流源にフィードバックされ得る。
したがって、S245から出力信号を受信すると、S240は、1組の差動電流を第1の加算ノードと第2の加算ノードに供給するように機能するのが好ましい。好ましくは、ローカル差動電流源は、有限状態機械などからの出力信号の値に基づいて第1の加算ノードおよび第2の加算ノードに電流を供給するか、またはそれらから電流を減らす差動電流信号を生成するように機能する。すなわち、有限状態機械によって供給される出力信号が、第1の加算ノードと第2の加算ノードの結果としての電圧が目標電圧より下である(または低い)ことを示す場合、ローカル差動電流源は、第1の加算ノードと第2の加算ノードの合計の差の電流信号値を増やし、その結果、ノードの結果としての電圧値を増やす差動電流信号を生成するように機能し得る。この方法では、ノードの結果としての電圧は、目標電圧の方に移動する。逆に言えば、有限状態機械によって供給される出力信号が、第1の加算ノードと第2の加算ノードの結果としての電圧が目標電圧より上である(または大きい)ことを示す場合、ローカル差動電流源は、第1の加算ノードと第2の加算ノードの合計の差の電流信号値を減らす(下げる)差動電流信号を生成するように機能してもよく、その結果、ノードの結果としての電圧値を減らす。
追加でまたは代替で、S245は、Nサイクルの間、ローカル差動電流源の活動を記録するように機能してもよい。すなわち、ローカル差動電流源が、Nサイクルの各サイクルの間、第1の加算ノードと第2の加算ノードに減らすかまたは供給する差動電流信号の各組に対して、S245は、差動電流信号値の各組を記録するように機能する。
加算ノードの対の加重和の差を計算することを含むS250は、Nサイクルの完了に応じて加算ノードの対の加重和の差を概算するように機能する。
具体的には、S250は、Nサイクルの終わりにコンパレータにおいて目標基準電圧である第1の加算ノードおよび第2の加算ノードの加重和の差の電圧値をまず概算することによって加算ノードの対の加重和の差を計算するように機能してもよい。S250は続いて、Nサイクルの間にローカル差動電流源によって供給された差動電流信号の電圧によって第1の加算ノードと第2の加算ノードのおよその電圧値を減らすように機能してもよい。S250はさらに、共通モード電流回路に基づいて第1の加算ノードおよび第2の加算ノードに供給されたまたは減らされた電圧によって第1の加算ノードと第2の加算ノードのおよその電圧値を減らしてもよい(S230)。
したがって、第1の加算ノードと第2の加算ノードの低減された電圧値が計算されると、S250は、コンパレータに加えられた抵抗器の値(Rapp)に基づくか、または第1の加算ノードと第2の加算ノードの合計電流信号がコンパレータに入る前に、第1の加算ノードおよび第2の加算ノードの電流信号の加重和の差を計算するように機能してもよい。計算の例は、第1の加算ノードおよび第2の加算ノードの電流信号の加重和の差を決定することであってもよい(例えば、Iweighted sum diff=Vred/Rapp)。
追加でまたは代替で、S250は、電流信号の加重和の差を行列乗算計算に対応する出力コードに変換するように機能してもよい。
シングルエンド型集積回路が実装され得る一変形では、S250は、出力クロス信号に基づく単一加算ノードに沿って合計電流値を決定するように機能してもよい。こうした実装形態では、グローバル基準信号源は、ローカル電流源(ローカルDAC)にシーケンシャル基準信号のビット入力を提供することができる。次に、ローカル電流源は、シーケンシャル基準信号のビット入力に基づいて単一加算ノードに電流信号を供給するか、または減らすように機能できる。
この変形では、単一加算ノードに沿った合計電流信号は、コンパレータに入る電圧に変換され得る。S250は、単一加算ノードの電圧を電圧基準と比較するように機能し得る。具体的には、S250は、比較された電圧値が交差した時間を記録するように機能し得るカウンタ回路にコンパレータ回路の値を集めるかまたは渡すように機能できる。記録された時間は、単一加算ノードに供給されたかまたは減らされた電流信号を生成するため、デジタル信号がローカル電流源で活動状態であった時間と比較されてもよい。
具体的には、S250は、単一加算ノードの電圧値がコンパレータでの電圧基準に等しい時、または例を識別するように機能できる。追加でまたは代替で、S250は、単一加算ノードの電圧値がコンパレータでの電圧基準を交差する時、又は例を識別するように機能してもよい。S250は、単一加算ノードの電圧が電圧基準に等しいかまたは交差する時を記録するように機能できる。
単一加算ノードの電圧と電圧基準との間に等価性が検出された時、または単一加算ノードの電圧が電圧基準を交差した時を使用して、S250は、電圧基準との等価の時または電圧基準を交差する時に単一加算ノードの電圧を生成した(グローバル信号基準源から)ローカル電流源への関連するデジタル入力コードまたは基準信号を識別するように機能し得る。
追加でまたは代替で、S250は、比較された電流値が交差した時にDAC内で入力された、または活動状態であったデジタルコードに対応するデジタルコード(例えば、マルチビット信号)を出力するように機能し得る。
方法200は、本発明および/またはその範囲内で本発明の実施形態を達成するため任意の適切な順序で実装できるか、本明細書に記載の本開示に照らして容易に考えられ得る例示的な方法であることを理解されたい。したがって、順序および工程のステップは、本明細書に記載の例示的な順序に制限されるべきではない。
好ましい実施形態およびその変形の方法は、コンピュータ可読媒体の格納するコンピュータ可読命令を受信するように構成された機械として少なくとも部分的に具現化でき、かつ/または実施できる。命令は、リソグラフィシステムならびにそれにより実装されるプロセッサおよび/またはコントローラの1つまたは複数の部分と統合されるのが好ましいコンピュータ実行可能構成要素によって実行されるのが好ましい。コンピュータ可読媒体は、RAM、ROM、フラッシュメモリ、EEPROM、光デバイス(CDまたはDVD)、ハードドライブ、フロッピドライブ、あるいは任意の適切なデバイスなどの任意の適切なコンピュータ可読媒体に格納できる。コンピュータ実行可能構成要素は、汎用プロセッサまたは特定用途向けプロセッサであるのが好ましいが、任意の適切な専用ハードウェアまたはハードウェア/ファームウェア組み合わせデバイスが、その命令を代替でまたは追加で実行してもよい。
簡潔さのため省略するが、好ましい実施形態は、本明細書に記載の様々な方法、装置、およびシステムの全ての組み合わせおよび順列を含む。
以下の特許請求の範囲に定義される本発明の範囲から逸脱しないかぎり、本発明の好ましい実施形態に修正および変更がなされ得ることが、上述の詳細な説明ならびに図面および特許請求の範囲から、当業者であればわかるであろう。

Claims (18)

  1. 複数のローカル差動電流回路を動作させるバイナリ加重グローバル基準信号源と、
    第1の加算ノードおよび第2の加算ノードであって、前記第1の加算ノードおよび前記第2の加算ノードが、前記複数の差動電流回路のうちの1つの差動電流回路と電気的に通信して配置される、第1の加算ノードおよび第2の加算ノードと、
    前記第1の加算ノードおよび前記第2の加算ノードに沿って配置された複数の別個の対のプログラム可能な電流源であって、前記複数の別個の対のそれぞれの第1のプログラム可能な電流源が、前記第1の加算ノードに配置され、
    前記複数の別個の対のそれぞれの第2のプログラム可能な電流源が前記第2の加算ノードに配置され、
    前記複数の別個の対のプログラム可能な電流源の各対が、入力信号に基づいて前記第1の加算ノードと前記第2の加算ノードとの間に差動電流信号を設定する、複数の別個の対のプログラム可能な電流源と、
    前記第1の加算ノードと前記第2の加算ノードそれぞれと電気的に通信して配置され、共通電流値を前記第1の加算ノードおよび前記第2の加算ノードそれぞれに供給するか、またはそれぞれから減らす共通モード制御回路と、
    バイナリ加重グローバル基準源からの1つ以上の基準信号に基づいて前記第1の加算ノードと前記第2の加算ノードとの間の前記差動電流を調整する前記ローカル差動電流回路と、
    前記第1の加算ノードと前記第2の加算ノードの出力に基づいてアナログ値を評価し、前記評価に基づいてバイナリ出力値を生成するコンパレータと、を備える集積回路。
  2. 前記第1の加算ノードの第1の電流値の出力と前記第2の加算ノードの第2の電流値の出力の合計がゼロに等しくなるまで、前記ローカル差動電流回路が、前記第1の加算ノードと前記第2の加算ノードとの間の前記差動電流を調整する、請求項1に記載の集積回路。
  3. 前記コンパレータは、前記第1の加算ノードと前記第2の加算ノードのそれぞれの合計電流値の相対的な状態を評価し、前記第1の加算ノードと前記第2の加算ノードのいずれが、より大きい電流値を有するか、またはより小さい電流値を有するかを判定する、請求項1に記載の集積回路。
  4. 前記ローカル差動電流回路は、前記第1の加算ノードと前記第2の加算ノードのいずれがより大きい電流信号値を出力するかに基づいて、前記第1の加算ノードと前記第2の加算ノードに漸次より小さい差動電流信号増分を供給することによって前記第1の加算ノードと前記第2の加算ノードとの間の前記差動電流信号を増やしたり減らしたりする、請求項3に記載の集積回路。
  5. 共通モード回路は、共通モード電流値を前記第1の加算ノードと前記第2の加算ノードのそれぞれに供給する単一増幅器駆動回路およびスイッチトキャパシタフィードバック回路のうちの一方を備える、請求項1に記載の集積回路。
  6. 前記スイッチトキャパシタフィードバック回路は、
    生成された共通モードフィードバック電圧を追跡する目標電圧値を動作させる第1の増幅器と、
    前記共通モードフィードバック回路でスイッチング信号から敏感な出力電圧を保護する第2の増幅器と、を含む、請求項6に記載の集積回路。
  7. 共通モード電流回路は、それぞれが2つのトランジスタのうちの1つと電気的に通信して配置され、それぞれが前記2つのトランジスタのそれぞれでゲート電圧を所望の共通モード電圧に動作させる少なくとも2つの増幅器を含む補正回路を備える、請求項1に記載の集積回路。
  8. 前記共通モード電流回路は、それぞれが2つのトランジスタのそれぞれと電気的に通信して配置され、前記2つのトランジスタのそれぞれでゲート電圧を所望の共通モード電圧に動作させる前記2つのトランジスタのそれぞれの間で切り替える単一増幅器を含む補正回路を備える、請求項1に記載の集積回路。
  9. 前記共通モード電流回路は、前記第1の加算ノードと前記第2の加算ノードの容量性入力ノードへの出力電圧をショートすることによって自動的にゼロになるフロントエンド増幅器を含む補正回路を備え、前記フロントエンド増幅器の出力電圧差動が少なくとも2つのトランジスタにゲート電圧として保存される、請求項1に記載の集積回路。
  10. 前記バイナリ加重グローバル基準信号源は、バイナリサーチアルゴリズムの各段階で前記バイナリ加重グローバル基準信号源が、前記複数のローカル差動電流回路がそれぞれ、前記複数のローカル差動電流回路それぞれの、それぞれのローカルの状態を調整するためにバイナリ加重値を設定するように、バイナリサーチアルゴリズムを実行する、請求項1に記載の集積回路。
  11. 前記複数のローカル差動電流回路がそれぞれ、
    共有信号経路に沿って配置され、
    加算ノードの別個の対と電気的に通信して配置され、
    前記バイナリ加重グローバル基準源が、複数のバイナリ加重信号を前記共有信号経路に沿って前記複数のローカル差動電流回路それぞれに供給する、請求項1に記載の集積回路。
  12. 複数のローカルデジタルアナログ変換器(DAC)を動作させるグローバル基準信号源と、
    第1の加算ノードおよび第2の加算ノードであって、前記第1の加算ノードおよび前記第2の加算ノードが前記複数のローカルDACのうちの1つのローカルDACと電気的に通信して配置される、第1の加算ノードおよび第2の加算ノードと、
    前記第1の加算ノードおよび前記第2の加算ノードに沿って配置された複数の別個の対の電流発生回路であって、前記複数の別個の対それぞれの電流発生回路は、前記第1の加算ノードに配置され、前記複数の別個の対それぞれの第2の電流発生回路は、前記第2の加算ノードに配置され、
    前記複数の別個の対の電流発生回路の各対は、入力信号に基づいて前記第1の加算ノードと前記第2の加算ノードとの間に差動電流信号を設定する、複数の別個の対の電流発生回路と、
    前記第1の加算ノードおよび前記第2の加算ノードそれぞれと電気的に通信して配置され、共通電流値を前記第1の加算ノードおよび前記第2の加算ノードそれぞれに供給するか、またはそれぞれから減らす共通モード電流回路と、
    前記グローバル基準源からの1つ以上の基準信号に基づいて前記第1の加算ノードと前記第2の加算ノードとの間の前記差動電流を調整する前記ローカルDACと、
    前記第1の加算ノードおよび前記第2の加算ノードの出力に基づいてアナログ値を評価し、前記評価に基づいてバイナリ出力値を生成するコンパレータまたは有限状態機械と、を備える、混合信号集積回路。
  13. 前記グローバル基準源は、バイナリサーチアルゴリズム、最下位ビットサーチアルゴリズム、非バイナリサーチアルゴリズム、対数サーチアルゴリズム、およびカスタムユーザ定義サーチ関数のうちの1つを実行する、請求項12に記載の混合信号集積回路。
  14. 集積回路を実装する方法であって、
    複数の別個のプログラム可能な電流源それぞれでアナログ入力信号を受信することと、
    前記複数の別個のプログラム可能な電流源それぞれによって、前記複数の別個のプログラム可能な電流源それぞれの両端間に前記アナログ入力信号を印加することに基づいて差動電流信号を生成することと、
    前記複数の別個のプログラム可能な電流源それぞれによって、第1の加算ノードおよび第2の加算ノードに前記差動電流信号を供給することと、
    前記第1の加算ノードと前記第2の加算ノードとの間の平均電圧を測定することと、
    前記測定に応じて、共通電流信号を前記第1の加算ノードおよび前記第2の加算ノードのそれぞれに供給することと、
    ローカル差動電流源によって、サーチベースの差動電流信号を前記第1の加算ノードおよび前記第2の加算ノードに供給することと、
    前記第1の加算ノードおよび前記第2の加算ノードの前記差動電流信号の加重和の差に基づいてバイナリ出力値を生成することと、を含む、集積回路を実装する方法。
  15. 前記ローカル差動電流源は、大きさが同じだが方向が逆の前記第1の加算ノードと前記第2の加算ノードそれぞれに既知の変化する電流信号を供給する、請求項14に記載の方法。
  16. 計算を実施するためNサイクルの全体にわたる前記ローカル差動電流源に基準信号のNビットの全体を供給するNビットグローバルデジタルアナログ変換器を備えるグローバル基準源を実装することをさらに含む、請求項14に記載の方法。
  17. 前記第1の加算ノードおよび前記第2の加算ノードに沿って前記差動電流信号を評価することと、
    出力信号を前記ローカル差動電流源に返すことであって、前記出力信号が、目標電圧に対する前記第1の加算ノードおよび前記第2の加算ノードの測定された電圧の位置を示す、返すことと、をさらに含む、請求項14に記載の方法。
  18. Nサイクル後に、前記第1の加算ノードと前記第2の加算ノードそれぞれの合計電流値の間の加重和の差値を計算することと、
    前記加重和の差をバイナリ出力コードに変換することと、をさらに含む、請求項14に記載の方法。
JP2020548918A 2018-03-19 2019-02-26 混合信号コンピューティングのためのシステムおよび方法 Active JP7306725B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862644908P 2018-03-19 2018-03-19
US62/644,908 2018-03-19
PCT/US2019/019537 WO2019182730A1 (en) 2018-03-19 2019-02-26 System and methods for mixed-signal computing

Publications (2)

Publication Number Publication Date
JP2021518590A true JP2021518590A (ja) 2021-08-02
JP7306725B2 JP7306725B2 (ja) 2023-07-11

Family

ID=67620655

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020548918A Active JP7306725B2 (ja) 2018-03-19 2019-02-26 混合信号コンピューティングのためのシステムおよび方法

Country Status (7)

Country Link
US (5) US10389375B1 (ja)
EP (1) EP3769426A4 (ja)
JP (1) JP7306725B2 (ja)
KR (1) KR20200143397A (ja)
CN (1) CN111837341A (ja)
TW (1) TWI793277B (ja)
WO (1) WO2019182730A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11128214B2 (en) * 2017-12-27 2021-09-21 Nicslab Pty Ltd. Multi-channel power controller
US11055062B1 (en) 2018-02-12 2021-07-06 Areanna Inc. Switched capacitor vector-matrix multiplier
US10862502B2 (en) * 2019-03-04 2020-12-08 Analog Devices International Unlimited Company ADC output drift correction techniques
US20210166110A1 (en) * 2019-12-03 2021-06-03 Anaflash Inc. Serialized neural network computing unit
EP3839833A1 (en) * 2019-12-16 2021-06-23 ams International AG Neural amplifier, neural network and sensor device
US11500010B2 (en) * 2020-01-17 2022-11-15 Texas Instruments Incorporated Integrated circuit with current limit testing circuitry
US11586958B2 (en) * 2020-04-06 2023-02-21 Micron Technology, Inc. Apparatuses, systems, and methods for machine learning using on-memory pattern matching
TWM612222U (zh) * 2020-04-17 2021-05-21 神亞科技股份有限公司 計算乘積和值之裝置
US11621040B2 (en) * 2021-02-17 2023-04-04 Taiwan Semiconductor Manufacturing Company, Ltd. System and method applied with computing-in-memory
TWI783854B (zh) * 2021-03-17 2022-11-11 神盾股份有限公司 乘積和運算裝置
US20230049032A1 (en) * 2021-08-02 2023-02-16 Silicon Storage Technology, Inc. Output circuitry for analog neural memory in a deep learning artificial neural network
TWI826041B (zh) * 2022-10-12 2023-12-11 旺宏電子股份有限公司 記憶體電路

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0467259A (ja) * 1990-07-09 1992-03-03 Hitachi Ltd 情報処理装置
US5336937A (en) * 1992-08-28 1994-08-09 State University Of New York Programmable analog synapse and neural networks incorporating same
JP2007311448A (ja) * 2006-05-17 2007-11-29 Renesas Technology Corp 半導体集積回路装置

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2427012A1 (fr) * 1978-05-24 1979-12-21 Labo Electronique Physique Convertisseur analogique-numerique binaire
US5017919A (en) * 1990-06-06 1991-05-21 Western Digital Corporation Digital-to-analog converter with bit weight segmented arrays
US5167008A (en) 1990-12-14 1992-11-24 General Electric Company Digital circuitry for approximating sigmoidal response in a neural network layer
US5444446A (en) * 1993-07-01 1995-08-22 Texas Instruments Incorporated Apparatus and method for duplicating currents
US5559722A (en) * 1993-11-24 1996-09-24 Intel Corporation Process, apparatus and system for transforming signals using pseudo-SIMD processing
US5446371A (en) * 1994-05-12 1995-08-29 Fluke Corporation Precision analog-to-digital converter with low-resolution and high-resolution conversion paths
GB2373654B (en) * 2001-03-21 2005-02-09 Fujitsu Ltd Reducing jitter in mixed-signal integrated circuit devices
US6690310B1 (en) 2003-02-13 2004-02-10 Northrop Grumman Corporation Method and apparatus for adaptively compensating for an inaccuracy in an analog-to-digital converter
KR100549872B1 (ko) * 2003-12-10 2006-02-06 삼성전자주식회사 차동 스위칭 회로 및 디지털 아날로그 변환기
DE10360241B4 (de) * 2003-12-16 2006-04-27 Visteon Global Technologies, Inc., Dearborn Schaltmatrix für ein Eingabegerät
US6903673B1 (en) * 2003-12-19 2005-06-07 Benq Corporation Analog-to-digital converting module capable of converting data at an increased resolution
US20050203402A1 (en) * 2004-02-09 2005-09-15 Angelsen Bjorn A. Digital ultrasound beam former with flexible channel and frequency range reconfiguration
US7202805B2 (en) * 2005-02-11 2007-04-10 Analog Devices, Inc. Amplifier gain calibration system and method
TWI378648B (en) * 2005-03-21 2012-12-01 Integrated Device Tech Frequency calibration system and apparatus and method for frequency calibration of an oscillator
EP2293165B1 (en) * 2009-09-02 2018-01-17 ams AG Multi-current-source and method for regulating current
US8264255B2 (en) * 2009-11-03 2012-09-11 Silicon Laboratories Inc. Radio frequency (RF) power detector suitable for use in automatic gain control (AGC)
US8275727B2 (en) 2009-11-13 2012-09-25 International Business Machines Corporation Hardware analog-digital neural networks
EP2518660B1 (en) * 2011-04-28 2018-12-26 IDT Europe GmbH Circuit and method for performing arithmetic operations on current signals
US9300462B2 (en) 2013-05-18 2016-03-29 Bernd Schafferer Methods, devices, and algorithms for the linearization of nonlinear time variant systems and the synchronization of a plurality of such systems
US8970418B1 (en) * 2013-08-19 2015-03-03 Analog Devices, Inc. High output power digital-to-analog converter system
EP2849345B1 (en) * 2013-09-12 2020-11-04 Socionext Inc. Circuitry and methods for use in mixed-signal circuitry
US9991001B2 (en) * 2014-05-22 2018-06-05 Cypress Semiconductor Corporation Methods, circuits, devices and systems for sensing an NVM cell
US9674009B2 (en) 2014-12-19 2017-06-06 Rambus Inc. Receiver with offset calibration
US9531394B1 (en) 2015-06-22 2016-12-27 Silicon Laboratories Inc. Calibration of digital-to-time converter
US9680496B2 (en) * 2015-06-25 2017-06-13 Intel Corporation Apparatus for overload recovery of an integrator in a sigma-delta modulator
US20170366876A1 (en) * 2016-06-16 2017-12-21 Analog Devices Global Current sensing in two-dimensional area sensors
WO2018148293A1 (en) * 2017-02-07 2018-08-16 The Regents Of The University Of Michigan Systems and methods for mixed-signal computing
US11428717B2 (en) * 2020-09-25 2022-08-30 Apple Inc. Current measurement circuit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0467259A (ja) * 1990-07-09 1992-03-03 Hitachi Ltd 情報処理装置
US5336937A (en) * 1992-08-28 1994-08-09 State University Of New York Programmable analog synapse and neural networks incorporating same
JP2007311448A (ja) * 2006-05-17 2007-11-29 Renesas Technology Corp 半導体集積回路装置

Also Published As

Publication number Publication date
US20200083897A1 (en) 2020-03-12
US20220173747A1 (en) 2022-06-02
TW201939270A (zh) 2019-10-01
US20190326921A1 (en) 2019-10-24
CN111837341A (zh) 2020-10-27
US10523230B2 (en) 2019-12-31
US11626884B2 (en) 2023-04-11
US10903844B2 (en) 2021-01-26
EP3769426A4 (en) 2021-12-22
KR20200143397A (ko) 2020-12-23
EP3769426A1 (en) 2021-01-27
US11296717B2 (en) 2022-04-05
US20210143832A1 (en) 2021-05-13
TWI793277B (zh) 2023-02-21
WO2019182730A1 (en) 2019-09-26
JP7306725B2 (ja) 2023-07-11
US10389375B1 (en) 2019-08-20

Similar Documents

Publication Publication Date Title
JP2021518590A (ja) 混合信号コンピューティングのためのシステムおよび方法
CN110796241B (zh) 基于忆阻器的神经网络的训练方法及其训练装置
US10255551B2 (en) Mixed-signal circuitry for computing weighted sum computation
US20220414025A1 (en) System and methods for mixed-signal computing
US20230359571A1 (en) System and methods for mixed-signal computing
US10803383B2 (en) Neuromorphic arithmetic device
US20200286553A1 (en) In-memory computation device with inter-page and intra-page data circuits
US11461640B2 (en) Mitigation of conductance drift in neural network resistive processing units
US20210303982A1 (en) Neural network computing device including on-device quantizer, operating method of neural network computing device, and computing device including neural network computing device
US20200302282A1 (en) Neurons for artificial neural networks
US20220101142A1 (en) Neural network accelerators resilient to conductance drift
CN115796252A (zh) 权重写入方法及装置、电子设备和存储介质
US20240152332A1 (en) Method for approximatively determining a scalar product using a matrix circuit
KR20220115497A (ko) 자가보정 제어 회로를 포함하는 스파이크 뉴럴 네트워크 회로 및 이의 동작 방법
CN116128035A (zh) 训练方法及装置、电子设备和计算机存储介质
CN115879523A (zh) 误差校正装置及方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230512

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230622

R150 Certificate of patent or registration of utility model

Ref document number: 7306725

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150