JP2023521341A - 3つのキャパシタを有する差動混合信号乗算器 - Google Patents

3つのキャパシタを有する差動混合信号乗算器 Download PDF

Info

Publication number
JP2023521341A
JP2023521341A JP2022561053A JP2022561053A JP2023521341A JP 2023521341 A JP2023521341 A JP 2023521341A JP 2022561053 A JP2022561053 A JP 2022561053A JP 2022561053 A JP2022561053 A JP 2022561053A JP 2023521341 A JP2023521341 A JP 2023521341A
Authority
JP
Japan
Prior art keywords
mixed
capacitor
logic processor
differential
signal logic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022561053A
Other languages
English (en)
Inventor
キム、セヤング
カン、ミング
キム、キョヒョン
ウー、ソングホーン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2023521341A publication Critical patent/JP2023521341A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/40Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using contact-making devices, e.g. electromagnetic relay
    • G06F7/44Multiplying; Dividing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C27/00Electric analogue stores, e.g. for storing instantaneous values
    • G11C27/02Sample-and-hold arrangements
    • G11C27/024Sample-and-hold arrangements using a capacitive memory element
    • G11C27/028Current mode circuits, e.g. switched current memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06JHYBRID COMPUTING ARRANGEMENTS
    • G06J1/00Hybrid computing arrangements
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/66Digital/analogue converters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Electromagnetism (AREA)
  • Fuzzy Systems (AREA)
  • Automation & Control Theory (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Image Processing (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Networks Using Active Elements (AREA)
  • Complex Calculations (AREA)
  • Logic Circuits (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

差動混合信号論理プロセッサが提供される。差動混合信号論理プロセッサは、アナログ値AとNビット・デジタル値Bとの乗算のための複数の混合信号乗算器ブランチを含む。複数の混合信号乗算器ブランチの各々は、第2及び第3のキャパシタの間に差動出力を供給するために第2のキャパシタと第3のキャパシタとの間に接続される第1のキャパシタを含む。第1のキャパシタの静電容量は、第2及び第3のキャパシタの静電容量の半分に等しい。

Description

本発明は、一般に電子回路に関し、より具体的には、3つのキャパシタを有する差動混合信号乗算器に関する。
物のインターネット(IoT)、健康管理、自律運転など、センサが豊富なプラットホームの出現は、機械学習(ML)アルゴリズムを用いるローカルな決定能力を要求することが多い。それらの用途は、バッテリ駆動プラットホームにおいて超低電力の動作を必要とするが、それらの大部分は、サンプリングされるデータがアナログ領域にあるので、高価なアナログ・デジタル変換(ADC)を必要とする。センサ用途ばかりでなく、インメモリ・コンピューティング、ニューロモルフィック・コンピューティング(例えば、抵抗変化型ランダム・アクセス・メモリ(ReRAM)をベースとするコンピューティング)などは、アナログ領域において中間結果を生成することが多い。
従って、アナログ及びデジタル混合信号処理が、ADCによる高コストを避けるための良い選択肢となる。アナログ処理は、低電力レジームにおける非理想性に悩まされるが、機械学習アルゴリズムは、典型的には、高い固有ノイズ耐性を有し、これにより低電力の混合信号処理などの近似的コンピューティングがより魅力的なものになる。大部分の機械学習アルゴリズムの主要なコンピューティング・カーネルは、乗算である。当然のことながら、アナログ値(センサ又はニューロモルフィック・コンピューティング・ブロックからの)とデジタル値(メモリからの)との間の混合信号乗算は、不可欠のコンピューティング構成要素である。
本発明の態様によれば、差動混合信号論理プロセッサが提供される。この差動混合信号論理プロセッサは、アナログ値AとNビット・デジタル値Bとの乗算のための複数の混合信号乗算器ブランチを含む。複数の混合信号乗算器ブランチの各々は、第2のキャパシタ及び第3のキャパシタの間に差動出力を提供するために第2のキャパシタと第3のキャパシタとの間(across a second capacitor and a third capacitor)に接続される第1のキャパシタを含む。第1のキャパシタの静電容量は、第2及び第3のキャパシタの静電容量の半分に等しい。
本発明の他の態様によれば、差動混合信号プロセッサを形成する方法が提供される。この方法は、アナログ値AとNビット・デジタル値Bとの乗算のための複数の混合信号乗算器ブランチの各々を、第2のキャパシタ及び第3のキャパシタの間に差動出力を提供するために第2のキャパシタと第3のキャパシタとの間に接続される第1のキャパシタを含むように構成することを含む。第1のキャパシタの静電容量は、第2及び第3のキャパシタの静電容量の半分に等しい。
これら及び他の特徴及び利点は、添付の図面に関連して読まれるべき、その例示的な実施形態の以下の詳細な説明から明白となる。
以下の説明は、以下の図面に関連する好ましい実施形態の詳細を提供する。
本発明の一実施形態による、例示的な処理システムを示すブロック図である。 本発明の一実施形態による、例示的な混合信号ドット積の計算回路を示すブロック図である。 本発明の一実施形態による、例示的な3つのキャパシタを有する差動混合信号乗算器を示すブロック図である。 本発明の一実施形態による、例示的なドット積の計算方法を示すフロー図である。 本発明の一実施形態による、例示的な乗算器及び累算器(MAC)の演算構成を示すブロック図である。 本発明の一実施形態による、混合信号論理プロセッサを形成する例示的な方法を示すフロー図である。 本発明の一実施形態による、深層ニューラル・ネットワークの層にわたる例示的なビット精度要件を示すブロック図である。 本発明の一実施形態による、図3のデザインが得られた例示的な初期デザイン800を示す図である。
本発明の実施形態は、3つのキャパシタを有する差動混合信号乗算器に向けられる。
本発明の1つ又は複数の実施形態は、差動符号付き数値表現を有するドット積に向けることができる。しかし、他の又は同じ実施形態はさらに、混合(アナログ及びデジタル)信号を含む他の数値及び論理機能にも向けることができることを認識されたい。
本発明の1つ又は複数の実施形態は、値Bの任意のビット精度のための3つのキャパシタを利用するものであり、ここでBは、
Figure 2023521341000002
のように、アナログ値Aと、bをn番目のビット位置におけるバイナリ値とするNビットのデジタル値Bとの乗算に関する。各々のブランチは、値Bの任意のビット精度のために3つのみのキャパシタを必要とする。
本発明の1つ又は複数の実施形態において、各々の混合信号乗算器ブランチは、第2のキャパシタと第3のキャパシタとの間に差動出力を提供するために、第2のキャパシタと第3のキャパシタとの間に接続された第1のキャパシタを含む。
本発明の1つ又は複数の実施形態において、第1のキャパシタの静電容量は、第2及び第3のキャパシタの静電容量の半分に等しい。
従って、8ビットのデジタル値に対して、提案される乗算器の実施形態では、およそ>100x小さいキャパシタ面積と、キャパシタを充電するための低いエネルギー消費とが必要となる。すなわち、提案される乗算器は、任意のビット精度要件について、本明細書で説明されるサイズの3つのキャパシタしか使用せず、面積及びエネルギー・コストを大幅に節約する。
提案される乗算器の1つ又は複数の実施形態はさらに、乗算における両方のオペランドについて符号付表現をカバーする。
提案される乗算器の1つ又は複数の実施形態は、より高い信号整合性のために差動入力を用いる。
提案される乗算器の1つ又は複数の実施形態はさらに、多くの乗算結果にわたる合計であるドット積を計算する。
図1は、本発明の一実施形態による、例示的な処理システム100を示すブロック図である。処理システム100は、1組の処理ユニット(例えば、CPUs)101、1組のGPU102、1組のメモリ・デバイス103、1組の通信デバイス104、及び1組の周辺機器105を含む。CPU101は、シングル又はマルチ・コアCPUとすることができる。GPU102は、シングル又はマルチ・コアGPUとすることができる。少なくとも1つのCPU101若しくはGPU102又はこれらの両方は、ドット積のような論理機能を実行するために、乗算器あたり3つのキャパシタを有する差動混合信号プロセッサを含む。1つ又は複数のメモリ・デバイス103は、キャッシュ、RAMs、ROMs、又は他のメモリ(フラッシュ、光、磁気など)を含むことができる。通信デバイス104は、無線若しくは有線又はこれらの両方の通信デバイス(例えば、ネットワーク(例えば、WIFIなど)アダプタなど)を含むことができる。周辺機器105は、ディスプレイ・デバイス、ユーザ入力デバイス、プリンタ、画像デバイスなどを含むことができる。処理システム100の要素は、1つ又は複数のバス或いはネットワーク(まとめて図面の参照数字100で示される)によって接続される。
一実施形態において、メモリ・デバイス103は、コンピュータ処理システムを、本発明の様々な態様を実装するように構成された専用コンピュータに変換するための、特別にプログラムされたソフトウェア・モジュールを格納することができる。一実施形態において、専用ハードウェア(例えば、特定用途向け集積回路、フィールド・プログラマブル・ゲート・アレイ(FPGAs)、など)は、本発明の様々な態様を実装するために用いることができる。
当然のことながら、処理システム100はまた、当業者によって容易に考えられように、他の要素(示されない)を含むことができ、ある要素を省くこともできる。当業者によって容易に理解されるように、例えば、種々の他の入力デバイス若しくは出力デバイス又はこれらの両方を、それらの特定の実装に応じて処理システム100に含めることができる。例えば、種々のタイプの無線及び/又は有線の入力及び/又は出力のデバイスを用いることができる。さらに、様々な構成における、付加的なプロセッサ、コントローラ、メモリなどを利用することもできる。処理システム100のこれら及び他の変形は、本明細書で提供される本発明の教示が与えられた当業者によって容易に考えられる。
さらに、システム100の1つ又は複数の要素によって、全体的に又は部分的に実施され得る本発明に関連する様々な要素及びステップに関して、以下で種々の図面が説明されることを認識されたい。
本明細書で採用されるように、用語「ハードウェア・プロセッサ・サブシステム」又は「ハードウェア・プロセッサ」は、プロセッサ、メモリ、ソフトウェア、又は、それらの1つ又は複数の特定のタスクを実行するために協働する組み合わせを指すことができる。有用な実施形態において、ハードウェア・プロセッサ・サブシステムは、1つ又は複数のデータ処理要素(例えば、論理回路、処理回路、命令実行デバイスなど)を含むことができる。1つ又は複数のデータ処理要素は、中央処理ユニット、グラフィックス処理ユニット、及び/又は分離したプロセッサ若しくはコンピューティング要素ベースのコントローラ(例えば、論理ゲートなど)に含めることができる。ハードウェア・プロセッサ・サブシステムは、1つ又は複数のオンボード・メモリ(例えば、キャッシュ、専用メモリ・アレイ、読出し専用メモリなど)を含むことができる。幾つかの実施形態において、ハードウェア・プロセッサ・サブシステムは、オンボード又はオフボードとすることも、ハードウェア・プロセッサ・サブシステムによって使用するための専用とすることもできる、1つ又は複数のメモリ(例えば、ROMs、RAMs、基本入力/出力システム(BIOS)など)を含むことができる。
幾つかの実施形態において、ハードウェア・プロセッサ・サブシステムは、1つ又は複数のソフトウェア要素を含み、実行することができる。1つ又は複数のソフトウェア要素は、オペレーティングシステム、及び/又は、1つ又は複数のアプリケーション、及び/又は、特定の結果を達成するための特定のコードを含むことができる。
他の実施形態において、ハードウェア・プロセッサ・サブシステムは、特定の結果を達成するための1つ又は複数の電子処理機能を行う特定の専用回路を含むことができる。そのような回路は、1つ又は複数の特定用途向け集積回路(ASIC)、FPGA若しくはPLA又はこれらのすべてを含むことができる。
ハードウェア・プロセッサ・サブシステムのこれら及び他の変形もまた、本発明の実施形態にしたがって考慮される。
図2は、本発明の一実施形態による、例示的な混合信号ドット積計算回路200を示すブロック図である。
混合信号ドット積計算回路200は、センサ・ノードのアレイ210、1組の増幅器220、メモリ230、及び1組の混合乗算器ブランチ(又は、簡単に「混合乗算器」)240を含む。例示の目的で、混合乗算器240の数について、4個が任意に選択されている。しかし、他の実施形態においては、他の個数の混合乗算器を用いることができる。
1組の混合乗算器240から、差動出力OUT(OUT及びOUT)が提供される。
メモリ230は、デジタル値w1-4を提供する。
図3は、本発明の一実施形態による、3つのキャパシタを有する例示的な差動混合信号乗算器300を示すブロック図である。
一実施形態において、差動混合信号乗算器300は、図2の混合信号ドット積計算回路200中の混合乗算器240のうちの1つとすることができる。
差動混合信号乗算器300は、差動入力vA+及びvA-を含む。
差動混合信号乗算器300は、差動出力voutを含む。
差動混合信号乗算器300は、キャパシタc301、キャパシタc2p302、キャパシタc2n303、スイッチs304、別のスイッチs305、スイッチs306、別のスイッチs307、スイッチ
Figure 2023521341000003
(以下sバーと記載する)
308、別のスイッチsバー309を含む。
キャパシタc301の一方の端部はノードspに結合され、キャパシタc301の他方の端部はノードspに結合される。
ノードspはさらに、スイッチs306の一方の側、スイッチsバー308の一方の側、及びスイッチs304の一方の側に結合される。スイッチs306の他方の側は、入力vA+に結合される。スイッチsバー308の他方の側は、入力vA-に結合される。スイッチs304の他方の側は、キャパシタc2p302の一方の側に結合される。キャパシタc2p302の他方の側は、接地される。
ノードspはさらに、スイッチs307の一方の側、スイッチsバー309の一方の側、及びスイッチs305の一方の側に結合される。スイッチs307の他方の側は入力vA-に結合される。スイッチsバー309の他方の側は入力vA+に結合される。スイッチs305の他方の側は、キャパシタc2n303の一方の側に結合される。キャパシタc2n303の他方の側は、接地される。
差動バージョンでは、
Figure 2023521341000004
である。
リセット・フェーズでは、vA+=vA-=vcmである
表1は、本発明の一実施形態による、3つのキャパシタを有する差動混合信号乗算器の種々の処理フェーズに関する信号を示す表である。
Figure 2023521341000005
ここで、本発明の一実施形態による、キャパシタのサイジングについて説明する。
一実施形態においては、キャパシタc301=c/2である。
一実施形態においては、キャパシタc2p302=cである。
一実施形態においては、キャパシタc2n303=cである。
図4は、本発明の一実施形態による、例示的なドット積計算方法400を示すフロー図である。
ブロック405において、キャパシタを放電させて(例えば、それらを接地して)リセットし、vsp+=vsp-=vcmとする。別の実施形態において、キャパシタは、それらを放電電位に接続することによって放電させることができる。
ブロック410において、サンプル・ステージ、融合ステージ、及び累算ステージを各々が含むB評価フェーズを行う。従って、n番目の評価フェーズ(Nビット値について、このステージはN回繰り返される)について、以下の事が当てはまる:
(a)サンプル:n番目のビットについて、サンプル・ノードspは電圧vcm+bを有し、サンプル・ノードspは電圧vcm-bを有する。
(b)累算:ノードsp及びspは電荷共有される。同様に、sp及びvout-は電荷共有される。
従って、
Figure 2023521341000006
である。
ブロック415において、出力vout∝Bvである。
ここで、本発明の一実施形態による、乗算器及び累算器(MAC)の演算に関して説明する。
多くの信号処理及び機械学習アプリケーションにおいて、乗算結果は合計されることになっている(いわゆるMAC演算において)。
ここで、乗算器の正及び負のポートは、電荷共有動作によって、それぞれ正及び負のレールに別々に接続することができる。
図5は、本発明の一実施形態による、例示的な乗算器及び累算器(MAC)演算構成500を示すブロック図である。
図示されるように、乗算器1~Mの乗算器出力outは、電圧vMAC+で正レール511に接続され、乗算器1~Mの乗算器出力out-は、電圧vMAC-で負レール512に接続される。
MAC演算では以下のことが当てはまる:
Figure 2023521341000007
図6は、本発明の一実施形態による、混合信号論理プロセッサを形成する例示的な方法600を示すフロー図である。
ブロック605において、複数の混合信号乗算器ブランチを、第1、第2、及び第3のキャパシタを含む3つの専用キャパシタと、第1のキャパシタの第1の端部に接続された正供給ノードと、第1のキャパシタの第2の端部に接続された負供給ノードとを有するように構成する。一実施形態において、第1のキャパシタは、第2及び第3のキャパシタの間に接続され、第2及び第3のキャパシタの半分の静電容量を有する。一実施形態において、第2及び第3のキャパシタの間に差動出力が提供される。
ブロック610において、第1、第2、及び第3のスイッチを含む第1の組のスイッチの第1の端部を正供給ノードに接続する。
ブロック615において、第4、第5、及び第6のスイッチを含む第2の組のスイッチの第1の端部を負供給ノードに接続する
ブロック620において、第1及び第4のスイッチの第2の端部を正入力電圧に接続する。
ブロック625において、第2及び第5のスイッチの第2の端部を負入力電圧に接続する。
ブロック630において、第3のスイッチの第2の端部を、第2のキャパシタの第1の端部及び混合信号プロセッサの正出力ノードに接続する。
ブロック635において、第6のスイッチの第2の端部を、第3のキャパシタの第1の端部及び混合信号プロセッサの負出力ノードに接続する。
ブロック640において、第1及び第2の組のスイッチの様々な設定によって、混合信号論理プロセッサの様々なモードを可能にする。
図7は、本発明の一実施形態による、深層ニューラル・ネットワークの層にわたる例示的なビット精度要件700を示すブロック図である。
図から分かるように、ビット精度要件700は、関係する層に応じて、8ビット、6ビット、4ビット、5ビット、及び3ビットの精度を含む。特に、入力層701は、8ビット精度を必要とし、第1の層711、第2の層712、及び第3の隠れた層713は、それぞれ、6ビット、4ビット、及び5ビット精度を必要とし、出力層721は、3ビット精度を必要とする。
図8は、本発明の一実施形態による、図3のデザインが得られた例示的な初期デザイン800を示す図である。初期デザイン800は、合計4つのキャパシタを含み、図3のデザインは、図8の同一のC値を有するキャパシタc1p及びc1nを結合して、図3におけるC/2の値を有する単一のキャパシタcにしたものである。従って、デザイン800は、サイズCの4つのキャパシタを必要とするが、これに対して、図3のデザインは、値がC、C、及びC/2の3つのキャパシタしか必要とせず、従ってスペース及びコストを節約する。図8のキャパシタc1p及びc1nのCtotalは、
1/(1/c1p+1/c1n)=C/2
となる。従って、図3のデザインは、図8のキャパシタc1p及びc1nに対して、キャパシタの面積を半分に節約する機会を提供する。
差動混合信号乗算器800は、差動入力vA+及びvA-を含む。
差動混合信号乗算器800は、差動出力voutを含む。
差動混合信号乗算器800は、キャパシタc1p801、キャパシタc1n810、キャパシタc2p802、キャパシタc2n803、スイッチs804、別のスイッチs805、スイッチs806、別のスイッチs807、スイッチsバー808、及び別のスイッチsバー809を含む。
キャパシタc1p801の一方の端部はノードspに結合され、キャパシタc1n810の一方の端部はノードspに接続される。キャパシタc1p801及びキャパシタc1n810の他方の端部はVcmに接続される。
ノードspはさらに、スイッチs806の一方の側、スイッチsバー808の一方の側、及びスイッチs804の一方の側に結合される。スイッチs806の他方の側は、入力vA+に結合される。スイッチsバー808の他方の側は、入力vA-に結合される。スイッチs804の他方の側は、キャパシタc2p802の一方の側に結合される。キャパシタc2p802の他方の側は、接地される。
ノードspはさらに、スイッチs807の一方の側、スイッチsバー809の一方の側、及びスイッチs805の一方の側に結合される。スイッチs807の他方の側は、入力vA-に結合される。スイッチsバー809の他方の側は、入力vA+に結合される。スイッチs805の他方の側は、キャパシタc2n803の一方の側に結合される。キャパシタc2n803の他方の側は、接地される。
ここで、本発明の実施形態によって提供される種々の利点に関して説明する。
本発明の1つ又は複数の実施形態は、任意のビット精度要件について3つのキャパシタしか使用せず、面積及びエネルギー・コストを大幅に節約する乗算器を提供する。
本発明の1つ又は複数の実施形態は、乗算における両方のオペランドについて符号付表現をカバーする。
本発明の1つ又は複数の実施形態は、より高い信号整合性のために差動入力を用いる。
本発明の1つ又は複数の実施形態は、多くの乗算結果にわたる合計であるドット積を計算する。
本発明の1つ又は複数の実施形態は、オフセットを用いずに混合信号乗算を行う。
本発明の実施形態の、これら及び無数の他の付随する利点は、本明細書に与えられる本発明の教示を与えられる当業者によって容易に判断される。
本発明は、統合の任意の可能な技術的詳細レベルにおける、システム、方法、若しくはコンピュータ・プログラム製品又は両方とすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体(単数又は複数)を含むことができる。
コンピュータ可読ストレージ媒体は、命令実行デバイスによる使用のための命令を保持及び格納することができる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、それらに限定されないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、又はこれらの任意の適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストには、携帯コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュ・メモリ)、静的ランダム・アクセス・メモリ(SRAM)、携帯コンパクト・ディスク読み出し専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピ・ディスク、パンチ・カード又はその上に記録された命令を有する溝内の隆起構造体のような機械的符号化デバイス、及び、これらの任意の適切な組み合わせが含まれる。コンピュータ可読ストレージ媒体は、本明細書で用いられる場合、ラジオ波又は他の自由に伝播する電磁波、導波管又は他の伝送媒体を伝わる電磁波(例えば、光ファイバーケーブルを通る光パルス)、又は電線を通る電気信号、などの、それ自体一時的な信号であると解釈されるべきではない。
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、或いは、例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク若しくは無線ネットワーク又は両方などのネットワークを介して外部コンピュータ又は外部ストレージ・デバイスに、ダウンロードすることができる。ネットワークは、銅製伝送ケーブル、光伝送ファイバー、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ若しくはエッジ・サーバ又は両方、を含むことができる。各々のコンピューティング/処理デバイス内のネットワーク・アダプタ・カード又はネットワーク・インタフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、そのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内部のコンピュータ可読ストレージ媒体内にストレージのために転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、或いは、スモールトーク(Smalltalk)、C++、などのオブジェクト指向プラグラミング言語、及び、“C”プラグラミング言語又は類似のプログラミング言語などの手続型プログラミング言語、を含む1つ又は複数のプログラミング言語の任意の組み合わせで書かれたソース・コード又はオブジェクト・コード、とすることができる。コンピュータ可読プログラム命令は、独立型ソフトウェア・パッケージとして、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上及び部分的に遠隔コンピュータ上で、又は全体的に遠隔コンピュータ若しくはサーバ上で実行することができる。後者のシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)又は広域ネットワーク(WAN)を含む任意のタイプのネットワークを通して、ユーザのコンピュータに接続することができ、或いは、接続は外部コンピュータに対して行う(例えば、インターネット・サービス・プロバイダを用いてインターネットを通して)ことができる。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラム可能ゲート・アレイ(FPGA)、又はプログラム可能論理アレイ(PLA)を含む電子回路が、本発明の態様を実行するように電子回路をパーソナル化するためのコンピュータ可読プログラム命令の状態情報を利用して、コンピュータ可読プログラム命令を実行することができる。
本発明の態様は、本明細書においては、本発明の実施形態による方法、装置(システム)、及びコンピュータ・プログラム製品のフローチャート図若しくはブロック図又は両方に関して説明されている。フローチャート図若しくはブロック図又は両方の各々のブロック、及び、フローチャート図若しくはブロック図又は両方のブロックの組み合わせは、コンピュータ可読プログラム命令によって実施することができることを理解されたい。
これらのコンピュータ可読プログラム命令は、コンピュータ又は他のプログラム可能データ処理装置のプロセッサに与えられて機械を生成し、その結果、それら命令が、コンピュータ又は他のプログラム可能データ処理装置を介して実行され、フローチャート若しくはブロック図又は両方のブロック(単数又は複数)内で指定された機能/行為を実施するための手段を作成する。これらのコンピュータ可読プログラム命令はまた、コンピュータ、プログラム可能データ処理装置若しくは他のデバイス又は両方に、特定の仕方で命令することができるコンピュータ可読ストレージ媒体内に格納することができ、その結果、内部に格納された命令を有するコンピュータ可読ストレージ媒体は、フローチャート若しくはブロック図又は両方のブロック(単数又は複数)内で指定された機能/行為の態様を実施する命令を含んだ製品を備える。
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードすることができ、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスにコンピュータ実施プロセスを生成するための一連の動作ステップを行わせ、その結果、コンピュータ、他のプログラム可能装置、又は他のデバイス上で実行される命令が、フローチャート若しくはブロック図又は両方のブロック(単数又は複数)内で指定された機能/行為を実施する。
本明細書中における、本発明の「1つの実施形態」又は「一実施形態」並びにそれらの他の変形物に対する言及は、その実施形態に関連して説明される特定の特徴、構造、特性などが、本発明の少なくとも1つの実施形態に含まれることを意味する。従って、本明細書を通して種々の場所に現れる語句「1つの実施形態において」又は「一実施形態において」並びにそれらの他の変形物の出現は、必ずしも全て同じ実施形態に言及するものではない。しかし、1つ又は複数の実施形態の特徴は、本明細書で与えられる本発明の教示が与えられると、組み合わせることができることを認識されたい。
例えば、「A/B」、「A及び/又はB」、及び「A及びBの少なくとも1つ」の場合の「/」、「及び/又は」、及び「少なくとも1つ」は、第1にリストされた選択肢(A)のみの選択、第2にリストされた選択肢(B)のみの選択、又は両選択肢(A及びB)の選択、を包含することが意図されている。さらに別の例として、「A、B、及び/又はC」及び「A、B、及びCの少なくとも1つ」の場合において、そのような語句は、第1にリストされた選択肢(A)のみの選択、又は、第2にリストされた選択肢(B)のみの選択、又は、第3にリストされた選択肢(C)のみの選択、或いは、第1及び第2にリストされた選択肢(A、B)のみの選択、又は、第1及び第3にリストされた選択肢(A、C)のみの選択、又は、第2及び第3にリストされた選択肢(B、C)のみの選択、或いは、全て3つの選択肢(A及びB及びC)の選択、を包含することが意図されている。このことはリストされる多くの項目に対して拡張することができる。
図面内のフローチャート及びブロック図は、本発明の様々な実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実施の、アーキテクチャ、機能性、及び動作を示す。これに関して、フローチャート又はブロック図中の各々のブロックは、モジュール、セグメント、又は、指定された論理機能(単数又は複数)を実施するための1つ又は複数の実行可能命令を含む命令の部分、を表すことができる。幾つかの代替的実施において、ブロック内に示された機能は、図に示されたのとは異なる順番に行われる可能性がある。例えば、続けて示される2つのブロックは、実際には、同時に、実質的に同時に、部分的に又は全体的に時間的に重なる仕方で、遂行される可能性があり、或いは、ブロックは、関連する機能性に応じて、時々、逆の順序で実行される可能性がある。さらに、ブロック図若しくはフローチャート図又は両方の各々のブロック、及び、ブロック図若しくはフローチャート図又は両方の中のブロックの組み合わせは、指定された機能若しくは行為を実行するか或いは専用ハードウェア及びコンピュータ命令の組み合わせを行う又は実行する、専用ハードウェアをベースとするシステムによって実施することができることに留意されたい。
システム及び方法の好ましい実施形態(例証的であり、限定的ではないことが意図されている)を説明したので、当業者であれば、上記の教示を考慮して修正及び変形を行うことができることに留意されたい。従って、本発明の範囲に入る、添付の特許請求の範囲によって概説される開示された特定の実施形態に、変形を加えることができることを理解されたい。このように、特許法によって要求される詳細及び特殊性によって本発明の態様を説明したので、特許請求され、特許証によって保護されることが望まれることは添付の特許請求の範囲において示される。

Claims (20)

  1. アナログ値AとNビット・デジタル値Bとの乗算のための複数の混合信号乗算器ブランチを含み、
    前記複数の混合信号乗算器ブランチの各々は、
    第2のキャパシタ及び第3のキャパシタの間に差動出力を提供するために、前記第2のキャパシタと前記第3のキャパシタとの間に接続される第1のキャパシタを含み、
    前記第1のキャパシタの静電容量は、前記第2及び第3のキャパシタの静電容量の半分に等しい、
    差動混合信号論理プロセッサ。
  2. 前記第1のキャパシタの第1の端部に接続された正供給ノードと、
    前記第1のキャパシタの第2の端部に接続された負供給ノードと、
    をさらに含む、請求項1に記載の差動混合信号論理プロセッサ。
  3. 前記正供給ノードに結合された第1の端部を各々が有する、第1、第2、及び第3のスイッチを含む、第1の組のスイッチと、
    前記負供給ノードに結合された第1の端部を各々が有する、第4、第5、及び第6のスイッチを含む、第2の組のスイッチと、
    をさらに含む、請求項1に記載の差動混合信号論理プロセッサ。
  4. 前記第1及び第4のスイッチの第2の端部は、正入力電圧に接続され、前記第2及び第5のスイッチの第2の端部は、負入力電圧に接続され、前記第3のスイッチの第2の端部は、前記第2のキャパシタの第1の端部及び正出力ノードに接続され、前記第6のスイッチの第2の端部は、前記第3のキャパシタの第1の端部及び負出力ノードに接続される、請求項1に記載の差動混合信号論理プロセッサ。
  5. 前記第2及び第3のキャパシタの第2の端部は、接地される、請求項4に記載の差動混合信号論理プロセッサ。
  6. 前記第1及び第2のスイッチは、前記正供給ノードに相補的入力を与え、前記第4及び第5のスイッチは、前記負供給ノードに相補的入力を与える、請求項4に記載の差動混合信号論理プロセッサ。
  7. 前記混合信号論理プロセッサは、アナログ値ベクトルとデジタル値ベクトルとの間のドット積を計算するように構成される、請求項4に記載の差動混合信号論理プロセッサ。
  8. 前記混合信号論理プロセッサは、少なくとも1つのセンサ及びメモリ・デバイスを有するシステムに含まれ、前記アナログ値ベクトルは、前記少なとも1つセンサから受け取られ、前記デジタル値は、前記メモリ・デバイスから受け取られる、請求項7に記載の差動混合信号論理プロセッサ。
  9. サンプル・モードが、前記複数の混合信号乗算器ブランチの各々の中の単一ブランチ専用のキャパシタを用いて、前記アナログ値ベクトルをサンプリングし、サンプル値を格納する、請求項7に記載の差動混合信号論理プロセッサ。
  10. 前記第1のキャパシタの静電容量は、前記第2及び第3のキャパシタのいずれかの静電容量の半分に等しい、請求項4に記載の差動混合信号論理プロセッサ。
  11. キャパシタに関して、前記複数の混合信号乗算器ブランチの各々は、3つの専用キャパシタのみを含む、請求項4に記載の差動混合信号論理プロセッサ。
  12. 前記混合信号論理プロセッサの様々なモードは、リセット・モード、サンプル・モード、融合モード、及び累算モードを含む、請求項4に記載の差動混合信号論理プロセッサ。
  13. 前記混合信号論理プロセッサの累算モードの際に、前記正供給ノード及び前記正出力ノードは電荷を共有し、前記負供給ノード及び前記負出力ノードは電荷を分担する、請求項4に記載の差動混合信号論理プロセッサ。
  14. 前記混合信号論理プロセッサのリセット・モードの際に、前記正供給ノード及び前記負供給ノードは同じ電位を有する、請求項4に記載の差動混合信号論理プロセッサ。
  15. 前記第1及び第2のスイッチは、第1のスイッチ対を形成し、前記第4及び第5のスイッチは、第2のスイッチ対を形成し、前記第1及び第2のスイッチ対の各々の中の前記スイッチは、所与の時間に正入力電圧又は負入力電圧のうちのいずれか一方を供給する際に互いに対して相補的である、請求項4に記載の差動混合信号論理プロセッサ。
  16. 前記正出力ノードに接続された正供給レールと、
    前記負出力ノードに接続された負供給レールと、
    をさらに含み、
    前記正及び負供給レールは、乗算器及累算器演算のために配備される、
    請求項4に記載の差動混合信号論理プロセッサ。
  17. 前記正供給レールを前記正出力ノードに接続し、前記負供給レールを前記負出力ノードに接続する電荷共有動作が行われる、請求項4に記載の差動混合信号論理プロセッサ。
  18. 前記アナログ値Aと前記Nビット・デジタル値Bの前記乗算において、前記Nビット・デジタル値Bは
    Figure 2023521341000008
    で計算され、bは、n番目のビット位置におけるバイナリ値である、請求項1に記載の差動混合信号論理プロセッサ。
  19. アナログ値AとNビット・デジタル値Bとの乗算のための複数の混合信号乗算器ブランチの各々を、第2のキャパシタ及び第3のキャパシタの間に差動出力を供給するために前記第2のキャパシタと前記第3のキャパシタとの間に接続される第1のキャパシタを含むように構成することを含み、
    前記第1のキャパシタの静電容量は、前記第2及び第3のキャパシタの静電容量の半分に等しい、
    差動混合信号プロセッサを形成する方法。
  20. 前記複数の混合信号乗算器ブランチの各々を、前記第1のキャパシタの第1の端部に接続された正供給ノードと、前記第1のキャパシタの第2の端部に接続された負供給ノードとを有するように構成することをさらに含む、請求項19に記載の方法。
JP2022561053A 2020-04-13 2021-03-01 3つのキャパシタを有する差動混合信号乗算器 Pending JP2023521341A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/847,505 US11301211B2 (en) 2020-04-13 2020-04-13 Differential mixed signal multiplier with three capacitors
US16/847,505 2020-04-13
PCT/IB2021/051691 WO2021209829A1 (en) 2020-04-13 2021-03-01 Differential mixed signal multiplier with three capacitors

Publications (1)

Publication Number Publication Date
JP2023521341A true JP2023521341A (ja) 2023-05-24

Family

ID=78006225

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022561053A Pending JP2023521341A (ja) 2020-04-13 2021-03-01 3つのキャパシタを有する差動混合信号乗算器

Country Status (8)

Country Link
US (1) US11301211B2 (ja)
JP (1) JP2023521341A (ja)
CN (1) CN115136239B (ja)
AU (1) AU2021254857B2 (ja)
CA (1) CA3171993A1 (ja)
DE (1) DE112021002295T5 (ja)
GB (1) GB2610332A (ja)
WO (1) WO2021209829A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11500960B2 (en) * 2019-10-29 2022-11-15 Qualcomm Incorporated Memory cell for dot product operation in compute-in-memory chip

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3219880B2 (ja) * 1992-12-22 2001-10-15 株式会社鷹山 乗算回路
CN101510444B (zh) * 2009-04-10 2011-02-16 华为技术有限公司 一种采样保持单元及其中的电压处理方法、电子设备
US8275727B2 (en) 2009-11-13 2012-09-25 International Business Machines Corporation Hardware analog-digital neural networks
US8416117B2 (en) * 2011-08-11 2013-04-09 Atmel Corporation Analog to digital converter with dual integrating capacitor systems
US9675799B2 (en) * 2012-12-05 2017-06-13 Lambda Nu Technology Llc Method and apparatus for implantable cardiac lead integrity analysis
US8823572B2 (en) * 2012-12-17 2014-09-02 Dust Networks, Inc. Anti-aliasing sampling circuits and analog-to-digital converter
JP2016171357A (ja) * 2013-07-25 2016-09-23 アルプス電気株式会社 D/a変換器
US9503118B2 (en) 2015-02-20 2016-11-22 The Trustees Of Princeton University Multiplying analog to digital converter and method
US9646243B1 (en) 2016-09-12 2017-05-09 International Business Machines Corporation Convolutional neural networks using resistive processing unit array
US9793912B1 (en) 2016-12-27 2017-10-17 Western Digital Technologies, Inc. Analog-to-digital conversion circuitry with real-time adjusted gain and resolution
US11263522B2 (en) 2017-09-08 2022-03-01 Analog Devices, Inc. Analog switched-capacitor neural network
CN107544770B (zh) * 2017-09-15 2020-06-26 中国科学技术大学 一种数模混合输入的、电荷域的模拟乘加器电路
EP3682377A4 (en) 2017-09-15 2021-06-16 Mythic, Inc. MIXED SIGNAL CALCULATION SYSTEM AND METHODS
KR101982635B1 (ko) * 2017-11-07 2019-05-24 고려대학교 산학협력단 아날로그-디지털 신호 변환 장치 및 신호 변환 방법
US10594334B1 (en) * 2018-04-17 2020-03-17 Ali Tasdighi Far Mixed-mode multipliers for artificial intelligence
JP6985988B2 (ja) * 2018-06-21 2021-12-22 株式会社日立製作所 ニューラルネットワーク回路
US11106268B2 (en) * 2018-07-29 2021-08-31 Redpine Signals, Inc. Method and system for saving power in a real time hardware processing unit

Also Published As

Publication number Publication date
WO2021209829A1 (en) 2021-10-21
DE112021002295T5 (de) 2023-03-23
GB202216836D0 (en) 2022-12-28
US11301211B2 (en) 2022-04-12
AU2021254857B2 (en) 2023-11-02
GB2610332A (en) 2023-03-01
CN115136239B (zh) 2023-07-14
CA3171993A1 (en) 2021-10-21
CN115136239A (zh) 2022-09-30
AU2021254857A1 (en) 2022-08-04
US20210318852A1 (en) 2021-10-14

Similar Documents

Publication Publication Date Title
US10642922B2 (en) Binary, ternary and bit serial compute-in-memory circuits
US10831691B1 (en) Method for implementing processing elements in a chip card
CN111052153B (zh) 使用半导体存储元件的神经网络运算电路及动作方法
JP6786466B2 (ja) ニューラルネットワーク装置および演算装置
JP2016500886A (ja) 低忠実度の単一キュービットマジック状態からの効率的なトフォリ状態生成
EP3676698B1 (en) Providing efficient floating-point operations using matrix processors in processor-based systems
KR20140001607A (ko) 스캔 구동 유닛 및 이를 구비하는 유기 발광 표시 장치
JP2023521341A (ja) 3つのキャパシタを有する差動混合信号乗算器
US10777253B1 (en) Memory array for processing an N-bit word
US11610101B2 (en) Formation failure resilient neuromorphic device
US20170168775A1 (en) Methods and Apparatuses for Performing Multiplication
CN112446460A (zh) 用于处理数据的方法、装置以及相关产品
WO2020079514A1 (en) Linearly weight updatable cmos synaptic array without cell location dependence
TWI771014B (zh) 記憶體電路及其操作方法
WO2016106601A1 (zh) 一种可扩展可配置的fpga存储结构和fpga器件
US11886780B2 (en) Optimization device, optimization device control method, and computer-readable recording medium recording optimization device control program
US20230083270A1 (en) Mixed signal circuitry for bitwise multiplication with different accuracies
CN116267023A (zh) 用于门控递归神经网络的门控单元
US11770130B2 (en) Mixed-signal dot product processor with single capacitor per multiplier
US10839900B1 (en) Parasitic voltage drop compensation in large cross-point arrays
US11811416B2 (en) Energy-efficient analog-to-digital conversion in mixed signal circuitry
AU2020399273B2 (en) Capacitive processing unit
US20230094719A1 (en) Random weight initialization of non-volatile memory array
EP4089524A1 (en) Apparatus and method with multiply-accumulate operation
RU2642408C1 (ru) Троичное множительное устройство

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230810