IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツングの特許一覧

特開2024-112781ベクトル演算を実行するための回路および方法
<>
  • 特開-ベクトル演算を実行するための回路および方法 図1A
  • 特開-ベクトル演算を実行するための回路および方法 図1B
  • 特開-ベクトル演算を実行するための回路および方法 図2
  • 特開-ベクトル演算を実行するための回路および方法 図3
  • 特開-ベクトル演算を実行するための回路および方法 図4
  • 特開-ベクトル演算を実行するための回路および方法 図5
  • 特開-ベクトル演算を実行するための回路および方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024112781
(43)【公開日】2024-08-21
(54)【発明の名称】ベクトル演算を実行するための回路および方法
(51)【国際特許分類】
   G06G 7/60 20060101AFI20240814BHJP
   G06G 7/16 20060101ALI20240814BHJP
   G06N 3/065 20230101ALI20240814BHJP
【FI】
G06G7/60
G06G7/16
G06N3/065
【審査請求】未請求
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024014584
(22)【出願日】2024-02-02
(31)【優先権主張番号】10 2023 201 021.6
(32)【優先日】2023-02-08
(33)【優先権主張国・地域又は機関】DE
(71)【出願人】
【識別番号】591245473
【氏名又は名称】ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100161908
【弁理士】
【氏名又は名称】藤木 依子
(72)【発明者】
【氏名】タハ・ソリマン
(72)【発明者】
【氏名】トビアス・キルヒナー
(57)【要約】
【課題】ベクトル演算を実行するための回路および方法を提供すること。
【解決手段】ベクトル演算を実行するための回路であって、列ライン(22)に接続された複数のメモリセルであって、各メモリセルが、入力端子(21)と半導体スイッチング素子(20)とを有し、ゲート電圧が絶対値で十分に高いときメモリセルがアクティブ化され、ドレイン端子およびソース端子での電圧が適切であるときセル電流が列ラインから伝導される、複数のメモリセルと、所定の入力値に対応して入力電圧を生成する入力電圧回路(38)と、列ライン(22)に接続された検出回路であって、列ラインに流入する測定電流の強度に対応するデジタル値を決定するA/D変換器(27)を有する、検出回路とを備え、検出回路が、A/D変換器(27)によって決定されたデジタル値を検出し、検出時点に対応する測定電流をアクティブ化されたメモリセルのセル電流の分だけ減少する、回路。
【選択図】図3
【特許請求の範囲】
【請求項1】
ベクトル演算を実行するための回路であって、
- 列ライン(22)に接続されている複数のメモリセルであって、前記複数のメモリセルの各々が、入力端子(21)と、前記入力端子に接続されたゲート端子、ドレイン端子、およびソース端子を有する半導体スイッチング素子(20)とを有し、それぞれ前記ドレイン端子または前記ソース端子が前記列ライン(22)に接続されており、前記ゲート端子でのゲート電圧が絶対値で十分に高いとき、前記メモリセルがアクティブ化され、したがって、前記ドレイン端子および前記ソース端子での電圧が適切であるとき、セル電流が列ラインからまたは列ラインに伝導される、複数のメモリセルと、
- 前記入力端子に接続されており、前記入力端子での所定の入力値に対応して入力電圧を生成するように設計されているかまたは作動可能な入力電圧回路(38、50、62)と、
- 前記列ライン(22)に接続された検出回路であって、列ラインに流入または列ラインから流出する測定電流の強度に対応するデジタル値を決定するように設計されているアナログ/デジタル変換器(27、44)を有する、検出回路と
を備え、
前記検出回路が、
予め決定されたまたは決定可能な検出時点で、前記アナログ/デジタル変換器(27、44)によって決定されたデジタル値を検出し、前記検出時点に対応する測定値を決定する、および、
前記測定電流を、減少時点で、既にアクティブ化されているメモリセルのセル電流の分だけ減少する
ように設計されている、回路。
【請求項2】
前記検出回路が、前記測定値の重み付け和を決定するようにさらに設計されており、各測定値が、対応する前記検出時点に割り当てられている重みで重み付けされる、請求項1に記載の回路。
【請求項3】
前記検出回路が、前記列ライン(22)に接続されている、測定電流経路(40)およびそれに並列に接続された補償経路(42)を有し、ならびに加算器/レジスタ(46)を有し、
前記測定電流経路(40)が、前記測定電流が前記測定電流経路(40)を通って前記列ライン(22)に流入するように設計されており、
前記加算器/レジスタ(46)が、前記測定値の補償和を生成するように設計されており、
前記補償経路(48)が、強度が前記補償合計に対応する補償電流を前記列ラインに伝導するように設計されている、
請求項1または2に記載の回路。
【請求項4】
前記減少時点が前記検出時点と等しいかもしくは前記検出時点の直後にある、および/または2つの連続する検出時点間にそれぞれ1つの減少時点がある、請求項1から3のいずれか一項に記載の回路。
【請求項5】
前記検出回路が、前記ドレイン端子または前記ソース端子と前記列ライン(22)との間に設けられている少なくとも1つのコンデンサ(28)を有する、請求項1から4のいずれか一項に記載の回路。
【請求項6】
前記列ライン(22)が、対応する作動時に前記少なくとも1つのコンデンサ(28)を放電するように設計されている放電半導体スイッチング素子(30)に接続されている、請求項5に記載の回路。
【請求項7】
すべてのメモリセルがセル電流を前記列ラインからまたは前記列ラインに同時に伝導するとき、前記アナログ/デジタル変換器(27、44)の分解可能な最大電流強度が、前記列ライン(22)を流れる電流の最大電流強度のごく一部であり、ここで、前記ごく一部が、0.5以下であるか、0.2以下であるか、または0.1以下である、請求項1から6のいずれか一項に記載の回路。
【請求項8】
前記半導体スイッチング素子(20)が、プログラム可能な閾値電圧を有し、半導体スイッチング素子(20)が、とりわけ、強誘電体電界効果トランジスタまたはフローティングゲートを有する金属酸化膜電界効果トランジスタである、請求項1から7のいずれか一項に記載の回路。
【請求項9】
前記複数のメモリセルの各メモリセル、または前記複数のメモリセルの一部が、前記入力端子と前記ゲート端子との間に設けられているメモリスタを有する、請求項1から8のいずれか一項に記載の回路。
【請求項10】
前記半導体スイッチング素子(20)の前記閾値電圧および/または前記メモリスタの前記抵抗値を、所定の重み値に対応してプログラムするように設計されているプログラミング回路を含む、請求項8または9に記載の回路。
【請求項11】
前記入力電圧回路(38、50)が、前記入力値に対応する入力電圧レベルまで絶対値で上昇するように前記入力電圧を生成するように設計されている、請求項1から10のいずれか一項に記載の回路。
【請求項12】
前記入力電圧回路(38)が、入力電圧源(32)および抵抗器(36)を有し、前記入力電圧源が、前記入力電圧レベルを有する前記電圧を提供するように設計されており、前記入力電圧源が、前記抵抗器を介して前記入力端子に接続されており、ならびに/または
前記入力電圧回路(50)がデジタル/アナログ変換器を有し、前記デジタル/アナログ変換器が、前記メモリセルの前記入力端子に接続されており、それぞれの前記入力端子に、それぞれの前記デジタル/アナログ変換器が作動されるデジタル値に対応する電圧を提供するようにそれぞれ設計されており、前記入力電圧回路(50)が、とりわけ前記入力値に達するまで、デジタル値の絶対値が上昇するシーケンスで前記デジタル/アナログ変換器を作動するように設計されている、
請求項11に記載の回路。
【請求項13】
請求項1から12のいずれか一項に記載の回路を使用して、入力エントリを有する入力ベクトルと重みエントリを有する重みベクトルとの間のベクトル演算を実行する方法であって、
前記入力エントリに対応する入力値で前記入力電圧回路を作動し、前記入力電圧を生成するように前記入力電圧回路をトリガするステップ(110)と、
前記検出時点での前記測定値を決定するために、前記検出回路を作動させるステップ(120)と、
前記測定値、および/または請求項2に従属する限りにおいては前記測定値の前記重み付け和を検出するステップ(130)と
を含む、方法。
【請求項14】
前記半導体スイッチング素子がプログラム可能な閾値電圧を有し、および/または前記メモリセルがメモリスタを有し、前記半導体スイッチング素子および/または前記メモリスタの前記閾値電圧のプログラミング(100)が、前記電圧生成回路および前記検出回路を作動する前に、前記重みエントリに従って実行される、請求項13に記載の方法。
【請求項15】
請求項1から12のいずれか一項に記載の回路と、請求項13または14に記載の方法を実行するように設計されている制御回路とを含むベクトル演算回路。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ベクトル演算を実行するための回路および方法に関する。
【背景技術】
【0002】
多くの計算集約型タスクにおいて、とりわけニューラルネットワークを使用する人工知能用途または機械学習用途では、ベクトルのドット積の決定が必要である。例えば、「畳み込みニューラルネットワーク」(以下、CNN(英:convolutional neural network)と呼ぶ)での畳み込みは、ベクトルのドット積である。そのようなベクトル演算を迅速かつ効率的に実行するために、特別にそのために設けられた回路の形でのベクトル行列乗算器を使用することができる。
【0003】
「ドット積エンジン」とも呼ばれるこれらのベクトル行列乗算器では、互いに直交して延びるラインの交点に配置されており、交差するラインをペアとして接続する「メモリスタ」の行列状アレイによって、入力電圧のベクトルが出力電流のベクトルに変換される。ここで、出力電流はそれぞれ、入力電圧のベクトルと、1列に配置されたメモリスタの導電率とのドット積に比例する。ここで、入力電圧は、一方向に延びる行ラインに印加され、それに直交して延びる列ラインにメモリスタを介して電流を流し、列ラインは接地電位に接続されている。出力電流の強度は、アナログ/デジタル変換器によって検出することができ、さらなる処理のために対応するデジタル値が得られる。ここで、出力電流は、例えばトランスインピーダンス増幅器を用いて出力電圧に変換することができる。そのような回路は、それぞれ数百または数千の行および列のサイズに達することがある。
【発明の概要】
【0004】
本発明によれば、独立請求項の特徴を備えたベクトル演算を実行するための回路および方法、ならびにベクトル演算回路が提案される。有利な形態は、従属請求項および以下の説明の主題である。
【0005】
本発明は、ベクトル演算を実行するための回路または方法において、メモリセルに接続されている列ラインに流入または列ラインから流出する測定電流を、減少時点で、既にアクティブ化されているセルのセル電流の分だけ減少させる手段を使用する。これにより、(考えられるすべてのセル電流の合計と比較して)測定電流の強度を比較的小さく留めることが達成され、それにより、小さいエネルギー要件と面積要件とを有する、低分解能、すなわち低ビット数のアナログ/デジタル変換器をその測定に使用することができる。
【0006】
本発明のさらなる利点および形態は、本明細書および添付図面から明らかになる。
本発明を、例示的実施形態に基づいて図面に概略的に示し、図面を参照して以下に述べる。
【図面の簡単な説明】
【0007】
図1A】ベクトル行列乗算器の基本構造を示す図である。
図1B】ベクトル行列乗算器の基本構造を示す図である。
図2】本発明の一実施形態による回路を示す図である。
図3】本発明の別の実施形態による回路を示す図である。
図4】本発明のさらなる一実施形態による回路を示す図である。
図5】本発明のさらなる一実施形態による回路を示す図である。
図6】一例示的実施形態によるフローチャートを示す図である。
【発明を実施するための形態】
【0008】
図1Aおよび図1Bは、行列回路または「ドット積エンジン」とも呼ばれるベクトル行列乗算器の動作原理を示す。ベクトル行列乗算器は、メモリ機能を備えるいわゆるメモリスタ2の形で、行および列として行列状に配置されたメモリセルを含む。行および列の数はそれぞれ任意であり、例として4×4アレイが示されている。メモリスタのメモリ機能は、プログラミング電圧の印加によってメモリスタの電気抵抗を調整可能であることにより得られる。
【0009】
さらに、ベクトル行列乗算器は、行列状アレイの各行ごとに行ライン4を含み、各列ごとに列ライン6を含む。メモリスタ2は、互いに直交して延びる行ラインと列ラインとの交点に配置されており、それぞれ行ラインを列ラインに接続する。メモリスタ2がなければ、行ラインと列ラインとは接続されていない。
【0010】
「接続」という用語は、特に断りのない限り、導電性の接続または電気信号用の接続を表す。「電流」、「電圧」、「抵抗」などの用語は電気的な量を表す。
行ラインに電圧が印加されると、行ライン4からメモリスタ2を通って列ライン6に電流が流れる。これは、図1Bで、1列および2行に関して示されている。そこでは、行ラインの一方に電圧U1が印加され、他方に電圧U2が印加される。メモリスタの一方を通る電流I1は、その導電率G1によって決定され、すなわちI1=G1・U1である。それに対応して、その導電率がG2である他方のメモリスタを通る電流I2は、I2=G2・U2である。次いで、列ライン6を通って電流の合計、すなわち総電流I=I1+I2=G1・U1+G2・U2が流れる。したがって、ベクトルとして解釈される行ライン4での電圧U1、U2と、ベクトルとして解釈されるメモリスタの導電率G1、G2との乗算が列内で行われ、総電流は、このベクトル積の結果に比例する。したがって基本的には、行列アレイ全体に関して、電圧のベクトルと、行列要素として解釈されるメモリスタの導電率との乗算が行われる。導電率は、例えば、電圧のベクトルと乗算される重み行列の重み値として解釈することができ、高い導電率が高い重み値に対応する。図1Bに示されるように、個々の列に関して、総電流Iは、ドット積とみなすことができる。
【0011】
各列の総電流は、例えばトランスインピーダンス増幅器8(図1Bを参照)によって出力電圧Uaに変換することができる。ここで例として示される、それ自体知られているトランスインピーダンス増幅器8は、その反転入力が列ラインに接続されており、その非反転入力が接地された演算増幅器10と、抵抗器12とを含み、抵抗器12を介して演算増幅器が負帰還されており、したがって出力電圧Uaは、Ua=-R・Iとして与えられ、ここでRは抵抗器12の抵抗値である。トランスインピーダンス増幅器8は、演算増幅器10の反転入力にいわゆる「仮想接地」を生成し、この仮想接地は、演算増幅器の高い開ループゲイン(例えば100,000)により、接地電位とわずかのみ(例えば電圧U1、U2が約5V程度であるときには約50μVのみ)異なり、したがって回路技術の観点では、回路の機能に必要な接地電位(すなわち仮想接地)が列ラインの端部に印加される。
【0012】
行ラインでの電圧は、典型的にはデジタル/アナログ変換器14を用いてデジタル信号から生成される。同様に、典型的には、列ラインでの出力電圧、すなわちトランスインピーダンス増幅器によって生成された電圧Uaは、サンプルアンドホールド回路16およびアナログ/デジタル変換器18を用いてデジタル信号に再び変換される。サンプルアンドホールド回路16は、1つまたは複数のアナログ/デジタル変換器18に統合されていてもよい。
【0013】
アナログ/デジタル変換器によって、ベクトル行列乗算器が実装されるチップ上にかなりの面積要件、および動作時のかなりのエネルギー要件が生じ得る。アナログ/デジタル変換に関連する面積およびエネルギー要件は、それぞれ回路の総面積要件または総エネルギー要件の約30~60%の範囲内であり得る。
【0014】
図2は、本発明の一実施形態による回路を示す。図示される回路は、例えば行列回路の列に対応する。
図1A図1Bにおけるようなメモリスタの代わりに、ここでは半導体スイッチング素子22を備えたメモリセルが使用され、図示される形態での半導体スイッチング素子22は、調整可能またはプログラム可能な閾値電圧を有する半導体スイッチング素子である。メモリセルの異なるメモリ状態は、プログラムされた異なる閾値電圧に対応する。プログラミングはプログラミング回路(図示せず)を用いて行うことができ、所望の閾値電圧をプログラムするために、いずれにせよ既存のラインおよび/または特別に設けられたプログラミングラインを介してプログラミング電圧が半導体スイッチング素子に印加される。プログラム可能な閾値電圧を有する半導体スイッチング素子の代替または追加として、メモリスタ(すなわち、上述したのと同様にプログラム可能な抵抗値を有する抵抗器)が使用され得る(図5を参照)。
【0015】
2つのベクトル、すなわち重み値を有する重みベクトルと入力値を有する入力ベクトルとの間の演算(例えば図1A図1Bにおけるようなドット積)に関連して、閾値電圧を重み値とみなすことができ、例えば、より低い閾値電圧がより大きい重み値に対応する。
【0016】
とりわけ、強誘電体電界効果トランジスタ(FeFET)が半導体スイッチング素子として使用され得る。フローティングゲートを備えた金属酸化膜電界効果トランジスタ(FGMOS、フローティングゲート金属酸化膜半導体電界効果トランジスタ)も半導体スイッチング素子として使用され得る。メモリ状態に関するメモリとして、FETの対応する材料層が機能し、例えばFeFETでは強誘電体層、またはFGMOSではフローティングゲートが機能する。メモリ状態は、FeFETでの強誘電体層の分極、またはFGMOSでのフローティングゲートでの電荷に対応する。図示される回路では、nチャネル型半導体スイッチング素子が使用される。基本的には、pチャネル型半導体スイッチング素子の使用も考えられるが、その場合、それに対応して電圧および電流が逆になり、またそれに対応して電圧源および接地への接続を適合させる必要があるであろう。
【0017】
ゲート端子での電圧がメモリセルまたは半導体スイッチング素子20の設定されたまたはプログラムされた閾値電圧よりも低い場合、半導体スイッチング素子20を通って電流が流れないか、または非常に小さな電流(遮断領域または線形領域)が流れる。ゲート端子での電圧が半導体スイッチング素子20の設定された閾値電圧(例えば飽和範囲内)よりも高い場合、半導体スイッチング素子20を通って(すなわちドレイン端子からソース端子へ)電流が流れる。ここで、半導体スイッチング素子20のドレイン端子およびソース端子に適切な電圧が印加されると仮定する。すなわち、ドレイン-ソース経路にわたる電圧差VDS(ドレイン端子での電圧Vからソース端子での電圧Vを引いた値)は、ゲート-ソース間電圧VGS、すなわちゲート端子とソース端子との間の電圧差(ゲート端子での電圧Vからソース端子での電圧Vを引いた値)から閾値電圧Vthを引いた値以上であり、すなわちVDS≧(VGS-Vth)である。ゲート-ソース間電圧VGSから閾値電圧Vthを引いた値は、飽和電圧VDsat=(VGS-Vth)と呼ばれる。ゲート電圧(またはゲート-ソース間電圧)が閾値電圧を超えることは、それぞれのメモリセルのアクティブ化に対応する。
【0018】
半導体スイッチング素子20のゲート端子は、メモリセルのそれぞれの入力端子21に接続されており、メモリセルのそれぞれの入力端子21は、行ラインにさらに接続されている。
【0019】
電圧源24または電流源に接続されている列ライン22が設けられている。電圧源24と列ライン22との間の接続部には、アナログ/デジタル変換器27(簡単にADCとも呼ばれる)を備えた電流検出ユニット26が設けられ、電流検出ユニット26は、列ライン22に流入する電流(測定電流とも呼ばれる)の強度を測定し、対応するデジタル値を決定するように設計されている。デジタル値は、バイナリ値として、BCD計数コードもしくは温度計コードとして、グレイコードとして、BCDコードとして、または当業者に知られている別のデジタル数値体系のデジタル値として決定され得る。
【0020】
半導体スイッチング素子20(メモリセル)のドレイン端子は、それぞれのコンデンサ28を介して列ライン22に接続されている。半導体スイッチング素子20のソース端子は接地されているか、または接地端子に接続されている。すなわち、半導体スイッチング素子20のゲート端子での閾値電圧を超えると、電流(セル電流とも呼ばれる)がそのドレイン-ソース経路を通って流れ、したがってこの半導体スイッチング素子20のドレイン端子と列ライン22との間に接続されているコンデンサ28が、飽和電圧に達するまで充電される。それに対応して、電流は、飽和電圧に達するまで列ライン22からコンデンサ28に流れ、それゆえ電圧源24から電流検出ユニット26を通ってまたはADC27を介して流れる。飽和電圧に達すると、半導体スイッチング素子20を通る電流が止まり、それにより列ライン22からコンデンサ28への電流も止まる。すなわち、電圧源24から列ライン22への電流は、ある時点(減少時点と呼ぶことができる)で減少される。
【0021】
図示される形態では、放電半導体スイッチング素子30と呼ばれる半導体スイッチング素子(例えば、MOSFET;金属酸化膜半導体電界効果トランジスタ、英:metal-oxide-semiconductor field-effect transistor)がさらに設けられており、放電半導体スイッチング素子30は列ライン22に接続されており、したがって、(放電半導体スイッチング素子の制御端子またはゲート端子に放電電圧を印加することにより)放電半導体スイッチング素子30が導通状態に切り替えられるとき、コンデンサ28が放電される。例えば、放電半導体スイッチング素子30のドレイン端子は列ライン22に接続されており、放電半導体スイッチング素子30のソース端子は接地されている。放電半導体スイッチング素子30が非導通状態にある場合、コンデンサ28での電荷は保持される。
【0022】
電流検出ユニット26またはそのアナログ/デジタル変換器27、ならびにコンデンサ28および場合によっては放電半導体スイッチング素子30は、検出回路の素子とみなされ得る。
【0023】
さらに、入力電圧回路38または入力電圧生成回路も設けられている。入力電圧回路38は、入力端子21での入力電圧(またはそれに対応して半導体スイッチング素子20でのゲート電圧、すなわち半導体スイッチング素子20のゲートに印加される電圧)を、低いレベルから始めて、とりわけゼロのレベル(例えば接地電位)から始めて、所定の入力値に対応する入力電圧レベルに達するまで、(図示されているnチャネル型半導体スイッチング素子の場合には)経時的に増加するように設計されている。ここで、pチャネル型半導体スイッチング素子が使用される場合、入力電圧はゼロから減少されることに留意されたい。すなわち、どちらの場合にも、(絶対値で低いレベル、とりわけゼロからの)入力電圧の絶対値の増加が生じる。
【0024】
2つのベクトル(重み値を有する重みベクトル、入力値を有する入力ベクトル)間の演算に関して、入力電圧レベルを入力値とみなすことができ、高い入力電圧レベルが大きい入力値に対応する。
【0025】
入力電圧回路38の図示される実装形態では(ここで同様に使用することができるであろう別の実装形態については図4を参照)、入力電圧回路38は、入力電圧源32および抵抗器36を有する。入力電圧源32は、行ライン34を介してメモリセルの入力端子21(または半導体スイッチング素子20のゲート端子)に接続されており、抵抗器36は、行ライン34に設けられている。したがって、入力電圧源32は、抵抗器36を介してメモリセルの入力端子21(または半導体スイッチング素子20のゲート端子)に接続されている。
【0026】
入力電圧源32は、仕様(入力値)に対応する入力電圧レベルを有する入力電圧をオン/オフ可能に提供するように設計されている。すなわち、入力電圧源32の各々は、入力電圧のうちの割り当てられた1つ(すなわち、それぞれの入力電圧源が接続されているメモリセルの入力端子21での電圧または半導体スイッチング素子のゲート電圧がその入力電圧まで高められることになる、入力電圧)をオン/オフ可能に提供するように作動される。ここで、スイッチオフ状態では、電圧は提供されず(電圧ゼロまたは接地電位)、スイッチオン状態では、それぞれの入力電圧レベルを有する入力電圧が提供される。入力電圧源32は、スイッチオフ状態とスイッチオン状態との間で切り替わるように作動可能である。
【0027】
スイッチオフ状態から始めて、入力電圧源32が(同時にまたは本質的に同時に)スイッチオン状態に切り替えられると、抵抗器28を介して電流が生じ、この電流により、半導体スイッチング素子20のゲート端子が経時的に充電され、したがって半導体スイッチング素子20のゲート電圧が経時的に増加される。半導体スイッチング素子のゲート端子でその閾値電圧を超えると、上述したように、減少時点と呼ばれる時点で飽和電圧に達するまで電流(セル電流)が生じる。
【0028】
検出回路は、検出時点と呼ばれる予め決定された時点で、ADC27によって決定されるデジタル値(列ラインへの測定電流に対応する)を測定値として検出するようにさらに設計されている。すなわち、ここでは、セル電流の合計に等しい列ラインでの総電流が測定電流を表し、その強度がADCによって測定される。列ラインからコンデンサへの電流は減少時点でそれぞれ再び減少されるので、半導体スイッチング素子がすべて同時には切り替わらないという前提の下で、列ラインでの総電流は比較的低いままである。それに対応して、低い分解能、すなわち低ビット数、例えば3ビットまたは4ビットのADCを使用することができ、そのようなADCは、面積およびエネルギー消費が小さい。典型的には、入力値および重み値はそれぞれの値範囲にわたって分散されているので、人工知能またはニューラルネットワークの分野での応用では、たいていは上記の前提が満たされている。そのような用途は、個々の場合にADCの分解能が十分でない場合でも、ある程度の誤差許容度を有する。
【0029】
さらに、一実施形態では、検出時点が早いほどより大きい重みを各検出時点に割り当て、測定値にわたって、上記の重みを用いて重み付けされた合計を決定することが企図されている。このようにして、検出時点と重みとを適切に選択した場合にドット積に対応する2つのベクトルの演算結果を決定することができる。それに対応して、検出回路は、この重み付け和生成を実行するように構成されていてもよい(分かりやすくするために、検出回路の対応する素子は示されていない)。
【0030】
検出時点は、とりわけ、入力電圧またはゲート電圧が上昇または増加する期間(上昇期間)内で、例えば減少時点に対して選択される。この選択は、計算および/またはシミュレーションおよび/または試行に基づくことができる。典型的にはデジタル値として与えられている入力値および重み値、それにより典型的にはまた入力電圧レベルおよび閾値は、それぞれ有限数の既知の離散値のみ有するので、例えば、取り得る減少時点を(計算および/またはシミュレーションおよび/または試行によって)決定することができ、それに対応して、それらの取り得る減少時点に対して検出時点を定めることができ、したがってこれらの時点にそれぞれのセル電流が存在し得る。
【0031】
図3は、本発明の別の実施形態による回路を示す。
ここでのメモリセルも、図2と同様に、プログラム可能な閾値電圧を有する半導体スイッチング素子20として構成されており、したがって図2の関連する説明が参照される。同様に、入力電圧回路38は、ここでも入力電圧源32および抵抗器36を備えて実装されているので、ここでも図2の関連する説明が参照される。
【0032】
この検出回路は、図2の検出回路とは異なり、電圧源24と列ライン22との間に2つの並列の電流経路、すなわち測定電流経路40(または測定経路)および補償電流経路42(または補償経路)を有する。図2とは異なり、半導体スイッチング素子20のドレイン端子間にはコンデンサも放電半導体スイッチング素子も設けられていない。
【0033】
図3の実施形態では、半導体スイッチング素子20のドレイン端子は、列ラインに直接接続されている。これにより、半導体スイッチング素子20のゲート電圧がこの半導体スイッチング素子の閾値電圧を超えるときまたは超えている限り、(図2とは異なり)電流が列ライン22からそれぞれの半導体スイッチング素子20を通って(接地へ)永続的に流れることになる。半導体スイッチング素子を通るこの電流が、セル電流を表す。
【0034】
電圧源24は、測定電流経路40およびそれに並列に接続された補償電流経路42を介して列ライン22に接続されており、したがって、列ラインには、測定電流経路40を介して流れる測定電流と、補償電流経路42を介して流れる補償電流とからなる合計電流または列電流が流れる。それゆえ、列電流の強度は、測定電流の強度と補償電流の強度との合計に等しい。列電流は、ここでも、列ライン22に接続された半導体スイッチング素子20のすべてのセル電流の合計である。
【0035】
測定電流経路40にはアナログ/デジタル変換器44が(例えば電流検出ユニットの一部として)配置されており、アナログ/デジタル変換器44は、測定電流の強度を測定し、予め決定された検出時点で、測定値を表す対応するデジタル値を決定するように設計されている。
【0036】
測定値は、補償合計を決定するために、そのために設計された加算器/レジスタ46によって加算される。さらに、補償経路42は、補償電流の強度が補償合計に対応するように補償経路内で補償電流を提供するように設計されている。このために、補償経路42にデジタル/アナログ変換器48が配置されていてもよく、デジタル/アナログ変換器48は、バイナリ形式での補償合計を、その強度が補償合計に対応する電流(補償電流)に変換する。加算器/レジスタ46は、アナログ/デジタル変換器44(ADC)と、補償経路42またはデジタル/アナログ変換器48とに接続されている。
【0037】
列電流は、(検出時点が半導体スイッチング素子20のスイッチング時点と一致しない限り)検出時点において変化しないままなので、これらの時点(またはその直後)における測定電流はすなわち、補償電流の増加分だけ減少する。したがって、図2の形態の場合と同様に、測定電流は、減少時点を表す特定の時点に減少される。検出回路のこの実施形態では、減少時点は、検出時点と等しいか、または信号通過時間による短い時間遅延が加算器/レジスタ46および/もしくはデジタル/アナログ変換器48によって考慮されるときには検出時点の直後である。とりわけ、2つの連続する検出時点間にそれぞれ1つの減少時点があるのが望ましい。すなわち、加算器/レジスタ46および/またはデジタル/アナログ変換器48を介する信号通過時間は、2つの連続する検出時点間の時間間隔よりも短いのが望ましい。検出時点は、とりわけそれらが半導体スイッチング素子20のスイッチング時点と一致しないように、計算および/またはシミュレーションおよび/または試行に基づいて選択することができる。
【0038】
図2に関連して既に説明したように、ここでも測定値から重み付け和を決定することができ、個々の測定値は、それぞれの測定値が検出された検出時点に対応する重みで重み付けされる。
【0039】
図4は、本発明のさらなる一実施形態による回路を示す。検出回路および半導体スイッチング素子ならびにそれらの相互接続に関連している限り、この回路は図3の回路に対応し、したがって図3での説明が参照される。
【0040】
行ライン52を介してメモリセルの入力端子21(または半導体スイッチング素子20のゲート端子)に接続されている入力電圧回路50は、ここでは図2および図3のものとは異なるように構成されている。入力電圧回路50は、ここでも、経時的に入力電圧を(絶対値で)増加または上昇させるように設計されている。入力電圧回路50はデジタル/アナログ変換器(図示せず)を備え、デジタル/アナログ変換器は、行ライン52またはメモリセルの入力端子に接続されており、それぞれの行ラインまたはそれぞれの入力端子に入力電圧を提供するようにそれぞれ設計されており、入力電圧は、それぞれのデジタル/アナログ変換器が作動されるデジタル値に対応する。ここで、各デジタル/アナログ変換器は、入力電圧回路によって、デジタル値の(絶対値が)上昇するシーケンスで作動され、ここでは、ゼロ(または低い値)から始まって、シーケンスの最後の値が入力値に対応する。したがって、対応する行ラインまたは対応する入力端子21での入力電圧は、ゼロ(もしくは接地)または低い値から始まって、所定の入力値に対応する入力電圧レベルまで(絶対値で)段階的に上昇する。ここで、上昇は、とりわけすべてのデジタル/アナログ変換器に関して同じ上昇期間にわたって線形に生じ得る。すなわち、それに対応してデジタル値の昇順シーケンスが決定される。この入力電圧回路の実装形態は、ゲート電圧の上昇の正確な制御を可能にする。
【0041】
図2図3、および図4に示される入力電圧回路に加えて、行ラインまたはメモリセルの入力端子に入力電圧を生成するのに適している他の入力電圧回路も使用することができる。
【0042】
図2図3、および図4の形態では、各メモリセルは、プログラム可能な閾値電圧を有する半導体スイッチング素子によってそれぞれ形成されている。代替または追加として、メモリセルはそれぞれメモリスタを含み得、すなわち、各メモリセル(またはメモリセルの少なくとも一部)は、メモリスタおよび半導体スイッチング素子(プログラム可能な閾値電圧を有さないまたは有する)を含み得る。
【0043】
対応する一形態が図5に示されており、図5は、本発明のさらなる一実施形態による回路を示す。
図5で、各メモリセルは、半導体スイッチング素子20およびメモリスタ60を含む。メモリスタ60は、入力端子21(対応する行ライン34に接続されている)と、関連のメモリセルの半導体スイッチング素子20のゲート端子との間にそれぞれ接続されている。メモリスタ60は、プログラム可能な抵抗値または導電率を有する。半導体スイッチング素子20は、プログラム可能な閾値電圧を有さない半導体スイッチング素子であっても、またはプログラム可能な閾値電圧を有する半導体スイッチング素子であってもよい。
【0044】
2つのベクトル(重み値を有する重みベクトル、入力値を有する入力ベクトル)間の演算に関連して、メモリスタの抵抗値を重み値とみなすことができ、例えば、より低い抵抗値がより大きい重み値に対応する。例えば、プログラム可能な閾値電圧を有する半導体スイッチング素子が使用される場合、より低い閾値電圧がより大きい重み値に対応する。例えば、メモリスタに加えてプログラム可能な閾値電圧を有する半導体スイッチング素子を使用することにより、とりわけより大きい値範囲にわたる、より多くの異なる重み値を表すことができる。
【0045】
メモリセルのメモリスタ60のプログラムされた抵抗値に応じて、半導体スイッチング素子20のゲート電圧が多かれ少なかれ急上昇する。したがって、メモリセルは、適切な時点にアクティブ化される。それに対応して、行ライン34に接続された入力電圧回路62を使用することができ、入力電圧回路62は、入力値に対応する入力電圧レベルに直接対応して、すなわち電圧上昇を伴わずに入力電圧を提供する。例えば、入力電圧回路は、行ライン34に接続された入力電圧源32を備えることができる。ここで、入力電圧源は、図2および図3と同様に、入力電圧レベルを有する入力電圧を提供するように設計されている。代替として、例えば電圧上昇のより良好な制御を可能にするために、図2図3、および図4に示される入力電圧回路38、50のうちの1つ(すなわち電圧上昇を伴う)を使用することもできるであろう。
【0046】
図5に対応する形態の検出回路は、例として図3および図4の検出回路に対応しており、図3および図4の説明が参照される。同様に、図2の検出回路を使用することもできるであろう(図2での説明を参照)。
【0047】
図2図3図4、および図5の形態では、行列回路のそれぞれ1つの列が示されていた。複数の列がある場合、異なる列のメモリセルの入力端子は同じ行ラインに接続されていてもよく、すなわち行ラインは複数の列にわたって延び、したがって個々の入力電圧回路が、複数の列に関する入力電圧を生成することができる。複数の列がある場合、各列ごとに、図2の形態についてはアナログ/デジタル変換器27を備えた電流検出ユニット26、または図3図4図5の形態については測定電流経路40およびそれに並列に接続された補償経路42が設けられていてもよい。代替として、アナログ/デジタル変換器27を備えた電流検出ユニット26、または測定電流経路40およびそれに並列に接続された補償経路42が複数の列ラインのために設けられていてもよく、マルチプレクサなどを介して、列ラインのそれぞれ1つがそれと接続可能である。この場合、入力電圧を各列ごとにそれぞれ新たに印加する必要があるであろう。
【0048】
図6は、一例示的実施形態による回路を使用して、入力エントリを有する入力ベクトルと重みエントリを有する重みベクトルとの間のベクトル演算を実行するためのフローチャートを示す。
【0049】
任意選択のステップ100で、電圧生成回路および検出回路の作動前に、重みエントリに対応して半導体スイッチング素子の閾値電圧のプログラムが行われる。
ステップ110で、入力電圧回路は、入力エントリに対応する入力値で作動される。すなわち、入力ベクトルの入力エントリに対応して入力値が予め定められるか、または(例えば入力値を入力電圧回路の入力レジスタに伝送することによって)入力電圧回路が入力値で作動される。また、入力電圧回路が、(例えば、図2図3図4に従って絶対値で入力電圧レベルまで上昇して、または図5に従って入力電圧レベルで直接)入力電圧を生成するようにトリガされる。
【0050】
ステップ120で、検出回路が、検出時点で測定値を決定するように作動またはトリガされる。ここで、検出回路に検出時点が予め定められ、例えばそれに対応して少なくとも1つの検出時点レジスタが設定されることが追加的に企図されていてもよい。
【0051】
ステップ130で、測定値または測定値の重み付け和の検出が行われる。
ステップ100を再度実行することなく、ステップ110、120、および130を数回繰り返すことができる。
【0052】
ベクトル演算回路は、(例えば図2図3、および図4に示されるような)本発明による回路の一実施形態と、上記のステップを実行するように設計されている制御回路(図示せず)とを含み得る。
援助および支援に関する情報
本出願に至ったプロジェクトは、助成金契約第826655号に基づいて合弁会社ECSEL(合同事業)から資金提供を受けた。この合同事業は、欧州連合のホライゾン2020研究・イノベーションプログラム、およびベルギー、フランス、ドイツ、オランダ、スイスから支援を受けている。
【符号の説明】
【0053】
2 メモリスタ
4 行ライン
6 列ライン
8 トランスインピーダンス増幅器
10 演算増幅器
12 抵抗器
14 デジタル/アナログ変換器
16 サンプルアンドホールド回路
18 アナログ/デジタル変換器
20 半導体スイッチング素子
21 入力端子
22 列ライン/半導体スイッチング素子
24 電圧源
26 電流検出ユニット
27 アナログ/デジタル変換器/ADC
28 コンデンサ
30 放電半導体スイッチング素子
32 入力電圧源
34 行ライン
36 抵抗器
38 入力電圧回路
40 測定電流経路
42 補償電流経路
44 アナログ/デジタル変換器
46 加算器/レジスタ
48 デジタル/アナログ変換器
50 入力電圧回路
52 行ライン
60 メモリスタ
62 入力電圧回路
図1A
図1B
図2
図3
図4
図5
図6
【手続補正書】
【提出日】2024-05-30
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ベクトル演算を実行するための回路であって、
- 列ライン(22)に接続されている複数のメモリセルであって、前記複数のメモリセルの各々が、入力端子(21)と、前記入力端子に接続されたゲート端子、ドレイン端子、およびソース端子を有する半導体スイッチング素子(20)とを有し、それぞれ前記ドレイン端子または前記ソース端子が前記列ライン(22)に接続されており、前記ゲート端子でのゲート電圧が絶対値で十分に高いとき、前記メモリセルがアクティブ化され、したがって、前記ドレイン端子および前記ソース端子での電圧が適切であるとき、セル電流が列ラインからまたは列ラインに伝導される、複数のメモリセルと、
- 前記入力端子に接続されており、前記入力端子での所定の入力値に対応して入力電圧を生成するように設計されているかまたは作動可能な入力電圧回路(38、50、62)と、
- 前記列ライン(22)に接続された検出回路であって、列ラインに流入または列ラインから流出する測定電流の強度に対応するデジタル値を決定するように設計されているアナログ/デジタル変換器(27、44)を有する、検出回路と
を備え、
前記検出回路が、
予め決定されたまたは決定可能な検出時点で、前記アナログ/デジタル変換器(27、44)によって決定されたデジタル値を検出し、前記検出時点に対応する測定値を決定する、および、
前記測定電流を、減少時点で、既にアクティブ化されているメモリセルのセル電流の分だけ減少する
ように設計されている、回路。
【請求項2】
前記検出回路が、前記測定値の重み付け和を決定するようにさらに設計されており、各測定値が、対応する前記検出時点に割り当てられている重みで重み付けされる、請求項1に記載の回路。
【請求項3】
前記検出回路が、前記列ライン(22)に接続されている、測定電流経路(40)およびそれに並列に接続された補償経路(42)を有し、ならびに加算器/レジスタ(46)を有し、
前記測定電流経路(40)が、前記測定電流が前記測定電流経路(40)を通って前記列ライン(22)に流入するように設計されており、
前記加算器/レジスタ(46)が、前記測定値の補償和を生成するように設計されており、
前記補償経路(48)が、強度が前記補償合計に対応する補償電流を前記列ラインに伝導するように設計されている、
請求項1に記載の回路。
【請求項4】
前記減少時点が前記検出時点と等しいかもしくは前記検出時点の直後にある、および/または2つの連続する検出時点間にそれぞれ1つの減少時点がある、請求項1に記載の回路。
【請求項5】
前記検出回路が、前記ドレイン端子または前記ソース端子と前記列ライン(22)との間に設けられている少なくとも1つのコンデンサ(28)を有する、請求項1に記載の回路。
【請求項6】
前記列ライン(22)が、対応する作動時に前記少なくとも1つのコンデンサ(28)を放電するように設計されている放電半導体スイッチング素子(30)に接続されている、請求項5に記載の回路。
【請求項7】
すべてのメモリセルがセル電流を前記列ラインからまたは前記列ラインに同時に伝導するとき、前記アナログ/デジタル変換器(27、44)の分解可能な最大電流強度が、前記列ライン(22)を流れる電流の最大電流強度のごく一部であり、ここで、前記ごく一部が、0.5以下であるか、0.2以下であるか、または0.1以下である、請求項1に記載の回路。
【請求項8】
前記半導体スイッチング素子(20)が、プログラム可能な閾値電圧を有し、半導体スイッチング素子(20)が、とりわけ、強誘電体電界効果トランジスタまたはフローティングゲートを有する金属酸化膜電界効果トランジスタである、請求項1に記載の回路。
【請求項9】
前記複数のメモリセルの各メモリセル、または前記複数のメモリセルの一部が、前記入力端子と前記ゲート端子との間に設けられているメモリスタを有する、請求項1に記載の回路。
【請求項10】
前記半導体スイッチング素子(20)の前記閾値電圧および/または前記メモリスタの前記抵抗値を、所定の重み値に対応してプログラムするように設計されているプログラミング回路を含む、請求項8に記載の回路。
【請求項11】
前記入力電圧回路(38、50)が、前記入力値に対応する入力電圧レベルまで絶対値で上昇するように前記入力電圧を生成するように設計されている、請求項1に記載の回路。
【請求項12】
前記入力電圧回路(38)が、入力電圧源(32)および抵抗器(36)を有し、前記入力電圧源が、前記入力電圧レベルを有する前記電圧を提供するように設計されており、前記入力電圧源が、前記抵抗器を介して前記入力端子に接続されており、ならびに/または
前記入力電圧回路(50)がデジタル/アナログ変換器を有し、前記デジタル/アナログ変換器が、前記メモリセルの前記入力端子に接続されており、それぞれの前記入力端子に、それぞれの前記デジタル/アナログ変換器が作動されるデジタル値に対応する電圧を提供するようにそれぞれ設計されており、前記入力電圧回路(50)が、とりわけ前記入力値に達するまで、デジタル値の絶対値が上昇するシーケンスで前記デジタル/アナログ変換器を作動するように設計されている、
請求項11に記載の回路。
【請求項13】
請求項1から12のいずれか一項に記載の回路を使用して、入力エントリを有する入力ベクトルと重みエントリを有する重みベクトルとの間のベクトル演算を実行する方法であって、
前記入力エントリに対応する入力値で前記入力電圧回路を作動し、前記入力電圧を生成するように前記入力電圧回路をトリガするステップ(110)と、
前記検出時点での前記測定値を決定するために、前記検出回路を作動させるステップ(120)と、
前記測定値、および/または請求項2に従属する限りにおいては前記測定値の前記重み付け和を検出するステップ(130)と
を含む、方法。
【請求項14】
前記半導体スイッチング素子がプログラム可能な閾値電圧を有し、および/または前記メモリセルがメモリスタを有し、前記半導体スイッチング素子および/または前記メモリスタの前記閾値電圧のプログラミング(100)が、前記電圧生成回路および前記検出回路を作動する前に、前記重みエントリに従って実行される、請求項13に記載の方法。
【請求項15】
請求項1から12のいずれか一項に記載の回路と、請求項13に記載の方法を実行するように設計されている制御回路とを含むベクトル演算回路。

【外国語明細書】