(57)【要約】ニューラルネットワークを利用した画像認識を効率的に行える半導体装置を提供する。半導体装置は、シフトレジスタ群と、Ｄ／Ａコンバータと、積和演算回路と、を有する。積和演算回路は、アナログメモリを有し、フィルタのパラメータを保存する。シフトレジスタ群は、画像データを取り込み、画像データをシフトさせながら画像データの一部をＤ／Ａコンバータに出力する。Ｄ／Ａコンバータは、入力された画像データの一部をアナログデータに変換し、積和演算回路に出力する。
2018234919.tif 000002
【特許請求の範囲】
【請求項１】
シフトレジスタ群と、
Ｄ／Ａコンバータと、
積和演算回路と、を有し、
前記シフトレジスタ群は、画像データを取り込み、
前記シフトレジスタ群は、前記画像データをシフトする動作、および、前記画像データの一部を前記Ｄ／Ａコンバータへ出力する動作を行い、
前記Ｄ／Ａコンバータは、前記画像データの一部をアナログデータに変換して、前記積和演算回路へ出力することを特徴とする、半導体装置。
【請求項２】
請求項１において、
前記積和演算回路は、アナログメモリを有し、
前記アナログメモリには、パラメータが保存されており、
前記積和演算回路は、前記画像データの一部と、前記パラメータとを、積和演算した結果を出力することを特徴とする、半導体装置。
【請求項３】
請求項２において、
前記アナログメモリは、トランジスタを有し、
前記トランジスタは、チャネル形成領域に金属酸化物を含む、半導体装置。
【請求項４】
Ｄ／Ａコンバータと、
シフトレジスタ群と、
積和演算回路と、を有し、
前記Ｄ／Ａコンバータには、画像データが入力され、
前記Ｄ／Ａコンバータは、前記画像データをアナログデータに変換した第１のデータを、前記シフトレジスタ群へ出力し、
前記シフトレジスタ群は、前記第１のデータをシフトする動作、および、前記第１のデータの一部を第２のデータとして、前記積和演算回路へ出力する動作を行い、
前記積和演算回路は、アナログメモリを有し、
前記アナログメモリには、パラメータが保存されており、
前記積和演算回路は、前記第２のデータと、前記パラメータとを、積和演算した結果を出力することを特徴とする、半導体装置。
【請求項５】
請求項４において、
前記アナログメモリは、第１のトランジスタを有し、
前記第１のトランジスタは、チャネル形成領域に金属酸化物を含む、半導体装置。
【請求項６】
請求項４において、
前記シフトレジスタ群は、第２のトランジスタを有し、
前記第２のトランジスタは、チャネル形成領域に金属酸化物を含む、半導体装置。
【請求項７】
シフトレジスタ群と、
Ｄ／Ａコンバータと、
積和演算回路と、
プーリング回路と、を有し、
前記シフトレジスタ群は、画像データを取り込み、
前記シフトレジスタ群は、前記画像データをシフトする動作、および、前記画像データの一部を前記Ｄ／Ａコンバータへ出力する動作を行い、
前記Ｄ／Ａコンバータは、前記画像データの一部をアナログデータに変換した第１のデータを、前記積和演算回路へ出力する動作を行い、
前記積和演算回路には、パラメータが保存されており、
前記積和演算回路は、前記第１のデータと、前記パラメータとを、積和演算した第２のデータを、前記プーリング回路へ出力することを特徴とする、半導体装置。
【請求項８】
請求項７において、
前記積和演算回路は、アナログメモリを有し、
前記パラメータは、前記アナログメモリに保存されていることを特徴とする、半導体装置。
【請求項９】
請求項８において、
前記アナログメモリは、トランジスタを有し、
前記トランジスタは、チャネル形成領域に金属酸化物を含む、半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】本発明の一形態は、ニューラルネットワークを有する半導体装置に関する。特に、ニューラルネットワークを利用した画像認識が可能な半導体装置に関する。【０００２】なお、本明細書等において半導体装置とは、半導体特性を利用することで機能しうる装置全般を指す。表示装置、発光装置、記憶装置、電気光学装置、蓄電装置、半導体回路および電子機器は、半導体装置を有する場合がある。【０００３】なお、本発明の一形態は、上記の技術分野に限定されない。本明細書等で開示する発明の技術分野は、物、方法、または、製造方法に関するものである。または、本発明の一形態は、プロセス、マシン、マニュファクチャ、または、組成物（コンポジション・オブ・マター）に関するものである。
【背景技術】
【０００４】ニューラルネットワークは、神経回路網をモデルにした情報処理システムである。ニューラルネットワークを利用することで、従来のノイマン型コンピュータよりも高性能なコンピュータが実現できると期待されており、近年、ニューラルネットワークを構築する種々の研究が進められている。【０００５】ニューラルネットワークは、ニューロンとシナプスで構成される神経回路網を模した回路構成を有している。それぞれのニューロンには複数のデータが入力され、それぞれのデータは結合の強度を表す「重み係数」と掛け合わされ、その結果が足しあわされる。このようにして得られた積和演算の結果が閾値を超えたとき、ニューロンはハイレベルの信号を出力し、この現象は「発火」と呼ばれている。【０００６】ニューラルネットワークは、例えば、画像認識の分野において利用される。【０００７】画像認識の分野では、画像データにフィルタのパラメータをスライドさせながら掛け合わせ、画像データの特徴を検出する畳み込み演算が行われている。畳み込み演算は複数回行われ、最初の方の畳み込み演算では画像のエッジなどを検出し、後の方の畳み込み演算では画像の形やパターンなど、複雑な特徴を検出する。【０００８】また、画像認識の分野において、画像データを小さな領域に区切り、その中から、例えば、最大値を取り出すプーリング処理が行われている。プーリング処理は、物体の位置が変化しても同一の物体であるとみなすことができ、畳み込み演算で検出された特徴などの位置ずれを許容することができる。プーリング処理は畳み込み演算の後で行われることが多く、例えば、畳み込み演算とプーリング処理が組み合わされて複数回行われる。【０００９】ニューラルネットワークが画像認識の分野において利用される場合、画像認識の分野における画像データとフィルタのパラメータは、それぞれ、ニューラルネットワークにおける、ニューロンに入力される複数のデータと重み係数に相当する。すなわち、画像認識の分野における畳み込み演算は積和演算であり、積和演算回路による演算、画像データの積和演算回路への取り込み、積和演算後のプーリング処理等において、スピードおよび効率的な処理が求められている。【００１０】特許文献１には、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などのプロセッサを用いて、ニューラルネットワークによる機械学習を行い、手書き文字の認識を行う例が開示されている。【００１１】また、近年、チャネル形成領域に酸化物半導体または金属酸化物を用いたトランジスタ（Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒトランジスタ、以下、ＯＳトランジスタという）が注目されている。ＯＳトランジスタはオフ電流が極めて小さい。そのことを利用して、ＯＳトランジスタを用いたアプリケーションが提案されている。例えば、特許文献２では、ニューラルネットワークの学習に、ＯＳトランジスタを用いた例が開示されている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００５−１８２７８５号公報
【特許文献２】特開２０１６−２１９０１１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】ニューラルネットワークを利用した演算において、主な演算は積和演算であり、ニューラルネットワークを利用した画像認識は、積和演算の繰り返しによる膨大な計算量が必要である。そのため、ＣＰＵやＧＰＵなどのデジタル回路を用いてニューラルネットワークを構築する場合、必要となるトランジスタ数が膨大となり、消費電力が高く非効率であった。【００１４】また、ニューラルネットワークを画像認識に利用する場合、積和演算のスピードを高めても、入力データとなる画像データを積和演算回路に取り込む速度が全体の律速となる場合があった。【００１５】本発明の一形態は、効率的に画像認識を行うことが可能な半導体装置を提供することを課題の一つとする。また、本発明の一形態は、効率的に積和演算を行うことが可能な半導体装置を提供することを課題の一つとする。また、本発明の一形態は、新規な半導体装置を提供することを課題の一つとする。【００１６】なお、本発明の一形態は、必ずしも上記の課題の全てを解決する必要はなく、少なくとも一つの課題を解決できるものであればよい。また、上記の課題の記載は、他の課題の存在を妨げるものではない。これら以外の課題は、明細書、特許請求の範囲、図面などの記載から自ずと明らかになるものであり、明細書、特許請求の範囲、図面などの記載から、これら以外の課題を抽出することが可能である。
【課題を解決するための手段】
【００１７】本発明の一形態は、シフトレジスタ群と、Ｄ／Ａコンバータと、積和演算回路と、を有する半導体装置である。シフトレジスタ群は、画像データを取り込み、画像データをシフトする動作、および、画像データの一部をＤ／Ａコンバータへ出力する動作を行う。Ｄ／Ａコンバータは、画像データの一部をアナログデータに変換して、積和演算回路へ出力することを特徴とする。【００１８】また、上記形態において、積和演算回路は、アナログメモリを有し、アナログメモリには、パラメータが保存されている。積和演算回路は、画像データの一部と、パラメータとを、積和演算した結果を出力することを特徴とする。【００１９】また、上記形態において、アナログメモリを構成するトランジスタは、チャネル形成領域に金属酸化物を含む。【００２０】また、本発明の一形態は、Ｄ／Ａコンバータと、シフトレジスタ群と、積和演算回路と、を有する半導体装置である。Ｄ／Ａコンバータには画像データが入力され、Ｄ／Ａコンバータは、画像データをアナログデータに変換した第１のデータを、シフトレジスタ群へ出力する。シフトレジスタ群は、第１のデータをシフトする動作、および、第１のデータの一部を第２のデータとして、積和演算回路へ出力する動作を行う。積和演算回路は、アナログメモリを有し、アナログメモリには、パラメータが保存されている。積和演算回路は、第２のデータと、パラメータとを、積和演算した結果を出力することを特徴とする。【００２１】また、上記形態において、アナログメモリを構成するトランジスタは、チャネル形成領域に金属酸化物を含む。【００２２】また、上記形態において、シフトレジスタ群を構成するトランジスタは、チャネル形成領域に金属酸化物を含む。【００２３】また、本発明の一形態は、シフトレジスタ群と、Ｄ／Ａコンバータと、積和演算回路と、プーリング回路と、を有する半導体装置である。シフトレジスタ群は、画像データを取り込み、画像データをシフトする動作、および、画像データの一部をＤ／Ａコンバータへ出力する動作を行う。Ｄ／Ａコンバータは、画像データの一部をアナログデータに変換した第１のデータを、積和演算回路へ出力する動作を行う。積和演算回路にはパラメータが保存されており、積和演算回路は、第１のデータと、パラメータとを、積和演算した第２のデータを、プーリング回路へ出力することを特徴とする。【００２４】また、上記形態において、積和演算回路は、アナログメモリを有し、パラメータは、アナログメモリに保存されていることを特徴とする。【００２５】また、上記形態において、アナログメモリを構成するトランジスタは、チャネル形成領域に金属酸化物を含む。
【発明の効果】
【００２６】本発明の一形態により、効率的に画像認識を行うことが可能な半導体装置を提供することができる。また、本発明の一形態により、効率的に積和演算を行うことが可能な半導体装置を提供することができる。また、本発明の一形態により、新規な半導体装置を提供することができる。【００２７】なお、本発明の一形態の効果は、上記列挙した効果に限定されない。また、上記列挙した効果は、他の効果の存在を妨げるものではない。他の効果は、以下の記載で述べる、本項目で言及していない効果である。本項目で言及していない効果は、当業者であれば明細書または図面等の記載から導き出せるものであり、これらの記載から適宜抽出することができる。なお、本発明の一形態は、上記列挙した効果、および他の効果のうち、少なくとも一つの効果を有するものである。従って本発明の一形態は、場合によっては、上記列挙した効果を有さない場合もある。
【図面の簡単な説明】
【００２８】
【図１】（Ａ）画像データの概念を示す図、（Ｂ）フィルタのパラメータの概念を示す図。
【図２】（Ａ）半導体装置の構成例を示すブロック図、（Ｂ）シフトレジスタが取り込む画像データを示す図、（Ｃ）シフトレジスタが画像データを取り込む様子を示す図。
【図３】シフトレジスタ群の一部と積和演算回路の動作を示す概念図。
【図４】シフトレジスタ群の一部と積和演算回路の動作を示す概念図。
【図５】シフトレジスタ群の一部と積和演算回路の動作を示す概念図。
【図６】（Ａ）シフトレジスタの構成例を示すブロック図、（Ｂ）レジスタの入出力を説明する図、（Ｃ）レジスタの構成例を示す回路図。
【図７】（Ａ、Ｂ、Ｃ、Ｄ）シフトレジスタの動作を説明する図。
【図８】（Ａ）シフトレジスタの構成例を示すブロック図、（Ｂ）スイッチの構成例を示す回路図。
【図９】（Ａ）シフトレジスタの構成例を示すブロック図、（Ｂ）レジスタの入出力を説明する図、（Ｃ）レジスタの構成例を示す回路図。
【図１０】（Ａ）レジスタの構成例を示す回路図、（Ｂ）半導体装置の構成例を示すブロック図。
【図１１】タイミングチャート。
【図１２】シフトレジスタ群の一部と積和演算回路の動作を示す概念図。
【図１３】シフトレジスタ群の一部と積和演算回路の動作を示す概念図。
【図１４】（Ａ）半導体装置の構成例を示すブロック図、（Ｂ）階層型ニューラルネットワークの構成例を示す図、（Ｃ、Ｄ）演算処理に用いる回路構成を示す図。
【図１５】（Ａ）誤差逆伝播方式の模式図、（Ｂ、Ｃ、Ｄ）演算処理に用いる回路構成を示す図。
【図１６】積和演算回路の構成例を示す図。
【図１７】記憶回路と参照用記憶回路の構成を示す図。
【図１８】メモリセルの回路構成と接続関係を示す図。
【図１９】回路１３と回路１４と電流源回路の構成を示す図。
【図２０】タイミングチャート。
【図２１】（Ａ、Ｂ）電子機器の構成を説明する図。
【図２２】（Ａ、Ｂ）電子機器の構成を説明する図。
【発明を実施するための形態】
【００２９】以下、実施の形態について図面を参照しながら説明する。但し、実施の形態は多くの異なる形態で実施することが可能であり、趣旨及びその範囲から逸脱することなくその形態及び詳細を様々に変更し得ることは、当業者であれば容易に理解される。従って、本発明は、以下の実施の形態の記載内容に限定して解釈されるものではない。
【００３０】また、以下に示される複数の実施の形態は、適宜組み合わせることが可能である。また、１つの実施の形態の中に複数の構成例が示される場合は、互いに構成例を適宜組み合わせることが可能である。
【００３１】なお、本明細書に添付した図面では、構成要素を機能ごとに分類し、互いに独立したブロックとしてブロック図を示しているが、実際の構成要素は機能ごとに完全に切り分けることが難しく、一つの構成要素が複数の機能に係わることもあり得る。
【００３２】また、図面等において、大きさ、層の厚さ、領域等は、明瞭化のため誇張されている場合がある。よって、必ずしもそのスケールに限定されない。図面は、理想的な例を模式的に示したものであり、図面に示す形状または値などに限定されない。
【００３３】また、図面等において、同一の要素または同様な機能を有する要素、同一の材質の要素、あるいは同時に形成される要素等には同一の符号を付す場合があり、その繰り返しの説明は省略する場合がある。
【００３４】また、本明細書等において、「膜」という用語と、「層」という用語とは、互いに入れ替えることが可能である。例えば、「導電層」という用語を、「導電膜」という用語に変更することが可能な場合がある。または、例えば、「絶縁膜」という用語を、「絶縁層」という用語に変更することが可能な場合がある。
【００３５】また、本明細書等において、「上」や「下」などの配置を示す用語は、構成要素の位置関係が、「直上」または「直下」であることを限定するものではない。例えば、「ゲート絶縁層上のゲート電極」の表現であれば、ゲート絶縁層とゲート電極との間に他の構成要素を含むものを除外しない。
【００３６】また、本明細書等において、「平行」とは、二つの直線が−１０°以上１０°以下の角度で配置されている状態をいう。したがって、−５°以上５°以下の場合も含まれる。また、「垂直」とは、二つの直線が８０°以上１００°以下の角度で配置されている状態をいう。したがって、８５°以上９５°以下の場合も含まれる。
【００３７】また、本明細書等において、「第１」、「第２」、「第３」などの序数詞は、構成要素の混同を避けるために付したものであり、数的に限定するものではない。
【００３８】また、本明細書等において、「電気的に接続」とは、「何らかの電気的作用を有するもの」を介して接続されている場合が含まれる。ここで、「何らかの電気的作用を有するもの」は、接続対象間での電気信号の授受を可能とするものであれば、特に制限を受けない。例えば、「何らかの電気的作用を有するもの」には、電極や配線をはじめ、トランジスタなどのスイッチング素子、抵抗素子、インダクタ、容量素子、その他の各種機能を有する素子などが含まれる。
【００３９】また、本明細書等において、「電圧」とは、ある電位と基準の電位（例えば、グラウンド電位）との電位差のことを示す場合が多い。よって、電圧と電位差とは言い換えることができる。
【００４０】また、本明細書等において、トランジスタとは、ゲートと、ドレインと、ソースとを含む、少なくとも三つの端子を有する素子である。そして、ドレイン（ドレイン端子、ドレイン領域、またはドレイン電極）とソース（ソース端子、ソース領域、またはソース電極）の間にチャネル領域を有しており、チャネル領域を介して、ソースとドレインとの間に電流を流すことができるものである。なお、本明細書等において、チャネル領域とは、電流が主として流れる領域をいう。
【００４１】また、ソースやドレインの機能は、異なる極性のトランジスタを採用する場合や、回路動作において電流の方向が変化する場合などには入れ替わることがある。このため、本明細書等において、ソースやドレインの用語は、入れ替えて用いることができるものとする。
【００４２】また、本明細書等において、特に断りがない場合、オフ電流とは、トランジスタがオフ状態（非導通状態、遮断状態、ともいう）にあるときのドレイン電流をいう。オフ状態とは、特に断りがない場合、ｎチャネル型トランジスタでは、ソースに対するゲートの電圧Ｖｇｓがしきい値電圧Ｖｔｈよりも低い状態、ｐチャネル型トランジスタでは、ソースに対するゲートの電圧Ｖｇｓがしきい値電圧Ｖｔｈよりも高い状態をいう。つまり、ｎチャネル型のトランジスタのオフ電流とは、ソースに対するゲートの電圧Ｖｇｓがしきい値電圧Ｖｔｈよりも低いときのドレイン電流、という場合がある。
【００４３】上記オフ電流の説明において、ドレインをソースと読み替えてもよい。つまり、オフ電流は、トランジスタがオフ状態にあるときのソース電流をいう場合がある。また、オフ電流と同じ意味で、リーク電流という場合がある。また、本明細書等において、オフ電流とは、トランジスタがオフ状態にあるときに、ソースとドレインの間に流れる電流を指す場合がある。
【００４４】また、本明細書等において、金属酸化物（ｍｅｔａｌ  ｏｘｉｄｅ）とは、広い表現での金属の酸化物である。金属酸化物は、酸化物絶縁体、酸化物導電体（透明酸化物導電体を含む）、酸化物半導体（Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒまたは単にＯＳともいう）などに分類される。例えば、トランジスタの活性層に金属酸化物を用いた場合、当該金属酸化物を酸化物半導体と呼称する場合がある。つまり、金属酸化物が増幅作用、整流作用、及びスイッチング作用の少なくとも１つを有する場合、当該金属酸化物を、金属酸化物半導体（ｍｅｔａｌ  ｏｘｉｄｅ  ｓｅｍｉｃｏｎｄｕｃｔｏｒ）、略してＯＳと呼ぶことができる。また、ＯＳトランジスタ、またはＯＳ  ＦＥＴと記載する場合においては、金属酸化物または酸化物半導体を有するトランジスタと換言することができる。
【００４５】（実施の形態１）
本実施の形態では、ニューラルネットワークを利用した画像認識を効率的に行える半導体装置について説明する。
【００４６】＜半導体装置＞
半導体装置１００は、積和演算回路８０を有し、フレームメモリ５０から画像データを取り込み、畳み込み演算を行う機能を有する。
【００４７】以下、半導体装置１００が取り込む画像データを、ｎ行ｍ列の画像データＰ（１、１）乃至Ｐ（ｎ、ｍ）で表し（ｎ、ｍは２以上の整数）、積和演算回路８０が有するフィルタを、ｓ行ｔ列のフィルタＦ（１、１）乃至Ｆ（ｓ、ｔ）で表す（ｓ、ｔは１以上の整数であり、ｓ＜ｎ、ｔ＜ｍ）。Ｆ（１、１）乃至Ｆ（ｓ、ｔ）は、それぞれ、フィルタを構成するパラメータである。図１（Ａ）に画像データの概念図を示し、図１（Ｂ）にフィルタのパラメータについて概念図を示す。
【００４８】例えば、ｎ＝ｍ＝３、ｓ＝ｔ＝２の時、半導体装置１００は、出力Ｙ（１、１）乃至Ｙ（２、２）を出力する。
Ｙ（１、１）＝Ｐ（１、１）×Ｆ（１、１）＋Ｐ（１、２）×Ｆ（１、２）＋Ｐ（２、１）×Ｆ（２、１）＋Ｐ（２、２）×Ｆ（２、２）        （ａ１）
Ｙ（１、２）＝Ｐ（１、２）×Ｆ（１、１）＋Ｐ（１、３）×Ｆ（１、２）＋Ｐ（２、２）×Ｆ（２、１）＋Ｐ（２、３）×Ｆ（２、２）        （ａ２）
Ｙ（２、１）＝Ｐ（２、１）×Ｆ（１、１）＋Ｐ（２、２）×Ｆ（１、２）＋Ｐ（３、１）×Ｆ（２、１）＋Ｐ（３、２）×Ｆ（２、２）        （ａ３）
Ｙ（２、２）＝Ｐ（２、２）×Ｆ（１、１）＋Ｐ（２、３）×Ｆ（１、２）＋Ｐ（３、２）×Ｆ（２、１）＋Ｐ（３、３）×Ｆ（２、２）        （ａ４）
【００４９】式ａ１乃至ａ４を一般式で表すと、
Ｙ（ｙ、ｘ）＝Σｊ（ΣｉＰ（ｊ＋ｙ−１、ｉ＋ｘ−１）×Ｆ（ｊ、ｉ））  （ａ５）
である。なお、ｊは１乃至ｓの整数、ｉは１乃至ｔの整数であり、ｙは１乃至ｎ−ｓ＋１の整数、ｘは１乃至ｍ−ｔ＋１の整数である。
【００５０】また、半導体装置１００は、シフトレジスタ群６０と、Ｄ／Ａコンバータ７０と、を有する（図２（Ａ）参照）。
【００５１】シフトレジスタ群６０は、それぞれ、１行ｐ列の画像データを格納できるシフトレジスタＳＲ＿Ｐ［１］乃至ＳＲ＿Ｐ［ｑ］を有する（ｑ、ｐは１以上の整数であり、ｎ≧ｑ≧ｓ、ｍ≧ｐ≧ｔ）。
【００５２】シフトレジスタＳＲ＿Ｐ［１］は画像データＰ（１、１）乃至Ｐ（１、ｐ）を取り込み、シフトレジスタＳＲ＿Ｐ［２］は画像データＰ（２、１）乃至Ｐ（２、ｐ）を取り込み、以下同様にして、シフトレジスタＳＲ＿Ｐ［ｑ］は画像データＰ（ｑ、１）乃至Ｐ（ｑ、ｐ）を取り込む。この様子を、図２（Ｂ）および図２（Ｃ）に示す。
【００５３】図２（Ｂ）において、点線で囲んだ領域５１内の画像データが、シフトレジスタＳＲ＿Ｐ［１］乃至ＳＲ＿Ｐ［ｑ］に取り込まれる。図２（Ｃ）が示すシフトレジスタ群６０は、シフトレジスタＳＲ＿Ｐ［１］乃至ＳＲ＿Ｐ［ｑ］が、それぞれ、画像データを取り込んだ様子を示している。
【００５４】なお、画像データＰ（１、１）乃至Ｐ（ｎ、ｍ）は、それぞれ、１画素分に相当する画像データであり、複数ｂｉｔで構成されるデジタル信号である。それゆえ、画像データＰ（１、１）乃至Ｐ（１、ｐ）を取り込むシフトレジスタＳＲ＿Ｐ［１］は、ｐ×画像データ１画素分のｂｉｔ数を格納することができる。
【００５５】シフトレジスタＳＲ＿Ｐ［１］乃至ＳＲ＿Ｐ［ｑ］が取り込んだ画像データは、Ｄ／Ａコンバータ７０でアナログ信号に変換され、積和演算回路８０に入力される。
【００５６】＜シフトレジスタ群と積和演算回路１＞
次に、図３は、シフトレジスタ群６０の一部と、積和演算回路８０を示している。なお、図３では、Ｄ／Ａコンバータ７０は省略しており、積和演算回路８０が有するフィルタＦ（１、１）乃至Ｆ（ｓ、ｔ）は、ｓ＝ｔ＝３の場合を示している。
【００５７】図３において、シフトレジスタ群６０が有するシフトレジスタＳＲ＿Ｐ［１］乃至ＳＲ＿Ｐ［ｑ］は、それぞれ、ｓ個づつ、すなわち、３つづつ画像データを出力する。シフトレジスタＳＲ＿Ｐ［１］乃至ＳＲ＿Ｐ［ｑ］が出力する画像データは、信号ＲＷ［１］乃至ＲＷ［３ｑ］として積和演算回路８０に入力され、積和演算回路８０において、フィルタＦ（１、１）乃至Ｆ（３、３）と積和演算が行われる。
【００５８】なお、図３は、積和演算が行われる様子を示した概念図である。積和演算回路８０に入力された信号ＲＷ［１］乃至ＲＷ［３ｑ］は、矢印Ｒ１で示す方向と平行な線にそって信号が伝えられ、フィルタのパラメータを表すＦ（１、１）乃至Ｆ（３、３）との交点で、それぞれ、信号とフィルタの積が計算される。それぞれの信号とフィルタの積が計算されると、その結果は矢印Ｃ１で示す方向に足し合わされ、足し合わされた結果が、積和演算回路８０の出力Ｙ（１、１）乃至Ｙ（ｑ−２、１）である。
【００５９】図３において、シフトレジスタＳＲ＿Ｐ［１］は、シフトレジスタＳＲ＿Ｐ［１］が取り込んだ画像データＰ（１、１）乃至Ｐ（１、ｐ）のうち、画像データＰ（１、１）乃至Ｐ（１、３）を出力する（図３中、信号ＲＷ［１］乃至ＲＷ［３］）。
【００６０】図３では省略されているが、信号ＲＷ［１］乃至ＲＷ［３］は、Ｄ／Ａコンバータ７０でアナログ信号に変換され、積和演算回路８０に入力される。信号ＲＷ［１］乃至ＲＷ［３］は、積和演算回路８０において、それぞれ、フィルタＦ（１、１）乃至Ｆ（１、３）と掛け合わされる。なお、積和演算回路８０の具体的な構成例については、実施の形態２にて説明する。
【００６１】同様に、シフトレジスタＳＲ＿Ｐ［２］は、画像データＰ（２、１）乃至Ｐ（２、３）を出力し（図３中、信号ＲＷ［４］乃至ＲＷ［６］）、シフトレジスタＳＲ＿Ｐ［３］は、画像データＰ（３、１）乃至Ｐ（３、３）を出力する（図３中、信号ＲＷ［７］乃至ＲＷ［９］）。
【００６２】信号ＲＷ［４］乃至ＲＷ［６］は、積和演算回路８０において、それぞれ、フィルタＦ（２、１）乃至Ｆ（２、３）と掛け合わされ、信号ＲＷ［７］乃至ＲＷ［９］は、積和演算回路８０において、それぞれ、フィルタＦ（３、１）乃至Ｆ（３、３）と掛け合わされる。
【００６３】信号ＲＷ［１］乃至ＲＷ［３］の値とフィルタの値Ｆ（１、１）乃至Ｆ（１、３）が掛け合わされた結果と、信号ＲＷ［４］乃至ＲＷ［６］の値とフィルタの値Ｆ（２、１）乃至Ｆ（２、３）が掛け合わされた結果と、信号ＲＷ［７］乃至ＲＷ［９］の値とフィルタの値Ｆ（３、１）乃至Ｆ（３、３）が掛け合わされた結果は、足し合わされ、積和演算回路８０はＹ（１、１）を出力する。
【００６４】同様に、シフトレジスタＳＲ＿Ｐ［２］が出力した画像データＰ（２、１）乃至Ｐ（２、３）は、信号ＲＷ［４］乃至ＲＷ［６］の値として、それぞれフィルタの値Ｆ（１、１）乃至Ｆ（１、３）と掛け合わされ、シフトレジスタＳＲ＿Ｐ［３］が出力した画像データＰ（３、１）乃至Ｐ（３、３）は、信号ＲＷ［７］乃至ＲＷ［９］の値として、それぞれフィルタの値Ｆ（２、１）乃至Ｆ（２、３）と掛け合わされ、シフトレジスタＳＲ＿Ｐ［４］が出力した画像データＰ（４、１）乃至Ｐ（４、３）は、信号ＲＷ［１０］乃至ＲＷ［１２］の値として、それぞれフィルタの値Ｆ（３、１）乃至Ｆ（３、３）と掛け合わされ、それらが足し合わされ、積和演算回路８０はＹ（２、１）を出力する。
【００６５】同様に、シフトレジスタＳＲ＿Ｐ［３］が出力した画像データＰ（３、１）乃至Ｐ（３、３）は、信号ＲＷ［７］乃至ＲＷ［９］の値として、それぞれフィルタの値Ｆ（１、１）乃至Ｆ（１、３）と掛け合わされ、シフトレジスタＳＲ＿Ｐ［４］が出力した画像データＰ（４、１）乃至Ｐ（４、３）は、信号ＲＷ［１０］乃至ＲＷ［１２］の値として、それぞれフィルタの値Ｆ（２、１）乃至Ｆ（２、３）と掛け合わされ、シフトレジスタＳＲ＿Ｐ［５］が出力した画像データＰ（５、１）乃至Ｐ（５、３）は、信号ＲＷ［１３］乃至ＲＷ［１５］の値として、それぞれフィルタの値Ｆ（３、１）乃至Ｆ（３、３）と掛け合わされ、それらが足し合わされ、積和演算回路８０はＹ（３、１）を出力する。
【００６６】同様に、シフトレジスタＳＲ＿Ｐ［ｑ−２］が出力した画像データＰ（ｑ−２、１）乃至Ｐ（ｑ−２、３）は、信号ＲＷ［３ｑ−８］乃至ＲＷ［３ｑ−６］の値として、それぞれフィルタの値Ｆ（１、１）乃至Ｆ（１、３）と掛け合わされ、シフトレジスタＳＲ＿Ｐ［ｑ−１］が出力した画像データＰ（ｑ−１、１）乃至Ｐ（ｑ−１、３）は、信号ＲＷ［３ｑ−５］乃至ＲＷ［３ｑ−３］の値として、それぞれフィルタの値Ｆ（２、１）乃至Ｆ（２、３）と掛け合わされ、シフトレジスタＳＲ＿Ｐ［ｑ］が出力した画像データＰ（ｑ、１）乃至Ｐ（ｑ、３）は、信号ＲＷ［３ｑ−２］乃至ＲＷ［３ｑ］の値として、それぞれフィルタの値Ｆ（３、１）乃至Ｆ（３、３）と掛け合わされ、それらが足し合わされ、積和演算回路８０はＹ（ｑ−２、１）を出力する。
【００６７】次に、図４は、図３におけるシフトレジスタＳＲ＿Ｐ［１］乃至ＳＲ＿Ｐ［ｑ］が、取り込んだ画像データＰ（１、１）乃至Ｐ（ｑ、ｐ）を、それぞれ１シフトさせた状態を示している。
【００６８】すなわち、シフトレジスタＳＲ＿Ｐ［１］は画像データＰ（１、２）乃至Ｐ（１、４）を出力し、シフトレジスタＳＲ＿Ｐ［２］は画像データＰ（２、２）乃至Ｐ（２、４）を出力し、シフトレジスタＳＲ＿Ｐ［３］は画像データＰ（３、２）乃至Ｐ（３、４）を出力し、シフトレジスタＳＲ＿Ｐ［４］は画像データＰ（４、２）乃至Ｐ（４、４）を出力し、シフトレジスタＳＲ＿Ｐ［５］は画像データＰ（５、２）乃至Ｐ（５、４）を出力し、シフトレジスタＳＲ＿Ｐ［ｑ］は画像データＰ（ｑ、２）乃至ｐ（ｑ、４）を出力する。
【００６９】図３と同様に、シフトレジスタＳＲ＿Ｐ［１］が出力した画像データＰ（１、２）乃至Ｐ（１、４）は、信号ＲＷ［１］乃至ＲＷ［３］の値として、それぞれフィルタの値Ｆ（１、１）乃至Ｆ（１、３）と掛け合わされ、シフトレジスタＳＲ＿Ｐ［２］が出力した画像データＰ（２、２）乃至Ｐ（２、４）は、信号ＲＷ［４］乃至ＲＷ［６］の値として、それぞれフィルタの値Ｆ（２、１）乃至Ｆ（２、３）と掛け合わされ、シフトレジスタＳＲ＿Ｐ［３］が出力した画像データＰ（３、２）乃至Ｐ（３、４）は、信号ＲＷ［７］乃至ＲＷ［９］の値として、それぞれフィルタの値Ｆ（３、１）乃至Ｆ（３、３）と掛け合わされ、それらが足し合わされ、積和演算回路８０はＹ（１、２）を出力する。
【００７０】以下同様であり、Ｙ（２、２）およびＹ（３、２）については、図３の説明を援用する。
【００７１】そして、シフトレジスタＳＲ＿Ｐ［ｑ−２］が出力した画像データＰ（ｑ−２、２）乃至Ｐ（ｑ−２、４）は、信号ＲＷ［３ｑ−８］乃至ＲＷ［３ｑ−６］の値として、それぞれフィルタの値Ｆ（１、１）乃至Ｆ（１、３）と掛け合わされ、シフトレジスタＳＲ＿Ｐ［ｑ−１］が出力した画像データＰ（ｑ−１、２）乃至Ｐ（ｑ−１、４）は、信号ＲＷ［３ｑ−５］乃至ＲＷ［３ｑ−３］の値として、それぞれフィルタの値Ｆ（２、１）乃至Ｆ（２、３）と掛け合わされ、シフトレジスタＳＲ＿Ｐ［ｑ］が出力した画像データＰ（ｑ、２）乃至Ｐ（ｑ、４）は、信号ＲＷ［３ｑ−２］乃至ＲＷ［３ｑ］の値として、それぞれフィルタの値Ｆ（３、１）乃至Ｆ（３、３）と掛け合わされ、それらが足し合わされ、積和演算回路８０はＹ（ｑ−２、２）を出力する。
【００７２】図５は、図３におけるシフトレジスタＳＲ＿Ｐ［１］乃至ＳＲ＿Ｐ［ｑ］が、取り込んだ画像データＰ（１、１）乃至Ｐ（ｑ、ｐ）を、それぞれｐ−３シフトさせた状態を示している。
【００７３】すなわち、シフトレジスタＳＲ＿Ｐ［１］は画像データＰ（１、ｐ−２）乃至Ｐ（１、ｐ）を出力し、シフトレジスタＳＲ＿Ｐ［２］は画像データＰ（２、ｐ−２）乃至Ｐ（２、ｐ）を出力し、シフトレジスタＳＲ＿Ｐ［３］は画像データＰ（３、ｐ−２）乃至Ｐ（３、ｐ）を出力し、シフトレジスタＳＲ＿Ｐ［４］は画像データＰ（４、ｐ−２）乃至Ｐ（４、ｐ）を出力し、シフトレジスタＳＲ＿Ｐ［５］は画像データＰ（５、ｐ−２）乃至Ｐ（５、ｐ）を出力し、シフトレジスタＳＲ＿Ｐ［ｑ］は画像データＰ（ｑ、ｐ−２）乃至Ｐ（ｑ、ｐ）を出力する。
【００７４】図３と同様に、シフトレジスタＳＲ＿Ｐ［１］が出力した画像データＰ（１、ｐ−２）乃至Ｐ（１、ｐ）は、信号ＲＷ［１］乃至ＲＷ［３］の値として、それぞれフィルタの値Ｆ（１、１）乃至Ｆ（１、３）と掛け合わされ、シフトレジスタＳＲ＿Ｐ［２］が出力した画像データＰ（２、ｐ−２）乃至Ｐ（２、ｐ）は、信号ＲＷ［４］乃至ＲＷ［６］の値として、それぞれフィルタの値Ｆ（２、１）乃至Ｆ（２、３）と掛け合わされ、シフトレジスタＳＲ＿Ｐ［３］が出力した画像データＰ（３、ｐ−２）乃至Ｐ（３、ｐ）は、信号ＲＷ［７］乃至ＲＷ［９］の値として、それぞれフィルタの値Ｆ（３、１）乃至Ｆ（３、３）と掛け合わされ、それらが足し合わされ、積和演算回路８０はＹ（１、ｐ−２）を出力する。
【００７５】以下同様であり、Ｙ（２、ｐ−２）およびＹ（３、ｐ−２）については、図３の説明を援用する。
【００７６】そして、シフトレジスタＳＲ＿Ｐ［ｑ−２］が出力した画像データＰ（ｑ−２、ｐ−２）乃至Ｐ（ｑ−２、ｐ）は、信号ＲＷ［３ｑ−８］乃至ＲＷ［３ｑ−６］の値として、それぞれフィルタの値Ｆ（１、１）乃至Ｆ（１、３）と掛け合わされ、シフトレジスタＳＲ＿Ｐ［ｑ−１］が出力した画像データＰ（ｑ−１、ｐ−２）乃至Ｐ（ｑ−１、ｐ）は、信号ＲＷ［３ｑ−５］乃至ＲＷ［３ｑ−３］の値として、それぞれフィルタの値Ｆ（２、１）乃至Ｆ（２、３）と掛け合わされ、シフトレジスタＳＲ＿Ｐ［ｑ］が出力した画像データＰ（ｑ、ｐ−２）乃至Ｐ（ｑ、ｐ）は、信号ＲＷ［３ｑ−２］乃至ＲＷ［３ｑ］の値として、それぞれフィルタの値Ｆ（３、１）乃至Ｆ（３、３）と掛け合わされ、それらが足し合わされ、積和演算回路８０はＹ（ｑ−２、ｐ−２）を出力する。
【００７７】このように、積和演算回路８０は、シフトレジスタ群６０から出力される画像データとフィルタＦ（１、１）乃至Ｆ（ｓ、ｔ）の畳み込み演算を行い、シフトレジスタ群６０は取り込んだ画像データをシフトして積和演算回路８０に出力する動作を繰り返すことで、半導体装置１００がフレームメモリ５０へアクセスする回数を削減することができる。
【００７８】＜シフトレジスタ１＞
シフトレジスタ群６０が有するシフトレジスタＳＲ＿Ｐ［１］乃至ＳＲ＿Ｐ［ｑ］に適用可能なシフトレジスタの構成例を、図６（Ａ）乃至（Ｃ）に示す。
【００７９】図６（Ａ）は、シフトレジスタが取り込んだ画像データＰ（１、１）乃至Ｐ（１、ｐ）、およびシフトレジスタが出力する信号ＲＷ［１］乃至ＲＷ［３］に関して、シフトレジスタＳＲ＿Ｐ［１］を例に示しているが、同じ構成例をシフトレジスタＳＲ＿Ｐ［２］乃至ＳＲ＿Ｐ［ｑ］にも適用可能である。
【００８０】シフトレジスタＳＲ＿Ｐ［１］は、レジスタ６１をｐ個と、インバータ６２を有し、クロック信号ＣＬＫと、信号ＤＡＴＡが入力され、信号ＲＷ［１］乃至ＲＷ［３］を出力する。信号ＤＡＴＡには、画像データＰ（１、１）乃至Ｐ（１、ｐ）が順に入力される。
【００８１】図６（Ｂ）は、レジスタ６１のシンボルを示す図であり、レジスタ６１の入出力の様子を示している。レジスタ６１は、クロック信号ＣＬＫ＿ＩＮ１、ＣＬＫ＿ＩＮ２、および信号Ｄ＿ＩＮが入力され、信号Ｄ＿ＯＵＴを出力する。
【００８２】レジスタ６１のシンボルに対して、図６（Ｃ）は、レジスタ６１の構成例を示す回路図である。レジスタ６１は、クロックドインバータ６３乃至６６、およびインバータ６７、６８を有する。なお、図６（Ａ）乃至（Ｃ）では、主な構成要素と信号の接続関係を示しており、電源線等は省略している。また、実際には、レジスタ６１は、図６（Ｃ）に示す回路を、画像データ１画素分のｂｉｔ数に相当する個数有している。
【００８３】図６（Ａ）乃至（Ｃ）に示されるレジスタ６１は、クロック信号ＣＬＫがＨｉｇｈからＬｏｗに切り替わるタイミングで信号Ｄ＿ＩＮを取り込み、信号Ｄ＿ＯＵＴを出力する。それゆえ、クロック信号ＣＬＫの周期をΔＴとしたとき、ΔＴ秒ごとに、信号ＤＡＴＡはシフトレジスタＳＲ＿Ｐ［１］の中をシフトする。この様子を図７に示す。
【００８４】図７（Ａ）は、画像データＰ（１、１）が取り込まれたタイミングを示している。図７（Ｂ）は、図７（Ａ）のΔＴ秒後を示しており、画像データＰ（１、１）は次のレジスタ６１へシフトし、画像データＰ（１、２）が取り込まれる。図７（Ｃ）は、図７（Ａ）の（ｐ−１）×ΔＴ秒後を示している。画像データＰ（１、１）は最後のレジスタ６１へシフトし、画像データＰ（１、ｐ）が取り込まれる。また、画像データＰ（１、１）乃至Ｐ（１、３）が信号ＲＷ［１］乃至ＲＷ［３］として、シフトレジスタＳＲ＿Ｐ［１］から出力される。図７（Ｃ）は、図３において説明した状態である。
【００８５】図７（Ｄ）は、図７（Ａ）のｐ×ΔＴ秒後を示している。画像データＰ（１、１）は削除され、画像データＰ（１、２）乃至Ｐ（１、４）が信号ＲＷ［１］乃至ＲＷ［３］として、シフトレジスタＳＲ＿Ｐ［１］から出力される。図７（Ｄ）は、図４において説明した状態である。このようにして、画像データＰ（１、１）乃至Ｐ（１、ｐ）は、シフトレジスタＳＲ＿Ｐ［１］の中をシフトし、信号ＲＷ［１］乃至ＲＷ［３］として順に出力される。
【００８６】＜シフトレジスタ２＞
また、図６（Ａ）に示すシフトレジスタＳＲ＿Ｐ［１］は、図８の構成とすることができる。すなわち、図８（Ａ）に示すシフトレジスタＳＲ＿ＰＷ［１］は、レジスタ６１とレジスタ６１の間にスイッチＳＲ＿ＳＷを有する。
【００８７】シフトレジスタＳＲ＿ＰＷ［１］は、レジスタ６１をｐ個と、スイッチＳＲ＿ＳＷをｐ−１個と、インバータ６２を有し、クロック信号ＣＬＫと、信号ＤＡＴＡ［１］乃至ＤＡＴＡ［ｐ］が入力され、信号ＲＷ［１］乃至ＲＷ［３］を出力する。信号ＤＡＴＡ［１］乃至ＤＡＴＡ［ｐ］には、画像データＰ（１、１）乃至Ｐ（１、ｐ）がそれぞれ入力される。
【００８８】スイッチＳＲ＿ＳＷは、図８（Ｂ）に示すように、２つの入力部ａおよびｂと、１つの出力部ｏを有する。そして、全てのスイッチＳＲ＿ＳＷは連動スイッチである。スイッチＳＲ＿ＳＷが入力部ａを選択している時、シフトレジスタＳＲ＿ＰＷ［１］が有する全てのスイッチＳＲ＿ＳＷが入力部ａを選択している。このとき、シフトレジスタＳＲ＿ＰＷ［１］は、信号ＤＡＴＡ［１］乃至［ｐ］として、画像データＰ（１、１）乃至Ｐ（１、ｐ）を一度に取り込むことができる。
【００８９】シフトレジスタＳＲ＿ＰＷ［１］は、クロック信号ＣＬＫがＨｉｇｈからＬｏｗに切り替わる最初のタイミングで画像データＰ（１、１）乃至Ｐ（１、ｐ）を取り込むことができ、（ｐ−１）×ΔＴ秒を要することなく、図７（Ｃ）において説明した状態とすることができる。
【００９０】シフトレジスタＳＲ＿ＰＷ［１］が画像データＰ（１、１）乃至Ｐ（１、ｐ）を取り込んだ後は、全てのスイッチＳＲ＿ＳＷが入力部ｂを選択し、図７（Ｃ）および（Ｄ）と同様に、画像データＰ（１、１）乃至Ｐ（１、ｐ）をシフトさせることができる。
【００９１】＜シフトレジスタ３＞
また、図８（Ａ）に示すシフトレジスタＳＲ＿ＰＷ［１］は、アナログデータを扱うシフトレジスタとすることができる。アナログデータを扱うシフトレジスタとして、図９（Ａ）にシフトレジスタＳＲ＿ＰＡ［１］を示す。
【００９２】図９（Ａ）に示すシフトレジスタＳＲ＿ＰＡ［１］は、レジスタ６９をｐ個と、トランジスタ４１を有し、クロック信号ＣＬＫ１乃至ＣＬＫ４と、信号ＳＥと、信号ＤＡＴＡ［１］乃至ＤＡＴＡ［ｐ］が入力され、信号ＲＷ［１］乃至ＲＷ［３］を出力する。シフトレジスタＳＲ＿ＰＷ［１］と同様に、信号ＤＡＴＡ［１］乃至ＤＡＴＡ［ｐ］には、画像データＰ（１、１）乃至Ｐ（１、ｐ）がそれぞれ入力され、画像データＰ（１、１）乃至Ｐ（１、ｐ）を一度に取り込むことができる。
【００９３】図９（Ｂ）は、レジスタ６９のシンボルを示す図であり、レジスタ６９の入出力の様子を示している。レジスタ６９は、クロック信号ＣＬＫ＿ＩＮ１乃至ＣＬＫ＿ＩＮ４、信号Ｄ＿ＩＮ１、信号Ｄ＿ＩＮ２、および信号ＳＥ＿ＩＮが入力され、信号Ｄ＿ＯＵＴを出力する。
【００９４】レジスタ６９のシンボルに対して、図９（Ｃ）は、レジスタ６９の構成例を示す回路図である。レジスタ６９は、トランジスタ４２乃至４８と、容量素子Ｃ１１およびＣ１２を有する。また、ＶＤＤは高電位電源であり、ＶＳＳは低電位電源である。
【００９５】なお、図９（Ａ）および（Ｃ）において、トランジスタ４１乃至４８はｎチャネル型トランジスタであり、シフトレジスタＳＲ＿ＰＡ［１］が単極性トランジスタで構成される例を示している。シフトレジスタＳＲ＿ＰＡ［１］が単極性トランジスタで構成されることで、シフトレジスタＳＲ＿ＰＡ［１］の製造工程を短くすることが可能であるが、本発明の一態様はこれに限定されず、一部のトランジスタをｐチャネル型トランジスタとしてもよい。
【００９６】トランジスタ４３のソースまたはドレインの一方は、容量素子Ｃ１１の一方の電極、およびトランジスタ４４のゲートと電気的に接続される。トランジスタ４４のソースまたはドレインの一方は、トランジスタ４５のソースまたはドレインの一方と電気的に接続され、トランジスタ４５のソースまたはドレインの他方は、トランジスタ４６のソースまたはドレインの一方と電気的に接続される。
【００９７】トランジスタ４６のソースまたはドレインの一方は、容量素子Ｃ１２の一方の電極、およびトランジスタ４７のゲートと電気的に接続される。トランジスタ４７のソースまたはドレインの一方は、トランジスタ４８のソースまたはドレインの一方と電気的に接続され、トランジスタ４８のソースまたはドレインの他方からは、信号Ｄ＿ＯＵＴが出力される。
【００９８】トランジスタ４３、４６のソースまたはドレインの他方は、低電位電源ＶＳＳに電気的に接続され、トランジスタ４４、４７のソースまたはドレインの他方は、高電位電源ＶＤＤに電気的に接続される。容量素子Ｃ１１の他方の電極および容量素子Ｃ１２の他方の電極は、例えばＧＮＤ等、所定の電位が供給される配線に電気的に接続される。
【００９９】また、トランジスタ４２のゲートには信号ＳＥ＿ＩＮが入力され、トランジスタ４３のゲートにはクロック信号ＣＬＫ＿ＩＮ１が入力され、トランジスタ４５のゲートにはクロック信号ＣＬＫ＿ＩＮ２が入力され、トランジスタ４６のゲートにはクロック信号ＣＬＫ＿ＩＮ３が入力され、トランジスタ４８のゲートにはクロック信号ＣＬＫ＿ＩＮ４が入力される。
【０１００】ここで、トランジスタ４３のソースまたはドレインの一方、容量素子Ｃ１１の一方の電極、およびトランジスタ４４のゲートが接続される配線をノードＮ１１とし、トランジスタ４６のソースまたはドレインの一方、容量素子Ｃ１２の一方の電極、およびトランジスタ４７のゲートが接続される配線をノードＮ１２とする。
【０１０１】トランジスタ４２のソースまたはドレインの一方には、信号Ｄ＿ＩＮ１が入力され、トランジスタ４２のソースまたはドレインの他方は、ノードＮ１１と電気的に接続される。また、ノードＮ１１には信号Ｄ＿ＩＮ２が入力される。
【０１０２】トランジスタ４３はノードＮ１１をリセットする機能を有し、容量素子Ｃ１１はノードＮ１１に記憶する信号の保持容量としての機能を有し、トランジスタ４４はノードＮ１１の電位に対応した出力を行う機能を有する。トランジスタ４５は、トランジスタ４４が出力する信号をノードＮ１２に転送する機能を有する。
【０１０３】トランジスタ４６はノードＮ１２をリセットする機能を有し、容量素子Ｃ１２はノードＮ１２に記憶する信号の保持容量としての機能を有し、トランジスタ４７はノードＮ１２の電位に対応した出力を行う機能を有する。トランジスタ４８は、トランジスタ４７が出力する信号を、信号Ｄ＿ＯＵＴとして出力する機能を有する。
【０１０４】なお、トランジスタ４１乃至４８は、ＯＳトランジスタとする構成が好ましい。ＯＳトランジスタは極めてオフ電流が低いため、ＯＳトランジスタで構成されたシフトレジスタＳＲ＿ＰＡ［１］は、データの保持特性に優れる。したがって、シフトレジスタＳＲ＿ＰＡ［１］は、入力された信号ＤＡＴＡ［１］乃至ＤＡＴＡ［ｐ］を精度良くシフトすることができる。
【０１０５】ＯＳトランジスタは、チャネル形成領域に金属酸化物を有することが好ましい。また、ＯＳトランジスタに適用される金属酸化物は、インジウム（Ｉｎ）および亜鉛（Ｚｎ）の少なくとも一方を含む酸化物であることが好ましい。
【０１０６】このような酸化物としては、Ｉｎ−Ｍ−Ｚｎ酸化物、Ｉｎ−Ｍ酸化物、Ｚｎ−Ｍ酸化物、Ｉｎ−Ｚｎ酸化物（元素Ｍは、例えば、アルミニウム（Ａｌ）、ガリウム（Ｇａ）、イットリウム（Ｙ）、スズ（Ｓｎ）、ホウ素（Ｂ）、シリコン（Ｓｉ）、チタン（Ｔｉ）、鉄（Ｆｅ）、ニッケル（Ｎｉ）、ゲルマニウム（Ｇｅ）、ジルコニウム（Ｚｒ）、モリブデン（Ｍｏ）、ランタン（Ｌａ）、セリウム（Ｃｅ）、ネオジム（Ｎｄ）、バナジウム（Ｖ）、ベリリウム（Ｂｅ）、ハフニウム（Ｈｆ）、タンタル（Ｔａ）、またはタングステン（Ｗ）など）が代表的である。
【０１０７】ＯＳトランジスタは、チャネル幅１μｍあたりのオフ電流を１ｙＡ／μｍ（ｙ；ヨクト、１０−２４）以上１ｚＡ／μｍ（ｚ；ゼプト、１０−２１）以下程度に低くすることができる。
【０１０８】また、ＯＳトランジスタには、ＣＡＣ（Ｃｌｏｕｄ−Ａｌｉｇｎｅｄ  Ｃｏｍｐｏｓｉｔｅ）−ＯＳを用いることが好ましい。ＣＡＣ−ＯＳの詳細については、実施の形態４で説明する。
【０１０９】また、ＯＳトランジスタは、シリコンを活性領域または活性層に用いたトランジスタ（以下、Ｓｉトランジスタという）よりも電気特性の温度依存性が小さいため、広い温度範囲で使用することができる。したがって、ＯＳトランジスタで構成されたシフトレジスタＳＲ＿ＰＡ［１］などの半導体装置は、自動車、航空機、宇宙機などへの搭載にも適している。また、ＯＳトランジスタは、Ｓｉトランジスタよりもドレイン耐圧が高い特性を有するため、信頼性の高い半導体装置とすることができる。
【０１１０】もしくは、トランジスタ４１乃至４８に使用されるトランジスタとして、オフ電流が低ければＯＳトランジスタを適用しないことができる。例えば、バンドギャップが大きい半導体を用いたトランジスタを適用してもよい。バンドギャップが大きい半導体とは、バンドギャップが２．２ｅＶ以上の半導体を指す場合がある。例えば、炭化ケイ素、窒化ガリウム、ダイヤモンドなどが挙げられる。
【０１１１】なお、実際には、レジスタ６９は、図９（Ｃ）に示す回路を、画像データ１画素分のｂｉｔ数に相当する個数有している。
【０１１２】次に、レジスタ６９およびシフトレジスタＳＲ＿ＰＡ［１］の動作について説明する。
【０１１３】レジスタ６９では、トランジスタ４３で容量素子Ｃ１１の電荷をリセット、すなわち、ノードＮ１１の電位を初期化した後、信号Ｄ＿ＩＮ１または信号Ｄ＿ＩＮ２が入力される。当該動作により、ノードＮ１１の電位を、信号ＤＡＴＡ［１］乃至ＤＡＴＡ［ｐ］のいずれか、または、前段のレジスタ６９の出力電位（アナログ電位）に設定することができる。信号ＳＥ＿ＩＮはトランジスタ４２を制御し、信号Ｄ＿ＩＮ１をノードＮ１１の電位に設定することができる。
【０１１４】なお、シフトレジスタＳＲ＿ＰＡ［１］において、初段のレジスタ６９には信号Ｄ＿ＩＮ２に入力される信号がないため、未接続（フローティング）となっている。また、シフトレジスタＳＲ＿ＰＡ［１］において、トランジスタ４１は、最後段のレジスタ６９が出力する信号ＲＷ［１］の電位を初期化する。
【０１１５】レジスタ６９は、トランジスタ４５を制御することで、トランジスタ４４のゲート電圧、すなわち、ノードＮ１１の電位に応じた信号をノードＮ１２に出力することができる。
【０１１６】レジスタ６９は、トランジスタ４６で容量素子Ｃ１２の電荷をリセット、すなわち、ノードＮ１２の電位を初期化した後、ノードＮ１１の電位に応じた信号を取得することで、ノードＮ１２の電位を当該信号に応じた電位（アナログ電位）に設定することができる。つまり、ノードＮ１１の電位をノードＮ１２の電位に設定することができる。
【０１１７】レジスタ６９は、トランジスタ４８を制御することで、トランジスタ４７のゲート電圧、すなわち、ノードＮ１２の電位に応じた信号を、信号Ｄ＿ＯＵＴとして出力することができる。
【０１１８】なお、上記において、レジスタ６９におけるノードＮ１２に出力される信号は、ノードＮ１１の電位からトランジスタ４４のしきい値電圧を引いた電位となる。同様に、信号Ｄ＿ＯＵＴは、ノードＮ１２の電位からトランジスタ４７のしきい値電圧を引いた電位となる。
【０１１９】つまり、レジスタ６９で構成されるシフトレジスタＳＲ＿ＰＡ［１］の段が進むにつれ、レジスタ６９の出力電位が変化していくことになる。そのため、図１０（Ａ）に示すように、少なくともトランジスタ４４、４７にバックゲートを設けることが好ましい。当該バックゲートの電位を電源ＶＢＧで制御し、トランジスタ４４、４７のしきい値電圧を０Ｖまたは０Ｖ付近とすることで、レジスタ６９の出力電位の変化を抑えることができる。
【０１２０】なお、上述のバックゲートによるしきい値電圧の制御は、シフトレジスタの出力が十分な精度を得られる範囲、または外部回路で補正が可能な範囲で行えばよい。外部回路で行う補正としては、例えば、レジスタ６９の各段におけるしきい値電圧低下分を積算した値を、信号Ｄ＿ＯＵＴに加算する構成とすればよい。
【０１２１】また、シフトレジスタＳＲ＿ＰＡ［１］をシフトレジスタ群６０に適用する場合、半導体装置１００において、シフトレジスタ群６０とＤ／Ａコンバータ７０の順番を入れ替えて使用する。すなわち、図２（Ａ）に示される半導体装置１００は、図１０（Ｂ）に示す半導体装置１０１となる。
【０１２２】次に、レジスタ６９およびシフトレジスタＳＲ＿ＰＡ［１］の動作について、図１１のタイミングチャートを用いて説明する。
【０１２３】なお、図１１のタイミングチャートでは、ｐ＝３として、３つのレジスタ６９について示している。初段のレジスタ６９のノードＮ１１、ノードＮ１２を、それぞれノードＮ１１［１］、ノードＮ１２［１］とし、最後段のレジスタ６９のノードＮ１１、ノードＮ１２を、それぞれノードＮ１１［３］、ノードＮ１２［３］として区別している。ノードＮ１１［２］、ノードＮ１２［２］についても同様である。
【０１２４】また、説明のため、図１１のタイミングチャートでは、ノードＮ１１［１］乃至ノードＮ１１［３］、ノードＮ１２［１］乃至ノードＮ１２［３］、および信号ＲＷ［１］乃至ＲＷ［３］が、信号ＤＡＴＡ［１］乃至ＤＡＴＡ［３］のうち、どの信号の電位に設定されている、または出力しているかを表記している。
【０１２５】時刻Ｔ１乃至Ｔ２において、クロック信号ＣＬＫ１をＨｉｇｈとすることで、ノードＮ１１［１］、ノードＮ１１［２］、ノードＮ１１［３］、および信号ＲＷ［１］をＬｏｗにリセットする。またこの時、信号ＲＷ［２］および信号ＲＷ［３］も、Ｌｏｗにリセットされる（図９（Ａ）参照）。
【０１２６】時刻Ｔ２乃至Ｔ３において、信号ＳＥをＨｉｇｈとすることで、ノードＮ１１［１］の電位を信号ＤＡＴＡ［３］の電位に設定し、ノードＮ１１［２］の電位を信号ＤＡＴＡ［２］の電位に設定し、ノードＮ１１［３］の電位を信号ＤＡＴＡ［１］の電位に設定する。
【０１２７】時刻Ｔ３乃至Ｔ４において、クロック信号ＣＬＫ３をＨｉｇｈとすることで、ノードＮ１２［１］、ノードＮ１２［２］、およびノードＮ１２［３］をＬｏｗにリセットする。
【０１２８】時刻Ｔ４乃至Ｔ５において、クロック信号ＣＬＫ４をＨｉｇｈとすることで、ノードＮ１２［１］の電位をノードＮ１１［１］の電位に設定し、ノードＮ１２［２］の電位をノードＮ１１［２］の電位に設定し、ノードＮ１２［３］の電位をノードＮ１１［３］の電位に設定する。
【０１２９】時刻Ｔ５乃至Ｔ６において、クロック信号ＣＬＫ１をＨｉｇｈとすることで、ノードＮ１１［１］、ノードＮ１１［２］、ノードＮ１１［３］、信号ＲＷ［１］、信号ＲＷ［２］、および信号ＲＷ［３］をＬｏｗにリセットする。
【０１３０】時刻Ｔ６乃至Ｔ７において、クロック信号ＣＬＫ２をＨｉｇｈとすることで、ノードＮ１２［１］の電位を、信号ＲＷ［３］とノードＮ１１［２］の電位に設定し、ノードＮ１２［２］の電位を、信号ＲＷ［２］とノードＮ１１［３］の電位に設定し、ノードＮ１２［３］の電位を、信号ＲＷ［１］の電位に設定する。
【０１３１】時刻Ｔ６以降の信号ＲＷ［１］乃至信号ＲＷ［３］の電位が確定したタイミングから時刻Ｔ９のタイミングにおいて、信号ＲＷ［３］として信号ＤＡＴＡ［３］の電位が出力され、信号ＲＷ［２］として信号ＤＡＴＡ［２］の電位が出力され、信号ＲＷ［１］として信号ＤＡＴＡ［１］の電位が出力される。
【０１３２】また、時刻Ｔ７乃至Ｔ８において、クロック信号ＣＬＫ３をＨｉｇｈとすることで、ノードＮ１２［１］、ノードＮ１２［２］、およびノードＮ１２［３］をＬｏｗにリセットする。
【０１３３】時刻Ｔ８乃至Ｔ９において、クロック信号ＣＬＫ４をＨｉｇｈとすることで、ノードＮ１２［１］の電位をノードＮ１１［１］の電位に設定し、ノードＮ１２［２］の電位をノードＮ１１［２］の電位に設定し、ノードＮ１２［３］の電位をノードＮ１１［３］の電位に設定する。
【０１３４】時刻Ｔ９乃至Ｔ１０において、クロック信号ＣＬＫ１をＨｉｇｈとすることで、ノードＮ１１［１］、ノードＮ１１［２］、ノードＮ１１［３］、信号ＲＷ［１］、信号ＲＷ［２］、および信号ＲＷ［３］をＬｏｗにリセットする。
【０１３５】時刻Ｔ１０乃至Ｔ１１において、クロック信号ＣＬＫ２をＨｉｇｈとすることで、ノードＮ１２［１］の電位を、信号ＲＷ［３］とノードＮ１１［２］の電位に設定し、ノードＮ１２［２］の電位を、信号ＲＷ［２］とノードＮ１１［３］の電位に設定し、ノードＮ１２［３］の電位を、信号ＲＷ［１］の電位に設定する。
【０１３６】時刻Ｔ１０以降の信号ＲＷ［１］および信号ＲＷ［２］の電位が確定したタイミングから時刻Ｔ１３のタイミングにおいて、信号ＲＷ［２］として信号ＤＡＴＡ［３］の電位が出力され、信号ＲＷ［１］として信号ＤＡＴＡ［２］の電位が出力される。信号ＲＷ［３］はＬｏｗとなる。
【０１３７】また、時刻Ｔ１１乃至Ｔ１２において、クロック信号ＣＬＫ３をＨｉｇｈとすることで、ノードＮ１２［１］、ノードＮ１２［２］、およびノードＮ１２［３］をＬｏｗにリセットする。
【０１３８】時刻Ｔ１２乃至Ｔ１３において、クロック信号ＣＬＫ４をＨｉｇｈとすることで、ノードＮ１２［１］の電位をノードＮ１１［１］の電位に設定し、ノードＮ１２［２］の電位をノードＮ１１［２］の電位に設定し、ノードＮ１２［３］の電位をノードＮ１１［３］の電位に設定する。
【０１３９】時刻Ｔ１３乃至Ｔ１４において、クロック信号ＣＬＫ１をＨｉｇｈとすることで、ノードＮ１１［１］、ノードＮ１１［２］、ノードＮ１１［３］、信号ＲＷ［１］、信号ＲＷ［２］、および信号ＲＷ［３］をＬｏｗにリセットする。
【０１４０】時刻Ｔ１４乃至Ｔ１５において、クロック信号ＣＬＫ２をＨｉｇｈとすることで、ノードＮ１２［１］の電位を、信号ＲＷ［３］とノードＮ１１［２］の電位に設定し、ノードＮ１２［２］の電位を、信号ＲＷ［２］とノードＮ１１［３］の電位に設定し、ノードＮ１２［３］の電位を、信号ＲＷ［１］の電位に設定する。
【０１４１】時刻Ｔ１４以降の信号ＲＷ［１］の電位が確定したタイミングから時刻Ｔ１７のタイミングにおいて、信号ＲＷ［１］として信号ＤＡＴＡ［３］の電位が出力される。信号ＲＷ［２］、信号ＲＷ［３］はＬｏｗとなる。
【０１４２】以上のように、シフトレジスタＳＲ＿ＰＡ［１］が有するレジスタ６９は、ノードＮ１１およびノードＮ１２を有し、ノードＮ１１で記憶した信号はノードＮ１２に転送することができる。また、ノードＮ１２で記憶した信号は、後段のレジスタ６９のノードＮ１１に転送することができる。つまり、シフトレジスタＳＲ＿ＰＡ［１］に入力された画像データＰ（１、１）乃至Ｐ（１、ｐ）は、レジスタ６９によってシフトされ、順に出力される。
【０１４３】なお、図３乃至図１１では、シフトレジスタＳＲ＿Ｐ［１］、ＳＲ＿ＰＷ［１］、ＳＲ＿ＰＡ［１］が有する最後段から３つのレジスタ６１またはレジスタ６９が、信号ＲＷ［１］乃至ＲＷ［３］として信号を出力する例を示したが、本発明の一態様はこれに限定されない。次に、画像認識の分野において、畳み込み演算の後に行われることが多いプーリング処理を考慮した構成例を示す。
【０１４４】＜シフトレジスタ群と積和演算回路２＞
図１２は、図３と同じく、シフトレジスタ群６０の一部と積和演算回路８０を示しており、積和演算回路８０が有するフィルタＦ（１、１）乃至Ｆ（ｓ、ｔ）においてもｓ＝ｔ＝３の場合を示している。
【０１４５】図１２において、シフトレジスタＳＲ＿Ｐ［１］は、シフトレジスタＳＲ＿Ｐ［１］が取り込んだ画像データＰ（１、１）乃至Ｐ（１、ｐ）のうち、画像データＰ（１、１）乃至Ｐ（１、４）を出力する（図１２中、信号ＲＷ［１］乃至ＲＷ［４］）。
【０１４６】図１２では省略されているが、信号ＲＷ［１］乃至ＲＷ［４］は、Ｄ／Ａコンバータ７０でアナログ信号に変換され、積和演算回路８０に入力される。信号ＲＷ［１］乃至ＲＷ［３］は、積和演算回路８０において、それぞれ、フィルタＦ（１、１）乃至Ｆ（１、３）と掛け合わされる。また、信号ＲＷ［２］乃至ＲＷ［４］は、積和演算回路８０において、それぞれ、フィルタＦ（１、１）乃至Ｆ（１、３）と掛け合わされる。
【０１４７】同様に、シフトレジスタＳＲ＿Ｐ［２］は、画像データＰ（２、１）乃至Ｐ（２、４）を出力し（図１２中、信号ＲＷ［５］乃至ＲＷ［８］）、シフトレジスタＳＲ＿Ｐ［３］は、画像データＰ（３、１）乃至Ｐ（３、４）を出力し（図１２中、信号ＲＷ［９］乃至ＲＷ［１２］）、シフトレジスタＳＲ＿Ｐ［４］は、画像データＰ（４、１）乃至Ｐ（４、４）を出力する（図１２中、信号ＲＷ［１３］乃至ＲＷ［１６］）。
【０１４８】信号ＲＷ［５］乃至ＲＷ［７］は、積和演算回路８０において、それぞれ、フィルタＦ（２、１）乃至Ｆ（２、３）と掛け合わされ、ＲＷ［６］乃至ＲＷ［８］は、積和演算回路８０において、それぞれ、フィルタＦ（２、１）乃至Ｆ（２、３）と掛け合わされる。また、信号ＲＷ［９］乃至ＲＷ［１１］は、積和演算回路８０において、それぞれ、フィルタＦ（３、１）乃至Ｆ（３、３）と掛け合わされ、信号ＲＷ［１０］乃至ＲＷ［１２］は、積和演算回路８０において、それぞれ、フィルタＦ（３、１）乃至Ｆ（３、３）と掛け合わされる。
【０１４９】信号ＲＷ［１］乃至ＲＷ［３］とフィルタＦ（１、１）乃至Ｆ（１、３）が掛け合わされた結果と、信号ＲＷ［５］乃至ＲＷ［７］とフィルタＦ（２、１）乃至Ｆ（２、３）が掛け合わされた結果と、信号ＲＷ［９］乃至ＲＷ［１１］とフィルタＦ（３、１）乃至Ｆ（３、３）が掛け合わされた結果は、足し合わされ、積和演算回路８０はＹ（１、１）を出力する。
【０１５０】また、信号ＲＷ［２］乃至ＲＷ［４］とフィルタＦ（１、１）乃至Ｆ（１、３）が掛け合わされた結果と、信号ＲＷ［６］乃至ＲＷ［８］とフィルタＦ（２、１）乃至Ｆ（２、３）が掛け合わされた結果と、信号ＲＷ［１０］乃至ＲＷ［１２］とフィルタＦ（３、１）乃至Ｆ（３、３）が掛け合わされた結果は、足し合わされ、積和演算回路８０はＹ（１、２）を出力する。
【０１５１】同様に、シフトレジスタＳＲ＿Ｐ［２］が出力した画像データＰ（２、１）乃至Ｐ（２、３）は、信号ＲＷ［５］乃至ＲＷ［７］として、それぞれフィルタＦ（１、１）乃至Ｆ（１、３）と掛け合わされ、シフトレジスタＳＲ＿Ｐ［３］が出力した画像データＰ（３、１）乃至Ｐ（３、３）は、信号ＲＷ［９］乃至ＲＷ［１１］として、それぞれフィルタＦ（２、１）乃至Ｆ（２、３）と掛け合わされ、シフトレジスタＳＲ＿Ｐ［４］が出力した画像データＰ（４、１）乃至Ｐ（４、３）は、信号ＲＷ［１３］乃至ＲＷ［１５］として、それぞれフィルタＦ（３、１）乃至Ｆ（３、３）と掛け合わされ、それらが足し合わされ、積和演算回路８０はＹ（２、１）を出力する。
【０１５２】同様に、シフトレジスタＳＲ＿Ｐ［２］が出力した画像データＰ（２、２）乃至Ｐ（２、４）は、信号ＲＷ［６］乃至ＲＷ［８］として、それぞれフィルタＦ（１、１）乃至Ｆ（１、３）と掛け合わされ、シフトレジスタＳＲ＿Ｐ［３］が出力した画像データＰ（３、２）乃至Ｐ（３、４）は、信号ＲＷ［１０］乃至ＲＷ［１２］として、それぞれフィルタＦ（２、１）乃至Ｆ（２、３）と掛け合わされ、シフトレジスタＳＲ＿Ｐ［４］が出力した画像データＰ（４、２）乃至Ｐ（４、４）は、信号ＲＷ［１４］乃至ＲＷ［１６］として、それぞれフィルタＦ（３、１）乃至Ｆ（３、３）と掛け合わされ、それらが足し合わされ、積和演算回路８０はＹ（２、２）を出力する。
【０１５３】次に、図１３は、図１２におけるシフトレジスタＳＲ＿Ｐ［１］乃至ＳＲ＿Ｐ［ｑ］が、取り込んだ画像データＰ（１、１）乃至Ｐ（ｑ、ｐ）を、それぞれ１シフトさせた状態を示している。
【０１５４】すなわち、シフトレジスタＳＲ＿Ｐ［１］は画像データＰ（１、２）乃至Ｐ（１、５）を出力し、シフトレジスタＳＲ＿Ｐ［２］は画像データＰ（２、２）乃至Ｐ（２、５）を出力し、シフトレジスタＳＲ＿Ｐ［３］は画像データＰ（３、２）乃至Ｐ（３、５）を出力し、シフトレジスタＳＲ＿Ｐ［４］は画像データＰ（４、２）乃至Ｐ（４、５）を出力する。
【０１５５】図１２と同様に、シフトレジスタＳＲ＿Ｐ［１］が出力した画像データＰ（１、２）乃至Ｐ（１、４）は、信号ＲＷ［１］乃至ＲＷ［３］として、それぞれフィルタＦ（１、１）乃至Ｆ（１、３）と掛け合わされ、シフトレジスタＳＲ＿Ｐ［２］が出力した画像データＰ（２、２）乃至Ｐ（２、４）は、信号ＲＷ［５］乃至ＲＷ［７］として、それぞれフィルタＦ（２、１）乃至Ｆ（２、３）と掛け合わされ、シフトレジスタＳＲ＿Ｐ［３］が出力した画像データＰ（３、２）乃至Ｐ（３、４）は、信号ＲＷ［９］乃至ＲＷ［１１］として、それぞれフィルタＦ（３、１）乃至Ｆ（３、３）と掛け合わされ、それらが足し合わされ、積和演算回路８０はＹ（１、２）を出力する。
【０１５６】同様に、シフトレジスタＳＲ＿Ｐ［１］が出力した画像データＰ（１、３）乃至Ｐ（１、５）は、信号ＲＷ［２］乃至ＲＷ［４］として、それぞれフィルタＦ（１、１）乃至Ｆ（１、３）と掛け合わされ、シフトレジスタＳＲ＿Ｐ［２］が出力した画像データＰ（２、３）乃至Ｐ（２、５）は、信号ＲＷ［６］乃至ＲＷ［８］として、それぞれフィルタＦ（２、１）乃至Ｆ（２、３）と掛け合わされ、シフトレジスタＳＲ＿Ｐ［３］が出力した画像データＰ（３、３）乃至Ｐ（３、５）は、信号ＲＷ［１０］乃至ＲＷ［１２］として、それぞれフィルタＦ（３、１）乃至Ｆ（３、３）と掛け合わされ、それらが足し合わされ、積和演算回路８０はＹ（１、３）を出力する。
【０１５７】以下同様であり、Ｙ（２、２）およびＹ（２、３）については、図１２の説明を援用する。
【０１５８】ここで、図１２の説明において積和演算回路８０が出力するＹ（１、１）、Ｙ（１、２）、Ｙ（２、１）、Ｙ（２、２）、および、図１３の説明において積和演算回路８０が出力するＹ（１、２）、Ｙ（１、３）、Ｙ（２、２）、Ｙ（２、３）は、データを一度保存することなく、プーリング処理を行うことができる。
【０１５９】プーリング処理とは、画像データを小さな領域に区切り、その中から、例えば、最大値を取り出すことである。図１２の例では、Ｙ（１、１）、Ｙ（１、２）、Ｙ（２、１）、Ｙ（２、２）から最大値を取り出し、図１３の例では、Ｙ（１、２）、Ｙ（１、３）、Ｙ（２、２）、Ｙ（２、３）から最大値を取り出すことである。なお、本発明の一態様は図１２および図１３の例に限定されず、目的とするプーリング処理に合わせて、シフトレジスタ群６０および積和演算回路８０の構成を選択することができる。
【０１６０】このように、シフトレジスタ群６０は取り込んだ画像データの出力とシフトを繰り返し行い、積和演算回路８０は、シフトレジスタ群６０から出力される画像データとフィルタＦ（１、１）乃至Ｆ（ｓ、ｔ）の畳み込み演算を行い、積和演算回路８０の出力Ｙ（ｙ、ｘ）は、データを一度保存することなくプーリング処理を行うことができる。図２（Ａ）に示される半導体装置１００は、プーリング回路９０を加えて、図１４（Ａ）に示す半導体装置１０２とすることができる。
【０１６１】本発明の一形態である半導体装置１００乃至１０２のいずれか１つを用いることで、畳み込み演算を効率的に行うことができる。
【０１６２】なお、本実施の形態は、本明細書に記載する他の実施の形態と適宜組み合わせて実施することができる。
【０１６３】（実施の形態２）
上述したように、ニューラルネットワークは、ニューロンとシナプスで構成される神経回路網を模した回路構成、すなわち、ニューロンを模したユニットが互いに結合された回路構成を有している。それぞれのニューロンに入力された複数のデータは、それぞれ結合の強度を表す重み係数と掛け合わされ、その結果が足しあわされる（積和演算）。
【０１６４】ここで、画像認識の分野におけるフィルタのパラメータは、ニューラルネットワークにおける重み係数に相当するが、ニューラルネットワークが画像認識の分野において利用される場合の大きなメリットは、重み係数が学習によって得られることである。
【０１６５】すなわち、ニューラルネットワークが画像認識の分野において利用される場合、ニューラルネットワークに大量の画像データと、それぞれの画像データが表している物体が何であるのかの情報（教師データともいう）を与えることで、ニューラルネットワークは学習（教師あり学習ともいう）を行うことができる。そして、学習を行うことで、重み係数（フィルタのパラメータ）等が変更される。
【０１６６】十分に学習が行われたニューラルネットワークは、重み係数等が最適化され、与えられた画像データに対し、その画像データが表している物体が何であるかを推論することができる。本実施の形態では、上述のように学習と推論を行うことができるニューラルネットワークの一例についてと、ニューラルネットワークに適用可能な積和演算回路の一例について、説明を行う。なお、本実施の形態で説明する積和演算回路は、実施の形態１で例示した積和演算回路８０に適用可能である。
【０１６７】＜ニューラルネットワーク＞
以下、ニューラルネットワークの一例として階層型ニューラルネットワーク、および教師あり学習について説明する。
【０１６８】図１４（Ｂ）に、階層型ニューラルネットワークの構成例を示す。図１４（Ｂ）では、各層のニューロンを丸で示している。そして、図１４（Ｂ）では、入力層としての機能を有する第（ｌ−１）層と、中間層（隠れ層）としての機能を有する第ｌ層と、出力層としての機能を有する第（ｌ＋１）層の３層に分けられたニューロン（形式ニューロン）を有する、階層型ニューラルネットワークの構成例を示している（ｌは２以上の整数）。そして、第（ｌ−１）層が有するニューロンをＭ個（Ｍは２以上の整数）、第ｌ層が有するニューロンをＮ個（Ｎは２以上の整数）、第（ｌ＋１）層が有するニューロンをＫ個（Ｋは２以上の整数）とする。
【０１６９】なお、図１４（Ｂ）では、第（ｌ−１）層が有する複数のニューロンのうち、５つのニューロンを図示しており、第ｌ層が有する複数のニューロンのうち、４つのニューロンを図示しており、第（ｌ＋１）層が有する複数のニューロンのうち、３つのニューロンを図示している。
【０１７０】また、図１４（Ｂ）では、中間層が一層で構成されている階層型ニューラルネットワークの構成例を示しているが、中間層が複数の層で構成されていても良い。よって、Ｌ層（Ｌは３以上の整数）で構成される階層型ニューラルネットワークの場合、第１層が入力層に相当し、第２層乃至第（Ｌ−１）層が中間層に相当し、第Ｌ層が出力層に相当する。
【０１７１】図１４（Ｂ）において、第（ｌ−１）層のニューロンが有する第ｍニューロン（ｍは１以上Ｍ以下の整数）の出力ｚｍ（ｌ−１）が、第ｌ層のニューロンが有する第ｎニューロン（ｎは１以上Ｎ以下の整数）に入力されるものとする。また、第ｎニューロンの出力ｚｎ（ｌ）が、第（ｌ＋１）層のニューロンが有する第ｋニューロン（ｋは１以上Ｋ以下の整数）に入力されるものとする。また、第ｋニューロンの出力をｚｋ（ｌ＋１）とする。そして、第ｌ層の第ｎニューロンへの入力に対する重み係数をｗｎｍ（ｌ）、第（ｌ＋１）層の第ｋのニューロンへの入力に対する重み係数をｗｋｎ（ｌ＋１）とする。
【０１７２】上記条件のもと、第ｌ層の第ｎのニューロンへの入力の総和（ネット値）は、以下の式ｂ１で表される。
【０１７３】ｕｎ（ｌ）＝Σｍ  ｗｎｍ（ｌ）・ｚｍ（ｌ−１）                （ｂ１）
【０１７４】式ｂ１の演算処理は、後述する積和演算回路を用いることにより行うことができる。
【０１７５】また、第ｌ層の第ｎのニューロンの出力ｚｎ（ｌ）は、以下の式ｂ２で表される。
【０１７６】ｚｎ（ｌ）＝ｆ（ｕｎ（ｌ））                                  （ｂ２）
【０１７７】なお、ｆはニューロンの出力関数である。ニューロンの出力関数ｆとして、ステップ関数、線形ランプ関数、シグモイド関数などを用いることができる。例えば、式ｂ２の演算処理は、図１４（Ｃ）に示す回路２７０を用いることで実行することができる。回路２７０において、出力関数ｆは、ＯＰアンプの出力特性に対応する。また、ＯＰアンプからの出力信号を用いて、所望の出力関数に対応した演算回路において演算処理を行うことで、式ｂ２の演算処理を実現することもできる。
【０１７８】同様に、第（ｌ＋１）層の第ｋのニューロンへの入力の総和（ネット値）は、以下の式ｂ３で表される。
【０１７９】ｕｋ（ｌ＋１）＝Σｎ  ｗｋｎ（ｌ＋１）・ｚｎ（ｌ）        （ｂ３）
【０１８０】式ｂ３の演算処理は、後述する積和演算回路を用いることにより行うことができる。
【０１８１】また、第（ｌ＋１）層の第ｋのニューロンの出力ｚｋ（ｌ＋１）は、以下の式ｂ４で表される。
【０１８２】ｚｋ（ｌ＋１）＝ｆ（ｕｋ（ｌ＋１））                  （ｂ４）
【０１８３】例えば、式ｂ４の演算処理は、図１４（Ｄ）に示す回路２７１を用いることで実行することができる。回路２７１において、出力関数ｆは、回路２７０と同様に、ＯＰアンプの出力特性に対応する。また、ＯＰアンプからの出力信号を用いて、所望の出力関数に対応した演算回路において演算処理を行うことで、式ｂ４の演算処理を実現することもできる。
【０１８４】上記構成により、第ｋのニューロンの出力ｚｋ（ｌ＋１）を得ることができる。
【０１８５】次に、教師あり学習について説明する。教師あり学習とは、上述の階層型ニューラルネットワークの機能において、出力した結果と所望の結果（教師データ、または教師信号という場合がある）が異なった場合に、階層型ニューラルネットワークの全ての重み係数を、出力した結果と所望の結果とに基づいて、更新する動作をいう。
【０１８６】教師あり学習の具体例として、誤差逆伝播方式による学習方法について説明する。図１５（Ａ）に、誤差逆伝播方式の模式図を示す。誤差逆伝播方式は、階層型ニューラルネットワークの出力と教師データとの誤差が小さくなるように、重み係数を変更する方式である。
【０１８７】具体的に、誤差逆伝播方式は、出力層の出力ｚｋ（Ｌ）と教師データｔｋとで決まる誤差エネルギーＥに対して、第ｌ層の重み係数ｗｎｍ（ｌ）の更新量を∂Ｅ／∂ｗｎｍ（ｌ）として重み係数を変更する。
【０１８８】例えば、第１層の誤差δｎ（ｌ）を、δｎ（ｌ）≡∂Ｅ／∂ｕｎ（ｌ）と定義すると、誤差δｎ（ｌ）は以下の式ｂ５で表され、更新量∂Ｅ／∂ｗｎｍ（ｌ）は以下の式ｂ６で表される。なお、ｆ’はニューロンの出力関数の導関数である。
【０１８９】δｎ（ｌ）＝Σｋδｋ（ｌ＋１）・ｗｋｎ（ｌ＋１）・ｆ’（ｕｎ（ｌ））    （ｂ５）
∂Ｅ／∂ｗｎｍ（ｌ）＝δｎ（ｌ）・ｚｍ（ｌ−１）            （ｂ６）
【０１９０】例えば、式ｂ５の演算処理は、図１５（Ｂ）に示す回路２７２を用いることで実行することができる。また、式ｂ６の演算処理は、図１５（Ｃ）に示す回路２７３を用いることで実行することができる。なお、導関数は、例えば、ＯＰアンプからの出力信号を用いて、所望の導関数に対応した演算回路において演算処理を行うこともできる。
【０１９１】式ｂ５の演算処理の一部は、後述する積和演算回路を用いることにより行うことができる。
【０１９２】また、出力層である第（ｌ＋１）層の誤差δｋ（ｌ＋１）は以下の式ｂ７で表され、更新量∂Ｅ／∂ｗｋｎ（ｌ＋１）は以下の式ｂ８で表される。
【０１９３】δｋ（ｌ＋１）＝（ｚｋ（ｌ＋１）−ｔｋ）・ｆ’（ｕｋ（ｌ＋１））        （ｂ７）
∂Ｅ／∂ｗｋｎ（ｌ＋１）＝δｋ（ｌ＋１）・ｚｎ（ｌ）          （ｂ８）
【０１９４】例えば、式ｂ７の演算処理は、図１５（Ｄ）に示す回路２７４を用いることで実行することができる。式ｂ８の演算処理は、図１５（Ｃ）に示す回路２７３を用いることで実行することができる。
【０１９５】＜積和演算回路＞
学習と推論を行うことができるニューラルネットワークの一例として示した階層型ニューラルネットワークにおいて、式ｂ１および式ｂ３で示される演算処理を行う積和演算回路、および、実施の形態１で例示した積和演算回路８０に適用可能な積和演算回路の一例を、図１６に示す。
【０１９６】図１６に示す積和演算回路の一例は、アナログデータを用いてアナログ演算処理を行う機能を有する。アナログ演算処理を行う機能を有することにより、アナログデータをデジタルデータに変換することなく、或いはアナログデータをデジタルデータに変換する頻度を極力抑えつつ、演算処理を行うことができる。よって、膨大な量の演算処理を少なくすることができ、演算回路の規模を小さく抑えることができる。また、演算処理に要する時間を抑えることができる。
【０１９７】図１６に、積和演算回路の一例として、半導体装置１０７のブロック図を示す。図１６に示す半導体装置１０７は、記憶回路１１（ＭＥＭ）と、参照用記憶回路１２（ＲＭＥＭ）と、回路１３と、回路１４と、を有する。半導体装置１０７は、さらに電流源回路１５（ＣＲＥＦ）を有していても良い。
【０１９８】記憶回路１１（ＭＥＭ）は、メモリセルＭＣ［ｉ、ｊ］、メモリセルＭＣ［ｉ＋１、ｊ］で例示されるメモリセルＭＣを有する。また、各メモリセルＭＣは、入力された電位を電流に変換する機能を有する素子を有する。上記機能を有する素子として、例えばトランジスタなどの能動素子を用いることができる。図１６では、各メモリセルＭＣがトランジスタＴｒ２１を有する場合を例示している。
【０１９９】メモリセルＭＣには、配線ＷＤ［ｊ］で例示される配線ＷＤから第１のアナログ電位が入力される。第１のアナログ電位は第１のアナログデータに対応する。そして、メモリセルＭＣは、第１のアナログ電位に応じた第１のアナログ電流を生成する機能を有する。具体的には、トランジスタＴｒ２１のゲートに第１のアナログ電位を供給したときに得られるトランジスタＴｒ２１のドレイン電流を、第１のアナログ電流とすることができる。なお、以下、メモリセルＭＣ［ｉ、ｊ］に流れる電流をＩ［ｉ、ｊ］とし、メモリセルＭＣ［ｉ＋１、ｊ］に流れる電流をＩ［ｉ＋１、ｊ］とする。
【０２００】なお、トランジスタＴｒ２１が飽和領域で動作する場合、そのドレイン電流はソースとドレイン間の電圧に依存せず、ゲート電圧と閾値電圧の差分によって制御される。よって、トランジスタＴｒ２１は飽和領域で動作させることが望ましい。トランジスタＴｒ２１を飽和領域で動作させるために、そのゲート電圧、ソースとドレイン間の電圧は、飽和領域で動作する範囲の電圧に適切に設定されているものとする。
【０２０１】具体的に、図１６に示す半導体装置１０７では、メモリセルＭＣ［ｉ、ｊ］に配線ＷＤ［ｊ］から第１のアナログ電位Ｖｘ［ｉ、ｊ］が入力される。メモリセルＭＣ［ｉ、ｊ］は、第１のアナログ電位Ｖｘ［ｉ、ｊ］に応じた第１のアナログ電流を生成する機能を有する。すなわち、この場合、メモリセルＭＣ［ｉ、ｊ］の電流Ｉ［ｉ、ｊ］は、第１のアナログ電流に相当する。
【０２０２】また、具体的に、図１６に示す半導体装置１０７では、メモリセルＭＣ［ｉ＋１、ｊ］に配線ＷＤ［ｊ］から第１のアナログ電位Ｖｘ［ｉ＋１、ｊ］が入力される。メモリセルＭＣ［ｉ＋１、ｊ］は、第１のアナログ電位Ｖｘ［ｉ＋１、ｊ］に応じた第１のアナログ電流を生成する機能を有する。すなわち、この場合、メモリセルＭＣ［ｉ＋１、ｊ］の電流Ｉ［ｉ＋１、ｊ］は、第１のアナログ電流に相当する。
【０２０３】そして、メモリセルＭＣは、第１のアナログ電位を保持する機能を有する。すなわち、メモリセルＭＣは、第１のアナログ電位を保持することで、第１のアナログ電位に応じた第１のアナログ電流を保持する機能を有すると言える。
【０２０４】また、メモリセルＭＣには、配線ＲＷ［ｉ］、配線ＲＷ［ｉ＋１］で例示される配線ＲＷから第２のアナログ電位が入力される。第２のアナログ電位は第２のアナログデータに対応する。メモリセルＭＣは、既に保持されている第１のアナログ電位に、第２のアナログ電位を加算する機能と、加算することで得られる第３のアナログ電位を保持する機能とを有する。そして、メモリセルＭＣは、第３のアナログ電位に応じた第２のアナログ電流を生成する機能を有する。すなわち、メモリセルＭＣは、第３のアナログ電位を保持することで、第３のアナログ電位に応じた第２のアナログ電流を保持する機能を有すると言える。
【０２０５】具体的に、図１６に示す半導体装置１０７では、メモリセルＭＣ［ｉ、ｊ］に配線ＲＷ［ｉ］から第２のアナログ電位Ｖｗ［ｉ、ｊ］が入力される。そして、メモリセルＭＣ［ｉ、ｊ］は、第１のアナログ電位Ｖｘ［ｉ、ｊ］及び第２のアナログ電位Ｖｗ［ｉ、ｊ］に応じた第３のアナログ電位を保持する機能を有する。そして、メモリセルＭＣ［ｉ、ｊ］は、第３のアナログ電位に応じた第２のアナログ電流を生成する機能を有する。すなわち、この場合、メモリセルＭＣ［ｉ、ｊ］の電流Ｉ［ｉ、ｊ］は、第２のアナログ電流に相当する。
【０２０６】また、図１６に示す半導体装置１０７では、メモリセルＭＣ［ｉ＋１、ｊ］に配線ＲＷ［ｉ＋１］から第２のアナログ電位Ｖｗ［ｉ＋１、ｊ］が入力される。そして、メモリセルＭＣ［ｉ＋１、ｊ］は、第１のアナログ電位Ｖｘ［ｉ＋１、ｊ］及び第２のアナログ電位Ｖｗ［ｉ＋１、ｊ］に応じた第３のアナログ電位を保持する機能を有する。そして、メモリセルＭＣ［ｉ＋１、ｊ］は、第３のアナログ電位に応じた第２のアナログ電流を生成する機能を有する。すなわち、この場合、メモリセルＭＣ［ｉ＋１、ｊ］の電流Ｉ［ｉ＋１、ｊ］は、第２のアナログ電流に相当する。
【０２０７】そして、電流Ｉ［ｉ、ｊ］は、メモリセルＭＣ［ｉ、ｊ］を介して配線ＢＬ［ｊ］と配線ＶＲ［ｊ］の間を流れる。電流Ｉ［ｉ＋１、ｊ］は、メモリセルＭＣ［ｉ＋１、ｊ］を介して配線ＢＬ［ｊ］と配線ＶＲ［ｊ］の間を流れる。よって、電流Ｉ［ｉ、ｊ］と電流Ｉ［ｉ＋１、ｊ］との和に相当する電流Ｉ［ｊ］が、メモリセルＭＣ［ｉ、ｊ］及びメモリセルＭＣ［ｉ＋１、ｊ］を介して配線ＢＬ［ｊ］と配線ＶＲ［ｊ］の間を流れることとなる。
【０２０８】参照用記憶回路１２（ＲＭＥＭ）は、メモリセルＭＣＲ［ｉ］、メモリセルＭＣＲ［ｉ＋１］で例示されるメモリセルＭＣＲを有する。メモリセルＭＣＲには、配線ＷＤＲＥＦから第１の参照電位ＶＰＲが入力される。そして、メモリセルＭＣＲは、第１の参照電位ＶＰＲに応じた第１の参照電流を生成する機能を有する。なお、以下、メモリセルＭＣＲ［ｉ］に流れる電流をＩＲＥＦ［ｉ］とし、メモリセルＭＣＲ［ｉ＋１］に流れる電流をＩＲＥＦ［ｉ＋１］とする。
【０２０９】そして、具体的に、図１６に示す半導体装置１０７では、メモリセルＭＣＲ［ｉ］に配線ＷＤＲＥＦから第１の参照電位ＶＰＲが入力される。メモリセルＭＣＲ［ｉ］は、第１の参照電位ＶＰＲに応じた第１の参照電流を生成する機能を有する。すなわち、この場合、メモリセルＭＣＲ［ｉ］の電流ＩＲＥＦ［ｉ］は、第１の参照電流に相当する。
【０２１０】また、図１６に示す半導体装置１０７では、メモリセルＭＣＲ［ｉ＋１］に配線ＷＤＲＥＦから第１の参照電位ＶＰＲが入力される。メモリセルＭＣＲ［ｉ＋１］は、第１の参照電位ＶＰＲに応じた第１の参照電流を生成する機能を有する。すなわち、この場合、メモリセルＭＣＲ［ｉ＋１］の電流ＩＲＥＦ［ｉ＋１］は、第１の参照電流に相当する。
【０２１１】そして、メモリセルＭＣＲは、第１の参照電位ＶＰＲを保持する機能を有する。すなわち、メモリセルＭＣＲは、第１の参照電位ＶＰＲを保持することで、第１の参照電位ＶＰＲに応じた第１の参照電流を保持する機能を有すると言える。
【０２１２】また、メモリセルＭＣＲには、配線ＲＷ［ｉ］、配線ＲＷ［ｉ＋１］で例示される配線ＲＷから第２のアナログ電位が入力される。メモリセルＭＣＲは、既に保持されている第１の参照電位ＶＰＲに、第２のアナログ電位を加算し、加算することで得られる第２の参照電位を保持する機能を有する。そして、メモリセルＭＣＲは、第２の参照電位に応じた第２の参照電流を生成する機能を有する。すなわち、メモリセルＭＣＲは、第２の参照電位を保持することで、第２の参照電位に応じた第２の参照電流を保持する機能を有すると言える。
【０２１３】具体的に、図１６に示す半導体装置１０７では、メモリセルＭＣＲ［ｉ］に配線ＲＷ［ｉ］から第２のアナログ電位Ｖｗ［ｉ、ｊ］が入力される。そして、メモリセルＭＣＲ［ｉ］は、第１の参照電位ＶＰＲ及び第２のアナログ電位Ｖｗ［ｉ、ｊ］に応じた第２の参照電位を保持する機能を有する。そして、メモリセルＭＣＲ［ｉ］は、第２の参照電位に応じた第２の参照電流を生成する機能を有する。すなわち、この場合、メモリセルＭＣＲ［ｉ］の電流ＩＲＥＦ［ｉ］は、第２の参照電流に相当する。
【０２１４】また、図１６に示す半導体装置１０７では、メモリセルＭＣＲ［ｉ＋１］に配線ＲＷ［ｉ＋１］から第２のアナログ電位Ｖｗ［ｉ＋１、ｊ］が入力される。そして、メモリセルＭＣＲ［ｉ＋１］は、第１の参照電位ＶＰＲ及び第２のアナログ電位Ｖｗ［ｉ＋１、ｊ］に応じた第２の参照電位を保持する機能を有する。そして、メモリセルＭＣＲ［ｉ＋１］は、第２の参照電位に応じた第２の参照電流を生成する機能を有する。すなわち、この場合、メモリセルＭＣＲ［ｉ＋１］の電流ＩＲＥＦ［ｉ＋１］は、第２の参照電流に相当する。
【０２１５】そして、電流ＩＲＥＦ［ｉ］は、メモリセルＭＣＲ［ｉ］を介して配線ＢＬＲＥＦと配線ＶＲＲＥＦの間を流れる。電流ＩＲＥＦ［ｉ＋１］は、メモリセルＭＣＲ［ｉ＋１］を介して配線ＢＬＲＥＦと配線ＶＲＲＥＦの間を流れる。よって、電流ＩＲＥＦ［ｉ］と電流ＩＲＥＦ［ｉ＋１］との和に相当する電流ＩＲＥＦが、メモリセルＭＣＲ［ｉ］及びメモリセルＭＣＲ［ｉ＋１］を介して配線ＢＬＲＥＦと配線ＶＲＲＥＦの間を流れることとなる。
【０２１６】電流源回路１５は、配線ＢＬＲＥＦに流れる電流ＩＲＥＦと同じ値の電流、もしくは電流ＩＲＥＦに対応する電流を、配線ＢＬに供給する機能を有する。そして、後述するオフセットの電流を設定する際には、メモリセルＭＣ［ｉ、ｊ］及びメモリセルＭＣ［ｉ＋１、ｊ］を介して配線ＢＬ［ｊ］と配線ＶＲ［ｊ］の間を流れる電流Ｉ［ｊ］が、メモリセルＭＣＲ［ｉ］及びメモリセルＭＣＲ［ｉ＋１］を介して配線ＢＬＲＥＦと配線ＶＲＲＥＦの間を流れる電流ＩＲＥＦと異なる場合、差分の電流は回路１３または回路１４に流れる。回路１３は電流ソース回路としての機能を有し、回路１４は電流シンク回路としての機能を有する。
【０２１７】具体的に、電流Ｉ［ｊ］が電流ＩＲＥＦよりも大きい場合、回路１３は、電流Ｉ［ｊ］と電流ＩＲＥＦの差分に相当する電流ΔＩ［ｊ］を生成する機能を有する。また、回路１３は、生成した電流ΔＩ［ｊ］を配線ＢＬ［ｊ］に供給する機能を有する。すなわち、回路１３は、電流ΔＩ［ｊ］を保持する機能を有すると言える。
【０２１８】また、電流Ｉ［ｊ］が電流ＩＲＥＦよりも小さい場合、回路１４は、電流Ｉ［ｊ］と電流ＩＲＥＦの差分に相当する電流ΔＩ［ｊ］を生成する機能を有する。また、回路１４は、生成した電流ΔＩ［ｊ］を配線ＢＬ［ｊ］から引き込む機能を有する。すなわち、回路１４は、電流ΔＩ［ｊ］を保持する機能を有すると言える。
【０２１９】次いで、図１６に示す半導体装置１０７の動作の一例について説明する。
【０２２０】まず、メモリセルＭＣ［ｉ、ｊ］に第１のアナログ電位に応じた電位を格納する。具体的には、第１の参照電位ＶＰＲから第１のアナログ電位Ｖｘ［ｉ、ｊ］を差し引いた電位ＶＰＲ−Ｖｘ［ｉ、ｊ］が、配線ＷＤ［ｊ］を介してメモリセルＭＣ［ｉ、ｊ］に入力される。メモリセルＭＣ［ｉ、ｊ］では、電位ＶＰＲ−Ｖｘ［ｉ、ｊ］が保持される。また、メモリセルＭＣ［ｉ、ｊ］では、電位ＶＰＲ−Ｖｘ［ｉ、ｊ］に応じた電流Ｉ［ｉ、ｊ］が生成される。例えば、第１の参照電位ＶＰＲは、接地電位よりも高いハイレベルの電位とする。具体的には、接地電位よりも高く、電流源回路１５に供給されるハイレベルの電位ＶＤＤと同程度か、それ以下の電位であることが望ましい。
【０２２１】また、メモリセルＭＣＲ［ｉ］に第１の参照電位ＶＰＲを格納する。具体的には、電位ＶＰＲが、配線ＷＤＲＥＦを介してメモリセルＭＣＲ［ｉ］に入力される。メモリセルＭＣＲ［ｉ］では、電位ＶＰＲが保持される。また、メモリセルＭＣＲ［ｉ］では、電位ＶＰＲに応じた電流ＩＲＥＦ［ｉ］が生成される。
【０２２２】また、メモリセルＭＣ［ｉ＋１、ｊ］に第１のアナログ電位に応じた電位を格納する。具体的には、第１の参照電位ＶＰＲから第１のアナログ電位Ｖｘ［ｉ＋１、ｊ］を差し引いた電位ＶＰＲ−Ｖｘ［ｉ＋１、ｊ］が、配線ＷＤ［ｊ］を介してメモリセルＭＣ［ｉ＋１、ｊ］に入力される。メモリセルＭＣ［ｉ＋１、ｊ］では、電位ＶＰＲ−Ｖｘ［ｉ＋１、ｊ］が保持される。また、メモリセルＭＣ［ｉ＋１、ｊ］では、電位ＶＰＲ−Ｖｘ［ｉ＋１、ｊ］に応じた電流Ｉ［ｉ＋１、ｊ］が生成される。
【０２２３】また、メモリセルＭＣＲ［ｉ＋１］に第１の参照電位ＶＰＲを格納する。具体的には、電位ＶＰＲが、配線ＷＤＲＥＦを介してメモリセルＭＣＲ［ｉ＋１］に入力される。メモリセルＭＣＲ［ｉ＋１］では、電位ＶＰＲが保持される。また、メモリセルＭＣＲ［ｉ＋１］では、電位ＶＰＲに応じた電流ＩＲＥＦ［ｉ＋１］が生成される。
【０２２４】上記動作において、配線ＲＷ［ｉ］及び配線ＲＷ［ｉ＋１］は基準電位とする。例えば、基準電位として接地電位、接地電位よりも低いローレベルの電位ＶＳＳなどを用いることができる。或いは、基準電位として電位ＶＳＳと電位ＶＤＤの間の電位を用いると、第２のアナログ電位Ｖｗを正負にしても、配線ＲＷの電位を接地電位よりも高くできるので信号の生成を容易にすることができ、正負のアナログデータに対する積演算が可能になるので好ましい。
【０２２５】上記動作により、配線ＢＬ［ｊ］には、配線ＢＬ［ｊ］に電気的に接続されたメモリセルＭＣにおいてそれぞれ生成される電流を合わせた電流が、流れることとなる。具体的に図１６では、メモリセルＭＣ［ｉ、ｊ］で生成される電流Ｉ［ｉ、ｊ］と、メモリセルＭＣ［ｉ＋１、ｊ］で生成される電流Ｉ［ｉ＋１、ｊ］とを合わせた電流Ｉ［ｊ］が流れる。また、上記動作により、配線ＢＬＲＥＦには、配線ＢＬＲＥＦに電気的に接続されたメモリセルＭＣＲにおいてそれぞれ生成される電流を合わせた電流が、流れることとなる。具体的に図１６では、メモリセルＭＣＲ［ｉ］で生成される電流ＩＲＥＦ［ｉ］と、メモリセルＭＣＲ［ｉ＋１］で生成される電流ＩＲＥＦ［ｉ＋１］とを合わせた電流ＩＲＥＦが流れる。
【０２２６】次いで、配線ＲＷ［ｉ］及び配線ＲＷ［ｉ＋１］の電位を基準電位としたまま、第１のアナログ電位を入力することによって得られる電流Ｉ［ｊ］と第１の参照電位を入力することによって得られる電流ＩＲＥＦとの差分から得られるオフセットの電流Ｉｏｆｆｓｅｔ［ｊ］を、回路１３または回路１４において保持する。
【０２２７】具体的に、電流Ｉ［ｊ］が電流ＩＲＥＦよりも大きい場合、回路１３は電流Ｉｏｆｆｓｅｔ［ｊ］を配線ＢＬ［ｊ］に供給する。すなわち、回路１３に流れる電流ＩＣＭ［ｊ］は電流Ｉｏｆｆｓｅｔ［ｊ］に相当することとなる。そして、当該電流ＩＣＭ［ｊ］の値は回路１３において保持される。また、電流Ｉ［ｊ］が電流ＩＲＥＦよりも小さい場合、回路１４は電流Ｉｏｆｆｓｅｔ［ｊ］を配線ＢＬ［ｊ］から引き込む。すなわち、回路１４に流れる電流ＩＣＰ［ｊ］は電流Ｉｏｆｆｓｅｔ［ｊ］に相当することとなる。そして、当該電流ＩＣＰ［ｊ］の値は回路１４において保持される。
【０２２８】次いで、既にメモリセルＭＣ［ｉ、ｊ］において保持されている第１のアナログ電位に加算するように、第２のアナログ電位をメモリセルＭＣ［ｉ、ｊ］に格納する。具体的には、配線ＲＷ［ｉ］の電位を基準電位に対してＶｗ［ｉ］だけ高い電位とすることで、第２のアナログ電位Ｖｗ［ｉ］が、配線ＲＷ［ｉ］を介してメモリセルＭＣ［ｉ、ｊ］に入力される。メモリセルＭＣ［ｉ、ｊ］では、電位ＶＰＲ−Ｖｘ［ｉ、ｊ］＋Ｖｗ［ｉ］が保持される。また、メモリセルＭＣ［ｉ、ｊ］では、電位ＶＰＲ−Ｖｘ［ｉ、ｊ］＋Ｖｗ［ｉ］に応じた電流Ｉ［ｉ、ｊ］が生成される。
【０２２９】また、既にメモリセルＭＣ［ｉ＋１、ｊ］において保持されている第１のアナログ電位に加算するように、第２のアナログ電位をメモリセルＭＣ［ｉ＋１、ｊ］に格納する。具体的には、配線ＲＷ［ｉ＋１］の電位を基準電位に対してＶｗ［ｉ＋１］だけ高い電位とすることで、第２のアナログ電位Ｖｗ［ｉ＋１］が、配線ＲＷ［ｉ＋１］を介してメモリセルＭＣ［ｉ＋１、ｊ］に入力される。メモリセルＭＣ［ｉ＋１、ｊ］では、電位ＶＰＲ−Ｖｘ［ｉ＋１、ｊ］＋Ｖｗ［ｉ＋１］が保持される。また、メモリセルＭＣ［ｉ＋１、ｊ］では、電位ＶＰＲ−Ｖｘ［ｉ＋１、ｊ］＋Ｖｗ［ｉ＋１］に応じた電流Ｉ［ｉ＋１、ｊ］が生成される。
【０２３０】なお、電位を電流に変換する素子として飽和領域で動作するトランジスタＴｒ２１を用いる場合、配線ＲＷ［ｉ］の電位がＶｗ［ｉ］であり、配線ＲＷ［ｉ＋１］の電位がＶｗ［ｉ＋１］であると仮定すると、メモリセルＭＣ［ｉ、ｊ］が有するトランジスタＴｒ２１のドレイン電流が電流Ｉ［ｉ、ｊ］に相当するので、第２のアナログ電流は以下の式ｂ９で表される。なお、ｋは係数、ＶｔｈはトランジスタＴｒ２１の閾値電圧である。
【０２３１】Ｉ［ｉ、ｊ］＝ｋ（Ｖｗ［ｉ］−Ｖｔｈ＋ＶＰＲ−Ｖｘ［ｉ、ｊ］）２      （ｂ９）
【０２３２】また、メモリセルＭＣＲ［ｉ］が有するトランジスタＴｒ２１のドレイン電流が電流ＩＲＥＦ［ｉ］に相当するので、第２の参照電流は以下の式ｂ１０で表される。
【０２３３】ＩＲＥＦ［ｉ］＝ｋ（Ｖｗ［ｉ］−Ｖｔｈ＋ＶＰＲ）２      （ｂ１０）
【０２３４】そして、メモリセルＭＣ［ｉ、ｊ］に流れる電流Ｉ［ｉ、ｊ］と、メモリセルＭＣ［ｉ＋１、ｊ］に流れる電流Ｉ［ｉ＋１、ｊ］の和に相当する電流Ｉ［ｊ］は、Ｉ［ｊ］＝ΣｉＩ［ｉ、ｊ］であり、メモリセルＭＣＲ［ｉ］に流れる電流ＩＲＥＦ［ｉ］と、メモリセルＭＣＲ［ｉ＋１］に流れる電流ＩＲＥＦ［ｉ＋１］の和に相当する電流ＩＲＥＦは、ＩＲＥＦ＝ΣｉＩＲＥＦ［ｉ］となり、その差分に相当する電流ΔＩ［ｊ］は以下の式ｂ１１で表される。
【０２３５】ΔＩ［ｊ］＝ＩＲＥＦ−Ｉ［ｊ］＝ΣｉＩＲＥＦ［ｉ］−ΣｉＩ［ｉ、ｊ］  （ｂ１１）
【０２３６】式ｂ９、式ｂ１０、式ｂ１１から、電流ΔＩ［ｊ］は以下の式ｂ１２のように導き出される。
【０２３７】ΔＩ［ｊ］
＝Σｉ｛ｋ（Ｖｗ［ｉ］−Ｖｔｈ＋ＶＰＲ）２−ｋ（Ｖｗ［ｉ］−Ｖｔｈ＋ＶＰＲ−Ｖｘ［ｉ、ｊ］）２｝
＝２ｋΣｉ（Ｖｗ［ｉ］・Ｖｘ［ｉ、ｊ］）−２ｋΣｉ（Ｖｔｈ−ＶＰＲ）・Ｖｘ［ｉ、ｊ］−ｋΣｉＶｘ［ｉ、ｊ］２        （ｂ１２）
【０２３８】式ｂ１２において、２ｋΣｉ（Ｖｗ［ｉ］・Ｖｘ［ｉ、ｊ］）で示される項は、第１のアナログ電位Ｖｘ［ｉ、ｊ］及び第２のアナログ電位Ｖｗ［ｉ］の積と、第１のアナログ電位Ｖｘ［ｉ＋１、ｊ］及び第２のアナログ電位Ｖｗ［ｉ＋１］の積と、の和に相当する。
【０２３９】また、電流Ｉｏｆｆｓｅｔ［ｊ］は、配線ＲＷの電位を全て基準電位としたとき、すなわち第２のアナログ電位Ｖｗ［ｉ］を０、第２のアナログ電位Ｖｗ［ｉ＋１］を０としたときの電流ΔＩ［ｊ］とすると、式ｂ１２から、以下の式ｂ１３が導き出される。
【０２４０】Ｉｏｆｆｓｅｔ［ｊ］＝−２ｋΣｉ（Ｖｔｈ−ＶＰＲ）・Ｖｘ［ｉ、ｊ］−ｋΣｉＶｘ［ｉ、ｊ］２      （ｂ１３）
【０２４１】したがって、式ｂ１１乃至式ｂ１３から、第１のアナログデータと第２のアナログデータの積和値に相当する２ｋΣｉ（Ｖｗ［ｉ］・Ｖｘ［ｉ、ｊ］）は、以下の式ｂ１４で表されることが分かる。
【０２４２】２ｋΣｉ（Ｖｗ［ｉ］・Ｖｘ［ｉ、ｊ］）＝ＩＲＥＦ−Ｉ［ｊ］−Ｉｏｆｆｓｅｔ［ｊ］      （ｂ１４）
【０２４３】そして、メモリセルＭＣに流れる電流の和を電流Ｉ［ｊ］、メモリセルＭＣＲに流れる電流の和を電流ＩＲＥＦ、回路１３または回路１４に流れる電流を電流Ｉｏｆｆｓｅｔ［ｊ］とすると、配線ＲＷ［ｉ］の電位をＶｗ［ｉ］、配線ＲＷ［ｉ＋１］の電位をＶｗ［ｉ＋１］としたときに配線ＢＬ［ｊ］から流れ出る電流Ｉｏｕｔ［ｊ］は、ＩＲＥＦ−Ｉ［ｊ］−Ｉｏｆｆｓｅｔ［ｊ］で表される。式ｂ１４から、電流Ｉｏｕｔ［ｊ］は、２ｋΣｉ（Ｖｗ［ｉ］・Ｖｘ［ｉ、ｊ］）であり、第１のアナログ電位Ｖｘ［ｉ、ｊ］及び第２のアナログ電位Ｖｗ［ｉ］の積と、第１のアナログ電位Ｖｘ［ｉ＋１、ｊ］及び第２のアナログ電位Ｖｗ［ｉ＋１］の積と、の和に相当することが分かる。
【０２４４】なお、トランジスタＴｒ２１は飽和領域で動作させることが望ましいが、トランジスタＴｒ２１の動作領域が理想的な飽和領域と異なっていたとしても、第１のアナログ電位Ｖｘ［ｉ、ｊ］及び第２のアナログ電位Ｖｗ［ｉ］の積と、第１のアナログ電位Ｖｘ［ｉ＋１、ｊ］及び第２のアナログ電位Ｖｗ［ｉ＋１］の積との和に相当する電流を、所望の範囲内の精度で問題なく得ることができる場合は、トランジスタＴｒ２１は飽和領域で動作しているものとみなせる。
【０２４５】例えば、ｊ列目のメモリセルＭＣ［１、ｊ］乃至［Ｍ、ｊ］に第ｌ層の各ニューロンの重み係数ｗｎ１（ｌ）乃至ｗｎＭ（ｌ）を第１のアナログデータとしてそれぞれ格納し、配線ＲＷ［１］乃至配線ＲＷ［Ｍ］を介して第（ｌ−１）層のニューロンの出力ｚ１（ｌ−１）乃至出力ｚＭ（ｌ−１）をメモリセルＭＣ［１、ｊ］乃至メモリセルＭＣ［Ｍ、ｊ］に第２のアナログデータとしてそれぞれ入力する。上記動作により、第ｌ層の第ｎのニューロンへの入力の総和（ネット値）ｕｎ（ｌ）を、電流ΔＩｏｕｔ［ｊ］から得ることができる。従って、半導体装置１０７を用いることにより、式ｂ１の演算を行うことができる。
【０２４６】例えば、ｊ列目のメモリセルＭＣ［１、ｊ］乃至［Ｍ、ｊ］に第（ｌ＋１）層の各ニューロンの重み係数ｗｎ１（ｌ＋１）乃至ｗｎＭ（ｌ＋１）を第１のアナログデータとしてそれぞれ格納し、配線ＲＷ［１］乃至配線ＲＷ［Ｍ］を介して第ｌ層のニューロンの出力ｚ１ｌ乃至出力ｚＭｌをメモリセルＭＣ［１、ｊ］乃至メモリセルＭＣ［Ｍ、ｊ］に第２のアナログデータとしてそれぞれ入力する。上記動作により、第（ｌ＋１）層の第ｋのニューロンへの入力の総和（ネット値）ｕｋ（ｌ＋１）を、電流ΔＩｏｕｔ［ｊ］から得ることができる。従って、半導体装置１０７を用いることにより、式ｂ３の演算を行うことができる。
【０２４７】例えば、ｊ列目のメモリセルＭＣ［１、ｊ］乃至［Ｋ、ｊ］に第（ｌ＋１）層の各ニューロンの重み係数ｗｎ１（ｌ＋１）乃至ｗｎＫ（ｌ＋１）を第１のアナログデータとしてそれぞれ格納し、配線ＲＷ［１］乃至配線ＲＷ［Ｋ］を介して第（ｌ＋１）層のニューロンの誤差δ１（ｌ＋１）乃至δＫ（ｌ＋１）をメモリセルＭＣ［１、ｊ］乃至［Ｋ、ｊ］に第２のアナログデータとしてそれぞれ入力する。上記動作により、式ｂ５におけるΣｋδｋ（ｌ＋１）・ｗｋｎ（ｌ＋１）の値を、電流ΔＩｏｕｔ［ｊ］から得ることができる。従って、半導体装置１０７を用いることにより、式ｂ５の演算の一部を行うことができる。
【０２４８】本発明の一態様により、アナログデータの演算処理をデジタルデータに変換せずとも実行することができるので、演算回路の回路規模を小さく抑えることができる。或いは、本発明の一態様により、アナログデータの演算処理をデジタルデータに変換せずとも実行することができるので、アナログデータの演算処理に要する時間を抑えることができる。或いは、本発明の一態様により、アナログデータの演算処理に要する時間を抑えつつ、演算回路の低消費電力化を実現することができる。
【０２４９】次いで、記憶回路１１（ＭＥＭ）と、参照用記憶回路１２（ＲＭＥＭ）の具体的な構成の一例について、図１７を用いて説明する。
【０２５０】図１７では、記憶回路１１（ＭＥＭ）がｙ行ｘ列（ｘ、ｙは自然数）の複数のメモリセルＭＣを有し、参照用記憶回路１２（ＲＭＥＭ）がｙ行１列の複数のメモリセルＭＣＲを有する場合を例示している。
【０２５１】記憶回路１１は、配線ＲＷと、配線ＷＷと、配線ＷＤと、配線ＶＲと、配線ＢＬとに電気的に接続されている。図１７では、配線ＲＷ［１］乃至配線ＲＷ［ｙ］が各行のメモリセルＭＣにそれぞれ電気的に接続され、配線ＷＷ［１］乃至配線ＷＷ［ｙ］が各行のメモリセルＭＣにそれぞれ電気的に接続され、配線ＷＤ［１］乃至配線ＷＤ［ｘ］が各列のメモリセルＭＣにそれぞれ電気的に接続され、配線ＢＬ［１］乃至配線ＢＬ［ｘ］が各列のメモリセルＭＣにそれぞれ電気的に接続されている場合を例示している。また、図１７では、配線ＶＲ［１］乃至配線ＶＲ［ｘ］が各列のメモリセルＭＣにそれぞれ電気的に接続されている場合を例示している。なお、配線ＶＲ［１］乃至配線ＶＲ［ｘ］は、互いに電気的に接続されていても良い。
【０２５２】そして、参照用記憶回路１２は、配線ＲＷと、配線ＷＷと、配線ＷＤＲＥＦと、配線ＶＲＲＥＦと、配線ＢＬＲＥＦとに電気的に接続されている。図１７では、配線ＲＷ［１］乃至配線ＲＷ［ｙ］が各行のメモリセルＭＣＲにそれぞれ電気的に接続され、配線ＷＷ［１］乃至配線ＷＷ［ｙ］が各行のメモリセルＭＣＲにそれぞれ電気的に接続され、配線ＷＤＲＥＦが一列のメモリセルＭＣＲにそれぞれ電気的に接続され、配線ＢＬＲＥＦが一列のメモリセルＭＣＲにそれぞれ電気的に接続され、配線ＶＲＲＥＦが一列のメモリセルＭＣＲにそれぞれ電気的に接続されている場合を例示している。なお、配線ＶＲＲＥＦは、配線ＶＲ［１］乃至配線ＶＲ［ｘ］に電気的に接続されていても良い。
【０２５３】次いで、図１７に示した複数のメモリセルＭＣのうち、任意の２行２列のメモリセルＭＣと、図１７に示した複数のメモリセルＭＣＲのうち、任意の２行１列のメモリセルＭＣＲとの、具体的な回路構成と接続関係とを、一例として図１８に示す。
【０２５４】具体的に図１８では、ｉ行ｊ列目のメモリセルＭＣ［ｉ、ｊ］と、ｉ＋１行ｊ列目のメモリセルＭＣ［ｉ＋１、ｊ］と、ｉ行ｊ＋１列目のメモリセルＭＣ［ｉ、ｊ＋１］と、ｉ＋１行ｊ＋１列目のメモリセルＭＣ［ｉ＋１、ｊ＋１］とを図示している。また、具体的に図１８では、ｉ行目のメモリセルＭＣＲ［ｉ］と、ｉ＋１行目のメモリセルＭＣＲ［ｉ＋１］とを図示している。なお、ｉは１からｙ−１までの任意の数で、ｊは１からｘ−１までの任意の数とする。
【０２５５】ｉ行目のメモリセルＭＣ［ｉ、ｊ］と、メモリセルＭＣ［ｉ、ｊ＋１］と、メモリセルＭＣＲ［ｉ］は、配線ＲＷ［ｉ］及び配線ＷＷ［ｉ］に電気的に接続されている。また、ｉ＋１行目のメモリセルＭＣ［ｉ＋１、ｊ］と、メモリセルＭＣ［ｉ＋１、ｊ＋１］と、メモリセルＭＣＲ［ｉ＋１］は、配線ＲＷ［ｉ＋１］及び配線ＷＷ［ｉ＋１］に電気的に接続されている。
【０２５６】ｊ列目のメモリセルＭＣ［ｉ、ｊ］と、メモリセルＭＣ［ｉ＋１、ｊ］は、配線ＷＤ［ｊ］、配線ＶＲ［ｊ］、及び配線ＢＬ［ｊ］に電気的に接続されている。また、ｊ＋１列目のメモリセルＭＣ［ｉ、ｊ＋１］と、メモリセルＭＣ［ｉ＋１、ｊ＋１］は、配線ＷＤ［ｊ＋１］、配線ＶＲ［ｊ＋１］、及び配線ＢＬ［ｊ＋１］に電気的に接続されている。また、メモリセルＭＣＲ［ｉ］と、ｉ＋１行目のメモリセルＭＣＲ［ｉ＋１］は、配線ＷＤＲＥＦ、配線ＶＲＲＥＦ、及び配線ＢＬＲＥＦに電気的に接続されている。
【０２５７】そして、各メモリセルＭＣと各メモリセルＭＣＲは、トランジスタＴｒ２１と、トランジスタＴｒ２２と、容量素子Ｃ２１と、を有する。トランジスタＴｒ２２は、メモリセルＭＣまたはメモリセルＭＣＲへの第１のアナログ電位の入力を制御する機能を有する。トランジスタＴｒ２１は、ゲートに入力された電位に従って、アナログ電流を生成する機能を有する。容量素子Ｃ２１は、メモリセルＭＣまたはメモリセルＭＣＲにおいて保持されている第１のアナログ電位に、第２のアナログ電位を加算する機能を有する。
【０２５８】具体的に、図１８に示すメモリセルＭＣでは、トランジスタＴｒ２２は、ゲートが配線ＷＷに電気的に接続され、ソース又はドレインの一方が配線ＷＤに電気的に接続され、ソース又はドレインの他方がトランジスタＴｒ２１のゲートに電気的に接続されている。また、トランジスタＴｒ２１は、ソース又はドレインの一方が配線ＶＲに電気的に接続され、ソース又はドレインの他方が配線ＢＬに電気的に接続されている。容量素子Ｃ２１は、第１の電極が配線ＲＷに電気的に接続され、第２の電極がトランジスタＴｒ２１のゲートに電気的に接続されている。
【０２５９】また、図１８に示すメモリセルＭＣＲでは、トランジスタＴｒ２２は、ゲートが配線ＷＷに電気的に接続され、ソース又はドレインの一方が配線ＷＤＲＥＦに電気的に接続され、ソース又はドレインの他方がトランジスタＴｒ２１のゲートに電気的に接続されている。また、トランジスタＴｒ２１は、ソース又はドレインの一方が配線ＶＲＲＥＦに電気的に接続され、ソース又はドレインの他方が配線ＢＬＲＥＦに電気的に接続されている。容量素子Ｃ２１は、第１の電極が配線ＲＷに電気的に接続され、第２の電極がトランジスタＴｒ２１のゲートに電気的に接続されている。
【０２６０】メモリセルＭＣにおいてトランジスタＴｒ２１のゲートをノードＮとすると、メモリセルＭＣでは、トランジスタＴｒ２２を介してノードＮに第１のアナログ電位が入力され、次いでトランジスタＴｒ２２がオフになるとノードＮが浮遊状態になり、ノードＮにおいて第１のアナログ電位が保持される。また、メモリセルＭＣでは、ノードＮが浮遊状態になると、容量素子Ｃ２１の第１の電極に入力された第２のアナログ電位がノードＮに与えられる。上記動作により、ノードＮは、第１のアナログ電位に、第２のアナログ電位が加算されることで得られる電位となる。
【０２６１】なお、容量素子Ｃ２１の第１の電極の電位は容量素子Ｃ２１を介してノードＮに与えられるため、実際には、第１の電極の電位の変化量がそのままノードＮの電位の変化量に反映されるわけではない。具体的には、容量素子Ｃ２１の容量値と、トランジスタＴｒ２１のゲート容量の容量値と、寄生容量の容量値とから一意に決まる結合係数を、第１の電極の電位の変化量に乗ずることで、ノードＮの電位の変化量を正確に算出することができる。以下、説明を分かり易くするために、第１の電極の電位の変化量がほぼノードＮの電位の変化量に反映されるものとして説明を行う。
【０２６２】トランジスタＴｒ２１は、ノードＮの電位にしたがってそのドレイン電流が定まる。よって、トランジスタＴｒ２２がオフになることでノードＮの電位が保持されると、トランジスタＴｒ２１のドレイン電流の値も保持される。上記ドレイン電流には第１のアナログ電位と第２のアナログ電位が反映されている。
【０２６３】また、メモリセルＭＣＲにおいてトランジスタＴｒ２１のゲートをノードＮＲＥＦとすると、メモリセルＭＣＲでは、トランジスタＴｒ２２を介してノードＮＲＥＦに第１の参照電位が入力され、次いでトランジスタＴｒ２２がオフになるとノードＮＲＥＦが浮遊状態になり、ノードＮＲＥＦにおいて第１の参照電位が保持される。また、メモリセルＭＣＲでは、ノードＮＲＥＦが浮遊状態になると、容量素子Ｃ２１の第１の電極に入力された第２のアナログ電位がノードＮＲＥＦに与えられる。上記動作により、ノードＮＲＥＦは、第１の参照電位に、第２のアナログ電位が加算されることで得られる電位となる。
【０２６４】トランジスタＴｒ２１は、ノードＮＲＥＦの電位にしたがってそのドレイン電流が定まる。よって、トランジスタＴｒ２２がオフになることでノードＮＲＥＦの電位が保持されると、トランジスタＴｒ２１のドレイン電流の値も保持される。上記ドレイン電流には第１の参照電位と第２のアナログ電位が反映されている。
【０２６５】メモリセルＭＣ［ｉ、ｊ］のトランジスタＴｒ２１に流れるドレイン電流を電流Ｉ［ｉ、ｊ］とし、メモリセルＭＣ［ｉ＋１、ｊ］のトランジスタＴｒ２１に流れるドレイン電流を電流Ｉ［ｉ＋１、ｊ］とすると、配線ＢＬ［ｊ］からメモリセルＭＣ［ｉ、ｊ］及びメモリセルＭＣ［ｉ＋１、ｊ］に供給される電流の和は、電流Ｉ［ｊ］となる。また、メモリセルＭＣ［ｉ、ｊ＋１］のトランジスタＴｒ２１に流れるドレイン電流を電流Ｉ［ｉ、ｊ＋１］とし、メモリセルＭＣ［ｉ＋１、ｊ＋１］のトランジスタＴｒ２１に流れるドレイン電流を電流Ｉ［ｉ＋１、ｊ＋１］とすると、配線ＢＬ［ｊ＋１］からメモリセルＭＣ［ｉ、ｊ＋１］及びメモリセルＭＣ［ｉ＋１、ｊ＋１］に供給される電流の和は、電流Ｉ［ｊ＋１］となる。また、メモリセルＭＣＲ［ｉ］のトランジスタＴｒ２１に流れるドレイン電流を電流ＩＲＥＦ［ｉ］とし、メモリセルＭＣＲ［ｉ＋１］のトランジスタＴｒ２１に流れるドレイン電流を電流ＩＲＥＦ［ｉ＋１］とすると、配線ＢＬＲＥＦからメモリセルＭＣＲ［ｉ］及びメモリセルＭＣＲ［ｉ＋１］に供給される電流の和は、電流ＩＲＥＦとなる。
【０２６６】次いで、回路１３と、回路１４と、電流源回路１５（ＣＲＥＦ）の具体的な構成の一例について、図１９を用いて説明する。
【０２６７】図１９では、図１８に示すメモリセルＭＣとメモリセルＭＣＲに対応した、回路１３、回路１４、電流源回路１５の構成の一例を示している。具体的に、図１９に示す回路１３は、ｊ列目のメモリセルＭＣに対応した回路１３［ｊ］と、ｊ＋１列目のメモリセルＭＣに対応した回路１３［ｊ＋１］とを有する。また、図１９に示す回路１４は、ｊ列目のメモリセルＭＣに対応した回路１４［ｊ］と、ｊ＋１列目のメモリセルＭＣに対応した回路１４［ｊ＋１］とを有する。
【０２６８】そして、回路１３［ｊ］及び回路１４［ｊ］は、配線ＢＬ［ｊ］に電気的に接続されている。また、回路１３［ｊ＋１］及び回路１４［ｊ＋１］は、配線ＢＬ［ｊ＋１］に電気的に接続されている。
【０２６９】電流源回路１５は、配線ＢＬ［ｊ］、配線ＢＬ［ｊ＋１］、配線ＢＬＲＥＦに電気的に接続されている。そして、電流源回路１５は、配線ＢＬＲＥＦに電流ＩＲＥＦを供給する機能と、電流ＩＲＥＦと同じ電流または電流ＩＲＥＦに応じた電流を、配線ＢＬ［ｊ］及び配線ＢＬ［ｊ＋１］のそれぞれに供給する機能を有する。
【０２７０】具体的に、回路１３［ｊ］及び回路１３［ｊ＋１］は、トランジスタＴｒ２７乃至Ｔｒ２９と、容量素子Ｃ２３とをそれぞれ有する。オフセットの電流を設定する際に、回路１３［ｊ］において、トランジスタＴｒ２７は、電流Ｉ［ｊ］が電流ＩＲＥＦよりも大きい場合に、電流Ｉ［ｊ］と電流ＩＲＥＦの差分に相当する電流ＩＣＭ［ｊ］を生成する機能を有する。また、回路１３［ｊ＋１］において、トランジスタＴｒ２７は、電流Ｉ［ｊ＋１］が電流ＩＲＥＦよりも大きい場合に、電流Ｉ［ｊ＋１］と電流ＩＲＥＦの差分に相当する電流ＩＣＭ［ｊ＋１］を生成する機能を有する。電流ＩＣＭ［ｊ］及び電流ＩＣＭ［ｊ＋１］は、回路１３［ｊ］及び回路１３［ｊ＋１］から配線ＢＬ［ｊ］及び配線ＢＬ［ｊ＋１］に供給される。
【０２７１】そして、回路１３［ｊ］及び回路１３［ｊ＋１］において、トランジスタＴｒ２７は、ソース又はドレインの一方が対応する配線ＢＬに電気的に接続されており、ソース又はドレインの他方が所定の電位が供給される配線に電気的に接続されている。トランジスタＴｒ２８は、ソース又はドレインの一方が配線ＢＬに電気的に接続されており、ソース又はドレインの他方がトランジスタＴｒ２７のゲートに電気的に接続されている。トランジスタＴｒ２９は、ソース又はドレインの一方がトランジスタＴｒ２７のゲートに電気的に接続されており、ソース又はドレインの他方が所定の電位が供給される配線に電気的に接続されている。容量素子Ｃ２３は、第１の電極がトランジスタＴｒ２７のゲートに電気的に接続されており、第２の電極が所定の電位が供給される配線に電気的に接続されている。
【０２７２】トランジスタＴｒ２８のゲートは配線ＯＳＭに電気的に接続されており、トランジスタＴｒ２９のゲートは配線ＯＲＭに電気的に接続されている。
【０２７３】なお、図１９では、トランジスタＴｒ２７がｐチャネル型であり、トランジスタＴｒ２８及びＴｒ２９がｎチャネル型である場合を例示している。
【０２７４】また、回路１４［ｊ］及び回路１４［ｊ＋１］は、トランジスタＴｒ２４乃至Ｔｒ２６と、容量素子Ｃ２２とをそれぞれ有する。オフセットの電流を設定する際に、回路１４［ｊ］において、トランジスタＴｒ２４は、電流Ｉ［ｊ］が電流ＩＲＥＦよりも小さい場合に、電流Ｉ［ｊ］と電流ＩＲＥＦの差分に相当する電流ＩＣＰ［ｊ］を生成する機能を有する。また、回路１４［ｊ＋１］において、トランジスタＴｒ２４は、電流Ｉ［ｊ＋１］が電流ＩＲＥＦよりも小さい場合に、電流Ｉ［ｊ＋１］と電流ＩＲＥＦの差分に相当する電流ＩＣＰ［ｊ＋１］を生成する機能を有する。電流ＩＣＰ［ｊ］及び電流ＩＣＰ［ｊ＋１］は、配線ＢＬ［ｊ］及び配線ＢＬ［ｊ＋１］から回路１４［ｊ］及び回路１４［ｊ＋１］に引き込まれる。
【０２７５】なお、電流ＩＣＭ［ｊ］と電流ＩＣＰ［ｊ］とが、電流Ｉｏｆｆｓｅｔ［ｊ］に相当する。また、電流ＩＣＭ［ｊ＋１］と電流ＩＣＰ［ｊ＋１］とが、電流Ｉｏｆｆｓｅｔ［ｊ＋１］に相当する。
【０２７６】そして、回路１４［ｊ］及び回路１４［ｊ＋１］において、トランジスタＴｒ２４は、ソース又はドレインの一方が対応する配線ＢＬに電気的に接続されており、ソース又はドレインの他方が所定の電位が供給される配線に電気的に接続されている。トランジスタＴｒ２５は、ソース又はドレインの一方が配線ＢＬに電気的に接続されており、ソース又はドレインの他方がトランジスタＴｒ２４のゲートに電気的に接続されている。トランジスタＴｒ２６は、ソース又はドレインの一方がトランジスタＴｒ２４のゲートに電気的に接続されており、ソース又はドレインの他方が所定の電位が供給される配線に電気的に接続されている。容量素子Ｃ２２は、第１の電極がトランジスタＴｒ２４のゲートに電気的に接続されており、第２の電極が所定の電位が供給される配線に電気的に接続されている。
【０２７７】トランジスタＴｒ２５のゲートは配線ＯＳＰに電気的に接続されており、トランジスタＴｒ２６のゲートは配線ＯＲＰに電気的に接続されている。
【０２７８】なお、図１９では、トランジスタＴｒ２４乃至Ｔｒ２６がｎチャネル型である場合を例示している。
【０２７９】また、電流源回路１５は、配線ＢＬに対応したトランジスタＴｒ３０と、配線ＢＬＲＥＦに対応したトランジスタＴｒ３１とを有する。具体的に、図１９に示す電流源回路１５は、トランジスタＴｒ３０として、配線ＢＬ［ｊ］に対応したトランジスタＴｒ３０［ｊ］と、配線ＢＬ［ｊ＋１］に対応したトランジスタＴｒ３０［ｊ＋１］とを有する場合を例示している。
【０２８０】そして、トランジスタＴｒ３０のゲートは、トランジスタＴｒ３１のゲートに電気的に接続されている。また、トランジスタＴｒ３０は、ソース又はドレインの一方が対応する配線ＢＬに電気的に接続されており、ソース又はドレインの他方が所定の電位が供給される配線に電気的に接続されている。トランジスタＴｒ３１は、ソース又はドレインの一方が配線ＢＬＲＥＦに電気的に接続されており、ソース又はドレインの他方が所定の電位が供給される配線に電気的に接続されている。
【０２８１】トランジスタＴｒ３０とトランジスタＴｒ３１とは、同じ極性を有している。図１９では、トランジスタＴｒ３０とトランジスタＴｒ３１とが、共にｐチャネル型を有する場合を例示している。
【０２８２】トランジスタＴｒ３１のドレイン電流は電流ＩＲＥＦに相当する。そして、トランジスタＴｒ３０とトランジスタＴｒ３１とはカレントミラー回路としての機能を有するため、トランジスタＴｒ３０のドレイン電流は、トランジスタＴｒ３１のドレイン電流とほぼ同じ値、またはトランジスタＴｒ３１のドレイン電流に応じた値となる。
【０２８３】なお、図１９に示した回路１３［ｊ］と回路１４［ｊ］の間にスイッチを設けても良い。また、回路１３［ｊ＋１］と回路１４［ｊ＋１］の間にスイッチを設けても良い。或いは、電流源回路１５が有するトランジスタＴｒ３１と、参照用記憶回路１２との間にスイッチを設けても良い。
【０２８４】次いで、図１８及び図１９を用いて、本発明の一態様に係る半導体装置１０７の具体的な動作の一例について説明する。
【０２８５】図２０は、図１８に示すメモリセルＭＣ、メモリセルＭＣＲと、図１９に示す回路１３、回路１４、電流源回路１５の動作を示すタイミングチャートの一例に相当する。図２０では、時刻Ｔ０１乃至時刻Ｔ０４において、メモリセルＭＣ及びメモリセルＭＣＲに第１のアナログデータを格納する動作が行われる。時刻Ｔ０５乃至時刻Ｔ１０において、回路１３及び回路１４にオフセットの電流Ｉｏｆｆｓｅｔを設定する動作が行われる。時刻Ｔ１１乃至時刻Ｔ１６において、第１のアナログデータと第２のアナログデータとの積和値に対応したデータを取得する動作が行われる。
【０２８６】なお、配線ＶＲ［ｊ］及び配線ＶＲ［ｊ＋１］にはローレベルの電位が供給されるものとする。また、回路１３に電気的に接続される所定の電位を有する配線は、全てハイレベルの電位ＶＤＤが供給されるものとする。また、回路１４に電気的に接続される所定の電位を有する配線は、全てローレベルの電位ＶＳＳが供給されるものとする。また、電流源回路１５に電気的に接続される所定の電位を有する配線は、全てハイレベルの電位ＶＤＤが供給されるものとする。
【０２８７】また、トランジスタＴｒ２１、Ｔｒ２４、Ｔｒ２７、Ｔｒ３０［ｊ］、Ｔｒ３０［ｊ＋１］、Ｔｒ３１は飽和領域で動作するものとする。
【０２８８】まず、時刻Ｔ０１乃至時刻Ｔ０２において、配線ＷＷ［ｉ］にハイレベルの電位が与えられ、配線ＷＷ［ｉ＋１］にローレベルの電位が与えられる。上記動作により、図１８に示すメモリセルＭＣ［ｉ、ｊ］、メモリセルＭＣ［ｉ、ｊ＋１］、メモリセルＭＣＲ［ｉ］においてトランジスタＴｒ２２がオンになる。また、メモリセルＭＣ［ｉ＋１、ｊ］、メモリセルＭＣ［ｉ＋１、ｊ＋１］、メモリセルＭＣＲ［ｉ＋１］においてトランジスタＴｒ２２がオフの状態を維持する。
【０２８９】また、時刻Ｔ０１乃至時刻Ｔ０２では、図１８に示す配線ＷＤ［ｊ］と配線ＷＤ［ｊ＋１］とに、第１の参照電位ＶＰＲから第１のアナログ電位を差し引いた電位がそれぞれ与えられる。具体的に、配線ＷＤ［ｊ］には電位ＶＰＲ−Ｖｘ［ｉ、ｊ］が与えられ、配線ＷＤ［ｊ＋１］には電位ＶＰＲ−Ｖｘ［ｉ、ｊ＋１］が与えられる。また、配線ＷＤＲＥＦには第１の参照電位ＶＰＲが与えられ、配線ＲＷ［ｉ］及び配線ＲＷ［ｉ＋１］には基準電位として電位ＶＳＳと電位ＶＤＤの間の電位、例えば電位（ＶＤＤ＋ＶＳＳ）／２が与えられる。
【０２９０】よって、図１８に示すメモリセルＭＣ［ｉ、ｊ］のノードＮ［ｉ、ｊ］にはトランジスタＴｒ２２を介して電位ＶＰＲ−Ｖｘ［ｉ、ｊ］が与えられ、メモリセルＭＣ［ｉ、ｊ＋１］のノードＮ［ｉ、ｊ＋１］にはトランジスタＴｒ２２を介して電位ＶＰＲ−Ｖｘ［ｉ、ｊ＋１］が与えられ、メモリセルＭＣＲ［ｉ］のノードＮＲＥＦ［ｉ］にはトランジスタＴｒ２２を介して電位ＶＰＲが与えられる。
【０２９１】時刻Ｔ０２が終了すると、図１８に示す配線ＷＷ［ｉ］に与えられる電位はハイレベルからローレベルに変化し、メモリセルＭＣ［ｉ、ｊ］、メモリセルＭＣ［ｉ、ｊ＋１］、メモリセルＭＣＲ［ｉ］においてトランジスタＴｒ２２がオフになる。上記動作により、ノードＮ［ｉ、ｊ］には電位ＶＰＲ−Ｖｘ［ｉ、ｊ］が保持され、ノードＮ［ｉ、ｊ＋１］には電位ＶＰＲ−Ｖｘ［ｉ、ｊ＋１］が保持され、ノードＮＲＥＦ［ｉ］には電位ＶＰＲが保持される。
【０２９２】次いで、時刻Ｔ０３乃至時刻Ｔ０４において、図１８に示す配線ＷＷ［ｉ］の電位はローレベルに維持され、配線ＷＷ［ｉ＋１］にハイレベルの電位が与えられる。上記動作により、図１８に示すメモリセルＭＣ［ｉ＋１、ｊ］、メモリセルＭＣ［ｉ＋１、ｊ＋１］、メモリセルＭＣＲ［ｉ＋１］においてトランジスタＴｒ２２がオンになる。また、メモリセルＭＣ［ｉ、ｊ］、メモリセルＭＣ［ｉ、ｊ＋１］、メモリセルＭＣＲ［ｉ］においてトランジスタＴｒ２２がオフの状態を維持する。
【０２９３】また、時刻Ｔ０３乃至時刻Ｔ０４では、図１８に示す配線ＷＤ［ｊ］と配線ＷＤ［ｊ＋１］とに、第１の参照電位ＶＰＲから第１のアナログ電位を差し引いた電位がそれぞれ与えられる。具体的に、配線ＷＤ［ｊ］には電位ＶＰＲ−Ｖｘ［ｉ＋１、ｊ］が与えられ、配線ＷＤ［ｊ＋１］には電位ＶＰＲ−Ｖｘ［ｉ＋１、ｊ＋１］が与えられる。また、配線ＷＤＲＥＦには第１の参照電位ＶＰＲが与えられ、配線ＲＷ［ｉ］及び配線ＲＷ［ｉ＋１］には基準電位として電位ＶＳＳと電位ＶＤＤの間の電位、例えば電位（ＶＤＤ＋ＶＳＳ）／２が与えられる。
【０２９４】よって、図１８に示すメモリセルＭＣ［ｉ＋１、ｊ］のノードＮ［ｉ＋１、ｊ］にはトランジスタＴｒ２２を介して電位ＶＰＲ−Ｖｘ［ｉ＋１、ｊ］が与えられ、メモリセルＭＣ［ｉ＋１、ｊ＋１］のノードＮ［ｉ＋１、ｊ＋１］にはトランジスタＴｒ２２を介して電位ＶＰＲ−Ｖｘ［ｉ＋１、ｊ＋１］が与えられ、メモリセルＭＣＲ［ｉ＋１］のノードＮＲＥＦ［ｉ＋１］にはトランジスタＴｒ２２を介して電位ＶＰＲが与えられる。
【０２９５】時刻Ｔ０４が終了すると、図１８に示す配線ＷＷ［ｉ＋１］に与えられる電位はハイレベルからローレベルに変化し、メモリセルＭＣ［ｉ＋１、ｊ］、メモリセルＭＣ［ｉ＋１、ｊ＋１］、メモリセルＭＣＲ［ｉ＋１］においてトランジスタＴｒ２２がオフになる。上記動作により、ノードＮ［ｉ＋１、ｊ］には電位ＶＰＲ−Ｖｘ［ｉ＋１、ｊ］が保持され、ノードＮ［ｉ＋１、ｊ＋１］には電位ＶＰＲ−Ｖｘ［ｉ＋１、ｊ＋１］が保持され、ノードＮＲＥＦ［ｉ＋１］には電位ＶＰＲが保持される。
【０２９６】次いで、時刻Ｔ０５乃至時刻Ｔ０６において、図１９に示す配線ＯＲＰ及び配線ＯＲＭにハイレベルの電位が与えられる。図１９に示す回路１３［ｊ］及び回路１３［ｊ＋１］では、配線ＯＲＭにハイレベルの電位が与えられることで、トランジスタＴｒ２９がオンになり、トランジスタＴｒ２７のゲートは電位ＶＤＤが与えられることでリセットされる。また、図１９に示す回路１４［ｊ］及び回路１４［ｊ＋１］では、配線ＯＲＰにハイレベルの電位が与えられることで、トランジスタＴｒ２６がオンになり、トランジスタＴｒ２４のゲートは電位ＶＳＳが与えられることでリセットされる。
【０２９７】時刻Ｔ０６が終了すると、図１９に示す配線ＯＲＰ及び配線ＯＲＭに与えられる電位はハイレベルからローレベルに変化し、回路１３［ｊ］及び回路１３［ｊ＋１］においてトランジスタＴｒ２９がオフになり、回路１４［ｊ］及び回路１４［ｊ＋１］においてトランジスタＴｒ２６がオフになる。上記動作により、回路１３［ｊ］及び回路１３［ｊ＋１］においてトランジスタＴｒ２７のゲートに電位ＶＤＤが保持され、回路１４［ｊ］及び回路１４［ｊ＋１］においてトランジスタＴｒ２４のゲートに電位ＶＳＳが保持される。
【０２９８】次いで、時刻Ｔ０７乃至時刻Ｔ０８において、図１９に示す配線ＯＳＰにハイレベルの電位が与えられる。また、図１８に示す配線ＲＷ［ｉ］及び配線ＲＷ［ｉ＋１］には基準電位として電位ＶＳＳと電位ＶＤＤの間の電位、例えば電位（ＶＤＤ＋ＶＳＳ）／２が与えられる。配線ＯＳＰにハイレベルの電位が与えられることにより、回路１４［ｊ］及び回路１４［ｊ＋１］においてトランジスタＴｒ２５がオンになる。
【０２９９】配線ＢＬ［ｊ］に流れる電流Ｉ［ｊ］が配線ＢＬＲＥＦに流れる電流ＩＲＥＦよりも小さい場合、すなわち電流ΔＩ［ｊ］が正の場合、図１８に示すメモリセルＭＣ［ｉ、ｊ］のトランジスタＴｒ２１が引き込むことのできる電流と、メモリセルＭＣ［ｉ＋１、ｊ］のトランジスタＴｒ２１が引き込むことのできる電流との和が、トランジスタＴｒ３０［ｊ］のドレイン電流より小さいことを意味する。よって、電流ΔＩ［ｊ］が正の場合、回路１４［ｊ］においてトランジスタＴｒ２５がオンになると、トランジスタＴｒ３０［ｊ］のドレイン電流の一部がトランジスタＴｒ２４のゲートに流れ込み、当該ゲートの電位が上昇し始める。そして、トランジスタＴｒ２４のドレイン電流が電流ΔＩ［ｊ］とほぼ等しくなると、トランジスタＴｒ２４のゲートの電位は所定の値に収束する。このときのトランジスタＴｒ２４のゲートの電位は、トランジスタＴｒ２４のドレイン電流が電流ΔＩ［ｊ］、すなわち電流Ｉｏｆｆｓｅｔ［ｊ］（＝ＩＣＰ［ｊ］）となる電位に相当する。つまり、回路１４［ｊ］のトランジスタＴｒ２４は、電流ＩＣＰ［ｊ］を流し得る電流源に設定された状態であると言える。
【０３００】同様に、配線ＢＬ［ｊ＋１］に流れる電流Ｉ［ｊ＋１］が配線ＢＬＲＥＦに流れる電流ＩＲＥＦよりも小さい場合、つまり電流ΔＩ［ｊ＋１］が正の場合、回路１４［ｊ＋１］においてトランジスタＴｒ２５がオンになると、トランジスタＴｒ３０［ｊ＋１］のドレイン電流の一部がトランジスタＴｒ２４のゲートに流れ込み、当該ゲートの電位が上昇し始める。そして、トランジスタＴｒ２４のドレイン電流が電流ΔＩ［ｊ＋１］とほぼ等しくなると、トランジスタＴｒ２４のゲートの電位は所定の値に収束する。このときのトランジスタＴｒ２４のゲートの電位は、トランジスタＴｒ２４のドレイン電流が電流ΔＩ［ｊ＋１］、すなわち電流Ｉｏｆｆｓｅｔ［ｊ＋１］（＝ＩＣＰ［ｊ＋１］）となる電位に相当する。つまり、回路１４［ｊ＋１］のトランジスタＴｒ２４は、電流ＩＣＰ［ｊ＋１］を流し得る電流源に設定された状態であると言える。
【０３０１】時刻Ｔ０８が終了すると、図１９に示す配線ＯＳＰに与えられる電位はハイレベルからローレベルに変化し、回路１４［ｊ］及び回路１４［ｊ＋１］においてトランジスタＴｒ２５がオフになる。上記動作により、トランジスタＴｒ２４のゲートの電位は保持される。よって、回路１４［ｊ］は電流ＩＣＰ［ｊ］を流し得る電流源に設定された状態を維持し、回路１４［ｊ＋１］は電流ＩＣＰ［ｊ＋１］を流し得る電流源に設定された状態を維持する。
【０３０２】次いで、時刻Ｔ０９乃至時刻Ｔ１０において、図１９に示す配線ＯＳＭにハイレベルの電位が与えられる。また、図１８に示す配線ＲＷ［ｉ］及び配線ＲＷ［ｉ＋１］には基準電位として電位ＶＳＳと電位ＶＤＤの間の電位、例えば電位（ＶＤＤ＋ＶＳＳ）／２が与えられる。配線ＯＳＭにハイレベルの電位が与えられることにより、回路１３［ｊ］及び回路１３［ｊ＋１］においてトランジスタＴｒ２８がオンになる。
【０３０３】配線ＢＬ［ｊ］に流れる電流Ｉ［ｊ］が配線ＢＬＲＥＦに流れる電流ＩＲＥＦよりも大きい場合、すなわち電流ΔＩ［ｊ］が負の場合、図１８に示すメモリセルＭＣ［ｉ、ｊ］のトランジスタＴｒ２１が引き込むことのできる電流と、メモリセルＭＣ［ｉ＋１、ｊ］のトランジスタＴｒ２１が引き込むことのできる電流との和が、トランジスタＴｒ３０［ｊ］のドレイン電流より大きいことを意味する。よって、電流ΔＩ［ｊ］が負の場合、回路１３［ｊ］においてトランジスタＴｒ２８がオンになると、トランジスタＴｒ２７のゲートから配線ＢＬ［ｊ］に電流が流れ出し、当該ゲートの電位が下降し始める。そして、トランジスタＴｒ２７のドレイン電流が電流ΔＩ［ｊ］の絶対値とほぼ等しくなると、トランジスタＴｒ２７のゲートの電位は所定の値に収束する。このときのトランジスタＴｒ２７のゲートの電位は、トランジスタＴｒ２７のドレイン電流が電流ΔＩ［ｊ］の絶対値、すなわち電流Ｉｏｆｆｓｅｔ［ｊ］（＝ＩＣＭ［ｊ］）となる電位に相当する。つまり、回路１３［ｊ］のトランジスタＴｒ２７は、電流ＩＣＭ［ｊ］を流し得る電流源に設定された状態であると言える。
【０３０４】同様に、配線ＢＬ［ｊ＋１］に流れる電流Ｉ［ｊ＋１］が配線ＢＬＲＥＦに流れる電流ＩＲＥＦよりも大きい場合、つまり電流ΔＩ［ｊ＋１］が負の場合、回路１３［ｊ＋１］においてトランジスタＴｒ２８がオンになると、トランジスタＴｒ２７のゲートから配線ＢＬ［ｊ＋１］に電流が流れ出し、当該ゲートの電位が下降し始める。そして、トランジスタＴｒ２７のドレイン電流が電流ΔＩ［ｊ＋１］の絶対値とほぼ等しくなると、トランジスタＴｒ２７のゲートの電位は所定の値に収束する。このときのトランジスタＴｒ２７のゲートの電位は、トランジスタＴｒ２７のドレイン電流が電流ΔＩ［ｊ＋１］の絶対値、すなわち電流Ｉｏｆｆｓｅｔ［ｊ＋１］（＝ＩＣＭ［ｊ＋１］）となる電位に相当する。つまり、回路１３［ｊ＋１］のトランジスタＴｒ２７は、電流ＩＣＭ［ｊ＋１］を流し得る電流源に設定された状態であると言える。
【０３０５】時刻Ｔ１０が終了すると、図１９に示す配線ＯＳＭに与えられる電位はハイレベルからローレベルに変化し、回路１３［ｊ］及び回路１３［ｊ＋１］においてトランジスタＴｒ２８がオフになる。上記動作により、トランジスタＴｒ２７のゲートの電位は保持される。よって、回路１３［ｊ］は電流ＩＣＭ［ｊ］を流し得る電流源に設定された状態を維持し、回路１３［ｊ＋１］は電流ＩＣＭ［ｊ＋１］を流し得る電流源に設定された状態を維持する。
【０３０６】なお、回路１４［ｊ］及び回路１４［ｊ＋１］において、トランジスタＴｒ２４は電流を引き込む機能を有する。そのため、時刻Ｔ０７乃至時刻Ｔ０８において配線ＢＬ［ｊ］に流れる電流Ｉ［ｊ］が配線ＢＬＲＥＦに流れる電流ＩＲＥＦよりも大きく電流ΔＩ［ｊ］が負の場合、或いは、配線ＢＬ［ｊ＋１］に流れる電流Ｉ［ｊ＋１］が配線ＢＬＲＥＦに流れる電流ＩＲＥＦよりも大きく電流ΔＩ［ｊ＋１］が負の場合、回路１４［ｊ］または回路１４［ｊ＋１］から過不足なく配線ＢＬ［ｊ］または配線ＢＬ［ｊ＋１］に電流を供給するのが難しくなる恐れがある。この場合、配線ＢＬ［ｊ］または配線ＢＬ［ｊ＋１］に流れる電流と、配線ＢＬＲＥＦに流れる電流とのバランスを取るために、メモリセルＭＣのトランジスタＴｒ２１と、回路１４［ｊ］または回路１４［ｊ＋１］のトランジスタＴｒ２４と、トランジスタＴｒ３０［ｊ］またはＴｒ３０［ｊ＋１］とが、共に飽和領域で動作することが困難になる可能性がある。
【０３０７】時刻Ｔ０７乃至時刻Ｔ０８において電流ΔＩ［ｊ］が負の場合でも、トランジスタＴｒ２１、Ｔｒ２４、Ｔｒ３０［ｊ］またはＴｒ３０［ｊ＋１］における飽和領域での動作を確保するために、時刻Ｔ０５乃至時刻Ｔ０６において、トランジスタＴｒ２７のゲートを電位ＶＤＤにリセットするのではなく、トランジスタＴｒ２７のゲートの電位を所定のドレイン電流が得られる程度の高さに設定しておいても良い。上記構成により、トランジスタＴｒ３０［ｊ］またはＴｒ３０［ｊ＋１］のドレイン電流に加えてトランジスタＴｒ２７から電流が供給されるため、トランジスタＴｒ２１において引き込めない分の電流を、トランジスタＴｒ２４においてある程度引き込むことができるため、トランジスタＴｒ２１、Ｔｒ２４、Ｔｒ３０［ｊ］またはＴｒ３０［ｊ＋１］における飽和領域での動作を確保することができる。
【０３０８】なお、時刻Ｔ０９乃至時刻Ｔ１０において、配線ＢＬ［ｊ］に流れる電流Ｉ［ｊ］が配線ＢＬＲＥＦに流れる電流ＩＲＥＦよりも小さい場合、すなわち電流ΔＩ［ｊ］が正の場合、時刻Ｔ０７乃至時刻Ｔ０８において回路１４［ｊ］が電流ＩＣＰ［ｊ］を流し得る電流源に既に設定されているため、回路１３［ｊ］においてトランジスタＴｒ２７のゲートの電位はほぼ電位ＶＤＤのままとなる。同様に、配線ＢＬ［ｊ＋１］に流れる電流Ｉ［ｊ＋１］が配線ＢＬＲＥＦに流れる電流ＩＲＥＦよりも小さい場合、すなわち電流ΔＩ［ｊ＋１］が正の場合、時刻Ｔ０７乃至時刻Ｔ０８において回路１４［ｊ＋１］が電流ＩＣＰ［ｊ＋１］を流し得る電流源に既に設定されているため、回路１３［ｊ＋１］においてトランジスタＴｒ２７のゲートの電位はほぼ電位ＶＤＤのままとなる。
【０３０９】次いで、時刻Ｔ１１乃至時刻Ｔ１２において、図１８に示す配線ＲＷ［ｉ］に第２のアナログ電位Ｖｗ［ｉ］が与えられる。また、配線ＲＷ［ｉ＋１］には、基準電位として電位ＶＳＳと電位ＶＤＤの間の電位、例えば電位（ＶＤＤ＋ＶＳＳ）／２が与えられたままである。具体的に、配線ＲＷ［ｉ］の電位は、基準電位である電位ＶＳＳと電位ＶＤＤの間の電位、例えば電位（ＶＤＤ＋ＶＳＳ）／２に対して電位差Ｖｗ［ｉ］だけ高い電位となるが、以下説明を分かり易くするために、配線ＲＷ［ｉ］の電位は電位Ｖｗ［ｉ］であると仮定する。
【０３１０】配線ＲＷ［ｉ］が電位Ｖｗ［ｉ］になると、容量素子Ｃ２１の第１の電極の電位の変化量がほぼノードＮの電位の変化量に反映されるものと仮定すると、図１８に示すメモリセルＭＣ［ｉ、ｊ］におけるノードＮの電位はＶＰＲ−Ｖｘ［ｉ、ｊ］＋Ｖｗ［ｉ］となり、メモリセルＭＣ［ｉ、ｊ＋１］におけるノードＮの電位はＶＰＲ−Ｖｘ［ｉ、ｊ＋１］＋Ｖｗ［ｉ］となる。そして、上記の式ｂ１４から、メモリセルＭＣ［ｉ、ｊ］に対応する第１のアナログデータと第２のアナログデータの積和値は、電流ΔＩ［ｊ］から電流Ｉｏｆｆｓｅｔ［ｊ］を差し引いた電流、すなわち、配線ＢＬ［ｊ］から流れ出る電流Ｉｏｕｔ［ｊ］に反映されることが分かる。また、メモリセルＭＣ［ｉ、ｊ＋１］に対応する第１のアナログデータと第２のアナログデータの積和値は、電流ΔＩ［ｊ＋１］から電流Ｉｏｆｆｓｅｔ［ｊ＋１］を差し引いた電流、すなわち、配線ＢＬ［ｊ＋１］から流れ出る電流Ｉｏｕｔ［ｊ＋１］に反映されることが分かる。
【０３１１】時刻Ｔ１２が終了すると、配線ＲＷ［ｉ］には、再度、基準電位である電位ＶＳＳと電位ＶＤＤの間の電位、例えば電位（ＶＤＤ＋ＶＳＳ）／２が与えられる。
【０３１２】次いで、時刻Ｔ１３乃至時刻Ｔ１４において、図１８に示す配線ＲＷ［ｉ＋１］に第２のアナログ電位Ｖｗ［ｉ＋１］が与えられる。また、配線ＲＷ［ｉ］には、基準電位として電位ＶＳＳと電位ＶＤＤの間の電位、例えば電位（ＶＤＤ＋ＶＳＳ）／２が与えられたままである。具体的に、配線ＲＷ［ｉ＋１］の電位は、基準電位である電位ＶＳＳと電位ＶＤＤの間の電位、例えば電位（ＶＤＤ＋ＶＳＳ）／２に対して電位差Ｖｗ［ｉ＋１］だけ高い電位となるが、以下説明を分かり易くするために、配線ＲＷ［ｉ＋１］の電位は電位Ｖｗ［ｉ＋１］であると仮定する。
【０３１３】配線ＲＷ［ｉ＋１］が電位Ｖｗ［ｉ＋１］になると、容量素子Ｃ２１の第１の電極の電位の変化量がほぼノードＮの電位の変化量に反映されるものと仮定すると、図１８に示すメモリセルＭＣ［ｉ＋１、ｊ］におけるノードＮの電位はＶＰＲ−Ｖｘ［ｉ＋１、ｊ］＋Ｖｗ［ｉ＋１］となり、メモリセルＭＣ［ｉ＋１、ｊ＋１］におけるノードＮの電位はＶＰＲ−Ｖｘ［ｉ＋１、ｊ＋１］＋Ｖｗ［ｉ＋１］となる。そして、上記の式ｂ１４から、メモリセルＭＣ［ｉ＋１、ｊ］に対応する第１のアナログデータと第２のアナログデータの積和値は、電流ΔＩ［ｊ］から電流Ｉｏｆｆｓｅｔ［ｊ］を差し引いた電流、すなわち、電流Ｉｏｕｔ［ｊ］に反映されることが分かる。また、メモリセルＭＣ［ｉ＋１、ｊ＋１］に対応する第１のアナログデータと第２のアナログデータの積和値は、電流ΔＩ［ｊ＋１］から電流Ｉｏｆｆｓｅｔ［ｊ＋１］を差し引いた電流、すなわち、電流Ｉｏｕｔ［ｊ＋１］に反映されることが分かる。
【０３１４】時刻Ｔ１４が終了すると、配線ＲＷ［ｉ＋１］には、再度、基準電位である電位ＶＳＳと電位ＶＤＤの間の電位、例えば電位（ＶＤＤ＋ＶＳＳ）／２が与えられる。
【０３１５】次いで、時刻Ｔ１５乃至時刻Ｔ１６において、図１８に示す配線ＲＷ［ｉ］に第２のアナログ電位Ｖｗ［ｉ］が与えられ、配線ＲＷ［ｉ＋１］に第２のアナログ電位Ｖｗ［ｉ＋１］が与えられる。具体的に、配線ＲＷ［ｉ］の電位は、基準電位である電位ＶＳＳと電位ＶＤＤの間の電位、例えば電位（ＶＤＤ＋ＶＳＳ）／２に対して電位差Ｖｗ［ｉ］だけ高い電位となり、配線ＲＷ［ｉ＋１］の電位は、基準電位である電位ＶＳＳと電位ＶＤＤの間の電位、例えば電位（ＶＤＤ＋ＶＳＳ）／２に対して電位差Ｖｗ［ｉ＋１］だけ高い電位となるが、以下説明を分かり易くするために、配線ＲＷ［ｉ］の電位は電位Ｖｗ［ｉ］、であり、配線ＲＷ［ｉ＋１］の電位は電位Ｖｗ［ｉ＋１］であると仮定する。
【０３１６】配線ＲＷ［ｉ］が電位Ｖｗ［ｉ］になると、容量素子Ｃ２１の第１の電極の電位の変化量がほぼノードＮの電位の変化量に反映されるものと仮定すると、図１８に示すメモリセルＭＣ［ｉ、ｊ］におけるノードＮの電位はＶＰＲ−Ｖｘ［ｉ、ｊ］＋Ｖｗ［ｉ］となり、メモリセルＭＣ［ｉ、ｊ＋１］におけるノードＮの電位はＶＰＲ−Ｖｘ［ｉ、ｊ＋１］＋Ｖｗ［ｉ］となる。また、配線ＲＷ［ｉ＋１］が電位Ｖｗ［ｉ＋１］になると、容量素子Ｃ２１の第１の電極の電位の変化量がほぼノードＮの電位の変化量に反映されるものと仮定すると、図１８に示すメモリセルＭＣ［ｉ＋１、ｊ］におけるノードＮの電位はＶＰＲ−Ｖｘ［ｉ＋１、ｊ］＋Ｖｗ［ｉ＋１］となり、メモリセルＭＣ［ｉ＋１、ｊ＋１］におけるノードＮの電位はＶＰＲ−Ｖｘ［ｉ＋１、ｊ＋１］＋Ｖｗ［ｉ＋１］となる。
【０３１７】そして、上記の式ｂ１４から、メモリセルＭＣ［ｉ、ｊ］とメモリセルＭＣ［ｉ＋１、ｊ］とに対応する第１のアナログデータと第２のアナログデータの積和値は、電流ΔＩ［ｊ］から電流Ｉｏｆｆｓｅｔ［ｊ］を差し引いた電流、すなわち、電流Ｉｏｕｔ［ｊ］に反映されることが分かる。また、メモリセルＭＣ［ｉ、ｊ＋１］とメモリセルＭＣ［ｉ＋１、ｊ＋１］とに対応する第１のアナログデータと第２のアナログデータの積和値は、電流ΔＩ［ｊ＋１］から電流Ｉｏｆｆｓｅｔ［ｊ＋１］を差し引いた電流、すなわち、電流Ｉｏｕｔ［ｊ＋１］に反映されることが分かる。
【０３１８】時刻Ｔ１６が終了すると、配線ＲＷ［ｉ］及び配線ＲＷ［ｉ＋１］には、再度、基準電位である電位ＶＳＳと電位ＶＤＤの間の電位、例えば電位（ＶＤＤ＋ＶＳＳ）／２が与えられる。
【０３１９】上記構成により、積和演算を小さな回路規模で行うことができる。また、上記構成により、積和演算を高速で行うことができる。また、上記構成により、低消費電力で積和演算を行うことができる。
【０３２０】なお、トランジスタＴｒ２２、Ｔｒ２５、Ｔｒ２６、Ｔｒ２８、Ｔｒ２９は、オフ電流の著しく低いトランジスタを用いることが望ましい。トランジスタＴｒ２２にオフ電流の著しく低いトランジスタを用いることにより、ノードＮの電位の保持を長時間に渡って行うことができる。また、トランジスタＴｒ２５及びＴｒ２６にオフ電流の著しく低いトランジスタを用いることにより、トランジスタＴｒ２４のゲートの電位の保持を、長時間に渡って行うことができる。また、トランジスタＴｒ２８及びＴｒ２９にオフ電流の著しく低いトランジスタを用いることにより、トランジスタＴｒ２７のゲートの電位の保持を、長時間に渡って行うことができる。
【０３２１】トランジスタのオフ電流を下げるには、例えば、チャネル形成領域をバンドギャップが大きい半導体で形成すればよい。上述したように、バンドギャップが大きい半導体とは、バンドギャップが２．２ｅＶ以上の半導体を指す場合があるが、このような半導体材料として酸化物半導体が挙げられる。トランジスタＴｒ２２、Ｔｒ２５、Ｔｒ２６、Ｔｒ２８、Ｔｒ２９として、ＯＳトランジスタを用いればよい。
【０３２２】なお、本実施の形態は、少なくともその一部を本明細書に記載する他の実施の形態と適宜組み合わせて実施することができる。
【０３２３】（実施の形態３）
本実施の形態では、本発明の一形態である半導体装置１００乃至１０２のいずれか１つを搭載した電子機器の例について説明する。なお、本実施の形態では、半導体装置１００乃至１０２を代表して半導体装置１００と記述しているが、半導体装置１０１または半導体装置１０２と置き換えてもよい。
【０３２４】図２１（Ａ）は、カメラの例である。カメラ１８２０は、筐体１８２１、表示部１８２２、操作ボタン１８２３、シャッターボタン１８２４等を有する。また、カメラ１８２０には、着脱可能なレンズ１８２６が取り付けられている。
【０３２５】ここではカメラ１８２０として、レンズ１８２６を筐体１８２１から取り外して交換することが可能な構成としたが、レンズ１８２６と筐体１８２１が一体となっていてもよい。
【０３２６】カメラ１８２０は、シャッターボタン１８２４を押すことにより、静止画、または動画を撮像することができる。また、表示部１８２２はタッチセンサとしての機能を有し、表示部１８２２をタッチすることにより撮像することも可能である。
【０３２７】なお、カメラ１８２０は、ストロボ装置や、ビューファインダーなどを別途装着することができる。または、これらが筐体１８２１に組み込まれていてもよい。
【０３２８】図２１（Ｂ）は、表示部１８２２を拡大した図である。表示部１８２２には、カメラ１８２０が撮像した静止画、動画、または、カメラ１８２０がレンズ１８２６を通して現在撮像している画像等を表示することができる。
【０３２９】図２１（Ｂ）に示す表示部１８２２には、うさぎ１８２８と、女性１８２９が表示されている。カメラ１８２０に搭載されている半導体装置１００は、画像認識を行い、うさぎ１８２８と女性１８２９の周りに認識した物体を区別する枠を表示し（図中、点線で枠を表示）、物体が何であるかを説明する表示を行うことができる（図中、それぞれ、「Ｒａｂｂｉｔ」、「Ｗｏｍａｎ」と表示）。
【０３３０】図２２（Ａ）は、情報端末の例である。情報端末１８４０は、表示部１８４１等を有する。表示部１８４１には、タッチセンサが配置されており、表示部１８４１は入力部としての機能も備えている。
【０３３１】情報端末１８４０に搭載されている半導体装置１００は、表示部１８４１に入力された文字を認識し、認識結果を表示することができる。図２２（Ａ）は、使用者が指でアルファベットの「ａ」を入力し、半導体装置１００が入力された文字を認識し、表示部１８４１の左上に認識結果を表示する例を示している。なお、表示部１８４１における文字の入力は、指だけでなく、スタイラス等を用いて行うこともできる。
【０３３２】図２２（Ｂ）は、ロボットの例である。ロボット１８６０は、演算装置１８７０、照度センサ１８６１、マイクロフォン１８６２、上部カメラ１８６３、スピーカ１８６４、ディスプレイ１８６５、下部カメラ１８６６、障害物センサ１８６７、および移動機構１８６８等を備える。演算装置１８７０には、半導体装置１００が搭載されている。
【０３３３】マイクロフォン１８６２は、使用者の話し声および環境音等を検知する機能を有する。また、スピーカ１８６４は、音声を発する機能を有する。ロボット１８６０は、マイクロフォン１８６２およびスピーカ１８６４を用いて、使用者とコミュニケーションをとることが可能である。
【０３３４】ディスプレイ１８６５は、種々の情報を表示する機能を有する。ロボット１８６０は、使用者の希望する情報をディスプレイ１８６５に表示することが可能である。ディスプレイ１８６５は、タッチセンサを搭載していてもよい。また、ディスプレイ１８６５は取り外しのできる情報端末等であっても良く、ロボット１８６０の定位置に設置することで、充電およびデータの受け渡しを可能とすることができる。
【０３３５】上部カメラ１８６３および下部カメラ１８６６は、ロボット１８６０の周囲を撮像する機能を有する。また、障害物センサ１８６７は、移動機構１８６８を用いてロボット１８６０が移動する際、進行方向における障害物の有無を検知することができる。
【０３３６】演算装置１８７０に搭載された半導体装置１００は、上部カメラ１８６３および下部カメラ１８６６が撮像した画像を解析し、壁、家具、段差、または落下物などの障害物の有無を判断することができる。
【０３３７】また、演算装置１８７０に搭載された半導体装置１００は、上部カメラ１８６３および下部カメラ１８６６が撮像した画像から、ロボット１８６０の使用者を認識し、ロボット１８６０の使用者の方向へ移動することができる。または、ロボット１８６０の使用者が移動するにしたがって、使用者についていくことができる。
【０３３８】図２１および図２２に示す電子機器には、上記実施の形態で例示した、半導体装置１００を搭載することで、効率的に画像認識を行うことができる。
【０３３９】なお、本実施の形態は、本明細書に記載する他の実施の形態と適宜組み合わせて実施することができる。
【０３４０】（実施の形態４）
本実施の形態では、上記ＯＳトランジスタに用いることができる、金属酸化物について説明する。以下では特に、金属酸化物とＣＡＣ（Ｃｌｏｕｄ−Ａｌｉｇｎｅｄ  Ｃｏｍｐｏｓｉｔｅ）の詳細について説明する。
【０３４１】ＣＡＣ−ＯＳまたはＣＡＣ−ｍｅｔａｌ  ｏｘｉｄｅは、材料の一部では導電性の機能と、材料の一部では絶縁性の機能とを有し、材料の全体では半導体としての機能を有する。なお、ＣＡＣ−ＯＳまたはＣＡＣ−ｍｅｔａｌ  ｏｘｉｄｅを、トランジスタのチャネル形成領域に用いる場合、導電性の機能は、キャリアとなる電子（またはホール）を流す機能であり、絶縁性の機能は、キャリアとなる電子を流さない機能である。導電性の機能と、絶縁性の機能とを、それぞれ相補的に作用させることで、スイッチングさせる機能（Ｏｎ／Ｏｆｆさせる機能）をＣＡＣ−ＯＳまたはＣＡＣ−ｍｅｔａｌ  ｏｘｉｄｅに付与することができる。ＣＡＣ−ＯＳまたはＣＡＣ−ｍｅｔａｌ  ｏｘｉｄｅにおいて、それぞれの機能を分離させることで、双方の機能を最大限に高めることができる。
【０３４２】また、ＣＡＣ−ＯＳまたはＣＡＣ−ｍｅｔａｌ  ｏｘｉｄｅは、導電性領域、及び絶縁性領域を有する。導電性領域は、上述の導電性の機能を有し、絶縁性領域は、上述の絶縁性の機能を有する。また、材料中において、導電性領域と、絶縁性領域とは、ナノ粒子レベルで分離している場合がある。また、導電性領域と、絶縁性領域とは、それぞれ材料中に偏在する場合がある。また、導電性領域は、周辺がぼけてクラウド状に連結して観察される場合がある。
【０３４３】また、ＣＡＣ−ＯＳまたはＣＡＣ−ｍｅｔａｌ  ｏｘｉｄｅにおいて、導電性領域と、絶縁性領域とは、それぞれ０．５ｎｍ以上１０ｎｍ以下、好ましくは０．５ｎｍ以上３ｎｍ以下のサイズで材料中に分散している場合がある。
【０３４４】また、ＣＡＣ−ＯＳまたはＣＡＣ−ｍｅｔａｌ  ｏｘｉｄｅは、異なるバンドギャップを有する成分により構成される。例えば、ＣＡＣ−ＯＳまたはＣＡＣ−ｍｅｔａｌ  ｏｘｉｄｅは、絶縁性領域に起因するワイドギャップを有する成分と、導電性領域に起因するナローギャップを有する成分と、により構成される。当該構成の場合、キャリアを流す際に、ナローギャップを有する成分において、主にキャリアが流れる。また、ナローギャップを有する成分が、ワイドギャップを有する成分に相補的に作用し、ナローギャップを有する成分に連動してワイドギャップを有する成分にもキャリアが流れる。このため、上記ＣＡＣ−ＯＳまたはＣＡＣ−ｍｅｔａｌ  ｏｘｉｄｅをトランジスタのチャネル形成領域に用いる場合、トランジスタのオン状態において高い電流駆動力、つまり大きなオン電流、及び高い電界効果移動度を得ることができる。
【０３４５】すなわち、ＣＡＣ−ＯＳまたはＣＡＣ−ｍｅｔａｌ  ｏｘｉｄｅは、マトリックス複合材（ｍａｔｒｉｘ  ｃｏｍｐｏｓｉｔｅ）、または金属マトリックス複合材（ｍｅｔａｌ  ｍａｔｒｉｘ  ｃｏｍｐｏｓｉｔｅ）と呼称することもできる。
【０３４６】ＣＡＣ−ＯＳは、例えば、金属酸化物を構成する元素が、０．５ｎｍ以上１０ｎｍ以下、好ましくは、１ｎｍ以上２ｎｍ以下、またはその近傍のサイズで偏在した材料の一構成である。なお、以下では、金属酸化物において、一つあるいはそれ以上の金属元素が偏在し、該金属元素を有する領域が、０．５ｎｍ以上１０ｎｍ以下、好ましくは、１ｎｍ以上２ｎｍ以下、またはその近傍のサイズで混合した状態をモザイク状、またはパッチ状ともいう。
【０３４７】なお、金属酸化物は、少なくともインジウムを含むことが好ましい。特にインジウムおよび亜鉛を含むことが好ましい。また、それらに加えて、アルミニウム、ガリウム、イットリウム、銅、バナジウム、ベリリウム、ホウ素、シリコン、チタン、鉄、ニッケル、ゲルマニウム、ジルコニウム、モリブデン、ランタン、セリウム、ネオジム、ハフニウム、タンタル、タングステン、またはマグネシウムなどから選ばれた一種、または複数種が含まれていてもよい。
【０３４８】例えば、Ｉｎ−Ｇａ−Ｚｎ酸化物におけるＣＡＣ−ＯＳ（ＣＡＣ−ＯＳの中でもＩｎ−Ｇａ−Ｚｎ酸化物を、特にＣＡＣ−ＩＧＺＯと呼称してもよい）とは、インジウム酸化物（以下、ＩｎＯＸ１（Ｘ１は０よりも大きい実数）とする）、またはインジウム亜鉛酸化物（以下、ＩｎＸ２ＺｎＹ２ＯＺ２（Ｘ２、Ｙ２、およびＺ２は０よりも大きい実数）とする）と、ガリウム酸化物（以下、ＧａＯＸ３（Ｘ３は０よりも大きい実数）とする）、またはガリウム亜鉛酸化物（以下、ＧａＸ４ＺｎＹ４ＯＺ４（Ｘ４、Ｙ４、およびＺ４は０よりも大きい実数）とする）などと、に材料が分離することでモザイク状となり、モザイク状のＩｎＯＸ１、またはＩｎＸ２ＺｎＹ２ＯＺ２が、膜中に均一に分布した構成（以下、クラウド状ともいう）である。
【０３４９】つまり、ＣＡＣ−ＯＳは、ＧａＯＸ３が主成分である領域と、ＩｎＸ２ＺｎＹ２ＯＺ２、またはＩｎＯＸ１が主成分である領域とが、混合している構成を有する複合金属酸化物である。なお、本明細書において、例えば、第１の領域の元素Ｍに対するＩｎの原子数比が、第２の領域の元素Ｍに対するＩｎの原子数比よりも大きいことを、第１の領域は、第２の領域と比較して、Ｉｎの濃度が高いとする。
【０３５０】なお、ＩＧＺＯは通称であり、Ｉｎ、Ｇａ、Ｚｎ、およびＯによる１つの化合物をいう場合がある。代表例として、ＩｎＧａＯ３（ＺｎＯ）ｍ１（ｍ１は自然数）、またはＩｎ（１＋ｘ０）Ｇａ（１−ｘ０）Ｏ３（ＺｎＯ）ｍ０（−１≦ｘ０≦１、ｍ０は任意数）で表される結晶性の化合物が挙げられる。
【０３５１】上記結晶性の化合物は、単結晶構造、多結晶構造、またはＣＡＡＣ（ｃ−ａｘｉｓ  ａｌｉｇｎｅｄ  ｃｒｙｓｔａｌ）構造を有する。なお、ＣＡＡＣ構造とは、複数のＩＧＺＯのナノ結晶がｃ軸配向を有し、かつａ−ｂ面においては配向せずに連結した結晶構造である。
【０３５２】一方、ＣＡＣ−ＯＳは、金属酸化物の材料構成に関する。ＣＡＣ−ＯＳとは、Ｉｎ、Ｇａ、Ｚｎ、およびＯを含む材料構成において、一部にＧａを主成分とするナノ粒子状に観察される領域と、一部にＩｎを主成分とするナノ粒子状に観察される領域とが、それぞれモザイク状にランダムに分散している構成をいう。従って、ＣＡＣ−ＯＳにおいて、結晶構造は副次的な要素である。
【０３５３】なお、ＣＡＣ−ＯＳは、組成の異なる二種類以上の膜の積層構造は含まないものとする。例えば、Ｉｎを主成分とする膜と、Ｇａを主成分とする膜との２層からなる構造は、含まない。
【０３５４】なお、ＧａＯＸ３が主成分である領域と、ＩｎＸ２ＺｎＹ２ＯＺ２、またはＩｎＯＸ１が主成分である領域とは、明確な境界が観察できない場合がある。
【０３５５】なお、ガリウムの代わりに、アルミニウム、イットリウム、銅、バナジウム、ベリリウム、ホウ素、シリコン、チタン、鉄、ニッケル、ゲルマニウム、ジルコニウム、モリブデン、ランタン、セリウム、ネオジム、ハフニウム、タンタル、タングステン、またはマグネシウムなどから選ばれた一種、または複数種が含まれている場合、ＣＡＣ−ＯＳは、一部に該金属元素を主成分とするナノ粒子状に観察される領域と、一部にＩｎを主成分とするナノ粒子状に観察される領域とが、それぞれモザイク状にランダムに分散している構成をいう。
【０３５６】ＣＡＣ−ＯＳは、例えば基板を意図的に加熱しない条件で、スパッタリング法により形成することができる。また、ＣＡＣ−ＯＳをスパッタリング法で形成する場合、成膜ガスとして、不活性ガス（代表的にはアルゴン）、酸素ガス、及び窒素ガスの中から選ばれたいずれか一つまたは複数を用いればよい。また、成膜時の成膜ガスの総流量に対する酸素ガスの流量比は低いほど好ましく、例えば酸素ガスの流量比を０％以上３０％未満、好ましくは０％以上１０％以下とすることが好ましい。
【０３５７】ＣＡＣ−ＯＳは、Ｘ線回折（ＸＲＤ：Ｘ−ｒａｙ  ｄｉｆｆｒａｃｔｉｏｎ）測定法のひとつであるＯｕｔ−ｏｆ−ｐｌａｎｅ法によるθ／２θスキャンを用いて測定したときに、明確なピークが観察されないという特徴を有する。すなわち、Ｘ線回折から、測定領域のａ−ｂ面方向、およびｃ軸方向の配向は見られないことが分かる。
【０３５８】またＣＡＣ−ＯＳは、プローブ径が１ｎｍの電子線（ナノビーム電子線ともいう）を照射することで得られる電子線回折パターンにおいて、リング状に輝度の高い領域と、該リング領域に複数の輝点が観測される。従って、電子線回折パターンから、ＣＡＣ−ＯＳの結晶構造が、平面方向、および断面方向において、配向性を有さないｎｃ（ｎａｎｏ−ｃｒｙｓｔａｌ）構造を有することがわかる。
【０３５９】また例えば、Ｉｎ−Ｇａ−Ｚｎ酸化物におけるＣＡＣ−ＯＳでは、エネルギー分散型Ｘ線分光法（ＥＤＸ：Ｅｎｅｒｇｙ  Ｄｉｓｐｅｒｓｉｖｅ  Ｘ−ｒａｙ  ｓｐｅｃｔｒｏｓｃｏｐｙ）を用いて取得したＥＤＸマッピングにより、ＧａＯＸ３が主成分である領域と、ＩｎＸ２ＺｎＹ２ＯＺ２、またはＩｎＯＸ１が主成分である領域とが、偏在し、混合している構造を有することが確認できる。
【０３６０】ＣＡＣ−ＯＳは、金属元素が均一に分布したＩＧＺＯ化合物とは異なる構造であり、ＩＧＺＯ化合物と異なる性質を有する。つまり、ＣＡＣ−ＯＳは、ＧａＯＸ３などが主成分である領域と、ＩｎＸ２ＺｎＹ２ＯＺ２、またはＩｎＯＸ１が主成分である領域と、に互いに相分離し、各元素を主成分とする領域がモザイク状である構造を有する。
【０３６１】ここで、ＩｎＸ２ＺｎＹ２ＯＺ２、またはＩｎＯＸ１が主成分である領域は、ＧａＯＸ３などが主成分である領域と比較して、導電性が高い領域である。つまり、ＩｎＸ２ＺｎＹ２ＯＺ２、またはＩｎＯＸ１が主成分である領域を、キャリアが流れることにより、酸化物半導体としての導電性が発現する。従って、ＩｎＸ２ＺｎＹ２ＯＺ２、またはＩｎＯＸ１が主成分である領域が、酸化物半導体中にクラウド状に分布することで、高い電界効果移動度（μ）が実現できる。
【０３６２】一方、ＧａＯＸ３などが主成分である領域は、ＩｎＸ２ＺｎＹ２ＯＺ２、またはＩｎＯＸ１が主成分である領域と比較して、絶縁性が高い領域である。つまり、ＧａＯＸ３などが主成分である領域が、酸化物半導体中に分布することで、リーク電流を抑制し、良好なスイッチング動作を実現できる。
【０３６３】従って、ＣＡＣ−ＯＳを半導体素子に用いた場合、ＧａＯＸ３などに起因する絶縁性と、ＩｎＸ２ＺｎＹ２ＯＺ２、またはＩｎＯＸ１に起因する導電性とが、相補的に作用することにより、高いオン電流（Ｉｏｎ）、および高い電界効果移動度（μ）を実現することができる。
【０３６４】また、ＣＡＣ−ＯＳを用いた半導体素子は、信頼性が高い。従って、ＣＡＣ−ＯＳは、さまざまな半導体装置に最適である。
【０３６５】なお、本実施の形態は、本明細書に記載する他の実施の形態と適宜組み合わせて実施することができる。
【符号の説明】
【０３６６】Ｃ１：矢印、Ｃ１１：容量素子、Ｃ１２：容量素子、Ｃ２１：容量素子、Ｃ２２：容量素子、Ｃ２３：容量素子、ＣＬＫ＿ＩＮ１：クロック信号、ＣＬＫ＿ＩＮ２：クロック信号、ＣＬＫ＿ＩＮ３：クロック信号、ＣＬＫ＿ＩＮ４：クロック信号、ＣＬＫ１：クロック信号、ＣＬＫ２：クロック信号、ＣＬＫ３：クロック信号、ＣＬＫ４：クロック信号、Ｄ＿ＩＮ１：信号、Ｄ＿ＩＮ２：信号、Ｎ１１：ノード、Ｎ１２：ノード、Ｒ１：矢印、Ｔ０１：時刻、Ｔ１：時刻、Ｔ０２：時刻、Ｔ２：時刻、Ｔ０３：時刻、Ｔ３：時刻、Ｔ０４：時刻、Ｔ４：時刻、Ｔ０５：時刻、Ｔ５：時刻、Ｔ０６：時刻、Ｔ６：時刻、Ｔ０７：時刻、Ｔ７：時刻、Ｔ０８：時刻、Ｔ８：時刻、Ｔ０９：時刻、Ｔ９：時刻、Ｔ１０：時刻、Ｔ１１：時刻、Ｔ１２：時刻、Ｔ１３：時刻、Ｔ１４：時刻、Ｔ１５：時刻、Ｔ１６：時刻、Ｔ１７：時刻、Ｔｒ２１：トランジスタ、Ｔｒ２２：トランジスタ、Ｔｒ２４：トランジスタ、Ｔｒ２５：トランジスタ、Ｔｒ２６：トランジスタ、Ｔｒ２７：トランジスタ、Ｔｒ２８：トランジスタ、Ｔｒ２９：トランジスタ、Ｔｒ３０：トランジスタ、Ｔｒ３１：トランジスタ、１１：記憶回路、１２：参照用記憶回路、１３：回路、１４：回路、１５：電流源回路、４１：トランジスタ、４２：トランジスタ、４３：トランジスタ、４４：トランジスタ、４５：トランジスタ、４６：トランジスタ、４７：トランジスタ、４８：トランジスタ、５０：フレームメモリ、５１：領域、６０：シフトレジスタ群、６１：レジスタ、６２：インバータ、６３：クロックドインバータ、６６：クロックドインバータ、６７：インバータ、６８：インバータ、６９：レジスタ、７０：Ｄ／Ａコンバータ、８０：積和演算回路、９０：プーリング回路、１００：半導体装置、１０１：半導体装置、１０２：半導体装置、１０７：半導体装置、２７０：回路、２７１：回路、２７２：回路、２７３：回路、２７４：回路、１８２０：カメラ、１８２１：筐体、１８２２：表示部、１８２３：操作ボタン、１８２４：シャッターボタン、１８２６：レンズ、１８２９：女性、１８４０：情報端末、１８４１：表示部、１８６０：ロボット、１８６１：照度センサ、１８６２：マイクロフォン、１８６３：上部カメラ、１８６４：スピーカ、１８６５：ディスプレイ、１８６６：下部カメラ、１８６７：障害物センサ、１８６８：移動機構、１８７０：演算装置
【図１】
2018234919.tif 000003
【図２】
2018234919.tif 000004
【図３】
2018234919.tif 000005
【図４】
2018234919.tif 000006
【図５】
2018234919.tif 000007
【図６】
2018234919.tif 000008
【図７】
2018234919.tif 000009
【図８】
2018234919.tif 000010
【図９】
2018234919.tif 000011
【図１０】
2018234919.tif 000012
【図１１】
2018234919.tif 000013
【図１２】
2018234919.tif 000014
【図１３】
2018234919.tif 000015
【図１４】
2018234919.tif 000016
【図１５】
2018234919.tif 000017
【図１６】
2018234919.tif 000018
【図１７】
2018234919.tif 000019
【図１８】
2018234919.tif 000020
【図１９】
2018234919.tif 000021
【図２０】
2018234919.tif 000022
【図２１】
2018234919.tif 000023
【図２２】
2018234919.tif 000024
【国際調査報告】
2018234919.tif 000025
2018234919.tif 000026
2018234919.tif 000027