(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024088600
(43)【公開日】2024-07-02
(54)【発明の名称】行列回路によって入力ベクトルを出力ベクトルにマッピングするための方法
(51)【国際特許分類】
G06G 7/16 20060101AFI20240625BHJP
G06G 7/60 20060101ALI20240625BHJP
G06N 3/063 20230101ALI20240625BHJP
G11C 11/54 20060101ALI20240625BHJP
G11C 13/00 20060101ALI20240625BHJP
【FI】
G06G7/16
G06G7/60
G06N3/063
G11C11/54
G11C13/00 270J
G11C13/00 400B
G11C13/00 400F
【審査請求】未請求
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023205036
(22)【出願日】2023-12-05
(31)【優先権主張番号】10 2022 213 167.3
(32)【優先日】2022-12-07
(33)【優先権主張国・地域又は機関】DE
(71)【出願人】
【識別番号】523455688
【氏名又は名称】ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング
【氏名又は名称原語表記】Robert Bosch GmbH
【住所又は居所原語表記】Wernerstr. 51, 70469 Stuttgart, Germany
(74)【代理人】
【識別番号】100083116
【弁理士】
【氏名又は名称】松浦 憲三
(74)【代理人】
【識別番号】100140992
【弁理士】
【氏名又は名称】松浦 憲政
(74)【代理人】
【識別番号】100153822
【弁理士】
【氏名又は名称】増田 重之
(72)【発明者】
【氏名】トビアス キルシュナー
(72)【発明者】
【氏名】タハ ゾリマン
(72)【発明者】
【氏名】トーマス ケンペ
(57)【要約】 (修正有)
【課題】CDMA入力ベクトルを出力ベクトルにマッピングする方法及び回路を提供する。
【解決手段】行列回路では、調整可能なメモリ状態を有するメモリ・セルがマトリックス状に配置され、入力ベクトルの成分に対応する入力電圧(U1、U2、U3)が第1の線22に印加され、各列について、ランプ電圧(V1、V2、V3)が列に割り当てられた第2の線24に印加され、ランプ電圧のレベルが経時的に増加し、全電流が列に割り当てられた第3の線26において検出され、全電流の大きさが特定の電流の大きさのしきい値(Ig)に達するまで、対応するランプ電圧のレベルの増加の開始時間から経過した時間が決定され、経過した時間(t1、t2、t3)に基づいて、列に対応する出力ベクトルの成分が決定される。
【選択図】
図2
【特許請求の範囲】
【請求項1】
複数の行及び複数の列にマトリックス状に配置されたメモリ・セルと、第1、第2及び第3の線とを有し、前記第1の線(22)のうちの一つが各行に割り当てられ、前記第2の線(24)のうちの一つ及び前記第3の線(26)のうちの一つが各列に割り当てられている行列回路によって、入力ベクトルを出力ベクトルにマッピングするための方法であって、
各メモリ・セルが調整可能なメモリ状態を有し、
各メモリ・セルが、前記メモリ・セルが位置する前記行に割り当てられた前記第1の線(22)と、前記メモリ・セルが位置する前記列に割り当てられた前記第2及び第3の線(24、26)とに接続され、
各メモリ・セルが前記メモリ状態並びに前記第1、前記第2及び前記第3の線に印加される電圧に応じて、前記第1から前記第3の線(26)に電流(I1、I2、I3)を伝導するように配置され、
各メモリ・セルが半導体スイッチング素子(28)を備え、前記半導体スイッチング素子が、前記半導体スイッチング素子が位置する前記列に割り当てられた前記第2の線(24)に接続された制御端子を有し、
前記入力ベクトルの成分に対応する入力電圧(U1、U2、U3)が前記第1の線(110)に印加される、
方法であり、
各列について、
前記列に割り当てられた前記第2の線にランプ電圧(V1、V2、V3)を印加するステップ(120)と、
前記ランプ電圧の前記レベルを経時的に増加させるステップ(130)と、
前記列に割り当てられた前記第3の線の全電流を検出するステップと、
対応する前記ランプ電圧の前記レベルの増加の開始時間から、前記全電流の大きさが、特定の電流の大きさのしきい値(Ig)に達する(140)までに経過した時間を決定するステップ(150)と、
前記経過した時間(t1、t2、t3)に基づいて、前記列に対応する前記出力ベクトルの成分を決定するステップ(170)と、
を含む方法。
【請求項2】
前記半導体スイッチング素子(28)が調整可能なしきい値電圧を有し、メモリ・セルの前記メモリ状態がそれぞれの前記しきい値電圧に依存する、請求項1に記載の方法。
【請求項3】
各列について、前記電流レベルしきい値(Ig)に達したときに前記レベルの増加を終了するステップ(160)を含む、請求項1又は2に記載の方法。
【請求項4】
各列について、前記電流強度しきい値(I1、I2、I3)に達したときにそれぞれの前記ランプ電圧(V1、V2、V3)の印加を終了するステップ(160)を含む、請求項1乃至3のいずれか一項に記載の方法。
【請求項5】
いくつかの、特にすべての列において、同じ開始時間に前記レベルの増加を開始するステップを含む、請求項1乃至4のいずれか一項に記載の方法。
【請求項6】
前記レベルの増加が、いくつかの、特にすべての列において同じ増加率を有する、請求項1乃至5のいずれか一項に記載の方法。
【請求項7】
前記入力ベクトルの前記成分に比例するように前記入力電圧(U1、U2、U3)を決定するステップ、及び/又は、対応する経過した時間スパン(t1、t2、t3)に比例するように前記出力ベクトルの前記成分を決定するステップを含む、請求項1乃至6のいずれか一項に記載の方法。
【請求項8】
所定の行列の行列要素に従って前記メモリ・セルの前記メモリ状態を設定するステップを含む、請求項1乃至7のいずれか一項に記載の方法。
【請求項9】
時間スパン(t1、t2、t3)を、経過したクロック・サイクルの数として決定するステップを含む、請求項1乃至8のいずれか一項に記載の方法。
【請求項10】
複数の行及び複数の列にマトリックス状に配置されたメモリ・セルと、第1、第2及び第3の線とを有する行列回路であって、前記第1の線(22)のうちの一つが各行に割り当てられ、前記第2の線(24)のうちの一つ及び前記第3の線(26)のうちの一つが各列に割り当てられている、行列回路であり、
各メモリ・セルが調整可能なメモリ状態を有し、
各メモリ・セルが、前記メモリ・セルが位置する前記行に割り当てられた前記第1の線(22)と、前記メモリ・セルが位置する前記列に割り当てられた前記第2及び第3の線(24、26)とに接続され、
各メモリ・セルが前記メモリ状態並びに前記第1、第2及び第3の線に印加される電圧に応じて、前記第1から前記第3の線(26)に電流(I1、I2、I3)を伝導するように配置され、
各メモリ・セルが半導体スイッチング素子(28)を備え、前記半導体スイッチング素子が、前記半導体スイッチング素子が位置する前記列に割り当てられた前記第2の線(24)に接続された制御端子を有する、
行列回路と、
請求項1乃至9のいずれか一項に記載の方法を実行するように設定されたコントローラと、
を備える、回路。
【請求項11】
前記半導体スイッチング素子(28)が調整可能なしきい値電圧を有し、メモリ・セルの前記メモリ状態がそれぞれの前記しきい値電圧に依存し、前記半導体スイッチング素子が、特に、強誘電体電界効果トランジスタである、請求項10に記載の回路。
【請求項12】
前記メモリ・セルがメモリスタ及び/又は抵抗器を備え、メモリ・セルの前記メモリ状態が前記メモリスタ又は前記抵抗器の抵抗値に依存する、請求項10又は11に記載の回路。
【請求項13】
前記半導体スイッチング素子(28)がドレイン端子及びソース端子を備え、前記ドレイン端子がそれぞれの前記半導体スイッチング素子が位置する前記行に割り当てられた前記第1の線(22)に接続され、前記ソース端子がそれぞれの前記半導体スイッチング素子が位置する前記列に割り当てられた前記第3の線(26)に接続されている、請求項10乃至12のいずれか一項に記載の回路。
【請求項14】
前記第2の線に接続され、前記レベルの増加を実行するように構成された一つ又は複数のランプ発生器(32)を更に備える、請求項10乃至13のいずれか一項に記載の回路。
【請求項15】
前記第3の線に接続された電流-電圧変換器(36)、特にトランスインピーダンス増幅器(8)と、これらの下流に接続された比較器(38)であって、前記トランスインピーダンス増幅器の出力電圧を、前記電流強度しきい値に対応する電圧しきい値と比較するように設定されている、比較器(38)とを更に備える、請求項10乃至14のいずれか一項に記載の回路。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、行列回路によって入力ベクトルを出力ベクトルにマッピングするための方法、及び回路に関する。
【背景技術】
【0002】
多くの計算集約的タスクにおいて、特にニューラル・ネットワークを使用する人工知能アプリケーション又は機械学習アプリケーションでは、ベクトルのスカラー積の決定が必要となる。例えば、「畳み込みニューラル・ネットワーク」(以降CNNと呼ばれる)における畳み込みは、ベクトルのスカラー積である。このようなベクトル演算を迅速且つ効率的に実行するために、特別に設計された回路の形態でベクトル行列乗算器を使用することができる。
【0003】
「ドット積エンジン」としても知られているこれらのベクトル-行列乗算器では、入力電圧のベクトルが出力電圧のベクトルに変換され、直交する線の交点に配置された、交差する線を対で接続するメモリスタの行列配置によって出力電圧のベクトルに変換され、出力電圧はそれぞれ、入力電圧のベクトルと列に配置されたメモリスタの導電率とのスカラー積(「ドット積」)に比例する。入力電圧は、一方向に延びる行線に印加され、メモリスタを介して、接地電位に接続された、行線に直交して延びる列線に電流を流す。電流は、トランスインピーダンス増幅器を使用して出力電圧に変換される。このような回路は、数百又は数千の行及び列のサイズに達することがある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示によると、行列回路によって入力ベクトルを出力ベクトルにマッピングするための方法、及び独立特許請求項の特徴を有する回路が提案される。有利な実施形態は、従属請求項及び以下の説明の主題である。
【課題を解決するための手段】
【0005】
本開示は、入力成分と重み付け成分との積和の指標として、行列回路内の電流の代わりに時間を測定するという手段を利用する。これにより、エネルギー効率の良い動作が可能となる。特に、普通ならば全電流の強度/強さを決定するために使用されるが、典型的にはスペース要件が高く、動作中のエネルギー消費が高い(いずれの場合も、行列回路が使用される回路全体に関して)アナログ-デジタル変換器を省くことができる。
【0006】
詳細には、行列回路は、複数行及び複数列にマトリックス状に配置されたメモリ・セルと、第1、第2及び第3の線とを有し、各行には第1の線のうちの一つが割り当てられ、各列には第2の線のうちの一つ及び第3の線のうちの一つが割り当てられている。
【0007】
各メモリ・セルは、調整可能なメモリ状態を有し、メモリ・セルが位置する行に割り当てられた第1の線と、メモリ・セルが位置する列に割り当てられた第2及び第3の線とに接続されている。各メモリ・セルは、メモリ状態並びに第1、第2、及び第3の線に印加される電圧に応じて、第1の線から第3の線に電流を流すように設定されている。
【0008】
各メモリ・セルは、制御端子を備えた半導体スイッチング素子を有しており、この制御端子は、半導体スイッチング素子が位置する列に割り当てられた第2の線に接続されている。
【0009】
入力ベクトルの成分に対応する入力電圧が第1の線に印加される。各列について、ランプ電圧が、列に割り当てられた第2の線に印加され、ランプ電圧のレベルが時間と共に増加し、全電流が、列に割り当てられた第3の線において検出され、対応するランプ電圧(すなわち、列に割り当てられた第2の線における)のレベルの増加の開始時間から経過した時間が決定され、その時間までに、全電流の強度が特定の電流強度しきい値に達する。更に、経過時間に基づいて、列に対応する出力ベクトルの成分が決定される。
【0010】
特に、半導体スイッチング素子(例えば、強誘電体電界効果トランジスタ)は、調整可能なしきい値電圧を有することができ、メモリ・セルのメモリ状態は、それぞれのしきい値電圧に依存する。半導体スイッチング素子は、例えば、ドレイン接続及びソース接続も有する。ドレイン端子は例えば第1の線に接続されている。ソース端子は例えば第3の線に接続されている。
【0011】
「接続された」という用語は、いずれの場合も、「導電的に接続された」という意味で理解されるべきであり、これによって、追加の抵抗器及び/又はメモリスタがこのような接続部に設けられてもよい。したがって、「電圧(voltage)」及び「電流(current)」という用語は、「電圧(electrical voltage)」及び「電流(electrical current)」をそれぞれ意味する。
【0012】
特に、時間スパンは、経過したクロック・サイクルの数として決定又はカウントすることができる。クロック・サイクルは、例えば、特定の周波数のクロック信号によって与えられる。したがって、行列回路を制御することによって、時間スパンを容易に決定することができる。
【0013】
本開示による回路は、上述の行列回路と、本開示による方法を実行するように設定されたコントローラ又は制御回路とを有する。
【0014】
本開示の更なる利点及び実施形態は、説明及び添付の図面に示される。
【0015】
本開示は、実施形態例によって図面に概略的に示され、図面を参照して以下に説明される。
【図面の簡単な説明】
【0016】
【
図1A】本開示によらないベクトル行列乗算器である。
【
図1B】本開示によらないベクトル行列乗算器である。
【
図2】本開示の例示的な実施形態による行列回路である。
【
図3】行列回路によって入力ベクトルを出力ベクトルにマッピングするための、本開示の一実施形態によるフロー・チャートである。
【発明を実施するための形態】
【0017】
図1A及び
図1Bは、行列回路又は「ドット積エンジン」とも呼ばれる、本開示によらないベクトル行列乗算器の機能原理を示す。ベクトル行列乗算器は、メモリスタ2の形態で行列の行及び列に配置されたメモリ・セルを備える。行の数及び列の数はそれぞれ任意であり、一例として4×4の配列が示されている。メモリスタのメモリ機能は、プログラミング電圧を印加することによってメモリスタの抵抗を調整することができるという事実に起因する。
【0018】
ベクトル行列乗算器はまた、行列配置の各行に対する行線4と、各列に対する列線6とを備える。メモリスタ2は、互いに直交する行線と列線との交点に配置され、それぞれ、他のやり方では接続されていない行線を列線に接続する。
【0019】
電圧が行線に印加されると、電流が、行線4からメモリスタ2を通って列線6に流れる。これは、
図1Bにおいて1列2行について示されている。ここでは、電圧U1が行線の一方に印加され、電圧U2がもう一方に印加されている。一方のメモリスタを流れる電流I1は、その導電率G1によって決定され、I1=G1・U1であり、導電率がG2であるもう一方のメモリスタを流れる電流I2は、対応してI2=G2・U2である。この場合、電流の和、すなわち全電流I=I1+I2=G1・U1+G2・U2が列線6を流れる。ベクトルとして解釈される行線4の電圧U1、U2は、ベクトルとして解釈される列のメモリスタの導電率G1、G2と乗算され、これにより、全電流は、このベクトル積の結果に比例する。したがって、行列配置全体に関して、電圧のベクトルと、行列要素として解釈されるメモリスタの導電率との乗算が原理的に行われる。
【0020】
各列の全電流は、例えば、トランスインピーダンス増幅器8によって出力電圧Uaに変換することができる(
図1B参照)。ここで例として示され、それ自体知られているトランスインピーダンス増幅器8は、反転入力が列線に接続され、非反転入力が接地に接続されている演算増幅器10と、抵抗器12とを備え、この抵抗器12を介して演算増幅器が逆結合(counter-coupled)され、その結果、出力電圧Uaは、Ua=-R・Iとして与えられ、ここで、Rは抵抗器12の抵抗値である。トランスインピーダンス増幅器8は、演算増幅器10の反転入力において、演算増幅器の高い開回路利得(例えば100,000)に起因して接地電位と僅かに(例えば、電圧U1、U2が約5Vの範囲にある場合、約50μVのみ)異なる、いわゆる「仮想接地」を生成し、回路の機能に必要な接地電位(すなわち仮想接地)が列線の端部に存在するようにする。
【0021】
行線の電圧は、典型的には、デジタル-アナログ変換器14を使用してデジタル信号から生成される。同様に、列線の出力電圧、すなわち、トランスインピーダンス増幅器によって生成された電圧Uaは、典型的には、サンプル・アンド・ホールド回路16及びアナログ-デジタル変換器18によってデジタル信号に変換し戻される。サンプル・アンド・ホールド素子16は、アナログ-デジタル変換器18又は複数のアナログ-デジタル変換器18にそれぞれ統合することができる。
【0022】
アナログ-デジタル変換器は、ベクトル行列乗算器が実装されるチップ上にかなりのスペースを必要とし、動作中にかなりのエネルギーを必要とする可能性がある。アナログ-デジタル変換に関連付けられた面積及びエネルギー要件は、それぞれ、回路の総面積要件又は総エネルギー要件の約30~60%の範囲にある可能性がある。
【0023】
図2は、例示的な構成による行列回路を示す。図示された行列回路は、例えば、3行3列を有する。一般に、行列回路は、任意の数の行及び任意の数の列を有することができる。
【0024】
行列回路は、行及び列にマトリックス状に配置されたメモリ・セルを有する。更に、行列回路は、第1の線22、第2の線24、及び第3の線26を有する。各行には、第1の線22のうちの一つが割り当てられ、したがって、第1の線は、行線と見なすことができる。各列には、第2の線24のうちの一つ及び第3の線26のうちの一つが割り当てられ、したがって、第2及び第3の線は、列線と見なすことができる。各メモリ・セルは、メモリ・セルが位置する行に割り当てられた第1の線に接続されている。更に、各メモリ・セルは、メモリ・セルが位置する列に割り当てられた第2及び第3の線に接続されている。
【0025】
各メモリ・セルは、制御端子(ゲート端子)、ドレイン端子、及びソース端子を有する半導体スイッチング素子28を備える。ドレイン端子は、半導体スイッチング素子28を有するメモリ・セルが位置する行に割り当てられた第1の線22に接続されている。制御端子は、半導体スイッチング素子28を有するメモリ・セルが位置する列に割り当てられた第2の線24に接続されている。ソース端子は、半導体スイッチング素子28を有するメモリ・セルが位置する列に割り当てられた第3の線26に接続されている。
【0026】
図示する実施形態では、半導体スイッチング素子28は、調整可能又はプログラム可能なしきい値電圧を有する半導体スイッチング素子である。メモリ・セルの異なるメモリ状態は、異なるプログラムされたしきい値電圧に対応する。特に、強誘電体電界効果トランジスタ(FeFET)を使用することができる。フローティング・ゲート金属酸化物半導体電界効果トランジスタ(FGMOS)を使用することもできる。FETの対応する材料層、例えばFeFETにおける強誘電体層又はFGMOSにおけるフローティング・ゲートは、記憶状態のためのメモリとして機能する。メモリ状態は、FeFETの強誘電体層の分極又はFGMOSのフローティング・ゲートの電荷に対応する。
【0027】
第2の線の電圧が、メモリ・セル又は半導体スイッチング素子の設定しきい値電圧を下回っている場合には、電流は流れないか、又は非常に僅かな電流しか流れない(阻止領域又は線形領域)。第2の線の電圧が設定されたしきい値電圧を上回る(例えば、飽和領域にある)場合は、電流は、半導体スイッチング素子を通って対応する第3の線に流れ込む。
【0028】
図示したメモリ・セルは、いわゆる1Tメモリ・セル(1トランジスタ)である。半導体スイッチング素子及び抵抗器を含むいわゆる1T1Rメモリ・セル、又は半導体スイッチング素子及びメモリスタを含むいわゆる1T1Mメモリ・セルの使用も考えられる。この場合、抵抗器又はメモリスタは、半導体スイッチング素子と線との間の接続部のうちの一つ、すなわち、ドレイン端子と第1の線との間、制御端子と第2の線との間、又はソース端子と第3の線との間の接続部のうちの一つに設けられる。1T1Rメモリ・セルでは、半導体スイッチング素子は、図示する実施形態のように、プログラム可能なしきい値電圧を有する。1T1Mメモリ・セルでは、半導体スイッチング素子は、プログラム可能なしきい値電圧なしで設けることができ、異なるメモリ状態は、メモリスタの異なる(プログラムされた)抵抗値に対応する。あるいは、プログラム可能なしきい値電圧を有する半導体スイッチング素子を1T1Mメモリ・セルに設けることができる。この場合、異なるメモリ状態を得るために、半導体スイッチング素子のしきい値電圧及びメモリスタの抵抗値の両方をプログラムすることができる。
【0029】
メモリ・セルのプログラミング、すなわち、メモリ・セルの特定のメモリ状態の設定又はプログラミングは、プログラミング電圧(典型的には、読み出し中に使用される電圧よりも高い)を印加することによってすべての場合(メモリスタ、半導体スイッチング素子、...)で行うことができる。この目的のために、図示する行線若しくは列線及び/又は別のプログラミング線(図示せず)を使用することができる。
【0030】
図1A、
図1Bのベクトル-行列乗算器と同様に、入力ベクトルの成分(入力成分)に対応する電圧又は入力電圧U1、U2、U3を第1の線22に印加するように設定されたデジタル-アナログ変換器30を設けることができる。こうして、入力電圧が半導体スイッチング素子28のドレイン端子に印加される。
【0031】
行列回路は、ランプ電圧と呼ばれる電圧V1、V2、V3を第2の線24に生成又は印加するように設定されたランプ発生器32を備えることができる。こうして、ランプ電圧が半導体スイッチング素子の制御端子に印加される。ランプ電圧は、そのレベルが時間と共に上昇又は増加するように、すなわち、ランプ電圧のレベルが開始点から開始して時間と共に増加するように、ランプ発生器32によって生成される。レベルの増加は、開始点から、例えば直線的に、一定の増加率で行うことができ、レベルの増加は、連続的に又は徐々に行うことができる。開始時間は、行列回路のコントローラ(図示せず)によって、例えば、制御線を介して送信される開始信号によって、ランプ発生器32に指定することができる。レベルの増加のスルー・レートは、例えば制御線を介して、例えばコントローラによって調整可能とすることができる。ランプ電圧のレベルは、ゼロに等しい(すなわち、接地レベルに等しい)開始レベルから開始して、又はゼロとは異なる(特に、ゼロよりも大きい)開始レベルから開始して増加させることができる。開始レベルは、例えば制御線を介して、例えば制御システムによって調整可能とすることができる。
【0032】
入力電圧U1、U2、U3のレベル、ランプ電圧V1、V2、V3、及びプログラムされたメモリ状態に応じて、すなわち、図示された半導体スイッチング素子28の図において、電流I1、I2、I3(一つの列について例として示されている)が、メモリ・セル又は半導体スイッチング素子28を通って(第1の線22から)第3の線26に伝導される。したがって、第3の線26の端部では、全電流、すなわち、(
図1A、
図1Bのベクトル行列乗算器と同様に)第3の線に接続されたメモリ・セルによって第3の線に伝導された個々の電流の合計が流れる。
【0033】
ランプ電圧V1、V2、V3のレベルの増加に起因して、電流I1、I2、I3の強度が増加し、したがって、第3の線の端部での全電流が増加する。これは、
図341、342、343に示されている。プログラムされたメモリ状態(半導体スイッチング素子のしきい値電圧)が異なること及び入力電圧U1、U2、U3が異なるため、全電流の強度の増加は、一般的に、異なる第3の線26に対して異なる速度で生じる。全電流の強度の増加は、図示された図では例示的に線形である。一般的に、全電流の強度は、非線形に増加することもできる。
【0034】
各第3の線26について、それぞれの第3の線における全電流の強度が特定の電流強度しきい値Ig(対応する水平線として図に示される)に達するか又はそれを超えるまでに経過した時間t1、t2、t3を決定することが意図されている。特定の電流しきい値は、第3の線すべてに対して同じである。電流しきい値は、(例えば、制御システムによって)調整可能又は事前設定可能とすることができる。時間スパンは、例えば行列回路の制御によって、例えばクロック・サイクル数として簡単に測定することができる。アナログ-デジタル変換器は不要であり、それに応じて、関連付けられたスペース要件及び動作中のエネルギー消費が排除される。
【0035】
電流強度しきい値に達するか又はそれを超える時点を認識するために、特に、電流-電圧変換器36及びその下流に接続された比較器38を使用することができる。電流-電圧変換器36(例えば、
図1Bのようなトランスインピーダンス増幅器)は、比例係数に従って第3の線の全電流の強度に比例する電圧を生成する。電流-電圧変換器36によって生成された電圧は、比較器38によって、比例係数を考慮して、特定の電流強度しきい値Igに対応する特定の電圧しきい値Vgと比較される。したがって、
図341、342、342は、決定された電圧しきい値Vgに対応して水平線が描かれた電圧図として理解することもできる。
【0036】
こうして、比較器38の出力信号は、電圧しきい値Vgに達するか又はそれを超える時点を示し、この時点は、第3線の電流しきい値Igに達するか又はそれを越える時点に等しい。比較器の出力信号は、例えば適切な信号線によって、行列回路のコントローラによって検出することができる。比較器電圧、すなわち電圧しきい値に対応する電圧は、適切な制御線を介してコントローラによって比較器に供給することもできる。
【0037】
出力ベクトルの成分(出力成分とも呼ばれる)は、時間スパンに従って決定される。各第3の線は、出力ベクトルの成分の一つに対応し、出力ベクトルの成分の値は、対応する時間スパンの関数として、特に、定数と時間スパンとの積として決定される。したがって、全体として、行は入力ベクトルの成分に対応し、列は出力ベクトルの成分に対応する。入力ベクトルの対応する成分に対応する入力電圧が、(それぞれの行に割り当てられた)第1の線に印加される。出力ベクトルの対応する成分は、(それぞれの列に割り当てられた)第3の線で決定された経過時間スパンから決定される。
【0038】
特に、ある列において、すなわちその列に割り当てられた第3の線26において、電流強度しきい値又は電圧しきい値に達すると、この列での、すなわちその列に割り当てられた第2の線24でのランプ電圧のレベルの増加が終了する。これは、不必要なエネルギー消費を回避するため有用である。
図2は、時間t1、t2、t3が経過したときのランプ発生器32におけるレベルの増加の対応する終了を示す。対応する終了信号は、コントローラからランプ発生器に(例えば、制御線を介して)送信することができる。
【0039】
行列回路は三つの異なる領域、すなわち、しきい値電圧未満の領域、しきい値電圧を超える領域、混合領域で動作させることができる。行列回路が動作する領域は、半導体スイッチング素子の入力電圧及びしきい値電圧が与えられると(これらのプログラミングに従って)、ランプ電圧のレベルによって決定される。
【0040】
しきい値電圧未満の領域、すなわち、すべての半導体スイッチング素子の制御接続部における電圧(ランプ電圧)がそれぞれのしきい値電圧未満の領域では、半導体スイッチング素子は、高い抵抗値を有するインピーダンスを表す。この領域での動作は、非常に低いエネルギー消費での動作を可能にする。
【0041】
制御接続部の電圧が高くなると、半導体スイッチング素子の一部は、そのプログラミングに応じて、そのしきい値電圧を超えて動作することがある。この混合領域では、対応する第3の線又は行列回路の電流の流れが増加する。混合領域では、高い電流ダイナミクスがあり、すなわち、半導体素子の導電性記憶状態(例えば、1の重みに対応する)と半導体素子の非導電性記憶状態(例えば、0の重みに対応する)との間の電流強度の差が数桁異なる。これにより、より大きな行列回路、すなわち行又は列の数が多い行列回路が可能になる。
【0042】
しきい値電圧を超える領域では、すなわち、半導体スイッチング素子が飽和領域になるように、制御端子の電圧がしきい値電圧を超える領域では、半導体スイッチング素子は、電圧制御電流源となる。この領域では、第3の線の電流が増加し、入力電圧への依存度が低くなる。この領域は、入力電圧がゼロに等しいか又は所定の非ゼロ電圧に等しいバイナリ入力ベクトルに使用することができる。電流が大きいため、この領域は電磁干渉の影響を受けにくい。
【0043】
ランプ電圧(すなわち、その開始レベル及び/又はそのスルー・レート)と電流しきい値又は電圧しきい値は両方とも、特にコントローラによって調整可能であるため、これらの変数を適宜設定することによって、三つの領域のうちの一つを、特に適切な制御によって、例えば使用目的に応じて選択することができる。
【0044】
図3は、行列回路を使用して入力ベクトルを出力ベクトルにマッピングするための方法の一実施形態によるフロー・チャートを示す。これらのステップは、
図2に関連して既に説明したステップに本質的に対応する。
【0045】
ステップ100において、メモリ・セル、例えば、調整可能又はプログラム可能なしきい値電圧を有する半導体スイッチング素子のメモリ状態が設定又はプログラムされる。これは、特に、所与の(重み)行列の行列要素に従って行われる。行列要素は、例えば、行列の行及び列に従って行列回路のメモリ要素に割り当てられる。
【0046】
ステップ110において、電圧又は入力電圧が第1の線(ライン線)に印加される。入力電圧の高さ又はレベルは、入力ベクトルのそれぞれの成分に対応する。例えば、入力ベクトルの成分は、入力電圧を得るために、適切な比例係数が(例えば、
図2のデジタル-アナログ変換器によって、例えば、デジタル-アナログ変換中に暗黙的に)乗算される。
【0047】
ステップ120において、例えば、所定の開始レベル(0V又は0Vとは異なる)で開始時間に、ランプ電圧が第2の線に印加される。
【0048】
ステップ130において、ランプ電圧を、例えば、連続的に又は所定の増加率で段階的に増加させる。
【0049】
ステップ140において、第3の線は、所定の電流しきい値に対応する全電流に達したかどうかを確認するためにチェックされる。これが当てはまらない第3の線については、プロセスはステップ130に進み、ランプ電圧を増加させる。
【0050】
ステップ150において、電流レベルしきい値に達したか又はそれを超えた第3の線について、ランプ電圧のレベルの増加の開始からの、例えば開始時間からの経過時間が決定され、例えばクロック・サイクルで測定される。
【0051】
ステップ150の前に、又はステップ150と少なくとも部分的に並行して行うこともできる任意選択のステップ160では、電流レベルしきい値に達したか又はそれを超えた第3の線について、それぞれのランプ電圧のレベルの増加が終了し、及び/又は対応する第2の線(すなわち、電流レベルしきい値に達したか又はそれを超えた第3の線と同じ列に割り当てられた第2の線)へのランプ電圧の印加が終了する(すなわち、第2の線の電圧が接地電位に対応する0Vに変化する)。
【0052】
ステップ130、140、150、及び必要に応じて160は、すべての第3の線で電流しきい値に達するまで行うことができ、あるいは一つ又は複数の第3の線について電流しきい値に達しない場合は、ランプ電圧が上限に達するまで行うことができる。
【0053】
第3の線が電流しきい値に達した列について、ステップ150の後に行われることがあるステップ170において、決定された経過時間スパンが、例えば、適切な比例係数を乗算することによって出力ベクトルの対応する成分に変換される。任意選択で、一つ又は複数の第3の線について電流しきい値に達しない前述の場合には、出力ベクトルの対応する成分を、ランプ電圧が上限に達するまでの経過時間に対応する値、又は所定のエラー値若しくはオーバーフロー値に設定することができる。
【0054】
資金援助及び支援に関する情報
本出願につながるプロジェクトは、助成金契約第826655号の下でECSEL共同事業(JU)からの資金援助を受けている。JUは、欧州連合のHorizon 2020研究・イノベーションプログラム及びベルギー、フランス、ドイツ、オランダ、スイスからの支援を受けている。
【符号の説明】
【0055】
2 メモリスタ
4 行線
6 列線
8 トランスインピーダンス増幅器
10 演算増幅器
12 抵抗器
14 アナログ変換器
16 サンプル・アンド・ホールド回路
18 アナログ-デジタル変換器
22 第1の線
24 第2の線
26 第3の線
28 半導体スイッチング素子
30 デジタル-アナログ変換器
32 ランプ発生器
36 電流-電圧変換器
38 比較器
G1 導電率
G2 導電率
I 全電流
I1 電流
I2 電流
I3 電流
Ig 電流しきい値
U1 入力電圧
U2 入力電圧
U3 入力電圧
Ua 出力電圧
V1 ランプ電圧
V2 ランプ電圧
V3 ランプ電圧
Vg 電圧しきい値
【外国語明細書】