(57)【要約】  本技術の一形態に係る演算装置は、複数の入力線と、積和演算装置とを具備する。前記複数の入力線は、電気信号が入力される。前記積和演算装置は、１対の出力線と、前記複数の入力線に入力される前記電気信号に基づいて、前記電気信号により表される信号値に荷重値を乗算した乗算値に対応する電荷を生成する荷重部と、２値状態を保持する保持部と、前記保持された２値状態に基づいて、前記荷重部により生成された電荷を前記１対の出力線のいずれか一方に出力するスイッチ部とを有する複数の乗算部と、前記複数の乗算部により前記１対の出力線に出力された電荷を蓄積する蓄積部と、前記蓄積された電荷に基づいて、前記乗算値の和を表す積和信号を出力する出力部とを有する。
2020017362.tif 000002
【特許請求の範囲】
【請求項１】
電気信号が入力される複数の入力線と、
１対の出力線と、
前記複数の入力線に入力される前記電気信号に基づいて、前記電気信号により表される信号値に荷重値を乗算した乗算値に対応する電荷を生成する荷重部と、２値状態を保持する保持部と、前記保持された２値状態に基づいて、前記荷重部により生成された電荷を前記１対の出力線のいずれか一方に出力するスイッチ部とを有する複数の乗算部と、
前記複数の乗算部により前記１対の出力線に出力された電荷を蓄積する蓄積部と、
前記蓄積された電荷に基づいて、前記乗算値の和を表す積和信号を出力する出力部と
を有する積和演算装置と
を具備する演算装置。
【請求項２】
請求項１に記載の演算装置であって、
前記荷重部は、入力端子と、出力端子と、前記入力端子及び前記出力端子の間の導通を制御するためのゲート端子とを有するＭＯＳトランジスタを含む
演算装置。
【請求項３】
請求項２に記載の演算装置であって、
前記荷重値は、前記入力端子及び前記出力端子の間の抵抗により設定される
演算装置。
【請求項４】
請求項２に記載の演算装置であって、
前記保持部は、前記保持された２値状態に基づいて、互いの電圧が異なるように２種類の電圧を切り替えて出力する第１の端子及び第２の端子を有する
演算装置。
【請求項５】
請求項４に記載の演算装置であって、
前記ゲート端子は、前記入力線に接続され、
前記入力端子は、前記第１の端子、前記第２の端子、及び所定の定電圧源のいずれか一つに接続される
演算装置。
【請求項６】
請求項４に記載の演算装置であって、
前記入力端子は、前記入力線に接続され、
前記ゲート端子は、前記第１の端子、前記第２の端子、及び所定のゲート電圧源のいずれか一つに接続される
演算装置。
【請求項７】
請求項２に記載の演算装置であって、
前記荷重部は、互いに同じ前記入力線に接続される第１のＭＯＳトランジスタと第２のＭＯＳトランジスタとを有し、
前記スイッチ部は、前記第１及び前記第２のＭＯＳトランジスタにより構成される
演算装置。
【請求項８】
請求項２に記載の演算装置であって、
前記１対の出力線は、第１の出力線と第２の出力線とを含み、
前記スイッチ部は、前記出力端子と前記第１の出力線とを接続する第１のスイッチ素子と、前記出力端子と前記第２の出力線とを接続する第２のスイッチ素子とを有する
演算装置。
【請求項９】
請求項２に記載の演算装置であって、
前記保持部は、前記入力端子に接続され、
前記荷重部は、前記入力端子から前記保持部の２値状態を制御する制御信号を出力する
演算装置。
【請求項１０】
請求項１に記載の演算装置であって、
前記荷重部は、前記信号値に前記荷重値の絶対値を乗算した乗算値に対応する電荷を生成し、
前記保持部は、前記荷重値の符号に対応する２値状態を保持する
演算装置。
【請求項１１】
請求項１に記載の演算装置であって、
前記荷重値は、前記複数の乗算部において、互いに絶対値が等しく符号の異なる第１の値及び第２の値のどちらか一方に設定される
演算装置。
【請求項１２】
請求項１に記載の演算装置であって、
前記複数の入力線は、第１の入力線及び第２の入力線を対とする、複数の前記入力線の対を含み、
前記乗算部は、前記入力線の対のうち、前記第１の入力線に接続される第１の荷重部と、前記第２の入力線に接続される第２の荷重部とを有する
演算装置。
【請求項１３】
請求項１２に記載の演算装置であって、
前記乗算部は、前記保持された２値状態に基づいて、前記第１の荷重部により生成される電荷を前記１対の出力線の一方に出力する第１のスイッチ部と、前記第２の荷重部により生成される電荷を前記１対の出力線の他方に出力する第２のスイッチ部とを有する
演算装置。
【請求項１４】
請求項１に記載の演算装置であって、
前記荷重部は、前記乗算値に対応する電荷量を制御する高抵抗素子を含む
演算装置。
【請求項１５】
請求項１に記載の演算装置であって、
前記荷重部は、サブスレッショルド領域で動作するＭＯＳトランジスタを含む
演算装置。
【請求項１６】
請求項１に記載の演算装置であって、さらに、
前記複数の入力線の各々に、並列に接続される複数の前記積和演算装置を具備する
演算装置。
【請求項１７】
請求項１６に記載の演算装置であって、
前記複数の入力線は、複数の前記積和演算装置が有する複数対の前記出力線に対して交差するように配線される
演算装置。
【請求項１８】
請求項１に記載の演算装置であって、
前記電気信号は、入力期間内でのタイミング又はパルス幅により前記信号値を表す信号であり、
前記積和演算装置は、前記入力期間の後の出力期間に前記蓄積部を一定の充電速度で充電する充電部を有し、
前記出力部は、前記出力期間に前記蓄積部の電位を閾値判定することで、前記積和信号を出力する
演算装置。
【請求項１９】
請求項１８に記載の演算装置であって、
前記充電部は、前記入力期間に前記蓄積部を前記１対の出力線に接続し、前記出力期間に前記蓄積部を前記一定の充電速度に応じた電流を供給する電流源に接続する
演算装置。
【請求項２０】
請求項１８に記載の演算装置であって、
前記充電部は、前記入力期間の前に前記蓄積部をＧＮＤに接続する
演算装置。
【請求項２１】
１対の出力線と、
複数の入力線に入力される前記電気信号に基づいて、前記電気信号により表される信号値に荷重値を乗算した乗算値に対応する電荷を生成する荷重部と、２値状態を保持する保持部と、前記保持された２値状態に基づいて、前記荷重部により生成された電荷を前記１対の出力線のいずれか一方に出力するスイッチ部とを有する複数の乗算部と、
前記複数の乗算部により前記１対の出力線に出力された電荷を蓄積する蓄積部と、
前記蓄積された電荷に基づいて、前記乗算値の和を表す積和信号を出力する出力部と
を具備する積和演算装置。
【請求項２２】
１対の出力線と、
複数の入力線に入力される前記電気信号に基づいて、前記電気信号により表される信号値に荷重値を乗算した乗算値に対応する電荷を生成する荷重部と、２値状態を保持する保持部と、前記保持された２値状態に基づいて、前記荷重部により生成された電荷を前記１対の出力線のいずれか一方に出力するスイッチ部とを有する複数の乗算部と、
前記複数の乗算部により前記１対の出力線に出力された電荷を蓄積する蓄積部と、
前記蓄積された電荷に基づいて、前記乗算値の和を表す積和信号を出力する出力部と
を具備する積和演算回路。
【請求項２３】
電気信号が入力される複数の入力線と、
１対の出力線と、
前記複数の入力線に入力される前記電気信号に基づいて、前記電気信号により表される信号値に荷重値を乗算した乗算値に対応する電荷を生成する荷重部と、２値状態を保持する保持部と、前記保持された２値状態に基づいて、前記荷重部により生成された電荷を前記１対の出力線のいずれか一方に出力するスイッチ部とを有する複数の乗算部と、
前記複数の乗算部により前記１対の出力線に出力された電荷を蓄積する蓄積部と、
前記蓄積された電荷に基づいて、前記乗算値の和を表す積和信号を出力する出力部と
を有する複数のアナログ回路と、
前記複数のアナログ回路を接続して構成されたネットワーク回路と
を具備する積和演算システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、アナログ方式を用いた積和演算に適用可能な演算装置、積和演算装置、積和演算回路、及び積和演算システムに関する。
【背景技術】
【０００２】
従来、積和演算を行う技術が開発されている。積和演算は、複数の入力値のそれぞれに荷重を乗算し、各乗算結果を互いに加算する演算であり、例えばニューラルネットワーク等による画像や音声等の認識処理に用いられる。【０００３】
例えば特許文献１には、積和演算の処理をアナログ方式によって行うアナログ回路について記載されている。このアナログ回路では、複数の電気信号のそれぞれに対応した荷重が設定される。また、対応する電気信号と荷重とに応じた電荷がそれぞれ出力され、出力された電荷がキャパシタに適宜蓄えられる。そして、電荷が蓄えられたキャパシタの電圧に基づいて積和結果を表す算出対象値が算出される。これにより、例えばデジタル方式による処理と比べて積和演算に要する消費電力を抑制することが可能となっている（特許文献１の明細書段落［０００３］［００４９］−［００５３］［００６２］図３等）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１８／０３４１６３号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このようなアナログ方式の回路を用いることで、ニューラルネットワーク等の低消費電力化につながると期待されており、積和演算を行うアナログ方式の回路を容易に集積する技術が求められている。【０００６】
以上のような事情に鑑み、本技術の目的は、積和演算を行うアナログ方式の回路を容易に集積することが可能な演算装置、積和演算装置、積和演算回路、及び積和演算システムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本技術の一形態に係る演算装置は、複数の入力線と、積和演算装置とを具備する。
前記複数の入力線は、電気信号が入力される。
前記積和演算装置は、１対の出力線と、前記複数の入力線に入力される前記電気信号に基づいて、前記電気信号により表される信号値に荷重値を乗算した乗算値に対応する電荷を生成する荷重部と、２値状態を保持する保持部と、前記保持された２値状態に基づいて、前記荷重部により生成された電荷を前記１対の出力線のいずれか一方に出力するスイッチ部とを有する複数の乗算部と、前記複数の乗算部により前記１対の出力線に出力された電荷を蓄積する蓄積部と、前記蓄積された電荷に基づいて、前記乗算値の和を表す積和信号を出力する出力部とを有する。【０００８】
この演算装置では、複数の入力線に電気信号が入力される。積和演算装置の複数の乗算部では、電気信号の信号値と荷重値との乗算値に対応する電荷が生成される。生成された電荷は、２値状態を保持する保持部の状態に基づいて、１対の出力線のどちらかに出力される。各乗算部から出力された電荷は蓄積され、蓄積された電荷に基づいて積和信号が出力される。このような乗算部の構成は、集積回路の製造技術等を用いて集積可能であり、積和演算を行うアナログ方式の回路を容易に集積することが可能となる。【０００９】
前記荷重部は、入力端子と、出力端子と、前記入力端子及び前記出力端子の間の導通を制御するためのゲート端子とを有するＭＯＳトランジスタを含んでもよい。
これにより、ＭＯＳトランジスタの製造技術等を用いて荷重部を容易に構成することが可能となり、積和演算を行うアナログ方式の回路を容易に集積することが可能となる。【００１０】
前記荷重値は、前記入力端子及び前記出力端子の間の抵抗により設定されてもよい。
これにより、例えば荷重値を適宜設定することで、乗算値に対応する電荷量を適正に制御することが可能となる。この結果、積和演算を適正に実行することが可能となる。【００１１】
前記保持部は、前記保持された２値状態に基づいて、互いの電圧が異なるように２種類の電圧を切り替えて出力する第１の端子及び第２の端子を有してもよい
これにより、例えば２値状態に応じたスイッチ制御等を適正に実行することが可能となり、積和演算を適正に実行することが可能となる。【００１２】
前記ゲート端子は、前記入力線に接続されてもよい。この場合、前記入力端子は、前記第１の端子、前記第２の端子、及び所定の定電圧源のいずれか一つに接続されてもよい。
これにより、例えば入力端子の電位を安定させることが可能となり、処理の安定性を向上することが可能となる。【００１３】
前記入力端子は、前記入力線に接続されてもよい。この場合、前記ゲート端子は、前記第１の端子、前記第２の端子、及び所定のゲート電圧源のいずれか一つに接続されてもよい。
これにより、例えばゲート端子を制御するラインと電気信号や電荷を伝送するラインとを分離することが可能となり、ＧＮＤノイズの影響等を抑制することが可能となる。【００１４】
前記荷重部は、互いに同じ前記入力線に接続される第１のＭＯＳトランジスタと第２のＭＯＳトランジスタとを有してもよい。この場合、前記スイッチ部は、前記第１及び前記第２のＭＯＳトランジスタにより構成されてもよい。
これにより、必要となるＭＯＳトランジスタの数等を抑えることが可能となる。この結果、素子面積を小さくすることや、素子密度を増加させることが可能となる。【００１５】
前記１対の出力線は、第１の出力線と第２の出力線とを含んでもよい。この場合、前記スイッチ部は、前記出力端子と前記第１の出力線とを接続する第１のスイッチ素子と、前記出力端子と前記第２の出力線とを接続する第２のスイッチ素子とを有してもよい。
これにより、出力端子の接続先を適正に切り替えることが可能となり、積和演算を適正に実行することが可能となる。【００１６】
前記保持部は、前記入力端子に接続されてもよい。この場合、前記荷重部は、前記入力端子から前記保持部の２値状態を制御する制御信号を出力してもよい。
これにより、必要となるＭＯＳトランジスタの数等を抑えることが可能となる。この結果、素子面積を小さくすることや、素子密度を増加させることが可能となる。【００１７】
前記荷重部は、前記信号値に前記荷重値の絶対値を乗算した乗算値に対応する電荷を生成してもよい。この場合、前記保持部は、前記荷重値の符号に対応する２値状態を保持してもよい。
これにより、例えば正負の荷重値との乗算処理を容易に実現することが可能となり、シンプルな回路構成で乗算処理を行うことが可能となる。【００１８】
前記荷重値は、前記複数の乗算部において、互いに絶対値が等しく符号の異なる第１の値及び第２の値のどちらか一方に設定されてもよい。
これにより、例えば２値状態に応じて正負が設定される２値化された荷重値を実装することが可能となる。これにより、バイナリコネクト方式の積和演算が可能となる。【００１９】
前記複数の入力線は、第１の入力線及び第２の入力線を対とする、複数の前記入力線の対を含んでもよい。この場合、前記乗算部は、前記入力線の対のうち、前記第１の入力線に接続される第１の荷重部と、前記第２の入力線に接続される第２の荷重部とを有してもよい。
これにより、例えば正の信号と負の信号とを含む２入力の電気信号についての荷重処理が可能となる。これにより、各種の方式の積和演算を実行することが可能となる。【００２０】
前記乗算部は、前記保持された２値状態に基づいて、前記第１の荷重部により生成される電荷を前記１対の出力線の一方に出力する第１のスイッチ部と、前記第２の荷重部により生成される電荷を前記１対の出力線の他方に出力する第２のスイッチ部とを有してもよい。
これにより、例えば正の信号と負の信号とを含む２入力の電気信号についての荷重処理が可能となる。これにより、各種の方式の積和演算を実行することが可能となる。【００２１】
前記荷重部は、前記乗算値に対応する電荷量を制御する高抵抗素子を含んでもよい。
これにより、例えば蓄積部に蓄積される電荷量を制御することが可能となり、所望の精度で積和結果を算出することが可能となる。【００２２】
前記荷重部は、サブスレッショルド領域で動作するＭＯＳトランジスタを含んでもよい。
これにより、例えば蓄積部に蓄積される電荷量を制御するとともに、積和演算に要する消費電力等を十分に抑制することが可能となる。【００２３】
前記演算装置は、さらに、前記複数の入力線の各々に、並列に接続される複数の前記積和演算装置を具備してもよい。
これにより、例えば複数の積和演算を同時に実行するといったことが可能となり、優れた演算性能を発揮することが可能となる。【００２４】
前記複数の入力線は、複数の前記積和演算装置が有する複数対の前記出力線に対して交差するように配線されてもよい。【００２５】
これにより、入力線と出力線が交差するクロスバー構造を用いることが可能となり、積和演算を行うアナログ方式の回路を容易に集積することが可能となる。【００２６】
前記電気信号は、入力期間内でのタイミング又はパルス幅により前記信号値を表す信号であってもよい。この場合、前記積和演算装置は、前記入力期間の後の出力期間に前記蓄積部を一定の充電速度で充電する充電部を有してもよい。また前記出力部は、前記出力期間に前記蓄積部の電位を閾値判定することで、前記積和信号を出力してもよい。
これにより、蓄積部に蓄積された電荷を精度よく容易に検出することが可能となる。この結果、高精度な積和信号を容易に生成することが可能となる。【００２７】
前記充電部は、前記入力期間に前記蓄積部を前記１対の出力線に接続し、前記出力期間に前記蓄積部を前記一定の充電速度に応じた電流を供給する電流源に接続してもよい。
これにより、入力期間での電荷の蓄積と、出力期間での電荷の読み出しとを適正に実行することが可能となり、積和演算を適正に実行することが可能となる。【００２８】
前記充電部は、前記入力期間の前に前記蓄積部をＧＮＤに接続してもよい。
これにより、例えば蓄積部に蓄積された電荷等を０にして蓄積状況を初期化することが可能となり、適正な演算処理を繰り返し実行することが可能となる。【００２９】
本技術の一形態に係る積和演算装置は、１対の出力線と、複数の乗算部と、蓄積部と、出力部とを具備する。
前記乗算部は、前記複数の入力線に入力される前記電気信号に基づいて、前記電気信号により表される信号値に荷重値を乗算した乗算値に対応する電荷を生成する荷重部と、２値状態を保持する保持部と、前記保持された２値状態に基づいて、前記荷重部により生成された電荷を前記１対の出力線のいずれか一方に出力するスイッチ部とを有する。
前記蓄積部は、前記複数の乗算部により前記１対の出力線に出力された電荷を蓄積する。
前記出力部は、前記蓄積された電荷に基づいて、前記乗算値の和を表す積和信号を出力する。【００３０】
本技術の一形態に係る積和演算回路は、１対の出力線と、複数の乗算部と、蓄積部と、出力部とを具備する。
前記乗算部は、前記複数の入力線に入力される前記電気信号に基づいて、前記電気信号により表される信号値に荷重値を乗算した乗算値に対応する電荷を生成する荷重部と、２値状態を保持する保持部と、前記保持された２値状態に基づいて、前記荷重部により生成された電荷を前記１対の出力線のいずれか一方に出力するスイッチ部とを有する。
前記蓄積部は、前記複数の乗算部により前記１対の出力線に出力された電荷を蓄積する。
前記出力部は、前記蓄積された電荷に基づいて、前記乗算値の和を表す積和信号を出力する。【００３１】
本技術の一形態に係る積和演算システムは、複数の入力線と、複数のアナログ回路と、ネットワーク回路とを具備する。
前記複数の入力線は、電気信号が入力される。
前記複数のアナログ回路は、１対の出力線と、前記複数の入力線に入力される前記電気信号に基づいて、前記電気信号により表される信号値に荷重値を乗算した乗算値に対応する電荷を生成する荷重部と、２値状態を保持する保持部と、前記保持された２値状態に基づいて、前記荷重部により生成された電荷を前記１対の出力線のいずれか一方に出力するスイッチ部とを有する複数の乗算部と、前記複数の乗算部により前記１対の出力線に出力された電荷を蓄積する蓄積部と、前記蓄積された電荷に基づいて、前記乗算値の和を表す積和信号を出力する出力部とを有する。
前記ネットワーク回路は、前記複数のアナログ回路を接続して構成される。
【発明の効果】
【００３２】
以上のように、本技術によれば、積和演算を行うアナログ方式の回路を容易に集積することが可能となる。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００３３】
【図１】本技術の第１の実施形態に係る演算装置の構成例を示す模式図である。
【図２】アナログ回路に入力される電気信号の一例を示す模式図である。
【図３】演算装置の具体的な構成例を示す模式図である。
【図４】ニューロン回路の構成例を示す模式図である。
【図５】シナプス回路の構成例を示す回路図である。
【図６】シナプス回路の動作の一例を示すタイミングチャートである。
【図７】Ａｘｏｎラインに電気信号を入力する入力回路の一例を示す回路図である。
【図８】入力回路の動作の一例を示すタイミングチャートである。
【図９】ＲｅＬＵ関数を実装した関数回路の一例を示す回路図である。
【図１０】関数回路の動作の一例を示すタイミングチャートである。
【図１１】シナプス回路の他の構成例を示す回路図である。
【図１２】第２の実施形態に係る演算装置の構成例を示す模式図である。
【図１３】アナログ回路に入力される電気信号の一例を示す模式図である。
【図１４】演算装置の具体的な構成例を示す模式図である。
【図１５】ニューロン回路の構成例を示す模式図である。
【図１６】シナプス回路の構成例を示す回路図である。
【図１７】シナプス回路の動作の一例を示すタイミングチャートである。
【図１８】±Ａｘｏｎラインに電気信号を入力する入力回路の一例を示す回路図である。
【図１９】入力回路の動作の一例を示すタイミングチャートである。
【図２０】ＲｅＬＵ関数を実装した関数回路の一例を示す回路図である。
【図２１】シナプス回路の他の構成例を示す回路図である。
【図２２】シナプス回路の他の構成例を示す回路図である。
【図２３】シナプス回路の他の構成例を示す回路図である。
【図２４】シナプス回路の他の構成例を示す回路図である。
【図２５】シナプス回路の他の構成例を示す回路図である。
【図２６】図４に示すニューロン回路の具体的な構成例を示す回路図である。
【図２７】図２６に示すニューロン回路の動作例を示すタイミングチャートである。
【図２８】図１５に示すニューロン回路の具体的な構成例を示す回路図である。
【図２９】図２８に示すニューロン回路の動作例を示すタイミングチャートである。
【図３０】図２８に示すニューロン回路の他の動作例を示すタイミングチャートである。
【発明を実施するための形態】
【００３４】
＜第１の実施形態＞
［演算装置の構成］
図１は、本技術の第１の実施形態に係る演算装置の構成例を示す模式図である。演算装置１００は、積和演算を含む所定の演算処理を実行するアナログ方式の演算装置である。演算装置１００を用いることで、例えばニューラルネットワーク等の数学モデルに従った演算処理を実行することが可能である。
【００３５】
演算装置１００は、複数の信号線１と、複数の入力部２と、複数のアナログ回路３とを有する。各信号線１は、所定の方式の電気信号を伝送する線である。電気信号としては、例えばパルスのタイミングや幅等のアナログ量を用いて信号値を表すアナログ信号が用いられる。電気信号の方式については、後に詳しく説明する。図１には電気信号が伝送される方向が、矢印を用いて模式的に図示されている。本実施形態では、アナログ回路３は、積和演算装置に相当する。
【００３６】
例えば、１つのアナログ回路３には、複数の信号線１が接続される。アナログ回路３に電気信号を伝送する信号線１は、その信号線１が接続されたアナログ回路３にとって、電気信号が入力される入力信号線となる。また、アナログ回路３から出力される電気信号を伝送する信号線１は、その信号線１が接続されたアナログ回路３にとって、電気信号が出力される出力信号線となる。本実施形態では、入力信号線は、入力線に相当する。
【００３７】
複数の入力部２は、入力データ４に応じた複数の電気信号をそれぞれ生成する。入力データ４は、例えば演算装置１００によって実装されるニューラルネットワーク等を用いた処理の対象となるデータである。従って入力データ４に応じた複数の電気信号の各信号値は、演算装置１００に対する入力値であるとも言える。
【００３８】
入力データ４としては、例えば演算装置１００の処理対象となる画像データ、音声データ、統計データ等の任意のデータが用いられる。例えば、入力データ４として画像データが用いられる場合等には、画像データの各画素の画素値（ＲＧＢ値や輝度値等）を信号値とする電気信号が生成される。この他、入力データ４の種類や演算装置１００による処理の内容に応じて、入力データ４に応じた電気信号が適宜生成されてよい。
【００３９】
アナログ回路３は、入力される電気信号に基づいて、積和演算を行うアナログ方式の回路である。積和演算は、例えば複数の入力値と、各入力値に対応する荷重値とをそれぞれ乗算して得られる複数の乗算値を足し合わせる演算である。従って積和演算は、各乗算値の和（以下積和結果と記載する）を算出する処理であるとも言える。
【００４０】
図１に示すように、１つのアナログ回路３には、複数の入力信号線が接続され、複数の電気信号が与えられる。これら複数の入力信号線とアナログ回路とにより、本実施形態に係る積和演算回路が構成される。また各入力信号線から複数の電気信号が入力されることで、積和演算回路（アナログ回路３）により、本実施形態に係る積和演算方法が実行される。
【００４１】
以下では、１つのアナログ回路３に入力される電気信号の総数をＮとする。なお、各アナログ回路３に入力される電気信号の個数Ｎは、例えば演算処理のモデルや精度等に応じて回路ごとに適宜設定される。
【００４２】
アナログ回路３では、例えばｉ番目の入力信号線から入力される電気信号により表される信号値ｘiと、信号値ｘiに対応する荷重値ｗiとの乗算値であるｗi・ｘiが算出される。ここでｉはＮ以下の自然数（ｉ＝１、２、・・・、Ｎ）である。乗算値の演算は、各電気信号（入力信号線）ごとに実行され、Ｎ個の乗算値が算出される。このＮ個の乗算値をそれぞれ足し合わせた値が積和結果（Ｎ個の乗算値の和）として算出される。従って、１つのアナログ回路３で算出される積和結果は、以下の式で表される。
【００４３】
【数１】
2020017362.tif 000003
【００４４】
荷重値ｗiは、例えば−α≦ｗi≦＋αの範囲に設定される。ここでαは、任意の実数値である。従って荷重値ｗiには、正の荷重値ｗiや負の荷重値ｗi、あるいはゼロの荷重値ｗi等が含まれる。このように、荷重値ｗiを所定の範囲に設定することで、積和結果が発散するといった事態を回避することが可能である。
【００４５】
また例えば、荷重値ｗiが設定される範囲が規格化されてもよい。この場合、荷重値ｗiは、−１≦ｗi≦１の範囲に設定される。これにより、例えば積和結果の最大値や最小値等を調整することが可能となり、所望の精度で積和演算を実行することが可能となる。
【００４６】
ニューラルネットワーク等では、荷重値ｗiを＋α及び−αのどちらかに設定するバイナリコネクトと呼ばれる手法を用いることが可能である。バイナリコネクトは、例えば深層ニューラルネットワーク（多層ニューラルネットワーク）を用いた画像認識等の様々な分野に用いられる。バイナリコネクタを用いることで、認識精度等を劣化させることなく、荷重値ｗiの設定を簡略化することが可能である。
【００４７】
上記したように、バイナリコネクトでは、荷重値ｗiがバイナリ値（±α）に２値化される。従って例えば、荷重値ｗiの正負を切り替えることで、所望の荷重値ｗiを容易に設定することが可能である。また、２値化された荷重値ｗiを規格化して、荷重値ｗiを±１に設定してもよい。この他、荷重値ｗiの設定範囲や値等は限定されず、例えば所望の処理精度が実現されるように適宜設定されてよい。
【００４８】
信号値ｘiは、例えば入力部２から出力された電気信号や、アナログ回路３から出力された積和結果である。このように、入力部２及びアナログ回路３は、信号値ｘiを出力する信号源として機能するとも言える。
【００４９】
図１に示す例では、１つの信号源（入力部２、アナログ回路３）から、単一の電気信号（単一の信号値ｘi）が出力される。従って、１つの信号源の出力側に接続された複数の信号線１には、それぞれ同じ電気信号が入力される。また、１つの信号源と、その信号源から出力された電気信号が入力されるアナログ回路３とが、単一の入力信号線で接続される。
【００５０】
従って例えば、図１に示す演算装置１００では、Ｍ個の信号源と接続されるアナログ回路３には、Ｍ個の入力信号線が接続されることになる。この場合、アナログ回路３に入力される電気信号の総数Ｎは、Ｎ＝Ｍとなる。なお、１つの信号源から、正負に対応した１対の電気信号（１対の信号値ｘi+、ｘi-）が出力される構成もあり得る（図１２等参照）。
【００５１】
図１に示すように、演算装置１００は、複数の階層のそれぞれに、複数のアナログ回路３が設けられた階層構造を有する。アナログ回路３の層構造を構成することで、例えば多層パーセプトロン型のニューラルネットワーク等が構築される。各階層に設けられるアナログ回路の数や、階層の数等は、例えば所望の処理が実行可能となるように適宜設計される。以下では、ｊ段目の層に設けられるアナログ回路３の数をＮjと記載する場合がある。
【００５２】
例えば１段目の層（最下位層）に設けられた各アナログ回路３には、Ｎ個の入力部２により生成されたＮ個の電気信号がそれぞれ入力される。１段目の各アナログ回路３により、入力データの信号値ｘiに関する積和結果がそれぞれ算出され、非線形変換処理後に次の階層（２段目）に設けられたアナログ回路３に出力される。
【００５３】
２段目の層（上位層）に設けられた各アナログ回路３には、１段目で算出された各積和結果を表すＮ1個の電気信号がそれぞれ入力される。従って２段目の各アナログ回路３から見ると、１段目で算出された各積和結果の非線形変換処理結果が電気信号の信号値ｘiとなる。２段目の各アナログ回路３により、１段目から出力された信号値ｘiに関する積和結果が算出され、さらに上位層のアナログ回路３に出力される。
【００５４】
このように、演算装置１００では、下位層のアナログ回路３で算出された積和結果に基づいて、上位層のアナログ回路３の積和結果が算出される。このような処理が複数回実行され、最上位層（図１では３段目の層）に含まれるアナログ回路３から処理結果が出力される。これにより、例えば猫が撮影された画像データ（入力データ４）から、被写体が猫であることを判定するといった画像認識等の処理が可能となる。
【００５５】
このように、複数のアナログ回路３を適宜接続することで所望のネットワーク回路を構成することが可能である。ネットワーク回路は、例えば信号を通過させることで演算処理を行うデータフロー型の処理システムとして機能する。ネットワーク回路では、例えば荷重値（シナプス結合）を適宜設定することで、様々な処理機能を実現することが可能となる。このネットワーク回路により、本実施形態に係る積和演算システムが構築される。
【００５６】
なお、各アナログ回路３を接続する方法等は限定されず、例えば所望の処理が可能となるように、複数のアナログ回路３が適宜接続されてもよい。例えば、各アナログ回路３が階層構造とは異なる他の構造を構成するように接続される場合であっても、本技術は適用可能である。
【００５７】
上記では、下位層で算出された積和結果をそのまま上位層に入力する構成について説明した。これに限定されず、例えば積和結果についての変換処理等が実行されてもよい。例えばニューラルネットワークモデルでは、各アナログ回路３の積和結果に対して、活性化関数を用いて非線形変換を行い、その変換結果を上位層に入力するといった処理が実行される。
【００５８】
演算装置１００では、例えば電気信号に対して活性化関数による非線形変換を行う関数回路５等が用いられる。関数回路５は、例えば下位層と上位層との間に設けられ、入力する電気信号の信号値を適宜変換して、変換結果に応じた電気信号を出力する回路である。関数回路５は、例えば信号線１ごとに設けられる。関数回路５の数や配置等は、例えば演算装置１００に実装される数学モデル等に応じて適宜設定される。
【００５９】
活性化関数としては、例えばＲｅＬＵ関数（ランプ関数）等が用いられる。ＲｅＬＵ関数は、例えば信号値ｘiが０以上である場合には、信号値ｘiをそのまま出力し、それ以外の場合には０を出力する。例えばＲｅＬＵ関数を実装した関数回路５が各信号線１に適宜接続される。これにより、演算装置１００の処理を実現することが可能である。
【００６０】
図２は、アナログ回路３に入力される電気信号の一例を示す模式図である。図２には、１つのアナログ回路３に入力される複数の電気信号の波形を表すグラフが模式的に図示されている。グラフの横軸は時間軸であり、縦軸は電気信号の電圧である。なお各グラフの時間軸は共通である。
【００６１】
本実施形態では、パルス幅変調（ＰＷＭ：Pulse Width Modulation）方式の電気信号が用いられる。ＰＷＭ方式は、例えばパルス波形のパルス幅τiを用いて信号値ｘiを表す方式である。すなわち、ＰＷＭ方式では、電気信号のパルス幅τiは、信号値ｘiに応じた長さとなる。典型的には、パルス幅τiが長いほど、値の大きい信号値ｘiを表す。
【００６２】
また電気信号は、所定の入力期間Ｔの間に、アナログ回路３に入力される。より詳しくは、電気信号のパルス波形が、入力期間Ｔに収まるように、各電気信号がアナログ回路３に入力される。従って、電気信号のパルス幅の最大値は、入力期間Ｔと同様となる。なお、入力期間Ｔに収まる範囲であれば、各パルス波形（電気信号）が入力されるタイミング等は限定されない。
【００６３】
ＰＷＭ方式では、例えばパルス幅τiと入力期間Ｔとのデューティ比Ｒi（＝τi／Ｔ）を用いて、信号値ｘiを規格化することが可能である。すなわち、規格化された信号値ｘiは、信号値ｘi＝Ｒiと表される。なおパルス幅τiと信号値ｘiとを対応付ける方法等は限定されず、例えば所望の精度で演算処理等が可能となるように、信号値ｘiを表すパルス幅τiが適宜設定されてよい。以下では、各電気信号により表される信号値ｘiが０以上１以下の変数であるとして説明を行う。
【００６４】
図３は、演算装置１００の具体的な構成例を示す模式図である。図３は、例えば図１に示す演算装置１００を実現する回路の配置例であり、演算装置１００のうち１つの階層に設けられる複数のアナログ回路３が模式的に図示されている。
【００６５】
アナログ回路３は、１対の出力線７と、複数のシナプス回路８と、ニューロン回路９とを有する。図３に示すように、１つのアナログ回路３は、所定の方向（図中の縦方向）に延在するように構成される。この縦方向に延在するアナログ回路３が、横方向に複数並んで配置されることで、１つの階層が構成される。以下では、図中の最も左側に配置されたアナログ回路３を１番目のアナログ回路３とする。またアナログ回路３が延在する方向を延在方向と記載する場合がある。
【００６６】
１対の出力線７は、延在方向に沿って互いに離間して配置される。１対の出力線７は、正の出力線７ａと、負の出力線７ｂとを有する。各出力線７ａ及び７ｂは、複数のシナプス回路８を経由してニューロン回路９に接続される。本実施形態では、正の出力線７ａは、第１の出力線に相当し、負の出力線７ｂは、第２の出力線に相当する。
【００６７】
シナプス回路８は、電気信号により表される信号値ｘiと荷重値ｗiとの乗算値（ｗi・ｘi）を算出する。具体的には、乗算値に対応する電荷（電流）を出力線７ａ及び７ｂのどちらか一方に出力する。
【００６８】
後述するように、シナプス回路８には正の荷重値ｗi+及び負の荷重値ｗi-のどちらか一方が設定される。例えば正の荷重値ｗi+との乗算値に対応する電荷は、正の出力線７ａに出力される。また負の荷重値ｗi-との乗算値に対応する電荷は、負の出力線７ａに出力される。なおシナプス回路８では、乗算値に対応する電荷として、荷重値ｗiの正負に係らず同符号の電荷（例えば正の電荷）が出力される。
【００６９】
このように、シナプス回路８は、乗算結果（電荷）を荷重値ｗiの符号に応じてそれぞれ別の出力線７に出力するように構成される。シナプス回路８の具体的な構成については、後に詳しく説明する。本実施形態では、シナプス回路８は、乗算部に相当する。
【００７０】
本実施形態では、１つのシナプス回路８に対して、単一の入力信号線６と、１対の出力線７とが接続される。すなわち１つのシナプス回路８には、単一の電気信号が入力され、入力された電気信号に基づいて算出された乗算値に対応する電荷が１方の出力線７に出力される。このように、シナプス回路８は、単一の入力信号線６と１対の出力線７ａ及び７ｂとに接続された１入力２出力の回路となる。
【００７１】
１つのアナログ回路３では、複数のシナプス回路８が、１対の出力線７に沿って配置される。各シナプス回路８は、出力線７ａ（出力線７ｂ）に対してそれぞれ並列に接続される。以下では、出力線７の最も下流側（ニューロン回路９に接続される側）に配置されるシナプス回路８を１番目のシナプス回路８とする。
【００７２】
図３に示すように、複数の入力信号線６は、複数のアナログ回路３が有する複数対の出力線７に対して交差するように配線される。典型的には、入力信号線６は各出力線７と直交するように設けられる。すなわち、演算装置１００は、入力信号線６と出力線７とが交差したクロスバー構成を有する。クロスバー構成を用いることで、例えばアナログ回路３等を高密度に集積化することが可能となる。
【００７３】
また演算装置１００では、ｊ番目の入力信号線６に対して、各アナログ回路３に含まれるｊ番目のシナプス回路８がそれぞれ並列に接続される。従って、同じ入力信号線６に接続されるシナプス回路８には、互いに同様の電気信号が入力される。これにより、下位層に含まれる１つの信号源が、上位層に含まれる複数のアナログ回路３に接続される構成を実装することが可能である（図１参照）。
【００７４】
なお、図３に示す例では、各入力信号線６に電気信号を入力する信号源として、下位層に含まれるアナログ回路３（プレニューロン）が模式的に図示されている。これに限定されず、例えば信号源として、入力部２が用いられる場合にも、クロスバー構成を用いることが可能である。
【００７５】
このように、演算装置１００では、複数のアナログ回路３が、複数の入力信号線６の各々に並列に接続される。これにより、例えば、各アナログ回路３（各シナプス回路８）に対して並列に電気信号を入力することが可能となり、演算処理の高速化を図ることが可能である。この結果、優れた演算性能を発揮することが可能となる。
【００７６】
ニューロン回路９は、各シナプス回路８で算出された乗算値に基づいて、（数１）に示す積和結果を算出する。具体的には、１対の出力線７を介して入力された電荷に基づいて、積和結果を表す電気信号（積和信号）を出力する。
【００７７】
図４は、ニューロン回路９の構成例を示す模式図である。ニューロン回路９は、蓄積部１１と、出力部１２とを有する。図４には、１対の出力線７と、単一の出力信号線１０とに接続された２入力１出力のニューロン回路９が示されている。なお、ニューロン回路９として２入力２出力の回路等が用いられる場合もあり得る（図１５参照）。
【００７８】
蓄積部１１は、複数のシナプス回路８により１対の出力線７に出力された電荷を蓄積する。蓄積部１１は、２つのキャパシタ１３ａ及び１３ｂを有する。キャパシタ１３ａは、正の出力線７ａとＧＮＤとの間に接続される。またキャパシタ１３ｂは、負の出力線７ｂとＧＮＤとの間に接続される。従って各キャパシタ１３ａ及び１３ｂには、各出力線７ａ及び７ｂから流れ込む電荷が蓄積される。
【００７９】
例えば電気信号の入力期間Ｔが経過した際に、キャパシタ１３ａに蓄積された電荷は、正の荷重値ｗi+との乗算値に対応する電荷の総和σ+となる。また同様に、キャパシタ１３ｂに蓄積された電荷は、負の荷重値ｗi-との乗算値に対応する電荷の総和σ-となる。
【００８０】
例えばキャパシタ１３ａに電荷が蓄積されると、ＧＮＤを基準とする正の出力線７ａの電位が上昇する。従って、正の出力線７ａの電位は、正の荷重値ｗi+との乗算値に対応する電荷の総和σ+に応じた値となる。同様に、負の出力線７ｂの電位は、負の荷重値ｗi-との乗算値に対応する電荷の総和σ-に応じた値となる。
【００８１】
出力部１２は、蓄積部１１に蓄積された電荷に基づいて、乗算値（ｗi・ｘi）の和を表す積和信号を出力する。積和信号は、例えば正負合わせたすべての荷重値ｗiと信号値ｘiとの乗算値の和である全体の積和結果を表す信号である。例えば、（数１）で表される積和結果は、以下のように書き表すことが可能である。
【００８２】
【数２】
2020017362.tif 000004
【００８３】
ここで、Ｎ+及びＮ-は、それぞれ正の荷重値ｗi+の総数及び負の荷重値ｗi-の総数である。（数２）に示すように、全体の積和結果は、正の荷重値ｗi+との乗算値（ｗi+・ｘi）の総和である正の積和結果と、負の荷重値ｗi-との乗算値（｜ｗi-｜・ｘi）の総和である負の積和結果との差分として表すことが可能である。
【００８４】
図４に示す例では、出力部１２は、積和信号として、例えば全体の積和結果を表す１つの信号を生成する。具体的には、蓄積部１１（キャパシタ１３ａ及び１３ｂ）に蓄積された電荷を適宜参照して、正の積和結果及び負の積和結果を算出し、これらの差分から全体の積和結果が算出される。また例えば、正負それぞれの積和結果を表す正の積和信号及び負の積和信号の２つの信号が積和信号として生成されてもよい。
【００８５】
蓄積部１１に蓄積された電荷を参照する方法は限定されない。一例として、１つのキャパシタ１３に蓄積された電荷を検出する方法について説明する。ＰＷＭ方式の電気信号が用いられる場合、乗算値に対応する電荷は、入力期間Ｔの間にキャパシタ１３に蓄積される。すなわち、入力期間Ｔの前後では、乗算値に対応する電荷の蓄積は生じない。
【００８６】
例えば入力期間Ｔの後に、一定の充電速度でキャパシタ１３を充電する。この時、比較器（コンパレータ等）を用いて、キャパシタ１３が接続された出力線７の電位が所定の閾値電位に到達するタイミングを検出する。例えば充電開始時の電荷が多いほど、閾値電位に達するタイミングが早くなる。このタイミングに基づいて、入力期間Ｔの間に蓄積された電荷（積和結果）を表すことが可能となる。
【００８７】
このように、入力期間Ｔの後に蓄積部１１（キャパシタ１３ａ及び１３ｂ）を充電することで、積和結果を表すタイミングが検出される。この検出結果に基づいて、正の積和信号や負の積和信号、あるいは全体の積和信号が適宜生成される。この他にも、例えば入力期間Ｔの後に、キャパシタ１３の電位を直接読み出して、各積和結果が算出されてもよい。
【００８８】
図５は、シナプス回路８の構成例を示す回路図である。以下では、図３に示すクロスバー構成において、神経科学の用語を用いて、前段回路から電気信号が印加される入力信号線６を、同じ符号を用いてＡｘｏｎライン６と記載し、後段回路に電荷を出力する出力線７を、同じ符号を用いてＤｅｎｄｒｉｔｅライン７と記載する。なお正の出力線７ａは、＋Ｄｅｎｄｒｉｔｅライン７ａと記載し、負の出力線７ｂは、−Ｄｅｎｄｒｉｔｅライン７ｂと記載する。
【００８９】
シナプス回路８は、第１のＭＯＳトランジスタ２０ａと、第２のＭＯＳトランジスタ２０ｂと、フリップフロップ回路３０とを有する。またシナプス回路８には、Ａｘｏｎライン６と、＋Ｄｅｎｄｒｉｔｅライン７ａと、−Ｄｅｎｄｒｉｔｅライン７ｂとが接続される。
【００９０】
第１のＭＯＳトランジスタ２０ａは、Ｐ型のＭＯＳ（Metal Oxide Semiconductor）トランジスタであり、入力端子２１ａと、出力端子２２ａと、ゲート端子２３ａとを有する。入力端子２１ａは、後述するフリップフロップ回路３０の第１の端子３２ａに接続される。出力端子２２ａは、＋Ｄｅｎｄｒｉｔｅライン７ａに接続される。ゲート端子２３ａは、Ａｘｏｎライン６に接続される。
【００９１】
ゲート端子２３ａは、入力端子２１ａと出力端子２２aとの間の導通を制御するための端子である。例えばゲート端子２３ａに印加する電圧を制御することで、入力端子２１ａと出力端子２２ａとの間の導通の有無（接続・非接続等）や、抵抗値を制御することが可能である。
【００９２】
第２のＭＯＳトランジスタ２０ｂは、Ｐ型のＭＯＳトランジスタであり、入力端子２１ｂと、出力端子２２ｂと、ゲート端子２３ｂとを有する。入力端子２１ｂは、後述するフリップフロップ回路３０の第２の端子３２ｂに接続される。出力端子２２ｂは、−Ｄｅｎｄｒｉｔｅライン７ｂに接続される。ゲート端子２３ｂは、Ａｘｏｎライン６に接続される。
【００９３】
第１のＭＯＳトランジスタ２０ａ及び第２のＭＯＳトランジスタ２０ｂとしては、例えば同じ設計パラメータ（ゲート幅やゲート長等）に基づいて作成された同様のｐＭＯＳトランジスタが用いられる。本実施形態では、第１のＭＯＳトランジスタ２０ａ及び第２のＭＯＳトランジスタ２０ｂは、荷重部に相当する。
【００９４】
本実施形態では、第１のＭＯＳトランジスタ２０ａ及び第２のＭＯＳトランジスタ２０ｂは、サブスレッショルド領域で動作するｐＭＯＳトランジスタである。すなわち、各ＭＯＳトランジスタ２０ａ及び２０ｂは、閾値電圧Ｖｔｈ以下のゲート電圧がゲート端子に印加された状態で用いられる。ゲート電圧を閾値電圧Ｖｔｈ以下とすることで、例えば、入力端子と出力端子との間の抵抗Ｒを十分に高く設定することが可能となる。また、ＭＯＳトランジスタによる整流機能も実現できる。これにより、例えば入力端子から出力端子に流れる電流を小さく絞ることが可能となり、消費電力を大幅に低減することが可能となる。
【００９５】
フリップフロップ回路３０は、２値状態を保持する回路である。ここで２値状態とは、例えば、互いに異なる２つの値で表される状態である。典型的には、０の状態または１の状態のどちらかの状態が保持される。また、保持された状態は、０から１、あるいは、１から０というように書き換えることが可能である。本実施形態では、フリップフロップ回路３０は、保持部に相当する。
【００９６】
フリップフロップ回路３０は、第１のインバータ３１ａと、第２のインバータ３１ｂと、第１の端子３２ａと、第２の端子３２ｂとを有する。
【００９７】
１つのインバータ３１は、例えばｐＭＯＳ及びｎＭＯＳを用いて構成される回路であり、入力を反転して出力する素子である。図５に示すように、第１のインバータ３１ａの出力は、第２のインバータ３１ｂに入力される。また第２のインバータ３１ｂの出力は、第１のインバータ３１ａに入力される。各インバータ３１には、電源電圧Ｖｄｄ（例えば１．０Ｖ）を印加する電源電圧ラインとＧＮＤとが接続される（いずれも図示省略）。なお電源電圧ラインは、各インバータ３１ごとに設けられる。
【００９８】
第１の端子３２ａは、第１のインバータ３１ａの入力側（第２のインバータ３１ｂの出力側）に接続される端子である。第２の端子３２ｂは、第１のインバータ３１ａの出力側（第２のインバータ３１ｂの入力側）に接続される端子である。
【００９９】
フリップフロップ回路３０では、例えば第１の端子３２ａの電圧ＰがＶｄｄとなり、第２の端子３２ｂの電圧Ｎが０となる状態（１の状態）が保持される。また第１の端子３２ａの電圧Ｐが０となり、第２の端子３２ｂの電圧ＮがＶｄｄとなる状態（０の状態）が保持される。すなわち、１の状態では（Ｐ、Ｎ）＝（Ｖｄｄ、０）となり、０の状態では（Ｐ、Ｎ）＝（０、Ｖｄｄ）となる。
【０１００】
このように、第１の端子３２ａ及び第２の端子３２ｂは、フリップフロップ回路３０に保持された２値状態に基づいて、互いの電圧が異なるように２種類の電圧を切り替えて出力する。第１の端子３２ａの電圧は、第１のＭＯＳトランジスタ２０ａの入力端子２１ａに印加され、第２の端子３２ｂの電圧は、第２のＭＯＳトランジスタ２０ｂの入力端子２１ｂに印加される。
【０１０１】
図５に示すシナプス回路８は、ｐＭＯＳとｎＭＯＳとを含む６個のＭＯＳトランジスタを用いて構成される。また、シナプス回路８には、５本の配線（Ａｘｏｎライン６、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂ、２つの電源電圧ライン）が接続される。このような回路構成とすることで、Ａｘｏｎライン６や±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂの寄生容量等を十分に小さくすることが可能となる。この結果、１度の演算で充放電される容量を抑制することが可能となり、消費電力を大幅に抑制することが可能となる。
【０１０２】
なお、図５に示す回路図では、Ａｘｏｎライン６及び±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂについて、各ラインに対して荷重設定時（図中では設定と記載）に印加される電圧の一例と、積和演算時（図中では演算と記載）に印加される電圧の一例とが示されている。これに限定されず、各ラインに印加される電圧は、回路の構成に応じて、荷重設定や積和演算が適正に実行可能となるように、適宜設定されてよい。
【０１０３】
図６は、シナプス回路８の動作の一例を示すタイミングチャートである。図６Ａは、正の荷重値ｗi+が設定される場合のタイミングチャートである。図６Ｂは、負の荷重値ｗi-が設定される場合のタイミングチャートである。図６Ａ及び図６Ｂには、上から順番にＡｘｏｎライン６、＋Ｄｅｎｄｒｉｔｅライン７ａ、及び−Ｄｅｎｄｒｉｔｅライン７ｂに加えられる信号の波形が模式的に図示されている。
【０１０４】
本実施形態では、１つのシナプス回路８に対して、＋α、又は−αのどちらか一方が荷重値ｗiとして設定される。ここでαは正の実数である。また他のシナプス回路８についても同様に荷重値ｗiが設定される。すなわち、荷重値ｗiは、複数のシナプス回路８において、互いに絶対値が等しく符号の異なる第１の値（＋α）及び第２の値（−α）のどちらか一方に設定される。
【０１０５】
なお１つの階層に含まれる複数のアナログ回路３では、各シナプス回路８に対して荷重値±αが設定される。この場合、各アナログ回路３は、共通のスケールで積和結果を表わす信号（積和信号）を出力することが可能となる。ここで信号のスケールとは、例えば信号値を表す際のパルス幅等の割合である。これにより次の階層等へのデータ（積和結果）の伝達を容易に実現することが可能となる。
【０１０６】
このように、荷重値ｗiを±αに２値化して設定することで、バイナリコネクト方式の積和演算が実現される。これにより、回路構成等を簡略化することが可能となり、演算装置１００を容易に集積化することが可能となる。
【０１０７】
また本実施形態では、フリップフロップ回路３０により、荷重値ｗiの符号に対応する２値状態が保持される。すなわち、フリップフロップ回路３０の２値状態（１の状態、及び０の状態）は、荷重値ｗiの正負を表す。本実施形態では、１の状態（ＰがＶｄｄとなる状態）が、正の荷重値ｗiに対応し、０の状態（ＰがＶｄｄとなる状態）が、負の荷重値ｗiに対応する。
【０１０８】
従って、１つのシナプス回路８に対して＋αを設定する場合には、フリップフロップ回路３０が１の状態に設定される。また−αを設定する場合には、フリップフロップ回路３０が０の状態に設定される。アナログ回路３（各シナプス回路８）には、例えば積和演算を行う前に、予め荷重値±αが設定される。
【０１０９】
各シナプス回路８に設定される荷重値は、例えば演算装置１００に実装される処理をシミュレーションすることで算出される。例えば演算装置１００で用いられるノード（アナログ回路３）やシナプス（シナプス回路８）を含むバイナリコネクト方式のニューラルネットワークモデルが仮想的に構築される。この仮想的なモデルに従って、各シナプス回路８に設定される荷重値が算出される。この他、荷重値を算出する方法は限定されない。
【０１１０】
図６Ａに示すように、正の荷重値ｗi+＝＋αが設定される場合、＋Ｄｅｎｄｒｉｔｅライン７ａに対して、電源電圧Ｖｄｄと同程度の電圧を有する信号（Ｈｉｇｈ信号１５）が加えられる。この時、−Ｄｅｎｄｒｉｔｅライン７ｂに対して、電圧が０の信号（Ｌｏｗ信号１６）が加えられる。Ｈｉｇｈ信号１５及びＬｏｗ信号１６は、２値状態を制御する制御信号である。
【０１１１】
またＡｘｏｎライン６に対して、ＯＮ信号１７が入力される。ＯＮ信号１７は、第１及び第２のＭＯＳトランジスタ２０ａ及び２０ｂをＯＮ状態にするゲート電圧を生成する信号である。ＯＮ状態では、入力端子と出力端子との間が導通状態となり、各端子間に信号を流すことが可能となる。なお、第１及び第２のＭＯＳトランジスタ２０ａ及び２０ｂは、ｐＭＯＳトランジスタであるため、ゲート電圧が０の場合にＯＮとなり、ゲート電圧が所定の正電圧（図６ＡではＶｄｄ）の場合にＯＦＦとなる。
【０１１２】
ＯＮ信号１７が入力されると、＋Ｄｅｎｄｒｉｔｅライン７ａと、フリップフロップ回路３０の第１の端子３２ａとが導通され、第１の端子３２ａに対してＨｉｇｈ信号１５が印加される。また−Ｄｅｎｄｒｉｔｅライン７ｂと、フリップフロップ回路３０の第２の端子３２ｂとが導通され、第２の端子３２ｂに対してＬｏｗ信号１６が印加される。
【０１１３】
この結果、ＯＮ信号１７が入力されている期間は、第１及び第２の端子３２ａ及び３２ｂの電圧が（Ｐ、Ｎ）＝（Ｖｄｄ、０）となる。ＯＮ信号１７の入力が終了すると、各Ｄｅｎｄｒｉｔｅライン７とフリップフロップ回路３０との導通が遮断される。フリップフロップ回路３０では、遮断された後も（Ｐ、Ｎ）＝（Ｖｄｄ、０）の状態、すなわち１の状態が保持される。これにより、シナプス回路８に対して正の荷重値＋αが設定される。
【０１１４】
また図６Ｂに示すように、負の荷重値ｗi-＝−αが設定される場合、−Ｄｅｎｄｒｉｔｅライン７ｂに対して、Ｈｉｇｈ信号１５が加えられ、＋Ｄｅｎｄｒｉｔｅライン７ａに対して、Ｌｏｗ信号１６が加えられる。またＡｘｏｎライン６に対して、ＯＮ信号１７が入力される。この結果、ＯＮ信号１７が入力されている期間は、第１及び第２の端子３２ａ及び３２ｂの電圧が（Ｐ、Ｎ）＝（０、Ｖｄｄ）となり、フリップフロップ回路３０は０の状態となる。これにより、シナプス回路８に対して負の荷重値−αが設定される。
【０１１５】
このように、第１及び第２のＭＯＳトランジスタ２０ａ及び２０ｂは、入力端子２１ａ及び２１ｂからフリップフロップ回路３０の２値状態を制御する制御信号を出力する。別の観点では、第１及び第２のＭＯＳトランジスタ２０ａ及び２０ｂは、２値状態を設定するための電圧の印加を制御するゲート素子として機能するとも言える。
【０１１６】
荷重値＋α／−αが設定されると、積和演算が実行される。図６Ａ及び図６Ｂには、積和演算に用いられる電気信号１８が入力される入力期間Ｔでのタイムチャートが示されている。入力期間Ｔには、Ａｘｏｎライン６に電気信号が入力される。また±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂは、例えばＶｄｄよりも十分に低い電圧（例えば０．０〜０．３Ｖ）となるように構成される。
【０１１７】
電気信号１８は、例えば第１及び第２のＭＯＳトランジスタ２０ａ及び２０ｂがサブスレッショルド領域で動作するように設定された動作電圧Ｖｗで表される。なお、ｐＭＯＳトランジスタでは、動作電圧Ｖｗとして、例えば閾値電圧Ｖｔｈ（例えば０Ｖ）よりも高く、トランジスタがＯＦＦとなる正電圧（Ｖｄｄ）よりも低い電圧が設定される。従って図６Ａ及び図６Ｂに示す例では、電圧がＶｄｄよりも低いＶｗに低下している範囲が、電気信号１８（パルス）に対応する。
【０１１８】
図５に示すように、第１及び第２のＭＯＳトランジスタ２０ａ及び２０ｂは、互いに同じＡｘｏｎライン６に接続され、各ゲート端子２３ａ及び２３ｂが単一の電気信号１８により制御される。例えば電気信号１８が入力されると、第１のＭＯＳトランジスタ２０ａの入力端子２１ａ及び出力端子２２ａの間が導通状態となる。同様に、第２のＭＯＳトランジスタ２０ｂの入力端子２１ｂ及び出力端子２２ｂの間が導通状態となる。
【０１１９】
なお導通状態となった入力端子２１ａと出力端子２２ａ（入力端子２１ｂと出力端子２２ｂ）の間の抵抗Ｒは、動作電圧Ｖｗの値に応じた抵抗値となる。また動作電圧Ｖｗは、サブスレッショルド領域に設定されたゲート電圧であるため、抵抗Ｒは高抵抗となり、第１及び第２のＭＯＳトランジスタ２０ａ及び２０ｂは高抵抗素子として機能する。以下では抵抗Ｒを、導通抵抗Ｒと記載する。
【０１２０】
第１及び第２のＭＯＳトランジスタ２０ａ及び２０ｂが導通状態となることで、電流を流すことが可能となる。図６Ａ及び図６Ｂには、１つのシナプス回路８を流れる電流による±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂの電位の状態が示されている。
【０１２１】
例えば正の荷重値＋αが設定された場合、第１のＭＯＳトランジスタ２０ａでは、入力端子２１ａの電圧が出力端子２２ａの電圧よりも高くなる。この結果、入力端子２１ａ（ソース）から出力端子２２ａ（ドレイン）に電流（正電荷）が流れ、＋Ｄｅｎｄｒｉｔｅライン７ａに出力される。この時、電流量は、例えば導通抵抗Ｒの逆数に比例する。
【０１２２】
図６Ａに示すように、正の荷重値＋αが設定されたシナプス回路８では、＋Ｄｅｎｄｒｉｔｅライン７ａに出力された電荷が、蓄積部１１のキャパシタ１３ａに蓄積され、＋Ｄｅｎｄｒｉｔｅライン７ａの電位が上昇する。この電位の上昇は、動作電圧Ｖｗ（電気信号）が印加されている間だけ継続される。すなわち、パルス幅（信号値ｘi）と同様の期間にわたって、キャパシタ１３ａが充電される。
【０１２３】
また正の荷重値＋αが設定された場合、第２のＭＯＳトランジスタ２０ｂでは、入力端子２１ｂの電圧が出力端子２２ｂの電圧と略同様となり、電流はほとんど流れない。このため、図６Ａに示すように、−Ｄｅｎｄｒｉｔｅライン７ｂの電位はほとんど変化しない。
【０１２４】
一方で、負の荷重値−αが設定された場合、第２のＭＯＳトランジスタ２０ｂでは、入力端子２１ｂの電圧が出力端子２２ｂの電圧よりも高くなる。この結果、入力端子２１ｂ（ソース）から出力端子２２ｂ（ドレイン）に電流（正電荷）が流れ、−Ｄｅｎｄｒｉｔｅライン７ａに出力される。この結果、図６Ｂに示すように、負の荷重値−αが設定されたシナプス回路８では、パルス幅と同様の期間にわたって、−Ｄｅｎｄｒｉｔｅライン７ｂの電位が上昇する。この場合、＋Ｄｅｎｄｒｉｔｅライン７ａの電位はほとんど変化しない。
【０１２５】
このように、シナプス回路８では、各ＭＯＳトランジスタ２０ａ及び２０ｂの導通抵抗Ｒを介して、信号値ｘiに対応する期間だけ、一定の割合で電荷が出力される。ここで、電荷を出力する割合とは、例えば出力端子２２ａ及び２２ｂから出力される電流量や、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂの電位上昇の傾き等を表すパラメータである。電荷を出力する割合は、導通抵抗Ｒにより設定可能である。
【０１２６】
例えば電荷を出力する割合を荷重値ｗiとすると、電気信号に基づいて出力された電荷の総量により、信号値ｘiと荷重値ｗiとの乗算値ｗi・ｘiが表される。従って、シナプス回路８では、導通抵抗Ｒにより設定される荷重値ｗiと、電気信号１８により表される信号値ｘiとの乗算結果が、電荷として出力されることになる。
【０１２７】
このように、本実施形態では、第１のＭＯＳトランジスタ２０ａ及び第２のＭＯＳトランジスタ２０ｂにより、複数のＡｘｏｎライン６（入力信号線６）に入力される電気信号１８に基づいて、電気信号１８により表される信号値ｘiに荷重値ｗiを乗算した乗算値ｗi・ｘiに対応する電荷が生成される。
【０１２８】
上記したように、各ＭＯＳトランジスタ２０ａ及び２０ｂは、荷重値ｗi（±α）の符号に係らず、同符号の電荷（図５に示すシナプス回路では正の電荷）を生成する。従って、各ＭＯＳトランジスタ２０ａ及び２０ｂは、信号値ｘiに荷重値ｗiの絶対値を乗算した乗算値｜ｗi｜・ｘiに対応する電荷を生成するとも言える。これにより、例えば後段に配置される、正の積和結果や負の積和結果等を算出する回路を互いに同様の構成とすることが可能となり、アナログ回路３を容易に構成することが可能となる。
【０１２９】
例えば、正の荷重値＋αが設定されている場合には、第１のＭＯＳトランジスタ２０ａにより、＋Ｄｅｎｄｒｉｔｅライン７ａに電荷が出力される。また負の荷重値−αが設定されている場合には、第２のＭＯＳトランジスタ２０ｂにより、−Ｄｅｎｄｒｉｔｅライン７ｂに電荷が出力される。すなわち、シナプス回路８において、正の荷重値＋αとの乗算値を算出することは、＋Ｄｅｎｄｒｉｔｅライン７ａに荷重値＋αの絶対値αに対応する電荷を出力することに相当する。また負の荷重値−αとの乗算値を算出することは、−Ｄｅｎｄｒｉｔｅライン７ｂに荷重値−αの絶対値αに対応する電荷を出力することに相当する。
【０１３０】
このように本実施形態では、第１のＭＯＳトランジスタ２０ａ及び第２のＭＯＳトランジスタ２０ｂにより、フリップフロップ回路３０に保持された２値状態に基づいて、生成された電荷が±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂのいずれか一方に出力される。すなわち、各ＭＯＳトランジスタ２０ａ及び２０ｂにより、２値状態に応じた出力の切り替え処理が実現されるとも言える。本実施形態では、第１のＭＯＳトランジスタ２０ａ及び第２のＭＯＳトランジスタ２０ｂにより、スイッチ部が構成される。
【０１３１】
図７は、Ａｘｏｎライン６に電気信号を入力する入力回路の一例を示す回路図である。入力回路４０は、Ａｘｏｎライン６を充電して電気信号を適正に出力するための充放電回路として機能する。入力回路４０は、例えば図３に示すように、下位層と上位層との間に、複数のＡｘｏｎライン６（入力信号線６）の各々に対応して設けられる。
【０１３２】
入力回路４０は、信号入力端子４１と、モード入力端子４２と、第１〜第６のスイッチ４３ａ〜４３ｆと、第１及び第２のインバータ４４ａ及び４４ｂと、第１及び第２のｐＭＯＳ４５ａ及び４５ｂと、バッファ回路４６とを有する。これらの素子により、入力信号回路４７と、荷重設定回路４８とが構成される。
【０１３３】
ｐＭＯＳ４５は、それぞれゲート端子を含む３つの端子を有する。以下ではｐＭＯＳ４５のゲート端子とは異なる他の２つの端子を、一方の端子及び他方の端子と記載する場合がある。またスイッチ４３は、制御端子を含む３つの端子を有する。以下ではスイッチ４３の制御端子とは異なる他の２つの端子について、単に一方の側及び他方の側と記載する場合がある。
【０１３４】
信号入力端子４１は、第１のスイッチ４３ａを介して第１のｐＭＯＳ４５ａのゲート端子と、第２のｐＭＯＳ４５ｂのゲート端子に接続された第２のインバータ４４ｂとに接続される。第２のスイッチ４３ｂは、一方の側がＧＮＤに接続され、他方の側が第１のスイッチ４３ａの信号入力端子４１とは反対側に接続される。
【０１３５】
第１のｐＭＯＳ４５ａの一方の端子は電源電圧ライン（Ｖｄｄ）に接続され、他方の端子は第３のスイッチ４３ｃに接続される。第２のｐＭＯＳ４５ｂの一方の端子は動作電圧ライン（Ｖｗ）に接続され、他方の端子は第３のスイッチ４３ｃの第１のｐＭＯＳ４５ａと同じ側に接続される。第３のスイッチ４３ｃの各ｐＭＯＳが接続された側とは反対側は、Ａｘｏｎライン６に接続される。この第１及び第２のｐＭＯＳ４５ａ及び４５ｂを含む回路（図７の上側の回路）が、入力信号回路４７として機能する。
【０１３６】
また信号入力端子４１は、第４のスイッチ４３ｄ及び第２のインバータ４４を介してバッファ回路４６の入力側に接続される。第５のスイッチ４３ｅは、一方の側がＧＮＤに接続され、他方の側が第４のスイッチ４３及び第２のインバータ４４の間に接続される。バッファ回路４６の出力側は、第６のスイッチ４３ｆを介してＡｘｏｎライン６に接続される。このバッファ回路４６を含む回路（図７の下側の回路）が、荷重設定回路４８として機能する。
【０１３７】
モード入力端子４２は、第１〜第６のスイッチ４３ａ〜４３ｆの制御端子に接続される。モード入力端子４２には、積和演算モード及び荷重設定モードに対応した各論理信号が入力される。図７に示すように、積和演算モードでは、第１のスイッチ４３ａ、第３のスイッチ４３ｃ、及び第５のスイッチ４３ｅがＯＮ状態となっており、第２のスイッチ４３ｂ、第４のスイッチ４３ｄ、及び第６のスイッチ４３ｆがＯＦＦ状態となっている。荷重設定モードが選択された場合には、これらスイッチのＯＮ状態とＯＦＦ状態が切り替えられる。
【０１３８】
図８は、入力回路４０の動作の一例を示すタイミングチャートである。以下では、第１のｐＭＯＳ４５ａ及び第２のｐＭＯＳ４５ｂのゲート端子に印加される電圧（ゲート電圧）をＳａ及びＳｗと記載する。
【０１３９】
荷重設定モードでは、例えばバッファ回路４６によりＶｄｄが出力され、Ａｘｏｎライン６の電圧はＶｄｄに設定される。この時、信号入力端子４１に正電圧の制御パルスが入力され、第２のインバータ４４ｂにより生成された制御パルスの反転出力が、バッファ回路４６に入力される。バッファ回路４６により、制御パルスと同様のパルス幅を持ったＯＮ信号１７が生成され、Ａｘｏｎライン６に入力される。
【０１４０】
これにより、例えば図５に示す第１及び第２のＭＯＳトランジスタ２０ａ及び２０ｂをＯＮ状態、すなわち導通状態にすることが可能となる。なお、荷重設定モードでは、ゲート電圧ＳａはＬｏｗ（０）であり第１のｐＭＯＳ４５ａはＯＮ状態となる。ゲート電圧ＳｗはＨｉｇｈ（例えばＶｄｄ）であり第２のｐＭＯＳ４５ａはＯＦＦ状態となる。この結果、第３のスイッチ４３にはＶｄｄが印加されるが、第３のスイッチ４３ｃがＯＦＦ状態であるため、入力信号回路４７の出力（Ｖｄｄ）はＡｘｏｎライン６には出力されない。
【０１４１】
積和演算モードでは、第１、第３、及び第５のスイッチ４３ａ、４３ｃ、及び４３ｅがＯＮ状態となり、第１のｐＭＯＳ４５ａにより出力された電圧ＶｄｄがＡｘｏｎライン６に印加される。すなわちＡｘｏｎライン６の電圧レベルはＨｉｇｈとなる。この場合、図５に示す第１及び第２のＭＯＳトランジスタ２０ａ及び２０ｂはＯＦＦ状態となる。
【０１４２】
この状態で、信号入力端子４１に、正電圧の信号パルス（前段の回路で生成された信号値ｘiを表す電気信号）が入力される。信号パルスが入力されている期間は、ゲート電圧ＳａがＨｉｇｈとなり、第１のｐＭＯＳ４５ａがＯＦＦ状態となる。一方で、ゲート電圧ＳｗがＬｏｗとなり、第２のｐＭＯＳ４５ｂがＯＮ状態となる。この結果、第２のｐＭＯＳ４５ｂにより出力された電圧ＶｗがＡｘｏｎライン６に印加される。
【０１４３】
電圧Ｖｗは、第１及び第２のＭＯＳトランジスタ２０ａ及び２０ｂをスレッショルド領域で動作させる電圧である。この結果、信号パルスのパルス幅と同様の期間だけ、第１及び第２のＭＯＳトランジスタ２０ａ及び２０ｂがＯＮ状態となり、図６を参照して説明した乗算処理等が実行される。このように、下位層で出力された電気信号（信号パルス）を、改めて生成することで、下位層に加わる負荷を抑制することが可能となり、積和演算や荷重設定を安定して実行することが可能となる。
【０１４４】
図９は、ＲｅＬＵ関数を実装した関数回路５の一例を示す回路図である。図１０は、関数回路５の動作の一例を示すタイミングチャートである。図９Ａ及び図９Ｂには、ＰＷＭ方式の電気信号に対応したＲｅＬｕ関数を実現するための関数回路５ａ及び５ｂの回路図が示されている。関数回路５ａ及び５ｂはいずれも、図１０に示すタイミングチャートに従って動作する。
【０１４５】
図９Ａ及び図９Ｂに示すように、関数回路５ａ及び５ｂは２入力１出力の回路である。２つの入力としては、正の積和結果を表す積和信号Ｓn+（ｔ）と、負の積和結果を表す積和信号Ｓn-（ｔ）とが用いられる。なお、各積和信号は、所定の出力期間Ｔ内でのパルスの立ち上がりのタイミングにより信号値（各積和結果）を表す信号である。
【０１４６】
例えば図４を参照して説明したように、正負の積和結果は、キャパシタ１３ａ及び１３ｂを充電して、キャパシタ１３ａ及び１３ｂの電圧が所定の閾値を超えたタイミングを検出することで算出される。例えば閾値を超えたタイミングの後に、出力期間Ｔが終了するまでＨｉｇｈ電圧を出力することで、立ち上がりのタイミングにより信号値を表す積和信号を生成可能である。例えば図１０では、Ｓn-（ｔ）に比べ、Ｓn+（ｔ）のパルスの方が、立ち上がりが早い。この場合、正の積和結果は負の積和結果よりも大きい値となっている。
【０１４７】
図９Ａに示すように、関数回路５ａは、インバータ５１と、ＮＯＲ回路５２とを有する。ＮＯＲ回路５２は、否定的論理和の論理ゲートであり、入力端子５３ａ及び５３ｂと、出力端子５４とを有する。ＮＯＲ回路は、入力端子５３ａ及び５３ｂに入力される論理値Ａ及びＢについて、ＯＲの否定を出力端子５４に出力する。従って例えば（Ａ，Ｂ）＝（０，０）である場合には、１が出力され、それ以外の場合には０が出力される。
【０１４８】
関数回路５ａでは、正の積和信号Ｓn+（ｔ）は、インバータ５１を介してＮＯＲ回路５２の入力端子５３ａに入力される。また負の積和信号Ｓn-（ｔ）はＮＯＲ回路５２の入力端子５３ｂにそのまま入力される。以下では関数回路５ａ（ＲｅＬＵ関数）の出力をＳn（ｔ）と記載する。
【０１４９】
図９Ｂに示すように、関数回路５ｂは、３個のインバータ５１と、ＮＯＲ回路５２とを有する。関数回路５ｂでは、正の積和信号Ｓn+（ｔ）は、１個のインバータ５１を介してＮＯＲ回路５２の入力端子５３ａに入力される。また負の積和信号Ｓn-（ｔ）は２個のインバータ５１を介してＮＯＲ回路５２の入力端子５３ｂに入力される。関数回路５ｂは、関数回路５ａと略同様の動作を行う回路である。
【０１５０】
例えば関数回路５ｂのように、２個のインバータ５１（追加インバータ）を介して負の積和信号Ｓn-（ｔ）を入力することで、Ｓn-（ｔ）の入力タイミングの遅延時間を調整することが可能である。この結果、回路をリセットする際（例えば図１０におけるｔ＝ｔn＋1のタイミング）に、グリッチノイズ等が発生することを回避することが可能となる。以下では、関数回路５ａ及び５ｂを、単に関数回路５と記載して説明を行う。
【０１５１】
例えば図１０に示すように、入力期間Ｔ内の時間ｔaでは、（Ｓn+（ｔa），Ｓn-（ｔa））＝（０，０）となり、ＮＯＲ回路の入力（Ａ，Ｂ）＝（１，０）となる。この結果、ＮＯＲ回路の出力Ｓn（ｔa）は０となる。
【０１５２】
また例えば、正の積和信号が１であり、負の積和信号が０である時間ｔbでは、（Ｓn+（ｔb），Ｓn-（ｔb））＝（１，０）となり、ＮＯＲ回路の入力（Ａ，Ｂ）＝（０，０）となる。この結果、Ｓn（ｔb）は１となる。また正負の積和信号がともに１である時間ｔcでは、（Ｓn+（ｔc），Ｓn-（ｔc））＝（１，１）となり、ＮＯＲ回路の入力（Ａ，Ｂ）＝（０，１）となる。この結果、Ｓn（ｔc）は０となる。
【０１５３】
このように、関数回路５からは、正の積和信号Ｓn+（ｔ）のパルス幅τn+から、負の積和信号Ｓn-（ｔ）のパルス幅τn-を引いたパルス幅τnの信号が出力される。このパルス幅τnは、（数２）に示す正負の積和結果の差分であり、全体の積和結果を表す。すなわち、Ｓn（ｔ）は、全体の積和結果を信号値とするＰＷＭ方式の電気信号となる。このように、関数回路５は、正の積和結果が負の積和結果よりも大きい場合に、全体の積和結果を算出する回路である。
【０１５４】
また、正の積和結果が負の積和結果よりも小さい場合、Ｓn-（ｔ）の後にＳn+（ｔ）のパルスが立ち上がることになる。この場合、出力時間Ｔ内にＳn+（ｔ）＝１でありかつＳn-（ｔ）＝０となる状況は発生しない。従って正の積和結果が負の積和結果よりも小さい場合には、Ｓn（ｔ）は０となる。これは、（数２）に示す正負の積和結果の差分が負、すなわち、全体の積和結果が負となる場合に相当する。このように、ＲｅＬＵ関数が実装された関数回路５ａでは、全体の積和結果が負となる場合に０が出力される。
【０１５５】
関数回路５は、例えば図４に示す出力部１２として構成されてもよい。あるいは、正負の積和信号正Ｓn+（ｔ）及びＳn-（ｔ）を出力する出力部１２を構成し、その後段に関数回路５が設けられてもよい。また、関数回路５は、全てのアナログ回路３に対して設けられてもよいし、一部のアナログ回路３にのみ設けられてもよい。
【０１５６】
図１１は、シナプス回路の他の構成例を示す回路図である。シナプス回路１０８は、ＭＯＳトランジスタ１２０と、第１のゲート１４０ａと、第２のゲート１４０ｂと、フリップフロップ回路１３０とを有する。またシナプス回路１０８には、Ａｘｏｎライン６と、＋Ｄｅｎｄｒｉｔｅライン７ａと、−Ｄｅｎｄｒｉｔｅライン７ｂと、動作電圧ライン６０（図中ではＶＷと記載）と、制御ライン６１（図中ではＦＦと記載）とが接続される。
【０１５７】
ＭＯＳトランジスタ１２０は、サブスレッショルド領域で動作するＰ型のＭＯＳトランジスタであり、入力端子１２１と、出力端子１２２と、ゲート端子１２３とを有する。入力端子１２１は、Ａｘｏｎライン６に接続される。出力端子１２２は、後述する第１のゲート１４０ａと第２のゲート１４０ｂとの接続点１４１に接続される。ゲート端子１２３は、動作電圧ライン６０に接続される。本実施形態では、動作電圧ライン６０は、所定のゲート電圧源に相当する。
【０１５８】
第１のゲート１４０ａ及び第２のゲート１４０ｂは、ｎ型のＭＯＳトランジスタ（ｎＭＯＳ）であり、それぞれ入力端子、出力端子、及びゲート端子を有する。各ゲート１４０ａ及び１４０ｂは、各々の入力端子が接続点１４１を介して接続される。この接続点には、ＭＯＳトランジスタ１２０の出力端子１２２が接続される。
【０１５９】
第１のゲート１４０ａの出力端子は、＋Ｄｅｎｄｒｉｔｅライン７ａに接続され、ゲート端子は、フリップフロップ回路１３０の第１の端子１３２ａに接続される。第２のゲート１４０ｂの出力端子は、−Ｄｅｎｄｒｉｔｅライン７ｂに接続され、ゲート端子は、フリップフロップ回路１３０の第２の端子１３２ｂに接続される。
【０１６０】
シナプス回路１０８では、第１のゲート１４０ａにより、ＭＯＳトランジスタ１２０の出力端子１２２と＋Ｄｅｎｄｒｉｔｅライン７ａとが接続される。また第２のゲート１４０ｂにより、ＭＯＳトランジスタ１２０の出力端子１２２と−Ｄｅｎｄｒｉｔｅライン７ｂとが接続される。シナプス回路１０８では、第１のゲート１４０ａは、第１のスイッチ素子に相当し、第２のゲート１４０ｂは、第２のスイッチ素子に相当する。
【０１６１】
フリップフロップ回路１３０は、第１のインバータ１３１ａと、第２のインバータ１３２ｂと、第１の端子１３２ａと、第２の端子１３２ｂとを有する。またフリップフロップ回路１３０は、設定用ゲート１３３と、設定用インバータ１３４と、入力用ゲート１３５とを有する。
【０１６２】
第１のインバータ１３１ａの出力は、第２のインバータ１３１ｂに入力される。また第２のインバータ１３１ｂの出力は、設定用ゲート１３３の信号ライン介して第１のインバータ１３１ａに入力される。第１の端子１３２ａは、第１のインバータ１３１ａの入力側に接続される端子である。第２の端子１３２ｂは、第１のインバータ１３１ａの出力側に接続される端子である。
【０１６３】
設定用ゲート１３３は、ｎＭＯＳとｐＭＯＳとを用いて構成される伝送ゲート（双方向スイッチ）である。設定用ゲート１３３では、入力端子及び出力端子が共通となるように各ＭＯＳが並列に接続される。以下、入力端子から出力端子までのラインを信号ラインと記載する。なお、信号ラインにおいて、第２のインバータ１３１の出力側に接続される端子を入力端子とする。
【０１６４】
設定用インバータ１３４は、入力側が制御ライン６１に接続され、出力側が設定用ゲート１３３のｐＭＯＳのゲート端子に接続される。また設定用インバータ１３４のｎＭＯＳのゲート端子は、制御ラインに接続される。
【０１６５】
入力用ゲート１３５は、ｐＭＯＳであり、入力端子と、出力端子と、ゲート端子とを有する。入力用ゲート１３５では、入力端子は動作電圧ライン６０に接続され、出力端子は第１の端子（第１のインバータ１３１ａの入力側）に接続される。またゲート端子は、制御ライン６１に接続される。設定用ゲート１３３、設定用インバータ１３４、及び入力用ゲート１３５は、第１のインバータ１３１ａ及び第２のインバータ１３１ｂにより保持される２値状態を設定するための回路である。
【０１６６】
積和演算モードでは、動作電圧ライン６０に動作電圧Ｖｗが印加され、ＭＯＳトランジスタ１２０は、ＯＮ状態となりサブスレッショルド領域で動作する。Ａｘｏｎライン６に入力された電気信号は、ＭＯＳトランジスタ１２０の入力端子１２１に入力される。ＭＯＳトランジスタ１２０では、電気信号により表される信号値ｘiに荷重値ｗiを乗算した乗算値に対応する電荷が生成され、出力端子１２２から出力される。
【０１６７】
またシナプス回路１０８には、正負の荷重値±αが設定され、フリップフロップ回路１３０により、正の荷重値＋αに対応する状態と、負の荷重値−αに対応する状態とが保持される。正の荷重値＋αが設定された場合、第１及び第２の端子１３２ａ及び１３２ｂの電圧Ｐ及びＮは、（Ｐ、Ｎ）＝（Ｖｄｄ、０）となる。また負の荷重値＋αが設定された場合、（Ｐ、Ｎ）＝（０、Ｖｄｄ）となる。
【０１６８】
例えば、正の荷重値＋αが設定された場合、ｎＭＯＳである第１のゲート１４０ａにはゲート電圧としてＰ＝Ｖｄｄが印加されＯＮ状態となる。またｎＭＯＳである第２のゲート１４０ｂにはゲート電圧として０が印加されＯＦＦ状態となる。この場合、ＭＯＳトランジスタ１２０により生成された電荷は、第１のゲート１４０ａを介して、＋Ｄｅｎｄｒｉｔｅライン７ａに出力される。同様に、負の荷重値−αが設定された場合、第２のゲート１４０ｂがＯＮ状態となり、第１のゲート１４０ａがＯＦＦ状態となる。この場合、ＭＯＳトランジスタ１２０により生成された電荷は、第２のゲート１４０ｂを介して、−Ｄｅｎｄｒｉｔｅライン７ｂに出力される。
【０１６９】
このように、シナプス回路１０８では、第１及び第２のゲート１４０ａ及び１４０ｂにより、フリップフロップ回路１３０に保持された２値状態に基づいて、ＭＯＳトランジスタ１２０により生成された電荷が±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂのいずれか一方に出力される。シナプス回路１０８において、ＭＯＳトランジスタ１２０は、荷重部として機能し、第１及び第２のゲート１４０ａ及び１４０ｂは、スイッチ部として機能する。
【０１７０】
荷重設定モードでは、制御ライン６１に、電源電圧Ｖｄｄ（例えば１．０Ｖ）と同様の電圧が印加される。これにより、制御ライン６１に接続された設定用ゲート１３３と入力用ゲート１３５とがＯＮ状態となる。この状態で、動作電圧ライン６０に２値状態を設定するための制御信号（ＯＮ信号及びＯＦＦ信号）が入力される。
【０１７１】
例えば正の荷重値＋αを設定する場合には、動作電圧ライン６０に電源電圧Ｖｄｄと同様の電圧を印加する。これにより、（Ｐ，Ｎ）＝（Ｖｄｄ，０）となり、正の荷重値＋αに対応する状態が実現される。また負の荷重値−αを設定する場合には、動作電圧ライン６０に０の電圧を印加する。これにより、（Ｐ，Ｎ）＝（０，Ｖｄｄ）となり、負の荷重値−αに対応する状態が実現される。
【０１７２】
荷重値±αが設定されると、制御ライン６１の電圧は０に設定される。この結果、設定用ゲート１３３と入力用ゲート１３５とがＯＦＦ状態となる。なお、第１及び第２のインバータ１３１ａ及び１３１ｂにより、荷重値±αに対応する状態は維持される。
【０１７３】
図１１に示すシナプス回路１０８は、１２個のＭＯＳトランジスタを用いて構成される。また、シナプス回路１０８には、７本の配線（Ａｘｏｎライン６、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂ、２つの電源電圧ライン、制御ライン６１、及び動作電圧ライン６０）が接続される。この構成では、例えば動作電圧ライン６０を利用して、フリップフロップ回路１３０に保持される２値状態が設定される。これにより、配線数を減らすことが可能となり、回路の集積率等を向上することが可能となる。例えばこのような構成が採用されてもよい。
【０１７４】
以上、本実施形態に係る演算装置１００では、複数の入力信号線６（Ａｘｏｎライン６）に電気信号が入力される。アナログ回路３の複数のシナプス回路では、電気信号の信号値ｘiと荷重値ｗiとの乗算値ｗi・ｘiに対応する電荷が生成される。生成された電荷は、２値状態を保持するフリップフロップ回路の状態に基づいて、１対の出力線７ａ及び７ｂ（±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂ）のどちらかに出力される。各シナプス回路から出力された電荷は蓄積され、蓄積された電荷に基づいて積和信号が出力される。このようなシナプス回路の構成は、集積回路の製造技術等を用いて集積可能であり、積和演算を行うアナログ方式の回路を容易に集積することが可能となる。
【０１７５】
ニューラルネットワーク等をアナログ回路を用いて構成する場合、例えば荷重値と信号値との乗算処理、すなわちシナプス結合に対応する処理を行う回路が多数必要となる。アナログ回路では、このような回路を適正に接続し、かつ高い集積効率で集積することが求められる。
【０１７６】
本実施形態では、アナログ回路３を構成する各部（シナプス回路８及び１０８、ニューロン回路９、入力回路４０、及び関数回路５等）が、ｐＭＯＳ及びｎＭＯＳトランジスタを用いて構成可能である。すなわち、アナログ回路３は、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）集積回路の製造技術等を用いて、容易に集積化することが可能である。これにより、例えば信頼性の高いアナログ方式の回路を大規模に集積することが可能となる。
【０１７７】
また図３等を用いて説明したように、本実施形態では、クロスバー構成を用いて、各階層に含まれるアナログ回路３を実現することが可能である。これにより、例えば階層数の多い深層ニューラルネットワーク等であっても容易に実装することが可能である。
【０１７８】
図５及び図１１を参照して説明したように、シナプス回路８及び１０８では、フリップフロップ回路３０及び１３０に記憶された状態を利用して、正負の荷重値±αとの乗算処理が実行される。このような構成は、例えばＳＲＡＭ（Static Random Access Memory）等の製造技術を用いることで容易に実現することが可能である。これにより、多数のシナプス回路８及び１０８を高密度に集積することが可能となり、例えば画像認識や音声認識等に特化した小型の集積回路等を提供することが可能となる。
【０１７９】
例えば低消費エネルギーで動作させるには、後段回路の入力容量も含めて±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂの容量が低容量であることが望ましい。すなわち、各Ｄｅｎｄｒｉｔｅライン７に入力される電荷を絞ることで、消費電力を抑えることが可能である。
【０１８０】
上記したように、シナプス回路８及び１０８では、サブスレッショルド領域で動作するＭＯＳトランジスタが、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂに接続される。これにより、後段回路との間に高い導通抵抗Ｒが配置され、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂに流れ込む電荷を絞ることが可能となる。この結果、十分な処理時間を得て，演算精度を向上することが可能となる。
【０１８１】
また電荷を絞ることで、電荷の蓄積に必要なキャパシタ１３の容量等を小さくすることが可能であり、集積化に適したサイズのキャパシタ１３等を用いることが可能となる。あるいは、キャパシタ１３の容量等に合わせて電荷を絞ることも可能である。これにより、電荷の充電に要する時間等を十分に確保することが可能となり、積和結果を高い分解能で検出することが可能となる。このように、サブスレッショルド領域で動作するＭＯＳトランジスタを用いることで、例えば低消費電力でかつ小型でありながら、高精度な演算処理が可能な演算装置１００等を実現することが可能となる。
【０１８２】
＜第２の実施形態＞
本技術に係る第２の実施形態の演算装置について説明する。これ以降の説明では、上記の実施形態で説明した演算装置１００における構成及び作用と同様な部分については、その説明を省略又は簡略化する。
【０１８３】
図１２は、第２の実施形態に係る演算装置の構成例を示す模式図である。図１２に示す演算装置２００では、１つのアナログ回路２０３（信号源）から、１対の電気信号が出力される。従って例えば、Ｍ個のアナログ回路２０３と接続される上位層のアナログ回路２０３には、２×Ｍ個の入力信号線６（信号線１）が接続されることになる。この場合、上位層のアナログ回路２０３に入力される電気信号の総数Ｎは、Ｎ＝２×Ｍとなる。
【０１８４】
１対の電気信号は、例えば正の信号値ｘi+を表す正の電気信号と、負の信号値ｘi-を表す負の電気信号とを含む。例えば、正の信号値ｘi+及び負の信号値ｘi+は、ともに０以上の実数であり、正の信号値ｘi+から負の信号値ｘi-を引いた差分値（ｘi+−ｘi-）が、信号値ｘiとなる。
【０１８５】
例えば１つの信号源の出力側には、正の電気信号を伝送する複数の正の信号線１ａと、負の電気信号を伝送する複数の負の信号線１ｂとが、それぞれ接続される。複数の正の信号線１ａには、同じ正の電気信号が入力される。また複数の負の信号線１ｂには、同じ負の電気信号が入力される。図１２では、正の信号線１ａ（正の入力信号線６ａ）が、アナログ回路２０３の白丸の接続点に接続される。また負の信号線１ｂ（負の入力信号線６ｂ）が、アナログ回路２０３の黒丸の接続点に接続される。
【０１８６】
このように、本実施形態では、複数の入力信号線６は、正の入力信号線６ａ及び負の入力信号線６ｂを対とする複数の入力信号線６の対として構成される。本実施形態では、正の入力信号線６ａは、第１の入力線に相当し、負の入力信号線６ｂは、第２の入力線に相当する。
【０１８７】
例えば、アナログ回路２０３は、正の電気信号として、正の乗算値の総和である正の積和結果をあらわす電気信号（正の積和信号Ｓn+（ｔ））を出力し、負の電気信号として、負の乗算値の総和である負の積和結果をあらわす電気信号（負の積和信号Ｓn-（ｔ））を出力する。
【０１８８】
なお、各入力部２（信号源）から１対の電気信号が出力される構成が用いられてもよい。例えば入力部２は、正の電気信号として、入力データ４に応じた信号値をあらわす電気信号を出力し、負の電気信号として、信号値がゼロである電気信号を出力する。例えばこのように入力部２を構成することが可能である。
【０１８９】
図１２に示すように、演算装置２００は、複数の階層のそれぞれに、複数のアナログ回路２０３が設けられた階層構造を有する。例えば１段目の層に設けられた各アナログ回路２０３には、Ｎ個の入力部２により生成されたＮ個の電気信号の対がそれぞれ入力される。また２段目の層に設けられた各アナログ回路２０３には、１段目で算出されたＮ1個の電気信号の対がそれぞれ入力される。
【０１９０】
このように、演算装置２００では、各アナログ回路２０３により複数の電気信号の対に基づいて１対の電気信号（正負の積和結果）が生成され、上位層のアナログ回路２０３に出力される。このような処理が複数回実行され、最上位層（図１２では３段目の層）に含まれるアナログ回路２０３から処理結果が出力される。
【０１９１】
また電気信号の対に対して活性化関数を作用させることが可能である。図１２に示す例では、例えば２入力２出力の関数回路２０５が下位層と上位層との間に適宜配置される。例えばＲｅＬＵ関数が実装された関数回路２０５では、入力される１対の電気信号（正負の積和結果）から、全体の積和結果である信号値ｘi＝（ｘi+−ｘi-）の正負が判定される。
【０１９２】
例えば信号値ｘiが０以上の場合には、２つの出力から入力された１対の電気信号がそのまま出力され、それ以外の場合には、２つの出力から０を表す電気信号が出力される。このように、電気信号の対が用いられる場合であっても、ＲｅＬＵ関数等の活性化関数が導入された演算装置２００を実現することが可能である。
【０１９３】
図１３は、アナログ回路２０３に入力される電気信号の一例を示す模式図である。図１３Ａ及び図１３Ｂには、１対の電気信号の波形を表すグラフが模式的に図示されている。グラフの横軸は時間軸であり、縦軸は電気信号の電圧である。なお各グラフの時間軸は共通である。なお、図１３Ａ及び図１３Ｂでは電気信号の方式が異なる。
【０１９４】
図１３Ａは、ＰＷＭ方式の電気信号の波形の一例を表すグラフである。ＰＷＭ方式では、図２を参照して説明したように、パルス幅により信号値ｘiが表される。このようなパルス波形の信号が正負の入力信号線６ａ及び６ｂに入力される。
【０１９５】
図１３Ｂは、スパイクタイミング方式（以下、ＴＡＣＴ方式と記載する）の電気信号の波形の一例を表すグラフである。ＴＡＣＴ方式は、パルスが入力されたタイミングを用いて信号値ｘiを表す方式である。例えば所定のタイミングを基準として、パルスが入力されるタイミングが早いほど、そのパルスにより表される信号値ｘiが大きくなる。
【０１９６】
このパルスは、例えば所定の入力期間Ｔの間に入力される。この入力期間Ｔにおける、パルスの入力タイミングにより信号値ｘiが表される。従って、例えば入力期間Ｔの開始と同時に入力されたパルスが最も大きい信号値ｘiを表すことになる。
【０１９７】
なお図１３Ｂには、電気信号として、所定のパルス幅を持った矩形パルスが図示されている。これに限定されず、電気信号として、例えばあるタイミングに立ち上がり、積和結果が得られるまでＯＮレベルを維持する継続的なパルス等が用いられてもよい。これは、例えば図１０を参照して説明した正負の積和信号Ｓn+（ｔ）及びＳn-（ｔ）と同様のパルスと言える。
【０１９８】
図１４は、演算装置２００の具体的な構成例を示す模式図である。図１４は、例えば図１２に示す演算装置２００を実現する回路の配置例であり、演算装置２００のうち１つの階層に設けられる複数のアナログ回路２０３が模式的に図示されている。
【０１９９】
アナログ回路２０３は、１対の出力線７と、複数のシナプス回路２０８と、ニューロン回路２０９とを有する。図１４に示すように、演算装置２００は、入力信号線６と各出力線７とが直交して配置されたクロスバー構成（図３参照）を有する回路である。また演算装置２００では、各シナプス回路２０８に対して、正の入力信号線６ａと、負の入力信号線６ｂとが接続される。
【０２００】
シナプス回路２０８は、電気信号により表される信号値ｘiと荷重値ｗiとの乗算値（ｗi・ｘi）を算出する。具体的には、荷重値ｗiの符号に基づいて、正の入力信号線６ａから入力された信号値ｘi+と荷重値ｗiとの乗算値に対応する電荷を正負の出力線７ａ及び７ｂのどちらか一方に出力する。また負の入力信号線６ｂから入力された信号値ｘi-と荷重値ｗiとの乗算値に対応する電荷を、出力線７ａ及び７ｂのうち、信号値ｘi+との乗算値に対応する電荷が出力された出力線７とは異なる出力線７に出力する。
【０２０１】
従って、シナプス回路２０８は、１対の入力信号線６ａ及び６ｂと１対の出力線７ａ及び７ｂとの接続を切り替える回路として機能するとも言える。また１対の入力信号線６ａ及び６ｂから入力される信号値ｘi+及び信号値ｘi-には、同じ信号値ｗiが乗算される。このように、シナプス回路２０８は、１対の入力信号線６ａ及び６ｂと１対の出力線７ａ及び７ｂとに接続された２入力２出力の回路となる。シナプス回路２０８の具体的な構成については、後に詳しく説明する。本実施形態では、シナプス回路２０８は、乗算部に相当する。
【０２０２】
図１５は、ニューロン回路２０９の構成例を示す模式図である。ニューロン回路２０９は、蓄積部２１１と、出力部２１２とを有する。図１５には、１対の出力線７と、１対の出力信号線１０とに接続された２入力２出力のニューロン回路２０９が示されている。
【０２０３】
蓄積部２１１は、例えば図４を参照して説明した蓄積部１１と同様に構成される。蓄積部２１１には、正負の出力線７ａ及び７ｂから入力されるキャパシタ２１３ａ及び２１３ｂが設けられる。これらのキャパシタ２１３ａ及び２１３ｂには、蓄積した電荷を放出するためのスイッチや、追加で充電を行うための充電回路等が適宜接続される。
【０２０４】
出力部２１２は、蓄積部２１１に蓄積された電荷に基づいて、乗算値（ｗi・ｘi）の和を表す積和信号を出力する。具体的には、各キャパシタ２１３ａ及び２１３ｂに蓄積された電荷が適宜参照され、正負の積和信号Ｓn+（ｔ）及びＳn-（ｔ）がそれぞれ出力される。
【０２０５】
例えば、ＰＷＭ方式の電気信号が用いられる場合には、図４を参照して説明したように、入力期間Ｔの間に乗算値に対応する電荷がキャパシタ２１３に蓄積される。この場合、入力期間Ｔの後にキャパシタ２１３を充電しその電位を閾値検出することで、積和結果を表すタイミングが検出される。このタイミングを用いて、例えば図１０に示すような正負の積和信号Ｓn+（ｔ）及びＳn-（ｔ）が生成される。
【０２０６】
また例えば、ＴＡＣＴ方式の電気信号が用いられる場合には、パルスの入力タイミングから、一定の割合で継続的に電荷が蓄積される。ＴＡＣＴ方式では、信号値ｘiは入力タイミングで決まるため、パルス幅やパルスの立ち下がるタイミング等は検出する必要はない。従って電荷の蓄積を終了するタイミングは任意に設定することが可能である。このため、例えば入力期間Ｔの後も継続的に電荷が蓄積されたとしても、最終的な積和結果を適正に算出することが可能となる。
【０２０７】
例えば、電荷が蓄積されるキャパシタの電位が、所定の閾値を超えるまで、継続的に電荷を蓄積するといった構成を用いることが可能である。この場合、所定の閾値を超えたタイミングを検出することで、正負の積和信号Ｓn+（ｔ）及びＳn-（ｔ）が生成される。これにより、例えばＰＷＭ方式で用いられるような、キャパシタを改めて充電する回路等は不要となり、装置構成を簡略化することが可能となる
【０２０８】
このように、ＴＡＣＴ方式では、それぞれの荷重値ｗiに応じた割合（傾き）で電荷を出力し、閾値を超えるまでキャパシタが充電される。この場合、全体の積和結果は、例えば特許文献１に示すように、以下の式を用いて算出することが可能である。
【０２０９】
【数３】
2020017362.tif 000005
【０２１０】
ここで、θ+及びθ-は、キャパシタ２１３ａ及び２１３ｂの電位を検出するための閾値である。またβは、各シナプス回路２０８に設定される荷重値ｗiの総和である。β+及びβ-は、それぞれ正の荷重値ｗi+の総和及び負の荷重値｜ｗi-｜の総和であり、β＝β+−β-である。またＴinは、入力期間Ｔであり、ｔν+及びｔν-は、それぞれ、キャパシタ２１３ａ及び２１３ｂの電位が各閾値を超えたタイミングである。
【０２１１】
一般に、正の荷重値ｗi+の総和であるβ+と負の荷重値｜ｗi-｜の総和であるβ-とは、それぞれ異なる値となる。しかしながら、図１２及び図１４に示すように、正負１対の入力信号線６ａ及び６ｂを設けて、各信号値ｘi+及び信号値ｘi-に共通の荷重値ｗiを乗算する構成とすることで、β+＝β-＝β0とすることが可能である。この場合、全体の荷重値ｗiの総和βは、β＝β+−β-＝０となる。
【０２１２】
例えば、各キャパシタ２１３ａ及び２１３ｂに対する閾値θ+及びθ-は、出力される積和結果のスケールを等しくするために同じ値に設定される。この結果、アナログ回路２０３により算出される積和結果である（数３）は、以下のように変形される。
【０２１３】
【数４】
2020017362.tif 000006
【０２１４】
（数４）に示すように、全体の積和結果は、キャパシタ２１３ｂの電位が閾値を超えたタイミングｔν-から、キャパシタ２１３ｂの電位が閾値を超えたタイミングｔν+を引いた差分として算出することが可能となる。このような演算は、例えばタイミングｔν+を表す正の積和信号Ｓn+（ｔ）及びタイミングｔν-を表す正の積和信号Ｓn-（ｔ）に基づいて、論理回路等を用いて容易に実行することが可能である。
【０２１５】
このように、ＴＡＣＴ方式の電気信号を用いる場合には、正負の入力信号線６ａ及び６ｂを設け、２入力２出力のシナプス回路２０８を構成することで、積和結果の算出を容易に実行することが可能となる。これにより、例えば出力部２１２の構成を簡略化することが可能となり、例えば素子サイズを小さくすることが可能となる。また例えば、荷重値ｗiが変更される場合であっても、出力部２１２の構成等を変えることなく、適正な積和演算処理を実行することが可能である。この結果、汎用性の高い演算装置２００を実現することが可能となる。
【０２１６】
なお、ＰＷＭ方式では、上記したように、キャパシタ２１３ａ及び２１３ｂが入力期間Ｔの後に適宜充電される。この追加の充電は、例えば（数３）におけるβ+及びβ-の差分を補う役割を果たす。このため、ＰＷＭ方式の電気信号は、１入力２出力のシナプス回路を用いる場合（図１及び図３等参照）及び、２入力２出力のシナプス回路を用いる場合の両方に容易に適用することが可能である。
【０２１７】
図１６は、シナプス回路２０８の構成例を示す回路図である。以下では、正の入力信号線６ａを＋Ａｘｏｎライン６ａと記載し、負の入力信号線６ｂを−Ａｘｏｎライン６ｂと記載する。また正の出力線７ａを＋Ｄｅｎｄｒｉｔｅライン７ａと記載し、負の出力線７ｂを−Ｄｅｎｄｒｉｔｅライン７ｂと記載する。
【０２１８】
シナプス回路２０８は、第１のＭＯＳトランジスタ２２０ａと、第２のＭＯＳトランジスタ２２０ｂと、第１〜第４のゲート２４０ａ〜２４０ｄと、フリップフロップ回路２３０とを有する。また、シナプス回路２０８には、±Ａｘｏｎライン６ａ及び６ｂと、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂと、動作電圧ライン６０と、制御ライン６１とが接続される。
【０２１９】
第１のＭＯＳトランジスタ２２０ａ及び第２のＭＯＳトランジスタ２２０ｂは、サブスレッショルド領域で動作するｐＭＯＳである。各ＭＯＳトランジスタ２２０ａ及び２２０ｂとしては、例えば同じ設計パラメータ（ゲート幅やゲート長等）に基づいて作成された同様のｐＭＯＳトランジスタが用いられる。
【０２２０】
第１のＭＯＳトランジスタ２２０ａは、入力端子２２１ａと、出力端子２２２ａと、ゲート端子２２３ａとを有する。入力端子２２１ａは、＋Ａｘｏｎライン６ａに接続される。出力端子２２２ａは、後述する第１のゲート２４０ａと第２のゲート２４０ｂとの接続点２４１ａに接続される。ゲート端子２２３ｂは、動作電圧ライン６０に接続される。本実施形態では、第１のＭＯＳトランジスタ２２０ａは、入力線の対のうち、第１の入力線に接続される第１の荷重部に相当する。
【０２２１】
第２のＭＯＳトランジスタ２２０ｂは、入力端子２２１ｂと、出力端子２２２ｂと、ゲート端子２２３ｂとを有する。入力端子２２１ｂは、Ａｘｏｎライン６に接続される。出力端子２２２ｂは、後述する第３のゲート２４０ｃと第４のゲート２４０ｄとの接続点２４１ｂに接続される。ゲート端子２２３ｂは、動作電圧ライン６０に接続される。本実施形態では、第２のＭＯＳトランジスタ２２０ｂは、入力線の対のうち、第２の入力線に接続される第２の荷重部に相当する。
【０２２２】
第１〜第４のゲート２４０ａ〜２４０ｄは、ｎＭＯＳであり、それぞれ入力端子、出力端子、及びゲート端子を有する。ｎＭＯＳである各ゲート２４０ａ〜２４０ｄは、例えば正のゲート電圧が印加されるとＯＮ状態となり、ゲート電圧が０の場合にＯＦＦ状態となる。
【０２２３】
第１及び第２のゲート２４０ａ及び２４０ｂは、各々の入力端子が接続点２４１ａを介して接続される。この接続点２４１ａには、第１のＭＯＳトランジスタ２２０ａの出力端子２２２ａが接続される。第１のゲート２４０ａの出力端子は、＋Ｄｅｎｄｒｉｔｅライン７ａに接続され、ゲート端子は、フリップフロップ回路２３０の第２の端子２３２ｂに接続される。第２のゲート２４０ｂの出力端子は、−Ｄｅｎｄｒｉｔｅライン７ｂに接続され、ゲート端子は、フリップフロップ回路２３０の第１の端子２３２ａに接続される。
【０２２４】
第３及び第４のゲート２４０ｃ及び２４０ｄは、各々の入力端子が接続点２４１ｂを介して接続される。この接続点２４１ｂには、第２のＭＯＳトランジスタ２２０ｂの出力端子２２２ｂが接続される。第３のゲート２４０ｃの出力端子は、＋Ｄｅｎｄｒｉｔｅライン７ａに接続され、ゲート端子は、フリップフロップ回路２３０の第１の端子２３２ａに接続される。第４のゲート２４０ｄの出力端子は、−Ｄｅｎｄｒｉｔｅライン７ｂに接続され、ゲート端子は、フリップフロップ回路２３０の第２の端子２３２ｂに接続される。
【０２２５】
フリップフロップ回路２３０は、第１のインバータ２３１ａと、第２のインバータ２３１ｂと、第１の端子２３２ａと、第２の端子２３２ｂとを有する。またフリップフロップ回路２３０は、設定用ゲート２３３と、設定用インバータ２３４と、入力用ゲート２３５とを有する。フリップフロップ回路２３０は、例えば図１１を参照して説明したフリップフロップ回路２３０と略同様に構成される。
【０２２６】
なお図１６に示す例では、入力用ゲート２３５として、ｐＭＯＳに代えて、ｎＭＯＳとｐＭＯＳとを用いて構成される伝送ゲートが用いられる。入力用ゲート２３５を構成するｐＭＯＳのゲート端子には、設定用インバータ２３４の出力が接続され、ｎＭＯＳのゲート端子には、制御ライン６１が接続される。また入力用ゲート２３５の信号ラインを介して、第１の端子２３２ａ（第１のインバータ２３１ａの入力側）と動作電圧ライン６０とが接続される。
【０２２７】
図１６に示すシナプス回路２０８は、１６個のＭＯＳトランジスタを用いて構成される。また、シナプス回路２０８には、８本の配線（±Ａｘｏｎライン６ａ及び６ｂ、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂ、２つの電源電圧ライン、動作電圧ライン６０、及び制御ライン６１）が接続される。この構成では、独立した動作電圧ライン６０及び制御ライン６１が用いられる。これにより荷重設定や積和演算等の処理を安定して実現することが可能となり、信頼性の高い演算装置２００実現することが可能となる。
【０２２８】
図１７は、シナプス回路２０８の動作の一例を示すタイミングチャートである。図１７Ａは、正の荷重値ｗi+が設定される場合のタイミングチャートである。図１７Ｂは、負の荷重値ｗi-が設定される場合のタイミングチャートである。図１７Ａ及び図１７Ｂには、上から順番に＋Ａｘｏｎライン６ａ、−Ａｘｏｎライン６ｂ、＋Ｄｅｎｄｒｉｔｅライン７ａ、及び−Ｄｅｎｄｒｉｔｅライン７ｂに表れる信号の波形が模式的に図示されている。
【０２２９】
図１７には、ＰＷＭ方式の電気信号が用いられる場合のタイミングチャートが模式的に示されている。例えばＴＡＣＴ方式の電気信号が用いられる場合にも、以下に説明する内容は適用可能である。
【０２３０】
本実施形態では、１つのシナプス回路２０８に対して、＋α、又は−αのどちらか一方が荷重値ｗiとして設定される。すなわち±αに対応する状態が、フリップフロップ回路２３０に設定され、その状態が保持される。フリップフロップ回路２３０に±αに対応する状態を設定する方法は、例えば図１１を参照して説明した方法と同様である。すなわち、制御ライン６１に電源電圧Ｖｄｄと同程度の電圧を印加した状態で、動作電圧ライン６０に、第１の端子２３２ａの電圧Ｐとして設定する状態（０／Ｖｄｄ）が印加される。
【０２３１】
図１６に示すシナプス回路２０８では、例えば正の荷重値＋αに対応する状態として、第１の端子２３２ａの電圧Ｐ及び第２の端子２３２ａの電圧Ｎが、（Ｐ，Ｎ）＝（０，Ｖｄｄ）に設定される。また負の荷重値−αに対応する状態として、（Ｐ，Ｎ）＝（Ｖｄｄ，０）に設定される。
【０２３２】
例えば正の荷重値＋αが設定された場合、第１のゲート２４０ａ及び第４のゲート２４０ｄがＯＮ状態となり、第２のゲート２４０ｂ及び第３ゲート２４０ｃがＯＦＦ状態となる。また例えば、負の荷重値−αが設定された場合、第２のゲート２４０ｂ及び第３のゲート２４０ｃがＯＮ状態となり、第１のゲート２４０ａ及び第４のゲート２４０ｄがＯＦＦ状態となる。
【０２３３】
積和演算を行う際には、動作電圧ライン６０に対して、第１及び第２のＭＯＳトランジスタ２２０ａ及び２４０ｂをサブスレッショルド領域で動作させるためのゲート電圧Ｖｗが印加される。また±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂは、例えば電源電圧Ｖｔｈよりも十分に低い電圧状態となるように構成される。
【０２３４】
図１７Ａに示すように、正の荷重値＋αが設定されたシナプス回路２０８において、＋Ａｘｏｎライン６ａにパルス幅τin+の電気信号１８ａが入力されるとする。電気信号１８ａは、第１のＭＯＳトランジスタ２２０ａに入力され、第１のＭＯＳトランジスタ２２０ａにより荷重値αに応じた電荷（電流）が生成される。生成された電荷は、接続点２４１ａに入力され、ＯＮ状態となっている第１のゲート２４０ａから、＋Ｄｅｎｄｒｉｔｅライン７ａに出力される。この結果、パルス幅τin+と同様の期間にわたって、＋Ｄｅｎｄｒｉｔｅライン７ａの電位が上昇する。
【０２３５】
また−Ａｘｏｎライン６ｂにパルス幅τin-の電気信号１８ｂが入力されるとする。電気信号１８ｂは、第２のＭＯＳトランジスタ２２０ｂに入力され、第２のＭＯＳトランジスタ２２０ｂにより荷重値αに応じた電荷（電流）が生成される。生成された電荷は、接続点２４１ｂに入力され、ＯＮ状態となっている第４のゲート２４０ｂから、−Ｄｅｎｄｒｉｔｅライン７ｂに出力される。この結果、パルス幅τin-と同様の期間にわたって、−Ｄｅｎｄｒｉｔｅライン７ｂの電位が上昇する。
【０２３６】
一方で、負の荷重値−αが設定された場合、第１のＭＯＳトランジスタ２２０ａから接続点２４１ａに入力された電荷は、ＯＮ状態となっている第２のゲート２４０ｂから、−Ｄｅｎｄｒｉｔｅライン７ｂに出力される。同様に、第２のＭＯＳトランジスタ２２０ｂから接続点２４１ｂに入力された電荷は、ＯＮ状態となっている第３のゲート２４０ｃから、＋Ｄｅｎｄｒｉｔｅライン７ｂに出力される。
【０２３７】
この結果、図１７Ｂに示すように、負の荷重値−αが設定されたシナプス回路２０８では、パルス幅τin+と同様の期間にわたって、−Ｄｅｎｄｒｉｔｅライン７ｂの電位が上昇し、パルス幅τin-と同様の期間にわたって、＋Ｄｅｎｄｒｉｔｅライン７ａの電位が上昇する。
【０２３８】
従って、シナプス回路２０８では、荷重値±αの符号に応じて、±Ａｘｏｎライン６ａ及び６ｂの接続先が切り替えられる。すなわち正の荷重値＋αが設定された場合には、＋Ａｘｏｎライン６ａと＋Ｄｅｎｄｒｉｔｅライン７ａとが接続され、−Ａｘｏｎライン６ａと−Ｄｅｎｄｒｉｔｅライン７ａとが接続される。また負の荷重値−αが設定された場合には、＋Ａｘｏｎライン６ａと−Ｄｅｎｄｒｉｔｅライン７ｂとが接続され、−Ａｘｏｎライン６ａと＋Ｄｅｎｄｒｉｔｅライン７ａとが接続される。
【０２３９】
このように、第１及び第２のゲート２４０ａ及び２４０ｂは、２値状態に基づいて、第１のＭＯＳトランジスタ２２０ａにより生成される電荷を±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂの一方に出力する。また第２及び第３のゲート２４０ａ及び２４０ｂは、２値状態に基づいて、第２のＭＯＳトランジスタ２２０ｂにより生成される電荷を±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂの他方に出力する。シナプス回路２０８では、第１及び第２のゲート２４０ａ及び２４０ｂは、第１のスイッチ部に相当し、第３及び第４のゲート２４０ｃ及び２４０ｄは、第２のスイッチ部に相当する。
【０２４０】
図１８は、±Ａｘｏｎライン６ａ及び６ｂに電気信号を入力する入力回路の一例を示す回路図である。入力回路２７０は、正の入力信号端子２７１ａと、負の入力信号端子２７１ｂと、正の入力信号回路２７２ａと、負の入力信号回路２７２ｂと、タイプ入力端子２７３と、リセット端子２７４とを有する。
【０２４１】
正負の入力信号端子２７１ａ及び２７１ｂには、それぞれ前段の回路から出力された正の信号値ｘi+を表す正の入力信号ｉＸｐと、負の信号値ｘi-を表す負の入力信号ｉＸｎとが入力される。後述するように、入力回路２７０では、入力信号（電気信号）の方式として、ＴＡＣＴ方式及びＰＷＭ方式のどちらか一方が用いられる（図１９参照）。
【０２４２】
正の入力信号回路２７２ａは、第１のｐＭＯＳ２７５ａと、第１〜第４のｎＭＯＳ２７６ａ〜２７６ｄと、インバータ２７７とを有する。第１のｐＭＯＳ２７５ａのゲート端子は、正の入力信号端子２７１ａに接続される。また第１のｐＭＯＳ２７５ａの一方の端子は、電源電圧に接続され、他方の端子は、＋Ａｘｏｎライン６ａに接続される。
【０２４３】
第１のｎＭＯＳ２７６ａのゲート端子はタイプ入力端子２７３に接続され、一方の端子は＋Ａｘｏｎライン６ａに接続され、他方の端子は第２のｎＭＯＳ２７６ｂの一方の端子に接続される。第２のｎＭＯＳ２７６ｂのゲート端子は、正の入力信号端子２７１ａに接続され、他方の端子はＧＮＤに接続される。従って、第１及び第２のｎＭＯＳ２７６ａ及び２７６ｂは、この順番で＋Ａｘｏｎライン６ａとＧＮＤとの間に直列に接続される。
【０２４４】
第３のｎＭＯＳ２７６ｃのゲート端子はインバータ２７７の出力側に接続され、一方の端子は＋Ａｘｏｎライン６ａに接続され、他方の端子は第４のｎＭＯＳ２７６ｄの一方の端子に接続される。またインバータ２７７の入力側には、タイプ入力端子２７３が接続される。第４のｎＭＯＳ２７６ｂのゲート端子は、リセット端子２７４に接続され、他方の端子はＧＮＤに接続される。従って、第３及び第４のｎＭＯＳ２７６ｃ及び２７６ｄは、この順番で＋Ａｘｏｎライン６ａとＧＮＤとの間に直列に接続される。
【０２４５】
負の入力信号回路２７２ｂは、第２のｐＭＯＳ２７５ｂと、第５のｎＭＯＳ２７６ｅとを有する。第２のｐＭＯＳ２７５ｂのゲート端子は、負の入力信号端子２７１ｂに接続される。また第２のｐＭＯＳ２７５ｂの一方の端子は、電源電圧に接続され、他方の端子は、−Ａｘｏｎライン６ｂに接続される。第５のｎＭＯＳ２７６ｅのゲート端子はリセット端子２７４に接続され、一方の端子は−Ａｘｏｎライン６ｂに接続され、他方の端子はＧＮＤに接続される。
【０２４６】
図１９は、入力回路２７０の動作の一例を示すタイミングチャートである。図１９Ａ及び図１９Ｂには、それぞれＴＡＣＴ方式及びＰＷＭ方式の電気信号が用いられる場合のタイミングチャートが示されている。また図１９に示す例では、正負の入力信号ｉＸｐ及びｉＸｎにおいて、低電圧（例えば０電圧）の期間により信号値ｘiが表わされる。すなわち各入力信号は、低電圧パルスとして入力される。
【０２４７】
図１９Ａに示すように、ＴＡＣＴ方式では、タイプ入力端子２７３の電圧は０に設定される（Ｔｙｐｅ＝０）。この場合、正の入力信号回路２７２ａの第３のｎＭＯＳ２７６ｃがＯＮ状態を維持する。なお正の入力信号回路２７２ａでは、低電圧パルスが入力されていない場合、すなわち正の入力信号端子２７１ａが高電圧である場合、第２のｎＭＯＳ２７６ｂがＯＮ状態となる。
【０２４８】
正の入力信号端子２７１ａに低電圧パルスが入力されると、第１のｐＭＯＳ２７５ａがＯＮ状態となり、＋Ａｘｏｎライン６ａは電源電圧Ｖｄｄに応じた正電圧になる。この時、第１のｐＭＯＳ２７５ａの入力容量や＋Ａｘｏｎライン６ａの寄生容量等が充電される。なお、低電圧パルスが入力された状態では、第１、第２、及び第４のｎＭＯＳ２７６ａ、２７６ｂ、及び２７６ｄがＯＦＦ状態であるため、＋Ａｘｏｎライン６ａは、ＧＮＤには接続されない。
【０２４９】
また負の入力信号端子２７１ｂに低電圧パルスが入力されると、第２のｐＭＯＳ２７５ｂがＯＮ状態となり、−Ａｘｏｎライン６ａは電源電圧Ｖｄｄに応じた正電圧になる。この時、第２のｐＭＯＳ２７５ｂの入力容量や−Ａｘｏｎライン６ｂの寄生容量等が充電される。なお、第５のｎＭＯＳ２７６ｅは、ＯＦＦ状態となっており、−Ａｘｏｎライン６ｂは、ＧＮＤには接続されない。
【０２５０】
このように、Ｔｙｐｅ＝０に設定されている場合、低電圧パルスが入力されると、第１及び第２のｐＭＯＳ２７５ａ及び２７５ｂの入力容量等が充電される。このため、各入力信号端子２７１ａ及び２７１ｂが正電圧になった後も、±Ａｘｏｎライン６ａ及び６ｂには電源電圧Ｖｄｄに応じた正電圧が印加される。これにより、低電圧パルスの入力するタイミング以降に、継続的に高電圧状態を維持するＴＡＣＴ方式の電気信号を生成することが可能となる。
【０２５１】
リセット端子２７４に対して、所定の正電圧パルス（リセット信号）が入力されると、第４のｎＭＯＳ２７６ｄと、第５のｎＭＯＳ２７６ｅとがＯＮ状態となる。この場合、例えば正の入力信号回路２７２ａでは、第３のｎＭＯＳ２７６ｃと第４のｎＭＯＳ２７６ｄとをつなぐ経路が導通され、＋Ａｘｏｎライン６ａがＧＮＤに接続される。この結果、第１のｐＭＯＳ２７５ａの入力容量や＋Ａｘｏｎライン６ａの寄生容量等が放電され、＋Ａｘｏｎライン６ａの電圧は０となる。
【０２５２】
同様に、負の入力信号回路２７２ｂでは、第５のｎＭＯＳ２７６ｅを介して、−Ａｘｏｎライン６ａがＧＮＤに接続される。この結果、第２のｐＭＯＳ２７５ｂの入力容量や−Ａｘｏｎライン６ｂの寄生容量等が放電され、−Ａｘｏｎライン６ｂの電圧は０となる。
【０２５３】
リセット信号は、例えば次の入力信号が入力されるタイミングよりも前に入力される。リセット信号を入力するタイミング等は限定されず、例えば１回の積和演算処理が終了したタイミングや、次の積和演算処理が開始されるタイミング等に合わせて適宜入力されてよい。
【０２５４】
図１９Ｂに示すように、ＰＷＭ方式では、タイプ入力端子２７３の電圧は１（正電圧）に設定される（Ｔｙｐｅ＝１）。なお図１９Ｂに示す例では、正の入力信号端子２７１ｂ（正の入力信号ｉＸｎ）、−Ａｘｏｎライン６ｂ、及びリセット端子２７４は用いられない。
【０２５５】
Ｔｙｐｅ＝１に設定されると、正の入力信号回路２７２ａの第１のｎＭＯＳ２７６ａがＯＮ状態に維持される。また低電圧パルスが入力されていない場合、第２のｎＭＯＳ２７６ｂがＯＮ状態となる。この場合、＋Ａｘｏｎライン６ａはＧＮＤに接続された状態となっている。
【０２５６】
正の入力信号端子２７１ａに低電圧パルスが入力されると、第１のｐＭＯＳ２７５ａがＯＮ状態となり、第２のｎＭＯＳ２７６ｂがＯＦＦ状態となる。このため、＋Ａｘｏｎライン６ａは、ＧＮＤから切り離され、電源電圧Ｖｄｄに応じた正電圧となる。＋Ａｘｏｎライン６ａの正電圧の状態は、低電圧パルスのパルス幅と同様の期間だけ継続される。
【０２５７】
低電圧パルスの入力が終了し、正の入力信号端子２７１ａの電圧が上昇すると、第１のｐＭＯＳ２７５ａがＯＦＦ状態となり、第２のｎＭＯＳ２７６ｂがＯＮ状態となる。この結果、＋Ａｘｏｎライン６ａは再びＧＮＤに接続された状態となり、その電圧は０となる。このように、Ｔｙｐｅ＝１とすることで、低電圧パルスと同様のパルス幅を持ったＰＷＭ方式の電気信号を生成することが可能となる。
【０２５８】
このように入力回路２７０は、ＴＡＣＴ方式の電気信号と、ＰＷＭ方式の電気信号とを切り替えて生成することが可能である。なお、入力回路２７０として、例えばＴＡＣＴ方式及びＰＷＭ方式のどちらか一方を生成する回路等が用いられてもよい。この他、入力回路２７０の具体的な構成は限定されず、例えば使用される電気信号の方式等に応じて、所望の電気信号が出力可能となるように適宜構成されてよい。
【０２５９】
図２０は、ＲｅＬＵ関数を実装した関数回路２０５の一例を示す回路図である。図２０には、ＴＡＣＴ方式の電気信号に対応したＲｅＬＵ関数を実現するための２入力２出力の関数回路２０５が示されている。関数回路２０５は、例えば図１２や図１４に示す演算装置２００に適用される。
【０２６０】
関数回路２０５は、ＲｅＬＵ回路２５０と、スイッチ制御回路２５１と、第１〜第４のスイッチ２５２ａ〜２５２ｄと、リセット端子２５３と、ゼロ入力端子２５４とを有する。また関数回路２０５は正負の入力端子２５５ａ及び２５５ｂと、正負の出力端子２５６ａ及び２５６ｂとを有する。
【０２６１】
ＲｅＬＵ回路２５０は、例えば図９Ａ及び図９Ｂに示す関数回路５ａ及び５ｂと同様に構成され、正負の入力端子２５５ａ及び２５５ｂに接続される。ＲｅＬＵ回路２５０には、正負の入力端子２５５ａ及び２５５ｂから、正の積和信号Ｓin+（ｔ）及び負の積和信号Ｓin-（ｔ）が入力される。ＲｅＬＵ回路２５０では、例えばＳin+（ｔ）がＳin-（ｔ）よりも早いタイミングで入力される場合（全体の積和結果が０より大きい場合）に正電圧を出力する（図１０参照）。
【０２６２】
スイッチ制御回路２５１は、充電スイッチ２６０と、放電スイッチ２６１と、容量素子２６２と、インバータ２６３とを含む。充電スイッチ２６０の一方の側は電源電圧ラインに接続され、他方の側は放電スイッチ２６１の一方の側に接続され、制御端子はＲｅＬＵ回路２５０の出力側に接続される。放電スイッチ２６１の他方の側はＧＮＤに接続され、制御端子は、リセット端子２５３に接続される。
【０２６３】
また充電スイッチ２６０と放電スイッチ２６１との接続点は、インバータ２６３の入力側に接続される。容量素子２６２は、例えばデジタルメモリとして動作するキャパシタであり、インバータ２６３の入力側と、ＧＮＤとの間に接続される。
【０２６４】
第１のスイッチ２５２ａは、正の入力端子２５５ａと正の出力端子２５６ａとの間に接続される。第２のスイッチ２５２ｂは、負の入力端子２５５ｂと負の出力端子２５６ｂとの間に接続される。また、第１及び第２のスイッチ２５２ａ及び２５２ｂの各制御端子は、インバータ２６３の入力側に接続される。
【０２６５】
第３のスイッチ２５２ｃは、ゼロ入力端子２５４と正の出力端子２５６ａとの間に接続される。第４のスイッチ２５２ｄは、ゼロ入力端子２５４と負の出力端子２５６ｂとの間に接続される。また、第３及び第４のスイッチ２５２ｃ及び２５２ｄの各制御端子は、インバータ２６３の出力側に接続される。
【０２６６】
正の積和信号Ｓin+（ｔ）及び負の積和信号Ｓin-（ｔ）が入力されると、ＲｅＬＵ回路２５０により、全体の積和結果の符号に応じた信号が出力される。例えば、全体の積和結果が０より大きい場合、ＲｅＬＵ回路２５０からは正電圧が出力される。この結果、充電スイッチ２６０がＯＮ状態となり、容量素子２６２に所定の電荷が蓄積される。
【０２６７】
容量素子２６２に電荷が蓄積されることで、インバータ２６３の入力側の電位が上昇する。これにより、第１及び第２のスイッチ２５２ａ及び２５２ｂがＯＮ状態となる。このように、全体の積和結果が０以上である場合、正負の入力端子２５５ａ及び２５５ｂと、正負の出力端子２５６ａ及び２５６ｂとがそれぞれ接続される。なお、インバータ２６３の出力側に接続される第３及び第４のスイッチ２５２ｃ及び２５２ｄはＯＦＦ状態となる。
【０２６８】
容量素子２６２に電荷が蓄積されている間は、インバータ２６３の入力側は高電位に維持される。このため例えば、ＲｅＬＵ回路２５０の出力が０になったとしても、第１及び第２のスイッチ２５２ａ及び２５２ｂはＯＮ状態に維持される。この結果、正負の出力端子２５６ａ及び２５６ｂからは、正の積和信号Ｓout+（ｔ）＝Ｓin+（ｔ）及び負の積和信号Ｓout-（ｔ）＝Ｓin-（ｔ）がそのまま出力される。
【０２６９】
なお容量素子２６２は、演算の度に毎回Ｌｏｗレベルにリセットされる。例えば、リセット端子２５３に入力されたリセット信号により放電スイッチ２６１がＯＮ状態に切り替えられる。これにより、容量素子２６２に蓄積された電荷をＧＮＤに放出することが可能である。リセット信号を入力するタイミング等は限定されず、例えば積和演算が適正に実行可能となるように、適宜入力されてよい。
【０２７０】
また、全体の積和結果が０以下である場合、ＲｅＬＵ回路２５０の出力は０となる。この場合、容量素子２６２への充電等は行われず、インバータ２６３の入力側は低電位となる。このため、第１及び第２のスイッチ２５２ａ及び２５２ｂはＯＦＦ状態に維持される。一方で、インバータ２６３の出力側は高電位となり、第３及び第４のスイッチ２５２ｃ及び２５２ｄはＯＮ状態となる。
【０２７１】
この結果、正負の出力端子２５６ａ及び２５６ｂは、ゼロ入力端子２５４に接続される。ゼロ入力端子２５４からは、例えばゼロのタイミングを表す信号Ｓ0が出力される。この結果、正負の出力端子２５６ａ及び２５６ｂからは、正の積和信号Ｓout+（ｔ）＝Ｓ0及び負の積和信号Ｓout-（ｔ）＝Ｓ0が出力される。
【０２７２】
このように、関数回路２０５は、２つの入力についてのＲｅＬＵ関数が実装された回路となる。なお関数回路２０５の具体的な構成は限定されない。例えば正負の積和信号Ｓin+（ｔ）及びＳin-（ｔ）に対するＲｅＬＵ関数として動作可能な任意の回路が用いられてよい。また例えばＲｅＬＵ関数以外の活性化関数が実装された回路が用いられてもよい。
【０２７３】
図２１は、シナプス回路の他の構成例を示す回路図である。シナプス回路３０８は、第１のＭＯＳトランジスタ３２０ａと、第２のＭＯＳトランジスタ３２０ｂと、第１〜第４のゲート３４０ａ〜３４０ｄと、フリップフロップ回路３３０とを有する。フリップフロップ回路３３０は、例えば図１１を参照して説明したフリップフロップ回路１３０と同様に構成される。
【０２７４】
シナプス回路３０８は、図１６を参照して説明したシナプス回路２０８と比べ、第１及び第２のＭＯＳトランジスタ３２０ａ及び３２０ｂとして用いられるＭＯＳの種類と、第１〜第４のゲート３４０ａ〜３４０ｄとして用いられるＭＯＳの種類とが異なる。具体的には、図２１に示すシナプス回路３０８では、第１及び第２のＭＯＳトランジスタ３２０ａ及び３２０ｂとして、サブスレッショルド領域で動作するｎＭＯＳが用いられる。また第１〜第４のゲート３４０ａ〜３４０ｄとしてｐＭＯＳが用いられる。
【０２７５】
シナプス回路３０８では、例えば正の荷重値＋αに対応する状態として、第１の端子３３２ａの電圧Ｐ及び第２の端子３３２ｂの電圧Ｎが、（Ｐ，Ｎ）＝（Ｖｄｄ，０）に設定される。また負の荷重値−αに対応する状態として、（Ｐ，Ｎ）＝（０，Ｖｄｄ）に設定される。なお図２１に示す例では、電源電圧Ｖｄｄ＝１．０Ｖに設定される。
【０２７６】
例えば正の荷重値＋αが設定された場合、第１のゲート３４０ａ及び第４のゲート３４０ｄには、ゲート電圧＝０が印加され、各ゲートはＯＮ状態となる。この時、第２のゲート３４０ｂ及び第３のゲート３４０ｃには、ゲート電圧＝Ｖｄｄが印加され、各ゲートはＯＦＦ状態となる。また例えば、負の荷重値−αが設定された場合、第２のゲート３４０ｂ及び第３のゲート３４０ｃがＯＮ状態となり、第１のゲート３４０ａ及び第４ゲート３４０ｄがＯＦＦ状態となる。
【０２７７】
積和演算を行う際には、動作電圧ライン６０に対して、第１及び第２のＭＯＳトランジスタ３２０ａ及び３２０ｂをサブスレッショルド領域で動作させるための動作電圧Ｖｗ（０．０〜１．０Ｖ）が印加される。また±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂは、例えば電源電圧Ｖｔｈを上限とする高い電圧状態（例えば０．７〜１．０Ｖ）となるように構成される。また±Ａｘｏｎライン６ａ及び６ｂには、０．０Ｖまたは１．０Ｖの電圧で表される電気信号が入力される。
【０２７８】
正負の荷重値±αのどちらかが設定された状態では、例えば第１のＭＯＳトランジスタ３２０ａの出力端子３２２ａが±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂのどちらかに接続された状態となる。このため出力端子３２２ａ（ドレイン）の電圧は入力端子３２１ｂ（ソース）に比べ高くなる。例えば、入力端子３２１ａの電圧が０Ｖの場合、ゲート端子３２３ａと入力端子３２１ａとの間の電圧、すなわちゲート電圧ＶgsはＶｗとなり、サブスレッショルド領域でのＯＮ状態となる。また例えば、入力端子３２１ａの電圧がＶｗの場合、ゲート電圧Ｖgsは０Ｖとなり、第１のＭＯＳトランジスタ３２０ａはＯＦＦ状態となる。
【０２７９】
第１のＭＯＳトランジスタ３２０ａがＯＮ状態となった場合、出力端子３２２ａ（ドレイン）から入力端子３２１ｂ（ソース）に向けて電流が流れる。すなわち入力端子３２１ａ（ソース）から出力端子３２２ｂ（ドレイン）に向けてｎＭＯＳのキャリアである電子（負電荷）が出力される。なお出力される負電荷の量は、導通抵抗Ｒを用いて設定可能である。これにより、例えば設定された荷重値＋αに応じた電荷（負電荷）を生成することが可能である。これは、第２のＭＯＳトランジスタ３２０ｂにおいても同様である。以下では、第１及び第２のＭＯＳトランジスタ３２０ａ及び３２０ｂから出力される負電荷を、単に電荷と記載する場合がある。
【０２８０】
従って、シナプス回路３０８では、電圧が０の状態で信号値ｘiを表す電気信号が用いられる。すなわち±Ａｘｏｎライン６ａ及び６ｂには、低電圧パルス（図１９参照）が入力される。低電圧パルスは、例えば入力回路２７０を適宜構成することで生成可能である。
【０２８１】
例えば、正の荷重値＋αが設定された場合、第１のＭＯＳトランジスタ３２０ａから接続点３４１ａに入力された電荷は、ＯＮ状態となっている第１のゲート３４０ａから、＋Ｄｅｎｄｒｉｔｅライン７ａに出力される。同様に、第２のＭＯＳトランジスタ３２０ｂから接続点３４１ｂに入力された電荷は、ＯＮ状態となっている第４のゲート３４０ｄから、−Ｄｅｎｄｒｉｔｅライン７ｂに出力される。
【０２８２】
また例えば、負の荷重値−αが設定された場合、第１のＭＯＳトランジスタ３２０ａから接続点３４１ａに入力された電荷は、ＯＮ状態となっている第２のゲート３４０ｂから、−Ｄｅｎｄｒｉｔｅライン７ｂに出力される。同様に、第２のＭＯＳトランジスタ３２０ｂから接続点３４１ｂに入力された電荷は、ＯＮ状態となっている第３のゲート３４０ｃから、＋Ｄｅｎｄｒｉｔｅライン７ｂに出力される。
【０２８３】
例えば各シナプス回路３０８により、±Ｄｅｎｄｒｉｔｅライン７に出力された電荷（負電荷）は、キャパシタ等に蓄積され、その蓄積量が検出される。なお負電荷の蓄積量を検出する方法は限定されない。検出された蓄積量に基づいて、例えば正負の積和結果や、全体の積和結果等を算出することが可能である。このように、第１及び第２のＭＯＳトランジスタ３２０ａ及び３２０ｂとして、ｎＭＯＳが用いられる場合であっても、積和演算を適正に実行することが可能である。
【０２８４】
図２１に示すシナプス回路３０８は、１５個のＭＯＳトランジスタを用いて構成される。また、シナプス回路３０８には、８本の配線（±Ａｘｏｎライン６ａ及び６ｂ、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂ、２つの電源電圧ライン、動作電圧ライン６０、及び制御ライン６１）が接続される。独立した動作電圧ライン６０及び制御ライン６１を用いることで、荷重としてｎＭＯＳが用いられる場合であっても、荷重設定や積和演算等の処理を安定して実現することが可能となる。
【０２８５】
図２２は、シナプス回路の他の構成例を示す回路図である。シナプス回路４０８は、第１のＭＯＳトランジスタ４２０ａと、第２のＭＯＳトランジスタ４２０ｂと、第１〜第４のゲート４４０ａ〜４４０ｄと、フリップフロップ回路４３０とを有する。また、シナプス回路４０８には、±Ａｘｏｎライン６ａ及び６ｂと、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂと、第１の制御ライン６１ａと第２の制御ライン６１ｂが接続される。
【０２８６】
第１〜第４のゲート４４０ａ〜４４０ｄは、例えば図２１を参照して説明したシナプス回路３０８と同様に構成される。またフリップフロップ回路４３０は、例えば図１１を参照して説明したフリップフロップ回路１３０と同様に構成される。なお、フリップフロップ回路４３０の入力用ゲート４３５は、第２の制御ライン６１ｂに接続される。荷重値±α等の設定には、第１及び第２の制御ライン６１ａ及び６１ｂが用いられる。
【０２８７】
第１のＭＯＳトランジスタ４２０は、サブスレッショルド領域で動作するｎＭＯＳであり、入力端子４２１ａと、出力端子４２２ａと、ゲート端子４２３ａとを有する。入力端子４２１ａは、ＧＮＤに接続される。出力端子４２２ａは、第１のゲート４４０ａと第２のゲート４４０ｂとの接続点４４１ａに接続される。ゲート端子４２３ａは、＋Ａｘｏｎライン６ａに接続される。本実施形態では、第１のＭＯＳトランジスタ４２０ａは、第１の荷重部に相当する。
【０２８８】
第２のＭＯＳトランジスタ４２０は、サブスレッショルド領域で動作するｎＭＯＳであり、入力端子４２１ｂと、出力端子４２２ｂと、ゲート端子４２３ｂとを有する。入力端子４２１ｂは、ＧＮＤに接続される。出力端子４２２ｂは、第３のゲート４４０ｃと第４のゲート４４０ｄとの接続点４２２ｂに接続される。ゲート端子４２３ｂは、−Ａｘｏｎライン６ｂに接続される。本実施形態では、第２のＭＯＳトランジスタ４２０ｂは、第２の荷重部に相当する。
【０２８９】
このように、第１及び第２のＭＯＳトランジスタ４２０ａ及び４２０ｂの入力端子４２１ａ及び４２１ｂはＧＮＤに接続される。また出力端子４２２ａ及び４２２ｂは、各ゲートを介して、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂのどちらか一方に接続される。従って入力端子４２１ａ及び４２１ｂは電圧の低いソース側となり、出力端子４２２ａ及び４２２ｂはドレイン側となる。
【０２９０】
なお、入力端子４２１ａ及び４２１ｂがＧＮＤに接続される場合に限定されない。例えば入力端子４２１ａ及び４２１ｂは、乗算処理が適正に実行可能となる電圧が設定された定電圧源等に接続されてもよい。本実施形態では、ＧＮＤは、所定の定電圧源に相当する。
【０２９１】
シナプス回路４０８では、例えば正の荷重値＋αに対応する状態として、第１の端子４３２ａの電圧Ｐ及び第２の端子４３２ｂの電圧Ｎが、（Ｐ，Ｎ）＝（Ｖｄｄ，０）に設定される。また負の荷重値−αに対応する状態として、（Ｐ，Ｎ）＝（０，Ｖｄｄ）に設定される。なお図２２に示す例では、電源電圧Ｖｄｄ＝１．０Ｖに設定される。
【０２９２】
積和演算を行う際には、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂは、例えば電源電圧Ｖｄｄを上限とする高い電圧状態に設定される。これにより、接続点４４１ａ及び４４１ｂの電圧が上昇し、第１及び第２のＭＯＳトランジスタ４２０ａ及び４２０ｂは、ドレイン電圧（出力端子と入力端子との間の電圧）が加えられた状態となる。
【０２９３】
この状態で、第１及び第２のＭＯＳトランジスタ４２０ａ及び４２０ｂのゲート端子４２３ａ及び４２３ｂの電圧が、±Ａｘｏｎライン６ａ及び６ｂを流れる電気信号により制御される。例えば＋Ａｘｏｎライン６ａの電圧が０である場合、ゲート電圧Ｖgsは０となり、第１のＭＯＳトランジスタ４２０ａはＯＦＦ状態となる。また例えば＋Ａｘｏｎライン６ａの電圧がＶｗである場合、ゲート電圧ＶgsはＶｗとなり、第１のＭＯＳトランジスタ４２０ａはサブスレッショルド領域でのＯＮ状態となる。これは、第２のＭＯＳトランジスタ４２０ｂにおいても同様である。
【０２９４】
従って、シナプス回路４０８では、電圧がＶｗの状態で信号値ｘiを表す電気信号が用いられる。これにより、第１及び第２のＭＯＳトランジスタ４２０ａ及び４２０ｂは、電気信号に基づいて信号値ｘiと荷重値αとの乗算値に対応する電荷を生成することが可能となる。
【０２９５】
例えば、正の荷重値＋αが設定された場合、第１のＭＯＳトランジスタ４２０ａにより生成された電荷は、第１のゲート４４０ａから、＋Ｄｅｎｄｒｉｔｅライン７ａに出力される。同様に、第２のＭＯＳトランジスタ４２０ｂにより生成された電荷は、第４のゲート４４０ｄから、−Ｄｅｎｄｒｉｔｅライン７ｂに出力される。
【０２９６】
また例えば、負の荷重値−αが設定された場合、第１のＭＯＳトランジスタ４２０ａにより生成された電荷は、第２のゲート４４０ｂから、−Ｄｅｎｄｒｉｔｅライン７ｂに出力される。同様に、第２のＭＯＳトランジスタ４２０ｂにより生成された電荷は、第３のゲート４４０ｃから、＋Ｄｅｎｄｒｉｔｅライン７ａに出力される。
【０２９７】
図２２に示すシナプス回路４０８は、１５個のＭＯＳトランジスタを用いて構成される。また、シナプス回路４０８には、８本の配線（±Ａｘｏｎライン６ａ及び６ｂ、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂ、２つの電源電圧ライン、及び第１及び第２制御ライン６１ａ及び６１ｂ）が接続される。この構成では、各ＭＯＳトランジスタ４２０ａ及び４２０ｂのソース側がＧＮＤに配線されるため、ソース側の配線を太く構成することが可能となり配線抵抗等を抑制することが可能となる。またソースと基板（ＧＮＤ側）とがローカルで接続されることにより、ソース側の電位を安定させることが可能となり、例えば積和演算を安定して実行することが可能となる。
【０２９８】
図２３は、シナプス回路の他の構成例を示す回路図である。シナプス回路５０８は、第１〜第４のＭＯＳトランジスタ５２０ａ〜５２０ｄと、フリップフロップ回路５３０とを有する。また、シナプス回路５０８には、±Ａｘｏｎライン６ａ及び６ｂと、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂとが接続される。
【０２９９】
第１〜第４のＭＯＳトランジスタ５２０ａ〜５２０ｄは、サブスレッショルド領域で動作するｎＭＯＳであり、互いに同様に構成される。第１〜第４のＭＯＳトランジスタ５２０ａ〜５２０ｄは、それぞれ、入力端子５２１ａ〜５２１ｄ、出力端子５２２ａ〜５２２ｄ、及びゲート端子５２３ａ〜５２３ｄを有する。
【０３００】
第１のＭＯＳトランジスタ５２０ａの入力端子５２１ａは、＋Ａｘｏｎライン６ａに接続される。出力端子５２２ａは、＋Ｄｅｎｄｒｉｔｅライン７ａに接続される。ゲート端子５２３ａは、フリップフロップ回路５３０の第１の端子５３２ａに接続される。第２のＭＯＳトランジスタ５２０ｂの入力端子５２１ｂは、＋Ａｘｏｎライン６ａに接続される。出力端子５２２ｂは、−Ｄｅｎｄｒｉｔｅライン７ｂに接続される。ゲート端子５２３ｂは、フリップフロップ回路５３０の第２の端子５３２ｂに接続される。シナプス回路５０８では、第１及び第２のＭＯＳトランジスタ５２０ａ及び５２０ｂは、第１の荷重部及び第１のスイッチ部として機能する。
【０３０１】
第３のＭＯＳトランジスタ５２０ｃの入力端子５２１ｃは、−Ａｘｏｎライン６ｂに接続される。出力端子５２２ｃは、＋Ｄｅｎｄｒｉｔｅライン７ａに接続される。ゲート端子５２３ｃは、フリップフロップ回路５３０の第２の端子５３２ｂに接続される。第４のＭＯＳトランジスタ５２０ｄの入力端子５２１ｄは、−Ａｘｏｎライン６ｂに接続される。出力端子５２２ｄは、−Ｄｅｎｄｒｉｔｅライン７ｂに接続される。ゲート端子５２３ｄは、フリップフロップ回路５３０の第１の端子５３２ａに接続される。シナプス回路５０８では、第３及び第４のＭＯＳトランジスタ５２０ｃ及び５２０ｄは、第２の荷重部及び第２のスイッチ部として機能する。
【０３０２】
フリップフロップ回路５３０は、第１及び第２のインバータ５３１ａ及び５３１ｂと、第１及び第２の端子５３２ａ及び５３２ｂと、第１及び第２の入力用ゲート５３３ａ及び５３３ｂとを有する。第１のインバータ５３１ａの出力は、第２のインバータ５３１ｂに入力される。また第２のインバータ５３１ｂの出力は、第１のインバータ５３１ａに入力される。
【０３０３】
第１の端子５３２ａは、第１のインバータ５３１ａの入力側（第２のインバータ５３１ｂの出力側）に接続される端子である。第２の端子５３２ｂは、第１のインバータ５３１ａの出力側（第２のインバータ５３１ｂの入力側）に接続される端子である。
【０３０４】
第１及び第２の入力用ゲート５３３ａ及び５３３ｂは、ｐＭＯＳである。第１の入力用ゲート５３３ａのゲート端子は＋Ｄｅｎｄｒｉｔｅライン７ａに接続され、一方の端子は＋Ａｘｏｎライン６ａに接続され、他方の端子は第１の端子５３２ａに接続される。第２の入力用ゲート５３３ｂのゲート端子は−Ｄｅｎｄｒｉｔｅライン７ａに接続され、一方の端子は−Ａｘｏｎライン６ｂに接続され、他方の端子は第２の端子５３２ｂに接続される。
【０３０５】
シナプス回路５０８では、±Ａｘｏｎライン６ａ及び６ｂと、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂとを用いて、フリップフロップ回路５３０に対して２値状態（正負の荷重値±α）が設定される。なお、第１及び第２のインバータ５３１ａ及び５３１ｂは、電源電圧Ｖｄｄ＝Ｖｗで駆動される。電源電圧Ｖｄｄは、例えば０．５Ｖ以下に設定される。
【０３０６】
荷重を設定する際には、例えばＤｅｎｄｒｉｔｅライン７ａ及び７ｂが０Ｖに設定される。これにより、第１及び第２のインバータ５３１ａ及び５３１ｂがＯＮ状態となる。この状態で、±Ａｘｏｎライン６ａ及び６ｂのどちらか一方の電圧がＶｗに設定され、他方の電圧が０に設定される。これにより、第１及び第２の端子５３２ａ及び５３２ｂの電圧Ｐ及び電圧Ｎを設定することが可能となる。
【０３０７】
シナプス回路５０８では、例えば正の荷重値＋αに対応する状態として、（Ｐ，Ｎ）＝（Ｖｗ，０）に設定される。また負の荷重値−αに対応する状態として、（Ｐ，Ｎ）＝（０，Ｖｗ）に設定される。
【０３０８】
積和演算を行う際には、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂは、例えばフリップフロップ回路５３０の電源電圧Ｖｄｄよりも高い電圧状態に設定される。これにより第１及び第２のＭＯＳトランジスタ５２０ａ及び５２０ｂは、ドレイン電圧（出力端子と入力端子との間の電圧）が加えられた状態となる。
【０３０９】
例えば、正の荷重値＋αが設定された状態で、＋Ａｘｏｎライン６ａの電圧が０になったとする。この場合、入力端子５２１ａ及び５２１ｂの電圧は０である。例えば第１のＭＯＳトランジスタ５２０ａは、ゲート端子５２３ａに電圧Ｐ＝Ｖｗが印加されているため、ゲート電圧Ｖgs＝ＶｗとなりＯＮ状態となる。一方、第２のＭＯＳトランジスタ５２０ｂは、ゲート端子５２３ｂに電圧Ｎ＝０が印加されているため、ゲート電圧Ｖgs＝０となりＯＦＦ状態となる。
【０３１０】
また例えば、正の荷重値＋αが設定された状態で、＋Ａｘｏｎライン６ａの電圧が１．０Ｖになったとする。この場合、入力端子５２１ａ及び５２１ｂの電圧は１．０Ｖである。例えば第１のＭＯＳトランジスタ５２０ａは、ゲート端子５２３ａに電圧Ｐ＝Ｖｗが印加されているため、ゲート電圧Ｖgs＜０となりＯＦＦ状態となる。また、第２のＭＯＳトランジスタ５２０ｂは、ゲート端子５２３ｂに電圧Ｎ＝０が印加されているため、ゲート電圧Ｖgs＜０となりＯＦＦ状態となる。
【０３１１】
このように、第１及び第２のＭＯＳトランジスタ５２０ａ及び５２０ｂは、＋Ａｘｏｎライン６ａが０であり、かつゲート端子５２３ａ及び５２３ｂの電圧がＶｗである場合に、ＯＮ状態となる。これは、第３及び第４のＭＯＳトランジスタ５２０ｃ及び５２０ｄについても同様である。
【０３１２】
従って、シナプス回路５０８では、電圧が０の状態で信号値ｘiを表す電気信号（低電圧パルス）が用いられる。これにより、第１〜第４のＭＯＳトランジスタ５２０ａ〜５２０ｄは、電気信号に基づいて信号値ｘiと荷重値αとの乗算値に対応する電荷を生成することが可能となる。
【０３１３】
例えば、正の荷重値＋αが設定された場合、第１のＭＯＳトランジスタ５２０ａにより生成された電荷が、＋Ｄｅｎｄｒｉｔｅライン７ａに出力される。同様に、第４のＭＯＳトランジスタ５２０ｄにより生成された電荷が、−Ｄｅｎｄｒｉｔｅライン７ｂに出力される。
【０３１４】
また例えば、負の荷重値−αが設定された場合、第２のＭＯＳトランジスタ５２０ｂにより生成された電荷が、−Ｄｅｎｄｒｉｔｅライン７ｂに出力される。同様に、第３のＭＯＳトランジスタ５２０ｃにより生成された電荷が、＋Ｄｅｎｄｒｉｔｅライン７ａに出力される。
【０３１５】
図２３に示すシナプス回路５０８は、１０個のＭＯＳトランジスタを用いて構成される。また、シナプス回路５０８には、６本の配線（±Ａｘｏｎライン６ａ及び６ｂ、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂ、及び２つの電源電圧ライン）が接続される。この構成では、必要となるＭＯＳトランジスタ及び配線の数を少なく、素子面積等を小さくすることが可能となる。これにより、集積回路の小型化や大規模化等を実現することが可能となる。
【０３１６】
図２４は、シナプス回路の他の構成例を示す回路図である。シナプス回路６０８は、第１〜第４のＭＯＳトランジスタ６２０ａ〜６２０ｄと、フリップフロップ回路６３０とを有する。また、シナプス回路６０８には、±Ａｘｏｎライン６ａ及び６ｂと、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂとが接続される。なおフリップフロップ回路６３０は、例えば図２３を参照して説明したフリップフロップ回路５３０と同様に構成される。
【０３１７】
第１〜第４のＭＯＳトランジスタ６２０ａ〜６２０ｄは、サブスレッショルド領域で動作するｎＭＯＳであり、互いに同様に構成される。第１〜第４のＭＯＳトランジスタ６２０ａ〜６２０ｄは、それぞれ、入力端子６２１ａ〜６２１ｄ、出力端子６２２ａ〜６２２ｄ、及びゲート端子６２３ａ〜６２３ｄを有する。
【０３１８】
第１のＭＯＳトランジスタ６２０ａの入力端子６２１ａは、フリップフロップ回路６３０の第２の端子６３２ｂに接続される。出力端子６２２ａは、＋Ｄｅｎｄｒｉｔｅライン７ａに接続される。ゲート端子６２３ａは、＋Ａｘｏｎライン６ａに接続される。第２のＭＯＳトランジスタ６２０ｂの入力端子６２１ｂは、フリップフロップ回路６３０の第１の端子６３２ａに接続される。出力端子６２２ｂは、−Ｄｅｎｄｒｉｔｅライン７ｂに接続される。ゲート端子６２３ｂは、＋Ａｘｏｎライン６ａに接続される。シナプス回路６０８では、第１及び第２のＭＯＳトランジスタ６２０ａ及び６２０ｂは、第１の荷重部及び第１のスイッチ部として機能する。
【０３１９】
第３のＭＯＳトランジスタ６２０ｃの入力端子６２１ｃは、フリップフロップ回路６３０の第１の端子６３２ａに接続される。出力端子６２２ｃは、＋Ｄｅｎｄｒｉｔｅライン７ａに接続される。ゲート端子６２３ｃは、−Ａｘｏｎライン６ｂに接続される。第４のＭＯＳトランジスタ６２０ｄの入力端子６２１ｄは、フリップフロップ回路６３０の第２の端子６３２ｂに接続される。出力端子６２２ｄは、−Ｄｅｎｄｒｉｔｅライン７ｂに接続される。ゲート端子６２３ｄは、−Ａｘｏｎライン６ｂに接続される。シナプス回路６０８では、第３及び第４のＭＯＳトランジスタ６２０ｃ及び６２０ｄは、第１の荷重部及び第１のスイッチ部として機能する。
【０３２０】
シナプス回路６０８では、例えば正の荷重値＋αに対応する状態として、（Ｐ，Ｎ）＝（Ｖｄｄ，０）に設定される。また負の荷重値−αに対応する状態として、（Ｐ，Ｎ）＝（０，Ｖｄｄ）に設定される。なお、電源電圧Ｖｄｄは、例えば１．０Ｖ程度に設定される。
【０３２１】
積和演算を行う際には、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂは、例えばフリップフロップ回路６３０の電源電圧Ｖｄｄを上限とする高い電圧状態に設定される。これにより第１及び第２のＭＯＳトランジスタ６２０ａ及び６２０ｂは、ドレイン電圧（出力端子と入力端子との間の電圧）が加えられた状態となる。
【０３２２】
例えば、正の荷重値＋αが設定された状態で、＋Ａｘｏｎライン６ａの電圧が０になったとする。この場合、第１及び第２のＭＯＳトランジスタ６２０ａ及び６２０ｂのゲート端子６２３ａ及び６２３ｂの電圧は０となる。例えば第１のＭＯＳトランジスタ６２０ａは、入力端子６２１ａに電圧Ｎ＝０が印加されているため、ゲート電圧Ｖgs＝０となりＯＦＦ状態となる。また第２のＭＯＳトランジスタ６２０ｂは、入力端子６２１ｂに電圧Ｐ＝Ｖｄｄが印加されているため、ゲート電圧Ｖgs＝−ＶｄｄとなりＯＦＦ状態となる。
【０３２３】
また例えば、正の荷重値＋αが設定された状態で、＋Ａｘｏｎライン６ａの電圧がＶｗになったとする。この場合、第１及び第２のＭＯＳトランジスタ６２０ａ及び６２０ｂのゲート端子６２３ａ及び６２３ｂの電圧はＶｗとなる。例えば第１のＭＯＳトランジスタ６２０ａは、入力端子６２１ａに電圧Ｎ＝０が印加されているため、ゲート電圧Ｖgs＝ＶｗとなりＯＮ状態となる。一方、第２のＭＯＳトランジスタ６２０ｂは、入力端子６２１ｂに電圧Ｐ＝Ｖｄｄが印加されているため、ゲート電圧Ｖgs＝Ｖｗ−Ｖｄｄとなる。すなわち、ゲート電圧Ｖgsは、Ｖｗよりも低い値となるため、第２のＭＯＳトランジスタ６２０ｂはＯＦＦ状態となる。
【０３２４】
このように、第１及び第２のＭＯＳトランジスタ６２０ａ及び６２０ｂは、＋Ａｘｏｎライン６ａ（ゲート端子６２３ａ及び６２３ｂ）がＶｗであり、かつ入力端子６２１ａ及び６２１ｂの電圧が０である場合に、ＯＮ状態となる。これは、第３及び第４のＭＯＳトランジスタ６２０ｃ及び６２０ｄについても同様である。
【０３２５】
従って、シナプス回路６０８では、電圧がＶｗの状態で信号値ｘiを表す電気信号が用いられる。これにより、第１及び第２のＭＯＳトランジスタ６２０ａ及び６２０ｂは、電気信号に基づいて信号値ｘiと荷重値αとの乗算値に対応する電荷を生成することが可能となる。
【０３２６】
例えば、正の荷重値＋αが設定された場合、第１のＭＯＳトランジスタ６２０ａにより生成された電荷が、＋Ｄｅｎｄｒｉｔｅライン７ａに出力される。同様に、第４のＭＯＳトランジスタ６２０ｄにより生成された電荷が、−Ｄｅｎｄｒｉｔｅライン７ｂに出力される。
【０３２７】
また例えば、負の荷重値−αが設定された場合、第２のＭＯＳトランジスタ６２０ｂにより生成された電荷が、−Ｄｅｎｄｒｉｔｅライン７ｂに出力される。同様に、第３のＭＯＳトランジスタ６２０ｃにより生成された電荷が、＋Ｄｅｎｄｒｉｔｅライン７ａに出力される。
【０３２８】
図２４に示すシナプス回路６０８は、１０個のＭＯＳトランジスタを用いて構成される。また、シナプス回路６０８には、６本の配線（±Ａｘｏｎライン６ａ及び６ｂ、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂ、及び２つの電源電圧ライン）が接続される。この構成では、必要となるＭＯＳトランジスタ及び配線の数を少なく、素子面積等を小さくすることが可能となる。
【０３２９】
また、各ＭＯＳトランジスタ６２０ａ〜６２０ｄのソースがフリップフロップ回路６３０に接続されるため、ソースの配線を太くすることが可能となり、配線抵抗を抑制可能である。また各ソースはフリップフロップ回路６３０を介して基板（ＧＮＤ）にローカルに接続される。これにより、ソース側の電位を安定させることが可能となり、例えば積和演算を安定して実行することが可能となる。
【０３３０】
図２５は、シナプス回路の他の構成例を示す回路図である。シナプス回路７０８は、第１〜第４のＭＯＳトランジスタ７２０ａ〜７２０ｄと、フリップフロップ回路７３０とを有する。また、シナプス回路７０８には、±Ａｘｏｎライン６ａ及び６ｂと、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂとが接続される。
【０３３１】
第１〜第４のＭＯＳトランジスタ７２０ａ〜７２０ｄは、例えば図２４を参照して説明した第１〜第４のＭＯＳトランジスタ６２０ａ〜６２０ｄと同様に構成される。またフリップフロップ回路７３０は、例えば図５を参照して説明したフリップフロップ回路３０と同様に構成される。すなわち、シナプス回路７０８は、図２４に示すシナプス回路６０８から、第１及び第２の入力用ゲート６３３ａ及び６３３ｂを取り除いた構成となっている。
【０３３２】
シナプス回路７０８では、−Ａｘｏｎライン６ｂと、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂとを用いて、フリップフロップ回路７３０に対して２値状態（正負の荷重値±α）が設定される。なお、第１及び第２のインバータ７３１ａ及び７３１ｂの電源電圧Ｖｄｄは、例えば２．５Ｖに設定される。
【０３３３】
荷重を設定する際には、例えば＋Ａｘｏｎライン６ａの電圧が０に設定され、−Ａｘｏｎライン６ｂの電圧がＶｄｄに設定される。これにより、第３及び第４のＭＯＳトランジスタ７２０ｃ及び７２０ｄがＯＮ状態となる。この状態で、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂのどちらか一方の電圧がＶｄｄに設定され、他方の電圧が０に設定される。これにより、第１及び第２の端子７３２ａ及び７３２ｂの電圧Ｐ及び電圧Ｎを設定することが可能となる。
【０３３４】
シナプス回路７０８では、例えば正の荷重値＋αに対応する状態として、（Ｐ，Ｎ）＝（Ｖｄｄ，０）に設定される。また負の荷重値−αに対応する状態として、（Ｐ，Ｎ）＝（０，Ｖｄｄ）に設定される。またシナプス回路７０８では、電圧がＶｗの状態で信号値ｘiを表す電気信号が用いられる。各荷重値±αが設定された状態で、電気信号が入力された場合の動作は、図２４を参照して説明した動作と同様である。
【０３３５】
図２５に示すシナプス回路７０８は、８個のＭＯＳトランジスタを用いて構成される。また、シナプス回路７０８には、６本の配線（±Ａｘｏｎライン６ａ及び６ｂ、±Ｄｅｎｄｒｉｔｅライン７ａ及び７ｂ、及び２つの電源電圧ライン）が接続される。この構成では、ＭＯＳトランジスタの数が少なく、素子面積等を十分に小さくすることが可能となる。これにより、素子の集積密度等を大幅に向上することが可能となる。また各入出力ライン等に接続されるＭＯＳトランジスタの数も少なく、各ラインの寄生容量等を十分に小さくすることが可能となる。この結果、装置の消費電力を十分抑制することが可能となる。
【０３３６】
＜その他の実施形態＞
本技術は、以上説明した実施形態に限定されず、他の種々の実施形態を実現することができる。
【０３３７】
上記の実施形態では、サブスレッショルド領域で動作するＭＯＳトランジスタを用いることで、±Ｄｅｎｄｒｉｔｅラインに入力される電荷の量が制御された。従ってＭＯＳトランジスタは、高い導通抵抗Ｒにより乗算値（ｗi・ｘi）に対応する電荷の電荷量を制御する高抵抗素子として機能する。これに限定されず、他の高抵抗素子を用いて、乗算値に対応する電荷量が制御されてもよい。
【０３３８】
例えば、閾値電圧Ｖｔｈよりも高いゲート電圧で動作するように構成されたＭＯＳトランジスタが用いられてもよい。この場合、電流源（±Ａｘｏｎラインや、フリップフロップ回路等）と±Ｄｅｎｄｒｉｔｅラインとの間に任意の高抵抗成分を設けることで、±Ｄｅｎｄｒｉｔｅラインに出力される電荷量を容易に絞ることが可能である。これにより、演算時に消費される電力を大幅に抑制することが可能となり、低消費電力な装置を実現することが可能である。
【０３３９】
第１の実施形態では、ＰＷＭ方式の電気信号を扱う１入力２出力のシナプス回路について説明した。例えば１入力２出力のシナプス回路に対して、ＴＡＣＴ方式の電気信号が入力されてもよい。この場合、ニューロン回路による演算処理を適宜実行することで、ＴＡＣＴ方式の電気信号を用いた積和演算処理が可能である。
【０３４０】
例えば（数３）及び（数４）を参照して説明したように、ＴＡＣＴ方式の電気信号を用いた積和演算では、正の荷重値の総和β+と負の荷重値の総和β-とが等しい場合に、全体の積和結果が（数４）で表される。従って、β+及びβ-が異なる場合には、その差分を補うダミー荷重を用いることで、β+及びβ-が等しい状態を作り出すことが可能である。
【０３４１】
これは、例えばダミー荷重に対応する電荷を生成し、図４に示すキャパシタを充電することに相当する。このようにβ+及びβ-の差分に応じてキャパシタを追加で充電する回路を設けることで、１入力２出力のシナプス回路を用いて、ＴＡＣＴ方式の電気信号を扱うことが可能となる。例えばこのような構成が採用されてもよい。
【０３４２】
図２６は、図４に示すニューロン回路９の具体的な構成例を示す回路図である。図２６に示すニューロン回路９は、入力期間Ｔの後に、一定の充電速度でキャパシタ１３を充電する回路である。またニューロン回路９は、図４と同様に１対の出力線７からの正負の出力対を入力として、単一の出力信号線１０から１つの積和結果を出力する。図２６では、ニューロン回路９にＰＷＭ信号により生成された電荷が入力される場合について説明する。
【０３４３】
以下では、入力期間ＴをＴinと記載し、入力期間Ｔinの後の積和信号が生成される出力期間をＴoutと記載して説明を行う場合がある。なお、入力期間Ｔinと出力期間Ｔoutとは、典型的には、互いに連続する同じ長さＴに設定された期間である（Ｔin＝Ｔout＝Ｔ）。
【０３４４】
ニューロン回路９は、図４に示す蓄積部１１及び出力部１２に加え、充電部８０を有する。充電部８０は、入力期間Ｔinの後の出力期間Ｔoutにキャパシタ１３を一定の充電速度で充電する。上記したように、ＰＷＭ信号は、入力期間Ｔin内でのパルス幅により信号値を表す信号であり、入力期間Ｔinの後は全てのＰＷＭ信号が０となる（図２参照）。従って出力期間Ｔoutでは、各出力線７に出力される電荷は略０となる。図４に示す充電部８０は、この出力期間Ｔoutに、所定の電流ラインＩｎにキャパシタ１３を接続してキャパシタ１３を充電するように動作する。
【０３４５】
充電部８０は、キャパシタ１３ａの接続先を変更する第１の切替スイッチ８１ａ、第２の切替スイッチ８２ａ、及び第３の切替スイッチ８３ａと、キャパシタ１３ｂの接続先を変更する第１の切替スイッチ８１ｂ、第２の切替スイッチ８２ｂ、及び第３の切替スイッチ８３ｂとを有する。また充電部８０には、第１の制御ラインＳＷ１と、第２の制御ラインＳＷ２と、電流ラインＩｎが接続される。なお図２６に示す各切替スイッチの接続状態（ＯＮ又はＯＦＦ）は、入力期間Ｔinでの接続状態を表している。
【０３４６】
第１の切替スイッチ８１ａは、キャパシタ１３ａよりも上流で正の出力線７ａとＧＮＤとの間に接続される。第２の切替スイッチ８２ａは、電流ラインＩｎとキャパシタ１３ａの出力ノード８４ａとの間に接続される。ここで出力ノード８４ａは、キャパシタ１３ａのＧＮＤに接続される側とは反対側のノード（端子）である。第３の切替スイッチ８３ａは、出力ノード８４ａ（キャパシタ１３ａ）と正の出力線７ａとの間に設けられる。また出力ノード８４ａは、後段の出力部１２に接続される。
【０３４７】
第１の切替スイッチ８１ｂは、キャパシタ１３ｂよりも上流で負の出力線７ｂとＧＮＤとの間に接続される。第２の切替スイッチ８２ｂは、電流ラインＩｎとキャパシタ１３ｂの出力ノード８４ｂとの間に接続される。第３の切替スイッチ８３ｂは、出力ノード８４ｂ（キャパシタ１３ｂ）と負の出力線７ｂとの間に設けられる。また出力ノード８４ｂは、後段の出力部１２に接続される。
【０３４８】
第１の制御ラインＳＷ１は、第１の切替スイッチ８１ａ及び８１ｂを制御する。第２の制御ラインＳＷ２は、第２の切替スイッチ８２ａ及び８２ｂと第３の切替スイッチ８３ａ及び８３ｂとを制御する。なお第２の切替スイッチ８２ａ（８２ｂ）と、第３の切替スイッチ８３ａ（８３ｂ）とは、ＯＮ・ＯＦＦの状態が互いに反対となるように構成され、一方がＯＮである場合は、他方はＯＦＦとなる。各切替スイッチの具体的な構成は限定されず、例えばＣＭＯＳ回路等を用いたアナログスイッチ等が用いられてよい。また各制御ラインには、切替スイッチを動作させるための制御信号が適宜入力される。
【０３４９】
出力部１２は、出力期間Ｔoutにキャパシタ１３の電位を閾値判定することで、積和信号を出力する。ここでキャパシタ１３の電位とは、各キャパシタ１３ａ及び１３ｂの出力ノード８４ａ及び８４ｂの電位である。具体的には、各出力ノード８４ａ及び８４ｂの電位とＧＮＤ電位との電位差（電圧）の閾値判定が実行される。以下では、ＧＮＤを基準とした各出力ノード８４ａ及び８４ｂの電位を単に電圧と記載する場合がある。
【０３５０】
出力部１２は、正負の比較器８５ａ及び８５ｂと、ＲｅＬＵ機能回路８６とを有する。また出力部１２は、所定の閾値電圧を供給する閾値電圧ラインＶｔｈに接続される。正の比較器８５ａ（負の比較器８５ｂ）は、出力ノード８４ａ（出力ノード８４ｂ）と閾値電圧ラインＶｔｈとに接続され、出力ノード８４ａ（出力ノード８５ｂ）の電圧が閾値電圧を超えた場合に出力レベルをＬｏｗからＨｉｇｈに切り替える。各比較器８５ａ及び８５ｂの具体的な構成は限定されない。
【０３５１】
なお、閾値電圧ラインＶｔｈに設定される閾値電圧の値は、例えば出力期間Ｔoutの間に、正負の積和結果を適正に検出可能となるように、後述するキャパシタ１３の充電速度とともに設定される。あるいは、キャパシタ１３の容量等に応じて閾値電圧が設定されてもよい。この他、閾値電圧を設定する方法等は限定されない。
【０３５２】
ＲｅＬＵ機能回路８６は、図１を参照して説明したＲｅＬＵ関数を実現する回路である。ＲｅＬＵ機能回路８６は、例えば後述する図９に示す回路のように、論理回路を用いて構成することが可能である。またＲｅＬＵ機能回路８６は、図１等に示す関数回路５として機能する。すなわち、図２６に示すニューロン回路９は、関数回路５を含んで構成されているとも言える。
【０３５３】
図２７は、図２６に示すニューロン回路９の動作例を示すタイミングチャートである。図２７Ａ及び図２７Ｂは、正の荷重値及び負の荷重値についての積和演算を示すタイミングチャートである。また図２７Ｃは、ＲｅＬＵ機能回路８６の動作を示すタイミングチャートである。以下では、図２６及び図２７を参照して、ニューロン回路９の動作例について説明する。
【０３５４】
まず、入力期間Ｔinが開始される前に、第１の制御ラインＳＷ１により第１の切替スイッチ８１ａ及び８１ｂがＯＮ状態に設定され、各出力線７ａ及び７ｂがＧＮＤに接地される。このとき、第２の切替スイッチ８２ａ及び８２ｂはＯＦＦ状態である。また第３の切替スイッチ８３ａ及び８３ｂはＯＮ状態であり、キャパシタ１３ａ及び１３ｂは、正負の出力線７ａ及び７ｂに接続された状態である。すなわち、充電部８０は、入力期間Ｔinの前にキャパシタ１３をＧＮＤに接続する。
【０３５５】
これにより、積和演算がなされる前の初期状態として、出力線７ａ及び７ｂをＧＮＤレベル（設置レベル）に初期化してリセットすることが可能となる。これにより、キャパシタ１３に蓄積された電荷及び出力線７の寄生容量等に蓄積された電荷がＧＮＤに放出される。この結果、前回の演算で蓄積された電荷等がリセットされ、適正な演算処理を繰り返し実行することが可能となる。
【０３５６】
なお、電荷のリセットが終了すると、第１の制御ラインＳＷ１により第１の切替スイッチ８１ａ及び８１ｂがＯＦＦ状態に設定される。また第２の切替スイッチ８２ａ及び８２ｂはＯＦＦ状態に維持され、第３の切替スイッチ８３ａ及び８３ｂはＯＮ状態に維持される。この状態で、入力期間Ｔinが開始される。このように、充電部８０は、入力期間Ｔinにキャパシタ１３を１対の出力線７ａ及び７ｂに接続する。
【０３５７】
入力期間Ｔinでは、複数の入力信号線６（Ａｘｏｎライン）からＰＷＭ信号が入力され、各キャパシタ１３ａ及び１３ｂが充電される。例えば、入力期間Ｔin内に、出力線の７ａ及び７ｂのそれぞれに、各シナプス回路８（荷重）を介して複数のＰＷＭ信号（入力信号）が入力される。以下では、正負の出力線７ａ及び７ｂに入力される信号を±Ａｘｏｎ（ｎ）と記載する。
【０３５８】
例えば、図２７Ａに示すように、正の出力線７ａには、＋Ａｘｏｎ（１）〜＋Ａｘｏｎ（ｎ）までのＰＷＭ信号が入力される。この結果、正側のキャパシタ１３ａは、各ＰＷＭ信号のパルス幅（信号値）に応じて充電され、キャパシタ１３ａの電圧（＋Ｄｅｎｄｒｉｔｅ）は、正の出力線７ａに対する各ＰＷＭ信号の入力に応じて増加する。同様に、図２７Ｂに示すように、負の出力線７ｂには、−Ａｘｏｎ（１）〜−Ａｘｏｎ（ｎ'）までのＰＷＭ信号が入力される。この結果、負側のキャパシタ１３ａの電圧（−Ｄｅｎｄｒｉｔｅ）は、負の出力線７ａに対する各ＰＷＭ信号の入力に応じて増加する。なお、入力期間Ｔinが終了するまでに、全てのＰＷＭ信号の入力が完了する。
【０３５９】
入力期間Ｔinが終了すると連続して出力期間Ｔoutとなる。出力期間Ｔoutが開始されたタイミングで、第２の制御ラインＳＷ２により、第３の切替スイッチ８３ａ及び８３ｂがＯＦＦ状態に設定される。この結果、出力線７ａ及び７ｂは、ニューロン回路９の後段（蓄積部１１及び出力部１２）と分離される。
【０３６０】
またほぼ同時に、第２の切替スイッチ８２ａ及び８２ｂがＯＮ状態に設定され、電流ラインＩｎがキャパシタ１３ａ及び１３ｂに接続される。この結果、キャパシタ１３ａ及び１３ｂは、電流ラインＩｎにより充電される。具体的には、図２７Ａ及び図２７Ｂに示すように、電流ラインＩｎに接続することで、キャパシタ１３ａ及び１３ｂには、Ｉｎ＋及びＩｎ−が流れ込むことになる。
【０３６１】
本実施形態では、電流ラインＩｎは、定電流源として機能する。従って、各キャパシタ１３ａ及び１３ｂに流れ込む電流（Ｉｎ＋及びＩｎ−）は互いに等しい値となる。これらの電流により、キャパシタ１３ａ及び１３ｂは互いに一定の充電速度で充電される。このように、充電部８０は、出力期間Ｔoutにキャパシタ１３を一定の充電速度に応じた電流を供給する電流ラインＩｎに接続する。これにより、入力期間Ｔinに蓄積された電荷を閾値判定により精度よく容易に検出することが可能となる。図２６に示す例では、電流ラインＩｎは、電流源に相当する。
【０３６２】
例えば図２７Ａ及び図２７Ｂに示すように、電流ラインＩｎに接続されることで、出力期間Ｔoutの開始（入力期間Ｔinの終了）と同時に、キャパシタ１３ａ及び１３ｂの電圧である±Ｄｅｎｄｒｉｔｅが、一定の割合で増加する。この増加の傾きは、各キャパシタ１３ａ及び１３ｂで等しくなる。この結果、例えば±Ｄｅｎｄｒｉｔｅが閾値電圧を超えるタイミングは、各キャパシタ１３ａ及び１３ｂの入力期間Ｔinの終了タイミングでの電圧を表すことになる。これにより、入力期間Ｔinに蓄えられた電荷、すなわち正負の各積和結果を適正に表すことが可能となる。
【０３６３】
電流ラインＩｎは、±Ｄｅｎｄｒｉｔｅが閾値電圧Ｖｔｈに達するまで電流を供給する。そして、±Ｄｅｎｄｒｉｔｅが閾値電圧Ｖｔｈに達すると、各比較器８５ａ及び８５ｂから出力信号Ｓｎ＋（ｔ）及びＳｎ−（ｔ）が生成される。Ｓｎ＋（ｔ）及びＳｎ−（ｔ）は、それぞれ、正の積和結果及び負の積和結果を表す積和信号となる。
【０３６４】
図２７に示す例では、入力期間Ｔinの終了タイミングでのキャパシタ１３ａの電圧が、キャパシタ１３ｂよりも高いため、Ｓｎ＋（ｔ）は、Ｓｎ−（ｔ）よりも早い段階で生成される。このように、比較器から出力される信号は、立ち上がりのタイミングが早いほど、積和結果の大きい信号となる。
【０３６５】
正負の積和結果をあらわす信号（Ｓｎ＋（ｔ）及びＳｎ−（ｔ））は、ＲｅＬＵ機能回路８６に入力され、その差分がＰＷＭ信号Ｓｎ（ｔ）として出力される。図２７Ｃに示すように、Ｓｎ（ｔ）は、Ｓｎ＋（ｔ）がＨｉｇｈであり、Ｓｎ−（ｔ）がＬｏｗである場合にＨｉｇｈとなる信号である。Ｓｎ（ｔ）のパルス幅は、正負の積和結果の差分、すなわち一つのアナログ回路３から出力される最終的な積和演算の結果を表す。なおＳｎ（ｔ）は、Ｓｎ＋（ｔ）＞Ｓｎ−（ｔ）である場合（正負の積和結果の差分が０以上である場合）にのみ生成される（図９等参照）。
【０３６６】
このように、図２６に示すニューロン回路９では、ＲｅＬＵ関数により処理された積和結果を出力することが可能となる。なお、図２６に示す回路に限定されず、キャパシタ１３に蓄積された電荷等を読み出し可能な任意の回路が、ニューロン回路９として用いられてよい。
【０３６７】
図２８は、図１５に示すニューロン回路２０９の具体的な構成例を示す回路図である。図２８に示すニューロン回路２０９は、入力期間Ｔinの後に、一定の充電速度でキャパシタ２１３を充電する回路である。またニューロン回路２０９は、図１５と同様に１対の出力線７からの正負の出力対を入力として、１対の出力信号線１０ａ及び１０ｂから正負の積和結果を出力する。図２８では、ニューロン回路２０９にＴＡＣＴ方式の信号（ステップ信号）により生成された電荷が入力される場合について説明する。
【０３６８】
ニューロン回路２０９は、蓄積部２１１及び出力部２１２に加え、充電部２８０を有する。蓄積部２１１及び充電部２８０は、例えば図２６を参照して説明した充電部８０と同様の構成を有する。なお、図２８に示すニューロン回路２０９では、出力部２１２の比較器２８５ａ及び２８５ｂから、正負の積和結果を表す１対の積和信号Ｓｎ＋（ｔ）及びＳｎ−（ｔ）がそのまま出力される。すなわち、出力部２１２は、図２６に示す出力部１２からＲｅＬＵ機能回路８６を除いた構成となるとも言える。
【０３６９】
充電部２８０は、入力期間Ｔinの後の出力期間Ｔoutにキャパシタ２１３を一定の充電速度で充電する。上記したように、ステップ信号は、入力期間Ｔin内でのタイミングにより信号値を表す信号である。ここでは、入力期間Ｔin内において、ＬｏｗからＨｉｇｈに立ち上がるタイミングにより、信号値を表す信号が用いられものとする。なお、立ち上ったステップ信号は、その後も継続してＨｉｇｈレベルを維持する（図１３等参照）。
【０３７０】
図２９は、図２８に示すニューロン回路２０９の動作例を示すタイミングチャートである。図２９Ａ及び図２９Ｂは、正の荷重値及び負の荷重値についての積和演算を示すタイミングチャートである。
【０３７１】
図２９では、入力期間Ｔinの終了後（出力期間Ｔout中）もステップ信号がＨｉｇｈレベルに維持され、これらのステップ信号により、出力期間Ｔout中にキャパシタ１３が充電される。すなわち、出力期間Ｔout中に、複数の入力信号線６（Ａｘｏｎライン）及び出力線７により電流源が構成され、キャパシタ１３が充電される。
【０３７２】
従って図２９では、各Ａｘｏｎライン及び正負の出力線７ａ及び７ｂは、充電部２８０の一部として機能する。この場合、例えば図２８に示す第２の切替スイッチ２８２ａ及び２８２ｂと電流ラインＩｎとを除き、かつ第３の切替スイッチ２８３ａ及び２８３ｂを短絡した構成で、ニューロン回路２０９を動作させることが可能となる。これにより、キャパシタ１３を充電するための回路構成を簡素化することが可能である。
【０３７３】
まず、入力期間Ｔinが開始される前に、正負の出力線７ａ及び７ｂとキャパシタ２１３ａ及び２１３ｂが接続された状態（第３の切替スイッチ２８３ａ及び２８３ｂが短絡された状態）で、第１の制御ラインＳＷ１により第１の切替スイッチ２８１ａ及び２８１ｂがＯＮ状態に設定される。これにより、積和演算がなされる前に、出力線７ａ及び７ｂ等をＧＮＤレベル（設置レベル）に初期化してリセットすることが可能となる。
【０３７４】
入力期間Ｔinでは、複数のＡｘｏｎラインに、信号値に応じたタイミングで立ち上がるステップ信号がそれぞれ入力される。ＴＡＣＴ方式では、入力期間Ｔinの後に引き続き、全てのＡｘｏｎラインからＨｉｇｈレベルを維持する信号が入力される。つまり、入力期間Ｔinでは、ステップ信号が入力されるタイミングにばらつきがあるが、出力期間Ｔinでは、全てのＡｘｏｎラインがＨｉｇｈレベルとなり一定の電荷が継続して供給される。これにより、キャパシタ２１３ａ及び２１３ｂを一定の充電速度で充電することが可能となる。
【０３７５】
キャパシタ２１３ａ及び２１３ｂの出力ノード２８４ａ及び２８４ｂの電圧は、それぞれ一定の割合で増加する。そして各出力ノード２８４ａ及び２８４ｂの電圧（±Ｄｅｎｄｒｉｔｅ）が比較器２８５ａ及び２８５ｂの閾値電圧に達すると、正負の積和信号Ｓｎ＋（ｔ）及びＳｎ−（ｔ）が生成される。生成されたＳｎ＋（ｔ）及びＳｎ−（ｔ）は、１対の積和信号として後段に出力される。このように、ＴＡＣＴ方式のステップ信号を用いることで、シンプルな構成で積和結果を表す積和信号を生成することが可能となる。
【０３７６】
図３０は、図２８に示すニューロン回路２０９の他の動作例を示すタイミングチャートである。図３０Ａ及び図３０Ｂは、正の荷重値及び負の荷重値についての積和演算を示すタイミングチャートである。図３０では、入力期間Ｔinの終了後に正負の出力線７ａ及び７ｂが分離される。そして、出力期間Ｔout中は、電流ラインＩｎによりキャパシタ１３が充電される。
【０３７７】
各出力線７ａ及び７ｂ等が初期状態にリセットされた後、入力期間Ｔinが開始され複数のステップ信号が入力される。このとき、第２の切替スイッチ２８２ａ及び２８２ｂはＯＦＦ状態に設定され、第３の切替スイッチ２８３ａ及び２８３ｂはＯＮ状態に設定される。これにより、キャパシタ２１３ａ及び２１３ｂには、正負の出力線７ａ及び７ｂから、ステップ信号の信号値に応じた電荷が蓄積される。
【０３７８】
図３０では、入力期間Ｔinが終了したタイミングで、第２の制御ラインＳＷ２により第３の切替スイッチ２８３ａ及び２８３ｂがＯＦＦ状態に設定され、出力線７ａ及び７ｂは、ニューロン回路２０９の後段（蓄積部２１１及び出力部２１２）から分離される。この結果、図３０Ａ及び図３０Ｂに示すように、出力期間Ｔoutでは、各Ａｘｏｎラインからの入力がカットされる。
【０３７９】
また出力線７ａ及び７ｂが分離されたタイミングとほぼ同時に第２の切替スイッチ２８２ａ及び２８２ｂがＯＮ状態に設定される。これにより、各キャパシタ２１３ａ及び２１３ｂは、電流ラインＩｎに接続され、それぞれ一定の電流Ｉｎ＋及びＩｎ−が供給される。この結果、キャパシタ２１３ａ及び２１３ｂは互いに一定の充電速度で充電される。また各出力ノード２８４ａ及び２８４ｂの電圧（±Ｄｅｎｄｒｉｔｅ）が比較器２８５ａ及び２８５ｂの閾値電圧に達すると、正負の積和信号Ｓｎ＋（ｔ）及びＳｎ−（ｔ）が生成される。
【０３８０】
このように、ＴＡＣＴ方式が用いられる場合であっても、電流ラインＩｎを用いて、積和結果を表す積和信号を生成することが可能となる。これにより、例えばＰＷＭ方式で用いられるニューロン回路９（図２６参照）の設計を用いて、ＴＡＣＴ方式用のニューロン回路２０９を容易に構成するといったことが可能となる。
【０３８１】
各図面を参照して説明した演算装置、アナログ回路、シナプス回路、ニューロン回路等の各構成、積和信号の生成方法等はあくまで一実施形態であり、本技術の趣旨を逸脱しない範囲で、任意に変形可能である。すなわち本技術を実施するための他の任意の構成や方法等が採用されてよい。
【０３８２】
本開示において、「同じ」「等しい」「直交」等は、「実質的に同じ」「実質的に等しい」「実質的に直交」等を含む概念とする。例えば「完全に同じ」「完全に等しい」「完全に直交」等を基準とした所定の範囲（例えば±１０％の範囲）に含まれる状態も含まれる。
【０３８３】
以上説明した本技術に係る特徴部分のうち、少なくとも２つの特徴部分を組み合わせることも可能である。すなわち各実施形態で説明した種々の特徴部分は、各実施形態の区別なく、任意に組み合わされてもよい。また上記で記載した種々の効果は、あくまで例示であって限定されるものではなく、また他の効果が発揮されてもよい。
【０３８４】
なお、本技術は以下のような構成も採ることができる。
（１）電気信号が入力される複数の入力線と、
１対の出力線と、
前記複数の入力線に入力される前記電気信号に基づいて、前記電気信号により表される信号値に荷重値を乗算した乗算値に対応する電荷を生成する荷重部と、２値状態を保持する保持部と、前記保持された２値状態に基づいて、前記荷重部により生成された電荷を前記１対の出力線のいずれか一方に出力するスイッチ部とを有する複数の乗算部と、
前記複数の乗算部により前記１対の出力線に出力された電荷を蓄積する蓄積部と、
前記蓄積された電荷に基づいて、前記乗算値の和を表す積和信号を出力する出力部と
を有する積和演算装置と
を具備する演算装置。
（２）（１）に記載の演算装置であって、
前記荷重部は、入力端子と、出力端子と、前記入力端子及び前記出力端子の間の導通を制御するためのゲート端子とを有するＭＯＳトランジスタを含む
演算装置。
（３）（２）に記載の演算装置であって、
前記荷重値は、前記入力端子及び前記出力端子の間の抵抗により設定される
演算装置。
（４）（２）又は（３）に記載の演算装置であって、
前記保持部は、前記保持された２値状態に基づいて、互いの電圧が異なるように２種類の電圧を切り替えて出力する第１の端子及び第２の端子を有する
演算装置。
（５）（４）に記載の演算装置であって、
前記ゲート端子は、前記入力線に接続され、
前記入力端子は、前記第１の端子、前記第２の端子、及び所定の定電圧源のいずれか一つに接続される
演算装置。
（６）（４）に記載の演算装置であって、
前記入力端子は、前記入力線に接続され、
前記ゲート端子は、前記第１の端子、前記第２の端子、及び所定のゲート電圧源のいずれか一つに接続される
演算装置。
（７）（２）〜（６）のうちいずれか１つに記載の演算装置であって、
前記荷重部は、互いに同じ前記入力線に接続される第１のＭＯＳトランジスタと第２のＭＯＳトランジスタとを有し、
前記スイッチ部は、前記第１及び前記第２のＭＯＳトランジスタにより構成される
演算装置。
（８）（２）〜（６）のうちいずれか１つに記載の演算装置であって、
前記１対の出力線は、第１の出力線と第２の出力線とを含み、
前記スイッチ部は、前記出力端子と前記第１の出力線とを接続する第１のスイッチ素子と、前記出力端子と前記第２の出力線とを接続する第２のスイッチ素子とを有する
演算装置。
（９）（２）〜（５）又は（７）のうちいずれか１つに記載の演算装置であって、
前記保持部は、前記入力端子に接続され、
前記荷重部は、前記入力端子から前記保持部の２値状態を制御する制御信号を出力する
演算装置。
（１０）（１）〜（９）のうちいずれか１つに記載の演算装置であって、
前記荷重部は、前記信号値に前記荷重値の絶対値を乗算した乗算値に対応する電荷を生成し、
前記保持部は、前記荷重値の符号に対応する２値状態を保持する
演算装置。
（１１）（１）〜（１０）のうちいずれか１つに記載の演算装置であって、
前記荷重値は、前記複数の乗算部において、互いに絶対値が等しく符号の異なる第１の値及び第２の値のどちらか一方に設定される
演算装置。
（１２）（１）〜（１１）のうちいずれか１つに記載の演算装置であって、
前記複数の入力線は、第１の入力線及び第２の入力線を対とする、複数の前記入力線の対を含み、
前記乗算部は、前記入力線の対のうち、前記第１の入力線に接続される第１の荷重部と、前記第２の入力線に接続される第２の荷重部とを有する
演算装置。
（１３）（１２）に記載の演算装置であって、
前記乗算部は、前記保持された２値状態に基づいて、前記第１の荷重部により生成される電荷を前記１対の出力線の一方に出力する第１のスイッチ部と、前記第２の荷重部により生成される電荷を前記１対の出力線の他方に出力する第２のスイッチ部とを有する
演算装置。
（１４）（１）〜（１３）のうちいずれか１つに記載の演算装置であって、
前記荷重部は、前記乗算値に対応する電荷量を制御する高抵抗素子を含む
演算装置。
（１５）（１）〜（１４）のうちいずれか１つに記載の演算装置であって、
前記荷重部は、サブスレッショルド領域で動作するＭＯＳトランジスタを含む
演算装置。
（１６）（１）〜（１５）のうちいずれか１つに記載の演算装置であって、さらに、
前記複数の入力線の各々に、並列に接続される複数の前記積和演算装置を具備する
演算装置。
（１７）（１６）に記載の演算装置であって、
前記複数の入力線は、複数の前記積和演算装置が有する複数対の前記出力線に対して交差するように配線される
演算装置。
（１８）（１）〜（１７）のうちいずれか１つに記載の演算装置であって、
前記電気信号は、入力期間内でのタイミング又はパルス幅により前記信号値を表す信号であり、
前記積和演算装置は、前記入力期間の後の出力期間に前記蓄積部を一定の充電速度で充電する充電部を有し、
前記出力部は、前記出力期間に前記蓄積部の電位を閾値判定することで、前記積和信号を出力する
演算装置。
（１９）（１８）に記載の演算装置であって、
前記充電部は、前記入力期間に前記蓄積部を前記１対の出力線に接続し、前記出力期間に前記蓄積部を前記一定の充電速度に応じた電流を供給する電流源に接続する
演算装置。
（２０）（１８）又は（１９）に記載の演算装置であって、
前記充電部は、前記入力期間の前に前記蓄積部をＧＮＤに接続する
演算装置。
（２１）１対の出力線と、
複数の入力線に入力される前記電気信号に基づいて、前記電気信号により表される信号値に荷重値を乗算した乗算値に対応する電荷を生成する荷重部と、２値状態を保持する保持部と、前記保持された２値状態に基づいて、前記荷重部により生成された電荷を前記１対の出力線のいずれか一方に出力するスイッチ部とを有する複数の乗算部と、
前記複数の乗算部により前記１対の出力線に出力された電荷を蓄積する蓄積部と、
前記蓄積された電荷に基づいて、前記乗算値の和を表す積和信号を出力する出力部と
を具備する積和演算装置。
（２２）１対の出力線と、
複数の入力線に入力される前記電気信号に基づいて、前記電気信号により表される信号値に荷重値を乗算した乗算値に対応する電荷を生成する荷重部と、２値状態を保持する保持部と、前記保持された２値状態に基づいて、前記荷重部により生成された電荷を前記１対の出力線のいずれか一方に出力するスイッチ部とを有する複数の乗算部と、
前記複数の乗算部により前記１対の出力線に出力された電荷を蓄積する蓄積部と、
前記蓄積された電荷に基づいて、前記乗算値の和を表す積和信号を出力する出力部と
を具備する積和演算回路。
（２３）電気信号が入力される複数の入力線と、
１対の出力線と、
前記複数の入力線に入力される前記電気信号に基づいて、前記電気信号により表される信号値に荷重値を乗算した乗算値に対応する電荷を生成する荷重部と、２値状態を保持する保持部と、前記保持された２値状態に基づいて、前記荷重部により生成された電荷を前記１対の出力線のいずれか一方に出力するスイッチ部とを有する複数の乗算部と、
前記複数の乗算部により前記１対の出力線に出力された電荷を蓄積する蓄積部と、
前記蓄積された電荷に基づいて、前記乗算値の和を表す積和信号を出力する出力部と
を有する複数のアナログ回路と、
前記複数のアナログ回路を接続して構成されたネットワーク回路と
を具備する積和演算システム。
（２４）（２３）に記載の積和演算システムであって、
前記複数のアナログ回路は、前記複数の入力線の各々に、並列に接続される
積和演算システム。
（２５）（２４）に記載の積和演算システムであって、
前記複数の入力線は、前記複数のアナログ回路が有する複数対の前記出力線に対して交差するように配線される
積和演算システム。
（２６）複数の入力線に電気信号を入力し、
前記複数の入力線に入力される前記電気信号に基づいて、前記電気信号により表される信号値に荷重値を乗算した乗算値に対応する電荷を生成し、
２値状態を保持し、
前記保持された２値状態に基づいて、前記生成された電荷を１対の出力線のいずれか一方に出力し、
前記１対の出力線に出力された電荷を蓄積し、
前記蓄積された電荷に基づいて、前記乗算値の和を表す積和信号を出力する
積和演算方法。
【符号の説明】
【０３８５】
３…アナログ回路
６…入力信号線
６、６ａ、６ｂ…Ａｘｏｎライン
７…出力線
７ａ、７ｂ…Ｄｅｎｄｒｉｔｅライン
８、１０８、２０８、３０８、４０８、５０８、６０８、７０８…シナプス回路
９、２０９…ニューロン回路
１１、２１１…蓄積部
１２、２１２…出力部
１８、１８ａ、１８ｂ…電気信号
１２０…ＭＯＳトランジスタ
２０ａ、２２０ａ、３２０ａ、４２０ａ、５２０ａ、６２０ａ、７２０ａ…第１のＭＯＳトランジスタ
２０ｂ、２２０ｂ、３２０ｂ、４２０ｂ、５２０ｂ、６２０ｂ、７２０ｂ…第２のＭＯＳトランジスタ
５２０ｃ、６２０ｃ、７２０ｃ…第３のＭＯＳトランジスタ
５２０ｄ、６２０ｄ、７２０ｄ…第４のＭＯＳトランジスタ
３０、１３０、２３０、３３０、４３０、５３０、６３０、７３０…フリップフロップ回路
３２ａ、１３２ａ、２３２ａ、３３２ａ、４３２ａ、５３２ａ、６３２ａ、７３２ａ…第１の端子
３２ｂ、１３２ｂ、２３２ｂ、３３２ｂ、４３２ｂ、５３２ｂ、６３２ｂ、７３２ｂ…第２の端子
６０…動作電圧ライン
６１、６１ａ、６１ｂ…制御ライン
８０、２８０…充電部
１００、２００…演算装置
【図１】
2020017362.tif 000007
【図２】
2020017362.tif 000008
【図３】
2020017362.tif 000009
【図４】
2020017362.tif 000010
【図５】
2020017362.tif 000011
【図６】
2020017362.tif 000012
【図７】
2020017362.tif 000013
【図８】
2020017362.tif 000014
【図９】
2020017362.tif 000015
【図１０】
2020017362.tif 000016
【図１１】
2020017362.tif 000017
【図１２】
2020017362.tif 000018
【図１３】
2020017362.tif 000019
【図１４】
2020017362.tif 000020
【図１５】
2020017362.tif 000021
【図１６】
2020017362.tif 000022
【図１７】
2020017362.tif 000023
【図１８】
2020017362.tif 000024
【図１９】
2020017362.tif 000025
【図２０】
2020017362.tif 000026
【図２１】
2020017362.tif 000027
【図２２】
2020017362.tif 000028
【図２３】
2020017362.tif 000029
【図２４】
2020017362.tif 000030
【図２５】
2020017362.tif 000031
【図２６】
2020017362.tif 000032
【図２７】
2020017362.tif 000033
【図２８】
2020017362.tif 000034
【図２９】
2020017362.tif 000035
【図３０】
2020017362.tif 000036
【国際調査報告】
2020017362.tif 000037
2020017362.tif 000038
2020017362.tif 000039