(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-05
(45)【発行日】2024-12-13
(54)【発明の名称】シナプス回路の駆動方法
(51)【国際特許分類】
G06N 3/063 20230101AFI20241206BHJP
G06N 3/049 20230101ALI20241206BHJP
G11C 11/16 20060101ALI20241206BHJP
G11C 11/54 20060101ALI20241206BHJP
H01L 29/82 20060101ALI20241206BHJP
H10B 10/00 20230101ALI20241206BHJP
H10B 61/00 20230101ALI20241206BHJP
H10N 50/20 20230101ALI20241206BHJP
【FI】
G06N3/063
G06N3/049
G11C11/16 240
G11C11/16 260
G11C11/54
H01L29/82 Z
H10B10/00
H10B61/00
H10N50/20
(21)【出願番号】P 2021551453
(86)(22)【出願日】2020-10-01
(86)【国際出願番号】 JP2020037440
(87)【国際公開番号】W WO2021066100
(87)【国際公開日】2021-04-08
【審査請求日】2023-09-29
(31)【優先権主張番号】P 2019182549
(32)【優先日】2019-10-02
(33)【優先権主張国・地域又は機関】JP
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成28年度、国立研究開発法人科学技術振興機構、研究成果展開事業 産学共創プラットフォーム共同研究推進プログラム、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】504157024
【氏名又は名称】国立大学法人東北大学
(74)【代理人】
【識別番号】110002675
【氏名又は名称】弁理士法人ドライト国際特許事務所
(72)【発明者】
【氏名】馬 奕涛
(72)【発明者】
【氏名】遠藤 哲郎
【審査官】坂庭 剛史
(56)【参考文献】
【文献】国際公開第2013/111200(WO,A1)
【文献】米国特許出願公開第2018/0107922(US,A1)
【文献】国際公開第2019/189895(WO,A1)
【文献】田中秀樹、森江 隆、合原一幸,STDPを有するCMOSスパイキングニューラルネットワークLSIの評価,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2007年11月11日,Vol.107,No.328,pp.37-42,ISSN 0913-5685
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/063
G06N 3/049
G11C 11/16
G11C 11/54
H01L 29/82
H10B 10/00
H10B 61/00
H10N 50/20
(57)【特許請求の範囲】
【請求項1】
第1結合荷重または第2結合荷重のいずれか一方をシナプス結合荷重として記憶する荷重記憶部を有し、プレニューロン回路とポストニューロン回路との間に接続され、前記プレニューロン回路から入力されるプレスパイクパルスに前記シナプス結合荷重で重み付けをした重み付けプレスパイクパルスを前記ポストニューロン回路に出力するとともに、前記プレスパイクパルスと前記ポストニューロン回路が出力するポストスパイクパルスの先後及びパルス時間差に基づいて前記シナプス結合荷重を書き込むシナプス回路の駆動方法において、
前記プレニューロン回路と前記ポストニューロン回路とのいずれか一方から、前記プレスパイクパルスが前記ポストスパイクパルスに対して先行する場合についての、前記荷重記憶部に前記シナプス結合荷重の書き込みを許容する第1時間窓を規定する第1時間窓パルスを前記シナプス回路に入力し、他方から前記荷重記憶部
の前記シナプス結合荷重の書き込みタイミングとなる、パルス幅が前記第1時間窓パルスよりも短い第1書き込みパルスを前記シナプス回路に入力し、
前記プレニューロン回路と前記ポストニューロン回路とのいずれか一方から、前記ポストスパイクパルスが前記プレスパイクパルスに対して先行する場合についての、前記荷重記憶部に前記シナプス結合荷重の書き込みを許容する第2時間窓を規定する第2時間窓パルスを前記シナプス回路に入力し、他方から前記荷重記憶部
の前記シナプス結合荷重の書き込みタイミングとなる、パルス幅が前記第2時間窓パルスよりも短い第2書き込みパルスを前記シナプス回路に入力し、
前記第1時間窓パルスと前記第1書き込みパルスとが同時に前記シナプス回路に入力されているとき、及び前記第2時間窓パルスと前記第2書き込みパルスとが同時に前記シナプス回路に入力されているときに前記荷重記憶部が書き込み動作を行う
ことを特徴とするシナプス回路の駆動方法。
【請求項2】
前記ポストニューロン回路から、前記ポストスパイクパルスに同期させて前記第2時間窓パルスを出力するとともに、前記ポストスパイクパルスを前記第1書き込みパルスとして前記シナプス回路に入力し、
前記プレニューロン回路から、前記プレスパイクパルスに同期させて前記第1時間窓パルスを出力するとともに、前記プレスパイクパルスを前記第2書き込みパルスとして前記シナプス回路に入力する
ことを特徴とする請求項1に記載のシナプス回路の駆動方法。
【請求項3】
前記ポストニューロン回路によって書き込む前記シナプス結合荷重に対応した電位とされるビット線が前記荷重記憶部に接続されており、
前記プレニューロン回路から前記プレスパイクパルスに同期させて前記第1時間窓パルス及び前記第2時間窓パルスとなる1個の共通時間窓パルスを出力し、
前記ポストニューロン回路により、
前記第1書き込みパルスとして、前記ポストスパイクパルスに同期させて、前記ビット線の電位を前記第1結合荷重に対応した第1電位にパルス状に変化させ、この第1電位への変化から前記共通時間窓パルスで規定する時間窓の長さの経過後に、前記第2書き込みパルスとして、前記ビット線の電位を前記第2結合荷重に対応した第2電位にパルス状に変化させる
ことを特徴とする請求項1に記載のシナプス回路の駆動方法。
【請求項4】
前記ポストニューロン回路によって書き込む前記シナプス結合荷重に対応した電位とされるビット線が前記荷重記憶部に接続されており、
前記ポストニューロン回路により、前記プレスパイクパルスに同期させて前記ビット線の電位を前記第1結合荷重に対応した第1電位にパルス状に変化させることで前記第1時間窓パルスを前記シナプス回路に入力してから、前記ビット線の電位を前記第2結合荷重に対応した第2電位にパルス状に変化させることで前記第2時間窓パルスを前記シナプス回路に入力し、
前記プレニューロン回路
から、前記第1書き込みパルス及び前記第2書き込みパルスとなる1個の共通書き込みパルスを前記プレスパイクパルスから遅延させて出力する
ことを特徴とする請求項1に記載のシナプス回路の駆動方法。
【請求項5】
前記シナプス回路は、前記荷重記憶部を複数有し、
前記荷重記憶部の各々に対して、前記プレスパイクパルスから互いに異なる遅延時間で遅延させた前記共通書き込みパルスを入力し、前記ポストスパイクパルスの先後及び前記パルス時間差に基づいて、前記第1結合荷重及び前記第2結合荷重を書き込む前記シナプス回路内の前記荷重記憶部の個数を変化させる
ことを特徴とする請求項4に記載のシナプス回路の駆動方法。
【請求項6】
前記共通書き込みパルスの各々の遅延時間及び前記シナプス回路内の各遅延時間に対応する前記荷重記憶部の個数を予め設定することを特徴とする請求項5に記載のシナプス回路の駆動方法。
【請求項7】
1個の前記荷重記憶部に対する1回の前記シナプス結合荷重の書き込みの際に、前記第1書き込みパルス及び前記第2書き込みパルスをそれぞれ前記シナプス回路に複数回入力することを特徴とする請求項1ないし3のいずれか1項に記載のシナプス回路の駆動方法。
【請求項8】
1個の前記荷重記憶部に対する1回の前記シナプス結合荷重の書き込みの際に、前記共通書き込みパルスをそれぞれ前記シナプス回路に複数回入力することを特徴とする請求項4または5に記載のシナプス回路の駆動方法。
【請求項9】
前記荷重記憶部は、クロスカップルされ、それぞれが直列接続されたインバータ用MOSトランジスタと磁気トンネル接合素子とからなる一対のインバータを有し、
前記プレスパイクパルスの入力に応答して、前記一対のインバータを作動させ、前記一対のインバータのうちの一方のインバータの出力端の電位に基づいて前記重み付けプレスパイクパルスを出力し、
書き込み動作の際に、前記シナプス結合荷重に基づいた書き込み電流を前記一対のインバータの各々の前記磁気トンネル接合素子にそれぞれ流し、前記磁気トンネル接合素子を互いに異なる磁化状態にする
ことを特徴とする請求項1に記載のシナプス回路の駆動方法。
【請求項10】
前記荷重記憶部は、磁気トンネル接合素子の磁化状態により、前記シナプス結合荷重を不揮発的に記憶し、
前記プレスパイクパルスの入力に応答して、電源線と前記磁気トンネル接合素子とを接続することにより、磁化状態に応じた前記重み付けプレスパイクパルスを出力することを特徴とする請求項1に記載のシナプス回路の駆動方法。
【請求項11】
プレスパイクパルスを出力するプレニューロン回路と、
ポストスパイクパルスを出力するポストニューロン回路と
第1結合荷重または第2結合荷重のいずれか一方をシナプス結合荷重として記憶する荷重記憶部を有し、前記プレニューロン回路と前記ポストニューロン回路との間に接続され、前記プレスパイクパルスに前記シナプス結合荷重で重み付けをした重み付けプレスパイクパルスを前記ポストニューロン回路に出力するとともに、前記プレスパイクパルスと前記ポストスパイクパルスの先後及びパルス時間差に基づいて前記シナプス結合荷重を書き込むシナプス回路と
前記プレスパイクパルスが前記ポストスパイクパルスに対して先行する場合についての、前記荷重記憶部に前記シナプス結合荷重の書き込みを許容する第1時間窓を規定する第1時間窓パルスを前記シナプス回路に入力する第1のパルス発生器と、
前記荷重記憶部の前記シナプス結合荷重の書き込みタイミングとなる、パルス幅が前記第1時間窓パルスよりも短い第1書き込みパルスを前記シナプス回路に入力する第2のパルス発生器と、
前記ポストスパイクパルスが前記プレスパイクパルスに対して先行する場合についての、前記荷重記憶部に前記シナプス結合荷重の書き込みを許容する第2時間窓を規定する第2時間窓パルスを前記シナプス回路に入力する第3のパルス発生器と、
前記荷重記憶部の前記シナプス結合荷重の書き込みタイミングとなる、パルス幅が前記第2時間窓パルスよりも短い第2書き込みパルスを前記シナプス回路に入力する第4のパルス発生器と、
を備え、
前記プレニューロン回路と前記ポストニューロン回路とのいずれか一方に前記第1のパルス発生器が、他方に前記第2のパルス発生器がそれぞれ設けられ、
前記プレニューロン回路と前記ポストニューロン回路とのいずれか一方に前記第3のパルス発生器が、他方に前記第4のパルス発生器がそれぞれ設けられ、
前記シナプス回路は、前記第1時間窓パルスと前記第1書き込みパルスとが同時に入力されているとき、及び前記第2時間窓パルスと前記第2書き込みパルスとが同時に入力されているときに前記荷重記憶部への前記シナプス結合荷重の書き込み動作を行う
ことを特徴とするニューラルネットワーク回路装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シナプス回路の駆動方法に関する。
【背景技術】
【0002】
生体の脳の仕組みをモデルにしてコンピュータ上で情報処理を行うニューラルネットワークが知られている。また、ニューラルネットワークを、半導体素子等を用いて実現すべく、その構成素子及び回路に関する研究が進められている。ニューラルネットワーク回路装置は、種々のモデルが提案されている。例えば1つのモデルでは、ニューロン同士をシナプス回路を介して結合し、そのシナプス回路に結合の強さを表すシナプス結合荷重を持たせ、1つのニューロンが他のニューロンから入力されるパルスの電圧と結合荷重との積算値が所定の閾値に達したときに、当該ニューロンが発火し、次のニューロンにパルスを伝達するものがある。
【0003】
ニューラルネットワークでは、シナプス回路にシナプス結合荷重を記憶する場合に、例えばスパイクタイミング依存シナプス可塑性(Spike Timing Dependent Synaptic Plasticity(以下、STDPという))を有するシナプスモデルにもとづいた学習を行う。このSTDPでは、シナプス回路の前段に接続されているプレニューロン回路からのパルスと、後段に接続されているポストニューロン回路からのパルスとの時間差に基づいたシナプス結合荷重をシナプス回路に記憶させる。
【0004】
一方、不揮発性の記憶素子として、例えば電界誘起巨大抵抗変化により電気抵抗が変化する抵抗変化型記憶素子を備えたReRAM(Resistive Random Access Memory)、相変化メモリ(Phase Change Random Access Memory)等が知られている。このような不揮発性の記憶素子にシナプス結合荷重を記憶させるニューラルネットワーク回路装置が知られている(例えば、非特許文献1~3を参照)。
【先行技術文献】
【非特許文献】
【0005】
【文献】G. W. Burr, P. Narayanan, R. M. Shelby, S. Sidler, I. Boybat, C. di Nolfo, and Y. Leblebici, IEDM, pp. 4.4.1-4.4.4, 2015.
【文献】M. Chu; B. Kim; S. Park; H. Hwang; M. Jeon; B.-H. Lee; B.-G. Lee, IEEE Trans. IE, Vol. 62, Issue 4, pp. 2410-2419, 2015.
【文献】S. P. Adhikari; H. Kim; R. K. Budhathoki; C. Yang; L. O. Chua, IEEE Trans. CAS, Vol. 62, Issue 1, pp. 215-223, 2015.
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記のように、STDPに基づく学習を行う場合、各パルスの先後及び時間差に応じてシナプス回路のシナプス結合荷重の書き込みを行う必要があるが、そのための制御が複雑になり、消費電力の上昇や回路の大規模化を招く等の問題があった。このため、シナプス結合荷重を記憶させるための簡単化された駆動方法が望まれている。
【0007】
本発明は、上記事情を鑑みてなされたものであり、簡単化されたシナプス回路の駆動方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明は、第1結合荷重または第2結合荷重のいずれか一方をシナプス結合荷重として記憶する荷重記憶部を有し、プレニューロン回路とポストニューロン回路との間に接続され、前記プレニューロン回路から入力されるプレスパイクパルスに前記シナプス結合荷重で重み付けをした重み付けプレスパイクパルスを前記ポストニューロン回路に出力するとともに、前記プレスパイクパルスと前記ポストニューロン回路が出力するポストスパイクパルスの先後及びパルス時間差に基づいて前記シナプス結合荷重を書き込むシナプス回路の駆動方法において、前記プレニューロン回路と前記ポストニューロン回路とのいずれか一方から、前記プレスパイクパルスが前記ポストスパイクパルスに対して先行する場合についての、前記荷重記憶部に前記シナプス結合荷重の書き込みを許容する第1時間窓を規定する第1時間窓パルスを前記シナプス回路に入力し、他方から前記荷重記憶部に前記シナプス結合荷重の書き込みタイミングとなる、パルス幅が前記第1時間窓パルスよりも短い第1書き込みパルスを前記シナプス回路に入力し、前記プレニューロン回路と前記ポストニューロン回路とのいずれか一方から、前記ポストスパイクパルスが前記プレスパイクパルスに対して先行する場合についての、前記荷重記憶部に前記シナプス結合荷重の書き込みを許容する第2時間窓を規定する第2時間窓パルスを前記シナプス回路に入力し、他方から前記荷重記憶部に前記シナプス結合荷重の書き込みタイミングとなる、パルス幅が前記第2時間窓パルスよりも短い第2書き込みパルスを前記シナプス回路に入力し、前記第1時間窓パルスと前記第1書き込みパルスとが同時に前記シナプス回路に入力されているとき、及び前記第2時間窓パルスと前記第2書き込みパルスとが同時に前記シナプス回路に入力されているときに前記荷重記憶部が書き込み動作を行うものである。
【発明の効果】
【0009】
本発明によれば、ポストスパイクパルスがプレスパイクパルスに対して先行する場合及びプレスパイクパルスがポストスパイクパルスに対して先行する場合の各々について、プレニューロン回路とポストニューロン回路とのいずれか一方からシナプス結合荷重の書き込みを許容する時間窓パルスをシナプス回路に入力し、他方から荷重記憶部にシナプス結合荷重の書き込みタイミングとなる短い書き込みパルスをシナプス回路に入力するようにして、これらが同時にシナプス回路に入力されているとき荷重記憶部が書き込み動作を行うようにしたので、STDPに基づくシナプス結合荷重を記憶させるための駆動を簡単化することができる。
【図面の簡単な説明】
【0010】
【
図1】第1実施形態のニューラルネットワーク回路装置の概略を示すブロック図である。
【
図2】第1ポストスパイクパルスと第1プレスパイクパルスとのパルス時間差ΔTと結合荷重の関係を示すグラフである。
【
図4】ニューロン回路の本体部の要部構成の一例を示すブロック図である。
【
図5】認知モードにおける各種信号を示すタイミングチャートである。
【
図6】第1プレスパイクパルスが先行する場合の学習モードにおける各種信号を示すタイミングチャートである。
【
図7】第1ポストスパイクパルスが先行する場合の学習モードにおける各種信号を示すタイミングチャートである。
【
図8】第2実施形態のニューラルネットワーク回路装置の概略を示すブロック図である。
【
図9】第2実施形態のシナプス回路の構成を示す回路図である。
【
図10】第2実施形態における第1プレスパイクパルスが先行する場合の学習モードでの各種信号を示すタイミングチャートである。
【
図11】第2実施形態における第1ポストスパイクパルスが先行する場合の学習モードでの各種信号を示すタイミングチャートである。
【
図12】第3実施形態における第1プレスパイクパルスが先行する場合の学習モードでの各種信号を示すタイミングチャートである。
【
図13】第3実施形態における第1ポストスパイクパルスが先行する場合の学習モードでの各種信号を示すタイミングチャートである。
【
図14】シナプス回路を複数の荷重記憶部で構成する第4実施形態の要部構成を示すブロック図である。
【
図15】第4実施形態における学習モードでの各種信号を示すタイミングチャートである。
【
図16】1個のMTJ素子を用いた荷重記憶部の例を示す回路図である。
【
図17】3端子型のMTJ素子を用いた荷重記憶部の例を示す回路図である。
【
図18】荷重記憶部をSRAM構成とした例を示す回路図である。
【
図19】荷重記憶部をSRAM構成とした別の例を示す回路図である。
【
図20】重み付けプレスパイクパルスとして電流信号を出力する例を示す回路図である。
【
図21】選択信号が入力される荷重記憶部が重み付けプレスパイクパルスとして電流信号を出力する例を示す回路図である。
【
図22】1個のMTJ素子を用いた荷重記憶部が重み付けプレスパイクパルスとして電流信号を出力する例を示す回路図である。
【
図23】3端子型のMTJ素子を用いた荷重記憶部が重み付けプレスパイクパルスとして電流信号を出力する例を示す回路図である。
【
図24】SRAM構成とした荷重記憶部が重み付けプレスパイクパルスとして電流信号を出力する例を示す回路図である。
【
図25】SRAM構成とした荷重記憶部が重み付けプレスパイクパルスとして電流信号を出力する別の例を示す回路図である。
【発明を実施するための形態】
【0011】
[第1実施形態]
図1において、第1実施形態に係るニューラルネットワーク回路装置10は、複数のシナプス回路11がマトリクス状に配列されている。各シナプス回路11は、荷重記憶部14と選択部15とをそれぞれ有している。また、ニューラルネットワーク回路装置10には、複数のニューロン回路17が設けられており、各々のニューロン回路17に対応して複数のシナプス回路11が設けられている。この例では、シナプス回路11の各列16に、その列方向(
図1の上下方向)の端部にニューロン回路17がそれぞれ設けられており、1個のニューロン回路17に1列分のシナプス回路11が対応する。ニューロン回路17は、本体部18とビット線ドライバ19とを有している。
【0012】
シナプス回路11の各列16に対応して、列方向にビット線BL、BLB、第1ポストスパイク線POLa、第2ポストスパイク線POLbがそれぞれ延設されている。ビット線BL、BLBは、それが対応する列16内の各荷重記憶部14及びビット線ドライバ19に接続されている。第1ポストスパイク線POLa、第2ポストスパイク線POLbは、それが対応する列16内の各選択部15及び本体部18に接続されている。また、荷重記憶部14ごとに出力線OLが設けられており、各荷重記憶部14は、それが配された列16内のニューロン回路17の本体部18と出力線OLによってそれぞれ接続されている。
【0013】
また、シナプス回路11の各行に対応して、行方向(図中左右方向)に、荷重記憶部14に電源電圧を供給する電源線PL、接地されたソース線SL、プレスパイク線PrL、ワード線WLがそれぞれ延設されている。電源線PL、ソース線SL、プレスパイク線PrLは、対応する行内の各荷重記憶部14にそれぞれ接続されている。また、プレスパイク線PrL、ワード線WLは、対応する行内の各選択部15にそれぞれ接続されている。電源線PLから供給される電圧は、後述するようにビット線BLとビット線BLBとの間に発生させるビット線電位差ΔVBの大きさの半分(=|ΔVB|/2)程度である。前段部20には、行ごとに入力回路20aが設けられている。各行のプレスパイク線PrLは、インバータ20bを介して入力回路20aに接続され、ワード線WLは、入力回路20aに直接に接続されている。
【0014】
ニューラルネットワーク回路装置10は、スパイクタイミング依存シナプス可塑性(Spike Timing Dependent Synaptic Plasticity(以下、STDPという))を有するシナプスのモデルを参考にしている。ニューラルネットワーク回路装置10における入力回路20aは、プレニューロン回路として設けられており、プレニューロンに相当する。また、ニューロン回路17は、ポストニューロン回路として設けられており、ポストニューロンに相当する。入力回路20aは、プレスパイクパルスとしての第1プレスパイクパルスを、またニューロン回路17は、ポストスパイクパルスとしての第1ポストスパイクパルスをそれぞれ出力する。第1プレスパイクパルスは、プレニューロンの発火タイミングに相当するタイミングで出力されるものであり、第1ポストスパイクパルスは、ポストニューロンの発火タイミングに相当するタイミングで出力されるものである。また、シナプス回路11は、プレニューロンとポストニューロンとをシナプス結合するシナプスにそれぞれ相当し、シナプス結合荷重(以下、単に結合荷重という)を記憶している。
【0015】
上記STDPは、1つのシナプスに着目した場合に、そのシナプスの前後に接続されたプレニューロン及びポストニューロンがそれぞれ発火してスパイクパルスを出力するタイミングに依存して、プレニューロンとポストニューロンの間に位置するシナプスとの結合荷重が変化する性質である。ニューラルネットワーク回路装置10では、第1プレスパイクパルスが第1ポストスパイクパルスに先行する場合及び後行する場合のそれぞれにおいて、第1ポストスパイクパルスと第1プレスパイクパルスとのパルス時間差ΔTが予め設定した規定時間Tw内である場合にシナプス回路11の結合荷重を更新する。この例では、シナプス回路11は、第1プレスパイクパルスと第1ポストスパイクパルスのうち前者が先行する場合に、結合荷重として第1結合荷重を、後者が先行する場合に、結合荷重として第2結合荷重を記憶する。
【0016】
なお、以下の説明では、パルス時間差ΔTを第1ポストスパイクパルスと第1プレスパイクパルスとの時間差の大きさとするが、正負を区別する場合は第1ポストスパイクパルスに対して第1プレスパイクパルスが先行する場合を正、第1プレスパイクパルスに対して第1ポストスパイクパルスが先行する場合を負とする。
【0017】
この例では、相対的に、第1結合荷重の重みが大きく、第2結合荷重の重みが小さい。すなわち、
図2に示すように、シナプス回路11の結合荷重は、それが接続されたニューロン回路17から第1ポストスパイクパルスが出力されるタイミングを基準にして、第1ポストスパイクパルスが出力された時点から遡って時間Tw以内の期間に第1プレスパイクパルスがシナプス回路11に入力された場合には、大きな第1結合荷重となり、また第1ポストスパイクパルスが出力された時点から時間Tw以内の期間に第1プレスパイクパルスがシナプス回路11に入力された場合には、小さな第2結合荷重となる。したがって、この例では、結合荷重を更新する場合において、パルス時間差ΔTの増加よって結合荷重を漸増ないし漸減させる一般的な対称型STDP及び非対称型STDPとは異なる。
【0018】
上記ニューラルネットワーク回路装置10は、認知モードと学習モードとを有している。認知モードは、例えば画像認識などの処理対象となる画像に応じた信号を前段部20からニューラルネットワーク回路装置10に入力することによって、各ニューロン回路17から出力を画像認識の結果に応じた処理結果として得るモードであり、学習モードで各シナプス回路11に記憶された結合荷重を用いる。学習モードは、予め用意された画像に基づく信号を、前段部20からニューラルネットワーク回路装置10に入力することによって、各シナプス回路11に記憶されている結合荷重を更新する動作モードである。
【0019】
前段部20の入力回路20aは、第1プレスパイクパルスと、この第1プレスパイクパルスに同期した第2プレスパイクパルスを発生するパルス発生器を有しており、第1プレスパイクパルスをプレスパイク線PrLに、第2プレスパイクパルスをワード線WLにそれぞれ出力する。この例では、シナプス回路11における第1プレスパイクパルスは、ローアクティブであり、入力回路20aからの第1プレスパイクパルスは、インバータ20bを介してプレスパイク線PrLに出力される。第1プレスパイクパルスは、認知モードと学習モードの両方で出力されるが、第2プレスパイクパルスは、学習モードのみで出力される。
【0020】
第1プレスパイクパルスは、学習モードにおいては、第1プレスパイクパルスに対して第1ポストスパイクパルスが先行する場合についての、結合荷重の書き込みタイミングの制御に用いられる第2書き込みパルスとしても機能する。この第1プレスパイクパルスは、そのパルス幅が第2プレスパイクパルスよりも短い。後述するように、MTJ素子を用いて荷重記憶部14に荷重を記憶する構成では、第1プレスパイクパルスのパルス幅を10nsec以下とすることが可能である。
【0021】
第2プレスパイクパルスは、学習モードにおいて、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行する場合についての、シナプス回路11に対して結合荷重の書き込みを許容する時間窓(タイムウインドウ)として用いられるものであり、この例における第1時間窓パルスである。第2プレスパイクパルスがシナプス回路11に入力されている間、書き込みが許容される。この第2プレスパイクパルスは、規定時間Twと同じパルス幅である。この例では、第2プレスパイクパルスは、第1プレスパイクパルスと同時に出力が開始されるが、第1プレスパイクパルスから遅延させることもできる。第2プレスパイクパルスを第1プレスパイクパルスから遅延させて出力する場合には、後述する第2ポストスパイクパルスの発生タイミングとビット線BL/BLBの電位を変化させるタイミングも同様に遅延させる。
【0022】
ニューロン回路17から出力される第1ポストスパイクパルスは、学習モードにおいては、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行する場合についての、結合荷重の書き込みタイミングの制御に用いられる第1書き込みパルスとしても機能する。この第1ポストスパイクパルスは、そのパルス幅が第2プレスパイクパルスよりも短い。第1プレスパイクパルスと同様に、MTJ素子を用いて荷重記憶部14に荷重を記憶する構成では、第1ポストスパイクパルスのパルス幅を10nsec以下とすることが可能である。
【0023】
第2ポストスパイクパルスは、第1ポストスパイクパルスに同期してニューロン回路17から出力される。この例では、第1ポストスパイクパルスと同時に第2ポストスパイクパルスの出力が開始される。この第2ポストスパイクパルスは、学習モードにおいて、第1プレスパイクパルスに対して第1ポストスパイクパルスが先行する場合についての、シナプス回路11に対して結合荷重の書き込みを許容する時間窓(タイムウインドウ)として用いられるものであり、この例における第2時間窓パルスである。第2プレスパイクパルスと同様に、第2ポストスパイクパルスがシナプス回路11に入力されている間、書き込みが許容される。この第2プレスパイクパルスは、規定時間Twと同じパルス幅である。
【0024】
後述するように、シナプス回路11は、第2ポストスパイクパルスと第1プレスパイクパルスとが同時に入力されているとき及び第1ポストスパイクパルスと第2プレスパイクパルスとが同時に入力されているときに、結合荷重の書き込み動作を行う。
【0025】
シナプス回路11の荷重記憶部14は、第1プレスパイクパルスが入力されることに応答して、記憶している結合荷重で重み付けをした重み付けプレスパイクパルスとしての電圧信号Vpreを出力線OLを介してニューロン回路17の本体部18に出力する。
【0026】
ニューロン回路17の本体部18は、それが配された列16内の各荷重記憶部14からの電圧信号Vpreの電圧レベルの総和が所定の閾値以上になることに応答して第1ポストスパイクパルスを発生する。本体部18は、認知モードでは、第1ポストスパイクパルスを第1ポストスパイク線POLaに出力し、学習モードでは、第1ポストスパイクパルスを出力するとともに、第1ポストスパイクパルスに同期した第2ポストスパイクパルスを第2ポストスパイク線POLbに出力する。また、第1ポストスパイクパルスは、例えばニューロン回路17の次段のニューロン回路との間に設けたシナプス回路に送られる。
【0027】
ニューロン回路17のビット線ドライバ19は、学習モードの際に、同じニューロン回路17内の本体部18の第1ポストスパイクパルスの発生に同期して、ビット線BL、BLBの電位を制御する。具体的には、ビット線ドライバ19は、第1ポストスパイクパルスと同時に、この第1ポストスパイクパルスのパルス幅とほぼ同じ期間、ビット線BLの電位VB1をビット線BLBの電位VB2よりも高く(ビット線電位差ΔVB(=VB1-VB2)を正)してから、ビット線BLから荷重記憶部14を介してビット線BLBに向って電流が流れるようにし、その後においてビット線BLBの電位VB2をビット線BLの電位VB1よりも高く(ビット線電位差ΔVBを負)して、ビット線BLBから荷重記憶部14を介してビット線BLに向って電流が流れるようにする。第1ポストスパイクパルスの発生時から規定時間Twの経過した時点で、ビット線電位差ΔVBを0Vにする。この例では、ビット線電位差ΔVBが正の場合におけるビット線BL、BLBの電位が第1電位であり、負の場合におけるビット線BL、BLBの電位が第2電位である。
【0028】
シナプス回路11の選択部15は、学習モードの際に、第1プレスパイクパルス、第2プレスパイクパルス、第1ポストスパイクパルス及び第2ポストスパイクパルスに基づいて、第1ポストスパイクパルスと第1プレスパイクパルスとのパルス時間差ΔTが規定時間Tw以内であるときに、選択信号を発生する。荷重記憶部14には、選択信号が入力されているタイミングにおけるビット線BL、BLBの電位差に基づく結合荷重が記憶される。
【0029】
図3に示すように、シナプス回路11の荷重記憶部14は、インバータ21、22と、トランスファゲートとしての一対のMOSトランジスタ23、24と、MOSトランジスタ25とを有する。インバータ21は、直列に接続されたMTJ素子(磁気トンネル接合素子)31とMOSトランジスタ32とで構成され、インバータ22は、直列に接続されたMTJ素子33とMOSトランジスタ34とで構成される。MOSトランジスタ23、24、32、34は、N型MOSFETであり、MOSトランジスタ25はP型MOSFETである。この例では、MOSトランジスタ32、34がインバータ用MOSトランジスタである。
【0030】
MTJ素子31は、磁化固定層31aと磁化自由層31bとが絶縁膜31cを挟んで積層された構造を有する。磁化固定層31aは、その磁化方向が固定されている。磁化自由層31bは、MTJ素子31に所定の閾値以上の書き込み電流を流すことにより、その磁化方向を変えることができ、書き込み電流の向きによって磁化方向が決まる。周知のように、MTJ素子31は、磁化固定層31aと磁化自由層31bの磁化方向が一致する平行状態のときに抵抗値が小さい低抵抗になり、磁化固定層31aに対して磁化自由層31bの磁化方向が反対向きである反平行状態のときに抵抗値が大きい高抵抗になる。MTJ素子31は、磁化固定層31aから磁化自由層31bへの向きに書き込み電流を流すことにより、平行状態になり、逆向きに書き込み電流を流すことにより、反平行状態になる。
【0031】
MTJ素子33についても、磁化固定層33a、磁化自由層33b、絶縁膜33cを積層した構成であり、MTJ素子31と同様に、書き込み電流によって磁化自由層33bの磁化方向を変化することができ、平行状態、反平行状態で抵抗値が変わる。
【0032】
荷重記憶部14は、MTJ素子31、33により結合荷重を不揮発的に記憶する。MTJ素子31、33は、いずれか一方が平行状態のときに他方が反平行状態となる。この例では、第1結合荷重を記憶している場合には、MTJ素子31が反平行状態、MTJ素子33が平行状態であり、第2結合荷重を記憶している場合には、MTJ素子31が平行状態、MTJ素子33が反平行状態である。MTJ素子31、33は、他のReRAMや相変化メモリ等と比べて、高速な書き換えが可能であるとともに、最大書き換え回数がかなり大きく、学習の回数を多くできるといった観点からも有利な素子である。
【0033】
インバータ21は、MTJ素子31の磁化自由層31bとMOSトランジスタ32のドレインとが接続され、インバータ22は、MTJ素子33の磁化自由層33bとMOSトランジスタ34のドレインとが接続されている。MTJ素子31、33の各磁化固定層31a、33aは、MOSトランジスタ25を介して電源線PLに接続されている。MOSトランジスタ32、34の各ソースは、ソース線SLを介して接地されている。
【0034】
インバータ21の出力端であるMTJ素子31とMOSトランジスタ32との接続ノードSNが、インバータ22の入力端であるMOSトランジスタ34のゲートに接続され、インバータ22の出力端であるMTJ素子33とMOSトランジスタ34との接続ノードSNBが、インバータ21の入力端であるMOSトランジスタ32のゲートに接続されている。これにより、インバータ21、22は、クロスカップルされてフリップフロップを構成するとともに、MOSトランジスタ32、34が差動対を構成する。
【0035】
接続ノードSNは、MOSトランジスタ23を介してビット線BLに接続され、接続ノードSNBは、MOSトランジスタ24を介してビット線BLBに接続されている。MOSトランジスタ23、24の各ゲートは、選択部15に接続されており、この選択部15からの選択信号でオン、オフされる。選択部15と、MOSトランジスタ23、24とによって書き込み部が構成される。
【0036】
ビット線電位差ΔVBが正のときに、MOSトランジスタ23、24がオンとなった場合には、ビット線BLから接続ノードSN、MTJ素子31、MTJ素子33、接続ノードSNBを経てビット線BLBに至る経路で書き込み電流が流れ、MTJ素子31が反平行状態、MTJ素子33が平行状態になる。逆に、ビット線電位差ΔVBが負のときに、MOSトランジスタ23、24がオンとなった場合には、ビット線BLBから接続ノードSNB、MTJ素子33、MTJ素子31、接続ノードSNを経てビット線BLに至る経路で書き込み電流が流れ、MTJ素子31が平行状態、MTJ素子33が反平行状態になる。
【0037】
接続ノードSNBの電位(電圧)が、出力回路部としてのコンデンサ36を介して電圧信号Vpreとして出力線OLに出力される。すなわち、コンデンサ36の一方の電極が接続ノードSNBに接続され、他方の電極が出力線OLを介して、ニューロン回路17の本体部18に接続されている。後述するように、コンデンサ36は、本体部18内の制御ゲートCG(
図4参照)に接続されている。コンデンサ36は、制御ゲートCGを介して同一のフローティングゲートFG(
図4参照)に対して容量結合される各シナプス回路11の荷重記憶部14の相互間での導通電流の発生を防止するために設けている。なお、コンデンサ36としては、例えば、トランジスタのゲート容量を利用したMOSキャパシタを用いることもできる。
【0038】
なお、荷重記憶部14とフローティングゲートFGとの実質的な結合容量は、コンデンサ36の容量と、フローティングゲートFGに対する制御ゲートCGの結合容量とによって決まる。また、荷重記憶部14とフローティングゲートFGとの実質的な結合容量を相違させることもでき、このようにすることで、例えば電圧信号Vpreに重み付けをすることができる。さらに、接続ノードSNBに代えて接続ノードSNに出力回路部を接続してもよい。
【0039】
MOSトランジスタ25は、認知モードにおけるパワーゲーティング用のスイッチング素子であるのと同時に、信号駆動用すなわち電圧信号Vpreを出力させる読み出し部としてのスイッチング素子である。MOSトランジスタ25は、そのゲートがプレスパイク線PrLに接続され、入力信号としての第1プレスパイクパルスが出力されているときにオンとなる。MOSトランジスタ25のオンにより、電源線PLからの電力供給を受けてインバータ21、22すなわち差動対を構成するMOSトランジスタ32、34が作動する。これにより、第1プレスパイクパルスに応答して、インバータ22の出力端である接続ノードSNBの電圧が電圧信号Vpreとして出力線OLに出力される。電圧信号Vpreは、第1結合荷重の場合すなわちMTJ素子31が反平行状態、MTJ素子33が平行状態にある場合に相対的に高く、第2結合荷重の場合すなわちMTJ素子31が平行状態、MTJ素子33が反平行状態にある場合が相対的に低い。
【0040】
選択部15は、論理回路15a~15cの組み合わせによって、第2ポストスパイクパルスが出力されている間に第1プレスパイクパルスが出力されたとき、または第1ポストスパイクパルスが出力されている間に第2プレスパイクパルスが出力されたときに選択信号をアクティブ(Hレベル)とする。これにより、第1ポストスパイクパルスと第1プレスパイクパルスとのパルス時間差ΔTが規定時間Tw内である場合にだけ、選択信号がアクティブとなり、MOSトランジスタ23、24がオンする。
【0041】
図4に一例を示すように、本体部18は、P型MOSFETであるMOSトランジスタ41、N型MOSFETであるMOSトランジスタ42、インバータ43、パルス発生器44を有している。パルス発生器44は、第1ポストスパイクパルス及び第2ポストスパイクパルスを発生する。なお、本体部18のパルス発生器44として、パルス波形、出力タイミング、遅延時間等が制御可能なパルス発生器を用いて第1ポストスパイクパルス、第2ポストスパイクパルスを発生させることができる。
【0042】
ニューロン用MOSトランジスタとしてのMOSトランジスタ41、42は、直列に接続されてインバータを構成する。すなわち、MOSトランジスタ41、42のドレイン同士が接続され、MOSトランジスタ41のソースが電源(電圧VDD)に接続され、MOSトランジスタ42のソースが接地されている。インバータ43は、入力端がMOSトランジスタ41とMOSトランジスタ42の接続ノードに接続されており、その接続ノードが接地の電位(0V)となったときに、その出力論理がLレベルからHレベルに反転する。パルス発生器44は、インバータ43の出力がLレベルからHレベルに変化することに応答して第1ポストスパイクパルス及び第2ポストスパイクパルスを発生する。
【0043】
上記MOSトランジスタ41、42は、共通のフローティングゲートFGを共有している。また、MOSトランジスタ41、42は、フローティングゲートFGに容量結合した複数の制御ゲートCGが設けられている。本体部18の制御ゲートCGは、その本体部18が配された列16の各荷重記憶部14にそれぞれ対応して設けられ、各々の制御ゲートCGには対応する荷重記憶部14からの出力線OLが接続されている。MOSトランジスタ41、42は、フローティングゲートFGの電位でオン・オフが制御され、一方がオンのときに他方がオフとなる。
【0044】
フローティングゲートFGの電位は、各制御ゲートCGに加えられる電圧信号Vpreの電圧と、各制御ゲートCGとフローティングゲートFGとの間の結合容量で決まる。この例では、フローティングゲートFGに対する各制御ゲートCGの結合容量が同じになっている。したがって、各制御ゲートCGに加える電圧の総和により、MOSトランジスタ41、42に一方をオン、他方をオフとするように制御できる。なお、本体部18としては、それが接続された各シナプス回路11からの電圧信号Vpreの電圧の総和に基づいて第1ポストスパイクパルス及び第2ポストスパイクパルスを発生する構成であればよい。
【0045】
次に上記構成の作用について説明する。認知モードでは、
図5に示すように、前段部20の処理の内容に応じたタイミングで、各々の入力回路20aから、インバータ20bを介して第1プレスパイクパルスがプレスパイク線PrLに出力される。なお、この認知モードにおいては、第2プレスパイクパルスは出力されないので、選択部15が選択信号を出力することはない。
【0046】
1つのシナプス回路11に注目すると、それが接続されたプレスパイク線PrLを介して第1プレスパイクパルスが当該シナプス回路11に入力されると、荷重記憶部14内のMOSトランジスタ25がオンになる。このMOSトランジスタ25のオンにより、電源線PLからの電流が、MTJ素子31及びMTJ素子33を介して流れ、インバータ21、22が作動する。このように荷重記憶部14は、認知モードでは、MOSトランジスタ25がオンしている間のみ電流が流れるため消費電力の抑制に有効である。
【0047】
例えばシナプス回路11に記憶されている結合荷重が、第1結合荷重である場合、すなわちMTJ素子31が高抵抗であり、MTJ素子33が低抵抗である場合には、接続ノードSNBの電位が接続ノードSNの電位よりも高くなる電位差が生じる。この電位差は、クロスカップルされたインバータ21、22の作用により増幅され、電位差が大きくなった状態で安定する。逆に、シナプス回路11に記憶されている結合荷重が、第2結合荷重である場合、すなわちMTJ素子31が低抵抗であり、MTJ素子33が高抵抗である場合には、接続ノードSNBの電位が接続ノードSNの電位よりも低くなる電位差が生じ、その電位差がクロスカップルされたインバータ21、22の作用により増幅され、電位差が大きくなった状態で安定する。
【0048】
接続ノードSNと接続ノードSNBとの電位差は、MOSトランジスタ32、34の差動対によって増幅されて安定するので、安定するまでに要する時間は、非常に短い。したがって、高速な動作が可能になる。
【0049】
なお、MOSトランジスタ25がオンになることでMTJ素子31、33に流れる電流は、それらの磁化状態を変化させない大きさに調整されている。実際には、その電流が流れている間に、磁化自由層31b、33bの磁化方向に変化があるが、その変化は接続ノードSN、SNBに所望とする電位差を発生させるのには影響がない程度のきわめて僅かなものである。磁化自由層31b、33bの僅かな磁化方向は、電流を停止することで元の磁化方向に戻る。
【0050】
上記のように、シナプス回路11に記憶されている結合荷重に応じて接続ノードSN、SNBの電位が変化する。この結果、接続ノードSNBにコンデンサ36を介して接続された出力線OLには、シナプス回路11が第1結合荷重を記憶している場合には、高い電圧の電圧信号Vpreが出力され、第2結合荷重を記憶している場合には、低い電圧の電圧信号Vpreが出力される。このシナプス回路11からの電圧信号Vpreが出力線OLを介して本体部18の制御ゲートCGに加えられる。なお、MOSトランジスタ25がオフすると、コンデンサ36が放電して電圧信号Vpreの電圧が低下するが、コンデンサ36がMTJ素子31、33、MOSトランジスタ32、34等を通して放電するため電圧信号Vpreの電圧は漸減し、直ちに0Vになるわけではない。
【0051】
1つのニューロン回路17に注目すると、それが配された列16内の各シナプス回路11から出力される電圧信号Vpreの電圧がそれぞれ対応する制御ゲートCGに加えられる。もちろん、第1プレスパイクパルスが入力されないシナプス回路11からは制御ゲートCGに電圧は加えられない。上記のように各制御ゲートCGに電圧信号Vpreの電圧が加えられて、フローティングゲートFGの電位が閾値に達すると、MOSトランジスタ41がオフとなり、MOSトランジスタ42がオンとなる。この結果、インバータ43の出力がLレベルからHレベルに反転し、パルス発生器44から第1ポストスパイクパルスが出力される。フローティングゲートFGの電位が閾値に達しなければ、MOSトランジスタ41がオフ、MOSトランジスタ42がオンになることはないので、第1ポストスパイクパルスが出力されることはない。
【0052】
上記のようにして、前段部20から各行のプレスパイク線PrLに出力される第1プレスパイクパルスのタイミング及び各シナプス回路11に記憶されている結合荷重に応じて、列16ごとに設けられたニューロン回路17から第1ポストスパイクパルスが出力される。認知モードにおける、第1ポストスパイクパルスは、例えばニューロン回路17の次段のニューロン回路との間に設けたシナプス回路に送られる。
【0053】
上記認知モードでは、荷重記憶部14から本体部18に対しては、プレスパイクに施される重み付けが電圧信号Vpreの電圧の大小として伝達され、その電圧の総和を容量結合された制御ゲートCG、フローティングゲートFGによって得ている。このため、結合荷重とプレスパイクパルスとの積和を演算する演算回路を設けることなく、積和演算の結果によるポストスパイクパルスに相当する第1ポストスパイクパルスが得られる。
【0054】
また、制御ゲートCG(実際にはコンデンサ36)を充電する極めて微小な電流が流れるだけなので、低電力での動作が可能である。また、荷重記憶部14では、2つのMTJ素子31、33は、必ず互いに逆の抵抗状態が書き込まれている。このため、電圧信号Vpreの出力時には、一方(低抵抗)のMTJ素子に電流が流れ、他方(高抵抗)のMTJ素子にはほとんど電流が流れない。そして、一方(低抵抗)のMTJ素子に流れる電流の向きは、そのMTJ素子を低抵抗にする書込み電流の向きである。したがって、高抵抗のMTJ素子も、低抵抗のMTJ素子も、電圧信号Vpreを出力する際に流れる電流によって磁化の向きが反転するようなリードディスターブが生じることがない。
【0055】
次に学習モードについて説明する。学習モードでは、認知モードと同様に、各々の入力回路20aから前段部20の処理の内容に応じたタイミングで、第1プレスパイクパルスがプレスパイク線PrLに出力される。この学習モードにおいても、第1プレスパイクパルスが出力されると、認知モードの場合と同様に、荷重記憶部14が動作して電圧信号Vpreが出力される。
【0056】
この学習モードでは、
図6、
図7に示すように、第1プレスパイクパルスに同期して、パルス幅Twの第2プレスパイクパルスが入力回路20aからワード線WLに出力される。なお、
図6は、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行する場合、
図7は、第1プレスパイクパルスに対して第1ポストスパイクパルスが先行する場合であって、いずれも第1プレスパイクパルスと第1ポストスパイクパルスとのパルス時間差ΔTが規定時間Tw以内の場合を示している。
【0057】
プレスパイク線PrLを介して第1プレスパイクパルスが入力されたシナプス回路11は、認知モードの場合と同様に、それの荷重記憶部14が記憶している結合荷重に応じた電圧信号Vpreを、同じ列16に配されている本体部18に出力する。本体部18についても、制御ゲートCGに電圧信号Vpreの電圧が加えられて、フローティングゲートFGの電位が閾値に達すると、MOSトランジスタ41がオフとなり、MOSトランジスタ42がオンとなる。この結果、パルス発生器44から第1ポストスパイクパルスが第1ポストスパイク線POLaに出力される。また、第1ポストスパイクパルスと同期して、本体部18からパルス幅Twの第2ポストスパイクパルスが第2ポストスパイク線POLbに出力される。
【0058】
さらに、ビット線ドライバ19によって、第1ポストスパイクパルスの出力と同時に、第1ポストスパイクパルスのパルス幅とほぼ同じ期間においてビット線電位差ΔVBが正とされ、この後にビット線電位差ΔVBが負とされる。この後、第1ポストスパイクパルスの発生時から規定時間Twの経過した時点で、ビット線電位差ΔVBが0Vにされる。
【0059】
第2プレスパイクパルスは、上述のように第1プレスパイクパルスと同時に出力が開始され、規定時間Twと同じパルス幅を有している。このため、例えば、
図6に示されるように、上記の第1ポストスパイクパルスが出力されたタイミングから時間Twだけ遡った期間内に、第1プレスパイクパルスがシナプス回路11に入力されると、そのシナプス回路11の選択部15には、第2プレスパイクパルスの入力中に第1ポストスパイクパルスが入力される。この結果、第1ポストスパイクパルスとほぼ同時に、選択部15から選択信号が荷重記憶部14に出力され、ビット線電位差ΔVBが正となっている期間に、その荷重記憶部14内のMOSトランジスタ23、24がそれぞれオンになる。
【0060】
上記のようにMOSトランジスタ23、24がそれぞれオンになると、ビット線BLの電位がビット線BLBよりも高いので、書き込み電流が、ビット線BLからMOSトランジスタ23、MTJ素子31、MTJ素子33、MOSトランジスタ24を経てビット線BLBに至る経路で流れる。これにより、MTJ素子31は、高抵抗になり、MTJ素子33は、低抵抗になる。この結果、シナプス回路11は、第1結合荷重を記憶した状態になる。
【0061】
なお、このようにパルス時間差ΔTが規定時間Tw以下で、第1ポストスパイクパルスよりも第1プレスパイクパルスが先行する場合には、MOSトランジスタ23、24と同時にMOSトランジスタ25がオンになる。一方、上述のように電源線PLの電圧を|ΔVB|/2程度としている。このため、MOSトランジスタ23、24と同時にMOSトランジスタ25がオンになっても、ビット線BLと電源線PLとの間、及び電源線PLとビット線BLBとの間のいずれにも電位差を生じるため、上記のように書き込み電流が流れ、MTJ素子31、33によって第1結合荷重が記憶された状態になる。
【0062】
一方、第2ポストスパイクパルスは、第1ポストスパイクパルスと同時に出力が開始され、規定時間Twと同じパルス幅を有している。このため、
図7に示されるように、上記の第1ポストスパイクパルスが出力されてから規定時間Twが経過するまでの期間内に、第1プレスパイクパルスがシナプス回路11に入力されると、そのシナプス回路11の選択部15には、第2ポストスパイクパルスの入力中に第1プレスパイクパルスが入力される。この結果、第1プレスパイクパルスとほぼ同時に、選択部15から選択信号が荷重記憶部14に出力されるので、ビット線電位差ΔVBが負となっている期間に、その荷重記憶部14内のMOSトランジスタ23、24がそれぞれオンになる。
【0063】
上記のようにMOSトランジスタ23、24がそれぞれオンになると、ビット線BLBの電位がビット線BLよりも高いので、書き込み電流が、ビット線BLBからMOSトランジスタ24、MTJ素子33、MTJ素子31、MOSトランジスタ23を経てビット線BLに至る経路で流れる。これにより、MTJ素子31は、低抵抗になり、MTJ素子33は、高抵抗になる。この結果、シナプス回路11は、第2結合荷重を記憶した状態になる。
【0064】
なお、第1ポストスパイクパルスに対して時間Twを超えて第1プレスパイクパルスが先行している場合には、第2プレスパイクパルスが入力されていない選択部15に第1ポストスパイクパルスが入力される。また、第1プレスパイクパルスに対して時間Twを超えて第1ポストスパイクパルスが先行している場合には、第2ポストスパイクパルスが入力されていない選択部15に第1プレスパイクパルスが入力される。これらの場合には、選択信号が発生しないから、結合荷重の書き込み動作を荷重記憶部14は行わない。
【0065】
上記のようにして各シナプス回路11は、その結合荷重が書き換えられ、書き換え後に第1プレスパイクパルスが入力されると、上記同様にして新たな結合荷重に応じた電圧信号Vpreをニューロン回路17に出力する。また、ニューロン回路17は、フローティングゲートFGの電位が閾値に達すると、上記同様に第1ポストスパイクパルス,第2ポストスパイクパルスを出力する。そして、各シナプス回路11では、第1ポストスパイクパルスが入力されたタイミングの前後の時間Twの各期間内に第1プレスパイクパルスが入力されると、再び結合荷重が書き換えられる。以上のようにして、各シナプス回路11の結合荷重が更新されて,各シナプス回路11には最終的なものが保持される。
【0066】
上記のように学習モードでは、書き込み電流を流してMTJ素子31、33の磁化状態を変化させているが、MTJ素子31、33を平行状態と反平行状態との相互に変化させるのに要する時間(以下、書き換え時間という)は、非常に短いため、高速な動作が可能である。例えば、MTJ素子31、33の書き換え時間は、ReRAMに対して1/10程度ある。
【0067】
以上のように認知モード、学習モードのいずれにおいても、ニューラルネットワーク回路装置10は、高速かつ低電力で動作が可能であり、より最適な構成になっている。また、結合荷重の書き込みを許容する時間窓を、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行する場合には、第1時間窓パルスとしての入力回路20aからの第2プレスパイクパルスを用いて、第1プレスパイクパルスに対して第1ポストスパイクパルスが先行する場合には、第2時間窓パルスとしてのニューロン回路17からの第2ポストスパイクパルスを用いてそれぞれ規定し、結合荷重の書き込みタイミングの制御は、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行する場合には、第1書き込み制御パルスとしてのニューロン回路17からの第1ポストスパイクパルスを用いて、第1プレスパイクパルスに対して第1ポストスパイクパルスが先行する場合には、第2書き込み制御パルスとしての入力回路20aからの第1プレスパイクパルスを用いてそれぞれ規定しているので、STDPに基づくシナプス回路の駆動を簡単にすることができる。延いては、STDPに基づく駆動を簡単な回路構成で実現することができる。
【0068】
また、シナプス回路が記憶する結合荷重は、相対的に重みが大きい第1結合荷重と小さい第2結合荷重のいずれかとなる二値のものでも、重みが異なる3以上の結合荷重のうちのいずれかとなる多値のものでもよい。
【0069】
シナプス回路が記憶する結合荷重を多値とする場合には、例えば各シナプス回路にそれぞれ、荷重記憶部と選択部とからなる記憶ユニットを複数(例えばM個)設け、各荷重記憶部は、上記と同様に、それぞれ第1結合荷重または第2結合荷重のいずれかを記憶するように構成する。1個のシナプス回路内における各選択部に入力される第2ポストスパイクパルスのパルス幅を時間Tw(Twは規定時間)内で互いに異なるものとし、同様に第2プレスパイクパルスのパルス幅を時間Tw(Twは規定時間)内で互いに異なるものとする。これにより、第1ポストスパイクパルスと第1プレスパイクパルスとのパルス時間差ΔTの長短に応じて、選択信号が入力される荷重記憶部の個数が増減する。
【0070】
1つのシナプス回路に注目すると、第1プレスパイクパルスが第1ポストスパイクパルスに先行する場合には、パルス時間差ΔTが小さいほど第1結合荷重が書き込まれる荷重記憶部の個数が多くなり、パルス時間差ΔTが大きいほど第1結合荷重が書き込まれる荷重記憶部の個数が少なくなる。逆に、第1ポストスパイクパルスが第1プレスパイクパルスに先行する場合には、パルス時間差ΔTが小さいほど第2結合荷重が書き込まれる荷重記憶部の個数が多くなり、パルス時間差ΔTが大きいほど第2結合荷重が書き込まれる荷重記憶部の個数が少なくなる。結果的に、1つのシナプス回路は、第1結合荷重を0個ないしM個の荷重記憶部に記憶した状態(第1結合荷重を記憶していない荷重記憶部には第2結合荷重が記憶される)に対応したM+1種類の結合荷重を記憶することができる。
【0071】
この場合にも、各荷重記憶部は、入力信号としての第1プレスパイクパルスが出力されているときに、記憶している結合荷重に応じた電圧または電流を本体部にそれぞれ出力する。1個のシナプス回路からは、第1プレスパイクパルスの入力に応答して、その各荷重記憶部に記憶している結合荷重に応じた各電圧または各電流が本体部に出力される。本体部は、入力される各電圧または各電流の総和に基づいて動作するから、1つのシナプス回路からの各電圧または各電流についてもそれらの和に基づいて動作することになり、結果的にシナプス回路が記憶しているM+1種類の結合荷重のうちのいずれかの結合荷重を本体部に出力することになる。
【0072】
[第2実施形態]
第2実施形態は、時間窓の制御をプレニューロン回路側からの信号だけで行い、結合荷重の書き込みタイミングの制御をポストニューロン回路側からの信号だけで行うものである。なお、以下に詳細を説明する他は、第1実施形態と同様であり、実質的に同じ構成部材には同一の符号を付して、その詳細な説明を省略する。
【0073】
図8において、第2実施形態に係るニューラルネットワーク回路装置60は、第1実施形態に係るニューラルネットワーク回路装置と同様な構成であるが、第1及び第2ポストスパイク線が設けられていない。ニューロン回路17の本体部18は、第1ポストスパイクを次段のニューロン回路との間に設けたシナプス回路のみに送る。なお、本体部18は、第2ポストスパイクは出力しない。
【0074】
また、ビット線ドライバ19は、学習モードの際に、ビット線BL,BLBの電位を制御して、第1ポストスパイクパルスと同時に第1ポストスパイクパルスのパルス幅とほぼ同じ時間でビット線電位差ΔVBをパルス状に正とし、第1ポストスパイクパルスの発生から時間Twの経過後に第1ポストスパイクパルスのパルス幅とほぼ同じ時間でビット線電位差ΔVBをパルス状に負とする。この例では、このパルス状のビット線電位差ΔVBの正の変化が第1書き込みパルスであり、パルス状のビット線電位差ΔVBの負の変化が第2書き込みパルスとして機能する。
【0075】
さらに、シナプス回路11は、荷重記憶部64のみで構成されており、荷重記憶部64には、電源線PL、ソース線SL、ビット線BL、BLB、プレスパイク線PrLの他、ワード線WLが接続されている。
【0076】
図9に示すように、荷重記憶部64は、それを構成するMOSトランジスタ23、24のゲートがワード線WLに接続されている。したがって、MOSトランジスタ23、24は、第2プレスパイクパルスが出力されている間にオンとなる。荷重記憶部64の構成は、これらのMOSトランジスタ23、24の接続の他は、第1実施形態の荷重記憶部と同じである。なお、認知モードにおける、荷重記憶部64の動作及びニューラルネットワーク回路装置60の動作は、第1実施形態と同じである。
【0077】
上記のように構成されるニューラルネットワーク回路装置60では、プレニューロン回路としての入力回路からの第2プレスパイクパルスが、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行する場合及び第1プレスパイクパルスに対して第1ポストスパイクパルスが先行する場合の時間窓を規定する。したがって、この例では、第2プレスパイクパルスが共通時間窓パルスである。
【0078】
図10、
図11に示すように、学習モードでは、本体部18からの第1ポストスパイクパルスの発生と同時に、ビット線ドライバ19によって、ビット線電位差ΔVBが第1ポストスパイクパルスのパルス幅とほぼ同じ時間だけ正とされ、その後に「0V」とされる。この後に、第1ポストスパイクパルスの発生から時間Twが経過した時点でビット線電位差ΔVBが第1ポストスパイクパルスのパルス幅とほぼ同じ時間だけ負とされ、その後に「0V」とされる。
【0079】
第1プレスパイクパルスと同時に出力される第2プレスパイクパルスのパルス幅が時間Twである。このため、例えば、
図10に示されるように、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行し、それらのパルス時間差ΔTが規定時間Tw以内である場合には、第2プレスパイクパルスによってMOSトランジスタ23、24がオンとなっている期間中に、ビット線電位差ΔVBが正となる。この結果、書き込み電流がビット線BLからMOSトランジスタ23、MTJ素子31、MTJ素子33、MOSトランジスタ24を経てビット線BLBに至る経路で流れる。これにより、MTJ素子31が高抵抗になり、MTJ素子33が低抵抗になって荷重記憶部64は、第1結合荷重を記憶した状態になる。
【0080】
また、第1プレスパイクパルスと同時に出力される第2プレスパイクパルスのパルス幅が時間Twであって、さらに第1ポストスパイクパルスから時間Twだけ遅れてビット線電位差ΔVBが負になる。このため、例えば、
図11に示されるように、第1プレスパイクパルスに対して第1ポストスパイクパルスが先行し、それらのパルス時間差ΔTが規定時間Tw以内である場合には、第2プレスパイクパルスによってMOSトランジスタ23、24がオンとなっている期間中に、ビット線電位差ΔVBが負となる。この結果、書き込み電流がビット線BLBからMOSトランジスタ24、MTJ素子33、MTJ素子31、MOSトランジスタ23を経てビット線BLに至る経路で流れる。これにより、MTJ素子31は、低抵抗になり、MTJ素子33は、高抵抗になって、シナプス回路11が第2結合荷重を記憶した状態になる。
【0081】
なお、第1ポストスパイクパルスに対して時間Twを超えて第1プレスパイクパルスが先行している場合及び第1プレスパイクパルスに対して時間Twを超えて第1ポストスパイクパルスが先行している場合では、第2プレスパイクパルスが荷重記憶部64に入力されている期間外でビット線電位差ΔVBが正または負となる。したがって、この場合には、結合荷重の書き込み動作を荷重記憶部64は行わない。
【0082】
この第2実施形態では、結合荷重の書き込みを許容する時間窓を、共通時間窓パルスとしての入力回路20aからの第2プレスパイクパルスを用いて規定し、結合荷重の書き込みタイミングの制御を、第1書き込みパルスとしてのパルス状のビット線電位差ΔVBの正の変化と、第2書き込みパルスとしてのパルス状のビット線電位差ΔVBの負の変化とを用いて規定しているので、STDPに基づくシナプス回路の駆動を簡単にすることができる。また、延いては、STDPに基づく駆動を簡単な回路構成で実現することができる。
【0083】
[第3実施形態]
第3実施形態は、第2実施形態とは逆に時間窓の制御をポストニューロン回路側からの信号だけで行い、結合荷重の書き込みタイミングの制御をプレニューロン回路側からの信号だけで行うものである。なお、以下に詳細を説明するように、ビット線ドライバによるビット線電位差ΔVBの変化と、第2プレスパイクパルスのパルス幅が異なる他は、第2実施形態と同様であり、ニューラルネットワーク回路装置及びシナプス回路として
図8、
図9を参照し、実質的に同じ構成部材には同一の符号を付して、その詳細な説明を省略する。
【0084】
第3実施形態では、ニューラルネットワーク回路装置60の入力回路20aは、
図12、
図13に示すように、第2プレスパイクパルスを、第1プレスパイクパルスから時間Twだけ遅延させて出力する。この例では、第2プレスパイクパルスは、第1プレスパイクパルスと同じパルス幅を有する。第2プレスパイクパルスは、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行する場合及び第1プレスパイクパルスに対して第1ポストスパイクパルスが先行する場合の共通書き込みパルスである。
【0085】
また、ビット線ドライバ19は、学習モードの際に、第1ポストスパイクパルスとほぼ同時にビット線電位差ΔVBをパルス状に正とし、このビット線電位差ΔVBを時間Twの期間だけ継続してから、ビット線電位差ΔVBを時間Twの期間だけ継続してパルス状に負にする。この例では、正のビット線電位差ΔVBのパルス状の変化が第1時間窓パルスであり、負のビット線電位差ΔVBのパルス状の変化が第2時間窓パルスである。
【0086】
この例では、第1プレスパイクパルスに対して第2プレスパイクパルスが時間Twだけ遅延して出力されるとともに、第1ポストスパイクパルスとほぼ同時にビット線電位差ΔVBが正になり、その正のビット線電位差ΔVBが時間Twだけ継続される。このため、例えば、
図12に示されるように、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行し、それらのパルス時間差ΔTが規定時間Tw以内である場合には、ビット線電位差ΔVBが正となっている期間中に、第2プレスパイクパルスによってMOSトランジスタ23、24がオンになる。これにより、MTJ素子31が高抵抗になり、MTJ素子33が低抵抗になって荷重記憶部64は、第1結合荷重を記憶した状態になる。
【0087】
また、第1プレスパイクパルスに対して第2プレスパイクパルスが時間Twだけ遅延して出力されるとともに、第1ポストスパイクパルスから時間Twだけ遅延してビット線電位差ΔVBが負になり、その負のビット線電位差ΔVBが時間Twだけ継続される。このため、例えば、
図13に示されるように、第1プレスパイクパルスに対して第1ポストスパイクパルスが先行し、それらのパルス時間差ΔTが規定時間Tw以内である場合には、ビット線電位差ΔVBが負となっている期間中に、第2プレスパイクパルスによってMOSトランジスタ23、24がオンとなる。これにより、MTJ素子31は、低抵抗になり、MTJ素子33は、高抵抗になる。この結果、シナプス回路11は、第2結合荷重を記憶した状態になる。
【0088】
この第3実施形態によっても、第2実施形態と同様にSTDPに基づくシナプス回路の駆動を簡単にすることができる。また、延いては、STDPに基づく駆動を簡単な回路構成で実現することができる。
【0089】
[第4実施形態]
第4実施形態は、シナプス回路を複数の荷重記憶部で構成し、第1ポストスパイクパルスと第1プレスパイクパルスとのパルス時間差に応じて、シナプス回路が記憶している結合荷重を段階的に変化させるものである。なお、以下に詳細を説明する他は、第3実施形態と同様であり、実質的に同じ構成部材には同一の符号を付して、その詳細な説明を省略する。
【0090】
この例では、
図14に示すように、シナプス回路11は、列方向に並ぶ複数、この例では4個の荷重記憶部64A~64Dを有している。荷重記憶部64A~64Dは、第3実施形態の荷重記憶部64(
図9参照)と同じ構成であり、ビット線BL、BLB、プレスパイク線PrL、ワード線WL、出力線OLに同様に接続されている。また、電源線、ソース線についても同様に接続されているが、
図14ではこれらを省略して描いてある。荷重記憶部64A~64Dは、共通のビット線BL、BLBに接続されているが、プレスパイク線PrL、ワード線WLについては互いに異なる行のものに接続されている。また、荷重記憶部64A~64Dからの出力線OLは、それぞれ同じ列のニューロン回路17に接続されている。
【0091】
入力回路20aは、シナプス回路11の荷重記憶部64A~64Dに対応した遅延回路66a~66dを有しており、それぞれ対応する荷重記憶部64A~64Dにワード線WLを介して接続されている。遅延回路66a~66dは、第1プレスパイクパルスがそれぞれ入力され、入力される第1プレスパイクパルスを予め設定された遅延時間だけ遅延させた第2~第5プレスパイクパルス(以下、これらを区別しない場合には遅延プレスパイクパルスと称する)を対応するワード線WLに出力する。この例では、第2~第5プレスパイクパルスのそれぞれが共通書き込みパルスである。
【0092】
遅延回路66a~66dには、互いに異なる遅延時間が設定されている。この例では、遅延回路66aの遅延時間は1/4Tw、遅延回路66bの遅延時間は1/2Tw、遅延回路66cの遅延時間は3/4Tw、遅延回路66dの遅延時間はTwであり、遅延時間を1/4Twステップで設定している。なお、遅延時間は適宜設定でき、例えば遅延時間が非線形(不等間隔)に増加するように設定してもよい。
【0093】
学習モードでは、
図15に一例を示すように、第1プレスパイクパルスを基準にして、遅延時間1/4Twだけ遅延した第2プレスパイクパルス、遅延時間1/2Twだけ遅延した第3プレスパイクパルス、遅延時間は3/4Twだけ遅延した第4プレスパイクパルス、遅延時間Twだけ遅延した第5プレスパイクパルスが生成される。
【0094】
なお、上記の遅延時間は、一例であり遅延時間は適宜設定できる。例えば、遅延時間が非線形(不等間隔)に増加するように設定してもよい。また、値Sを2以上の整数、遅延時間を1/S・Tw、2/S・Tw、…、(S-1)/S・Tw、Twとして、値Sを任意に設定するようにしてもよい。
【0095】
上記のように、第1プレスパイクパルスから異なる遅延時間すなわち相互に時間差を有する第2~第5プレスパイクパルスが入力回路20aから対応するワード線WLに出力される。これにより、荷重記憶部64Aには第2プレスパイクパルスが、荷重記憶部64Bには第3プレスパイクパルスが、荷重記憶部64Cには、第4プレスパイクパルスが、荷重記憶部64Dには第5プレスパイクパルスがそれぞれ異なるタイミングで入力される。
【0096】
例えば、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行し、パルス時間差ΔTが時間Tw以下となる場合では、ビット線電位差ΔVBが正となっている期間中に第2~第5プレスパイクパルスが入力されるシナプス回路11中の荷重記憶部の個数が段階的に増加する。したがって、この場合には、パルス時間差ΔTが小さくなるほど、シナプス回路11中の第1結合荷重が書き込まれる荷重記憶部の個数が段階的に増加する。
【0097】
具体的には、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行し、パルス時間差ΔTが時間Tw以下であり3/4Twより大きくなる範囲では、ビット線電位差ΔVBが正となっている期間中に第5プレスパイクパルスが荷重記憶部64Dに入力され、この荷重記憶部64Dに第1結合荷重が書き込まれる。しかし、第2~第4プレスパイクパルスは、ビット線電位差ΔVBが正となる前に荷重記憶部64A~64Cに入力されるため、荷重記憶部64A~64Cの結合荷重は書き換えられない。
【0098】
また、
図15に実線で示されるように、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行し、パルス時間差ΔTが1/2Twより大きく3/4Tw以下となる範囲では、ビット線電位差ΔVBが正となっている期間中に荷重記憶部64C、64Dに第4及び第5プレスパイクパルスが入力される。このため、荷重記憶部64C、64Dに第1結合荷重がそれぞれ書き込まれる。これに対して、第2、第3プレスパイクパルスは、ビット線電位差ΔVBが正となる前に荷重記憶部64A~64Bに入力されるため、荷重記憶部64A、64Bの結合荷重は書き換えられない。
【0099】
同様に、パルス時間差ΔTが1/4Twより大きく1/2Tw以下となる範囲では荷重記憶部64B~64Dに第1結合荷重がそれぞれ書き込まれ、荷重記憶部64Aの結合荷重は書き換えられない。さらに、パルス時間差ΔTが1/4Tw以下となる範囲では、荷重記憶部64A~64Dのそれぞれに第1結合荷重が書き込まれる。
【0100】
なお、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行している場合で、パルス時間差ΔTが規定時間Twを超えているときには、ビット線電位差ΔVBが正となる前に第2~第5プレスパイクパルスの全てが荷重記憶部64A~64Dに入力されるため、荷重記憶部64A~64Dの結合荷重は書き換えられない。
【0101】
一方、第1プレスパイクパルスに対して第1ポストスパイクパルスが先行し、パルス時間差ΔTが時間Tw以下となる場合では、パルス時間差ΔTが大きくなるほど、ビット線電位差ΔVBが負となっている期間中に第2~第5プレスパイクパルスが入力されるシナプス回路11中の荷重記憶部の個数が増加する。また、この場合では、パルス時間差ΔTが大きく増加するのにしたがって、ビット線電位差ΔVBが正となっている期間中に、第2~第5プレスパイクパルスが入力されるシナプス回路11中の荷重記憶部の個数が減少する。したがって、パルス時間差ΔTが大きくなるほど、シナプス回路11中の第1結合荷重が書き込まれる荷重記憶部の個数が段階的に減少するとともに、第2結合荷重が書き込まれる荷重記憶部の個数が段階的に増加する。なお、
図15では、第1プレスパイクパルスに対して第1ポストスパイクパルスが先行し、パルス時間差ΔTが3/4Twよりも大きくなっている場合を二点鎖線で示してある。
【0102】
また、第1プレスパイクパルスに対して第1ポストスパイクパルスが先行し、パルス時間差ΔTが規定時間Twを超えて時間2Twに達するまでの範囲では、シナプス回路11中の第2結合荷重が書き込まれる荷重記憶部の個数が段階的に減少し、結合荷重が書き換えられない荷重記憶部の個数が段階的に増加する。第1プレスパイクパルスに対して第1ポストスパイクパルスが先行し、パルス時間差ΔTが時間2Twを超える範囲では、荷重記憶部64A~64Dの結合荷重は書き換えられない。
【0103】
認知モード及び学習モードのいずれのモードでも、ニューロン回路17の本体部18は、各シナプス回路11の各荷重記憶部からそれぞれ出力される電圧信号Vpreの電圧レベルの総和を参照している。このため、1個のシナプス回路11に注目すると、その1個のシナプス回路11中の荷重記憶部64A~64Dから出力される電圧信号Vpreの電圧レベルの総和を本体部18が参照していることになる。したがって、実質的に、シナプス回路11は、第1結合荷重を記憶している荷重記憶部の個数と第2結合荷重を記憶している荷重記憶部の個数とで決まる重み付けされたプレスパイクパルスをニューロン回路17に出力することになる。このとき、重み付けされたプレスパイクパルスは、第1結合荷重を記憶している荷重記憶部の個数が多いほど大きな重み付けがされ、第2結合荷重を記憶している荷重記憶部の個数が多いほど小さな重み付けがされていることなり、多値の結合荷重をシナプス回路11に記憶できる。
【0104】
以上のように、この例によれば、第1ポストスパイクパルス及び第1プレスパイクパルスの先後関係と、パルス時間差ΔTとによって、シナプス回路11中の第1結合荷重及び第2結合荷重が書き込まれる荷重記憶部の個数を段階的に変化させることができる。しかも、共通書き込みパルスとなる第2~第5プレスパイクパルスの遅延時間を調整することにより容易に変化態様を変えることできる。
【0105】
上記では、ビット線電位差ΔVBが正となっている期間(以下、「第1期間」という)と、ビット線電位差ΔVBが負となっている期間(以下、第2期間という)とが同じ長さ(時間長)であり、かつそれぞれを規定時間Twと同じにしているが、第1期間の長さ、第2期間の長さ及び規定時間Twの関係は、これに限定されない。例えば、第1期間の長さと規定時間とを同じにし、これらと第2期間の長さとを異なるものとしてもよく、第2期間の長さと規定時間とを同じにし、これらと第1期間の長さとを異なるものとしてもよい。また、第1期間と第2期間の長さを同じにして、これらと規定時間Twとを異なるものとしてもよく、第1期間の長さ、第2期間の長さ及び規定時間Twを互いに異なるものとしてもよい。
【0106】
上記の例では、1個のシナプス回路内において遅延時間が異なる遅延プレスパイクパルスが入力される荷重記憶部の個数をそれぞれ1個としているが、一部または全部を複数個としてもよい。また、遅延プレスパイクパルスの遅延時間ごとに、その遅延プレスパイクパルスが入力される荷重記憶部の個数や遅延時間を変えることによって、パルス時間差ΔTに基づく結合荷重の変化量を異なるもとのすることもできる。この場合、例えば、1個のシナプス回路内の荷重記憶部の個数を、遅延時間が小さい遅延プレスパイクパルスが入力されるものほど個数を多くする。各遅延時間の遅延プレスパイクパルスが入力される荷重記憶部の個数や遅延時間を任意に設定可能(プログラマブル)としておき、予めこれらを適宜設定してニューラルネットワーク回路装置を作動させることも好ましい。
【0107】
マトリクス状に配列された複数のシナプス回路の各行に、上記と同様に第1プレスパイクパルスを任意に設定される遅延時間で遅延させて遅延プレスパイクパルスを生成する遅延回路を設けるとともに、1つの入力回路に割り付ける行(遅延回路)を任意に設定できるようにした回路構成とすれば、各シナプス回路の荷重記憶部の個数、遅延時間を任意に調整でき、STDPに基づく多様なシナプス回路の駆動を実現できる。
【0108】
上記各実施形態では、1回の結合荷重の書き込み動作において、一対のビット線間で荷重記憶部に対してパルス状に書き込み電流を1回流しているが、1回の結合荷重の書き込み動作において、パルス状に書き込み電流を複数回流してもよい。結合荷重を記憶するMTJ素子では、書き込み電流を流しても希に正しく書き込みがなされない場合があるが、このように書き込み電流を複数回流することにより、確実に結合荷重の書き込みを行うことができる。この場合、シナプス回路に入力されて第1書き込みパルス、第2書き込みパルス、共通書き込みパルスとなるパルス(第1プレスパイクパルス、第1ポストスパイクパルス、ビット線の電位のパルス状の変化)を複数のパルスとなるようにすればよい。
【0109】
上記各例の荷重記憶部の構成は、一例であり、これらに特に限定されない。上記各例の荷重記憶部は、それぞれがMTJ素子を含む一対のインバータをクロスカップルした構成であるが、例えばMTJ素子を1個だけ用いた回路構成とすることもできる。また、スピン注入磁化反転(spin transfer torque:STT)方式の二端子型のMTJ素子を用いて荷重記憶部を構成しているが、MTJ素子の磁化反転の方式、端子数などは、これに限定されない。例えば、スピン軌道トルク反転(SOT:Spin Orbital Torque)方式の三端子型のMTJ素子を用いることができる。
【0110】
図16に示す荷重記憶部70は、1個のMTJ素子71を用いた構成例である。この荷重記憶部70では、MTJ素子71、N型MOSFETであるMOSトランジスタ72、73が設けられている。MTJ素子71は、第1実施形態のMTJ素子と同じく、磁化固定層71aと磁化自由層71bが絶縁膜71cを挟んで積層された構造を有する。荷重記憶部70は、このMTJ素子71の抵抗の高低(磁化自由層71bの磁化の向き)によって結合荷重の大小を記憶する。この例では、MTJ素子71の反平行状態が第1結合荷重であり、平行状態が第2結合荷重である。
【0111】
MTJ素子71は、磁化固定層71aがMOSトランジスタ72を介して電源線PLに、磁化自由層71bがソース線SLにそれぞれ接続されている。MOSトランジスタ72のゲートは、プレスパイク線PrLに接続され、MTJ素子71とMOSトランジスタ72との接続ノードがMOSトランジスタ73を介して接地されている。MOSトランジスタ73のゲートは、第2ポストスパイク線POLbに接続されている。コンデンサ36は、一方の電極がMTJ素子71とMOSトランジスタ72との接続ノードに接続されている。これにより、MTJ素子71の抵抗値に応じた電位(電圧)が、コンデンサ36を介して電圧信号Vpreとして出力線OLに出力される。
【0112】
この例では、第1プレスパイクパルスは、ハイアクティブである。また、ソース線SLは、その電位が入力回路20aよって制御される。ソース線SLの電位は、認知モードでは接地レベル(0V)とされている。また、学習モードにおいては、ソース線SLの電位は、通常は接地レベルとされているが、第1プレスパイクパルスが出力されることに同期して変化される。具体的には、第1プレスパイクパルスが立ち下がった時点から時間Twの期間においてソース線SLの電位が正、すなわち接地レベルよりも高くされ、続く時間Twの期間において、ソース線SLの電位が負、すなわち接地レベルよりも低くされる。このときの接地レベルに対するソース線SLの電位の大きさ(絶対値)は、MTJ素子71の磁化状態を変化させるのに必要な書き込み電流をMTJ素子71に流すことができるように決められている。
【0113】
第2ポストスパイク線POLbには、ニューロン回路17からの第2ポストスパイクパルスが供給される。第2ポストスパイクパルスは、第1ポストスパイクパルスよりも時間Twだけ遅延し、例えば第1ポストスパイクパルスと同じパルス幅を有するものとして、ニューロン回路17で生成される。なお、この例では、第1ポストスパイクパルスは、シナプス回路11には供給されない。
【0114】
学習モードの際に、入力回路20aは、第1プレスパイクパルスを出力した直後に、時間Twだけソース線SLの電位を正とし、続く時間Twの期間にソース線SLの電位を負とする。一方で、ニューロン回路17は、第1ポストスパイクパルスを出力すると、この第1ポストスパイクパルスから時間Twだけ遅延して第2ポストスパイクパルスを出力する。この第2ポストスパイクパルスによってMOSトランジスタ73がオンとなり、MTJ素子71がソース線SLと接地との間に接続された状態になる。このため、ソース線SLの電位が正または負となっている期間中に、第2ポストスパイクパルスが出力されてMOSトランジスタ73がオンとなると、MTJ素子71にソース線SLの電位に応じた向きの書き込み電流が流れる。
【0115】
例えば、第1プレスパイクパルスが第1ポストスパイクパルスに先行し、これらのパルス時間差ΔTが時間Tw以下である場合には、ソース線SLの電位が正となっているときに、第2ポストスパイクパルスが荷重記憶部70に入力される。このため、MOSトランジスタ73がオンになると、ソース線SLからMTJ素子71に向けて書き込み電流が流れMTJ素子71が反平行状態になる。したがって、荷重記憶部70に第1結合荷重が書き込まれる。
【0116】
一方、第1ポストスパイクパルスが第1プレスパイクパルスに先行し、これらのパルス時間差ΔTが時間Tw以下である場合には、ソース線の電位が負になっているときに、第2ポストスパイクパルスが荷重記憶部70に入力される。このため、MOSトランジスタ73がオンになると、MTJ素子71からソース線SLに向けて書き込み電流が流れて、MTJ素子71が平行状態になる。したがって、荷重記憶部70に第2結合荷重が書き込まれる。
【0117】
なお、第1ポストスパイクパルスと第1プレスパイクパルスとのいずれか一方が他方に対して時間Twを超えて先行している場合では、ソース線SLの電位が接地レベルとなっているときに、MOSトランジスタ73がオンになるので、結合荷重の書き込み動作は行われない。
【0118】
図17に示す荷重記憶部80は、三端子型のMTJ素子81を用いた構成である。MTJ素子81は、磁化固定層81aと磁化自由層81bとを絶縁膜81cを挟んで積層した積層体をチャネル層81d上に設けた構造である。積層体は、チャネル層81d側から磁化自由層81b、絶縁膜81c、磁化固定層81aの順番で積層されている。磁化固定層81a、磁化自由層81bは、強磁性体で形成されている。絶縁膜81cは、非磁性の絶縁体で形成されている。チャネル層81dは、反強磁性体を含む導電層であり、一方向に延びた板状に形成されている。このチャネル層81dの一方の面の中央部に積層体が設けられている。
【0119】
磁化固定層81aは、例えばその膜面に垂直な方向(
図17の上下方向)の一方の向きに磁化の向きが固定され、磁化自由層81bは、その膜面に垂直な方向に磁化容易軸を有し、磁化の向きが磁化固定層81aと同じ向きの平行状態と逆向きの反平行状態とのいずれかに変えることができる。このMTJ素子81は、チャネル層81dの延びた方向に書き込み電流を流すことで生じるスピン軌道トルクの作用によって磁化自由層81bの磁化方向を変えることができ、磁化自由層81bの磁化方向を書き込み電流の向きに応じたものとすることができる。なお、磁化固定層81a、磁化自由層81bの磁化方向は、膜面に平行な方向であってもよい。
【0120】
磁化固定層81aの上面(絶縁膜81cが形成された面とは反対側の面)と、チャネル層81dの延びた方向の一端及び他端とをそれぞれ端子として、MTJ素子81が各部に接続されている。MTJ素子81は、磁化固定層81aの上面がMOSトランジスタ82を介して電源線PLに接続され、チャネル層81dの一端がMOSトランジスタ83を介して接地され、他端がソース線SLに接続されている。
【0121】
MOSトランジスタ82、83は、
図16の例のMOSトランジスタ72、73と同様に、プレスパイク線PrL、第2ポストスパイク線POLbに接続されている。また、ソース線SLの電位の制御及び第2ポストスパイクパルスの発生タイミングについては、
図16の例と同じである。
【0122】
MTJ素子81は、積層体に読み出し電圧を印加して、それを貫通する方向の読み出し電流を流し、読み出し電圧と読み出し電流とからMTJ素子81(積層体)の抵抗の高低を判別することができる。この例では、上述の各例と同様に、MTJ素子81の磁化状態(抵抗値)に応じた電圧の電圧信号Vpreとして取り出す。具体的には、MOSトランジスタ82がオンした際の磁化固定層81aの上面の電位を、コンデンサ36を介して電圧信号Vpreとして出力線OLに出力する。
【0123】
この
図17の例においても、
図16の例と同様に、ソース線SLの電位が制御されて正または負となっている期間中に、第2ポストスパイクパルスが荷重記憶部80に入力されることで、チャネル層81dに流れる書き込み電流の向きが変わる。これにより、第1ポストスパイクパルスと第1プレスパイクパルスとのいずれか一方が他方に対して先行し、これらのパルス時間差が規定時間Tw以下である場合に、MTJ素子81は、第1ポストスパイクパルスと第1プレスパイクパルスの先後関係に応じた磁化状態になる。この結果、第1ポストスパイクパルスと第1プレスパイクパルスとの先後に応じて、シナプス回路11に結合荷重を書き込むことができる。
【0124】
上記、
図16、
図17に示す各例では、いずれも接地レベルよりも高くパルス状に変化するソース線の電位の変化が第1時間窓パルスであり、接地レベルよりも低くパルス状に変化するソース線の電位の変化が第2時間窓パルスである。また、第2ポストスパイクパルスが共通書き込みパルスである。
【0125】
不揮発的に結合荷重を記憶する記憶素子としては、MTJ素子に限定されない。このような記憶素子としては、電気抵抗の違いを利用してデータを記憶するものを好ましく用いることができる。例えば、相変化メモリ(PCRAM:Phase Change Random Access Memory)に用いられ、相変化材料層に電流を流した際に発生するジュール熱によって相変化材料の相状態を変化させてデータの書き換えを行う相変化素子、ReRAM(Resistive RAM, Resistive Random Access Memory)に用いられ、電圧パルスの印加によって荷重記憶部の酸化物層の抵抗値を変化させる抵抗変化素子等が挙げられる。また、不揮発的に結合荷重を記憶する記憶素子として、強誘電体メモリ(Ferroelectric Random Access Memory)に用いられる強誘電体キャパシタを有する強誘電体メモリ素子を用いることもできる。また、その他のバイナリ不揮発記憶素子、例えば、NAND/NOR型フラッシュメモリ素子を用いることもできる。
【0126】
また、上記では、荷重記憶部として、不揮発的に結合荷重を記憶する例について説明しているが、SRAMやDRAM等のように電力を供給している間だけ結合荷重を記憶する揮発性の回路構成に利用できる。
【0127】
図18に示す荷重記憶部90Aは、直列に接続されたMOSトランジスタ91a及びMOSトランジスタ91bからなるインバータ21Aと、直列に接続されたMOSトランジスタ92a及びMOSトランジスタ92bからなるインバータ22AとをクロスカップルさせてSRAMと同様な回路構成としたものである。なお、以下に詳細を説明する他は、第2実施形態または第3実施形態と同じである。
【0128】
ドライブトランジスタとしてのMOSトランジスタ91a、92aは、N型MOSFETであり、ロードトランジスタとしてのMOSトランジスタ91b、92bは、P型MOSFETである。MOSトランジスタ91b、92bの各ソースが電源線PLに直接に接続され、MOSトランジスタ91a、92aの各ソースがソース線SLに接続されている。これにより、インバータ21A、22Aに継続的に電力供給を行って、結合荷重を保持する。結合荷重は、MOSトランジスタ91a、91b(またはMOSトランジスタ91b、92b)のオン、オフの組み合わせとして保持される。
【0129】
MOSトランジスタ91a、91bのドレイン同士が接続された接続ノードSNは、MOSトランジスタ23を介してビット線BLに接続されるとともに、インバータ22Aの各MOSトランジスタ92a、92bのゲートに接続されている。MOSトランジスタ92a、92bのドレイン同士が接続された接続ノードSNBは、MOSトランジスタ24を介してビット線BLBに接続されるとともに、インバータ21Aの各MOSトランジスタ91a、92aのゲートに接続されている。
【0130】
この荷重記憶部90Aでは、出力回路部として、コンデンサ36とともにスイッチ部93が設けられている。コンデンサ36とスイッチ部93とは、直列に接続されており、コンデンサ36の一端がスイッチ部93を介して接続ノードSNBに接続されている。スイッチ部93は、第1プレスパイクパルスが入力されているときにオンとなるものであり、プレスパイク線PrLに接続されている。これにより、第1プレスパイクパルスに応答して、荷重記憶部90Aに記憶されている結合荷重に応じた電圧信号Vpreがコンデンサ36の他端から出力される。なお、スイッチ部93は、オンのときのオン抵抗が0Ω、オフの時のオフ抵抗が無限大となる理想スイッチに近い特性を有する回路、例えばCMOSを用いた回路構成とすることが好ましい。
【0131】
例えば、MOSトランジスタ91aがオフ(MOSトランジスタ91bがオン)、MOSトランジスタ92aがオン(MOSトランジスタ92bがオフ)である場合には、接続ノードSNBがLレベル(0V)となり、0Vの電圧信号が出力される。一方、MOSトランジスタ91aがオン(MOSトランジスタ91bがオフ)、MOSトランジスタ92aがオフ(MOSトランジスタ92bがオン)である場合には、接続ノードSNBがHレベルとなり、相対的に高い電圧信号が出力される。
【0132】
荷重記憶部90Aでは、学習モードの際に、第2実施形態または第3実施形態と同様に第2ポストスパイクパルスを発生させ、またビット線BL、BLBの電位を切り替えることによって第1結合荷重または第2結合荷重の書き込みを制御する。ビット線BL、BLBの電位は、ビット線電位差ΔVBの正負に代えて、ビット線BLがHレベル、ビット線BLBがLレベルの状態と、ビット線BLがLレベル、ビット線BLBがHレベルの状態とに変化させる。例えば、第1結合荷重を書き込む場合には、ビット線BLをLレベル、ビット線BLBをHレベルとし、第2結合荷重を書き込む場合には、ビット線BLをHレベル、ビット線BLBをLレベルとする。
【0133】
なお、
図18の例では、ロードトランジスタを用いているが、各ロードトランジスタに代えて、
図19に示す荷重記憶部90Bのように、抵抗素子96を用いてもよい。
【0134】
上記の各例では、重み付けプレスパイクパルスとして電圧信号を出力する例について説明しているが、結合荷重に応じて電流が増減される電流信号を重み付けプレスパイクパルスとして出力してもよい。
図20に示す例は、荷重記憶部64の出力回路部を重み付けプレスパイクパルスとして電流信号を出力するように構成したものである。
【0135】
出力回路部は、P型MOSFETからなるMOSトランジスタ98で構成される。したがって、コンデンサ36(
図9参照)に代えてMOSトランジスタ98を設けてある。MOSトランジスタ98は、ソースが接続ノードSNBに接続され、ドレインが出力線OLに接続されている。MOSトランジスタ98のゲートは、プレスパイク線PrLに接続されている。これにより、第1プレスパイクパルスに応答して、MOSトランジスタ25、98がそれぞれオンすることで、荷重記憶部97が記憶している結合荷重に応じた電流信号Ipreを出力することができる。なお、電流信号を用いる場合には、ニューロン回路には、電流を積分する回路を設ければよい。
【0136】
他の荷重記憶についても同様に、重み付けプレスパイクパルスとして電流信号を出力するようにすることができる。
図21に示す例は、上述の荷重記憶部14の出力回路部を電流信号Ipreを出力する構成としたものである。同様に、
図22に示す例は、荷重記憶部70の出力回路部を、
図23に示す例は、荷重記憶部80の出力回路部を、それぞれ電流信号Ipreを出力する構成としたものである。これらの荷重記憶部70、80の出力回路部では、第1プレスパイクパルスがハイアクティブであるため、N型MOSFETであるMOSトランジスタ98Aを出力回路部として用いている。また、
図24に示す例は、荷重記憶部90Aの出力回路部を、
図25に示す例は、荷重記憶部90Bの出力回路部を、それぞれ電流信号Ipreを出力する構成としたものである。なお、出力回路部の構成は、適宜に変更することができる。
【符号の説明】
【0137】
10、60 ニューラルネットワーク回路装置
11 シナプス回路
14、64、64A~64D、70、80、90A、90B 荷重記憶部
17 ニューロン回路
20a 入力回路
31、33、71、81 MTJ素子
66a~66d 遅延回路