(57)【要約】オーバーフローを抑制する加算回路を提供する。第１メモリ、第２メモリ、第３メモリ、および第４メモリを有している。第１メモリには、符号を有する第１データが与えられ、第２メモリには、第１メモリに保存された正の符号を有する第１データが与えられるステップと、第３メモリには、第２メモリに保存された負の符号を有する第１データが与えられるステップと、第２メモリに保存された正の符号を有する第１データと、第３メモリに保存された負の符号を有する第１データと、が加算されて第２データを生成するステップと、第４メモリには、第２データが保存されるステップと、を有している。第４メモリに保存された第２のデータが、全て正の符号を有する第２データ、または全て負の符号を有する第２データの場合、第４メモリに保存された全ての第２データを加算する。
2019097350.tif 000002
【特許請求の範囲】
【請求項１】
第１メモリ、第２メモリ、第３メモリ、および第４メモリを有し、
前記第１メモリには、符号を有する第１データが与えられるステップと、
前記第２メモリには、前記第１メモリに保存された正の符号を有する前記第１データが与えられるステップと、
前記第３メモリには、前記第１メモリに保存された負の符号を有する前記第１データが与えられるステップと、
前記第１データがゼロの場合は、廃棄されるステップと、
前記第２メモリに保存された正の符号を有する前記第１データと、前記第３メモリに保存された負の符号を有する前記第１データと、が加算されて第２データを生成するステップと、
前記第４メモリには、前記第２データが保存されるステップと、
前記第４メモリに、正の符号を有する前記第２データが保存されてないとき、または負の符号を有する前記第２データが保存されてないときのいずれかの場合において、前記第４メモリに保存された全ての前記第２データを加算するステップを有する加算方法。
【請求項２】
請求項１において、
前記第１データ、および前記第２データは、符号付き整数のデータである加算方法。
【請求項３】
請求項１または請求項２において、
前記第２データを、前記第１メモリに保存する加算方法。
【請求項４】
第１メモリ、第２メモリ、第３メモリ、セレクタ回路、第１加算回路、第２加算回路、およびカウンタ回路を有し、
前記カウンタ回路は、第１カウンタと、第２カウンタと、を有し、
前記第１メモリは、前記第１加算回路と、前記セレクタ回路と、電気的に接続され、
前記セレクタ回路は、前記第２メモリと、前記第３メモリと、電気的に接続され、
前記第２加算回路は、前記第２メモリと、前記第３メモリと、電気的に接続され、
前記カウンタ回路は、前記第１メモリと、前記第１加算回路と、電気的に接続され、
前記第１メモリには、符号を有する第１データが与えられる機能を有し、
前記第１カウンタ、および前記第２カウンタには、初期値が与えられる機能を有し、
前記第２メモリは、保存されたデータがないとき第１アンダーフローフラグを出力する機能を有し、
前記第３メモリは、保存されたデータがないとき第２アンダーフローフラグを出力する機能を有し、
前記第１データは、前記第１メモリと、前記カウンタ回路と、に与えられ、
前記カウンタ回路は、前記第１アンダーフローフラグまたは前記第２アンダーフローフラグが与えられるときに、前記第１カウンタ、または前記第２カウンタの値を判断する機能を有し、
前記第１カウンタ、または前記第２カウンタのいずれかが初期値の場合、前記第１加算回路は、前記第１メモリに保存された全ての前記第１データを加算する機能を有する半導体装置。
【請求項５】
請求項４において、
前記セレクタ回路は、前記第１メモリに保存されている正の符号を有する前記第１データを前記第２メモリに、負の符号を有する前記第１データを前記第３メモリに、振り分ける機能を有し、
前記第２加算回路は、前記第２メモリに保存された正の符号を有する前記第１データと、前記第３メモリに保存された負の符号を有する前記第１データと、を加算し第２データを生成する機能を有し、
前記第２データは、前記第１メモリと、前記カウンタ回路と、に与えられ、
前記カウンタ回路は、前記第１アンダーフローフラグと、前記第２アンダーフローフラグとが与えられるときに、前記第１カウンタ、または前記第２カウンタの値を判断する機能を有し、
前記第１カウンタ、または前記第２カウンタのいずれかが前記初期値の場合、前記第１加算回路は、前記第１メモリに保存された前記第２データを加算する機能を有する半導体装置。
【請求項６】
請求項４または請求項５において、
前記第２メモリおよび前記第３メモリは、ファーストインファーストアウトの機能を有する半導体装置。
【請求項７】
請求項４または請求項５において、
前記半導体装置は、第１ゼロインサーション回路と、第２ゼロインサーション回路と、を有し、
前記第１アンダーフローフラグが出力され、且つ前記第２アンダーフローフラグが出力されていないとき、正の符号を有する前記第１データの代わりに、前記第１ゼロインサーション回路によってゼロの値が与えられる機能を有し、
前記第２アンダーフローフラグが出力され、且つ前記第１アンダーフローフラグが出力されていないとき、負の符号を有する前記第１データの代わりに、前記第２ゼロインサーション回路によってゼロの値が与えられる機能を有する半導体装置。
【請求項８】
ニューラルネットワークを有する半導体装置であって、
前記ニューラルネットワークは、積和演算回路を有し、
前記積和演算回路は、複数の乗算回路と、加算によるオーバーフローを抑制する第１回路と、を有し、
前記第１回路は、第１メモリ、第２メモリ、第３メモリ、および第１加算回路を有し、
前記乗算回路の出力データは、第１データとして前記第１メモリに与えられ、
前記第２メモリ、および前記第３メモリは、ファーストインファーストアウトの機能を有し、
前記第２メモリには、前記第１メモリが保存する正の符号を有する前記第１データが与えられ、
前記第３メモリには、前記第１メモリが保存する負の符号を有する前記第１データが与えられ、
前記第１加算回路は、前記第２メモリより読み出した正の符号を有する前記第１データと、前記第３メモリより読み出した負の符号を有する前記第１データと、を加算することで、前記加算によるオーバーフローを抑制する半導体装置。
【請求項９】
請求項４乃至請求項８のいずれか一の前記半導体装置と、前記半導体装置が格納された筐体と、を有する電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明の一態様は、加算方法、半導体装置、および電子機器に関する。【０００２】  なお、本発明の一態様は、上記の技術分野に限定されない。本明細書等で開示する発明の一態様の技術分野は、物、プログラム、方法、または、製造方法に関する。特に、本発明の一態様は、半導体装置、表示装置、発光装置、蓄電装置、記憶装置、それらの駆動方法、またはそれらの製造方法に関する。【０００３】  なお、本明細書等において、半導体装置は、半導体特性を利用することで機能しうる素子、回路、または装置等を指す。一例としては、トランジスタ、ダイオード等の半導体素子は半導体装置である。また別の一例としては、半導体素子を有する回路は、半導体装置である。また別の一例としては、半導体素子を有する回路を備えた装置は、半導体装置である。
【背景技術】
【０００４】  ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）、ＡＩ（Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ）などの情報技術の発展により、扱われるデータ量が増大の傾向を示している。電子機器がＩｏＴ、ＡＩなどの情報技術を利用するためには、大量なデータを演算処理する能力が求められている。さらに、電子機器を快適に使用するためには、低消費電力を実現するために演算量を抑えた半導体装置が求められている。【０００５】  特許文献１では、精度の低い加算器を並列に用いることで特定の精度を有する加算器として動作させる加算方法と、加算器の構成について開示している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平９−２２２９９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】  ＩｏＴと、ＡＩと、を組み合わせた電子機器は、低電力化の課題がある。また、電子機器で使用される半導体装置は、狭スペースで収納できるような小型化を求められている。よって、半導体装置は、演算処理能力を下げずに回路規模を小さくする課題がある。【０００８】  ＡＩ、特に例えば、ディープラーニング（深層学習）では、機械学習を用いることで様々な情報（画像、音声、ビッグデータなど）から特徴を抽出することができる。ＡＩは、ニューラルネットワークを有し、ニューラルネットワークは、複数のニューロンを有している。ニューロンは、シナプスの機能を模した積和演算処理が知られている。積和演算の機能を有する回路は、複数の入力信号を重み係数で乗算した結果の総和を算出することが知られている。積和演算処理は、符号付き浮動小数点のデータをデジタル演算によって処理するため、論理規模が大きくなる問題がある。消費電力は、論理規模の大きさと比例して大きくなる問題がある。【０００９】  上記問題に鑑み、本発明の一態様は、符号付き整数型の加算方法を提供することを課題の一とする。または、本発明の一態様は、符号付き整数型の加算方法を有する半導体装置を提供することを課題の一とする。または、本発明の一態様は、ニューロンの演算を低電力化させる半導体装置を提供することを課題の一とする。または、本発明の一態様は、新規なプログラムを提供することを課題の一とする。または、本発明の一態様は、新規な計算方法を提供することを課題の一とする。または、本発明の一態様は、新規な半導体装置を提供することを課題の一とする。または、本発明の一態様は、新規な半導体装置の駆動方法を提供することを課題の一とする。【００１０】  なお、これらの課題の記載は、他の課題の存在を妨げるものではない。なお、本発明の一態様は、これらの課題の全てを解決する必要はないものとする。なお、これら以外の課題は、明細書、図面、請求項などの記載から、自ずと明らかとなるものであり、明細書、図面、請求項などの記載から、これら以外の課題を抽出することが可能である。【００１１】  なお本発明の一態様の課題は、上記列挙した課題に限定されない。上記列挙した課題は、他の課題の存在を妨げるものではない。なお他の課題は、以下の記載で述べる、本項目で言及していない課題である。本項目で言及していない課題は、当業者であれば明細書または図面等の記載から導き出せるものであり、これらの記載から適宜抽出することができる。なお、本発明の一態様は、上記列挙した記載、および／または他の課題のうち、少なくとも一つの課題を解決するものである。
【課題を解決するための手段】
【００１２】  本発明の一態様は、第１メモリ、第２メモリ、第３メモリ、および第４メモリを有している。第１メモリには、符号を有する第１データが与えられるステップと、第２メモリには、第１メモリに保存された正の符号を有する第１データが与えられるステップと、第３メモリには、第１メモリに保存された負の符号を有する第１データが与えられるステップと、第１データがゼロの場合は、廃棄されるステップを有している。第２メモリに保存された正の符号を有する第１データと、第３メモリに保存された負の符号を有する第１データと、が加算されて第２データを生成するステップとを有している。第４メモリには、第２データが保存されるステップと、第４メモリに、正の符号を有する第２データが保存されてないとき、または負の符号を有する第２データが保存されてないときのいずれかの場合において、第４メモリに保存された全ての第２データを加算するステップを有する加算方法である。【００１３】  上記各構成において、第１データ、および第２データは、符号付き整数のデータである加算方法が好ましい。【００１４】  上記各構成において、第２データを、第１メモリに保存する加算方法が好ましい。【００１５】  第１メモリ、第２メモリ、第３メモリ、セレクタ回路、第１加算回路、第２加算回路、およびカウンタ回路を有している。カウンタ回路は、第１カウンタと、第２カウンタと、を有している。第１メモリは、第１加算回路と、セレクタ回路と、電気的に接続され、セレクタ回路は、第２メモリと、第３メモリと、電気的に接続され、第２加算回路は、第２メモリと、第３メモリと、電気的に接続され、カウンタ回路は、第１メモリと、第１加算回路と、電気的に接続されている。第１メモリには、符号を有する第１データが与えられる機能を有し、第１カウンタ、および第２カウンタには、初期値が与えられる機能を有し、第２メモリは、保存されたデータがないとき第１アンダーフローフラグを出力する機能を有し、第３メモリは、保存されたデータがないとき第２アンダーフローフラグを出力する機能を有している。第１データは、第１メモリと、カウンタ回路と、に与えられる。カウンタ回路は、第１アンダーフローフラグまたは第２アンダーフローフラグが与えられたときに、第１カウンタ、または第２カウンタの値を判断する機能を有し、第１カウンタ、または第２カウンタのいずれかが初期値の場合、第１加算回路は、第１メモリに保存された第１データを加算する機能を有する半導体装置である。【００１６】  上記各構成において、セレクタ回路は、第１メモリに保存されている正の符号を有する第１データを第２メモリに、負の符号を有する第１データを第３メモリに、振り分ける機能を有し、第２加算回路は、第２メモリに保存された正の符号を有する第１データと、第３メモリに保存された負の符号を有する第１データと、を加算し第２データを生成する機能を有し、第２データは、第１メモリと、カウンタ回路と、に与えられ、カウンタ回路は、第１アンダーフローフラグと、第２アンダーフローフラグとが与えられたときに、第１カウンタ、または第２カウンタの値を判断する機能を有し、第１カウンタ、または第２カウンタのいずれかが初期値の場合、��１加算回路は、第１メモリに保存された第２データを加算する機能を有する半導体装置が好ましい。【００１７】  上記各構成において、第２メモリ、および第３メモリは、ファーストインファーストアウトの機能を有する半導体装置が好ましい。【００１８】  上記各構成において、半導体装置は、第１ゼロインサーション回路と、第２ゼロインサーション回路と、を有している。第１アンダーフローフラグが出力され、且つ第２アンダーフローフラグが出力されていないとき、正の符号を有する第１データの代わりに、第１ゼロインサーション回路によってゼロの値が与えられる機能を有し、第２アンダーフローフラグが出力され、且つ第１アンダーフローフラグが出力されていないとき、負の符号を有する第１データの代わりに、第２ゼロインサーション回路によってゼロの値が与えられる機能を有する半導体装置が好ましい。【００１９】  ニューラルネットワークを有する半導体装置であって、ニューラルネットワークは、積和演算回路を有し、積和演算回路は、複数の乗算回路と、加算によるオーバーフローを抑制する第１回路と、を有している。第１回路は、第１メモリ、第２メモリ、第３メモリ、および第１加算回路を有し、乗算回路の出力データは、第１データとして第１メモリに与えられ、第２メモリ、および第３メモリは、ファーストインファーストアウトの機能を有している。第２メモリには、第１メモリが保存する正の符号を有する第１データが与えられ、第３メモリには、第１メモリが保存する負の符号を有する第１データが与えられ、第１加算回路は、第２メモリより読み出した正の符号を有する第１データと、第３メモリより読み出した負の符号を有する第１データと、を加算することで、加算によるオーバーフローを抑制する半導体装置である。【００２０】  上記各構成において、加算方法を有する半導体装置と、半導体装置が格納された筐体と、を有する電子機器が好ましい。【００２１】  ニューラルネットワークを有する半導体装置であって、ニューラルネットワークは、乗算回路を有し、乗算回路は、第１トランジスタ乃至第４トランジスタを有している。
乗算回路は、重み電位と、データ電位とを与えることで乗算結果を出力電流として出力する機能を有している。第１トランジスタは、第１トランジスタのゲートに第１電位が与えられることで第１電流を流す機能を有し、第２トランジスタは、第２トランジスタのゲートに第２電位が与えられることで第２電流を流す機能を有し、第３トランジスタは、第３トランジスタのゲートに第３電位が与えられることで第３電流を流す機能を有し、第４トランジスタは、第４トランジスタのゲートに第４電位が与えられることで第４電流を流す機能を有し、乗算回路は、第１電流から第２電流および第３電流を減算し、かつ第１電流に第４電流を加算することで出力電流を得る半導体装置である。【００２２】  上記各構成において、第１電位は、基準電位と、重み電位と、データ電位とが加算することで生成され、第２電位は、基準電位と、データ電位とが加算することで生成され、第３電位は、基準電位と、重み電位とが加算することで生成され、第４電位は、基準電位が与えられる半導体装置が好ましい。【００２３】  上記各構成において、乗算回路は、メモリセル、リファレンスセル、第１プログラミングセル、および第２プログラミングセルを有し、メモリセルは、第１トランジスタを有し、リファレンスセルは、第２トランジスタを有し、第１プログラミングセルは、第３トランジスタを有し、第２プログラミングセルは、第４トランジスタを有し、メモリセルには、第１電流に相当する第１電位が保持され、リファレンスセルには、第２電流に相当する第２電位が保持され、第１プログラミングセルには、第３電流に相当する第３電位が保持され、第２プログラミングセルには、第４電流に相当する第４電位が保持される半導体装置が好ましい。
【発明の効果】
【００２４】  本発明の一態様は、符号付き整数型の加算方法を提供することができる。または、本発明の一態様は、符号付き整数型の加算方法を有する半導体装置を提供することができる。または、本発明の一態様は、ニューロンの演算を低電力化させる半導体装置を提供することができる。または、本発明の一態様は、新規なプログラムを提供することができる。または、本発明の一態様は、新規な計算方法を提供することができる。または、本発明の一態様は、新規な半導体装置を提供することができる。または、本発明の一態様は、新規な半導体装置の駆動方法を提供することができる。【００２５】  なお本発明の一態様の効果は、上記列挙した効果に限定されない。上記列挙した効果は、他の効果の存在を妨げるものではない。なお他の効果は、以下の記載で述べる、本項目で言及していない効果である。本項目で言及していない効果は、当業者であれば明細書または図面等の記載から導き出せるものであり、これらの記載から適宜抽出することができる。なお、本発明の一態様は、上記列挙した効果、および／または他の効果のうち、少なくとも一つの効果を有するものである。したがって本発明の一態様は、場合によっては、上記列挙した効果を有さない場合もある。
【図面の簡単な説明】
【００２６】
【図１】加算方法を説明する図。
【図２】半導体装置を説明する回路図。
【図３】（Ａ）加算方法を説明する図。（Ｂ）半導体装置を説明する回路図。
【図４】加算方法を説明する図。
【図５】半導体装置を説明するブロック図。
【図６】半導体装置を説明するブロック図。
【図７】半導体装置を説明する回路図。
【図８】半導体装置を説明する回路図。
【図９】半導体装置を説明する回路図。
【図１０】半導体装置を説明する回路図。
【図１１】半導体装置を説明する回路図。
【図１２】半導体装置を説明する回路図。
【図１３】半導体装置を説明するブロック図。
【図１４】記憶装置の構成例を示す回路図。
【図１５】半導体装置の模式図。
【図１６】記憶装置の模式図。
【図１７】電子機器を示す図。
【図１８】半導体装置の構成例を示す図。
【図１９】トランジスタの構成例を示す図。
【図２０】トランジスタの構成例を示す図。
【発明を実施するための形態】
【００２７】  以下、実施の形態について図面を参照しながら説明する。ただし、実施の形態は多くの異なる態様で実施することが可能であり、趣旨およびその範囲から逸脱することなくその形態および詳細を様々に変更し得ることは当業者であれば容易に理解される。したがって、本発明は、以下の実施の形態の記載内容に限定して解釈されるものではない。なお、ある一つの実施の形態の中で述べる内容（一部の内容でもよい）は、その実施の形態で述べる別の内容（一部の内容でもよい）、および／又は、一つ若しくは複数の別の実施の形態で述べる内容（一部の内容でもよい）に対して、適用、組み合わせ、又は置き換えなどを行うことができる。なお、ある一つの実施の形態において述べる図（一部でもよい）は、その図の別の部分、その実施の形態において述べる別の図（一部でもよい）、および／又は、一つ若しくは複数の別の実施の形態において述べる図（一部でもよい）に対して、組み合わせることにより、さらに多くの図を構成させることができる。
【００２８】  また、図面において、大きさ、層の厚さ、または領域は、明瞭化のために誇張されている場合がある。よって、必ずしもそのスケールに限定されない。なお図面は、理想的な例を模式的に示したものであり、図面に示す形状または値などに限定されない。
【００２９】  また、本明細書にて用いる「第１」、「第２」、「第３」という序数詞は、構成要素の混同を避けるために付したものであり、数的に限定するものではないことを付記する。
【００３０】  また、本明細書において、「上に」、「下に」などの配置を示す語句は、構成同士の位置関係を、図面を参照して説明するために、便宜上用いている。また、構成同士の位置関係は、各構成を描写する方向に応じて適宜変化するものである。したがって、明細書で説明した語句に限定されず、状況に応じて適切に言い換えることができる。
【００３１】  また、本明細書等において、トランジスタとは、ゲートと、ドレインと、ソースとを含む少なくとも三つの端子を有する素子である。そして、ドレイン（ドレイン端子、ドレイン領域またはドレイン電極）とソース（ソース端子、ソース領域又はソース電極）の間にチャネル領域を有しており、チャネル形成領域を介して、ソースとドレインとの間に電流を流すことができるものである。なお、本明細書等において、チャネル領域とは、電流が主として流れる領域をいう。
【００３２】  また、ソースやドレインの機能は、異なる極性のトランジスタを採用する場合や、回路動作において電流の方向が変化する場合などには入れ替わることがある。このため、本明細書等においては、ソースやドレインの用語は、入れ替えて用いることができるものとする。
【００３３】  また、本明細書等において、「電気的に接続」には、「何らかの電気的作用を有するもの」を介して接続されている場合が含まれる。ここで、「何らかの電気的作用を有するもの」は、接続対象間での電気信号の授受を可能とするものであれば、特に制限を受けない。例えば、「何らかの電気的作用を有するもの」には、電極や配線をはじめ、トランジスタなどのスイッチング素子、抵抗素子、インダクタ、キャパシタ、その他の各種機能を有する素子などが含まれる。
【００３４】  また、本明細書等において、「平行」とは、二つの直線が−１０°以上１０°以下の角度で配置されている状態をいう。したがって、−５°以上５°以下の場合も含まれる。また、「垂直」とは、二つの直線が８０°以上１００°以下の角度で配置されている状態をいう。したがって、８５°以上９５°以下の場合も含まれる。
【００３５】  また、本明細書等において、「膜」という用語と、「層」という用語とは、互いに入れ替えることが可能である。例えば、「導電層」という用語を、「導電膜」という用語に変更することが可能な場合がある。または、例えば、「絶縁膜」という用語を、「絶縁層」という用語に変更することが可能な場合がある。
【００３６】  また、本明細書等において、特に断りがない場合、オフ電流とは、トランジスタがオフ状態（非導通状態、遮断状態、ともいう）にあるときのドレイン電流をいう。オフ状態とは、特に断りがない場合、ｎチャネル型トランジスタでは、ゲートとソースの間の電圧Ｖｇｓがしきい値電圧Ｖｔｈよりも低い状態、ｐチャネル型トランジスタでは、ゲートとソースの間の電圧Ｖｇｓがしきい値電圧Ｖｔｈよりも高い状態をいう。例えば、ｎチャネル型のトランジスタのオフ電流とは、ゲートとソースの間の電圧Ｖｇｓがしきい値電圧Ｖｔｈよりも低いときのドレイン電流をいう場合がある。
【００３７】  トランジスタのオフ電流は、Ｖｇｓに依存する場合がある。したがって、トランジスタのオフ電流がＩ以下である、とは、トランジスタのオフ電流がＩ以下となるＶｇｓの値が存在することをいう場合がある。トランジスタのオフ電流は、所定のＶｇｓにおけるオフ状態、所定の範囲内のＶｇｓにおけるオフ状態、または、十分に低減されたオフ電流が得られるＶｇｓにおけるオフ状態、等におけるオフ電流を指す場合がある。
【００３８】  一例として、しきい値電圧Ｖｔｈが０．５Ｖであり、Ｖｇｓが０．５Ｖにおけるドレイン電流が１×１０−９Ａであり、Ｖｇｓが０．１Ｖにおけるドレイン電流が１×１０−１３Ａであり、Ｖｇｓが−０．５Ｖにおけるドレイン電流が１×１０−１９Ａであり、Ｖｇｓが−０．８Ｖにおけるドレイン電流が１×１０−２２Ａであるようなｎチャネル型トランジスタを想定する。当該トランジスタのドレイン電流は、Ｖｇｓが−０．５Ｖにおいて、または、Ｖｇｓが−０．５Ｖ乃至−０．８Ｖの範囲において、１×１０−１９Ａ以下であるから、当該トランジスタのオフ電流は１×１０−１９Ａ以下である、という場合がある。当該トランジスタのドレイン電流が１×１０−２２Ａ以下となるＶｇｓが存在するため、当該トランジスタのオフ電流は１×１０−２２Ａ以下である、という場合がある。
【００３９】  また、本明細書等では、チャネル幅Ｗを有するトランジスタのオフ電流を、チャネル幅Ｗあたりを流れる電流値で表す場合がある。また、所定のチャネル幅（例えば１μｍ）あたりを流れる電流値で表す場合がある。後者の場合、オフ電流の単位は、電流／長さの次元を持つ単位（例えば、Ａ／μｍ）で表される場合がある。
【００４０】  トランジスタのオフ電流は、温度に依存する場合がある。本明細書において、オフ電流は、特に記載がない場合、室温、６０℃、８５℃、９５℃、または１２５℃におけるオフ電流を表す場合がある。または、当該トランジスタが含まれる半導体装置等の信頼性が保証される温度、または、当該トランジスタが含まれる半導体装置等が使用される温度（例えば、５℃乃至３５℃のいずれか一の温度）におけるオフ電流、を表す場合がある。トランジスタのオフ電流がＩ以下である、とは、室温、６０℃、８５℃、９５℃、１２５℃、当該トランジスタが含まれる半導体装置等の信頼性が保証される温度、または、当該トランジスタが含まれる半導体装置等が使用される温度（例えば、５℃乃至３５℃のいずれか一の温度）、におけるトランジスタのオフ電流がＩ以下となるＶｇｓの値が存在することを指す場合がある。
【００４１】  トランジスタのオフ電流は、ドレインとソースの間の電圧Ｖｄｓに依存する場合がある。本明細書において、オフ電流は、特に記載がない場合、Ｖｄｓが０．１Ｖ、０．８Ｖ、１Ｖ、１．２Ｖ、１．８Ｖ、２．５Ｖ、３Ｖ、３．３Ｖ、１０Ｖ、１２Ｖ、１６Ｖ、または２０Ｖにおけるオフ電流を表す場合がある。または、当該トランジスタが含まれる半導体装置等の信頼性が保証されるＶｄｓ、または、当該トランジスタが含まれる半導体装置等において使用されるＶｄｓにおけるオフ電流、を表す場合がある。トランジスタのオフ電流がＩ以下である、とは、Ｖｄｓが０．１Ｖ、０．８Ｖ、１Ｖ、１．２Ｖ、１．８Ｖ、２．５Ｖ、３Ｖ、３．３Ｖ、１０Ｖ、１２Ｖ、１６Ｖ、２０Ｖ、当該トランジスタが含まれる半導体装置等の信頼性が保証されるＶｄｓ、または、当該トランジスタが含まれる半導体装置等において使用されるＶｄｓ、におけるトランジスタのオフ電流がＩ以下となるＶｇｓの値が存在することを指す場合がある。
【００４２】  上記オフ電流の説明において、ドレインをソースと読み替えてもよい。つまり、オフ電流は、トランジスタがオフ状態にあるときのソースを流れる電流をいう場合もある。
【００４３】  また、本明細書等では、オフ電流と同じ意味で、リーク電流と記載する場合がある。また、本明細書等において、オフ電流とは、例えば、トランジスタがオフ状態にあるときに、ソースとドレインとの間に流れる電流を指す場合がある。
【００４４】  なお、電圧とは２点間における電位差のことをいい、電位とはある一点における静電場の中にある単位電荷が持つ静電エネルギー（電気的な位置エネルギー）のことをいう。ただし、一般的に、ある一点における電位と基準となる電位（例えば接地電位）との電位差のことを、単に電位もしくは電圧と呼び、電位と電圧が同義語として用いられることが多い。このため、本明細書では特に指定する場合を除き、電位を電圧と読み替えてもよいし、電圧を電位と読み替えてもよいこととする。
【００４５】（実施の形態１）
本実施の形態では、オーバーフローを抑制する加算方法と、該加算方法の機能を有する半導体装置について、図１乃至図４を用いて説明する。
【００４６】  ＡＩ、例えば、ディープラーニング（深層学習）では、機械学習を用いることで様々な情報（画像、音声、ビッグデータなど）から特徴を学習することができる。ただし、学習するためには、大量のデータの乗算、加算、および減算などの演算処理を必要とする。したがってＡＩでは、ニューラルネットワークを有する半導体装置を用いて演算することが、学習速度、または消費電力の面において好ましい。例えば、ニューラルネットワークは、人間の脳に模したニューロンを有していることが知られている。ニューロンの動作は、積和演算機能に置き換えることができる。つまりニューロンの機能を実現するためには積和演算回路を用いることが好ましい。ただし、演算の一部は、ソフトウェア（プログラム）によって計算してもよい。
【００４７】  積和演算回路は、複数の乗算回路と、乗算結果である正の整数、または負の整数を加算する加算回路を有している。積和演算回路の一例としては、符号付き浮動小数点による演算を行う回路、もしくは符号付き整数による演算を行う回路が好ましい。ただし、符号付き浮動小数点による演算を用いることで、より正確な情報の特徴を抽出することができるが、積和演算回路の規模が大きくなり、消費電力も大きくなる。符号付き整数による演算では、積和演算回路の構成をより小さくすることができる。積和演算回路を小さくすることで、積和演算回路を有する半導体装置も小さくなり、電力の消費を抑えることができる。
【００４８】  符号付き整数の演算では、正の整数、または負の整数を加算するときに、加算の順番によっては加算回路で桁あふれ（オーバーフロー）してしまうことがある。ただし加算の順番によっては、オーバーフローはせず、加算回路の桁数の範囲で解を得ることができる。つまり大量なデータ数を扱う加算回路では、オーバーフロー抑制が正しい演算結果を得るために重要である。本実施の形態では、オーバーフローを抑制する加算方法と、該加算方法を用いた半導体装置と、それらのプログラム（ソフトウェア）について説明する。
【００４９】  まず、オーバーフローを抑制する加算方法について図１（Ａ）を用いて説明する。図１（Ａ）では、一例としてメモリＭ１、メモリＭ２、メモリＭ３、およびメモリＭ４を有している。ここでは、説明のために、メモリＭ４を用いるが、メモリＭ４の代わりに、メモリＭ１を再使用してもよい。またメモリＭ１およびメモリＭ４の代わりにレジスタを用いてもよい。なお、メモリＭ１、メモリＭ２、メモリＭ３、または、メモリＭ４は、それぞれ別のメモリチップに設けられていてもよいし、少なくとも２個が、同一のメモリチップに設けられていてもよい。または、メモリＭ１、メモリＭ２、メモリＭ３、およびメモリＭ４が、同一のメモリチップに配置されており、それぞれ異なる記憶領域に割り当てられていてもよい。
【００５０】  図１（Ａ）に示すように、ＳＴ１からＳＴ５までのステップを有している。まず、図１（Ａ）のステップＳＴ１において、メモリＭ１には、センサ、出力回路、またはＣＰＵなどから入力データＩＮ１乃至ＩＮ９としてデータ群１が与えられる例を示している。ここでデータ群１について説明をする。データ群１は、複数の範囲に分類できることが好ましい。例えば、範囲Ａは、０（ゼロ）の値であり、範囲Ｂは、正の整数の値であり、範囲Ｃは負の整数の値である。
【００５１】  メモリＭ１に与えられるデータ群１のうちの１個のデータの値は、例えば、“Ａ”がゼロを表しており、“Ｂ１”が正の値を表しており、“Ｃ１”が負の値を表している。つまり、正の整数は、範囲Ｂの範囲内の値を持つ数値であり、”Ｂ”、”Ｂ２”、”Ｂ３”などのように、頭文字に”Ｂ”を付けて示す。”Ｂ”の後に付ける数値は、値を表しているのではなく、データを区別するための符号を表している。同様に、負の整数は、範囲Ｃの範囲内の値を持つ数値であり、”Ｃ１”、”Ｃ２”、”Ｃ３”、”Ｃ４”などのように、頭文字に”Ｃ”を付けて示す。”Ｃ”の後に付ける数値は、データを区別するための符号を表している。
【００５２】  次に、ステップＳＴ２において、メモリＭ２には、メモリＭ１に保存された正の符号を有する範囲Ｂのデータが保存される。例えば、範囲Ｂのデータである”Ｂ１”、”Ｂ２”、および、”Ｂ３”が、メモリＭ２に保存される。メモリＭ３には、メモリＭ１に保存された負の符号を有する範囲Ｃのデータが保存される。例えば、範囲Ｃのデータである”Ｃ１”、”Ｃ２”、”Ｃ３”、および、”Ｃ４”が、メモリＭ３に保存される。ただし、メモリＭ１に保存されたデータ群１のうちデータがゼロの場合は、そのデータを破棄してもよい。もしくは、メモリＭ２、またはメモリＭ３のいずれかにそのデータを与えてもよい。なお、メモリＭ２およびメモリＭ３にデータ群１が保存された後には、メモリＭ１は、範囲Ａのデータで初期化することが好ましい。したがってメモリＭ１はリセット機能を有していることが好ましい。例えば、メモリＭ１がレジスタ構造である場合には、リセット機能を実装するのが容易である。ただし、メモリＭ１に新たなデータが保存されるときに、値を上書きできる場合には、メモリＭ１はリセット機能を必ずしも有していなくてもよい。
【００５３】  次に、ステップＳＴ３において、正の符号を有するデータが保存されたメモリＭ２、または、負の符号を有するデータが保存されたメモリＭ３の、各々のメモリからデータを読み出して加算する。
【００５４】  例えばメモリＭ２から“Ｂ１”のデータ、メモリＭ３から“Ｃ１”のデータを読み出して加算する。したがって、正の符号を有する”Ｂ１”と、負の符号を有する“Ｃ１”とを加算する。加算結果は、“Ｂ１”あるいは“Ｃ１”よりも、よりゼロに近い数値になる。つまり、加算結果の絶対値は、”Ｂ１”よりも小さくなる。または、加算結果の絶対値は、”Ｃ１”の絶対値よりも小さくなる。例えば、“Ｂ１”のデータの絶対値の方が“Ｃ１”のデータの絶対値よりも大きい場合には、加算結果は、正の符号を有する“Ｂ１１”のデータになる。
【００５５】  ここで、“Ｂ１１”について説明をする。“Ｂ１１”は、メモリＭ２に保存される正の整数“Ｂ１”と、メモリＭ３に保存される負の整数“Ｃ１”を加算した結果が、範囲Ｂの範囲内の値を持つ数値であることを示し、”Ｂ１１”、”Ｂ１２”、”Ｂ１３”などのように、”Ｂ”の後に付ける二けたの数値は、データを区別するための符号を表している。
【００５６】  また、正の符号を有する“Ｂ２”と、負の符号を有する“Ｃ２”と、を加算すると、加算結果は、“Ｂ２”あるいは“Ｃ２”よりも、よりゼロに近い数値になる。つまり、加算結果の絶対値は、”Ｂ２”よりも小さくなる。または、加算結果の絶対値は、”Ｃ２”の絶対値よりも小さくなる。例えば、それぞれのデータの絶対値の大きさが同じ場合には、加算結果がゼロとなり“Ａ”のデータになる。また、正の符号を有する“Ｂ３”と、負の符号を有する“Ｃ３”と、を加算すると、加算結果は、“Ｂ３”あるいは“Ｃ３”よりも、よりゼロに近い数値になる。つまり、加算結果の絶対値は、”Ｂ３”よりも小さくなる。または、加算結果の絶対値は、”Ｃ３”の絶対値よりも小さくなる。例えば、“Ｃ３”のデータの絶対値の方が“Ｂ３”のデータの絶対値よりも大きい場合には、加算結果は、負の符号を有する“Ｃ１１”のデータになる。また、メモリＭ３には、“Ｃ４”のデータがあるにもかかわらず、メモリＭ２には加算するべきデータがない。このように、データがないときは、代わりのデータとして“Ａ”のデータを代入し、“Ａ”と“Ｃ４”とを加算する。したがって加算結果は、“Ｃ４”のデータになる。または、加算するべきデータがない場合には、“Ｃ４”のデータをそのまま加算結果とする。
【００５７】  ここで、“Ｃ１１”について説明をする。“Ｃ１１”は、メモリＭ２に保存される正の整数“Ｂ３”と、メモリＭ３に保存される負の整数“Ｃ３”を加算した結果が、範囲Ｃの範囲内の値を持つ数値であることを示し、”Ｃ１１”、”Ｃ１２”、”Ｃ１３”などのように、”Ｃ”の後に付ける二けたの数値は、データを区別するための符号を表している。
【００５８】  このように、加算結果は、データ群２としてメモリＭ４に保存される。このとき、データ群２をメモリＭ１に保存してもよい。メモリＭ１に保存することで、回路の規模をより小さくすることができ、消費電力も小さくすることができる。なお、メモリＭ１に保存する場合には、ステップＳＴ１の場合よりも、データ数が少なくなっている。そのため、前述したように、メモリＭ１にデータを保存する前に、メモリＭ１のデータを初期化しておくことが好ましい。
【００５９】  データ群２には、正の符号を有するデータと、負の符号を有するデータと、ゼロのデータとを含んでいる。メモリＭ４にデータを保存するとき、正の符号を有するデータの数と、負の符号を有するデータの数と、を各々カウントしておくことが好ましい。このとき、カウンタＣＮＰは正の符号を有するデータの数をカウントし、カウンタＣＮＭは負の符号を有するデータの数をカウントする。例えば、ＳＴ３では、カウント値がカウンタＣＮＰ＝１、カウンタＣＮＭ＝２になる。なお、カウンタＣＮＰ、カウンタＣＮＭは、任意のタイミングおよび初期値で初期化できることが好ましい。
【００６０】  メモリＭ２、またはメモリＭ３から、メモリＭ４にデータを保存したとき、カウンタＣＮＰ、またはカウンタＣＮＭのカウンタ値を判定する。カウンタＣＮＰ、またはカウンタＣＮＭのいずれかが初期値のまま更新されていなければ、メモリＭ４に保存されたデータ群２を全て加算することができる。そして、その場合には、全て加算をした後で、計算処理が終了となる。
【００６１】  カウンタＣＮＰおよびカウンタＣＮＭが更新されている場合は、次のステップＳＴ４において、メモリＭ４に保存されたデータ群２について、正の符号を有するデータをメモリＭ２、負の符号を有するデータをＭ３に保存することができる。例えば、メモリＭ２には、範囲Ｂのデータである正の符号を有するデータの“Ｂ１１”が保存される。また、メモリＭ３には、範囲Ｃのデータである負の符号を有するデータの“Ｃ１１”および“Ｃ４”が保存されている。なお、図ではメモリＭ２に保存されているが、別のメモリ、例えば、メモリＭ５に保存されてもよい。同様に、図ではメモリＭ３に保存されているが、別のメモリ、例えば、メモリＭ６に保存されてもよい。なお、メモリＭ２に保存する場合には、ステップＳＴ２の場合よりも、データ数が少なくなっている。そのため、メモリＭ２にデータを保存する前に、メモリＭ２のデータを初期化しておくことが好ましい。また、メモリＭ３のデータを初期化しておくことが好ましい。
【００６２】  次に、ステップＳＴ５において、メモリＭ２から“Ｂ１１”のデータ、メモリＭ３から“Ｃ１１”のデータを読み出して加算する。つまり、正の符号を有する“Ｂ１１”と、負の符号を有する“Ｃ１１”とを加算する。加算結果は、“Ｂ１１”あるいは“Ｃ１１”よりも、よりゼロに近い数値になる。つまり、加算結果の絶対値は、”Ｂ１１”よりも小さくなる。または、加算結果の絶対値は、”Ｃ１１”の絶対値よりも小さくなる。例えば、“Ｃ１１”のデータの絶対値の方が“Ｂ１１”のデータの絶対値よりも大きい場合には、加算結果は、負の符号を有する“Ｃ１１１”のデータになる。続いて、メモリＭ３には、“Ｃ４”のデータがあるにもかかわらず、メモリＭ２には加算するべきデータがないときは、代わりのデータとして“Ａ”のデータを代入し、“Ａ”と“Ｃ４”とを加算する。または、“Ｃ４”をそのまま加算結果とする。したがって加算結果は、“Ｃ４”のデータになる。
【００６３】  ここで、“Ｃ１１１”について説明をする。“Ｃ１１１”は、メモリＭ２に保存される正の整数“Ｂ１１”と、メモリＭ３に保存される負の整数“Ｃ１１”が加算された結果が、範囲Ｃの範囲内の値を持つ数値であることを示し、”Ｃ１１１”、”Ｃ１１２”、”Ｃ１１３”などのように、”Ｃ”の後に付ける三けたの数値は、データを区別するための符号を表している。図１（Ａ）では例示していないが、メモリＭ２に保存される正の符号を有するデータと、メモリＭ３に保存される負の符号を有するデータが加算された結果が、範囲Ｂの範囲内の値を持つ数値の場合、”Ｂ１１１”、”Ｂ１１２”、”Ｂ１１３”などのように表記し、”Ｂ”の後に付ける三けたの数値は、データを区別するための符号を表している。
【００６４】  加算結果は、データ群３としてメモリＭ４に保存される。このとき、データ群３をメモリＭ１に保存してもよい。なお、メモリＭ１に保存する場合には、メモリＭ１のデータを初期化しておくことが好ましい。メモリＭ１に保存することで、回路の規模をより小さくすることができ、消費電力も小さくすることができる。なお、メモリＭ４に保存する場合には、ステップＳＴ３の場合よりも、データ数が少なくなっている。そのため、前述したように、メモリＭ４にデータを保存する前に、メモリＭ４のデータを初期化しておくことが好ましい。
【００６５】  例えば、ＳＴ５では、カウント値がカウンタＣＮＰ＝０、カウンタＣＮＭ＝２になる。よってカウンタＣＮＰが初期値のまま更新されていないためメモリＭ４に保存されたデータ群３を全て加算し、演算処理が終了となる。
【００６６】  上記のような加算方法を用いることで、複数の符号付きデータを加算するときに発生するオーバーフローを抑制することができる。オーバーフローを抑制することで、加算処理によるデータの劣化を抑制することができる。なお、図１（Ａ）において、ステップＳＴ２やステップＳＴ４のように、メモリＭ２およびメモリＭ３にデータを一旦保存したが、本発明の一態様は、これに限定されない。例えば、メモリＭ１またはメモリＭ４から、入力範囲Ｂのデータと入力範囲Ｃのデータからそれぞれデータを選んで、加算を行い、メモリＭ４に保存してもよい。
【００６７】  図１（Ｂ）では、図１（Ａ）で説明した加算方法（ステップＳＴ１からステップＳＴ５）に、実際の数字を与えた例を示している。まず、ステップＳＴ１１において、メモリＭ１には、ＩＮ１乃至ＩＮ９からデータ群１が与えられた例を示している。メモリＭ１には、一例として、“−１”、“−３”、“２”、“３”、“０”、“０”、“−３”、“−１”、“１”が与えられている。図１（Ａ）では説明しなかったが、カウンタＣＮＰ、カウンタＣＮＭを用いてカウント値を管理してもよい。例えば、図１（Ｂ）のステップＳＴ１１では、カウンタＣＮＰ＝３、カウンタＣＮＭ＝４を示している。
【００６８】  一例として、範囲Ｂには、正の整数１乃至３の範囲が与えられ、範囲Ｃには、負の整数−１乃至−３の範囲が与えられる。つまり、範囲Ｂ、もしくは範囲Ｃを超えた場合（−３より小さく、３より大きい）は、桁あふれ（オーバーフロー）とする。例えば、メモリＭ１に保存されているデータの順番に“−１”、“−３”を加算したときは、加算結果が“−４”となりオーバーフローすることになる。しかし、図１（Ａ）および図１（Ｂ）に示すように、正の符号を有する整数と、負の符号を有する整数と、を加算する方法では、加算結果がゼロに近づくようになるため、オーバーフローの発生を抑制することができる。
【００６９】  次に、ステップＳＴ１２において、メモリＭ２には、メモリＭ１に保存された正の符号を有するデータが保存される。メモリＭ３には、メモリＭ１に保存された負の符号を有するデータが保存される。つまりメモリＭ２には、“２”、“３”、“１”が保存される。また、メモリＭ３には、“−１”、“−３”、“−３”、“−１”が保存される。
【００７０】  次に、ステップＳＴ１３において、正の符号を有するデータが保存されたメモリＭ２、または、負の符号を有するデータが保存されたメモリＭ３の、各々のメモリからデータを読み出して加算する。つまり、メモリＭ２に保存された“２”と、メモリＭ３に保存された“−１”とが加算される。加算結果“１”がメモリＭ４に保存される。続いて、メモリＭ２に保存された“３”と、メモリＭ３に保存された“−３”と、が加算される。加算結果“０”がメモリＭ４に保存される。続いて、メモリＭ２に保存された“１”と、メモリＭ３に保存された“−３”と、が加算される。加算結果“−２”がメモリＭ４に保存される。続いて、メモリＭ２には保存されたデータがないため、代わりにゼロが与えられ、メモリＭ３に保存された“−１”と、が加算される。または、メモリＭ３に保存された“−１”がそのまま出力される。加算結果“−１”がメモリＭ４に保存される。なお、加算結果“０”の場合は、メモリＭ４に保存しなくてもよい。
【００７１】  このとき、正の符号を有する整数のカウンタ値はカウンタＣＮＰ＝１、負の符号を有する整数のカウンタ値はカウンタＣＮＭ＝２を示している。したがって、再度、加算するために、メモリＭ４からメモリＭ２およびメモリＭ３にデータを振り分けて保存する。
【００７２】  次に、ステップＳＴ１４において、メモリＭ２には、“１”が保存され、メモリＭ３には、“−２”、“−１”が保存される。
【００７３】  次に、ステップＳＴ１５において、メモリＭ２に保存された“１”と、メモリＭ３に保存された“−２”とが加算される。加算結果“−１”がメモリＭ４に保存される。続いて、メモリＭ２には保存されたデータがないため、代わりにゼロが与えられ、メモリＭ３に保存された“−１”と、が加算される。または、メモリＭ３に保存された“−１”がそのまま出力される。加算結果“−１”がメモリＭ４に保存される。
【００７４】  ＳＴ１５では、カウント値がカウンタＣＮＰ＝０、カウンタＣＮＭ＝２になる。よってカウンタＣＮＰが初期値のまま更新されていないためメモリＭ４に保存されたデータを全て加算する。その結果、加算結果“−２”を算出することができる。したがって、正の符号を有する整数と負の符号を有する整数とを順に組み合わせて加算することで、オーバーフローによるデータの劣化を抑制し、正しい解を算出することができる加算方法である。
【００７５】  図２（Ａ）は、図１（Ａ）で示した加算方法の機能を有する加算回路１０について説明する回路図である。加算回路１０は、セレクタ２０、メモリ２１、カウンタ２２、制御回路２３、セレクタ２４、メモリ２４ａ、メモリ２４ｂ、制御回路２５、ゼロインサーション回路２６ａ、ゼロインサーション回路２６ｂ、加算回路２７、加算回路２８、およびゲート回路２９を有している。カウンタ２２は、カウンタＣＮＰ２２ａ、およびカウンタＣＮＭ２２ｂを有している。また加算回路１０は、信号線ＤＩ、信号線ＤＲ、信号線ＤＡ、信号線ＤＡ１、信号線ＤＡ２、信号線ＤＡＰ、信号線ＤＡＭ、信号線ＦＯ１、信号線ＦＯ２、信号線ＦＯＵＴ１、信号線ＦＯＵＴ２、信号線ＤＯ、信号線ＳＥＬ１、信号線ＳＥＬ２、信号線ＷＥＰ、信号線ＷＥＭ、信号線ＵＦＰ、信号線ＵＦＭ、信号線ＲＥＰ、信号線ＲＥＭ、信号線ＷＥＲ、信号線ＦＣ、信号線ＤＵＦ、信号線ＭＢ１、信号線ＭＢ２、信号線ＷＥ、信号線ＩＲＱ、および信号線ＡＣＫを有している。
【００７６】  セレクタ２０は、信号線ＤＡを介してメモリ２１と電気的に接続されている。また、セレクタ２０は、信号線ＤＩを介してカウンタ２２と電気的に接続され、さらに信号線ＳＥＬ１を介してゲート回路２９と電気的に接続されている。
【００７７】  メモリ２１は、信号線ＤＡ１を介してセレクタ２４と電気的に接続されている。セレクタ２４は、信号線ＤＡＰを介してメモリ２４ａと電気的に接続され、さらに信号線ＤＡＭを介してメモリ２４ｂと電気的に接続されている。
【００７８】  制御回路２３は、信号線ＤＡ１を介してメモリ２１と電気的に接続されている。また、制御回路２３は、信号線ＳＥＬ２を介してセレクタ２４と電気的に接続されている。また、制御回路２３は、信号線ＷＥＰを介してメモリ２４ａと電気的に接続され、さらに信号線ＷＥＭを介してメモリ２４ｂと電気的に接続されている。
【００７９】  メモリ２４ａは、信号線ＦＯ１を介してゼロインサーション回路２６ａと電気的に接続されている。メモリ２４ｂは、信号線ＦＯ２を介してゼロインサーション回路２６ｂと電気的に接続されている。
【００８０】  制御回路２５は、信号線ＵＦＰ、および信号線ＲＥＰを介してメモリ２４ａと電気的に接続され、さらに信号線ＵＦＭ、および信号線ＲＥＭを介してメモリ２４ｂと電気的に接続されている。制御回路２５は、信号線ＭＢ１を介してゼロインサーション回路２６ａと電気的に接続され、さらに信号線ＭＢ２を介してゼロインサーション回路２６ｂと電気的に接続され、制御回路２５は、信号線ＤＵＦを介してカウンタ２２と電気的に接続され、さらに信号線ＷＥＲを介して加算回路２７、およびゲート回路２９と電気的に接続されている。
【００８１】  加算回路２７は、信号線ＦＯＵＴ１を介してゼロインサーション回路２６ａと電気的に接続され、さらに信号線ＦＯＵＴ２を介してゼロインサーション回路２６ｂと電気的に接続される。加算回路２７は、信号線ＤＲを介してセレクタ２０およびカウンタ２２と電気的に接続される。
【００８２】  信号線ＩＲＱは、カウンタ２２、および制御回路２３と電気的に接続される。また、加算回路１０は、信号線ＡＣＫ、および信号線ＤＯを出力する。
【００８３】  次に、各々の機能について説明する。セレクタ２０は、信号線ＳＥＬ１に与えられる信号によって、入力データＤＩまたは加算回路２７の出力ＤＲのいずれか一を選択し信号線ＤＡに出力することができる。信号線ＳＥＬ１に与えられる信号は、メモリ２１に書くための信号線ＷＥまたは加算回路２７の出力ＤＲを書くための信号線ＷＥＲによって生成される。なお、メモリ２１は、図１のメモリＭ１に相当する。
【００８４】  メモリ２１は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、またはＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の保存回路を用いてもよいし、もしくは、レジスタで構成されていてもよい。メモリ２１は、リセット機能もしくは、読み出しリセットの機能を有していることが好ましい。リセット機能とは、メモリが保存している全てのデータを任意のタイミングで任意の初期値にすることができる。また、読み出しリセットとは、アクセスしたメモリ番地のデータを読み出す場合、読み出した後に初期化する機能である。
【００８５】  カウンタ２２は、信号線ＤＩに与えられるデータまたは信号線ＤＲに与えられるデータの各々について、正の符号を有する整数をカウントするカウンタＣＮＰ２２ａと、負の符号を有する整数をカウントするカウンタＣＮＭ２２ｂと、を有している。カウンタ２２は、リセット機能と、イネーブルの機能を有していることが好ましい。また信号線ＤＵＦに与えられる信号によってカウンタ２２がリセットされることが好ましい。また信号線ＩＲＱに与えられる信号が、カウンタ２２をイネーブル状態にし、カウンタ２２がイネーブル状態となることでカウントアップを開始する。
【００８６】  制御回路２３は、メモリ２１に保存されたデータを、セレクタ２４を介してメモリ２４ａおよびメモリ２４ｂに移動させることができる。制御回路２３は、信号線ＳＥＬ２に与える信号によって、メモリ２１に保存されたデータをメモリ２４ａまたはメモリ２４ｂに振り分けることができる。例えば、制御回路２３は、メモリ２１から移動するデータが正の符号を有する場合、信号線ＤＡＰを介してメモリ２４ａに保存することができる。また、制御回路２３は、メモリ２１から移動するデータが負の符号を有する場合、信号線ＤＡＭを介してメモリ２４ｂに保存することができる。また、制御回路２３は、信号線ＤＡ１のデータがゼロのとき、ゼロのデータを廃棄する機能を有していることが好ましい。
【００８７】  メモリ２１、メモリ２４ａ、およびメモリ２４ｂは、ファーストインファーストアウトの機能を有していることが好ましい。メモリ２１、メモリ２４ａ、およびメモリ２４ｂは、データがないときにアンダーフローフラグを出力することができる。ファーストインファーストアウトの機能を有することで、読み出しリセットの機能が付加される。図２では、メモリ２４ａおよびメモリ２４ｂがファーストインファーストアウトの機能を有しているとして説明を進める。また、メモリ２１、メモリ２４ａ、およびメモリ２４ｂのメモリの大きさは適宜決めればよいが、メモリ２４ａおよびメモリ２４ｂよりも、メモリ２１が大きい方が好ましい。なお、メモリ２４ａは、図１のメモリＭ２に相当し、メモリ２４ｂは、図１のメモリＭ３に相当する。
【００８８】  制御回路２５は、メモリ２４ａが信号線ＵＦＰに出力するアンダーフローフラグおよびメモリ２４ｂが信号線ＵＦＭに出力するアンダーフローフラグの状態を監視することができる。また、メモリ２４ａおよびメモリ２４ｂからデータを読み出して加算回路２７へ与え加算させることができる。ただし、メモリ２４ａが信号線ＵＦＰにアンダーフローフラグを出力している場合、ゼロインサーション回路２６ａが代替えデータとしてゼロを出力する。同様に、メモリ２４ｂが信号線ＵＦＭにアンダーフローフラグを出力している場合、ゼロインサーション回路２６ｂが代替えデータとしてゼロを与える。
【００８９】  加算回路の結果は、信号線ＤＲを介して、メモリ２１に保存される。このとき、カウンタ２２は、加算結果が正の符号を有するならばカウンタＣＮＰ２２ａをカウントアップし、加算結果が負の符号を有するならばカウンタＣＮＭ２２ｂをカウントアップする。メモリ２４ａ、およびメモリ２４ｂが共にアンダーフローフラグを出力すると、制御回路２５は、信号線ＤＵＦに信号を出力する。カウンタ２２は、信号線ＤＵＦに与えられた信号によって、カウンタＣＮＰ２２ａ、およびカウンタＣＮＭ２２ｂを停止し、且つ判定する。判定結果は、信号線ＦＣを介して制御回路２３、および加算回路２８に通知される。通知される判定結果とは、第一の結果としてカウンタＣＮＰ２２ａ、またはカウンタＣＮＭ２２ｂのいずれかがアンダーフローしたか、第二の結果としてアンダーフローしていない方のカウンタのカウント値であることが好ましい。
【００９０】  カウンタ２２は、カウンタＣＮＰ２２ａ、またはカウンタＣＮＭ２２ｂのいずれかが初期値のままであれば、メモリ２１に保存されたデータが同じ符号（ゼロを含む）であると判断することができる。カウンタＣＮＰ２２ａ、またはカウンタＣＮＭ２２ｂのいずれかが初期値のとき、加算回路２８は、信号線ＤＡ２を介してデータを読み出して加算する。演算終了後、加算回路２８は、信号線ＡＣＫに与える信号によって演算が終了したことをＣＰＵなどに通知することができる。このとき、信号線ＤＯには、加算結果が出力しているが、情報を保持するためにラッチしていることが好ましい。さらに、信号線ＤＯ、信号線ＡＣＫは、読み出しリセット機能を有していることが好ましい。
【００９１】  カウンタＣＮＰ２２ａ、およびカウンタＣＮＭ２２ｂがカウントアップしている場合は、メモリ２１に異なる符号を有するデータが保存されていると判断することができる。その場合は、制御回路２３によって加算の演算を再度実行する。
【００９２】  よって、ＣＰＵなどの周辺回路は、加算回路１０に対し加算したい複数のデータをメモリ２１に保存し、さらに信号線ＩＲＱに信号を与えることで加算回路１０の演算処理を開始させる。加算回路１０は、演算が終了すると信号線ＡＣＫに信号を与えることでＣＰＵなどの周辺回路に演算終了を通知する。つまり、データをセットし、演算コマンドを実行することで、演算結果を得ることができる。加算回路１０が演算している期間は、ＣＰＵなどの周辺回路は、異なる処理をすることができる。また、正の整数と、負の整数とを加算することでオーバーフローを抑制し、さらに、演算結果がゼロのデータを破棄することで演算量を減らすことができる加算方法を有する加算回路１０を有する半導体装置である。
【００９３】  図２（Ｂ）は、ゼロインサーション回路２６（ゼロインサーション回路２６ａと２６ｂ）を詳細に説明する回路図である。ゼロインサーション回路２６は、複数のゲート回路２６ｃと、スイッチＳＷ０、スイッチＳＷ１を有している。ゲート回路２６ｃは、２つの入力端子と、一つの出力端子を有している。ゲート回路２６ｃの出力端子は、信号線ＦＯＵＴ［ｎ：０］のいずれか一と電気的に接続されている。また、ゲート回路２６ｃの一方の入力端子は、信号線ＦＯ［ｎ：０］のいずれか一と電気的に接続されている。他方の入力端子は、スイッチＳＷ０の電極の一方、およびスイッチＳＷ１の電極の一方と電気的に接続されている。スイッチＳＷ０の電極の他方は、配線Ｖｄｄと電気的に接続され、配線Ｖｄｄには、加算回路１０の高い電源電圧が与えられていることが好ましい。スイッチＳＷ１の電極の他方は配線Ｖｓｓと電気的に接続され、配線Ｖｓｓには、加算回路１０の低い電源電圧、例えばＧＮＤが与えられていることが好ましい。
【００９４】  スイッチＳＷ０およびスイッチＳＷ１は、信号線ＭＢに与えられる信号によって制御される。またスイッチＳＷ０およびスイッチＳＷ１は、排他的に動作することが好ましい。ゲート回路２６ｃは、信号線ＭＢに与えられる信号によってスイッチＳＷ０をオン状態にし、同じ期間スイッチＳＷ１をオフ状態にすることができる。信号線ＦＯに与えられた信号と同じ信号を出力端子に出力することができる。また、ゲート回路２６ｃは、信号線ＭＢに与えられる信号によってスイッチＳＷ０をオフ状態にし、同じ期間スイッチＳＷ１をオン状態にすることができる。したがって、信号線ＦＯＵＴには、ゼロが与えられる。つまりゲート回路２６ｃは、信号線ＦＯに与えられた任意のデータをゼロに変換することができる。
【００９５】  本発明の一態様は、上述した加算回路に限定されない。例えば、プログラムを用いて実現してもよい。つまり、ハードウェアではなく、ソフトウェアによって、本発明の一態様の加算方法を実施してもよい。
【００９６】  図３（Ａ）は、図１（Ａ）と異なる構成を有するオーバーフローを抑制する加算方法について説明する図である。
【００９７】  図３（Ａ）では、メモリＭ５、メモリＭ６を有していることが図１（Ａ）と異なっている。図１（Ａ）と異なり、入力データ、または演算後のデータをさらに細かな複数の範囲に分類することができる点が異なっている。例えば、正の整数が分類される範囲は、範囲Ｂ、および範囲ＢＢに分けることができる。範囲ＢＢは、範囲Ｂよりも大きな値を有している。また負の整数が分類される範囲は、範囲Ｃ、および範囲ＣＣに分けることができる。範囲ＣＣは、範囲Ｃよりも小さな値を有している。このように細かな分類を有することで、加算するときに、加算結果がより小さな値になるようにすることができる。したがって加算するときのオーバーフローの発生をさらに抑制することができる。
【００９８】  図３（Ｂ）は、図２（Ａ）と異なる構成を有する半導体装置を説明する回路図である。加算回路１０ａは、制御回路３０、セレクタ３１、メモリ３１ａ乃至メモリ３１ｄ、制御回路３２、ゼロインサーション回路３３ａ、ゼロインサーション回路３３ｂ、を有している点が加算回路１０と異なっている。紙面の都合上、メモリ３１ｂ、メモリ３１ｃの表示は省略している。また加算回路１０ａは、信号線ＤＡＰ１、信号線ＤＡＰ２、信号線ＤＡＭ１、信号線ＤＡＭ２、信号線ＦＯ１、信号線ＦＯ２、信号線ＦＯ３、信号線ＦＯ４、信号線ＷＥＰ１、信号線ＷＥＰ２、信号線ＷＥＭ１、信号線ＷＥＭ２、信号線ＵＦＰ１、信号線ＵＦＰ２、信号線ＵＦＭ１、号線ＵＦＭ２、信号線ＲＥＰ１、信号線ＲＥＰ２、信号線ＲＥＭ１、および信号線ＲＥＭ２を有している点が加算回路１０と異なっている。
【００９９】  制御回路３０は、メモリ３１ａ乃至メモリ３１ｄ（メモリ３１ｂ、メモリ３１ｃは図示せず）に対応した点が制御回路２３と異なっている。セレクタ３１は、メモリ３１ａ乃至メモリ３１ｄに対応した点がセレクタ２４と異なっている。メモリ３１ａは、範囲ＢＢの範囲内のデータが保存され、メモリ３１ｂは、範囲Ｂの範囲内のデータが保存され、メモリ３１ｃは、範囲Ｃの範囲内のデータが保存され、メモリ３１ｄは、範囲ＣＣの範囲内のデータが保存される。制御回路３２は、メモリ３１ａ乃至メモリ３１ｄに対応した点が制御回路２５と異なっている。ゼロインサーション回路３３ａは、信号線ＦＯ１、信号線ＦＯ２に対応した点がゼロインサーション回路２６ａと異なっている。ゼロインサーション回路３３ｂは、信号線ＦＯ３、信号線ＦＯ４に対応した点がゼロインサーション回路２６ｂと異なっている。
【０１００】  図３（Ｂ）に示すように、加算処理において、オーバーフローをさらに抑制するためには、入力範囲を細かく管理するメモリを追加することが好ましい。オーバーフローが抑制されるため、さらに正確な演算をすることができる。
【０１０１】  図４（Ａ）は、図１（Ａ）と異なる構成を有するオーバーフローを抑制する加算方法について説明する図である。図４（Ａ）は、ステップＳＴ３１からステップＳＴ３３までの例を示す。図１（Ａ）では、正の符号を有する整数と、負の符号を有する整数とで、分類を行っていた。一方、図４（Ａ）では、ステップＳＴ３２において、正の符号を有する整数、負の符号を有する整数を、単に分類するだけでなく、絶対値の大きな値順に並べ替えることができる。符号の異なる値で、絶対値の大きな値順に加算する。これにより、２つの値の加算結果が、ゼロに近くなる。その結果、オーバーフローにより計算精度を低下させることなく、より速く加算処理をすることができる。
【０１０２】  なお、図４（Ａ）では、メモリＭ２とメモリＭ３とに分けて保存されているが、本発明の一態様は、これに限定されない。例えば、正の符号を有する整数と、負の符号を有する整数とを分類せずに保存してもよい。例えば、メモリＭ２に、最も大きい値から最も小さい値までを保存してもよい。例えば、図４（Ｂ）に示すように、“３”、“２”、“１”、“０”、“０”、“−１”、“−１”、“−３”、“−３”、の順序で、メモリＭ２に保存してもよい。そして、最も大きな値と、最も小さな値とで、順に加算する。例えば、“３”と“−３”とを加算し、その後、”２”と“−３”とを加算し、次に、”１”と“−１”とを加算し、その次に、”０”と“−１”とを加算する。このような処理を行うことにより、正の符号を有する整数と、負の符号を有する整数とで、それぞれの個数が大きく異なる場合においても、素早く処理を行うことができる。なお、図４（Ｂ）では、メモリＭ２にデータを保存した後で、加算するが、本発明の一態様は、これに限定されない。例えば、メモリＭ１から、適切な数値を取り出して、順次、最も大きな値と、最も小さな値とを加算してもよい。
【０１０３】  また、図４（Ｂ）のような場合には、符号なしの整数を加算する場合においても、オーバーフローによる計算精度の低下を低減することができる。つまり、正の符号を有する整数のみ（ゼロを含んでいてもよい）、または、負の符号を有する整数のみ（ゼロを含んでいてもよい）の場合において、図４（Ｂ）と同様に、最も大きい値から最も小さい値までを保存し、その後、最も大きな値と、最も小さな値とで、順に加算してもよい。なお、ここでは、メモリＭ２にデータを保存した後で、加算するが、本発明の一態様は、これに限定されない。例えば、メモリＭ１から、適切な数値を取り出して、順次、最も大きな値と、最も小さな値とで、加算してもよい。
【０１０４】  なお、図１（Ａ）のステップＳＴ５、図１（Ｂ）のステップＳＴ１５、図３（Ａ）のステップＳＴ２５などでは、図４（Ｂ）と同様な方法を用いて符号なしの整数を加算することができる。異なる例として、正の符号を有する整数のみを加算する場合、または、負の符号を有する整数のみを加算する場合にも、図４（Ｂ）と同様な方法を用いて符号なしの整数を加算することができる。
【０１０５】  本実施の形態は、他の実施の形態の一部または全部について、変更、追加、修正、削除、応用、上位概念化、又は、下位概念化したものに相当する。したがって、本実施の形態の一部または全部について、他の実施の形態の一部または全部と自由に組み合わせ、又は置き換えて実施することができる。
【０１０６】（実施の形態２）
本実施の形態では、オーバーフローを抑制することができる加算回路を有する半導体装置ついて、図５乃至図１３を用いて説明する。
【０１０７】  図５（Ａ）は、ニューラルネットワークを備える半導体装置８０を示すブロック図である。半導体装置８０は、一例としては、ＣＰＵ８１、メモリ８２、撮像装置８３、ニューラルネットワーク８４、ディスプレイコントローラ８５ａ、表示装置８５ｂ、および入出力バス８６を有している。ＣＰＵ８１、メモリ８２、撮像装置８３、ニューラルネットワーク８４、およびディスプレイコントローラ８５ａは、入出力バス８６を介して接続されている。ただし、撮像装置８３は、入出力バス８６を介さずにニューラルネットワーク８４と電気的に接続されてもよく、ニューラルネットワーク８４は、入出力バス８６を介さずにディスプレイコントローラ８５ａと電気的に接続されてもよい。
【０１０８】  図５（Ｂ）は、一例として、撮像装置８３がニューラルネットワーク８４に接続され、ニューラルネットワーク８４が、ＣＰＵ８１にデータを出力する構成例を示している。ニューラルネットワーク８４は、乗算セルブロック８４ａ、およびドライバ８４ｄを有している。乗算セルブロック８４ａは、複数のニューロン８４ｂを有している。各々のニューロン８４ｂは、一例としては、複数の乗算セル１１、複数のリファレンスセル１２、演算回路１３、および図２（Ａ）で説明した加算回路１０を有している。なお、ソフトウェア、または、プログラムで加算する場合には、加算回路１０は設けなくてもよい。
【０１０９】  図５（Ｃ）は、ニューロン８４ｂを説明する図である。ニューロン８４ｂは、一例としては、乗算回路４０、および変換回路１５を有している。なお、変換回路１５は、必ずしも有していなくてもよい。乗算回路４０は、複数の乗算セル１１を備えていることが好ましい。変換回路１５は、加算回路１０と電気的に接続されている。つまり、ニューロン８４ｂは、乗算回路４０と、加算回路１０とで構成される積和演算回路を有している。
【０１１０】  図６（Ａ）には、乗算セル１１が有するトランジスタを示している。トランジスタを用いて、トランジスタのゲートに、重み係数ΔＷおよびデータΔＶを与えることでΔＷ×ΔＶの乗算を行う方法を説明する。トランジスタに流れる電流Ｉｄは、トランジスタが飽和領域で動作する場合には、式１で表すことができる。
【０１１１】  Ｉｄｓ＝ｋ×（Ｖｇｓ−Ｖｔｈ）２（式１）
【０１１２】  電流Ｉｄｓは、Ｖｇｓにより変化する。トランジスタのゲートに基準電圧Ｖｒｅｆ、重み係数ΔＷ、およびデータΔＶが与えられるとすると、電流Ｉｄｓは、式２を式１のＶｇｓに代入して計算する必要がある。このとき代入するＶｇｓをＶｇｓ１とし、計算される電流Ｉｄｓを電流Ｉ１とする。
【０１１３】  Ｖｇｓ１＝Ｖｒｅｆ＋ΔＷ＋ΔＶ（式２）
【０１１４】  ΔＷ×ΔＶを乗算結果として得るためには、式２が代入された式１を展開することで式５の中にΔＷ×ΔＶの項を得ることができる。
【０１１５】  Ｉ１＝ｋ×（Ｖｒｅｆ＋ΔＷ＋ΔＶ−Ｖｔｈ）２（式３）
【０１１６】  係数Ａ＝Ｖｒｅｆ＋Ｖｔｈとした場合
【０１１７】  Ｉ１＝ｋ×（ΔＷ＋ΔＶ＋Ａ）２（式４）
【０１１８】  Ｉ１＝ｋ×（Ａ２＋２×Ａ×ΔＷ＋ΔＷ２＋２×Ａ×ΔＶ＋ΔＶ２＋２×ΔＷ×ΔＶ）（式５）
【０１１９】  同様に、式１のＶｇｓにＶｇｓ２＝Ｖｒｅｆ＋ΔＶを代入した場合、電流Ｉ２を得ることができる。
【０１２０】  また式１のＶｇｓにＶｇｓ３＝Ｖｒｅｆ＋ΔＷを代入した場合、電流Ｉ３を得ることができる。
【０１２１】  式１のＶｇｓにＶｇｓ４＝Ｖｒｅｆを代入した場合、電流Ｉ４を得ることができる。
【０１２２】  式５で得られる、Ａ２＋２×Ａ×ΔＷ＋ΔＷ２は、Ｖｇｓ３を代入した場合に得られる電流Ｉ３に相当する。
【０１２３】  式５で得られる、２×Ａ×ΔＶ＋ΔＶ２は、Ｖｇｓ２を代入した場合に得られる電流Ｉ２から、Ｖｇｓ４を代入した場合に得られる電流Ｉ４を引くことで得ることができる。
【０１２４】  したがって、式５からΔＷ×ΔＶの乗算結果を得るためには、以下の式６が成り立つことになる。この場合、Ｉ５は、トランジスタのＶｔｈには依存しない。
【０１２５】  Ｉ５＝２×ｋ×ΔＷ×ΔＶ（式６）
【０１２６】  ΔＶ＞０且つΔＷ＞０、またはΔＶ＜０且つΔＷ＜０のとき式７が成立する。
【０１２７】  Ｉ１＋Ｉ４−Ｉ２−Ｉ３−Ｉ５＝０（式７）
【０１２８】  また異なる場合としてΔＶ＜０、ΔＷ＞０、またはΔＶ＜０、ΔＷ＞０のとき式８が成立する。
【０１２９】  Ｉ１＋Ｉ４−Ｉ２−Ｉ３＋Ｉ５＝０（式８）
【０１３０】  つまり、トランジスタを用いてΔＷ×ΔＶの乗算結果を得るためには、電流Ｉ１乃至電流Ｉ４を計算することで算出することができる。
【０１３１】  図６（Ｂ）は、一例として、電流Ｉ１乃至電流Ｉ５を示している。Ｉ５（７）は、式７の電流の向きを示し、Ｉ５（８）は、式８の電流の向きを示している。
【０１３２】  図７（Ａ）は、一例として、積和演算回路の乗算回路４０について説明する回路図である。乗算回路４０は、一例として、乗算セル１１、リファレンスセル１２、演算回路１３、および変換回路１５を有している。変換回路１５の一例としては、電流信号を電圧信号に変換する機能を有している。または、変換回路１５の一例としては、アナログ信号をデジタル信号に変換する機能を有している。または、変換回路１５の一例としては、出力信号から、ノイズ成分を除去する機能を有している。演算回路１３の一例として、スイッチＳ１、第１プログラミングセル、および第２プログラミングセルを有している。乗算セル１１、リファレンスセル１２は、各々がメモリセルを有している。また乗算回路４０の一例として、配線Ｖｄｄ、配線Ｖｓｓ、信号線ＳＬ、信号線ＳＬＲ、信号線ＷＬ１、および信号線ＷＤを有している。
【０１３３】  乗算セル１１が有するメモリセルの一例としては、トランジスタ４１、トランジスタ４２、および容量素子４３を有している。リファレンスセル１２が有するメモリセルの一例としては、トランジスタ４４、トランジスタ４５、および容量素子４６を有している。演算回路１３の一例としては、カレントミラーを形成するトランジスタ４７、トランジスタ４８を有している。さらに、第１プログラミングセルの一例としては、トランジスタ４９、容量素子５０、およびスイッチＳ２を有している。さらに、第２プログラミングセルの一例としては、トランジスタ５１、容量素子５２、およびスイッチＳ３を有している。
【０１３４】  トランジスタ４７乃至トランジスタ４９は、ｐチャネル型のトランジスタであり、その他のトランジスタはｎチャネル型トランジスタである。
【０１３５】  積和演算回路は、チャネル形成領域にシリコン（単結晶シリコンなど）を含むトランジスタ（以下、Ｓｉトランジスタともいう）によって構成してもよいし、チャネル形成領域に酸化物半導体を含むトランジスタ（以下、ＯＳトランジスタともいう）によって構成してもよい。特に、ＯＳトランジスタはオフ電流が極めて小さいため、電圧を保持するトランジスタとして好適である。なお、ＳｉトランジスタとＯＳトランジスタの両方を用いて積和演算回路を構成してもよい。図７（Ａ）では、一例としては、スイッチＳ２、スイッチＳ３、トランジスタ４１、またはトランジスタ４４がＯＳトランジスタであることが好ましい。
【０１３６】  トランジスタ４１のソースまたはドレインの一方は、信号線ＳＬと電気的に接続される。トランジスタ４１のソースまたはドレインの他方は、トランジスタ４２のゲート、および容量素子４３の電極の一方と電気的に接続される。トランジスタ４２のソースまたはドレインの一方は、配線Ｖｓｓと電気的に接続される。トランジスタ４２のソースまたはドレインの他方は、スイッチＳ１の電極の一方、スイッチＳ２の電極の一方、およびトランジスタ４９のソースまたはドレインの一方と電気的に接続される。スイッチＳ２の電極の他方は、トランジスタ４９のゲート、および容量素子５０の電極の一方と電気的に接続される。トランジスタ４９のソースまたはドレインの他方は、配線Ｖｄｄ、容量素子５０の電極の他方と電気的に接続されている。スイッチＳ１の電極の他方は、変換回路１５の入力端子、トランジスタ５１のソースまたはドレインの一方、スイッチＳ３の電極の一方、およびトランジスタ４８のソースまたはドレインの一方と電気的に接続される。トランジスタ５１のゲートは、スイッチＳ３の電極の他方、および容量素子５２の電極の一方と電気的に接続される。トランジスタ５１のソースまたはドレインの他方は、配線Ｖｓｓ、容量素子５２の電極の他方、およびトランジスタ４５のソースまたはドレインの一方と電気的に接続される。トランジスタ４８のソースまたはドレインの他方は、配線Ｖｄｄ、およびトランジスタ４７のソースまたはドレインの一方と電気的に接続される。トランジスタ４８のゲートは、トランジスタ４７のゲート、トランジスタ４７のソースまたはドレインの他方、およびトランジスタ４５のソースまたはドレインの他方と電気的に接続される。トランジスタ４５のゲートは、トランジスタ４４のソースまたはドレインの一方、および容量素子４６の電極の一方に電気的に接続される。容量素子４６の電極の他方は、配線ＷＤと電気的に接続される。トランジスタ４４のソースまたはドレインの他方は、配線ＳＬＲと電気的に接続されている。
【０１３７】  ノードＦＮ１０は、トランジスタ４１のソースまたはドレインの他方、トランジスタ４２のゲート、および容量素子４３の電極の一方と接続されて形成されている。ノードＦＮ２０は、トランジスタ４４のソースまたはドレインの一方、トランジスタ４５のゲート、および容量素子４６の電極の一方と接続されて形成されている。ノードＦＮ３０は、スイッチＳ２の電極の他方、トランジスタ４９のゲート、および容量素子５０の電極の一方と接続されて形成されている。ノードＦＮ４０は、スイッチＳ３の電極の他方、トランジスタ５１のゲート、および容量素子５２の電極の一方と接続されて形成されている。
【０１３８】  ここで、図７（Ｃ）、（Ｄ）、（Ｅ）を用いて変換回路１５について説明する。変換回路１５の一例としては、ＩＶ変換回路１５ａ、および増幅回路１５ｂを有している。ＩＶ変換回路１５ａには、抵抗素子、容量素子、およびダイオードなどを用いることができる。ＩＶ変換回路１５ａにより、電流を電圧に変換することができる。その結果、出力信号を容易に取り出すことができる。そして、増幅回路１５ｂにより、電圧に変換された出力信号を適切に出力することができる。増幅回路１５ｂの一例としては、オペアンプ、ソースフォロワ回路、ソース接地回路、または、電圧フォロワ回路などを採用することができる。また、図７（Ｄ）または図７（Ｅ）に示すように、ＩＶ変換回路１５ａとして、オペアンプと、受動素子（例えば、抵抗素子、または、容量素子）とを用いて構成することもできる。図７（Ｄ）は、オペアンプと抵抗素子とを用いたＩＶ変換回路を示し、図７（Ｅ）は、オペアンプと容量素子とを用いた積分回路を示す。図７（Ｄ）または図７（Ｅ）に示すように、オペアンプを用いると、仮想接地の効果を利用することにより、オペアンプの入力端子の電位を制御できるため、好適である。
【０１３９】  次に、図７（Ａ）、図７（Ｂ）を用いて、乗算回路４０の動作の一例を説明する。
【０１４０】  最初に、図７（Ａ）について説明する。ノードＦＮ１０には、配線ＳＬを介してＶｇｓ３（＝Ｖｒｅｆ＋ΔＷ）が書き込まれ、トランジスタ４２には、電流Ｉ３が流れる。ノードＦＮ３０には、トランジスタ４９に流れる電流Ｉ３に相当する電位がスイッチＳ２を介して与えられる。同時に、ノードＦＮ２０には、配線ＳＬＲを介してＶｇｓ４（＝Ｖｒｅｆ）が書き込まれ、トランジスタ４５には、電流Ｉ４が流れる。電流Ｉ４は、カレントミラーを形成するトランジスタ４７、トランジスタ４８によってコピーされる。ノードＦＮ４０には、トランジスタ５１に流れる電流Ｉ４に相当する電位がスイッチＳ３を介して与えられる。
【０１４１】  次に、図７（Ｂ）について説明する。スイッチＳ２、およびスイッチＳ３をオフ状態にし、ノードＦＮ３０、またはノードＦＮ４０に与えられた電位を保存する。
【０１４２】  次に、信号線ＷＤの電位をデータΔＶだけ変動させることで、ノードＦＮ１０には、容量素子４３を介してデータΔＶが与えられる。つまり、ノードＦＮ１０の電位は、Ｖｇｓ３からＶｇｓ１（＝Ｖｒｅｆ＋ΔＷ＋ΔＶ）に変化する。同時に、ノードＦＮ２０には、容量素子４６を介してデータΔＶが与えられる。つまり、ノードＦＮ１０の電位は、Ｖｇｓ４からＶｇｓ２（＝Ｖｒｅｆ＋ΔＶ）に変化する。電流Ｉ２は、カレントミラーを形成するトランジスタ４７、トランジスタ４８によってコピーされる。よってトランジスタ４８には、電流Ｉ２を流すことができる。
【０１４３】  トランジスタ４２は電流Ｉ１を流し、トランジスタ４９は電流Ｉ３を流し、トランジスタ４８は電流Ｉ２を流し、トランジスタ５１は電流Ｉ４を流すことができる。ここでスイッチＳ１をオン状態にすることで、変換回路１５には、電流Ｉ５を与えることができる。したがってΔＷ×ΔＶの乗算結果をＩ５として得ることができる。
【０１４４】  図８は、複数のメモリセルを有する乗算セル１１、複数のメモリセルを有するリファレンスセル１２を有している点が、図７（Ａ）と異なっている。つまり、複数のメモリセルを有する乗算セル１１から出力される複数の電流を、キルヒホッフの電流則に基づいて、足し合わせることができる。また、信号線ＮＳＥＬ２は、スイッチＳ２と電気的に接続され、信号線ＮＳＥＬ３は、スイッチＳ３と電気的に接続されている。ただし、乗算セル１１と、リファレンスセル１２が有するメモリセルの数は同じであることが好ましい。またスイッチＳ１は、トランジスタを用いてもよいが、より好ましくは、アナログスイッチを用いる方がよい。アナログスイッチを用いることでより正確に乗算をすることができる。
【０１４５】  また異なる点として、第１プログラミングセルのトランジスタ４９ａは、乗算セル１１の段数に応じてトランジスタのチャネル幅を大きくすることが好ましい。したがって、乗算セル１１においてｎ段のメモリセルが接続される場合、トランジスタ４９ａのチャネル幅は、トランジスタ４２ａのチャネル幅のｎ倍を有することが好ましい。より好ましくは、トランジスタ４２ａのチャネル幅のｎ倍よりも大きくする方がよい。
【０１４６】  第２プログラミングセルのトランジスタ５１ａは、リファレンスセル１２の段数に応じてトランジスタのチャネル幅を大きくすることが好ましい。したがって、リファレンスセル１２においてｎ段のメモリセルが接続される場合、トランジスタ５１ａのチャネル幅は、トランジスタ４５ａのチャネル幅のｎ倍を有することが好ましい。より好ましくは、トランジスタ４５ａのチャネル幅のｎ倍よりも大きくする方がよい。
【０１４７】  図９は、図８とは異なる演算回路１３ａについて説明する回路図である。図９で説明する演算回路１３ａは、さらにトランジスタ４７ａ、トランジスタ４８ａ、トランジスタ４９ｂ、容量素子５０ａ、スイッチＳ２ａ、トランジスタ５１ｂ、容量素子５２ａ、およびスイッチＳ３ａを有している。
【０１４８】  図９で示すような回路構成にすることで、加算処理に使用するトランジスタの飽和特性をフラットな特性にすることができる。よって、カレントミラーなどで電流をコピーする場合には、さらに正確な電流を扱うことができる。したがって、演算回路１３ａを用いることで加算の演算精度を向上させることができる。
【０１４９】  図１０（Ａ）は、図７（Ａ）と異なる乗算回路４０ａについて説明する回路図である。図１０（Ａ）は、主なトランジスタがｎチャネル型のトランジスタで構成されている。仮に、スイッチもｎチャネル型のトランジスタで構成する場合には、全てのトランジスタをｎチャネル型のみで構成することができることとなる。その場合には、プロセス工程を簡略化できる。
【０１５０】  乗算回路４０ａの一例としては、乗算セル１１ａ、リファレンスセル１２ａ、演算回路１３ｂ、および変換回路１５を有している。演算回路１３ｂの一例としては、スイッチＳ１、第１プログラミングセル、および第２プログラミングセルを有している。乗算セル１１ａ、リファレンスセル１２ａは、各々がメモリセルを有している。また乗算回路４０ａの一例としては、配線Ｖｄｄ、配線Ｖｓｓ、信号線ＳＬ、信号線ＳＬＲ、信号線ＷＬ１、および信号線ＷＤを有している。
【０１５１】  乗算セル１１ａが有するメモリセルの一例としては、トランジスタ６１、トランジスタ６２、および容量素子６３を有している。リファレンスセル１２ａの一例としては、トランジスタ６４、トランジスタ６５、および容量素子６６を有している。演算回路１３ｂの一例としては、トランジスタ７２、容量素子７３、トランジスタ７４、容量素子７５、トランジスタ７６、容量素子７７、およびスイッチＳ７乃至スイッチＳ１５を有している。さらに、第１プログラミングセルの一例としては、トランジスタ６７、容量素子６８、およびスイッチＳ４を有している。さらに、第２プログラミングセルの一例としては、トランジスタ６９、容量素子７０、トランジスタ７１、スイッチＳ５，およびスイッチＳ６を有している。
【０１５２】  図１０（Ａ）では、スイッチＳ４、スイッチＳ５、スイッチＳ１２、スイッチＳ１４、スイッチＳ１５、トランジスタ６１、またはトランジスタ６４が、例えばＯＳトランジスタであることが好ましい。ＯＳトランジスタはオフ電流が極めて小さいため、電圧を保持するトランジスタとして好適である。
【０１５３】  積和演算回路は、Ｓｉトランジスタによって構成してもよいし、ＯＳトランジスタによって構成してもよい。特に、ＯＳトランジスタはオフ電流が極めて小さいため、積和演算回路のメモリを構成するトランジスタとして好適である。なお、ＳｉトランジスタとＯＳトランジスタの両方を用いて積和演算回路を構成してもよい。
【０１５４】  トランジスタ６１のソースまたはドレインの一方は、信号線ＳＬと電気的に接続される。トランジスタ６１のソースまたはドレインの他方は、トランジスタ６２のゲート、および容量素子６３の電極の一方と電気的に接続される。トランジスタ６２のソースまたはドレインの一方は、配線Ｖｓｓと電気的に接続される。トランジスタ６２のソースまたはドレインの他方は、容量素子６８の電極の一方、トランジスタ６７のソースまたはドレインの一方、スイッチＳ１の電極の一方、スイッチＳ６の電極の一方、およびスイッチＳ１０の電極の一方と電気的に接続される。トランジスタ６７のゲートは、容量素子６８の電極の他方、スイッチＳ４の電極の一方と電気的に接続される。トランジスタ６７のソースまたはドレインの他方は、スイッチＳ４の電極の他方、および配線Ｖｄｄと電気的に接続されている。
【０１５５】  スイッチＳ１の電極の他方は、変換回路１５と電気的に接続される。トランジスタ６４のソースまたはドレインの一方は、配線ＳＬＲと電気的に接続される。トランジスタ６４のソースまたはドレインの他方は、トランジスタ６５のゲート、および容量素子６６の電極の一方と電気的に接続される。トランジスタ６５のソースまたはドレインの一方は、配線Ｖｓｓと電気的に接続される。トランジスタ６５のソースまたはドレインの他方は、スイッチＳ７の電極の一方、およびスイッチＳ９の電極の一方と電気的に接続される。スイッチＳ７の電極の他方は、トランジスタ７２のソースまたはドレインの一方、容量素子７３の電極の一方、およびスイッチＳ８の電極の一方と電気的に接続される。トランジスタ７２のソースまたはドレインの他方は、スイッチＳ１５の電極の一方、および配線Ｖｄｄと電気的に接続される。トランジスタ７２のゲートは、容量素子７３の電極の他方、スイッチＳ１５の電極の他方と電気的に接続されている。
【０１５６】  スイッチＳ９の電極の他方は、トランジスタ７４のソースまたはドレインの一方、容量素子７５の電極の一方、およびスイッチＳ１１の電極の一方と電気的に接続される。トランジスタ７４のソースまたはドレインの他方は、スイッチＳ１４の電極の一方、および配線Ｖｄｄと電気的に接続される。トランジスタ７４のゲートは、容量素子７５の電極の他方、およびスイッチＳ１４の電極の他方と電気的に接続される。スイッチＳ１１の電極の他方は、スイッチＳ１０の電極の他方、容量素子７７の電極の一方、およびトランジスタ７６のソースまたはドレインの一方と電気的に接続される。トランジスタ７６のソースまたはドレインの他方は、スイッチＳ１２の電極の一方と電気的に接続される。トランジスタ７６のゲートは、容量素子７７の電極の他方、およびスイッチＳ１３の電極の一方と電気的に接続される。スイッチＳ１２の電極の他方は、スイッチＳ１３の電極の他方、および配線Ｖｄｄと電気的に接続される。スイッチＳ８の電極の他方は、トランジスタ７１のソースまたはドレインの一方、およびスイッチＳ５の電極の一方と電気的に接続される。トランジスタ７１のゲートは、容量素子７０の電極の一方、スイッチＳ５の電極の他方、およびトランジスタ６９のゲートと電気的に接続される。トランジスタ６９のソースまたはドレインの一方は、スイッチＳ６の電極の他方と電気的に接続される。トランジスタ７１のソースまたはドレインの他方は、容量素子７０の電極の他方、トランジスタ６９のソースまたはドレインの他方、および配線Ｖｓｓと電気的に接続されている。
【０１５７】  ノードＦＮ５０は、トランジスタ６１のソースまたはドレインの他方、トランジスタ６２のゲート、および容量素子６３の電極の一方と接続されて形成されている。ノードＦＮ６０は、トランジスタ６４のソースまたはドレインの他方、トランジスタ６５のゲート、および容量素子６６の電極の一方と接続されて形成されている。ノードＦＮ７０は、トランジスタ６７のゲート、容量素子６８の電極の他方、およびスイッチＳ４の電極の一方と接続されて形成されている。ノードＦＮ８０は、トランジスタ７１のゲート、容量素子７０の電極の一方、スイッチＳ５の電極の他方、およびトランジスタ６９のゲートと接続されて形成されている。
【０１５８】  次に、図１０（Ａ）、図１０（Ｂ）、および図１１を用いて、乗算回路４０ａの動作の一例を説明する。
【０１５９】  最初に、図１０（Ａ）について説明する。スイッチＳ４、スイッチＳ７、およびスイッチＳ１５をオン状態にする。ノードＦＮ５０には、配線ＳＬを介してＶｇｓ３（＝Ｖｒｅｆ＋ΔＷ）が書き込まれ、トランジスタ６２には、電流Ｉ３が流れる。ノードＦＮ７０には、トランジスタ６７に流れる電流Ｉ３に相当する電位がスイッチＳ４を介して与えられる。同時に、ノードＦＮ６０には、配線ＳＬＲを介してＶｇｓ４（＝Ｖｒｅｆ）が書き込まれ、トランジスタ６５には、電流Ｉ４が流れる。電流Ｉ４は、スイッチＳ７を介してトランジスタ７２にも流れる。よって容量素子７３には、電流Ｉ４に相当する電位がスイッチＳ１５を介して与えられる。
【０１６０】  次に、スイッチＳ４、スイッチＳ７、およびスイッチＳ１５をオフ状態にし、ノードＦＮ７０、および容量素子７３に与えられた電位を保存する。
【０１６１】  次に、図１０（Ｂ）について説明する。スイッチＳ５と、スイッチＳ８とをオン状態にする。ノードＦＮ８０には、トランジスタ７１に流れる電流Ｉ４に相当する電位が与えられる。
【０１６２】  次に、信号線ＷＤの電位をデータΔＶだけ変動させることで、ノードＦＮ５０は、容量素子６３を介してデータΔＶが与えられる。つまり、ノードＦＮ５０の電位は、Ｖｇｓ３からＶｇｓ１（＝Ｖｒｅｆ＋ΔＷ＋ΔＶ）に変化する。同時に、ノードＦＮ６０は、容量素子６６を介してデータΔＶが与えられる。つまり、ノードＦＮ６０の電位は、Ｖｇｓ４からＶｇｓ２（＝Ｖｒｅｆ＋ΔＶ）に変化する。
【０１６３】  次に、スイッチＳ９、スイッチＳ１１、スイッチＳ１３、およびスイッチＳ１４をオン状態にする。トランジスタ７４に流れる電流Ｉ２に相当する電位が容量素子７５に与えられる。スイッチＳ１３、およびスイッチＳ１４がオン状態のため、容量素子７７には、容量素子７５と同じ電位が与えられる。よって、スイッチＳ１４と、容量素子７５とを備えなくてもよく、代わりにトランジスタ７４のゲート、およびトランジスタ７４のソースまたはドレインの他方が配線Ｖｄｄに接続されていても、同じ動作をすることができる。
【０１６４】  次に、図１１について説明する。スイッチＳ９、スイッチＳ１１、スイッチＳ１３、およびスイッチＳ１４をオフ状態にする。ノードＦＮ８０は、与えられた電位を保存する。次に、スイッチＳ６、スイッチＳ１０、およびスイッチＳ１２をオン状態にする。
【０１６５】  トランジスタ６２は電流Ｉ１を流し、トランジスタ６７は電流Ｉ３を流し、トランジスタ７６は電流Ｉ２を流し、トランジスタ６９は電流Ｉ４を流すことができる。ここでスイッチＳ１をオン状態にすることで、変換回路１５には、電流Ｉ５を与えることができる。したがってΔＷ×ΔＶの乗算結果をＩ５として得ることができる。
【０１６６】  図１２は、複数のメモリセルを有する乗算セル１１ａ、複数のメモリセルを有するリファレンスセル１２ａ、演算回路１３ｂを有している点が、図８と異なっている。また、信号線ＮＳＥＬ４は、スイッチＳ４と電気的に接続され、信号線ＮＳＥＬ５は、スイッチＳ７、およびスイッチＳ１５と電気的に接続され、信号線ＮＳＥＬ６は、スイッチＳ９、スイッチＳ１１、およびスイッチＳ１３と電気的に接続され、信号線ＮＳＥＬ７は、スイッチＳ５、およびスイッチＳ８と電気的に接続され、信号線ＮＳＥＬ８は、スイッチＳ１、スイッチＳ６、スイッチＳ１０、およびスイッチＳ１２と電気的に接続されている。信号線ＮＳＥＬ４と、信号線ＮＳＥＬ５は、一つの信号線としてもよい。
【０１６７】  ただし、乗算セル１１ａと、リファレンスセル１２ａが有するメモリセルの数は同じであることが好ましい。またスイッチＳ１は、トランジスタを用いてもよいが、より好ましくは、アナログスイッチを用いる方がよい。アナログスイッチを用いることでより正確に乗算をすることができる。
【０１６８】  また異なる点として、第１プログラミングセルのトランジスタ６７ａは、乗算セル１１ａの段数に応じてトランジスタのチャネル幅を大きくすることが好ましい。したがって、乗算セル１１ａにおいてｎ段のメモリセルが接続される場合、トランジスタ６７ａのチャネル幅は、トランジスタ６２ａのチャネル幅のｎ倍を有することが好ましい。より好ましくは、トランジスタ６２ａのチャネル幅のｎ倍よりも大きくすることが好ましい。
【０１６９】  第２プログラミングセルのトランジスタ６９ａは、リファレンスセル１２ａの段数に応じてトランジスタのチャネル幅を大きくすることが好ましい。したがって、リファレンスセル１２ａにおいてｎ段のメモリセルが接続される場合、トランジスタ６９ａのチャネル幅は、トランジスタ６５ａのチャネル幅のｎ倍を有することが好ましい。より好ましくは、トランジスタ６５ａのチャネル幅のｎ倍よりも大きくすることが好ましい。
【０１７０】  同様に、トランジスタ７１ａ、トランジスタ７２ａ、トランジスタ７４ａ、およびトランジスタ７６ａのチャネル幅は、トランジスタ６５ａのチャネル幅のｎ倍よりも大きくすることが好ましい。
【０１７１】  図１３は、図５（Ｂ）で示したブロック図と異なるニューラルネットワーク８４ｃである。図５と異なる点は、図１３が有するニューロンでは、リファレンスセル１２、および演算回路１３を共有する点が異なっている。各々のニューロンのメモリセルは、演算対象のメモリセルをスイッチ９０（１）乃至スイッチ９０（ｉ）のどれかを介して接続することができる。リファレンスセル１２、および演算回路１３を共有することでニューロンの実装密度が向上し、より多くの演算をすることができる。
【０１７２】  本実施の形態は、他の実施の形態の一部または全部について、変更、追加、修正、削除、応用、上位概念化、又は、下位概念化したものに相当する。したがって、本実施の形態の一部または全部について、他の実施の形態の一部または全部と自由に組み合わせ、又は置き換えて実施することができる。
【０１７３】（実施の形態３）
本実施の形態では、図１４を用いて、本発明の一態様に係る、酸化物を半導体に用いたトランジスタ（ＯＳトランジスタ）、および容量素子が適用されている記憶装置（以下、ＯＳメモリ装置と呼ぶ場合がある。）について説明する。ＯＳメモリ装置は、少なくとも容量素子と、容量素子の充放電を制御するＯＳトランジスタを有する記憶装置である。ＯＳトランジスタのオフ電流は極めて小さいので、ＯＳメモリ装置は優れた保持特性をもち、不揮発性メモリとして機能させることができる。
【０１７４】＜記憶装置の構成例＞
【０１７５】  図１４に実施の形態１で説明したメモリＭ１乃至メモリＭ３、実施の形態２で説明した乗算回路に適用できるメモリセルＭＣの構成例について説明する。
【０１７６】［ＤＯＳＲＡＭ］
図１４（Ａ）乃至（Ｃ）に、ＤＲＡＭのメモリセルＭＣの回路構成例を示す。本明細書等において、１ＯＳトランジスタ１容量素子型のメモリセルを用いたＤＲＡＭを、ＤＯＳＲＡＭ（Ｄｙｎａｍｉｃ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）と呼ぶ場合がある。図１４（Ａ）に示す、メモリセル１４７１は、トランジスタＴ１と、容量素子ＣＡと、を有する。なお、トランジスタＴ１は、ゲート（フロントゲートと呼ぶ場合がある。）、およびバックゲートを有する。
【０１７７】  トランジスタＴ１の第１端子は、容量素子ＣＡの第１端子と接続され、トランジスタＴ１の第２端子は、配線ＢＩＬと接続され、トランジスタＴ１のゲートは、配線ＷＯＬと接続され、トランジスタＴ１のバックゲートは、配線ＢＧＬと接続されている。容量素子ＣＡの第２端子は、配線ＣＡＬと接続されている。
【０１７８】  配線ＢＩＬは、ビット線として機能し、配線ＷＯＬは、ワード線として機能する。配線ＣＡＬは、容量素子ＣＡの第２端子に所定の電位を印加するための配線として機能する。データの書き込み時、および読み出し時において、配線ＣＡＬには、低レベル電位を印加するのが好ましい。配線ＢＧＬは、トランジスタＴ１のバックゲートに電位を印加するための配線として機能する。配線ＢＧＬに任意の電位を印加することによって、トランジスタＴ１のしきい値電圧を増減することができる。
【０１７９】  また、メモリセルＭＣは、メモリセル１４７１に限定されず、回路構成の変更を行うことができる。例えば、メモリセルＭＣは、図１４（Ｂ）に示すメモリセル１４７２のように、トランジスタＴ１のバックゲートが、配線ＢＧＬでなく、配線ＷＯＬと接続される構成にしてもよい。また、例えば、メモリセルＭＣは、図１４（Ｃ）に示すメモリセル１４７３ように、シングルゲート構造のトランジスタ、つまりバックゲートを有さないトランジスタＴ１で構成されたメモリセルとしてもよい。
【０１８０】  トランジスタＴ１としてＯＳトランジスタを用いることによって、トランジスタＴ１のリーク電流を非常に低くすることができる。つまり、書き込んだデータをトランジスタＴ１によって長時間保持することができるため、メモリセルのリフレッシュの頻度を少なくすることができる。また、メモリセルのリフレッシュ動作を不要にすることができる。また、リーク電流が非常に低いため、メモリセル１４７１、メモリセル１４７２、メモリセル１４７３に対して多値データ、またはアナログデータを保持することができる。
【０１８１】  また、ＤＯＳＲＡＭにおいては、図では示していないがメモリセル１４７１の下に重なるように、センスアンプを設ける構成にすると、ビット線を短くすることができる。これにより、ビット線容量が小さくなり、メモリセルの保持容量を低減することができる。
【０１８２】［ＮＯＳＲＡＭ］
図１４（Ｄ）乃至（Ｈ）に、２トランジスタ１容量素子のゲインセル型のメモリセルの回路構成例を示す。図１４（Ｄ）に示す、メモリセル１４７４は、トランジスタＴ２と、トランジスタＴ３と、容量素子ＣＢと、を有する。なお、トランジスタＴ２は、フロントゲート（単にゲートと呼ぶ場合がある。）、およびバックゲートを有する。本明細書等において、トランジスタＴ２にＯＳトランジスタを用いたゲインセル型のメモリセルを有する記憶装置を、ＮＯＳＲＡＭ（Ｎｏｎｖｏｌａｔｉｌｅ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  ＲＡＭ）と呼ぶ場合がある。
【０１８３】  トランジスタＴ２の第１端子は、容量素子ＣＢの第１端子と接続され、トランジスタＴ２の第２端子は、配線ＷＢＬと接続され、トランジスタＴ２のゲートは、配線ＷＯＬと接続され、トランジスタＴ２のバックゲートは、配線ＢＧＬと接続されている。容量素子ＣＢの第２端子は、配線ＣＡＬと接続されている。トランジスタＴ３の第１端子は、配線ＲＢＬと接続され、トランジスタＴ３の第２端子は、配線ＳＬと接続され、トランジスタＴ３のゲートは、容量素子ＣＢの第１端子と接続されている。
【０１８４】  配線ＷＢＬは、書き込みビット線として機能し、配線ＲＢＬは、読み出しビット線として機能し、配線ＷＯＬは、ワード線として機能する。配線ＣＡＬは、容量素子ＣＢの第２端子に所定の電位を印加するための配線として機能する。データの書き込み時、データ保持の最中、データの読み出し時において、配線ＣＡＬには、低レベル電位を印加するのが好ましい。配線ＢＧＬは、トランジスタＴ２のバックゲートに電位を印加するための配線として機能する。配線ＢＧＬに任意の電位を印加することによって、トランジスタＴ２のしきい値電圧を増減することができる。
【０１８５】  また、メモリセルＭＣは、メモリセル１４７４に限定されず、回路の構成を適宜変更することができる。例えば、メモリセルＭＣは、図１４（Ｅ）に示すメモリセル１４７５のように、トランジスタＴ２のバックゲートが、配線ＢＧＬでなく、配線ＷＯＬと接続される構成にしてもよい。また、例えば、メモリセルＭＣは、図１４（Ｆ）に示すメモリセル１４７６のように、シングルゲート構造のトランジスタ、つまりバックゲートを有さないトランジスタＴ２で構成されたメモリセルとしてもよい。また、例えば、メモリセルＭＣは、図１４（Ｇ）に示すメモリセル１４７７のように、配線ＷＢＬと配線ＲＢＬを一本の配線ＢＩＬとしてまとめた構成であってもよい。
【０１８６】  上記実施の形態に示す半導体装置をメモリセル１４７４等に用いる場合、トランジスタＴ２としてトランジスタ４１を用い、トランジスタＴ３としてトランジスタ４２を用い、容量素子ＣＢとして容量素子４３を用いることができる。トランジスタＴ２としてＯＳトランジスタを用いることによって、トランジスタＴ２のリーク電流を非常に低くすることができる。これにより、書き込んだデータをトランジスタＴ２によって長時間保持することができるため、メモリセルのリフレッシュの頻度を少なくすることができる。また、メモリセルのリフレッシュ動作を不要にすることができる。また、リーク電流が非常に低いため、メモリセル１４７４に多値データ、またはアナログデータを保持することができる。メモリセル１４７５乃至１４７７も同様である。
【０１８７】  なお、トランジスタＴ３は、Ｓｉトランジスタであってもよい。Ｓｉトランジスタの導電型は、ｎチャネル型としてもよいし、ｐチャネル型としてもよい。Ｓｉトランジスタは、ＯＳトランジスタよりも電界効果移動度が高くなる場合がある。よって、読み出しトランジスタとして機能するトランジスタＴ３として、Ｓｉトランジスタを用いてもよい。また、トランジスタＴ３にＳｉトランジスタを用いることで、トランジスタＴ３の上に積層してトランジスタＴ２を設けることができるので、メモリセルの占有面積を低減し、記憶装置の高集積化を図ることができる。
【０１８８】  また、トランジスタＴ３はＯＳトランジスタであってもよい。トランジスタＴ２、Ｍ３にＯＳトランジスタを用いた場合、メモリセル１４７４乃至メモリセル１４７７をｎ型トランジスタのみを用いて構成することができる。
【０１８９】  また、図１４（Ｈ）に３トランジスタ１容量素子のゲインセル型のメモリセルの一例を示す。図１４（Ｈ）に示すメモリセル１４７８は、トランジスタＴ４乃至Ｔ６、および容量素子ＣＣを有する。容量素子ＣＣは適宜設けられる。メモリセル１４７８は、配線ＢＩＬ、ＲＷＬ、ＷＷＬ、ＢＧＬ、およびＧＮＤＬに電気的に接続されている。配線ＧＮＤＬは低レベル電位を与える配線である。なお、メモリセル１４７８を、配線ＢＩＬに代えて、配線ＲＢＬ、ＷＢＬに電気的に接続してもよい。
【０１９０】  トランジスタＴ４は、バックゲートを有するＯＳトランジスタであり、バックゲートは配線ＢＧＬに電気的に接続されている。なお、トランジスタＴ４のバックゲートとゲートとを互いに電気的に接続してもよい。あるいは、トランジスタＴ４はバックゲートを有さなくてもよい。
【０１９１】  なお、トランジスタＴ５、Ｔ６はそれぞれ、ｎチャネル型Ｓｉトランジスタまたはｐチャネル型Ｓｉトランジスタでもよい。あるいは、トランジスタＴ４乃至Ｔ６がＯＳトランジスタでもよい、この場合、メモリセル１４７８をｎ型トランジスタのみを用いて構成することができる。
【０１９２】  なお、本実施の形態に示す、メモリセル１４７１乃至メモリセル１４７８等の構成は、上記に限定されるものではない。これらの回路、および当該回路に接続される配線、回路素子等の、配置または機能は、必要に応じて、変更、削除、または追加してもよい。
【０１９３】  本実施の形態は、他の実施の形態などに記載した構成と適宜組み合わせて実施することが可能である。
【０１９４】  本実施の形態は、他の実施の形態の一部または全部について、変更、追加、修正、削除、応用、上位概念化、又は、下位概念化したものに相当する。したがって、本実施の形態の一部または全部について、他の実施の形態の一部または全部と自由に組み合わせ、又は置き換えて実施することができる。
【０１９５】（実施の形態４）
本実施の形態では、図１５を用いて、本発明の半導体装置が実装されたチップ１２００の一例を示す。チップ１２００には、複数の回路（システム）が実装されている。このように、複数の回路（システム）を一つのチップに集積する技術を、システムオンチップ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ：ＳｏＣ）と呼ぶ場合がある。
【０１９６】  図１５（Ａ）に示すように、チップ１２００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１２１１、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１２１２、またはアナログ演算部１２１３、メモリコントローラ１２１４、インターフェース１２１５、またはネットワーク回路１２１６等を有する。ＧＰＵは、ニューラルネットワークを有することが好ましい。
【０１９７】  チップ１２００には、バンプ（図示しない）が設けられ、図１５（Ｂ）に示すように、プリント基板（Ｐｒｉｎｔｅｄ  Ｃｉｒｃｕｉｔ  Ｂｏａｒｄ：ＰＣＢ）１２０１の第１の面と接続する。また、ＰＣＢ１２０１の第１の面の裏面には、複数のバンプ１２０２が設けられており、マザーボード１２０３と接続する。
【０１９８】  マザーボード１２０３には、ＤＲＡＭ１２２１、フラッシュメモリ１２２２等の記憶装置が設けられていてもよい。例えば、ＤＲＡＭ１２２１に先の実施の形態に示すＤＯＳＲＡＭを用いることができる。また、例えば、フラッシュメモリ１２２２に先の実施の形態に示すＮＯＳＲＡＭを用いることができる。
【０１９９】  ＣＰＵ１２１１は、複数のＣＰＵコアを有することが好ましい。また、ＧＰＵ１２１２は、複数のＧＰＵコアを有することが好ましい。また、ＣＰＵ１２１１、およびＧＰＵ１２１２は、それぞれ一時的にデータを格納するメモリを有していてもよい。または、ＣＰＵ１２１１、およびＧＰＵ１２１２に共通のメモリが、チップ１２００に設けられていてもよい。該メモリには、前述したＮＯＳＲＡＭや、ＤＯＳＲＡＭを用いることができる。また、ＧＰＵ１２１２は、多数のデータの並列計算に適しており、画像処理や積和演算に用いることができる。ＧＰＵ１２１２に、本発明の酸化物半導体を用いた画像処理回路や、積和演算回路を設けることで、画像処理、および積和演算を低消費電力で実行することが可能になる。
【０２００】  また、ＣＰＵ１２１１、およびＧＰＵ１２１２が同一チップに設けられていることで、ＣＰＵ１２１１およびＧＰＵ１２１２間の配線を短くすることができ、ＣＰＵ１２１１からＧＰＵ１２１２へのデータ転送、ＣＰＵ１２１１、およびＧＰＵ１２１２が有するメモリ間のデータ転送、およびＧＰＵ１２１２での演算後に、ＧＰＵ１２１２からＣＰＵ１２１１への演算結果の転送を高速に行うことができる。
【０２０１】  アナログ演算部１２１３はＡ／Ｄ（アナログ／デジタル）変換回路、およびＤ／Ａ（デジタル／アナログ）変換回路の一、または両方を有する。また、アナログ演算部１２１３に上記積和演算回路を設けてもよい。
【０２０２】  メモリコントローラ１２１４は、ＤＲＡＭ１２２１のコントローラとして機能する回路、およびフラッシュメモリ１２２２のインターフェースとして機能する回路を有する。
【０２０３】  インターフェース１２１５は、表示装置、スピーカー、マイクロフォン、カメラ、コントローラなどの外部接続機器とのインターフェース回路を有する。コントローラとは、マウス、キーボード、ゲーム用コントローラなどを含む。このようなインターフェースとして、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＨＤＭＩ（登録商標）（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）などを用いることができる。
【０２０４】  ネットワーク回路１２１６は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワーク回路を有する。また、ネットワークセキュリティー用の回路を有してもよい。
【０２０５】  チップ１２００には、上記回路（システム）を同一の製造プロセスで形成することが可能である。そのため、チップ１２００に必要な回路の数が増えても、製造プロセスを増やす必要が無く、チップ１２００を低コストで作製することができる。
【０２０６】  ＧＰＵ１２１２を有するチップ１２００が設けられたＰＣＢ１２０１、ＤＲＡＭ１２２１、およびフラッシュメモリ１２２２が設けられたマザーボード１２０３は、ＧＰＵモジュール１２０４と呼ぶことができる。
【０２０７】  ＧＰＵモジュール１２０４は、ＳｏＣ技術を用いたチップ１２００を有しているため、そのサイズを小さくすることができる。また、画像処理に優れていることから、スマートフォン、タブレット端末、ラップトップＰＣ、携帯型（持ち出し可能な）ゲーム機などの携帯型電子機器に用いることが好適である。また、ＧＰＵ１２１２を用いた積和演算回路により、ディープニューラルネットワーク（ＤＮＮ）、畳み込みニューラルネットワーク（ＣＮＮ）、再帰型ニューラルネットワーク（ＲＮＮ）、自己符号化器、深層ボルツマンマシン（ＤＢＭ）、深層信念ネットワーク（ＤＢＮ）などの演算を実行することができるため、チップ１２００をＡＩチップ、またはＧＰＵモジュール１２０４をＡＩシステムモジュールとして用いることができる。
【０２０８】  本実施の形態に示す構成は、他の実施の形態に示す構成と適宜組み合わせて用いることができる。
【０２０９】（実施の形態５）
本実施の形態では、先の実施の形態に示す半導体装置を用いた記憶装置の応用例について説明する。先の実施の形態に示す半導体装置は、例えば、各種電子機器（例えば、情報端末、コンピュータ、スマートフォン、電子書籍端末、デジタルカメラ（ビデオカメラも含む）、録画再生装置、ナビゲーションシステムなど）の記憶装置に適用できる。なお、ここで、コンピュータとは、タブレット型のコンピュータや、ノート型のコンピュータや、デスクトップ型のコンピュータの他、サーバシステムのような大型のコンピュータを含むものである。または、先の実施の形態に示す半導体装置は、メモリカード（例えば、ＳＤカード）、ＵＳＢメモリ、ＳＳＤ（ソリッド・ステート・ドライブ）等の各種のリムーバブル記憶装置に適用される。図１６にリムーバブル記憶装置の幾つかの構成例を模式的に示す。例えば、先の実施の形態に示す半導体装置は、パッケージングされたメモリチップに加工され、様々なストレージ装置、リムーバブルメモリに用いられる。
【０２１０】  図１６（Ａ）はＵＳＢメモリの模式図である。ＵＳＢメモリ１１００は、筐体１１０１、キャップ１１０２、ＵＳＢコネクタ１１０３および基板１１０４を有する。基板１１０４は、筐体１１０１に収納されている。例えば、基板１１０４には、メモリチップ１１０５、コントローラチップ１１０６が取り付けられている。基板１１０４のメモリチップ１１０５などに先の実施の形態に示す半導体装置を組み込むことができる。
【０２１１】  図１６（Ｂ）はＳＤカードの外観の模式図であり、図１６（Ｃ）は、ＳＤカードの内部構造の模式図である。ＳＤカード１１１０は、筐体１１１１、コネクタ１１１２および基板１１１３を有する。基板１１１３は筐体１１１１に収納されている。例えば、基板１１１３には、メモリチップ１１１４、コントローラチップ１１１５が取り付けられている。基板１１１３の裏面側にもメモリチップ１１１４を設けることで、ＳＤカード１１１０の容量を増やすことができる。また、無線通信機能を備えた無線チップを基板１１１３に設けてもよい。これによって、ホスト装置とＳＤカード１１１０間の無線通信によって、メモリチップ１１１４のデータの読み出し、書き込みが可能となる。基板１１１３のメモリチップ１１１４などに先の実施の形態に示す半導体装置を組み込むことができる。
【０２１２】  図１６（Ｄ）はＳＳＤの外観の模式図であり、図１６（Ｅ）は、ＳＳＤの内部構造の模式図である。ＳＳＤ１１５０は、筐体１１５１、コネクタ１１５２および基板１１５３を有する。基板１１５３は筐体１１５１に収納されている。例えば、基板１１５３には、メモリチップ１１５４、メモリチップ１１５５、コントローラチップ１１５６が取り付けられている。メモリチップ１１５５はコントローラチップ１１５６のワークメモリであり、例えばＤＯＳＲＡＭチップを用いればよい。基板１１５３の裏面側にもメモリチップ１１５４を設けることで、ＳＳＤ１１５０の容量を増やすことができる。基板１１５３のメモリチップ１１５４などに先の実施の形態に示す半導体装置を組み込むことができる。
【０２１３】  本実施の形態は、他の実施の形態などに記載した構成と適宜組み合わせて実施することが可能である。
【０２１４】（実施の形態６）
＜電子機器＞
本発明の一態様に係る半導体装置は、様々な電子機器に用いることができる。図１７に、本発明の一態様に係る半導体装置を用いた電子機器の具体例を示す。
【０２１５】  図１７（Ａ）に、モニタ８３０を示す。モニタ８３０は、表示部８３１、筐体８３２、スピーカ８３３等を有する。さらに、ＬＥＤランプ、操作キー（電源スイッチ、または操作スイッチを含む）、接続端子、各種センサ、マイクロフォン等を有することができる。またモニタ８３０は、リモコン操作機８３４により、操作することができる。
【０２１６】  またモニタ８３０は、放送電波を受信して、テレビジョン装置として機能することができる。
【０２１７】  モニタ８３０が受信できる放送電波としては、地上波、または衛星から送信される電波などが挙げられる。また放送電波として、アナログ放送、デジタル放送などがあり、また映像および音声、または音声のみの放送などがある。例えばＵＨＦ帯（３００ＭＨｚ以上３ＧＨｚ以下）またはＶＨＦ帯（３０ＭＨｚ以上３００ＭＨｚ以下）のうちの特定の周波数帯域で送信される放送電波を受信することができる。また例えば、複数の周波数帯域で受信した複数のデータを用いることで、転送レートを高くすることができ、より多くの情報を得ることができる。これによりフルハイビジョンを超える解像度を有する映像を、表示部８３１に表示させることができる。例えば、４Ｋ−２Ｋ、８Ｋ−４Ｋ、１６Ｋ−８Ｋ、またはそれ以上の解像度を有する映像を表示させることができる。
【０２１８】  また、インターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｗｉ−Ｆｉ（登録商標）などのコンピュータネットワークを介したデータ伝送技術により送信された放送のデータを用いて、表示部８３１に表示する画像を生成する構成としてもよい。このとき、モニタ８３０にチューナを有さなくてもよい。
【０２１９】  また、モニタ８３０は、コンピュータと接続し、コンピュータ用モニタとして用いることができる。また、コンピュータと接続したモニタ８３０は、複数の人が同時に閲覧可能となり、会議システムに用いることができる。また、ネットワークを介したコンピュータの情報の表示や、モニタ８３０自体のネットワークへの接続により、モニタ８３０をテレビ会議システムに用いることができる。
【０２２０】  また、モニタ８３０はデジタルサイネージとして用いることもできる。
【０２２１】  例えば、本発明の一態様の半導体装置を表示部の駆動回路や、画像処理部に用いることができる。本発明の一態様の半導体装置を表示部の駆動回路や、画像処理部に用いることで、高速な動作や信号処理を低消費電力にて実現できる。
【０２２２】  また、本発明の一態様の半導体装置を用いたＡＩシステムをモニタ８３０の画像処理部に用いることで、ノイズ除去処理、階調変換処理、色調補正処理、輝度補正処理などの画像処理を行うことができる。また、解像度のアップコンバートに伴う画素間補間処理や、フレーム周波数のアップコンバートに伴うフレーム間補間処理などを実行することができる。また、階調変換処理は、画像の階調数を変換するだけでなく、階調数を大きくする場合の階調値の補間を行うことができる。また、ダイナミックレンジを広げる、ハイダイナミックレンジ（ＨＤＲ）処理も、階調変換処理に含まれる。
【０２２３】  図１７（Ｂ）に示すビデオカメラ２９４０は、筐体２９４１、筐体２９４２、表示部２９４３、操作スイッチ２９４４、レンズ２９４５、および接続部２９４６等を有する。操作スイッチ２９４４およびレンズ２９４５は筐体２９４１に設けられており、表示部２９４３は筐体２９４２に設けられている。また、ビデオカメラ２９４０は、筐体２９４１の内側にアンテナ、バッテリなどを備える。そして、筐体２９４１と筐体２９４２は、接続部２９４６により接続されており、筐体２９４１と筐体２９４２の間の角度は、接続部２９４６により変えることが可能な構造となっている。筐体２９４１に対する筐体２９４２の角度によって、表示部２９４３に表示される画像の向きの変更や、画像の表示／非表示の切り換えを行うことができる。
【０２２４】  例えば、本発明の一態様の半導体装置を表示部の駆動回路や、画像処理部に用いることができる。本発明の一態様の半導体装置を表示部の駆動回路や、画像処理部に用いることで、高速な動作や信号処理を低消費電力にて実現できる。
【０２２５】  また、本発明の一態様の半導体装置を用いたＡＩシステムをビデオカメラ２９４０の画像処理部に用いることで、ビデオカメラ２９４０周囲の環境に応じた撮影が実現できる。具体的には、周囲の明るさに応じて最適な露出で撮影を行うことができる。また、逆光における撮影や屋内と屋外など、明るさの異なる状況を同時に撮影する場合では、ハイダイナミックレンジ（ＨＤＲ）撮影を行うことができる。
【０２２６】  また、ＡＩシステムは、撮影者の癖を学習し、撮影のアシストを行うことができる。具体的には、撮影者の手振れの癖を学習し、撮影中の手振れを補正することで、撮影した画像には手振れによる画像の乱れが極力含まれないようにすることができる。また、撮影中にズーム機能を用いる際には、被写体が常に画像の中心で撮影されるようにレンズの向きなどを制御することができる。
【０２２７】  図１７（Ｃ）に示す情報端末２９１０は、筐体２９１１、表示部２９１２、マイク２９１７、スピーカ部２９１４、カメラ２９１３、外部接続部２９１６、および操作スイッチ２９１５等を有する。表示部２９１２には、可撓性基板が用いられた表示パネルおよびタッチスクリーンを備える。また、情報端末２９１０は、筐体２９１１の内側にアンテナ、バッテリなどを備える。情報端末２９１０は、例えば、スマートフォン、携帯電話、タブレット型情報端末、タブレット型パーソナルコンピュータ、電子書籍端末等として用いることができる。
【０２２８】  例えば、本発明の一態様の半導体装置を用いた記憶装置は、上述した情報端末２９１０の制御情報や、制御プログラムなどを長期間保持することができる。
【０２２９】  また、本発明の一態様の半導体装置を用いたＡＩシステムを情報端末２９１０の画像処理部に用いることで、ノイズ除去処理、階調変換処理、色調補正処理、輝度補正処理などの画像処理を行うことができる。また、解像度のアップコンバートに伴う画素間補間処理や、フレーム周波数のアップコンバートに伴うフレーム間補間処理などを実行することができる。また、階調変換処理は、画像の階調数を変換するだけでなく、階調数を大きくする場合の階調値の補間を行うことができる。また、ダイナミックレンジを広げる、ハイダイナミックレンジ（ＨＤＲ）処理も、階調変換処理に含まれる。
【０２３０】  また、ＡＩシステムは、ユーザーの癖を学習し、情報端末２９１０の操作のアシストを行うことができる。ＡＩシステムを搭載した情報端末２９１０は、ユーザーの指の動きや、目線などからタッチ入力を予測することができる。
【０２３１】  図１７（Ｄ）に示すラップトップ型パーソナルコンピュータ２９２０は、筐体２９２１、表示部２９２２、キーボード２９２３、およびポインティングデバイス２９２４等を有する。また、ラップトップ型パーソナルコンピュータ２９２０は、筐体２９２１の内側にアンテナ、バッテリなどを備える。
【０２３２】  例えば、本発明の一態様の半導体装置を用いた記憶装置は、ラップトップ型パーソナルコンピュータ２９２０の制御情報や、制御プログラムなどを長期間保持することができる。
【０２３３】  また、本発明の一態様の半導体装置を用いたＡＩシステムをラップトップ型パーソナルコンピュータ２９２０の画像処理部に用いることで、ノイズ除去処理、階調変換処理、色調補正処理、輝度補正処理などの画像処理を行うことができる。また、解像度のアップコンバートに伴う画素間補間処理や、フレーム周波数のアップコンバートに伴うフレーム間補間処理などを実行することができる。また、階調変換処理は、画像の階調数を変換するだけでなく、階調数を大きくする場合の階調値の補間を行うことができる。また、ダイナミックレンジを広げる、ハイダイナミックレンジ（ＨＤＲ）処理も、階調変換処理に含まれる。
【０２３４】  また、ＡＩシステムは、ユーザーの癖を学習し、ラップトップ型パーソナルコンピュータ２９２０の操作のアシストを行うことができる。ＡＩシステムを搭載したラップトップ型パーソナルコンピュータ２９２０は、ユーザーの指の動きや、目線などから表示部２９２２へのタッチ入力を予測することができる。また、テキストの入力においては、過去のテキスト入力情報や、前後のテキストや写真などの図から入力予測を行い、変換のアシストを行う。これにより、入力ミスや変換ミスを極力低減することができる。
【０２３５】  図１７（Ｅ）は、自動車の一例を示す外観図、図１７（Ｆ）は、ナビゲーション装置８６０を示している。自動車２９８０は、車体２９８１、車輪２９８２、ダッシュボード２９８３、およびライト２９８４等を有する。また、自動車２９８０は、アンテナ、バッテリなどを備える。ナビゲーション装置８６０は、表示部８６１、操作ボタン８６２、および外部入力端子８６３を具備する。自動車２９８０とナビゲーション装置８６０は、それぞれ独立していても良いが、ナビゲーション装置８６０が自動車２９８０に組み込まれ、連動して機能する構成とするのが好ましい。
【０２３６】  例えば、本発明の一態様の半導体装置を用いた記憶装置は、自動車２９８０やナビゲーション装置８６０の制御情報や、制御プログラムなどを長期間保持することができる。また、本発明の一態様の半導体装置を用いたＡＩシステムを自動車２９８０の制御装置などに用いることで、ＡＩシステムは、ドライバーの運転技術や癖を学習し、安全運転のアシストや、ガソリンやバッテリなどの燃料を効率的に利用する運転のアシストを行うことができる。安全運転のアシストとしては、ドライバーの運転技術や癖を学習するだけでなく、自動車２９８０の速度や移動方法といった自動車の挙動、ナビゲーション装置８６０に保存された道路情報などを複合的に学習し、走行中のレーンから外れることの防止や、他の自動車、歩行者、構造体などとの衝突回避が実現できる。具体的には、進行方向に急カーブが存在する場合、ナビゲーション装置８６０はその道路情報を自動車２９８０に送信し、自動車２９８０の速度の制御や、ハンドル操作のアシストを行うことができる。
【０２３７】  本実施の形態は、他の実施の形態などに記載した構成と適宜組み合わせて実施することが可能である。
【０２３８】（実施の形態７）
【０２３９】本実施の形態では、上記実施の形態で説明したＧＰＵ又はコンピュータに用いることが可能な半導体装置、および当該半導体装置に用いることが可能なＯＳトランジスタの構成例について説明する。
【０２４０】＜半導体装置の構成例＞
図１８に示す半導体装置は、トランジスタ３００と、トランジスタ２００、および容量素子１００を有している。図１９（Ａ）はトランジスタ２００のチャネル長方向の断面図であり、図１９（Ｂ）はトランジスタ２００のチャネル幅方向の断面図であり、図１９（Ｃ）はトランジスタ３００のチャネル幅方向の断面図である。
【０２４１】トランジスタ２００は、酸化物半導体を有する半導体層にチャネルが形成されるトランジスタである。トランジスタ２００は、オフ電流が小さいため、これを半導体装置に用いることにより長期にわたり記憶内容を保持することが可能である。つまり、リフレッシュ動作を必要としない、あるいは、リフレッシュ動作の頻度が極めて少ないため、半導体装置の消費電力を十分に低減することができる。
【０２４２】図１８に示す半導体装置において、配線１００１はトランジスタ３００のソースおよびドレインの一方と接続され、配線１００２はトランジスタ３００のソースおよびドレインの他方と接続されている。また、配線１００３はトランジスタ２００のソースおよびドレインの一方と接続され、配線１００４はトランジスタ２００のトップゲートと接続され、配線１００６はトランジスタ２００のボトムゲートと接続されている。そして、トランジスタ３００のゲート、およびトランジスタ２００のソースおよびドレインの他方は、容量素子１００の電極の一方と接続され、配線１００５は容量素子１００の電極の他方と接続されている。
【０２４３】ここで、実施の形態３に示すメモリセルに、本実施の形態に示す半導体装置を用いる場合、トランジスタＴ２はトランジスタ２００に、トランジスタＴ３はトランジスタ３００に、容量素子ＣＢは容量素子１００に対応する。また、配線ＳＬは、配線１００１に、配線ＲＢＬは、配線１００２に、配線ＷＢＬは、配線１００３に、配線ＷＯＬは、配線１００４に、配線ＣＡＬは、配線１００５に、配線ＢＧＬは、配線１００６に対応する。
【０２４４】また、実施の形態２に示す演算回路に、本実施の形態に示す半導体装置を用いる場合、一例として、トランジスタ４２はトランジスタ３００に、トランジスタ４１はトランジスタ２００に、容量素子４３は容量素子１００に対応する。
【０２４５】また、メモリセルと演算回路の両方に、本実施の形態に示す半導体装置を用いる場合、トランジスタＴ３とトランジスタ４２、トランジスタＴ２とトランジスタ４１、容量素子ＣＢと容量素子４３は、それぞれ同一工程で形成することができる。これにより、製造工程を簡略化し、コストを削減することができる。
【０２４６】本発明の一態様の半導体装置は、図１８に示すようにトランジスタ３００、トランジスタ２００、容量素子１００を有する。トランジスタ２００はトランジスタ３００の上方に設けられ、容量素子１００はトランジスタ３００、およびトランジスタ２００の上方に設けられている。
【０２４７】トランジスタ３００は、基板３１１上に設けられ、導電体３１６、絶縁体３１５、基板３１１の一部からなる半導体領域３１３、およびソース領域またはドレイン領域として機能する低抵抗領域３１４ａ、および低抵抗領域３１４ｂを有する。
【０２４８】トランジスタ３００は、図１９（Ｃ）に示すように、半導体領域３１３の上面およびチャネル幅方向の側面が絶縁体３１５を介して導電体３１６に覆われている。このように、トランジスタ３００をＦｉｎ型とすることにより、実効上のチャネル幅が増大することによりトランジスタ３００のオン特性を向上させることができる。また、ゲート電極の電界の寄与を高くすることができるため、トランジスタ３００のオフ特性を向上させることができる。
【０２４９】なお、トランジスタ３００は、ｐチャネル型、あるいはｎチャネル型のいずれでもよい。
【０２５０】半導体領域３１３のチャネルが形成される領域、その近傍の領域、ソース領域、またはドレイン領域となる低抵抗領域３１４ａ、および低抵抗領域３１４ｂなどにおいて、シリコン系半導体などの半導体を含むことが好ましく、単結晶シリコンを含むことが好ましい。または、Ｇｅ（ゲルマニウム）、ＳｉＧｅ（シリコンゲルマニウム）、ＧａＡｓ（ガリウムヒ素）、ＧａＡｌＡｓ（ガリウムアルミニウムヒ素）などを有する材料で形成してもよい。結晶格子に応力を与え、格子間隔を変化させることで有効質量を制御したシリコンを用いた構成としてもよい。またはＧａＡｓとＧａＡｌＡｓ等を用いることで、トランジスタ３００をＨＥＭＴ（Ｈｉｇｈ  Ｅｌｅｃｔｒｏｎ  Ｍｏｂｉｌｉｔｙ  Ｔｒａｎｓｉｓｔｏｒ）としてもよい。
【０２５１】低抵抗領域３１４ａ、および低抵抗領域３１４ｂは、半導体領域３１３に適用される半導体材料に加え、ヒ素、リンなどのｎ型の導電性を付与する元素、またはホウ素などのｐ型の導電性を付与する元素を含む。
【０２５２】ゲート電極として機能する導電体３１６は、ヒ素、リンなどのｎ型の導電性を付与する元素、もしくはホウ素などのｐ型の導電性を付与する元素を含むシリコンなどの半導体材料、金属材料、合金材料、または金属酸化物材料などの導電性材料を用いることができる。
【０２５３】なお、導電体の材料により、仕事関数が定まるため、導電体の材料を変更することで、トランジスタのＶｔｈを調整することができる。具体的には、導電体に窒化チタンや窒化タンタルなどの材料を用いることが好ましい。さらに導電性と埋め込み性を両立するために導電体にタングステンやアルミニウムなどの金属材料を積層として用いることが好ましく、特にタングステンを用いることが耐熱性の点で好ましい。
【０２５４】なお、図１８に示すトランジスタ３００は一例であり、その構造に限定されず、回路構成や駆動方法に応じて適切なトランジスタを用いればよい。例えば、トランジスタ２００と同様に、トランジスタ３００に酸化物半導体を用いる構成にしてもよい。
【０２５５】トランジスタ３００を覆って、絶縁体３２０、絶縁体３２２、絶縁体３２４、および絶縁体３２６が順に積層して設けられている。
【０２５６】絶縁体３２０、絶縁体３２２、絶縁体３２４、および絶縁体３２６として、例えば、酸化シリコン、酸化窒化シリコン、窒化酸化シリコン、窒化シリコン、酸化アルミニウム、酸化窒化アルミニウム、窒化酸化アルミニウム、窒化アルミニウムなどを用いればよい。
【０２５７】絶縁体３２２は、その下方に設けられるトランジスタ３００などによって生じる段差を平坦化する平坦化膜として機能する。例えば、絶縁体３２２の上面は、平坦性を高めるために化学機械研磨（ＣＭＰ）法等を用いた平坦化処理により平坦化されていてもよい。
【０２５８】また、絶縁体３２４には、基板３１１、またはトランジスタ３００などから、トランジスタ２００が設けられる領域に、水素や不純物が拡散しないようなバリア性を有する膜を用いることが好ましい。
【０２５９】水素に対するバリア性を有する膜の一例として、例えば、ＣＶＤ法で形成した窒化シリコンを用いることができる。ここで、トランジスタ２００等の酸化物半導体を有する半導体素子に、水素が拡散することで、当該半導体素子の特性が低下する場合がある。したがって、トランジスタ２００と、トランジスタ３００との間に、水素の拡散を抑制する膜を用いることが好ましい。水素の拡散を抑制する膜とは、具体的には、水素の脱離量が少ない膜とする。
【０２６０】水素の脱離量は、例えば、昇温脱離ガス分析法（ＴＤＳ（Ｔｈｅｒｍａｌ  Ｄｅｓｏｒｐｔｉｏｎ  Ｓｐｅｃｔｒｏｓｃｏｐｙ））などを用いて分析することができる。例えば、絶縁体３２４の水素の脱離量は、ＴＤＳ分析において、膜の表面温度が５０℃から５００℃の範囲において、水素原子に換算した脱離量が、絶縁体３２４の面積当たりに換算して、１０×１０１５ａｔｏｍｓ／ｃｍ２以下、好ましくは５×１０１５ａｔｏｍｓ／ｃｍ２以下であればよい。
【０２６１】なお、絶縁体３２６は、絶縁体３２４よりも誘電率が低いことが好ましい。例えば、絶縁体３２６の比誘電率は４未満が好ましく、３未満がより好ましい。また例えば、絶縁体３２６の比誘電率は、絶縁体３２４の比誘電率の０．７倍以下が好ましく、０．６倍以下がより好ましい。誘電率が低い材料を層間膜とすることで、配線間に生じる寄生容量を低減することができる。
【０２６２】また、絶縁体３２０、絶縁体３２２、絶縁体３２４、および絶縁体３２６には容量素子１００、またはトランジスタ２００と接続する導電体３２８、および導電体３３０等が埋め込まれている。なお、導電体３２８、および導電体３３０はプラグ、または配線として機能する。また、プラグまたは配線として機能する導電体は、複数の構造をまとめて同一の符号を付与する場合がある。また、本明細書等において、配線と、配線と接続するプラグとが一体物であってもよい。すなわち、導電体の一部が配線として機能する場合、および導電体の一部がプラグとして機能する場合もある。
【０２６３】各プラグ、および配線（導電体３２８、および導電体３３０等）の材料としては、金属材料、合金材料、金属窒化物材料、または金属酸化物材料などの導電性材料を、単層または積層して用いることができる。耐熱性と導電性を両立するタングステンやモリブデンなどの高融点材料を用いることが好ましく、タングステンを用いることが好ましい。または、アルミニウムや銅などの低抵抗導電性材料で形成することが好ましい。低抵抗導電性材料を用いることで配線抵抗を低くすることができる。
【０２６４】絶縁体３２６、および導電体３３０上に、配線層を設けてもよい。例えば、図１８において、絶縁体３５０、絶縁体３５２、および絶縁体３５４が順に積層して設けられている。また、絶縁体３５０、絶縁体３５２、および絶縁体３５４には、導電体３５６が形成されている。導電体３５６は、トランジスタ３００と接続するプラグ、または配線として機能する。なお導電体３５６は、導電体３２８、および導電体３３０と同様の材料を用いて設けることができる。
【０２６５】なお、例えば、絶縁体３５０は、絶縁体３２４と同様に、水素に対するバリア性を有する絶縁体を用いることが好ましい。また、導電体３５６は、水素に対するバリア性を有する導電体を含むことが好ましい。特に、水素に対するバリア性を有する絶縁体３５０が有する開口部に、水素に対するバリア性を有する導電体が形成される。当該構成により、トランジスタ３００とトランジスタ２００とは、バリア層により分離することができ、トランジスタ３００からトランジスタ２００への水素の拡散を抑制することができる。
【０２６６】なお、水素に対するバリア性を有する導電体としては、例えば、窒化タンタル等を用いるとよい。また、窒化タンタルと導電性が高いタングステンを積層することで、配線としての導電性を保持したまま、トランジスタ３００からの水素の拡散を抑制することができる。この場合、水素に対するバリア性を有する窒化タンタル層が、水素に対するバリア性を有する絶縁体３５０と接する構造であることが好ましい。
【０２６７】絶縁体３５４、および導電体３５６上に、配線層を設けてもよい。例えば、図１８において、絶縁体３６０、絶縁体３６２、および絶縁体３６４が順に積層して設けられている。また、絶縁体３６０、絶縁体３６２、および絶縁体３６４には、導電体３６６が形成されている。導電体３６６は、プラグ、または配線として機能する。なお導電体３６６は、導電体３２８、および導電体３３０と同様の材料を用いて設けることができる。
【０２６８】なお、例えば、絶縁体３６０は、絶縁体３２４と同様に、水素に対するバリア性を有する絶縁体を用いることが好ましい。また、導電体３６６は、水素に対するバリア性を有する導電体を含むことが好ましい。特に、水素に対するバリア性を有する絶縁体３６０が有する開口部に、水素に対するバリア性を有する導電体が形成される。当該構成により、トランジスタ３００とトランジスタ２００とは、バリア層により分離することができ、トランジスタ３００からトランジスタ２００への水素の拡散を抑制することができる。
【０２６９】絶縁体３６４、および導電体３６６上に、配線層を設けてもよい。例えば、図１８において、絶縁体３７０、絶縁体３７２、および絶縁体３７４が順に積層して設けられている。また、絶縁体３７０、絶縁体３７２、および絶縁体３７４には、導電体３７６が形成されている。導電体３７６は、プラグ、または配線として機能する。なお導電体３７６は、導電体３２８、および導電体３３０と同様の材料を用いて設けることができる。
【０２７０】なお、例えば、絶縁体３７０は、絶縁体３２４と同様に、水素に対するバリア性を有する絶縁体を用いることが好ましい。また、導電体３７６は、水素に対するバリア性を有する導電体を含むことが好ましい。特に、水素に対するバリア性を有する絶縁体３７０が有する開口部に、水素に対するバリア性を有する導電体が形成される。当該構成により、トランジスタ３００とトランジスタ２００とは、バリア層により分離することができ、トランジスタ３００からトランジスタ２００への水素の拡散を抑制することができる。
【０２７１】絶縁体３７４、および導電体３７６上に、配線層を設けてもよい。例えば、図１８において、絶縁体３８０、絶縁体３８２、および絶縁体３８４が順に積層して設けられている。また、絶縁体３８０、絶縁体３８２、および絶縁体３８４には、導電体３８６が形成されている。導電体３８６は、プラグ、または配線として機能する。なお導電体３８６は、導電体３２８、および導電体３３０と同様の材料を用いて設けることができる。
【０２７２】なお、例えば、絶縁体３８０は、絶縁体３２４と同様に、水素に対するバリア性を有する絶縁体を用いることが好ましい。また、導電体３８６は、水素に対するバリア性を有する導電体を含むことが好ましい。特に、水素に対するバリア性を有する絶縁体３８０が有する開口部に、水素に対するバリア性を有する導電体が形成される。当該構成により、トランジスタ３００とトランジスタ２００とは、バリア層により分離することができ、トランジスタ３００からトランジスタ２００への水素の拡散を抑制することができる。
【０２７３】上記において、導電体３５６を含む配線層、導電体３６６を含む配線層、導電体３７６を含む配線層、および導電体３８６を含む配線層、について説明したが、本実施の形態に係る半導体装置はこれに限られるものではない。導電体３５６を含む配線層と同様の配線層を３層以下にしてもよいし、導電体３５６を含む配線層と同様の配線層を５層以上にしてもよい。
【０２７４】絶縁体３８４上には絶縁体２１０、絶縁体２１２、絶縁体２１４、および絶縁体２１６が、順に積層して設けられている。絶縁体２１０、絶縁体２１２、絶縁体２１４、および絶縁体２１６のいずれかは、酸素や水素に対してバリア性のある物質を用いることが好ましい。
【０２７５】例えば、絶縁体２１０、および絶縁体２１４には、例えば、基板３１１、またはトランジスタ３００を設ける領域などから、トランジスタ２００を設ける領域に、水素や不純物が拡散しないようなバリア性を有する膜を用いることが好ましい。したがって、絶縁体３２４と同様の材料を用いることができる。
【０２７６】水素に対するバリア性を有する膜の一例として、ＣＶＤ法で形成した窒化シリコンを用いることができる。ここで、トランジスタ２００等の酸化物半導体を有する半導体素子に、水素が拡散することで、当該半導体素子の特性が低下する場合がある。したがって、トランジスタ２００と、トランジスタ３００との間に、水素の拡散を抑制する膜を用いることが好ましい。水素の拡散を抑制する膜とは、具体的には、水素の脱離量が少ない膜とする。
【０２７７】また、水素に対するバリア性を有する膜として、例えば、絶縁体２１０、および絶縁体２１４には、酸化アルミニウム、酸化ハフニウム、酸化タンタルなどの金属酸化物を用いることが好ましい。
【０２７８】特に、酸化アルミニウムは、酸素、およびトランジスタの電気特性の変動要因となる水素、水分などの不純物、の両方に対して膜を透過させない遮断効果が高い。したがって、酸化アルミニウムは、トランジスタの作製工程中および作製後において、水素、水分などの不純物のトランジスタ２００への混入を防止することができる。また、トランジスタ２００を構成する酸化物からの酸素の放出を抑制することができる。そのため、トランジスタ２００に対する保護膜として用いることに適している。
【０２７９】また、例えば、絶縁体２１２、および絶縁体２１６には、絶縁体３２０と同様の材料を用いることができる。また、比較的誘電率が低い材料を層間膜とすることで、配線間に生じる寄生容量を低減することができる。例えば、絶縁体２１２、および絶縁体２１６として、酸化シリコン膜や酸化窒化シリコン膜などを用いることができる。
【０２８０】また、絶縁体２１０、絶縁体２１２、絶縁体２１４、および絶縁体２１６には、導電体２１８、およびトランジスタ２００を構成する導電体（導電体２０３）等が埋め込まれている。なお、導電体２１８は、容量素子１００、またはトランジスタ３００と接続するプラグ、または配線としての機能を有する。導電体２１８は、導電体３２８、および導電体３３０と同様の材料を用いて設けることができる。
【０２８１】特に、絶縁体２１０、および絶縁体２１４と接する領域の導電体２１８は、酸素、水素、および水に対するバリア性を有する導電体であることが好ましい。当該構成により、トランジスタ３００とトランジスタ２００とは、酸素、水素、および水に対するバリア性を有する層で、分離することができ、トランジスタ３００からトランジスタ２００への水素の拡散を抑制することができる。
【０２８２】絶縁体２１６の上方には、トランジスタ２００が設けられている。
【０２８３】図１９（Ａ）、（Ｂ）に示すように、トランジスタ２００は、絶縁体２１４および絶縁体２１６に埋め込まれるように配置された導電体２０３と、絶縁体２１６と導電体２０３の上に配置された絶縁体２２０と、絶縁体２２０の上に配置された絶縁体２２２と、絶縁体２２２の上に配置された絶縁体２２４と、絶縁体２２４の上に配置された酸化物２３０ａと、酸化物２３０ａの上に配置された酸化物２３０ｂと、酸化物２３０ｂ上に、互いに離して配置された導電体２４２ａ、および導電体２４２ｂと、導電体２４２ａおよび導電体２４２ｂ上に配置され、導電体２４２ａと導電体２４２ｂの間に重畳して開口が形成された絶縁体２８０と、開口の中に配置された導電体２６０と、酸化物２３０ｂ、導電体２４２ａ、導電体２４２ｂ、および絶縁体２８０と、導電体２６０と、の間に配置された絶縁体２５０と、酸化物２３０ｂ、導電体２４２ａ、導電体２４２ｂ、および絶縁体２８０と、絶縁体２５０と、の間に配置された酸化物２３０ｃと、を有する。また、図１９（Ａ）、（Ｂ）に示すように、酸化物２３０ａ、酸化物２３０ｂ、導電体２４２ａ、および導電体２４２ｂと、絶縁体２８０の間に絶縁体２４４が配置されることが好ましい。また、図１９（Ａ）、（Ｂ）に示すように、導電体２６０は、絶縁体２５０の内側に設けられた導電体２６０ａと、導電体２６０ａの内側に埋め込まれるように設けられた導電体２６０ｂと、を有することが好ましい。また、図１９（Ａ）、（Ｂ）に示すように、絶縁体２８０、導電体２６０、および絶縁体２５０の上に絶縁体２７４が配置されることが好ましい。
【０２８４】なお、以下において、酸化物２３０ａ、酸化物２３０ｂ、および酸化物２３０ｃをまとめて酸化物２３０という場合がある。また、導電体２４２ａおよび導電体２４２ｂをまとめて導電体２４２という場合がある。
【０２８５】なお、トランジスタ２００では、チャネルが形成される領域と、その近傍において、酸化物２３０ａ、酸化物２３０ｂ、および酸化物２３０ｃの３層を積層する構成について示しているが、本発明はこれに限られるものではない。例えば、酸化物２３０ｂの単層、酸化物２３０ｂと酸化物２３０ａの２層構造、酸化物２３０ｂと酸化物２３０ｃの２層構造、または４層以上の積層構造を設ける構成にしてもよい。また、トランジスタ２００では、導電体２６０を２層の積層構造として示しているが、本発明はこれに限られるものではない。例えば、導電体２６０が、単層構造であってもよいし、３層以上の積層構造であってもよい。また、図１８、図１９（Ａ）（Ｂ）に示すトランジスタ２００は一例であり、その構造に限定されず、回路構成や駆動方法に応じて適切なトランジスタを用いればよい。
【０２８６】ここで、導電体２６０は、トランジスタのゲート電極として機能し、導電体２４２ａおよび導電体２４２ｂは、それぞれソース電極またはドレイン電極として機能する。上記のように、導電体２６０は、絶縁体２８０の開口、および導電体２４２ａと導電体２４２ｂに挟まれた領域に埋め込まれるように形成される。導電体２６０、導電体２４２ａおよび導電体２４２ｂの配置は、絶縁体２８０の開口に対して、自己整合的に選択される。つまり、トランジスタ２００において、ゲート電極を、ソース電極とドレイン電極の間に、自己整合的に配置させることができる。よって、導電体２６０を位置合わせのマージンを設けることなく形成することができるので、トランジスタ２００の占有面積の縮小を図ることができる。これにより、半導体装置の微細化、高集積化を図ることができる。
【０２８７】さらに、導電体２６０が、導電体２４２ａと導電体２４２ｂの間の領域に自己整合的に形成されるので、導電体２６０は、導電体２４２ａまたは導電体２４２ｂと重畳する領域を有さない。これにより、導電体２６０と導電体２４２ａおよび導電体２４２ｂとの間に形成される寄生容量を低減することができる。よって、トランジスタ２００のスイッチング速度を向上させ、高い周波数特性を有せしめることができる。
【０２８８】導電体２６０は、第１のゲート（トップゲートともいう。）電極として機能する場合がある。また、導電体２０３は、第２のゲート（ボトムゲートともいう。）電極として機能する場合がある。その場合、導電体２０３に印加する電位を、導電体２６０に印加する電位と、連動させず、独立して変化させることで、トランジスタ２００のＶｔｈを制御することができる。特に、導電体２０３に負の電位を印加することにより、トランジスタ２００のＶｔｈを０Ｖより大きくし、オフ電流を低減することが可能となる。したがって、導電体２０３に負の電位を印加したほうが、印加しない場合よりも、導電体２６０に印加する電位が０Ｖのときのドレイン電流を小さくすることができる。
【０２８９】導電体２０３は、酸化物２３０、および導電体２６０と、重なるように配置する。これにより、導電体２６０、および導電体２０３に電位を印加した場合、導電体２６０から生じる電界と、導電体２０３から生じる電界と、がつながり、酸化物２３０に形成されるチャネル形成領域を覆うことができる。本明細書において、第１のゲート電極、および第２のゲート電極の電界によって、チャネル形成領域を電気的に取り囲むトランジスタの構造を、ｓｕｒｒｏｕｎｄｅｄ  ｃｈａｎｎｅｌ（Ｓ−ｃｈａｎｎｅｌ）構造とよぶ。
【０２９０】また、導電体２０３は、導電体２１８と同様の構成であり、絶縁体２１４および絶縁体２１６の開口の内壁に接して導電体２０３ａが形成され、さらに内側に導電体２０３ｂが形成されている。
【０２９１】絶縁体２２０、絶縁体２２２、絶縁体２２４、および絶縁体２５０は、ゲート絶縁体としての機能を有する。
【０２９２】ここで、酸化物２３０と接する絶縁体２２４は、化学量論的組成を満たす酸素よりも多くの酸素を含む絶縁体を用いることが好ましい。つまり、絶縁体２２４には、過剰酸素領域が形成されていることが好ましい。このような過剰酸素を含む絶縁体を酸化物２３０に接して設けることにより、酸化物２３０中の酸素欠損を低減し、トランジスタ２００の信頼性を向上させることができる。
【０２９３】過剰酸素領域を有する絶縁体として、具体的には、加熱により一部の酸素が脱離する酸化物材料を用いることが好ましい。加熱により酸素を脱離する酸化物とは、ＴＤＳ分析にて、酸素原子に換算しての酸素の脱離量が１．０×１０１８ａｔｏｍｓ／ｃｍ３以上、好ましくは１．０×１０１９ａｔｏｍｓ／ｃｍ３以上、さらに好ましくは２．０×１０１９ａｔｏｍｓ／ｃｍ３以上、または３．０×１０２０ａｔｏｍｓ／ｃｍ３以上である酸化物膜である。なお、上記ＴＤＳ分析時における膜の表面温度としては１００℃以上７００℃以下、または１００℃以上４００℃以下の範囲が好ましい。
【０２９４】また、絶縁体２２４が、過剰酸素領域を有する場合、絶縁体２２２は、酸素（例えば、酸素原子、酸素分子などの少なくとも一）の拡散を抑制する機能を有する（上記酸素が透過しにくい。）ことが好ましい。
【０２９５】絶縁体２２２が、酸素や不純物の拡散を抑制する機能を有することで、酸化物２３０が有する酸素は、絶縁体２２０側へ拡散することがなく、好ましい。また、導電体２０３が、絶縁体２２４や、酸化物２３０が有する酸素と反応することを抑制することができる。
【０２９６】絶縁体２２２は、例えば、酸化アルミニウム、酸化ハフニウム、酸化タンタル、酸化ジルコニウム、チタン酸ジルコン酸鉛（ＰＺＴ）、チタン酸ストロンチウム（ＳｒＴｉＯ３）または（Ｂａ，Ｓｒ）ＴｉＯ３（ＢＳＴ）などを含む絶縁体を単層または積層で用いることが好ましい。トランジスタの微細化、および高集積化が進むと、ゲート絶縁体の薄膜化により、リーク電流などの問題が生じる場合がある。ゲート絶縁体として機能する絶縁体にｈｉｇｈ−ｋ材料を用いることで、物理膜厚を保ちながら、トランジスタ動作時のゲート電位の低減が可能となる。
【０２９７】特に、不純物、および酸素などの拡散を抑制する機能を有する（上記酸素が透過しにくい。）絶縁性材料であるアルミニウムおよびハフニウムの一方または双方の酸化物を含む絶縁体を用いるとよい。アルミニウムおよびハフニウムの一方または双方の酸化物を含む絶縁体として、酸化アルミニウム、酸化ハフニウム、アルミニウムおよびハフニウムを含む酸化物（ハフニウムアルミネート）などを用いることが好ましい。このような材料を用いて絶縁体２２２を形成した場合、絶縁体２２２は、酸化物２３０からの酸素の放出や、トランジスタ２００の周辺部から酸化物２３０への水素等の不純物の混入を抑制する層として機能する。
【０２９８】または、これらの絶縁体に、例えば、酸化アルミニウム、酸化ビスマス、酸化ゲルマニウム、酸化ニオブ、酸化シリコン、酸化チタン、酸化タングステン、酸化イットリウム、酸化ジルコニウムを添加してもよい。またはこれらの絶縁体を窒化処理してもよい。上記の絶縁体に酸化シリコン、酸化窒化シリコンまたは窒化シリコンを積層して用いてもよい。
【０２９９】また、絶縁体２２０は、熱的に安定していることが好ましい。例えば、酸化シリコンおよび酸化窒化シリコンは、熱的に安定であるため、好適である。また、ｈｉｇｈ−ｋ材料の絶縁体と酸化シリコン、または酸化窒化シリコンとを組み合わせることで、熱的に安定かつ比誘電率の高い積層構造の絶縁体２２０を得ることができる。
【０３００】なお、絶縁体２２０、絶縁体２２２、および絶縁体２２４が、２層以上の積層構造を有していてもよい。その場合、同じ材料からなる積層構造に限定されず、異なる材料からなる積層構造でもよい。
【０３０１】トランジスタ２００は、チャネル形成領域を含む酸化物２３０に、酸化物半導体として機能する金属酸化物を用いることが好ましい。例えば、酸化物２３０として、Ｉｎ−Ｍ−Ｚｎ酸化物（元素Ｍは、アルミニウム、ガリウム、イットリウム、銅、バナジウム、ベリリウム、ホウ素、チタン、鉄、ニッケル、ゲルマニウム、ジルコニウム、モリブデン、ランタン、セリウム、ネオジム、ハフニウム、タンタル、タングステン、またはマグネシウムなどから選ばれた一種、または複数種）等の金属酸化物を用いるとよい。また、酸化物２３０として、Ｉｎ−Ｇａ酸化物、Ｉｎ−Ｚｎ酸化物を用いてもよい。
【０３０２】酸化物２３０においてチャネル形成領域として機能する金属酸化物は、バンドギャップが２ｅＶ以上、好ましくは２．５ｅＶ以上のものを用いることが好ましい。このように、バンドギャップの大きい金属酸化物を用いることで、トランジスタのオフ電流を低減することができる。
【０３０３】酸化物２３０は、酸化物２３０ｂ下に酸化物２３０ａを有することで、酸化物２３０ａよりも下方に形成された構造物から、酸化物２３０ｂへの不純物の拡散を抑制することができる。また、酸化物２３０ｂ上に酸化物２３０ｃを有することで、酸化物２３０ｃよりも上方に形成された構造物から、酸化物２３０ｂへの不純物の拡散を抑制することができる。
【０３０４】なお、酸化物２３０は、各金属原子の原子数比が異なる酸化物により、積層構造を有することが好ましい。具体的には、酸化物２３０ａに用いる金属酸化物において、構成元素中の元素Ｍの原子数比が、酸化物２３０ｂに用いる金属酸化物における、構成元素中の元素Ｍの原子数比より、大きいことが好ましい。また、酸化物２３０ａに用いる金属酸化物において、Ｉｎに対する元素Ｍの原子数比が、酸化物２３０ｂに用いる金属酸化物における、Ｉｎに対する元素Ｍの原子数比より大きいことが好ましい。また、酸化物２３０ｂに用いる金属酸化物において、元素Ｍに対するＩｎの原子数比が、酸化物２３０ａに用いる金属酸化物における、元素Ｍに対するＩｎの原子数比より大きいことが好ましい。また、酸化物２３０ｃは、酸化物２３０ａまたは酸化物２３０ｂに用いることができる金属酸化物を、用いることができる。
【０３０５】また、酸化物２３０ａおよび酸化物２３０ｃの伝導帯下端のエネルギーが、酸化物２３０ｂの伝導帯下端のエネルギーより高くなることが好ましい。また、言い換えると、酸化物２３０ａおよび酸化物２３０ｃの電子親和力が、酸化物２３０ｂの電子親和力より小さいことが好ましい。
【０３０６】ここで、酸化物２３０ａ、酸化物２３０ｂ、および酸化物２３０ｃの接合部において、伝導帯下端のエネルギー準位はなだらかに変化する。換言すると、酸化物２３０ａ、酸化物２３０ｂ、および酸化物２３０ｃの接合部における伝導帯下端のエネルギー準位は、連続的に変化または連続接合するともいうことができる。このようにするためには、酸化物２３０ａと酸化物２３０ｂとの界面、および酸化物２３０ｂと酸化物２３０ｃとの界面において形成される混合層の欠陥準位密度を低くするとよい。
【０３０７】具体的には、酸化物２３０ａと酸化物２３０ｂ、酸化物２３０ｂと酸化物２３０ｃが、酸素以外に共通の元素を有する（主成分とする。）ことで、欠陥準位密度が低い混合層を形成することができる。例えば、酸化物２３０ｂがＩｎ−Ｇａ−Ｚｎ酸化物の場合、酸化物２３０ａおよび酸化物２３０ｃとして、Ｉｎ−Ｇａ−Ｚｎ酸化物、Ｇａ−Ｚｎ酸化物、酸化ガリウムなどを用いるとよい。
【０３０８】このとき、キャリアの主たる経路は酸化物２３０ｂとなる。酸化物２３０ａ、酸化物２３０ｃを上述の構成とすることで、酸化物２３０ａと酸化物２３０ｂとの界面、および酸化物２３０ｂと酸化物２３０ｃとの界面における欠陥準位密度を低くすることができる。そのため、界面散乱によるキャリア伝導への影響が小さくなり、トランジスタ２００は高いオン電流を得られる。
【０３０９】酸化物２３０ｂ上には、ソース電極、およびドレイン電極として機能する導電体２４２（導電体２４２ａ、および導電体２４２ｂ）が設けられる。導電体２４２としては、アルミニウム、クロム、銅、銀、金、白金、タンタル、ニッケル、チタン、モリブデン、タングステン、ハフニウム、バナジウム、ニオブ、マンガン、マグネシウム、ジルコニウム、ベリリウム、インジウム、ルテニウム、イリジウム、ストロンチウム、ランタンから選ばれた金属元素、または上述した金属元素を成分とする合金か、上述した金属元素を組み合わせた合金等を用いることが好ましい。例えば、窒化タンタル、窒化チタン、タングステン、チタンとアルミニウムを含む窒化物、タンタルとアルミニウムを含む窒化物、酸化ルテニウム、窒化ルテニウム、ストロンチウムとルテニウムを含む酸化物、ランタンとニッケルを含む酸化物などを用いることが好ましい。また、窒化タンタル、窒化チタン、チタンとアルミニウムを含む窒化物、タンタルとアルミニウムを含む窒化物、酸化ルテニウム、窒化ルテニウム、ストロンチウムとルテニウムを含む酸化物、ランタンとニッケルを含む酸化物は、酸化しにくい導電性材料、または、酸素を吸収しても導電性を維持する材料であるため、好ましい。
【０３１０】また、図１９（Ａ）に示すように、酸化物２３０の、導電体２４２との界面とその近傍には、低抵抗領域として、領域２４３（領域２４３ａ、および領域２４３ｂ）が形成される場合がある。このとき、領域２４３ａはソース領域またはドレイン領域の一方として機能し、領域２４３ｂはソース領域またはドレイン領域の他方として機能する。また、領域２４３ａと領域２４３ｂに挟まれる領域にチャネル形成領域が形成される。
【０３１１】酸化物２３０と接するように上記導電体２４２を設けることで、領域２４３の酸素濃度が低減する場合がある。また、領域２４３に導電体２４２に含まれる金属と、酸化物２３０の成分とを含む金属化合物層が形成される場合がある。このような場合、領域２４３のキャリア密度が増加し、領域２４３は、低抵抗領域となる。
【０３１２】絶縁体２４４は、導電体２４２を覆うように設けられ、導電体２４２の酸化を抑制する。このとき、絶縁体２４４は、酸化物２３０の側面を覆い、絶縁体２２４と接するように設けられてもよい。
【０３１３】絶縁体２４４として、ハフニウム、アルミニウム、ガリウム、イットリウム、ジルコニウム、タングステン、チタン、タンタル、ニッケル、ゲルマニウム、または、マグネシウムなどから選ばれた一種、または二種以上が含まれた金属酸化物を用いることができる。
【０３１４】特に、絶縁体２４４として、アルミニウムおよびハフニウムの一方または双方の酸化物を含む絶縁体である、酸化アルミニウム、酸化ハフニウム、アルミニウムおよびハフニウムを含む酸化物（ハフニウムアルミネート）などを用いることが好ましい。特に、ハフニウムアルミネートは、酸化ハフニウム膜よりも、耐熱性が高い。そのため、後の工程での熱処理において、結晶化しにくいため好ましい。なお、導電体２４２が耐酸化性を有する材料、または、酸素を吸収しても著しく導電性が低下しない場合、絶縁体２４４は、必須の構成ではない。求めるトランジスタ特性により、適宜設計すればよい。
【０３１５】絶縁体２５０は、ゲート絶縁体として機能する。絶縁体２５０は、酸化物２３０ｃの内側（上面および側面）接して配置することが好ましい。絶縁体２５０は、加熱により酸素が放出される絶縁体を用いて形成することが好ましい。例えば、ＴＤＳ分析にて、酸素原子に換算しての酸素の脱離量が１．０×１０１８ａｔｏｍｓ／ｃｍ３以上、好ましくは１．０×１０１９ａｔｏｍｓ／ｃｍ３以上、さらに好ましくは２．０×１０１９ａｔｏｍｓ／ｃｍ３以上、または３．０×１０２０ａｔｏｍｓ／ｃｍ３以上である酸化物膜である。なお、上記ＴＤＳ分析時における膜の表面温度としては１００℃以上７００℃以下の範囲が好ましい。
【０３１６】具体的には、過剰酸素を有する酸化シリコン、酸化窒化シリコン、窒化酸化シリコン、窒化シリコン、フッ素を添加した酸化シリコン、炭素を添加した酸化シリコン、炭素および窒素を添加した酸化シリコン、空孔を有する酸化シリコンを用いることができる。特に、酸化シリコン、および酸化窒化シリコンは熱に対し安定であるため好ましい。
【０３１７】加熱により酸素が放出される絶縁体を、絶縁体２５０として、酸化物２３０ｃの上面に接して設けることにより、絶縁体２５０から、酸化物２３０ｃを通じて、酸化物２３０ｂのチャネル形成領域に効果的に酸素を供給することができる。また、絶縁体２２４と同様に、絶縁体２５０中の水または水素などの不純物濃度が低減されていることが好ましい。絶縁体２５０の膜厚は、１ｎｍ以上２０ｎｍ以下とするのが好ましい。
【０３１８】また、絶縁体２５０が有する過剰酸素を、効率的に酸化物２３０へ供給するために、絶縁体２５０と導電体２６０との間に金属酸化物を設けてもよい。当該金属酸化物は、絶縁体２５０から導電体２６０への酸素拡散を抑制することが好ましい。酸素の拡散を抑制する金属酸化物を設けることで、絶縁体２５０から導電体２６０への過剰酸素の拡散が抑制される。つまり、酸化物２３０へ供給する過剰酸素量の減少を抑制することができる。また、過剰酸素による導電体２６０の酸化を抑制することができる。当該金属酸化物としては、絶縁体２４４に用いることができる材料を用いればよい。
【０３１９】第１のゲート電極として機能する導電体２６０は、図１９（Ａ）、（Ｂ）では２層構造として示しているが、単層構造でもよいし、３層以上の積層構造であってもよい。
【０３２０】導電体２６０ａは、水素原子、水素分子、水分子、窒素原子、窒素分子、酸化窒素分子（Ｎ２Ｏ、ＮＯ、ＮＯ２など）、銅原子などの不純物の拡散を抑制する機能を有する導電性材料を用いることが好ましい。または、酸素（例えば、酸素原子、酸素分子などの少なくとも一）の拡散を抑制する機能を有する導電性材料を用いることが好ましい。導電体２６０ａが酸素の拡散を抑制する機能を持つことにより、絶縁体２５０に含まれる酸素により、導電体２６０ｂが酸化して導電率が低下することを抑制することができる。酸素の拡散を抑制する機能を有する導電性材料としては、例えば、タンタル、窒化タンタル、ルテニウム、または酸化ルテニウムなどを用いることが好ましい。
【０３２１】また、導電体２６０ｂは、タングステン、銅、またはアルミニウムを主成分とする導電性材料を用いることが好ましい。また、導電体２６０ｂは、配線としても機能するため、導電性が高い導電体を用いることが好ましい。例えば、タングステン、銅、またはアルミニウムを主成分とする導電性材料を用いることができる。また、導電体２６０ｂは積層構造としてもよく、例えば、チタン、窒化チタンと上記導電性材料との積層構造としてもよい。
【０３２２】絶縁体２８０は、絶縁体２４４を介して、導電体２４２上に設けられる。絶縁体２８０は、過剰酸素領域を有することが好ましい。例えば、絶縁体２８０として、酸化シリコン、酸化窒化シリコン、窒化酸化シリコン、窒化シリコン、フッ素を添加した酸化シリコン、炭素を添加した酸化シリコン、炭素および窒素を添加した酸化シリコン、空孔を有する酸化シリコン、または樹脂などを有することが好ましい。特に、酸化シリコンおよび酸化窒化シリコンは、熱的に安定であるため好ましい。特に、酸化シリコン、空孔を有する酸化シリコンは、後の工程で、容易に過剰酸素領域を形成することができるため好ましい。
【０３２３】絶縁体２８０は、過剰酸素領域を有することが好ましい。加熱により酸素が放出される絶縁体２８０を、酸化物２３０ｃと接して設けることで、絶縁体２８０中の酸素を、酸化物２３０ｃを通じて、酸化物２３０の領域２４３へと効率良く供給することができる。なお、絶縁体２８０中の水または水素などの不純物濃度が低減されていることが好ましい。
【０３２４】絶縁体２８０の開口は、導電体２４２ａと導電体２４２ｂの間の領域に重畳して形成される。これにより、導電体２６０は、絶縁体２８０の開口、および導電体２４２ａと導電体２４２ｂに挟まれた領域に、埋め込まれるように形成される。
【０３２５】半導体装置を微細化するに当たり、ゲート長を短くすることが求められるが、導電体２６０の導電性が下がらないようにする必要がある。そのために導電体２６０の膜厚を大きくすると、導電体２６０はアスペクト比が高い形状となりうる。本実施の形態では、導電体２６０を絶縁体２８０の開口に埋め込むように設けるため、導電体２６０をアスペクト比の高い形状にしても、工程中に導電体２６０を倒壊させることなく、形成することができる。
【０３２６】絶縁体２７４は、絶縁体２８０の上面、導電体２６０の上面、および絶縁体２５０の上面に接して設けられることが好ましい。絶縁体２７４をスパッタリング法で成膜することで、絶縁体２５０および絶縁体２８０へ過剰酸素領域を設けることができる。これにより、当該過剰酸素領域から、酸化物２３０中に酸素を供給することができる。
【０３２７】例えば、絶縁体２７４として、ハフニウム、アルミニウム、ガリウム、イットリウム、ジルコニウム、タングステン、チタン、タンタル、ニッケル、ゲルマニウム、またはマグネシウムなどから選ばれた一種、または二種以上が含まれた金属酸化物を用いることができる。
【０３２８】特に、酸化アルミニウムはバリア性が高く、０．５ｎｍ以上３．０ｎｍ以下の薄膜であっても、水素、および窒素の拡散を抑制することができる。したがって、スパッタリング法で成膜した酸化アルミニウムは、酸素供給源であるとともに、水素などの不純物のバリア膜としての機能も有することができる。
【０３２９】また、絶縁体２７４の上に、層間膜として機能する絶縁体２８１を設けることが好ましい。絶縁体２８１は、絶縁体２２４などと同様に、膜中の水または水素などの不純物濃度が低減されていることが好ましい。
【０３３０】また、絶縁体２８１、絶縁体２７４、絶縁体２８０、および絶縁体２４４に形成された開口に、導電体２４０ａおよび導電体２４０ｂを配置する。導電体２４０ａおよび導電体２４０ｂは、導電体２６０を挟んで対向して設ける。導電体２４０ａおよび導電体２４０ｂは、後述する導電体２４６および導電体２４８と同様の構成である。
【０３３１】絶縁体２８１上には、絶縁体２８２が設けられている。絶縁体２８２は、酸素や水素に対してバリア性のある物質を用いることが好ましい。したがって、絶縁体２８２には、絶縁体２１４と同様の材料を用いることができる。例えば、絶縁体２８２には、酸化アルミニウム、酸化ハフニウム、酸化タンタルなどの金属酸化物を用いることが好ましい。
【０３３２】特に、酸化アルミニウムは、酸素、およびトランジスタの電気特性の変動要因となる水素、水分などの不純物、の両方に対して膜を透過させない遮断効果が高い。したがって、酸化アルミニウムは、トランジスタの作製工程中および作製後において、水素、水分などの不純物のトランジスタ２００への混入を防止することができる。また、トランジスタ２００を構成する酸化物からの酸素の放出を抑制することができる。そのため、トランジスタ２００に対する保護膜として用いることに適している。
【０３３３】また、絶縁体２８２上には、絶縁体２８６が設けられている。絶縁体２８６は、絶縁体３２０と同様の材料を用いることができる。また、比較的誘電率が低い材料を層間膜とすることで、配線間に生じる寄生容量を低減することができる。例えば、絶縁体２８６として、酸化シリコン膜や酸化窒化シリコン膜などを用いることができる。
【０３３４】また、絶縁体２２０、絶縁体２２２、絶縁体２２４、絶縁体２４４、絶縁体２８０、絶縁体２７４、絶縁体２８１、絶縁体２８２、および絶縁体２８６には、導電体２４６、および導電体２４８等が埋め込まれている。
【０３３５】導電体２４６、および導電体２４８は、容量素子１００、トランジスタ２００、またはトランジスタ３００と接続するプラグ、または配線として機能する。導電体２４６、および導電体２４８は、導電体３２８、および導電体３３０と同様の材料を用いて設けることができる。
【０３３６】続いて、トランジスタ２００の上方には、容量素子１００が設けられている。容量素子１００は、導電体１１０と、導電体１２０、絶縁体１３０とを有する。
【０３３７】また、導電体２４６、および導電体２４８上に、導電体１１２を設けてもよい。導電体１１２は、トランジスタ２００と接続するプラグ、または配線としての機能を有する。導電体１１０は、容量素子１００の電極としての機能を有する。なお、導電体１１２、および導電体１１０は、同時に形成することができる。
【０３３８】導電体１１２、および導電体１１０には、モリブデン、チタン、タンタル、タングステン、アルミニウム、銅、クロム、ネオジム、スカンジウムから選ばれた元素を含む金属膜、または上述した元素を成分とする金属窒化物膜（窒化タンタル膜、窒化チタン膜、窒化モリブデン膜、窒化タングステン膜）等を用いることができる。または、インジウム錫酸化物、酸化タングステンを含むインジウム酸化物、酸化タングステンを含むインジウム亜鉛酸化物、酸化チタンを含むインジウム酸化物、酸化チタンを含むインジウム錫酸化物、インジウム亜鉛酸化物、酸化ケイ素を添加したインジウム錫酸化物などの導電性材料を適用することもできる。
【０３３９】図１８では、導電体１１２、および導電体１１０は単層構造を示したが、当該構成に限定されず、２層以上の積層構造でもよい。例えば、バリア性を有する導電体と導電性が高い導電体との間に、バリア性を有する導電体、および導電性が高い導電体に対して密着性が高い導電体を形成してもよい。
【０３４０】絶縁体１３０を介して、導電体１１０と重畳するように、導電体１２０を設ける。なお、導電体１２０は、金属材料、合金材料、または金属酸化物材料などの導電性材料を用いることができる。耐熱性と導電性を両立するタングステンやモリブデンなどの高融点材料を用いることが好ましく、特にタングステンを用いることが好ましい。また、導電体などの他の構造と同時に形成する場合は、低抵抗金属材料であるＣｕ（銅）やＡｌ（アルミニウム）等を用いればよい。
【０３４１】導電体１２０、および絶縁体１３０上には、絶縁体１５０が設けられている。絶縁体１５０は、絶縁体３２０と同様の材料を用いて設けることができる。また、絶縁体１５０は、その下方の凹凸形状を被覆する平坦化膜として機能してもよい。
【０３４２】本構造を用いることで、酸化物半導体を有するトランジスタを用いた半導体装置において、電気特性の変動を抑制するとともに、信頼性を向上させることができる。または、オン電流が大きい酸化物半導体を有するトランジスタを提供することができる。または、オフ電流が小さい酸化物半導体を有するトランジスタを提供することができる。または、消費電力が低減された半導体装置を提供することができる。または、酸化物半導体を有するトランジスタを用いた半導体装置において、微細化または高集積化を図ることができる。
【０３４３】＜トランジスタの構成例１＞
図１８および図１９では、ソース電極またはドレイン電極として機能する導電体２４２が、酸化物２３０に接して形成されている構成例について説明したが、ＯＳトランジスタの構成はこれに限られない。例えば、導電体２４２を設けず、酸化物２３０を選択的に低抵抗化することで、酸化物２３０ｂにソース領域またはドレイン領域が設けられた構成を用いることもできる。このようなトランジスタの構成例を、図２０に示す。
【０３４４】図２０（Ａ）はトランジスタ２００Ａのチャネル長方向の断面図であり、図２０（Ｂ）はトランジスタ２００Ａのチャネル幅方向の断面図である。なお、図２０に示すトランジスタ２００Ａは図１９に示すトランジスタ２００の変形例である。よって、説明の繰り返しを防ぐため、主にトランジスタ２００と異なる点について説明する。
【０３４５】トランジスタ２００Ａは、トランジスタ２００と同様に、チャネル形成領域を含む酸化物２３０に、酸化物半導体として機能する金属酸化物を用いることができる。
【０３４６】酸化物２３０は、酸素欠損を形成する元素、または酸素欠損と結合する元素を添加されることで、キャリア密度が増大し、低抵抗化する場合がある。酸化物２３０を低抵抗化する元素としては、代表的には、ホウ素、またはリンが挙げられる。また、水素、炭素、窒素、フッ素、硫黄、塩素、チタン、希ガス等を用いてもよい。希ガスの代表例としては、ヘリウム、ネオン、アルゴン、クリプトン、およびキセノン等がある。
【０３４７】なお、上記元素の濃度は、二次イオン質量分析法（ＳＩＭＳ：Ｓｅｃｏｎｄａｒｙ  Ｉｏｎ  Ｍａｓｓ  Ｓｐｅｃｔｒｏｍｅｔｒｙ）などを用いて測定すればよい。
【０３４８】特に、ホウ素、およびリンは、アモルファスシリコン、または低温ポリシリコンの製造ラインの装置を使用することができるため、好ましい。当該製造ラインの装置を転用することによって、設備投資を抑制することができる。
【０３４９】図２０に示す、領域２４３（領域２４３ａ、および領域２４３ｂ）は、酸化物２３０ｂに上記の元素が添加された領域である。領域２４３は、例えば、ダミーゲートを用いることで形成することができる。
【０３５０】例えば、酸化物２３０ｂ上にダミーゲートを設け、当該ダミーゲートをマスクとして用い、上記酸化物２３０ｂを低抵抗化する元素を添加するとよい。つまり、酸化物２３０が、ダミーゲートと重畳していない領域に、当該元素が添加され、領域２４３が形成される。なお、当該元素の添加方法としては、イオン化された原料ガスを質量分離して添加するイオン注入法、イオン化された原料ガスを質量分離せずに添加するイオンドーピング法、プラズマイマージョンイオンインプランテーション法などを用いることができる。
【０３５１】続いて、酸化物２３０ｂ、およびダミーゲート上に、絶縁体２４４となる絶縁膜、および絶縁体２４５となる絶縁膜を成膜してもよい。後述するが、ダミーゲートを除去する前に、ダミーゲート上に絶縁体２４４となる絶縁膜、および絶縁体２４５となる絶縁膜を積層して設けることで、ダミーゲートを除去した後の開口部の側壁に絶縁体２４４と絶縁体２４５の積層膜を形成する。ダミーゲート上に形成された絶縁体２４４と絶縁体２４５の積層膜上から酸化物２３０ｂを低抵抗化する元素を添加する。領域２４３は、ダミーゲートの下部にも広がることで、領域２４３と、酸化物２３０ｃおよび絶縁体２５０とが重畳する領域を設けることができる。
【０３５２】具体的には、絶縁体２４５となる絶縁膜上に絶縁体２８０となる絶縁膜を設けた後、絶縁体２８０となる絶縁膜にＣＭＰ（Ｃｈｅｍｉｃａｌ  Ｍｅｃｈａｎｉｃａｌ  Ｐｏｌｉｓｈｉｎｇ）処理を行うことで、絶縁体２８０となる絶縁膜の一部を除去し、ダミーゲートを露出する。続いて、ダミーゲートを除去する際に、ダミーゲートと接する絶縁体２４４の一部も除去するとよい。従って、絶縁体２８０に設けられた開口部の側面には、絶縁体２４５、および絶縁体２４４が露出し、当該開口部の底面には、酸化物２３０ｂに設けられた領域２４３の一部が露出する。次に、当該開口部に酸化物２３０ｃとなる酸化膜、絶縁体２５０となる絶縁膜、および導電体２６０となる導電膜を順に成膜した後、絶縁体２８０が露出するまでＣＭＰ処理などにより、酸化物２３０ｃとなる酸化膜、絶縁体２５０となる絶縁膜、および導電体２６０となる導電膜の一部を除去することで、図２０に示すトランジスタを形成することができる。
【０３５３】なお、絶縁体２４４、および絶縁体２４５は必須の構成ではない。求めるトランジスタ特性により、適宜設計すればよい。
【０３５４】図２０に示すトランジスタ２００Ａは、既存の装置を転用することができ、さらに、トランジスタ２００と異なって導電体２４２を設けないため、コストの低減を図ることができる。
【符号の説明】
【０３５５】ＤＡ１：信号線、ＤＡ２：信号線、ＤＡＭ１：信号線、ＤＡＭ２：信号線、ＤＡＰ１：信号線、ＤＡＰ２：信号線、ＦＮ１０：ノード、ＦＮ２０：ノード、ＦＮ３０：ノード、ＦＮ４０：ノード、ＦＮ５０：ノード、ＦＮ６０：ノード、ＦＮ７０：ノード、ＦＮ８０：ノード、ＦＯ１：信号線、ＦＯ２：信号線、ＦＯ３：信号線、ＦＯ４：信号線、ＦＯＵＴ１：信号線、ＦＯＵＴ２：信号線、Ｉ１：電流、Ｉ２：電流、Ｉ３：電流、Ｉ４：電流、Ｉ５：電流、Ｍ１：メモリ、Ｍ２：メモリ、Ｍ３：メモリ、Ｍ４：メモリ、Ｍ５：メモリ、Ｍ６：メモリ、２１：メモリ、２４ａ：メモリ、２４ｂ：メモリ、３１ａ：メモリ、３１ｂ：メモリ、３１ｃ：メモリ、３１ｄ：メモリ、ＭＢ１：信号線、ＭＢ２：信号線、ＲＥＭ１：信号線、ＲＥＭ２：信号線、ＲＥＰ１：信号線、ＲＥＰ２：信号線、Ｓ１：スイッチ、Ｓ２：スイッチ、Ｓ３：スイッチ、Ｓ４：スイッチ、Ｓ５：スイッチ、Ｓ６：スイッチ、Ｓ７：スイッチ、Ｓ８：スイッチ、Ｓ９：スイッチ、Ｓ１０：スイッチ、Ｓ１１：スイッチ、Ｓ１２：スイッチ、Ｓ１３：スイッチ、Ｓ１４：スイッチ、Ｓ１５：スイッチ、ＳＷ０：スイッチ、ＳＷ１：スイッチ、ＵＦＭ１：信号線、ＵＦＭ２：信号線、ＵＦＰ１：信号線、ＵＦＰ２：信号線、ＷＥＭ１：信号線、ＷＥＭ２：信号線、ＷＥＰ１：信号線、ＷＥＰ２：信号線、ＷＬ１：信号線、１０：加算回路、１０ａ：加算回路、１１：乗算セル、１１ａ：乗算セル、１２：リファレンスセル、１２ａ：リファレンスセル、１３：演算回路、１３ａ：演算回路、１５：変換回路、１５ａ：ＩＶ変換回路、１５ｂ：増幅回路、２０：セレクタ、２２：カウンタ、２２ａ：ＣＮＰ、２２ｂ：ＣＮＭ、２３：制御回路、２４：セレクタ、２５：制御回路、２６：ゼロインサーション回路、２６ａ：ゼロインサーション回路、２６ｂ：ゼロインサーション回路、２６ｃ：ゲート回路、２７：加算回路、２８：加算回路、２９：ゲート回路、３０：制御回路、３１：セレクタ、３２：制御回路、３３ａ：ゼロインサーション回路、３３ｂ：ゼロインサーション回路、４０：乗算回路、４０ａ：乗算回路、４１：トランジスタ、４２：トランジスタ、４２ａ：トランジスタ、４３：容量素子、４４：トランジスタ、４５：トランジスタ、４５ａ：トランジスタ、４６：容量素子、４７：トランジスタ、４８：トランジスタ、４９：トランジスタ、４９ａ：トランジスタ、５０：容量素子、５１：トランジスタ、５１ａ：トランジスタ、５２：容量素子、６１：トランジスタ、６２：トランジスタ、６２ａ：トランジスタ、６３：容量素子、６４：トランジスタ、６５：トランジスタ、６５ａ：トランジスタ、６６：容量素子、６７：トランジスタ、６７ａ：トランジスタ、６８：容量素子、６９：トランジスタ、６９ａ：トランジスタ、７０：容量素子、７１：トランジスタ、７１ａ：トランジスタ、７２：トランジスタ、７２ａ：トランジスタ、７３：容量素子、７４：トランジスタ、７４ａ：トランジスタ、７５：容量素子、７６：トランジスタ、７６ａ：トランジスタ、７７：容量素子、８０：半導体装置、８１：ＣＰＵ、８２：メモリ、８３：撮像装置、８４：ニューラルネットワーク、８４ａ：乗算セルブロック、８４ｂ：ニューロン、８４ｃ：ニューラルネットワーク、８５ａ：ディスプレイコントローラ、８５ｂ：表示装置、８６：入出力バス、９０：スイッチ
【図１】
2019097350.tif 000003
【図２】
2019097350.tif 000004
【図３】
2019097350.tif 000005
【図４】
2019097350.tif 000006
【図５】
2019097350.tif 000007
【図６】
2019097350.tif 000008
【図７】
2019097350.tif 000009
【図８】
2019097350.tif 000010
【図９】
2019097350.tif 000011
【図１０】
2019097350.tif 000012
【図１１】
2019097350.tif 000013
【図１２】
2019097350.tif 000014
【図１３】
2019097350.tif 000015
【図１４】
2019097350.tif 000016
【図１５】
2019097350.tif 000017
【図１６】
2019097350.tif 000018
【図１７】
2019097350.tif 000019
【図１８】
2019097350.tif 000020
【図１９】
2019097350.tif 000021
【図２０】
2019097350.tif 000022
【国際調査報告】
2019097350.tif 000023
2019097350.tif 000024