(57)【要約】【課題】低消費電力でニューラルネットワークを構成するＡＩシステムを提供する。【解決手段】演算部と、制御部と、を有するＡＩシステムである。演算部は、第１メモリと、第２メモリと、演算回路と、を有する。第１メモリは、演算回路と制御部との間で入出力されるデジタルデータを保持することができる機能を有する。第２メモリは、アナログデータを保持することができる機能を有する。演算回路は、アナログデータを用いた演算を行うことでニューラルネットワークによる学習または推論を実行する機能を有する。第１メモリと、第２メモリと、演算回路と、は、それぞれ第１トランジスタを有する。第１トランジスタは、チャネル形成領域に酸化物半導体を含む。【選択図】図１
2018129046.tif 000002
【特許請求の範囲】
【請求項１】
演算部と、制御部と、を有し、
前記演算部は、第１メモリと、第２メモリと、演算回路と、を有し、
前記第１メモリは、前記演算回路と前記制御部との間で入出力されるデジタルデータを保持することができる機能を有し、
前記第２メモリは、アナログデータを保持することができる機能を有し、
前記演算回路は、前記アナログデータを用いた演算を行うことでニューラルネットワークによる学習または推論を実行する機能を有し、
前記第１メモリと、前記第２メモリと、演算回路と、は、それぞれ第１トランジスタを有し、
前記第１トランジスタは、チャネル形成領域に酸化物半導体を含むＡＩシステム。
【請求項２】
請求項１において、
前記ニューラルネットワークは、深層ニューラルネットワーク、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク、自己符号化器、深層ボルツマンマシン、または深層信念ネットワークであるＡＩシステム。
【請求項３】
請求項１または請求項２において、
前記演算部は、Ａ／Ｄ変換回路と、Ｄ／Ａ変換回路と、積和演算回路と、を有するＡＩシステム。
【請求項４】
請求項１乃至請求項３のいずれか一項において、
前記制御部は、ＣＰＵ、ＧＰＵ、ＰＬＬ、ＳＲＡＭ、ＰＲＯＭ、メモリコントローラ、電源回路、及びＰＭＵの中から選ばれる一または複数を有するＡＩシステム。
【請求項５】
請求項１乃至請求項４のいずれか一項において、
入出力部を有し、
前記入出力部は、外部記憶制御回路、音声コーデック、映像コーデック、汎用入出力モジュール、および通信モジュールの中から選ばれる一または複数を有するＡＩシステム。
【請求項６】
請求項１乃至請求項５のいずれか一項において、
前記第１メモリと、前記第２メモリと、前記演算回路と、は、それぞれ第２トランジスタを有し、
前記第２トランジスタは、チャネル形成領域にシリコンを含み、
前記第１トランジスタが設けられる層は、前記第２トランジスタが設けられる層と重ねて配置されるＡＩシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の一形態は、ＡＩシステムに関する。
【０００２】
また、本発明の一形態は半導体装置に関する。なお、本発明の一形態は上記の技術分野に限定されない。本明細書等で開示する発明の技術分野は、物、方法、または、製造方法に関するものである。または、本発明の一形態は、プロセス、マシン、マニュファクチャ、または、組成物（コンポジション・オブ・マター）に関するものである。
【０００３】
なお、本明細書等において半導体装置とは、半導体特性を利用することで機能しうる装置全般を指す。表示装置、発光装置、記憶装置、電気光学装置、蓄電装置、半導体回路及び電子機器は、半導体装置を有する場合がある。
【背景技術】
【０００４】
近年、人工ニューラルネットワーク（以下、ニューラルネットワークと呼ぶ）を用いた人工知能（ＡＩ：Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ）の開発が盛んに行われ、主に画像認識の分野で成功例が報告されている。
【０００５】
また、近年、チャネル形成領域に酸化物半導体または金属酸化物を用いたトランジスタ（Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒトランジスタ、以下、ＯＳトランジスタと呼ぶ）が注目されている。ＯＳトランジスタはオフ電流が極めて小さい。そのことを利用して、ＯＳトランジスタを用いたアプリケーションが提案されている。
【０００６】
例えば、特許文献１では、ニューラルネットワークの学習に、ＯＳトランジスタを用いた例が開示されている。
【０００７】
また、ＯＳトランジスタのオフ電流が小さいことを利用して、ＯＳトランジスタをメモリに用いた例が報告されている。例えば、特許文献２には、ＯＳトランジスタを、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に用いた例が開示されている。例えば、特許文献３には、ＯＳトランジスタを用いた不揮発性メモリが開示されている。本明細書では、ＯＳトランジスタを用いたメモリをＯＳメモリと呼称する。ＯＳメモリは、書き換え可能回数に制限がなく、消費電力も少ない。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許公開第２０１６／０３４３４５２号明細書
【特許文献２】特開２０１３−１６８６３１号公報
【特許文献３】特開２０１２−０６９９３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ニューラルネットワークを用いた学習および推論は計算規模が大きく、長時間の計算を要する。そのため、半導体回路などのハードウェアでニューラルネットワークを構成し、計算時間を短縮する試みが行われているが、論理回路のみでニューラルネットワークを構成した場合、回路規模が大きく、消費電力が高い。
【００１０】
本発明の一形態は、低消費電力でニューラルネットワークを構成することが可能なＡＩシステムを提供することを課題の一とする。また、本発明の一形態は、低消費電力でニューラルネットワークを構成することが可能な半導体装置を提供することを課題の一とする。また、本発明の一形態は、低コストで製造することが可能なＡＩシステムを提供することを課題の一とする。また、本発明の一形態は、低コストで製造することが可能な半導体装置を提供することを課題の一とする。また、本発明の一形態は、新規な半導体装置を提供することを課題の一とする。
【００１１】
なお、複数の課題の記載は、互いの課題の存在を妨げるものではない。なお、本発明の一形態は、これらの課題の全て解決する必要はない。また、列記した以外の課題が、明細書、図面、請求項などの記載から、自ずと明らかとなるものであり、これらの課題も、本発明の一形態の課題となり得る。
【課題を解決するための手段】
【００１２】
本発明の一形態は、演算部と、制御部と、を有するＡＩシステムである。演算部は、第１メモリと、第２メモリと、演算回路と、を有する。第１メモリは、演算回路と制御部との間で入出力されるデジタルデータを保持することができる機能を有する。第２メモリは、アナログデータを保持することができる機能を有する。演算回路は、アナログデータを用いた演算を行うことでニューラルネットワークによる学習または推論を実行する機能を有する。第１メモリと、第２メモリと、演算回路と、は、それぞれ第１トランジスタを有する。第１トランジスタは、チャネル形成領域に酸化物半導体を含む。
【００１３】
上記形態において、ニューラルネットワークは、深層ニューラルネットワーク、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク、自己符号化器、深層ボルツマンマシン、または深層信念ネットワークであることが好ましい。
【００１４】
上記形態において、演算部は、Ａ／Ｄ変換回路と、Ｄ／Ａ変換回路と、積和演算回路と、を有することが好ましい。
【００１５】
上記形態において、制御部は、ＣＰＵ、ＧＰＵ、ＰＬＬ、ＳＲＡＭ、ＰＲＯＭ、メモリコントローラ、電源回路およびＰＭＵの中から選ばれる一または複数を有することが好ましい。
【００１６】
上記形態において、入出力部を有することが好ましい。入出力部は、外部記憶制御回路、音声コーデック、映像コーデック、汎用入出力モジュールおよび通信モジュールの中から選ばれる一または複数を有することが好ましい。
【００１７】
上記形態において、第１メモリと、第２メモリと、演算回路と、は、それぞれ第２トランジスタを有することが好ましい。第２トランジスタは、チャネル形成領域にシリコンを含み、第１トランジスタが設けられる層は、第２トランジスタが設けられる層と重ねて配置される。
【発明の効果】
【００１８】
本発明の一形態により、低消費電力でニューラルネットワークを構成することが可能なＡＩシステムを提供することができる。また、本発明の一形態により、低消費電力でニューラルネットワークを構成することが可能な半導体装置を提供することができる。また、本発明の一形態により、低コストで製造することが可能なＡＩシステムを提供することができる。また、本発明の一形態により、低コストで製造することが可能な半導体装置を提供することができる。また、本発明の一形態により、新規な半導体装置を提供することができる。
【００１９】
なお、これらの効果の記載は、他の効果の存在を妨げるものではない。なお、本発明の一形態は、これらの効果の全てを有する必要はない。なお、これら以外の効果は、明細書、図面、請求項などの記載から、自ずと明らかとなるものであり、明細書、図面、請求項などの記載から、これら以外の効果を抽出することが可能である。
【図面の簡単な説明】
【００２０】
【図１】ＡＩシステムの構成例を示すブロック図。
【図２】ＡＩシステムの構成例を示すブロック図。
【図３】ＡＩシステムの構成例を示すブロック図。
【図４】ＡＩシステムの構成例を示すブロック図。
【図５】ＡＩシステム  の応用例を説明するブロック図。
【図６】ＡＩシステムを組み込んだＩＣの構成例を示す斜視模式図。
【図７】Ａ：ＤＯＳＲＡＭの構成例を示す機能ブロック図。Ｂ：メモリセルアレイの構成例を示す図。Ｃ：メモリセルの構成例を示す回路図。
【図８】ＮＯＳＲＡＭの構成例を示す機能ブロック図。
【図９】Ａ−Ｅ：メモリセルの構成例を示す回路図。
【図１０】ＯＳ−ＦＰＧＡの構成例を説明するブロック図。
【図１１】ＯＳ−ＦＰＧＡの構成例を説明するブロック図。
【図１２】ＯＳ−ＦＰＧＡの構成例を説明する回路図およびタイミングチャート。
【図１３】ＯＳ−ＦＰＧＡの構成例を説明する回路図。
【図１４】ＯＳ−ＦＰＧＡの構成例を説明する回路図およびタイミングチャート。
【図１５】積和演算回路の構成例を示す機能ブロック図。
【図１６】アナログメモリ参照メモリの構成例を示す回路図。
【図１７】電流回路の構成例を示す回路図。
【図１８】積和演算回路の動作例を示すタイミングチャート。
【図１９】容量型Ｄ／Ａ変換回路の構成例を示す回路図。
【発明を実施するための形態】
【００２１】
以下、実施の形態について図面を参照しながら説明する。但し、実施の形態は多くの異なる形態で実施することが可能であり、趣旨及びその範囲から逸脱することなくその形態及び詳細を様々に変更し得ることは当業者であれば容易に理解される。従って、本発明は、以下の実施の形態の記載内容に限定して解釈されるものではない。
【００２２】
また、図面において、大きさ、層の厚さ、または領域は、明瞭化のために誇張されている場合がある。よって、必ずしもそのスケールに限定されない。なお図面は、理想的な例を模式的に示したものであり、図面に示す形状または値などに限定されない。
【００２３】
なお、本明細書においてニューラルネットワークとは、生物の神経回路網を模し、学習によってニューロンどうしの結合強度を決定し、問題解決能力を持たせるモデル全般を指す。ニューラルネットワークは入力層、中間層（隠れ層ともいう）、出力層を有する。ニューラルネットワークのうち、２層以上の中間層を有するものをディープニューラルネットワーク（ＤＮＮ）と呼称する。ディープニューラルネットワークによる学習を「ディープラーニング」と呼称する。
【００２４】
また、本明細書において、ニューラルネットワークについて述べる際に、既にある情報からニューロンとニューロンの結合強度（重み係数とも言う）を決定することを「学習」と呼ぶ場合がある。
【００２５】
また、本明細書において、学習によって得られた結合強度を用いてニューラルネットワークを構成し、そこから新たな結論を導くことを「推論」と呼ぶ場合がある。
【００２６】
また、本明細書は、以下の実施の形態を適宜組み合わせることが可能である。また、１つの実施の形態の中に、複数の構成例が示される場合は、互い構成例を適宜組み合わせることが可能である。
【００２７】
（実施の形態１）
本実施の形態では、本発明の一形態であるＡＩシステムについて説明を行う。
【００２８】
図１はＡＩシステム４１の構成例を示すブロック図である。ＡＩシステム４１は、演算部１０と、制御部２０と、入出力部３０を有する。
【００２９】
演算部１０は、アナログ演算回路１１と、ＤＯＳＲＡＭ１２と、ＮＯＳＲＡＭ１３と、を有する。
【００３０】
なお、ＤＯＳＲＡＭ（登録商標）とは、「Ｄｙｎａｍｉｃ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  ＲＡＭ」の略称であり、１Ｔ（トランジスタ）１Ｃ（容量）型のメモリセルを有するＲＡＭを指す。
【００３１】
また、ＮＯＳＲＡＭ（登録商標）とは「Ｎｏｎｖｏｌａｔｉｌｅ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  ＲＡＭ」の略称であり、ゲインセル型（２Ｔ型、３Ｔ型）のメモリセルを有するＲＡＭを指す。ＤＯＳＲＡＭ、ＮＯＳＲＡＭは、ＯＳトランジスタのオフ電流が低いことを利用したメモリである。
【００３２】
制御部２０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１と、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２２と、ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）２３と、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２４と、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２５と、メモリコントローラ２６と、電源回路２７と、ＰＭＵ（Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ）２８と、を有する。
【００３３】
入出力部３０は、外部記憶制御回路３１と、音声コーデック３２と、映像コーデック３３と、汎用入出力モジュール３４と、通信モジュール３５と、を有する。
【００３４】
演算部１０は、ニューラルネットワークによる学習または推論を実行することができる。
【００３５】
アナログ演算回路１１はＡ／Ｄ（アナログ／デジタル）変換回路、Ｄ／Ａ（デジタル／アナログ）変換回路、および積和演算回路を有する。
【００３６】
アナログ演算回路１１はＯＳトランジスタを用いて形成する。ＯＳトランジスタを用いたアナログ演算回路１１は、アナログメモリを有し、学習または推論に必要な積和演算を、低消費電力で実行することが可能になる。なお、ＯＳトランジスタを用いた積和演算回路の詳細は、後述する実施の形態９で説明を行う。
【００３７】
ＤＯＳＲＡＭ１２は、ＯＳトランジスタを用いて形成されたＤＲＡＭであり、ＤＯＳＲＡＭ１２は、ＣＰＵ２１から送られてくるデジタルデータを一時的に格納するメモリである。ＤＯＳＲＡＭ１２は、ＯＳトランジスタを含むメモリセルと、Ｓｉトランジスタを含む読み出し回路部を有する。上記メモリセルと読み出し回路部は、積層された異なる層に設けることができるため、ＤＯＳＲＡＭ１２は、全体の回路面積を小さくすることができる。なお、ＤＯＳＲＡＭの詳細は後述する実施の形態７で説明を行う。
【００３８】
ニューラルネットワークを用いた計算は、入力データが１０００を超えることがある。上記入力データをＳＲＡＭに格納する場合、ＳＲＡＭは回路面積に制限があり、記憶容量が小さいため、上記入力データを小分けにして格納せざるを得ない。ＤＯＳＲＡＭ１２は、限られた回路面積でも、メモリセルを高集積に配置することが可能であり、ＳＲＡＭに比べて記憶容量が大きい。そのため、ＤＯＳＲＡＭ１２は、上記入力データを効率よく格納することができる。
【００３９】
また、ＤＯＳＲＡＭ１２は、メモリセルアレイを細かく分けて、効率的に配置することができる。例えば、容量型Ｄ／Ａ変換回路の例を図１９に示す。容量素子８１は論理回路と比べて大きな面積を占める。ＤＯＳＲＡＭ１２は、容量素子８１の近くに配置することができ、効率的に面積を利用することができる。なお、図ではビット線１列を１つの容量に対応させているが、ビット線を複数に分割しても構わない。
【００４０】
ＮＯＳＲＡＭ１３はＯＳトランジスタを用いた不揮発性メモリである。ＮＯＳＲＡＭ１３は、フラッシュメモリや、ＲｅＲＡＭ（Ｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの他の不揮発性メモリと比べて、データを書き込む際の消費電力が小さい。また、フラッシュメモリやＲｅＲＡＭのように、データを書き込む際に素子が劣化することもなく、データの書き込み可能回数に制限が無い。なお、ＮＯＳＲＡＭの詳細は後述する実施の形態７で説明を行う。
【００４１】
また、ＮＯＳＲＡＭ１３は、１ビットの２値データの他に、２ビット以上の多値データを記憶することができる。ＮＯＳＲＡＭ１３は多値データを記憶することで、１ビット当たりのメモリセル面積を小さくすることができる。
【００４２】
また、ＮＯＳＲＡＭ１３は、デジタルデータの他にアナログデータを記憶することができる。そのため、アナログ演算回路１１は、ＮＯＳＲＡＭ１３をアナログメモリとして用いることもできる。ＮＯＳＲＡＭ１３は、アナログデータのまま記憶することができるため、Ｄ／Ａ変換回路やＡ／Ｄ変換回路が不要である。そのため、ＮＯＳＲＡＭ１３は周辺回路の面積を小さくすることができる。なお、本明細書においてアナログデータとは、３ビット（８値）以上分解能を有するデータのことを指す。上述した多値データがアナログデータに含まれる場合もある。
【００４３】
ニューラルネットワークの計算に用いられるデータやパラメータは、一旦、ＮＯＳＲＡＭ１３に格納することができる。上記データやパラメータは、ＣＰＵ２１を介して、ＡＩシステム４１の外部に設けられたメモリに格納してもよいが、内部に設けられたＮＯＳＲＡＭ１３の方が、より高速且つ低消費電力に上記データやパラメータを格納することができる。また、ＮＯＳＲＡＭ１３は、ＤＯＳＲＡＭ１２よりもビット線を長くすることができるので、記憶容量を大きくすることができる。
【００４４】
ＡＩシステム４１は、アナログ演算回路１１、ＤＯＳＲＡＭ１２およびＮＯＳＲＡＭ１３を１つのダイ（チップ）の上に設けることができる。そのため、ＡＩシステム４１は、高速且つ低消費電力に、ニューラルネットワークの計算を実行することができる。また、アナログ演算回路１１、ＤＯＳＲＡＭ１２およびＮＯＳＲＡＭ１３は、同じ製造プロセスで作製することができる。そのため、ＡＩシステム４１は、低コストで作製することができる。
【００４５】
ＡＩシステム４１は、解決したい課題に応じて、ディープニューラルネットネットワーク（ＤＮＮ）、畳み込みニューラルネットワーク（ＣＮＮ）、再帰型ニューラルネットワーク（ＲＮＮ）、自己符号化器、深層ボルツマンマシン（ＤＢＭ）、深層信念ネットワーク（ＤＢＮ）などの手法を実行することができる。ＰＲＯＭ２５は、これらの手法の少なくとも一つを実行するためのプログラムを保存することができる。また、当該プログラムの一部または全てを、ＮＯＳＲＡＭ１３に保存してもよい。
【００４６】
ライブラリとして存在する既存のプログラムは、ＧＰＵの処理を前提としているものが多い。そのため、ＡＩシステム４１はＧＰＵ２２を有することが好ましい。ＡＩシステム４１は、学習と推論で用いられる積和演算のうち、律速となる積和演算を演算部１０で実行し、それ以外の積和演算をＧＰＵ２２で実行することができる。そうすることで、学習と推論を高速に実行することができる。
【００４７】
電源回路２７は、論理回路用の低電源電位を生成するだけではなく、アナログ演算のための電位生成も行う。電源回路２７はＯＳメモリを用いてもよい。電源回路２７は、基準電位をＯＳメモリに保存することで、消費電力を下げることができる。
【００４８】
ＰＭＵ２８は、ＡＩシステム４１の電力供給を一時的にオフにする機能を有する。
【００４９】
ＣＰＵ２１およびＧＰＵ２２は、レジスタとしてＯＳメモリを有することが好ましい。ＣＰＵ２１およびＧＰＵ２２はＯＳメモリを有することで、電力供給がオフになっても、ＯＳメモリ中にデータ（論理値）を保持し続けることができる。その結果、ＡＩシステム４１は、電力を節約することができる。
【００５０】
ＰＬＬ２３は、クロックを生成する機能を有する。ＡＩシステム４１は、ＰＬＬ２３が生成したクロックを基準に動作を行う。ＰＬＬ２３はＯＳメモリを有することが好ましい。ＰＬＬ２３はＯＳメモリを有することで、クロックの発振周期を制御するアナログ電位を保持することができる。
【００５１】
ＡＩシステム４１は、ＤＲＡＭなどの外部メモリにデータを保存してもよい。そのため、ＡＩシステム４１は、外部のＤＲＡＭとのインターフェースとして機能するメモリコントローラ２６を有することが好ましい。また、メモリコントローラ２６は、ＣＰＵ２１またはＧＰＵ２２の近くに配置することが好ましい。そうすることで、データのやり取りを高速に行うことができる。
【００５２】
制御部２０に示す回路の一部または全ては、演算部１０と同じダイの上に形成することができる。そうすることで、ＡＩシステム４１は、高速且つ低消費電力に、ニューラルネットワークの計算を実行することができる。
【００５３】
ニューラルネットワークの計算に用いられるデータは外部記憶装置（ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）など）に保存される場合が多い。そのため、ＡＩシステム４１は、外部記憶装置とのインターフェースとして機能する外部記憶制御回路３１を有することが好ましい。
【００５４】
ニューラルネットワークを用いた学習と推論は、音声や映像を扱うことが多いので、ＡＩシステム４１は音声コーデック３２および映像コーデック３３を有する。音声コーデック３２は、音声データのエンコード（符号化）およびデコード（復号）を行い、映像コーデック３３は、映像データのエンコードおよびデコードを行う。
【００５５】
ＡＩシステム４１は、外部センサから得られたデータを用いて学習または推論を行うことができる。そのため、ＡＩシステム４１は汎用入出力モジュール３４を有する。汎用入出力モジュール３４は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）やＩ２Ｃ（Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などを含む。
【００５６】
ＡＩシステム４１は、インターネットを経由して得られたデータを用いて学習または推論を行うことができる。そのため、ＡＩシステム４１は、通信モジュール３５を有することが好ましい。
【００５７】
アナログ演算回路１１は、多値のフラッシュメモリをアナログメモリとして用いてもよい。しかし、フラッシュメモリは書き換え可能回数に制限がある。また、多値のフラッシュメモリは、エンベディッドで形成する（演算回路とメモリを同じダイの上に形成する）ことが非常に難しい。
【００５８】
また、アナログ演算回路１１は、ＲｅＲＡＭをアナログメモリとして用いてもよい。しかし、ＲｅＲＡＭは書き換え可能回数に制限があり、記憶精度の点でも問題がある。さらに、２端子でなる素子であるため、データの書き込みと読み出しを分ける回路設計が複雑になる。
【００５９】
また、アナログ演算回路１１は、ＭＲＡＭをアナログメモリとして用いてもよい。しかし、ＭＲＡＭは抵抗変化率が低く、記憶精度の点で問題がある。
【００６０】
以上を鑑み、アナログ演算回路１１は、ＯＳメモリをアナログメモリとして用いることが好ましい。
【００６１】
以上、本実施の形態に示すＡＩシステムを用いることで、低消費電力でニューラルネットワークを構成することが可能なＡＩシステムを提供することができる。また、低消費電力でニューラルネットワークを構成することが可能な半導体装置を提供することができる。また、本実施の形態に示すＡＩシステムは、低コストで製造することが可能なＡＩシステムを提供することができる。また、低コストで製造することが可能な半導体装置を提供することができる。
【００６２】
（実施の形態２）
本実施の形態では、実施の形態１に示すＡＩシステム４１の異なる形態について説明を行う。
【００６３】
図２に示すＡＩシステム４２は、演算部１０がアナログ演算回路１１、ＮＯＳＲＡＭ１３およびＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）１４を有する点で、図１のＡＩシステム４１と異なる。
【００６４】
図１のＡＩシステム４１は、ＰＲＯＭ２５に保存されたプログラム（ソフトウェア）が、ニューラルネットワークの接続を決定し、ＤＮＮ、ＣＮＮまたはＲＮＮなど、ニューラルネットワークのモデルを選択するが、上記ニューラルネットワークの接続は、ハードウェアで構成した方がより高速に実行することができる。ＡＩシステム４２はＦＰＧＡ１４を用いることで、ハードウェアで上記ニューラルネットワークの接続を構成することができる。
【００６５】
ＦＰＧＡ１４はＯＳトランジスタを有するＦＰＧＡである。なお、本明細書において、ＯＳトランジスタを有するＦＰＧＡをＯＳ−ＦＰＧＡと呼称する。
【００６６】
ＯＳ−ＦＰＧＡは、ＳＲＡＭで構成されるＦＰＧＡよりもメモリの面積を小さくすることができる。そのため、コンテキスト切り替え機能を追加しても面積増加が少ない。また、ＯＳ−ＦＰＧＡはブースティングによりデータやパラメータを高速に伝えることができる。なお、ＯＳ−ＦＰＧＡの詳細は後述する実施の形態８で説明を行う。
【００６７】
ＡＩシステム４２は、ＤＯＳＲＡＭ１２が省略されているが、演算部１０は入力データがアナログデータである場合、ＤＯＳＲＡＭ１２を省略しても構わない。この場合、Ｄ／Ａ変換回路がＤＯＳＲＡＭ１２の代わりを兼ねることができる。
【００６８】
Ｄ／Ａ変換回路には抵抗ストリング型、抵抗ラダー型、容量型、デルタシグマ型などがある。抵抗ストリング型は、電源電位が抵抗によって分割され、その一部をスイッチで選択することによりアナログ電位を生成する。ＣＰＵなどから送られた入力デジタル信号は（レジスタを介しても構わないが）直接スイッチを制御することができる。同様に抵抗ラダー型や容量型はデジタル信号のビット数に応じて複数の抵抗または容量をスイッチで選択することによりアナログ電位を生成する。また、デルタシグマ型では多ビットのデジタル値を１ビットのパルス変調信号に変え、平滑化することでアナログ電位を得る。この１ビットのパルスを生成するためのメモリはレジスタ（フリップフロップ）で十分である。
【００６９】
ＡＩシステム４２は、アナログ演算回路１１、ＮＯＳＲＡＭ１３およびＦＰＧＡ１４を１つのダイの上に設けることができる。そのため、ＡＩシステム４２は、高速且つ低消費電力に、ニューラルネットワークの計算を実行することができる。また、アナログ演算回路１１、ＮＯＳＲＡＭ１３およびＦＰＧＡ１４は、同じ製造プロセスで作製することができる。そのため、ＡＩシステム４２は、低コストで作製することができる。
【００７０】
ＡＩシステム４２のその他の構成要素の詳細は、実施の形態１に示すＡＩシステム４１の記載を参照すればよい。
【００７１】
（実施の形態３）
本実施の形態では、上記実施の形態に示すＡＩシステム４１、４２と異なる形態について説明を行う。
【００７２】
図３に示すＡＩシステム４３は、演算部１０がアナログ演算回路１１、ＤＯＳＲＡＭ１２およびＦＰＧＡ１４を有する点で、ＡＩシステム４１、４２と異なる。
【００７３】
ＡＩシステム４３は、ＮＯＳＲＡＭ１３が省略されているが、複数のアナログ演算回路をＦＰＧＡ１４で繋ぎかえることで、データとパラメータの一時記憶が不要になる。そのため、ＮＯＳＲＡＭ１３を省くことができる。
【００７４】
ＡＩシステム４３は、アナログ演算回路１１、ＤＯＳＲＡＭ１２およびＦＰＧＡ１４を１つのダイの上に設けることができる。そのため、ＡＩシステム４２は、高速且つ低消費電力に、ニューラルネットワークの計算を実行することができる。また、アナログ演算回路１１、ＤＯＳＲＡＭ１２およびＦＰＧＡ１４は、同じ製造プロセスで作製することができる。そのため、ＡＩシステム４３は、低コストで作製することができる。
【００７５】
ＡＩシステム４３のその他の構成要素の詳細は、上記実施の形態に示すＡＩシステム４１、４２の記載を参照すればよい。
【００７６】
（実施の形態４）
本実施の形態では、上記実施の形態に示すＡＩシステム４１乃至４３と異なる形態について説明を行う。
【００７７】
図４に示すＡＩシステム４４は、演算部１０がアナログ演算回路１１、ＤＯＳＲＡＭ１２、ＮＯＳＲＡＭ１３およびＦＰＧＡ１４を有する点で、ＡＩシステム４１乃至４３と異なる。
【００７８】
ニューラルネットワークの計算で扱う課題が複雑になると、これまでに示したＡＩシステム４１乃至４３では、アナログ演算に必要なモジュールが足りなくなる場合がある。ＡＩシステム４４は、ＤＯＳＲＡＭ１２、ＮＯＳＲＡＭ１３およびＦＰＧＡ１４を有することで、より複雑な課題に対応することができる。
【００７９】
ＡＩシステム４４は、アナログ演算回路１１、ＤＯＳＲＡＭ１２、ＮＯＳＲＡＭ１３およびＦＰＧＡ１４を１つのダイの上に設けることができる。そのため、ＡＩシステム４４は、高速且つ低消費電力に、ニューラルネットワークの計算を実行することができる。また、アナログ演算回路１１、ＤＯＳＲＡＭ１２、ＮＯＳＲＡＭ１３およびＦＰＧＡ１４は、同じ製造プロセスで作製することができる。そのため、ＡＩシステム４４は、低コストで作製することができる。
【００８０】
ＡＩシステム４４のその他の構成要素の詳細は、上記実施の形態に示すＡＩシステム４１乃至４３の記載を参照すればよい。
【００８１】
（実施の形態５）
＜ＡＩシステムの応用例＞
本実施の形態では、上記実施の形態に示すＡＩシステムの応用例について図５を用いて説明を行う。
【００８２】
図５（Ａ）は、図１で説明したＡＩシステム４１を並列に配置し、バス線を介してシステム間での信号の送受信を可能にしたＡＩシステムである。
【００８３】
図５（Ａ）に図示するＡＩシステム４１Ａは、複数のＡＩシステム４１＿１乃至ＡＩシステム４１＿ｎ（ｎは自然数）を有する。ＡＩシステム４１＿１乃至ＡＩシステム４１＿ｎは、バス線９８を介して互いに接続されている。
【００８４】
また図５（Ｂ）は、図１で説明したＡＩシステム４１を図５（Ａ）と同様に並列に配置し、ネットワークを介してシステム間での信号の送受信を可能にしたＡＩシステムである。
【００８５】
図５（Ｂ）に図示するＡＩシステム４１Ｂは、複数のＡＩシステム４１＿１乃至ＡＩシステム４１＿ｎを有する。ＡＩシステム４１＿１乃至ＡＩシステム４１＿ｎは、ネットワーク９９を介して互いに接続されている。
【００８６】
ネットワーク９９は、ＡＩシステム４１＿１乃至ＡＩシステム４１＿ｎのそれぞれに通信モジュールを設け、無線または有線による通信を行う構成とすればよい。通信モジュールは、アンテナを介して通信を行うことができる。例えばＷｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ（ＷＷＷ）の基盤であるインターネット、イントラネット、エクストラネット、ＰＡＮ（Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＣＡＮ（Ｃａｍｐｕｓ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＭＡＮ（Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＧＡＮ（Ｇｌｏｂａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のコンピュータネットワークに各電子装置を接続させ、通信を行うことができる。無線通信を行う場合、通信プロトコル又は通信技術として、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）、ＧＳＭ（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ：登録商標）、ＥＤＧＥ（Ｅｎｈａｎｃｅｄ  Ｄａｔａ  Ｒａｔｅｓ  ｆｏｒ  ＧＳＭ  Ｅｖｏｌｕｔｉｏｎ）、ＣＤＭＡ２０００（Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ  ２０００）、Ｗ−ＣＤＭＡ（登録商標）などの通信規格、またはＷｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＺｉｇＢｅｅ（登録商標）等のＩＥＥＥにより通信規格化された仕様を用いることができる。
【００８７】
図５（Ａ）、（Ｂ）の構成とすることで、外部のセンサ等で得られたアナログ信号を別々のＡＩシステムで処理することができる。例えば、生体情報のように、脳波、脈拍、血圧、体温等といった情報を脳波センサ、脈波センサ、血圧センサ、温度センサといった各種センサで取得し、別々のＡＩシステムでアナログ信号を処理することができる。別々のＡＩシステムのそれぞれで信号の処理、または学習を行うことで一つのＡＩシステムあたりの情報処理量を少なくできる。そのため、より少ない演算量で信号の処理、または学習を行うことができる。その結果、認識精度を高めることができる。それぞれのＡＩシステムで得られた情報から、複雑に変化する生体情報の変化を瞬時に統合的に把握することができるといったことが期待できる。
【００８８】
なお、本実施の形態に示すＡＩシステムは、上記実施の形態に示すＡＩシステム４２乃至４４についても、同様に適用することができる。
【００８９】
（実施の形態６）
本実施の形態は、上記実施の形態に示すＡＩシステムが組み込まれたＩＣの一例を示す。
【００９０】
上記実施の形態に示すＡＩシステムは、ＣＰＵ等のＳｉトランジスタでなるデジタル処理回路と、ＯＳトランジスタを用いたアナログ演算回路、ＯＳ−ＦＰＧＡおよびＤＯＳＲＡＭ、ＮＯＳＲＡＭ等のＯＳメモリを、１のダイに集積することができる。
【００９１】
図６に、ＡＩシステムを組み込んだＩＣの一例を示す。図６に示すＡＩシステムＩＣ７０００は、リード７００１及び回路部７００３を有する。ＡＩシステムＩＣ７０００は、例えばプリント基板７００２に実装される。このようなＩＣチップが複数組み合わされて、それぞれがプリント基板７００２上で電気的に接続されることで電子部品が実装された基板（実装基板７００４）が完成する。回路部７００３には、本実施の形態で示した各種の回路が１のダイに設けられている。回路部７００３は積層構造をもち、Ｓｉトランジスタ層７０３１、配線層７０３２、ＯＳトランジスタ層７０３３に大別される。ＯＳトランジスタ層７０３３をＳｉトランジスタ層７０３１に積層して設けることができるため、ＡＩシステムＩＣ７０００の小型化が容易である。
【００９２】
図６では、ＡＩシステムＩＣ７０００のパッケージにＱＦＰ（Ｑｕａｄ  Ｆｌａｔ  Ｐａｃｋａｇｅ）を適用しているが、パッケージの態様はこれに限定されない。
【００９３】
ＣＰＵ等のデジタル処理回路と、ＯＳトランジスタを用いたアナログ演算回路、ＯＳ−ＦＰＧＡおよびＤＯＳＲＡＭ、ＮＯＳＲＡＭ等のＯＳメモリは、全て、Ｓｉトランジスタ層７０３１、配線層７０３２およびＯＳトランジスタ層７０３３に形成することができる。すなわち、上記ＡＩシステムを構成する素子は、同一の製造プロセスで形成することが可能である。そのため、本実施の形態に示すＩＣは、構成する素子が増えても製造プロセスを増やす必要がなく、上記ＡＩシステムを低コストで組み込むことができる。
【００９４】
（実施の形態７）
本実施の形態では、上実施の形態に示すＡＩシステムに搭載可能なメモリ装置について説明する。本実施の形態では、ＯＳメモリの一例として、ＤＯＳＲＡＭおよびＮＯＳＲＡＭについて説明する。
【００９５】
＜＜ＤＯＳＲＡＭ１４００＞＞
図７（Ａ）−図７（Ｃ）を参照して、ＤＯＳＲＡＭについて説明する。
【００９６】
図７（Ａ）に示すＤＯＳＲＡＭ１４００は、コントローラ１４０５、行回路１４１０、列回路１４１５、ＭＣ−ＳＡアレイ１４２０を有する。行回路１４１０はデコーダ１４１１、ワード線ドライバ１４１２、列セレクタ１４１３、センスアンプドライバ１４１４を有する。列回路１４１５はグローバルセンスアンプアレイ１４１６、入出力回路１４１７を有する。グローバルセンスアンプアレイ１４１６は複数のグローバルセンスアンプ１４４７を有する。ＭＣ−ＳＡアレイ１４２０はメモリセルアレイ１４２２、センスアンプアレイ１４２３、グローバルビット線ＧＢＬＬ、ＧＢＬＲを有する。
【００９７】
（ＭＣ−ＳＡアレイ１４２０）
ＭＣ−ＳＡアレイ１４２０は、メモリセルアレイ１４２２をセンスアンプアレイ１４２３上に積層した積層構造をもつ。グローバルビット線ＧＢＬＬ、ＧＢＬＲはメモリセルアレイ１４２２上に積層されている。ＤＯＳＲＡＭ１４００では、ビット線の構造に、ローカルビット線とグローバルビット線とで階層化された階層ビット線構造が採用されている。
【００９８】
メモリセルアレイ１４２２は、Ｎ個（Ｎは２以上の整数）のローカルメモリセルアレイ１４２５＜０＞−４２５＜Ｎ−１＞を有する。図７（Ｂ）に示すように、ローカルメモリセルアレイ１４２５は、複数のメモリセル１４４５、複数のワード線ＷＬ、複数のビット線ＢＬＬ、ＢＬＲを有する。図７（Ｂ）の例では、ローカルメモリセルアレイ１４２５の構造はオープンビット線型であるが、フォールデッドビット線型であってもよい。
【００９９】
図７（Ｃ）に示すメモリセル１４４５は、ＯＳトランジスタＭＯ４０、容量素子Ｃ４５を有する。ＯＳトランジスタＭＯ４０は容量素子Ｃ４５の充放電を制御する機能をもつ。ＯＳトランジスタＭＯ４０のゲートはワード線ＷＬに電気的に接続され、バックゲートは配線ＢＧＬに電気的に接続され、第１端子はビット線ＢＬＬまたはＢＬＲに電気的に接続され、第２端子は容量素子Ｃ４５の第１端子に電気的に接続されている。容量素子Ｃ４５の第２端子は配線ＰＣＬに電気的に接続されている。配線ＣＳＬ、ＢＧＬは電圧を供給するための電源線である。
【０１００】
配線ＢＧＬの電圧によって、ＯＳトランジスタＭＯ４０の閾値電圧を変更することができる。例えば、端子ＢＧＬの電圧は固定電圧（例えば、負の定電圧）であってもよいし、ＤＯＳＲＡＭ１４００の動作に応じて、端子ＢＧＬの電圧を変化させてもよい。
【０１０１】
ＯＳトランジスタＭＯ４０のバックゲートをＯＳトランジスタＭＯ４０のゲート、ソース、またはドレインに電気的に接続してもよい。あるいは、ＯＳトランジスタＭＯ４０にバックゲートを設けなくてもよい。
【０１０２】
センスアンプアレイ１４２３は、Ｎ個のローカルセンスアンプアレイ１４２６＜０＞−１４２６＜Ｎ−１＞を有する。ローカルセンスアンプアレイ１４２６は、１のスイッチアレイ１４４４、複数のセンスアンプ１４４６を有する。センスアンプ１４４６には、ビット線対が電気的に接続されている。センスアンプ１４４６は、ビット線対をプリチャージする機能、ビット線対の電圧差を増幅する機能、この電圧差を保持する機能を有する。スイッチアレイ１４４４は、ビット線対を選択し、選択したビット線対とグローバルビット線対と間を導通状態にする機能を有する。
【０１０３】
ここで、ビット線対とは、センスアンプによって、同時に比較される２本のビット線のことをいう。グローバルビット線対とは、グローバルセンスアンプによって、同時に比較される２本のグローバルビット線のことをいう。ビット線対を一対のビット線と呼ぶことができ、グローバルビット線対を一対のグローバルビット線と呼ぶことができる。ここでは、ビット線ＢＬＬとビット線ＢＬＲが１組のビット線対を成す。グローバルビット線ＧＢＬＬとグローバルビット線ＧＢＬＲとが１組のグローバルビット線対をなす。以下、ビット線対（ＢＬＬ，ＢＬＲ）、グローバルビット線対（ＧＢＬＬ，ＧＢＬＲ）とも表す。
【０１０４】
（コントローラ１４０５）
コントローラ１４０５は、ＤＯＳＲＡＭ１４００の動作全般を制御する機能を有する。コントローラ１４０５は、外部からの入力されるコマンド信号を論理演算して、動作モードを決定する機能、決定した動作モードが実行されるように、行回路１４１０、列回路１４１５の制御信号を生成する機能、外部から入力されるアドレス信号を保持する機能、内部アドレス信号を生成する機能を有する。
【０１０５】
（行回路１４１０）
行回路１４１０は、ＭＣ−ＳＡアレイ１４２０を駆動する機能を有する。デコーダ１４１１はアドレス信号をデコードする機能を有する。ワード線ドライバ１４１２は、アクセス対象行のワード線ＷＬを選択する選択信号を生成する。
【０１０６】
列セレクタ１４１３、センスアンプドライバ１４１４はセンスアンプアレイ１４２３を駆動するための回路である。列セレクタ１４１３は、アクセス対象列のビット線を選択するための選択信号を生成する機能をもつ。列セレクタ１４１３の選択信号によって、各ローカルセンスアンプアレイ１４２６のスイッチアレイ１４４４が制御される。センスアンプドライバ１４１４の制御信号によって、複数のローカルセンスアンプアレイ１４２６は独立して駆動される。
【０１０７】
（列回路１４１５）
列回路１４１５は、データ信号ＷＤＡ［３１：０］の入力を制御する機能、データ信号ＲＤＡ［３１：０］の出力を制御する機能を有する。データ信号ＷＤＡ［３１：０］は書き込みデータ信号であり、データ信号ＲＤＡ［３１：０］は読み出しデータ信号である。
【０１０８】
グローバルセンスアンプ１４４７はグローバルビット線対（ＧＢＬＬ，ＧＢＬＲ）に電気的に接続されている。グローバルセンスアンプ１４４７はグローバルビット線対（ＧＢＬＬ，ＧＢＬＲ）間の電圧差を増幅する機能、この電圧差を保持する機能を有する。グローバルビット線対（ＧＢＬＬ，ＧＢＬＲ）へのデータの書き込み、および読み出しは、入出力回路１４１７によって行われる。
【０１０９】
ＤＯＳＲＡＭ１４００の書き込み動作の概要を説明する。入出力回路１４１７によって、データがグローバルビット線対に書き込まれる。グローバルビット線対のデータは、グローバルセンスアンプアレイ１４１６によって保持される。アドレスが指定するローカルセンスアンプアレイ１４２６のスイッチアレイ１４４４によって、グローバルビット線対のデータが、対象列のビット線対に書き込まれる。ローカルセンスアンプアレイ１４２６は、書き込まれたデータを増幅し、保持する。指定されたローカルメモリセルアレイ１４２５において、行回路１４１０によって、対象行のワード線ＷＬが選択され、選択行のメモリセル１４４５にローカルセンスアンプアレイ１４２６の保持データが書き込まれる。
【０１１０】
ＤＯＳＲＡＭ１４００の読み出し動作の概要を説明する。アドレス信号によって、ローカルメモリセルアレイ１４２５の１行が指定される。指定されたローカルメモリセルアレイ１４２５において、対象行のワード線ＷＬが選択状態となり、メモリセル１４４５のデータがビット線に書き込まれる。ローカルセンスアンプアレイ１４２６によって、各列のビット線対の電圧差がデータとして検出され、かつ保持される。スイッチアレイ１４４４によって、ローカルセンスアンプアレイ１４２６の保持データの内、アドレスが指定する列のデータが、グローバルビット線対に書き込まれる。グローバルセンスアンプアレイ１４１６は、グローバルビット線対のデータを検出し、保持する。グローバルセンスアンプアレイ１４１６の保持データは入出力回路１４１７に出力される。以上で、読み出し動作が完了する。
【０１１１】
容量素子Ｃ４５の充放電によってデータを書き換えるため、ＤＯＳＲＡＭ１４００は原理的には書き換え回数に制約はなく、かつ、低エネルギーで、データの書き込みおよび読み出しが可能である。また、メモリセル１４４５の回路構成が単純であるため、大容量化が容易である。よって、ＤＯＳＲＡＭ１４００は大容量のデータを高頻度で書き換えるメモリ装置、例えば、画像処理に利用されるフレームメモリに好適である。
【０１１２】
ＯＳトランジスタＭＯ４０はＯＳトランジスタである。ＯＳトランジスタはオフ電流が極めて小さいため、容量素子Ｃ４５から電荷がリークすることを抑えることができる。そのため、ＤＯＳＲＡＭ１４００は保持時間がＤＲＡＭに比べて非常に長く、リフレッシュレート頻度を低減できる。従って、ＤＯＳＲＡＭ１４００はリフレッシュ動作に要する電力を削減できる。
【０１１３】
ＭＣ−ＳＡアレイ１４２０が積層構造であることよって、ローカルセンスアンプアレイ１４２６の長さと同程度の長さにビット線を短くすることができる。ビット線を短くすることで、ビット線容量が小さくなり、メモリセル１４４５の保持容量を低減することができる。また、ローカルセンスアンプアレイ１４２６にスイッチアレイ１４４４を設けることで、長いビット線の本数を減らすことができる。以上の理由から、ＤＯＳＲＡＭ１４００のアクセス時に駆動する負荷が低減される。
【０１１４】
以上のことから、ＤＯＳＲＡＭ１４００を上記実施の形態に示すＤＯＳＲＡＭ１２に用いることで、ＡＩシステムの消費電力を低減することができる。
【０１１５】
＜＜ＮＯＳＲＡＭ＞＞
図８および図９を参照してＮＯＳＲＡＭについて説明する。ここでは、１のメモリセルで多値データを記憶する多値ＮＯＳＲＡＭについて説明する。
【０１１６】
図８に示すＮＯＳＲＡＭ１６００は、メモリセルアレイ１６１０、コントローラ１６４０、行ドライバ１６５０、列ドライバ１６６０、出力ドライバ１６７０を有する。
【０１１７】
メモリセルアレイ１６１０は複数のメモリセル１６１１、複数のワード線ＷＷＬ、ＲＷＬ、ビット線ＢＬ、ソース線ＳＬを有する。ワード線ＷＷＬは書き込みワード線であり、ワード線ＲＷＬは読み出しワード線である。ＮＯＳＲＡＭ１６００では、１のメモリセル１６１１で３ビット（８値）のデータを記憶する。
【０１１８】
コントローラ１６４０は、ＮＯＳＲＡＭ１６００全体を統括的に制御し、データＷＤＡ［３１：０］の書き込み、データＲＤＡ［３１：０］の読み出しを行う。コントローラ１６４０は、外部からのコマンド信号（例えば、チップイネーブル信号、書き込みイネーブル信号など）を処理して、行ドライバ１６５０、列ドライバ１６６０および出力ドライバ１６７０の制御信号を生成する。
【０１１９】
行ドライバ１６５０は、アクセスする行を選択する機能を有する。行ドライバ１６５０は、行デコーダ１６５１、およびワード線ドライバ１６５２を有する。
【０１２０】
列ドライバ１６６０は、ソース線ＳＬおよびビット線ＢＬを駆動する。列ドライバ１６６０は、列デコーダ１６６１、書き込みドライバ１６６２、ＤＡＣ（デジタル−アナログ変換回路）１６６３を有する。
【０１２１】
ＤＡＣ１６６３は３ビットのデジタルデータをアナログ電圧に変換する。ＤＡＣ１６６３は３２ビットのデータＷＤＡ［３１：０］を３ビットごとに、アナログ電圧に変換する。
【０１２２】
書き込みドライバ１６６２は、ソース線ＳＬをプリチャージする機能、ソース線ＳＬを電気的に浮遊状態にする機能、ソース線ＳＬを選択する機能、選択されたソース線ＳＬにＤＡＣ１６６３で生成した書き込み電圧を入力する機能、ビット線ＢＬをプリチャージする機能、ビット線ＢＬを電気的に浮遊状態にする機能等を有する。
【０１２３】
出力ドライバ１６７０は、セレクタ１６７１、ＡＤＣ（アナログ−デジタル変換回路）１６７２、出力バッファ１６７３を有する。セレクタ１６７１は、アクセスするソース線ＳＬを選択し、選択されたソース線ＳＬの電圧をＡＤＣ１６７２に送信する。ＡＤＣ１６７２は、アナログ電圧を３ビットのデジタルデータに変換する機能を持つ。ソース線ＳＬの電圧はＡＤＣ１６７２において、３ビットのデータに変換され、出力バッファ１６７３はＡＤＣ１６７２から出力されるデータを保持する。
【０１２４】
＜メモリセル＞
図９（Ａ）はメモリセル１６１１の構成例を示す回路図である。メモリセル１６１１は２Ｔ型のゲインセルであり、メモリセル１６１はワード線ＷＷＬ、ＲＷＬ、ビット線ＢＬ、ソース線ＳＬ、配線ＢＧＬに電気的に接続されている。メモリセル１６１１は、ノードＳＮ、ＯＳトランジスタＭＯ６１、トランジスタＭＰ６１、容量素子Ｃ６１を有する。ＯＳトランジスタＭＯ６１は書き込みトランジスタである。トランジスタＭＰ６１は読み出しトランジスタであり、例えばｐチャネル型Ｓｉトランジスタで構成される。容量素子Ｃ６１はノードＳＮの電圧を保持するための保持容量である。ノードＳＮはデータの保持ノードであり、ここではトランジスタＭＰ６１のゲートに相当する。
【０１２５】
メモリセル１６１１の書き込みトランジスタがＯＳトランジスタＭＯ６１で構成されているため、ＮＯＳＲＡＭ１６００は長時間データを保持することが可能である。
【０１２６】
図９（Ａ）の例では、ビット線は、書き込みと読み出しで共通のビット線であるが、図９（Ｂ）に示すように、書き込みビット線ＷＢＬと、読み出しビット線ＲＢＬとを設けてもよい。
【０１２７】
図９（Ｃ）−図９（Ｅ）にメモリセルの他の構成例を示す。図９（Ｃ）−図９（Ｅ）には、書き込み用ビット線ＷＢＬと読み出し用ビット線ＲＢＬを設けた例を示しているが、図９（Ａ）のように書き込みと読み出しで共有されるビット線ＢＬを設けてもよい。
【０１２８】
図９（Ｃ）に示すメモリセル１６１２は、メモリセル１６１１の変形例であり、読み出しトランジスタをｎチャネル型トランジスタ（ＭＮ６１）に変更したものである。トランジスタＭＮ６１はＯＳトランジスタであってもよいし、Ｓｉトランジスタであってもよい。
【０１２９】
メモリセル１６１１、１６１２において、ＯＳトランジスタＭＯ６１はバックゲートの無いＯＳトランジスタであってもよい。
【０１３０】
図９（Ｄ）に示すメモリセル１６１３は、３Ｔ型ゲインセルであり、ワード線ＷＷＬ、ＲＷＬ、ビット線ＷＢＬ、ＲＢＬ、ソース線ＳＬ、配線ＢＧＬ、ＰＣＬに電気的に接続されている。メモリセル１６１３は、ノードＳＮ、ＯＳトランジスタＭＯ６２、トランジスタＭＰ６２、トランジスタＭＰ６３、容量素子Ｃ６２を有する。ＯＳトランジスタＭＯ６２は書き込みトランジスタである。トランジスタＭＰ６２は読み出しトランジスタであり、トランジスタＭＰ６３は選択トランジスタである。
【０１３１】
図９（Ｅ）に示すメモリセル１６１４は、メモリセル１６１３の変形例であり、読み出しトランジスタおよび選択トランジスタをｎチャネル型トランジスタ（ＭＮ６２、ＭＮ６３）に変更したものである。トランジスタＭＮ６２、ＭＮ６３はＯＳトランジスタであってもよいし、Ｓｉトランジスタであってもよい。
【０１３２】
メモリセル１６１１−１６１４に設けられるＯＳトランジスタは、バックゲートの無いトランジスタでもよいし、バックゲートが有るトランジスタであってもよい。
【０１３３】
容量素子Ｃ６１の充放電によってデータを書き換えるため、ＮＯＳＲＡＭ１６００は原理的には書き換え回数に制約はなく、かつ、低エネルギーで、データの書き込みおよび読み出しが可能である。また、長時間データを保持することが可能であるので、リフレッシュ頻度を低減できる。よって、ＤＯＳＲＡＭ１４００は大容量のデータを高頻度で書き換えるメモリ装置、例えば、画像処理に利用されるフレームメモリに好適である。
【０１３４】
ＮＯＳＲＡＭ１６００を上記実施の形態に示すＮＯＳＲＡＭ１３に用いることで、ＡＩシステムの消費電力を低減することができる。
【０１３５】
（実施の形態８）
本実施の形態では、上実施の形態に示すＡＩシステムに搭載可能なＯＳ−ＦＰＧＡについて、図１０乃至図１４を用いて説明を行う。
【０１３６】
＜ＯＳ−ＦＰＧＡの構成例＞
図１０はＦＰＧＡのブロック図である。ＯＳ−ＦＰＧＡ１００は、コントローラ１１０、および回路ブロック１０１Ａ乃至１０１Ｄを有する。図１０では回路ブロックとして４つを例示している。回路ブロック１０１Ａ乃至１０１Ｄは、それぞれマルチコンテキスト方式を実現できるＦＰＧＡとして機能する。
【０１３７】
回路ブロック１０１Ａ乃至１０１Ｄは、それぞれ、プログラマブルエリア１１１、ワードドライバ１１２、データドライバ１１３を有する。プログラマブルエリア１１１は、入出力ブロック（以下、ＩＯＢ１１７）、コア１１８を有する。
【０１３８】
図１１（Ａ）は、プログラマブルエリア１１１の構成例を説明するための図である。プログラマブルエリア１１１は、ＩＯＢ１１７、コア１１８を有する。ＩＯＢ１１７は、プログラマブル入出力回路（ＰＩＯ）を有する。コア１１８は、複数のロジックアレイブロック（以下、ＬＡＢ１２０）および複数のスイッチアレイブロック（以下、ＳＡＢ１３０）で構成される。
【０１３９】
図１１（Ｂ）は、ＬＡＢ１２０の構成例を説明するための図である。図１１（Ｂ）に示すＬＡＢ１２０は、一例として、５個のプログラマブルロジックエレメント（以下、ＰＬＥ１２１）を有する。
【０１４０】
図１１（Ｃ）は、ＳＡＢ１３０の構成例を説明するための図である。図１１（Ｃ）に示すＳＡＢ１３０は、アレイ状に配列された複数のスイッチブロック（以下、ＳＢ１３１）を有する。
【０１４１】
次いで図１２（Ａ）乃至図１２（Ｃ）を参照して、ＳＢ１３１について説明する。ＳＢ１３１には信号ｄａｔａ、信号ｃｏｎｔｅｘｔ［１：０］、信号ｗｏｒｄ［１：０］が入力される。信号ｄａｔａはコンフィギュレーションデータである。信号ｃｏｎｔｅｘｔ［１：０］はコンテキスト選択信号である。信号ｗｏｒｄ［１：０］はワード線選択信号である。
【０１４２】
ＳＢ１３１は、プログラマブルルーティングスイッチ（以下、ＰＲＳ１３３［０］、１３３［１］）を有する。ＰＲＳ１３３［０］、１３３［１］は、コンフィギュレーションデータを格納できるコンフィギュレーションメモリ（ＣＭ）を有する。コンフィギュレーションデータは、ＰＲＳ１３３［０］、１３３［１］の導通状態を設定するための情報である。例えばハイレベル（以下、“Ｈ”）のときＰＲＳ１３３［０］、１３３［１］が導通状態に設定され、ローレベル（以下、“Ｌ”）のときＰＲＳ１３３［０］、１３３［１］が非導通状態に設定される。
【０１４３】
図１２（Ｂ）はＰＲＳ１３３［０］の回路図である。ＰＲＳ１３３［０］とＰＲＳ１３３［１］とは同じ回路構成を有する。ＰＲＳ１３３［０］とＰＲＳ１３３［１］とでは、入力されるコンテキスト選択信号、ワード線選択信号が異なる。信号ｃｏｎｔｅｘｔ［０］、ｗｏｒｄ［０］はＰＲＳ１３３［０］に入力され、信号ｃｏｎｔｅｘｔ［１］、ｗｏｒｄ［１］はＰＲＳ１３３［１］に入力される。例えば、ＳＢ１３１において、信号ｃｏｎｔｅｘｔ［０］が“Ｈ”になることで、ＰＲＳ１３３［０］がアクティブになる。
【０１４４】
ＰＲＳ１３３［０］は、ＣＭ１３５およびトランジスタＭ１を有する。トランジスタＭ１は、ｎチャネル型として説明するが、ｐチャネル型でもよい。
【０１４５】
トランジスタＭ１は、ＣＭ１３５により導通状態が制御されるパストランジスタである。トランジスタＭ１は、Ｓｉトランジスタとする。当該構成とすることで、高速でのスイッチング動作ができるため好ましい。
【０１４６】
ＣＭ１３５は、不揮発性メモリ（以下、ＮＶＭ１３７）およびトランジスタＭ２を有する。トランジスタＭ２は、ｎチャネル型として説明するが、ｐチャネル型でもよい。
【０１４７】
ＮＶＭ１３７は、容量素子Ｃ１、トランジスタＭＯ１、およびトランジスタＭＯ２を有する。トランジスタＭＯ１、ＭＯ２は、ｎチャネル型として説明するが、ｐチャネル型でもよい。トランジスタＭＯ１、およびトランジスタＭＯ２は、ＯＳトランジスタである。当該構成とすることで、オフ電流が低く、ゲート絶縁層を厚くしてもトランジスタ特性が良好であるトランジスタとすることができる。
【０１４８】
トランジスタＭＯ２のゲートがノードＮ１である。トランジスタＭ１のゲートがノードＮ２である。トランジスタＭＯ１はノードＮ１と信号ｄａｔａ用の信号線との間の導通状態を制御する。ノードＮ１はＣＭ１３５の電荷保持ノードである。トランジスタＭＯ１は非導通状態に制御されることで設定した情報に応じた電圧をノードＮ１で保持させることができる。トランジスタＭＯ２はノードＮ２と信号ｃｏｎｔｅｘｔ［０］用の信号線との間の導通状態を制御する。
【０１４９】
なおトランジスタＭＯ１、およびトランジスタＭＯ２といったＯＳトランジスタのゲート絶縁層はトランジスタＭ１、Ｍ２といったＳｉトランジスタのゲート絶縁層より厚くすることが好ましい。前述したようにＯＳトランジスタであることで、ゲート絶縁層を厚くしてもトランジスタ特性が良好である。トランジスタＭＯ２のゲート絶縁層を厚くできることで、電荷保持ノードであるノードＮ１での電荷の保持特性を高めることができる。
【０１５０】
ノードＮ１には、トランジスタＭＯ２の導通状態時、信号ｃｏｎｔｅｘｔ［０］の論理が与えられる。つまり信号ｃｏｎｔｅｘｔ［０］が“Ｈ”になることで、ＰＲＳ１３３［０］がアクティブになる。つまり信号ｄａｔａの論理であるノードＮ１の電圧に応じた電圧が、ノードＮ２に与えられることになる。
【０１５１】
具体的には、ノードＮ１の電圧が“Ｈ”でトランジスタＭＯ２が導通状態となり、信号ｃｏｎｔｅｘｔ［０］が“Ｈ”であるため、ノードＮ２が“Ｈ”となる。またノードＮ１の電圧が“Ｌ”でトランジスタＭＯ２が非導通状態となり、ノードＮ２が“Ｌ”となる。ノードＮ２が“Ｈ”か“Ｌ”かに応じて、つまり入力端子ｉｎｐｕｔと出力端子ｏｕｔｐｕｔとの導通状態が制御される。
【０１５２】
図１２（Ｂ）では一例として、グラウンド電位に接続されたトランジスタＭ２を設け、トランジスタＭ２をダイオード接続する構成を図示している。ノードＮ２は、トランジスタＭＯ２をオフ電流が低いＯＳトランジスタとするために電気的に浮遊状態となりやすい。そのためトランジスタＭ２にはオフ電流がＯＳトランジスタと比べて比較的高いＳｉトランジスタを用い、ノードＮ２に直接接続する構成とすることが有効である。トランジスタＭ２はダイオード接続されたトランジスタとする。当該構成とすることでトランジスタＭ２のオフ電流が、ノードＮ２を電気的に浮遊状態となることを抑制するように作用させることができる。そしてノードＮ２が“Ｈ”となる期間では動作に影響しないようにするとともに、ノードＮ２をより確実に“Ｌ”とすることができる。
【０１５３】
なお、ＰＲＳ１３３［０］とＰＲＳ１３３［１］とを区別しない場合、ＰＲＳ１３３と呼ぶ。他の要素についても同様である。
【０１５４】
なおＰＲＳ１３３は、トランジスタＭ１のゲートが浮遊状態になることを利用したブースティングによってスイッチ特性の向上を実現することができる。一方でＳｉトランジスタを６５ｎｍ  Ｓｉプロセスを採用する場合、Ｓｉトランジスタのゲートリークは無視できない。そこで、Ｓｉトランジスタのゲートで電荷を保持する構成を採用せずに、電荷保持ノードをゲート絶縁膜が厚くても短チャネル効果が発生しにくいＯＳトランジスタであるトランジスタＭＯ２のゲートに変更することで、不揮発性ＯＳメモリを実現することができる。
【０１５５】
図１２（Ｃ）、（Ｄ）を参照して、ＰＲＳ１３３［０］のスイッチ動作を説明する。
【０１５６】
図１２（Ｃ）では、ＰＲＳ１３３［０］のノードＮ１が“Ｈ”であるようにＰＲＳ１３３［０］にコンフィギュレーションデータが既に書き込まれた状態でのスイッチ動作を説明する。
【０１５７】
信号ｃｏｎｔｅｘｔ［０］が“Ｈ”である期間、ＰＲＳ１３３［０］はアクティブである。ノードＮ１が“Ｈ”のときトランジスタＭＯ２が導通状態となるため、ＣＭ１３５が記憶するコンフィギュレーションデータに対応する“Ｈ”が、トランジスタＭ１のゲートは“Ｈ”に遷移し、トランジスタＭ１が導通状態となる。この状態で入力端子ｉｎｐｕｔが“Ｈ”に遷移するとブースティングによってトランジスタＭ１のゲートの電位が上昇する。入力端子ｉｎｐｕｔが“Ｈ”に遷移すると、ＮＶＭ１３７のトランジスタＭＯ２がソースフォロアであるために、ブースティングによってトランジスタＭ１のゲート電圧は上昇する。その結果、ＮＶＭ１３７のトランジスタＭＯ２は駆動能力を失い、トランジスタＭ１のゲートは浮遊状態となる。その結果、トランジスタＭ１のゲート電圧がさらに上昇することで出力端子ｏｕｔｐｕｔの電位を上昇させることができる。そのため、スイッチ特性の向上を実現することができる。
【０１５８】
信号ｃｏｎｔｅｘｔ［０］が“Ｌ”である期間、ＰＲＳ１３３［０］は非アクティブである。ノードＮ１が“Ｈ”のときトランジスタＭＯ２が導通状態となり、信号ｃｏｎｔｅｘｔ［０］の“Ｌ”のため、トランジスタＭ１のゲートが“Ｌ”に遷移し、トランジスタＭ１が非導通状態となる。その結果入力端子ｉｎｐｕｔが“Ｈ”に遷移しても、出力端子ｏｕｔｐｕｔの電位は変化しない。
【０１５９】
また図１２（Ｄ）では、ＰＲＳ１３３［０］のノードＮ１が“Ｌ”であるようにＰＲＳ１３３［０］にコンフィギュレーションデータが既に書き込まれた状態でのスイッチ動作を説明する。
【０１６０】
信号ｃｏｎｔｅｘｔ［０］が“Ｈ”である期間、ＰＲＳ１３３［０］はアクティブである。ノードＮ１が“Ｌ”のときトランジスタＭＯ２が非導通状態となる。トランジスタＭ１のゲート、つまりノードＮ２の電位は、トランジスタＭ２のリーク電流によって“Ｌ”となる。つまりノードＮ２が電気的に浮遊状態となることが抑制される。トランジスタＭ１が非導通状態となる。その結果入力端子ｉｎｐｕｔが“Ｈ”に遷移しても、出力端子ｏｕｔｐｕｔの電位は変化しない。
【０１６１】
信号ｃｏｎｔｅｘｔ［０］が“Ｌ”である期間、ＰＲＳ１３３［０］は非アクティブである。ノードＮ１が“Ｌ”のときトランジスタＭＯ２が導通状態となる。トランジスタＭ１のゲート、つまりノードＮ２の電位は、トランジスタＭ２のリーク電流によって“Ｌ”となる。トランジスタＭ１が非導通状態となる。その結果入力端子ｉｎｐｕｔが“Ｈ”に遷移しても、出力端子ｏｕｔｐｕｔの電位は変化しない。
【０１６２】
マルチコンテキスト機能を備えるＰＲＳ１３３において、ＣＭ１３５はマルチプレクサの機能を併せ持つ。ＰＲＳ１３３はトランジスタ数がＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）を用いたＣＭと比べて少なく、ブースティングによってトランジスタＭ１の駆動能力を高める効果もあるため、好適である。
【０１６３】
また図１３はＰＬＥ１２１のブロック図である。ＰＬＥ１２１はＬＵＴブロック１２３、レジスタブロック１２４、セレクタ１２５、ＣＭ１２６を有する。ＬＵＴブロック１２３はルックアップテーブルの機能を有し、一例として内部の１６ビットＣＭ対の出力を入力ｉｎＡ−ｉｎＤに従って選択する構成である。セレクタ１２５は、ＣＭ１２６が格納するコンフィギュレーションデータに従って、ＬＵＴブロック１２３の出力またはレジスタブロック１２４の出力を選択する構成である。
【０１６４】
ＰＬＥ１２１は、パワースイッチ１２７を介して高電位電源線ＶＤＤに接続されている。パワースイッチ１２７のオンオフは、ＣＭ１２８が格納するコンフィギュレーションデータによって設定される。各ＰＬＥ１２１にパワースイッチ１２７を設けることで、細粒度なパワーゲーティング（ＦＧ−ＰＧ）機能を可能にしている。ＦＧ−ＰＧ機能により、コンテキストの切り替え後に使用されないＰＬＥ１２１をパワーゲーティングすることができるので、待機電力を削減できる。
【０１６５】
ノーマリーオフ（ＮＯＦＦ）コンピューティングを実現するため、レジスタブロック１２４は、不揮発性レジスタ（ＮＶ−Ｒｅｇ）で構成される。ＰＬＥ１２１内のＮＶ−Ｒｅｇは不揮発性ＯＳメモリを備えるフリップフロップ（ＯＳ−ＦＦ）である。
【０１６６】
レジスタブロック１２４は、ＯＳ−ＦＦ１４０［１］およびＯＳ−ＦＦ１４０［２］を有する。信号ｕｓｅｒ＿ｒｅｓ、信号ｌｏａｄ、および信号ｓｔｏｒｅがＯＳ−ＦＦ１４０［１］およびＯＳ−ＦＦ１４０［２］に入力される。クロック信号ＣＬＫ１はＯＳ−ＦＦ１４０［１］に入力され、クロック信号ＣＬＫ２はＯＳ−ＦＦ１４０［２］に入力される。
【０１６７】
図１４（Ａ）には、一例として、ＯＳ−ＦＦ１４０の回路図を示す。
【０１６８】
ＯＳ−ＦＦ１４０は、ＦＦ１４１およびシャドウレジスタ１４２を有する。ＦＦ１４１は、ノードＣＫ、ノードＲ、ノードＤ、ノードＱ、およびノードＱＢを有する。ノードＣＫにはクロック信号ＣＬＫ１（またはクロック信号ＣＬＫ２）が入力される。ノードＲには信号ｕｓｅｒ＿ｒｅｓが入力される。信号ｕｓｅｒ＿ｒｅｓはリセット信号である。ノードＤはデータ入力ノードであり、ノードＱはデータ出力ノードである。ノードＱとノードＱＢとは論理が相補関係にある。
【０１６９】
シャドウレジスタ１４２は、ＦＦ１４１のバックアップ回路として機能する。シャドウレジスタ１４２は、信号ｓｔｏｒｅに従いノードＱ、ＱＢのデータをそれぞれバックアップし、また、信号ｌｏａｄに従い、バックアップしたデータをノードＱ、ＱＢに書き戻す。
【０１７０】
シャドウレジスタ１４２は、インバータ回路８８、インバータ回路８９、トランジスタＭ７、トランジスタＭＢ７、ＮＶＭ１４３、およびＮＶＭ１４３Ｂを有する。ＮＶＭ１４３およびＮＶＭ１４３Ｂは、ＰＲＳ１３３のＮＶＭ１３７と同じ回路構成である。ＮＶＭ１４３は容量素子Ｃ６、トランジスタＭＯ５、およびトランジスタＭＯ６を有する。ＮＶＭ１４３Ｂは容量素子ＣＢ６、トランジスタＭＯＢ５、およびトランジスタＭＯＢ６を有する。ノードＮ６はトランジスタＭＯ６のゲートであり、ノードＮＢ６はトランジスタＭＯＢ６のゲートである。各ノードはそれぞれ電荷保持ノードである。ノードＮ７は、トランジスタＭ７のゲートである。ノードＮＢ７は、トランジスタＭＢ７のゲートである。
【０１７１】
図１４（Ｂ）を参照して、ＯＳ−ＦＦ１４０の動作方法を説明する。
【０１７２】
データのバックアップ動作について説明する。“Ｈ”の信号ｓｔｏｒｅがＯＳ−ＦＦ１４０に入力されると、シャドウレジスタ１４２はＦＦ１４１のデータをバックアップする。ノードＮ６は、ノードＱのデータが書き込まれることで、“Ｌ”となり、ノードＮＢ６は、ノードＱＢのデータが書き込まれることで、“Ｈ”となる。しかる後、パワーゲーティングが実行され、パワースイッチ１２７をオフにする。ＦＦ１４１のノードＱ、ＱＢのデータは消失するが、電源オフであっても、シャドウレジスタ１４２はバックアップしたデータを保持する。
【０１７３】
データのリカバリ動作について説明する。パワースイッチ１２７をオンにし、ＰＬＥ１２１に電源を供給する。しかる後、“Ｈ”の信号ｌｏａｄがＯＳ−ＦＦ１４０に入力されると、シャドウレジスタ１４２はバックアップしているデータをＦＦ１４１に書き戻す。ノードＮ６は“Ｌ”であるので、ノードＮ７は“Ｌ”が維持され、ノードＮＢ６は“Ｈ”であるので、ノードＮＢ７は“Ｈ”となる。よって、ノードＱは“Ｈ”になり、ノードＱＢは“Ｌ”になる。つまり、ＯＳ−ＦＦ１４０はバックアップ動作時の状態に復帰する。
【０１７４】
以上のような構成とすることで、上記説明したＯＳ−ＦＰＧＡを実現することができる。
【０１７５】
（実施の形態９）
本実施の形態では、アナログ演算回路１１に適用される積和演算回路について説明する。図１５に積和演算回路の構成例を示す。
【０１７６】
図１５に示す積和演算回路３００は、アナログメモリ３０１、参照アナログメモリ３０２、ドライバ３０５、３０６、読み出し回路３０７、電流回路３１１を有する。
【０１７７】
アナログメモリ３０１は、複数のメモリセル３２０、複数の配線ＲＷ、ＷＷ、ＷＤ、ＶＲ、ＢＬを有する。図１５の例では、アナログメモリ３０１には、ｙ行ｘ列（ｙ、ｘは１以上の整数）に配列されたメモリセル３２０が設けられている。各メモリセル３２０は対応する行の配線ＲＷ、ＷＷに電気的に接続され、対応する列の配線ＷＤ、ＶＲ、ＢＬに電気的に接続されている。
【０１７８】
参照アナログメモリ３０２は、ｙ行１列に配列されたメモリセル３２２、配線ＷＤＲＥＦ、ＢＬＲＥＦ、ＶＲＲＥＦを有する。アナログメモリ３０１と参照アナログメモリ３０２は配線ＲＷ、ＷＷを共有する。各メモリセル３２２は対応する行の配線ＲＷ、ＷＷ、並びに配線ＷＤＲＥＦ、ＶＲＲＥＦ、ＢＬＲＥＦに電気的に接続されている。
【０１７９】
本明細書では、複数のメモリセル３２０のうち、特定のメモリセル３２０を表す場合、メモリセル３２０［ｉ，ｊ］などと表記する。メモリセル３２０と表記する場合は、任意のメモリセル３２０を指す。他の要素についても同様である。
【０１８０】
ドライバ３０５は配線ＲＷ、ＷＷを駆動する。ドライバ３０６は配線ＷＤを駆動する。読み出し回路３０７は配線ＢＬに書き込まれたデータを読み出す。電流回路３１１は参照電流を生成し、配線ＢＬ、ＢＬＲＥＦに供給する。
【０１８１】
図１６に、アナログメモリ３０１、参照アナログメモリ３０２の回路構成例を示す。図１６には、代表的に４個のメモリセル３２０［ｉ，ｊ］乃至メモリセル３２０［ｉ＋１，ｊ＋１］、２個のメモリセル３２２［ｉ］、３２２［ｉ＋１］を示す。
【０１８２】
メモリセル３２０は、トランジスタＴ２０、Ｔ２１、容量素子Ｃ２０、ノードＮ２０を有する。ノードＮ２０はトランジスタＴ２０のゲートに相当する。メモリセル３２２は、トランジスタＴ２２、Ｔ２３、容量素子Ｃ２２、ノードＮ２２を有する。ノードＮ２２はトランジスタＴ２２のゲートに相当する。トランジスタＴ２０、Ｔ２２はＯＳトランジスタであることが好ましい。ＯＳトランジスタは極めてオフ電流が小さいため、メモリセル３２０、３２２が非選択状態である期間、ノードＮ２０、Ｎ２２の電圧の変動を抑えることができる。
【０１８３】
図１７を参照して、電流回路３１１の回路構成例を説明する。電流回路３１１は、電流回路３２５、ｘ個の電流ソース回路３２６、ｘ個の電流シンク回路３２７、配線ＯＳＭ、ＯＲＭ、ＯＳＰ、ＯＲＰを有する。
【０１８４】
電流回路３２５はカレントミラー回路で構成されており、１個のダイオード接続されたトランジスタＴ２５、およびｘ個のトランジスタＴ２６を有する。電流回路３２５は配線ＢＬＲＥＦに供給される参照電流ＩＲＥＦ、配線ＢＬに供給する参照電流ＩＢＲＦを生成する。
【０１８５】
電流ソース回路３２６は配線ＯＳＭ、ＯＲＭ、ＢＬに電気的に接続され、トランジスタＴ３１、Ｔ３２、Ｔ３３、容量素子Ｃ３１を有する。電流シンク回路３２７は配線ＢＬ、ＯＲＰ、ＯＳＰに電気的に接続され、トランジスタＴ３５、Ｔ３６、Ｔ３７、容量素子Ｃ３５を有する。
【０１８６】
電流ソース回路３２６、電流シンク回路３２７によって、電流Ｉｏｆｆｓｅｔが設定される。電流ソース回路３２６、電流シンク回路３２７はプログラム可能な電流回路である。電流ソース回路３２６はトランジスタＴ３１に書き込まれた電圧に応じた電流ＩＣＭを生成する。電流シンク回路３２７はトランジスタＴ３５に書き込まれた電圧に応じた電流ＩＣＰを生成する。よって、電流ソース回路３２６、電流シンク回路３２７に書き込まれた電圧を長時間保持するため、トランジスタＴ３２、Ｔ３３、Ｔ３６、Ｔ３７はＯＳトランジスタであることが好ましい。
【０１８７】
メモリセル３２０［ｉ、ｊ］は、第１のアナログデータと第２のアナログデータとを加算し、その結果を第３のアナログデータとして出力する。第１、第２のアナログデータは電圧の形式で、メモリセル３２０［ｉ、ｊ］に入力される。メモリセル３２０［ｉ、ｊ］は第３のアナログデータを電流Ｉ［ｉ、ｊ］として、ビット線ＢＬ［ｊ］に出力する。
【０１８８】
読み出し回路３０７は、ビット線ＢＬを流れる電流を電圧に変換し、出力する。読み出し回路３０７で読み出された電圧は、例えば、積和演算回路３００自身に戻され、第１または第２アナログデータとして用いられる。又は、他の積和演算回路３００の第１または第２アナログ電圧として用いられる。
【０１８９】
配線ＲＷ［ｉ］の電圧がＶｗ［ｉ］であり、配線ＲＷ［ｉ＋１］の電圧がＶｗ［ｉ＋１］である場合に、トランジスタＴ２０［ｉ、ｊ］を飽和領域で動作させると、トランジスタＴ２０［ｉ、ｊ］のドレイン電流が電流Ｉ［ｉ、ｊ］に相当する。このときの電流Ｉ［ｉ、ｊ］は以下の式１で表される。ｋは係数、ＶｔｈはトランジスタＴ２０［ｉ、ｊ］の閾値電圧である。
【０１９０】
Ｉ［ｉ、ｊ］＝ｋ（Ｖｗ［ｉ］−Ｖｔｈ＋ＶＰＲ−Ｖｘ［ｉ、ｊ］）２      （式１）
【０１９１】
トランジスタＴ２２［ｉ］のドレイン電流がメモリセル３２２［ｉ］に流れる電流ＩＲ［ｉ］に相当するので、電流ＩＲ［ｉ］は以下の式２で表される。
【０１９２】
ＩＲ［ｉ］＝ｋ（Ｖｗ［ｉ］−Ｖｔｈ＋ＶＰＲ）２      （式２）
【０１９３】
電流Ｉ［ｊ］をｙ個のメモリセル３２０に流れる電流Ｉ［ｉ、ｊ］の総和（＝ΣｉＩ［ｉ、ｊ］）であり、電流ＩＲＥＦをｙ個のメモリセル３２２を流れる電流ＩＲ［ｉ］の総和（ΣｉＩＲ［ｉ］）であるとすると、電流ＩＲＥＦと電流Ｉ［ｊ］との差分の電流ΔＩ［ｊ］は以下の式３で表される。
【０１９４】
ΔＩ［ｊ］＝ＩＲＥＦ−Ｉ［ｊ］＝ΣｉＩＲＥＦ［ｉ］−ΣｉＩ［ｉ、ｊ］      （式３）
【０１９５】
式１、式２、式３から、電流ΔＩ［ｊ］は以下の式４のように導き出される。
【０１９６】
ΔＩ［ｊ］
＝Σｉ｛ｋ（Ｖｗ［ｉ］−Ｖｔｈ＋ＶＰＲ）２−ｋ（Ｖｗ［ｉ］−Ｖｔｈ＋ＶＰＲ−Ｖｘ［ｉ、ｊ］）２｝
＝２ｋΣｉ（Ｖｗ［ｉ］・Ｖｘ［ｉ、ｊ］）−２ｋΣｉ（Ｖｔｈ−ＶＰＲ）・Ｖｘ［ｉ、ｊ］−ｋΣｉＶｘ［ｉ、ｊ］２      （式４）
【０１９７】
式４において、２ｋΣｉ（Ｖｗ［ｉ］・Ｖｘ［ｉ、ｊ］）で示される項は、Ｖｘ［ｉ、ｊ］とＶｗ［ｉ］の積と、Ｖｘ［ｉ＋１、ｊ］と［ｉ＋１］の積との和に相当する。
【０１９８】
オフセット電流（Ｉｏｆｆｓｅｔ［ｊ］）を、電圧Ｖｗ［ｉ］、Ｖｗ［ｉ＋１］を０としたときの電流ΔＩ［ｊ］とすると、オフセット電流Ｉｏｆｆｓｅｔ［ｊ］は式５で表される。
【０１９９】
Ｉｏｆｆｓｅｔ［ｊ］＝−２ｋΣｉ（Ｖｔｈ−ＶＰＲ）・Ｖｘ［ｉ、ｊ］−ｋΣｉＶｘ［ｉ、ｊ］２      （式５）
【０２００】
したがって、式３乃至式５から、第１のアナログデータと第２のアナログデータの積和値に相当する２ｋΣｉ（Ｖｗ［ｉ］・Ｖｘ［ｉ、ｊ］）は、以下の式６で表されることが分かる。
【０２０１】
２ｋΣｉ（Ｖｗ［ｉ］・Ｖｘ［ｉ、ｊ］）＝ＩＲＥＦ−Ｉ［ｊ］−Ｉｏｆｆｓｅｔ［ｊ］      （式６）
【０２０２】
配線ＲＷ［ｉ］の電圧をＶｗ［ｉ］、配線ＲＷ［ｉ＋１］の電圧をＶｗ［ｉ＋１］としたときに配線ＢＬ［ｊ］から流れ出る電流Ｉｏｕｔ［ｊ］は、ＩＲＥＦ−Ｉ［ｊ］−Ｉｏｆｆｓｅｔ［ｊ］で表される。式６から、電流Ｉｏｕｔ［ｊ］は、２ｋΣｉ（Ｖｗ［ｉ］・Ｖｘ［ｉ、ｊ］）であり、Ｖｘ［ｉ、ｊ］とＶｗ［ｉ］の積と、Ｖｘ［ｉ＋１、ｊ］とＶｗ［ｉ＋１］の積との和に相当することが分かる。
【０２０３】
なお、トランジスタＴ２０、Ｔ２２は飽和領域で動作させることが望ましいが、トランジスタＴ２０、Ｔ２２の動作領域が理想的な飽和領域と異なっていたとしても、電圧Ｖｘ［ｉ、ｊ］及び電圧Ｖｗ［ｉ］の積と、電圧Ｖｘ［ｉ＋１、ｊ］及び電圧Ｖｗ［ｉ＋１］の積との和に相当する電流を、所望の範囲内の精度で問題なく得ることができる場合は、トランジスタＴ２０、Ｔ２２は飽和領域で動作しているものとみなせる。
【０２０４】
上記構成により、積和演算を小さな回路規模で行うことができる。また、上記構成により、積和演算を高速で行うことができる。また、上記構成により、低消費電力で積和演算を行うことができる。以下、図１８を参照して、積和演算回路３００の動作例を説明する。図１８においてｔ０１、ｔ０２等は時刻を表す。
【０２０５】
積和演算回路３００には、電圧ＶＳＳＡＡ、ＶＤＤＡが入力される。電圧ＶＳＳＡＡは低レベル電源電圧であり、電圧ＶＤＤＡは高レベル電源電圧である。電流回路３２５、電流ソース回路３２６の電源線には電圧ＶＤＤＡが入力され、電流シンク回路３２７の電源線には、電圧ＶＳＳＡＡが入力される。配線ＶＲ、ＶＲＲＥＦにはＶＳＳＡが入力される。
【０２０６】
また、トランジスタＴ２０、Ｔ３５、Ｔ３１、Ｔ２６、Ｔ２５は飽和領域で動作するものとする。
【０２０７】
ｔ０１−ｔ０４では、メモリセル３２０、３２２に第１のアナログデータを書き込む動作が行われる。
【０２０８】
ｔ０１−ｔ０２において、配線ＷＤＲＥＦには、参照電圧として電圧ＶＰＲ１が入力される。配線ＷＤ［ｊ］には電圧ＶＰＲ１−Ｖｘ［ｉ、ｊ］が入力され、配線ＷＤ［ｊ＋１］には電圧ＶＰＲ１−Ｖｘ［ｉ、ｊ＋１］が入力される。電圧Ｖｘが第１のアナログデータに相当する。
配線ＲＷ［ｉ］及び配線ＲＷ［ｉ＋１］には、基準電圧として電圧Ｖｒｆが入力される。例えば、電圧Ｖｒｆは、電圧ＶＳＳＡと電圧ＶＤＤＡの間の電圧、例えば（ＶＤＤＡ＋ＶＳＳＡ）／２である。
【０２０９】
配線ＷＷ［ｉ］が選択され、メモリセル３２０［ｉ、ｊ］、３２０［ｉ、ｊ＋１］のトランジスタＴ２１［ｉ、ｊ］、Ｔ２１［ｉ、ｊ＋１］、トランジスタＴ２３［ｉ］はオン状態である。ノードＮ２０［ｉ、ｊ］、Ｎ２０［ｉ、ｊ＋１］には、配線ＲＤ［ｉ、ｊ］、ＲＤ［ｉ、ｊ＋１］の電圧が入力され、メモリセル３２２のノードＮ２２［ｉ］には、配線ＷＤＲＥＦの電圧ＶＰＲ１が入力される。
【０２１０】
ｔ０３−ｔ０４で、メモリセル３２０［ｉ＋１、ｊ］、３２０［ｉ＋１、ｊ＋１］への第１のアナログデータの書き込みが行われる。ノードＮ２０［ｉ、ｊ］、Ｎ２０［ｉ、ｊ＋１］
ノードＮ２２［ｉ＋１］の電圧は、ＶＰＲ１−Ｖｘ［ｉ＋１、ｊ］、ＶＰＲ１−Ｖｘ［ｉ＋１、ｊ＋１］、ＶＰＲ１になる。
【０２１１】
ｔ０５−ｔ１０では、電流回路３１１に配線ＢＬのオフセット電流を設定する動作が行われる。具体的には、電流ソース回路３２６、電流シンク回路３２７に設定データを書き込む設定動作が行われる。
【０２１２】
ｔ０５−ｔ０６では配線ＯＲＭ、ＯＲＰが選択される。電流ソース回路３２６において、トランジスタＴ３３がオンになり、トランジスタＴ３１のゲートに電圧ＶＤＤＡが入力される。よって、電流ソース回路３２６はリセットされる。電流シンク回路３２７において、トランジスタＴ３７がオンになり、トランジスタＴ３５のゲートに電圧ＶＳＳＡが入力される。これにより、電流シンク回路３２７はリセットされる。
【０２１３】
ｔ０７−ｔ０８では配線ＯＳＰが選択される。配線ＲＷには電圧Ｖｒｆが入力される。電流シンク回路３２７のトランジスタＴ３６がオンになる。電流シンク回路３２７［ｊ］及び電流シンク回路３２７［ｊ＋１］においてトランジスタＴ３６がオンになる。
【０２１４】
電流Ｉ［ｊ］が電流ＩＲＥＦよりも小さいときは、すなわち電流ΔＩ［ｊ］＝ＩＲＥＦ−Ｉ［ｊ］が正であるときは、トランジスタＴ２０［ｉ、ｊ］が引き込むことのできる電流と、トランジスタＴ２０［ｉ＋１、ｊ］が引き込むことのできる電流との和が、トランジスタＴ２６［ｊ］のドレイン電流（ＩＲＦ［ｊ］）より小さい場合である。
【０２１５】
電流ΔＩ［ｊ］が正になる場合、トランジスタＴ３６［ｊ］がオンになると、トランジスタＴ３６［ｊ］のドレイン電流（ＩＣＰ［ｊ］）の一部がトランジスタＴ３５［ｊ］のゲートに流れ、トランジスタＴ３５［ｊ］のゲート電圧が上昇し始める。トランジスタＴ３５［ｊ］のドレイン電流が電流ΔＩ［ｊ］とほぼ等しくなると、トランジスタＴ３５のゲート電圧は所定の値に収束する。このときのトランジスタＴ３５［ｊ］のゲート電圧は、電流ＩＣＰ［ｊ］を電流ΔＩ［ｊ］と等しくするような電圧である。つまり、ビット線ＢＬ［ｊ］のオフセット電流と等しい電流ＩＣＰ［ｊ］を生成するための電圧が、電流シンク回路３２７［ｊ］に設定される。他の電流シンク回路３２７にも同様に電圧が書き込まれる。
【０２１６】
ｔ０９−ｔ１０で、配線ＲＷには電圧Ｖｒｆが入力され、配線ＯＳＭが選択される。電流ソース回路３２６のトランジスタＴ３２はオンになる。
【０２１７】
電流Ｉ［ｊ］が電流ＩＲＥＦよりも大きいときは、すなわち電流ΔＩ［ｊ］が負のときは、トランジスタＴ２０［ｉ、ｊ］が引き込むことのできる電流と、トランジスタＴ２０［ｉ＋１、ｊ］が引き込むことのできる電流との和が、電流ＩＲＥＦより大きい場合である。よって、電流ΔＩ［ｊ］が負の場合、電流ソース回路３２６［ｊ］においてトランジスタＴ３２［ｊ］がオンになると、トランジスタＴ３１［ｊ］のゲートから配線ＢＬ［ｊ］へ電流が流れ、トランジスタＴ３１［ｊ］のゲート電圧が下降し始める。トランジスタＴ３１［ｊ］のドレイン電流（ＩＣＭ［ｊ］）が電流ΔＩ［ｊ］とほぼ等しくなると、トランジスタＴ３１［ｊ］のゲート電圧は所定の値に収束する。
【０２１８】
このときのトランジスタＴ３５［ｊ］のゲート電圧は、電流ＩＣＭ［ｊ］を電流ΔＩ［ｊ］と等しくするような電圧である。つまり、ビット線ＢＬ［ｊ］のオフセット電流と等しい電流ＩＣＭ［ｊ］を生成するための電圧が、電流ソース回路３２６［ｊ］に設定される。他の電流ソース回路３２６にも同様に電圧が設定される。
【０２１９】
なお、ｔ０９−ｔ１０において、電流Ｉ［ｊ］が電流ＩＲＥＦよりも小さい場合、すなわち電流ΔＩ［ｊ］が正の場合、電流シンク回路３２７［ｊ］は電流ＩＣＰ［ｊ］を流し得る回路構成に既に設定されているため、トランジスタＴ３１［ｊ］のゲート電圧はほぼ電圧ＶＤＤＡのままとなる。
【０２２０】
ｔ１１−ｔ１６において、第１のアナログデータと第２のアナログデータとの積和演算が行われる。
【０２２１】
ｔ１１−ｔ１２で、配線ＲＷ［ｉ］に電圧Ｖｗ［ｉ］電圧が入力され、配線ＲＷ［ｉ＋１］の電圧はＶｒｆが維持される。具体的には、配線ＲＷ［ｉ］の電圧は、電圧Ｖｒｆよりも電圧Ｖｗ［ｉ］だけ高い電圧となるが、説明を簡素化するため、配線ＲＷ［ｉ］の電圧ａｈ、電圧Ｖｗ［ｉ］であると仮定する。電圧Ｖｗが第２のアナログデータに対応する電圧である。また、配線ＲＷの電圧の変化量と、ノードＮ２０の電圧の変化量が等しい仮定する。
【０２２２】
ノードＮ２０［ｉ、ｊ］の電圧はＶＰＲ−Ｖｘ［ｉ、ｊ］＋Ｖｗ［ｉ］となり、ノードＮ２０［ｉ、ｊ＋１］の電圧はＶＰＲ−Ｖｘ［ｉ、ｊ＋１］＋Ｖｗ［ｉ］となる。
【０２２３】
上記の式６から、メモリセル３２０［ｉ、ｊ］での第１のアナログデータと第２のアナログデータの積和演算の結果は、配線ＢＬ［ｊ］から流れ出る電流Ｉｏｕｔ［ｊ］に反映されることが分かる。ｔ１２で配線ＲＷ［ｉ］にはＶｆｒが与えられる。
【０２２４】
ｔ１３−ｔ１４で、配線ＲＷ［ｉ＋１］に電圧Ｖｗ［ｉ＋１］が入力される。メモリセル３２０［ｉ＋１、ｊ］で第１のアナログデータと第２のアナログデータの積和演算が行われる。ｔ１４で配線ＲＷ［ｉ＋１］にはＶｆｒが与えられる。
【０２２５】
ｔ１５−ｔ１６で、配線ＲＷ［ｉ］に電圧Ｖｗ［ｉ］が入力され、配線ＲＷ［ｉ＋１］に電圧Ｖｗ［ｉ＋１］が入力される。メモリセル３２０［ｉ＋１、ｊ＋１］で第１のアナログデータと第２のアナログデータの積和演算が行われる。ｔ１６で配線ＲＷ［ｉ］、ＲＷ［ｉ＋１］にはＶｆｒが与えられる。
【０２２６】
本明細書において、特に断りがない場合、オン電流とは、トランジスタがオン状態にあるときのドレイン電流をいう。オン状態（オンと略す場合もある）とは、特に断りがない場合、ｎチャネル型トランジスタでは、ゲートとソースの間の電圧（ＶＧ）がしきい値電圧（Ｖｔｈ）以上の状態、ｐチャネル型トランジスタでは、ＶＧがＶｔｈ以下の状態をいう。例えば、ｎチャネル型のトランジスタのオン電流とは、ＶＧがＶｔｈ以上のときのドレイン電流を言う。また、トランジスタのオン電流は、ドレインとソースの間の電圧（ＶＤ）に依存する場合がある。
【０２２７】
本明細書において、特に断りがない場合、オフ電流とは、トランジスタがオフ状態にあるときのドレイン電流をいう。オフ状態（オフと略す場合もある）とは、特に断りがない場合、ｎチャネル型トランジスタでは、ＶＧがＶｔｈよりも低い状態、ｐチャネル型トランジスタでは、ＶＧがＶｔｈよりも高い状態をいう。例えば、ｎチャネル型のトランジスタのオフ電流とは、ＶＧがＶｔｈよりも低いときのドレイン電流を言う。トランジスタのオフ電流は、ＶＧに依存する場合がある。従って、トランジスタのオフ電流が１０−２１Ａ未満である、とは、トランジスタのオフ電流が１０−２１Ａ未満となるＶＧの値が存在することを言う場合がある。
【０２２８】
また、トランジスタのオフ電流は、ＶＤに依存する場合がある。本明細書において、オフ電流は、特に記載がない場合、ＶＤの絶対値が０．１Ｖ、０．８Ｖ、１Ｖ、１．２Ｖ、１．８Ｖ、２．５Ｖ、３Ｖ、３．３Ｖ、１０Ｖ、１２Ｖ、１６Ｖ、または２０Ｖにおけるオフ電流を表す場合がある。または、当該トランジスタが含まれる半導体装置等において使用されるＶＤにおけるオフ電流を表す場合がある。
【０２２９】
本明細書等において、トランジスタの接続関係を説明する際、ソースとドレインとの一方を、「ソースまたはドレインの一方」（又は第１電極、又は第１端子）と表記し、ソースとドレインとの他方を「ソースまたはドレインの他方」（又は第２電極、又は第２端子）と表記している。これは、トランジスタのソースとドレインは、トランジスタの構造又は動作条件等によって変わるためである。なおトランジスタのソースとドレインの呼称については、ソース（ドレイン）端子や、ソース（ドレイン）電極等、状況に応じて適切に言い換えることができる。
【０２３０】
本明細書等において、ＸとＹとが接続されている、と明示的に記載されている場合は、ＸとＹとが電気的に接続されている場合と、ＸとＹとが直接接続されている場合とが、本明細書等に開示されているものとする。
【０２３１】
ここで、Ｘ、Ｙは、対象物（例えば、装置、素子、回路、配線、電極、端子、導電膜、層、など）であるとする。
【０２３２】
ＸとＹとが直接的に接続されている場合の一例としては、ＸとＹとの電気的な接続を可能とする素子（例えば、スイッチ、トランジスタ、容量素子、インダクタ、抵抗素子、ダイオード、表示素子、発光素子、負荷など）を介さずに、ＸとＹとが、接続されている場合である。
【０２３３】
ＸとＹとが電気的に接続されている場合の一例としては、ＸとＹとの電気的な接続を可能とする素子（例えば、スイッチ、トランジスタ、容量素子、インダクタ、抵抗素子、ダイオード、表示素子、発光素子、負荷など）が、ＸとＹとの間に１個以上接続されることが可能である。なお、スイッチは、導通状態（オン状態）、または、非導通状態（オフ状態）になり、電流を流すか流さないかを制御する機能を有している。または、スイッチは、電流を流す経路を選択して切り替える機能を有している。なお、ＸとＹとが電気的に接続されている場合は、ＸとＹとが直接的に接続されている場合を含むものとする。
【符号の説明】
【０２３４】
Ｃ１    容量素子、Ｃ６    容量素子、Ｃ２０    容量素子、Ｃ２２    容量素子、Ｃ３１    容量素子、Ｃ３５    容量素子、Ｃ４５    容量素子、Ｃ６１    容量素子、Ｃ６２    容量素子、ＣＢ６    容量素子、ＣＬＫ１    クロック信号、ＣＬＫ２    クロック信号、Ｍ１    トランジスタ、Ｍ２    トランジスタ、Ｍ７    トランジスタ、ＭＢ７    トランジスタ、ＭＮ６１    トランジスタ、ＭＮ６２    トランジスタ、ＭＯ１    トランジスタ、ＭＯ２    トランジスタ、ＭＯ５    トランジスタ、ＭＯ６    トランジスタ、ＭＯ４０    ＯＳトランジスタ、ＭＯ６１    ＯＳトランジスタ、ＭＯ６２    ＯＳトランジスタ、ＭＯＢ５    トランジスタ、ＭＯＢ６    トランジスタ、ＭＰ６１    トランジスタ、ＭＰ６２    トランジスタ、ＭＰ６３    トランジスタ、Ｎ１    ノード、Ｎ２    ノード、Ｎ６    ノード、Ｎ７    ノード、Ｎ２０    ノード、Ｎ２２    ノード、ＮＢ６    ノード、ＮＢ７    ノード、Ｔ２０    トランジスタ、Ｔ２１    トランジスタ、Ｔ２２    トランジスタ、Ｔ２３    トランジスタ、Ｔ２５    トランジスタ、Ｔ２６    トランジスタ、Ｔ３１    トランジスタ、Ｔ３２    トランジスタ、Ｔ３３    トランジスタ、Ｔ３５    トランジスタ、Ｔ３６    トランジスタ、Ｔ３７    トランジスタ、１０    演算部、１１    アナログ演算回路、１２    ＤＯＳＲＡＭ、１３    ＮＯＳＲＡＭ、１４    ＦＰＧＡ、２０    制御部、２１    ＣＰＵ、２２    ＧＰＵ、２３    ＰＬＬ、２５    ＰＲＯＭ、２６    メモリコントローラ、２７    電源回路、２８    ＰＭＵ、３０    入出力部、３１    外部記憶制御回路、３２    音声コーデック、３３    映像コーデック、３４    汎用入出力モジュール、３５    通信モジュール、４１    ＡＩシステム、４１＿ｎ    ＡＩシステム、４１＿１    ＡＩシステム、４１Ａ    ＡＩシステム、４１Ｂ    ＡＩシステム、４２    ＡＩシステム、４３    ＡＩシステム、４４    ＡＩシステム、８１    容量素子、８８    インバータ回路、８９    インバータ回路、９８    バス線、９９    ネットワーク、１００    ＯＳ−ＦＰＧＡ、１０１Ａ    回路ブロック、１０１Ｄ    回路ブロック、１１０    コントローラ、１１１    プログラマブルエリア、１１２    ワードドライバ、１１３    データドライバ、１１７    ＩＯＢ、１１８    コア、１２０    ＬＡＢ、１２１    ＰＬＥ、１２３    ＬＵＴブロック、１２４    レジスタブロック、１２５    セレクタ、１２６    ＣＭ、１２７    パワースイッチ、１２８    ＣＭ、１３０    ＳＡＢ、１３１    ＳＢ、１３３    ＰＲＳ、１３５    ＣＭ、１３７    ＮＶＭ、１４０    ＯＳ−ＦＦ、１４１    ＦＦ、１４２    シャドウレジスタ、１４３    ＮＶＭ、１４３Ｂ    ＮＶＭ、１６１    メモリセル、３００    積和演算回路、３０１    アナログメモリ、３０２    参照アナログメモリ、３０５    ドライバ、３０６    ドライバ、３０７    回路、３１１    電流回路、３２０    メモリセル、３２２    メモリセル、３２５    電流回路、３２６    電流ソース回路、３２７    電流シンク回路、１４００    ＤＯＳＲＡＭ、１４０５    コントローラ、１４１０    行回路、１４１１    デコーダ、１４１２    ワード線ドライバ、１４１３    列セレクタ、１４１４    センスアンプドライバ、１４１５    列回路、１４１６    グ���ーバルセンスアンプアレイ、１４１７    入出力回路、１４２０    ＭＣ−ＳＡアレイ、１４２２    メモリセルアレイ、１４２３    センスアンプアレイ、１４２５    ローカルメモリセルアレイ、１４２６    ローカルセンスアンプアレイ、１４４４    スイッチアレイ、１４４５    メモリセル、１４４６    センスアンプ、１４４７    グローバルセンスアンプ、１６００    ＮＯＳＲＡＭ、１６１０    メモリセルアレイ、１６１１    メモリセル、１６１２    メモリセル、１６１３    メモリセル、１６１４    メモリセル、１６４０    コントローラ、１６５０    行ドライバ、１６５１    行デコーダ、１６５２    ワード線ドライバ、１６６０    列ドライバ、１６６１    列デコーダ、１６６２    ドライバ、１６６３    ＤＡＣ、１６７０    出力ドライバ、１６７１    セレクタ、１６７２    ＡＤＣ、１６７３    出力バッファ、２０００    ＣＤＭＡ、７０００    ＡＩシステムＩＣ、７００１    リード、７００２    プリント基板、７００３    回路部、７００４    実装基板、７０３１    Ｓｉトランジスタ層、７０３２    配線層、７０３３    ＯＳトランジスタ層
【図１】
2018129046.tif 000003
【図２】
2018129046.tif 000004
【図３】
2018129046.tif 000005
【図４】
2018129046.tif 000006
【図５】
2018129046.tif 000007
【図６】
2018129046.tif 000008
【図７】
2018129046.tif 000009
【図８】
2018129046.tif 000010
【図９】
2018129046.tif 000011
【図１０】
2018129046.tif 000012
【図１１】
2018129046.tif 000013
【図１２】
2018129046.tif 000014
【図１３】
2018129046.tif 000015
【図１４】
2018129046.tif 000016
【図１５】
2018129046.tif 000017
【図１６】
2018129046.tif 000018
【図１７】
2018129046.tif 000019
【図１８】
2018129046.tif 000020
【図１９】
2018129046.tif 000021