(57)【要約】【課題】演算精度と信号処理速度とを維持しながら、回路規模を削減できるニューラルネットワーク回路を提供する。【解決手段】メモリスタを記憶素子として格子状に結合してなるクロスバー回路４の複数の電圧入力端子に信号電圧を印加するためデータが入力される複数のＤ／Ａコンバータ２，その出力電圧を受けて前記複数の電圧入力端子に信号電圧を印加するドライブアンプ３，クロスバー回路４の電流出力端子に流れる電流を電圧に変換して出力するセンスアンプ５，アンプ５で変換された信号電圧をＡ／Ｄ変換するＡ／Ｄコンバータ７からなる演算ユニットを複数備える。Ａ／Ｄコンバータ７に抵抗ストリングス型のＤＡＣ部１３を有する逐次比較型を用い、ＤＡＣ部１３を、クロスバー回路４を用いて行われた演算結果の信号電圧を次層演算ユニットのクロスバー回路４に設けられているドライブアンプ３に対して印加するように切り換えて使用可能とする。【選択図】図１
2020009112.tif 000002
【特許請求の範囲】
【請求項１】
可変抵抗素子であるメモリスタを記憶素子として、前記記憶素子を格子状に結合してなる１つ以上の記憶部（４）と、
この記憶部の複数の電圧入力端子に、信号電圧を印加するようにデータが入力される複数のＤ／Ａコンバータ（２，１３）と、
これら複数のＤ／Ａコンバータと、前記複数の電圧入力端子との間に接続される複数の駆動アンプ（３）と、
前記記憶部の電流出力端子に接続され、前記端子に流れる電流を電圧に変換して出力する複数のＩ／Ｖ変換アンプ（５，１４）と、
これら複数のＩ／Ｖ変換アンプを介して変換された信号電圧をＡ／Ｄ変換する複数のＡ／Ｄコンバータとからなる演算ユニット（１，３１，４１）を複数備え、
前記Ａ／Ｄコンバータは、抵抗ストリングス型のＤ／Ａコンバータ（１３）を有する逐次比較型であり、
前記Ａ／Ｄコンバータに内蔵される内蔵Ｄ／Ａコンバータは、前記記憶部を用いて行われた演算結果の信号電圧を、次層の演算ユニットの記憶部に対応して設けられている複数の駆動アンプに対して印加するように、切り換えて使用可能に構成されているニューラルネットワーク回路。
【請求項２】
対を成す２つのＩ／Ｖ変換アンプ（５）の出力について差動演算を行う差動アンプ（６）を備え、
前記Ａ／Ｄコンバータは、前記差動アンプの出力電圧をＡ／Ｄ変換し、
前記内蔵Ｄ／Ａコンバータの出力端子は、前記差動アンプに基準電圧を付与するように切り換え可能に構成され、
前記記憶部の電圧入力端子に信号電圧を印加しない状態で前記差動アンプより出力されるオフセット電圧を、前記Ａ／ＤコンバータによりＡ／Ｄ変換したデータが記憶されるオフセットレジスタ（１９）を備える請求項１記載のニューラルネットワーク回路。
【請求項３】
前記演算ユニット（３１）は、前記記憶部を複数備え、
前記記憶部の１つを選択して入力側のＤ／Ａコンバータにより信号電圧を印加し、出力される信号電圧を前記Ａ／ＤコンバータによりＡ／Ｄ変換し、
前記Ａ／Ｄコンバータの出力側において、各記憶部の演算結果を累算する請求項１又は２記載のニューラルネットワーク回路。
【請求項４】
前記演算ユニット（４１）は、前記記憶部を複数備え、
前記複数の記憶部と前記Ａ／Ｄコンバータとの間にアナログ回路で構成される加算器（６）を備え、
前記Ａ／Ｄコンバータは、前記加算器の加算結果をＡ／Ｄ変換する請求項１又は２記載のニューラルネットワーク回路。
【請求項５】
前記Ａ／Ｄコンバータの出力側において、各演算ユニットの演算結果を累算する請求項４記載のニューラルネットワーク回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶素子としてのメモリスタを格子状に結合してなる記憶部を有するニューラルネットワーク回路に関する。
【背景技術】
【０００２】
現在、メモリスタと称される、不揮発性でコンダクタンス値を可変できる２端子の素子をシナプスとして用い、ニューラルネットワーク回路を構成する研究が進められている。例えば、非特許文献１のＦｉｇ.２に開示されているように、メモリスタを格子状に配置し、Ｄ／Ａコンバータによりアナログ電圧を印加して電流を生成する。その合成電流をトランスインピーダンスアンプで電圧に変換し、Ａ／Ｄコンバータでデジタルデータに変換する。それから、活性化関数による演算を行った後、必要に応じてプーリング等の信号処理を行う。その出力データを次の信号処理層のＤ／Ａコンバータに送り、複数層での信号処理を行う。この時、メモリスタで構成されるクロスバー部では積和演算が実行される。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“Low Power Convolutional Neural Networks on a Chip" Circuits and Systems (ISCAS), 2016 IEEE
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の回路構成を基に、画像認識を行う１０層のＣＮＮ，畳込みニューラルネットワークを構成した例を図１０に示す。同図には、各信号処理層に必要な入力ＤＡＣと出力ＡＤＣのチャンネル数を示している。１層目の畳込み，Convolution層は入力が２８ｃｈ，出力が９６ｃｈで構成される。２層目は、入力が８６５ｃｈ，出力が９６ｃｈで構成される。入力の８６５ｃｈは，１層目の出力９６ｃｈの９個分のデータにバイアス１ｃｈを加えて、９６×９＋１＝８６５ｃｈとなる。
【０００５】
この時、２層目の基本セル構成を入力９６ｃｈ／出力９６ｃｈのクロスバーと入力１ｃｈ／出力９６ｃｈのクロスバーとの組合わせとすると、入力９６ｃｈ／出力９６ｃｈの積和演算を９回と、入力１ｃｈ／出力９６ｃｈの積和演算を１回した出力の和をとることで、入力８６５ｃｈ／出力９６ｃｈのクロスバーと同じ演算結果が得られる。すなわち、バイアス用の１個のＤＡＣを除けば、出力ＡＤＣの個数と次段の入力ＡＤＣの個数を同じに出来る。しかしながら、このような構成をＩＣ化する際には、消費電力と面積の観点からＤＡＣ及びＡＤＣを更に削減する必要がなる。
【０００６】
本発明は上記事情に鑑みてなされたものであり、その目的は、演算精度と信号処理速度とを維持しながら、回路規模を削減できるニューラルネットワーク回路を提供することにある。
【課題を解決するための手段】
【０００７】
請求項１記載のニューラルネットワーク回路によれば、可変抵抗素子であるメモリスタを記憶素子として、格子状に結合してなる１つ以上の記憶部と、記憶部の複数の電圧入力端子に、信号電圧を印加するようにデータが入力される複数のＤ／Ａコンバータと、複数のＤ／Ａコンバータと前記複数の電圧入力端子との間に接続される複数の駆動アンプと、記憶部の電流出力端子に接続され、前記端子に流れる電流を電圧に変換して出力する複数のＩ／Ｖ変換アンプと、これら複数のＩ／Ｖ変換アンプを介して変換された信号電圧をＡ／Ｄ変換する複数のＡ／Ｄコンバータとからなる演算ユニットを複数備える。
【０００８】
前記Ａ／Ｄコンバータには、抵抗ストリングス型のＤ／Ａコンバータを有する逐次比較型を用いる。そして、逐次比較型Ａ／Ｄコンバータに内蔵される内蔵Ｄ／Ａコンバータを、記憶部を用いて行われた演算結果の信号電圧を、次層の演算ユニットの記憶部に対応して設けられている複数の駆動アンプに対して印加するように、切り換えて使用可能とする。このように構成すれば、連続する演算ユニットの間においては、次層の演算ユニットに
データを入力するためのＤ／Ａコンバータとして、前層の逐次比較型Ａ／Ｄコンバータに内蔵される内蔵Ｄ／Ａコンバータを用いることができる。したがって、その分だけ回路規模を削減できる。
【０００９】
請求項２記載のニューラルネットワーク回路によれば、対を成す２つのＩ／Ｖ変換アンプの出力について差動演算を行う差動アンプを備え、Ａ／Ｄコンバータによって差動アンプの出力電圧をＡ／Ｄ変換する。そして、内蔵Ｄ／Ａコンバータの出力端子を、差動アンプに基準電圧を付与するように切り換え可能に構成し、オフセットレジスタに、記憶部の電圧入力端子に信号電圧を印加しない状態で差動アンプより出力されるオフセット電圧をＡ／Ｄ変換したデータを記憶する。このように構成すれば、オフセットレジスタに記憶された電圧データを用いて、差動アンプのオフセット補正を行うことができる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態であり、ニューラルネットワーク回路を構成するアナログ積和演算回路を示す機能ブロック図
【図２】Ａ／Ｄコンバータの各動作モードを説明する図
【図３】複数のアナログ積和演算回路がシリアルに接続された状態を示す機能ブロック図
【図４】クロスバー回路の詳細構成を示す図
【図５】非特許文献２のＦｉｇ．１（ｄ）相当図
【図６】第２実施形態であり、複数のクロスバー回路を備えたアナログ積和演算回路を省略的に示す機能ブロック図
【図７】第３実施形態であり、アナログ積和演算回路を示す機能ブロック図
【図８】複数のクロスバー回路の出力側における差動アンプ及びＡ／Ｄコンバータを中心に示す図
【図９】複数のクロスバー回路を備えたアナログ積和演算回路を省略的に示す機能ブロック図
【図１０】非特許文献１に示す回路を用いて、１０層のＣＮＮを構成した例を示す図
【発明を実施するための形態】
【００１１】
（第１実施形態）
以下、第１実施形態について説明する。図４に示すニューラルネットワーク回路のアナログ積和演算回路１は、入力データＤａｔａ＿ｉｎをＤ／Ａコンバータ２により電圧変換する。変換された電圧はドライブアンプ３を介してメモリスタクロスバー回路４に印加される。ドライブアンプ３は駆動アンプに相当する。メモリスタクロスバー回路４は、メモリスタＧ１１〜Ｇ４２，…を記憶素子とするもので、複数の記憶素子を格子状に配置して構成されており、記憶部に相当する。
【００１２】
クロスバー回路４からは、各記憶素子に設定されているコンダクタンス値に応じて電流が出力され、その電流はセンスアンプ５により電圧に変換される。センスアンプ５はＩ／Ｖ変換アンプに相当する。本実施形態では、アナログ積和演算回路１は、差動構成となっている。センスアンプ５（１）及び５（２）の各出力端子は、差動アンプ６（１）の各入力端子に接続されている。差動アンプ６（１）の出力電圧は、Ａ／Ｄコンバータ７（１）によりＡ／Ｄ変換され、デジタルデータとして出力される。尚、以下の説明では、Ａ／ＤコンバータをＡＤＣ，Ｄ／ＡコンバータをＤＡＣと表記することがある。
【００１３】
図５は、非特許文献２のＦｉｇ．１（ｄ）相当図である。このメモリスタのＩ−Ｖカーブに見られるように、印加する読出し電圧の極性を常に同一方向にしないと、抵抗値の精度は得られない。そのため、メモリスタ２個のコンダクタンスの差分をとることで、極性を表現することが必要になる。差動アンプ６（１）の出力電圧Ｖdiff1の計算例を以下に示す。ｋはゲインである。
Ｖdiff1＝ｋ｛Ｖin1（Ｇ11−Ｇ21）＋Ｖin2（Ｇ12−Ｇ22）｝
＜非特許文献２＞“Advancing Memristive Analog Neuromorphic Networks : Increasing Complexity, and Coping with Imperfect Hardware Components" arXiv:1611.04465
【００１４】
メモリスタのペアＧ11，Ｇ21及びＧ12，Ｇ22のコンダクタンスの大小関係により、同一極性の入力に対して出力極性を反転させることができる。しかし、差動構成を採用するとアンプの数が増える。ニューラルネットワーク回路では、アナログ積和演算回路１を１つの演算ユニットとして、複数の演算ユニットを用いて図１０に示したように複数のＣＮＮ演算を行う。そのため、ＤＡＣ及びＡＤＣと併せてアナログ回路の消費電力と面積が問題となる。
【００１５】
そこで、本実施形態では、以下の構成を採用する。
・図３に示すように、Ａ／Ｄコンバータ７を逐次比較型ＡＤＣとする。
・逐次比較型ＡＤＣに内蔵されているＤ／Ａコンバータを、次層のアナログ積和演算回路１がメモリスタクロスバー回路４にデータを入力するためにも使用する。
・内蔵されているＤ／Ａコンバータを、差動アンプのオフセット補正にも用いる。そのための構成も、逐次比較型ＡＤＣに内蔵する。以下、上記構成の詳細について説明する。
【００１６】
図１に示すように、逐次比較型のＡ／Ｄコンバータ７は、比較部１１，ロジック部１２，内蔵ＤＡＣ部１３及びドライブアンプ１４を備えている。比較部１１は、トラック／ホールド回路１５及びコンパレータ１６を備え、トラック／ホールド回路１５には差動アンプ６の出力電圧が入力される。トラック／ホールド回路１５は、前記出力電圧のレベルを所定のタイミングで一定期間ホールドする以外は、前記出力電圧をそのままコンパレータ１６の非反転入力端子に出力する。
【００１７】
コンパレータ１６の反転入力端子は、スイッチＳＷ１を介して基準電圧Ｖｒｅｆが与えられると共に、スイッチＳＷ２を介してドライブアンプ１４の出力端子に接続されている。また、差動アンプ６（１）の非反転入力端子，反転入力端子は、それぞれスイッチＳＷ２０，ＳＷ２２を介してセンスアンプ５（１），５（２）の出力端子に接続されている。また、前記反転入力端子は、スイッチＳＷ２１及び抵抗素子を介して差動アンプ６（１）の出力端子に接続されている。前記非反転入力端子は、スイッチＳＷ２３及び抵抗素子を介してドライブアンプ１４の出力端子に接続されている。
【００１８】
ロジック部１２は、ＳＡＲロジック部１７，Ｎビットレジスタ１８，オフセットレジスタ１９，ラッチ／加算器２０，ＲｅＬＵ演算部２１及びラッチ／プーリング演算部２２を備えている。ＳＡＲロジック部１７は、逐次比較型ＡＤＣとしての制御を行う。Ｎビットレジスタ１８には、ＳＡＲロジック部１７によりＡ／Ｄ変換された結果のＮビットデータが格納される。オフセットレジスタ１９には、後述するように、Ａ／Ｄコンバータ７によってＡ／Ｄ変換された差動アンプ６のオフセット電圧データが格納される。
【００１９】
ラッチ／加算器２０は、Ｎビットレジスタ１８に格納されたデータをラッチして加算を行う。ＲｅＬＵ演算部２１は、ラッチ／加算器２０より入力されるデータに対し、ニューラルネットワーク回路の活性化関数として、例えば次式のランプ関数ｆ（ｘ）を適用するように演算する。
ｆ（ｘ）＝ｍａｘ（０，ｘ）      …（１）
そして、ラッチ／プーリング演算部２２は、ＲｅＬＵ演算部２１より入力されるデータをラッチして、プーリング演算を行う。
【００２０】
Ｎビットレジスタ１８，オフセットレジスタ１９，ラッチ／プーリング演算部２２の出力端子は、それぞれスイッチＳＷ１０，ＳＷ１１，ＳＷ１２を介して内蔵ＤＡＣ部１３の入力端子に接続されている。内蔵ＤＡＣ部１３は、抵抗ストリング部２３と、デコーダ２４とを備えている。抵抗ストリング部２３は、直列抵抗回路有し、Ｄ／Ａ変換用の各基準電圧を付与する。デコーダ２４は、ロジック部１２より入力されるデータをデコードして、抵抗ストリング部２３が発生させた基準電圧を適宜印加するように切り換える。そして、デコーダ２４が出力するＤ／Ａ変換結果の電圧は、ドライブアンプ１４に入力される。
【００２１】
尚、Ａ／Ｄコンバータ７（２）を構成する内蔵ＤＡＣ部１３（２）では、内蔵ＤＡＣ部１３（１）が備えている抵抗ストリング部２３を共通に使用している。図示しないＡ／Ｄコンバータ７（３）以降についても同様である。
【００２２】
次に、本実施形態の作用について説明する。図２に示すように、Ａ／Ｄコンバータ７は、オフセット補正モード，信号読み込みモード，ＤＡＣ出力モードからなる３つの動作モードを実行する。
【００２３】
＜オフセット補正モード＞
差動アンプ６の入力側に発生するオフセット電圧を補正するモードである。クロスバー回路４の出力が無信号の状態で、スイッチＳＷ２０〜ＳＷ２３をオンさせて差動アンプ６を動作させる。トラック／ホールド回路１５はトラック状態として、差動アンプ６の出力電圧をコンパレータ１６の非反転入力端子に入力する。
【００２４】
スイッチＳＷ１をオン，スイッチＳＷ２をオフにして、コンパレータ１６の反転入力に基準電圧Ｖｒｅｆを入力する。スイッチＳＷ１０はオン，スイッチＳＷ１１及びＳＷ１２はオフにして、ドライブアンプ１４を差動アンプ６のバイアス用バッファとして用いる。ＳＡＲロジック部１７により逐次比較型ＡＤＣとして動作させ、差動アンプ６のオフセット電圧をＡ／Ｄ変換し、変換したデータをオフセットレジスタ１９に格納する。
【００２５】
＜信号読み込みモード＞
逐次比較型ＡＤＣとしての動作を行う。スイッチＳＷ２０〜ＳＷ２３はオンさせて差動アンプ６を動作させる。スイッチＳＷ１をオフ，スイッチＳＷ２をオンにして、コンパレータ１６の反転入力端子に、ＤＡＣ出力であるドライブアンプ１４の出力電圧を入力する。スイッチＳＷ１０はオフ，スイッチＳＷ１１はオン，スイッチＳＷ１２はオフさせて、オフセットレジスタ１９に格納されているデータに相当するオフセット電圧を、差動アンプ６の反転入力端子に入力し、オフセット補正を行う。
【００２６】
トラック／ホールド回路１５をトラック状態として差動アンプ６の出力電圧を読み込み、ホールド状態に切り替えてからスイッチＳＷ１０をオン，スイッチＳＷ１１をオフして逐次比較型ＡＤＣとして動作させる。クロスバー回路４の読み込みが１回で良い場合は、そのデータにＲｅＬＵ演算部２１で演算を行い、演算結果を記憶する。
【００２７】
＜ＤＡＣ出力モード＞
次層のアナログ積和演算回路１に演算結果を入力する。スイッチＳＷ２０〜ＳＷ２３をオフして差動アンプ６をオフさせる。スイッチＳＷ１をオン，スイッチＳＷ２をオフにして、ドライバアンプ１４とコンパレータ１６との接続を遮断する。そして、スイッチＳＷ１０及びＳＷ１１をオフ、スイッチＳＷ１２をオンして、プーリング処理したデータを、次層のアナログ積和演算回路１のクロスバー回路４に書き込む。次層のアナログ積和演算回路１において、ドライブアンプ３のオフセット補正を行う場合は基準電圧を出力する。
【００２８】
以上のように本実施形態によれば、可変抵抗素子であるメモリスタを記憶素子として、格子状に結合してなるクロスバー回路４と、クロスバー回路４の複数の電圧入力端子に信号電圧を印加するようにデータが入力される複数のＤ／Ａコンバータ２と、Ｄ／Ａコンバータ２の出力電圧を受けて前記複数の電圧入力端子に信号電圧を印加する複数のドライブアンプ３と、クロスバー回路４の電流出力端子に流れる電流を電圧に変換して出力する複数のセンスアンプ５と、センスアンプ５により変換された信号電圧をＡ／Ｄ変換する複数のＡ／Ｄコンバータ７とからなる演算ユニットを複数備える。
【００２９】
Ａ／Ｄコンバータ７に、抵抗ストリングス型のＤＡＣ部１３を有する逐次比較型を用い、ＤＡＣ部１３を、クロスバー回路４を用いて行われた演算結果の信号電圧を、次層の演算ユニットのクロスバー回路４に対応して設けられている複数のドライブアンプ３に対して印加するように、切り換えて使用可能とする。このように構成すれば、連続する演算ユニットの間においては、次層の演算ユニットにデータを入力するためのＤ／Ａコンバータとして、前層のＡ／Ｄコンバータ７に内蔵されるＤＡＣ部１３を用いることができる。したがって、その分だけ回路規模を削減できる。
【００３０】
また、対を成す２つのセンスアンプ５の出力について差動演算を行う差動アンプ６を備え、Ａ／Ｄコンバータ７により差動アンプ６の出力電圧をＡ／Ｄ変換する。そして、スイッチＳＷ１及びＳＷ２により、差動アンプ６に基準電圧Ｖｒｅｆを付与するように切り換え可能に構成し、クロスバー回路４の電圧入力端子に信号電圧を印加しない状態で差動アンプ６より出力されるオフセット電圧をＡ／Ｄ変換し、変換したデータをオフセットレジスタ１９に記憶する。このように構成すれば、オフセットレジスタ１９に記憶された電圧データを用いて、差動アンプ６のオフセット補正を行うことができる。
【００３１】
（第２実施形態）
以下、第１実施形態と同一部部分には同一符号を付して説明を省略し、異なる部分について説明する。図６に省略的に示すように、第２実施形態のアナログ積和演算回路３１は、共通のＤ／Ａコンバータ２とＡ／Ｄコンバータ７との間に、複数，例えば９個のクロスバー回路４を備えている。すなわち、Ｄ／Ａコンバータ２の出力端子は、全てのクロスバー回路４の電圧入力端子に接続されており、Ａ／Ｄコンバータ７の入力端子は、全てのクロスバー回路４の電流出力端子に接続されている。
【００３２】
アナログ積和演算回路３１は、複数のクロスバー回路４の出力結果を合成する。この際に、複数のクロスバー回路４の内の一つを選択し、初段の演算回路３１であれば独立したＤ／Ａコンバータ２で電圧信号を入力し、次層の演算回路３１であれば、Ａ／Ｄコンバータ７の内蔵ＤＡＣ部１３によって電圧信号を入力する。
【００３３】
そして、クロスバー回路４の演算結果である出力信号をＡ／Ｄコンバータ７によりＡ／Ｄ変換し、Ｎビットレジスタ１８に格納する。次に、別のクロスバー回路４に切り替えて同様に信号を入力して、出力データをラッチ／加算器２０で加算することを複数回繰り返す。その後、ＲｅＬＵ演算部２１及びラッチ／プーリング演算部２２により演算を行い、最終的な演算結果を記憶する。
【００３４】
以上のように第２実施形態によれば、アナログ積和演算回路３１に、複数のクロスバー回路４を備え、クロスバー回路４の１つを選択して入力側のＤ／Ａコンバータ２又は内蔵ＤＡＣ部１３により信号電圧を印加し、出力される信号電圧をＡ／Ｄコンバータ７によりＡ／Ｄ変換する。そして、Ａ／Ｄコンバータ７が備えるラッチ／加算器２０において、各クロスバー回路４の演算結果を累算する。このように構成すれば、本発明を複数のクロスバー回路４を用いて大規模な演算を行うニューラルネットワーク回路に適用でき、回路面積を大きく削減できる。
【００３５】
（第３実施形態）
第３実施形態は、第２実施形態のように大規模な演算を行うための別の構成を示す。第２実施形態では、個々のクロスバー回路４による積和演算結果を、Ａ／Ｄ変換後のデジタル領域で加算している。この繰り返し演算によって信号処理時間が長引くことが問題となる。
【００３６】
第３実施形態では、図７に示すように、内蔵ＤＡＣ部１３においてデコーダ２４（ａ）を追加し、デコーダ２４（ａ）に接続されるドライブアンプ１４（ａ）を追加する。これにより、内蔵ＤＡＣ部１３の出力端子数を増やすことができる。図９では、例えばＤ／Ａコンバータ２（１）の出力端子数を３倍にして、クロスバー回路４（１），４（２），４（３）に対して並列に電圧を印加する。
【００３７】
図８に示すように、差動アンプ６の入力側では、各センスアンプ５の出力端子が抵抗素子を介して接続されるので、差動アンプ６はアナログ加算回路としても機能する。図中のＶｏｕｔ１は、例えば図９におけるクロスバー回路４（１）の出力信号であり、Ｖｏｕｔ１ａは、同図におけるクロスバー回路４（１ａ）の出力信号である。これらが、差動アンプ６の入力側で加算され、加算結果がＡ／Ｄコンバータ７（１）によりＡ／Ｄ変換される。これらがアナログ積和演算回路４１を構成している。
【００３８】
そして、Ａ／Ｄコンバータ７（１），７（２），７（３）の出力データは、第１，第２実施形態と同様に、それぞれの内蔵ＤＡＣ部１３によりＤ／Ａ変換され、次層のアナログ積和演算回路４１のクロスバー回路４に入力される。最終層のアナログ積和演算回路４１における演算結果データは、デジタル領域で加算される。
【００３９】
以上のように第３実施形態によれば、アナログ積和演算回路４１は、複数のクロスバー回路４を備え、複数のクロスバー回路４の出力信号を、差動アンプ６をアナログ加算回路として機能させ、その加算結果をＡ／Ｄコンバータ７に入力してＡ／Ｄ変換させる。そして、最終層のアナログ積和演算回路４１においてＡ／Ｄコンバータ７によりＡ／Ｄ変換されたデータを、デジタル領域で加算するようにした。このようにアナログ信号加算とデジタル信号加算を組合わせることで、演算処理時間を最適化しながら、演算ユニットの大規模化に対応できる。
【００４０】
（その他の実施形態）
活性化関数には、ランプ関数以外を用いても良い。
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
【符号の説明】
【００４１】
図面中、１はアナログ積和演算回路、２はＤ／Ａコンバータ、３はドライブアンプ、４はメモリスタクロスバー回路、７はセンスアンプ、８はＡ／Ｄコンバータ、１３は内蔵ＤＡＣ部、１４はドライブアンプ、１９はオフセットレジスタである。
【図１】
2020009112.tif 000003
【図２】
2020009112.tif 000004
【図３】
2020009112.tif 000005
【図４】
2020009112.tif 000006
【図５】
2020009112.tif 000007
【図６】
2020009112.tif 000008
【図７】
2020009112.tif 000009
【図８】
2020009112.tif 000010
【図９】
2020009112.tif 000011
【図１０】
2020009112.tif 000012