(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-05
(45)【発行日】2023-12-13
(54)【発明の名称】半導体装置
(51)【国際特許分類】
G06F 7/499 20060101AFI20231206BHJP
H01L 29/786 20060101ALI20231206BHJP
H01L 21/8234 20060101ALI20231206BHJP
H01L 27/06 20060101ALI20231206BHJP
H01L 27/088 20060101ALI20231206BHJP
H10B 12/00 20230101ALI20231206BHJP
H10B 41/70 20230101ALI20231206BHJP
G06G 7/60 20060101ALI20231206BHJP
【FI】
G06F7/499 610
H01L29/78 613B
H01L29/78 613Z
H01L27/06 102A
H01L27/088 E
H01L27/088 331E
H10B12/00 801
H10B12/00 671Z
H10B41/70
G06G7/60
(21)【出願番号】P 2022167346
(22)【出願日】2022-10-19
(62)【分割の表示】P 2019554053の分割
【原出願日】2018-11-05
【審査請求日】2022-10-28
(31)【優先権主張番号】P 2017221455
(32)【優先日】2017-11-17
(33)【優先権主張国・地域又は機関】JP
(31)【優先権主張番号】P 2018027238
(32)【優先日】2018-02-19
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000153878
【氏名又は名称】株式会社半導体エネルギー研究所
(72)【発明者】
【氏名】山崎 舜平
(72)【発明者】
【氏名】木村 肇
(72)【発明者】
【氏名】福留 貴浩
【審査官】佐賀野 秀一
(56)【参考文献】
【文献】特開2003-241958(JP,A)
【文献】特開2006-277019(JP,A)
【文献】特開2002-111447(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 7/499
H01L 29/786
H01L 21/8234
H01L 27/088
H10B 12/00
H10B 41/70
G06G 7/60
(57)【特許請求の範囲】
【請求項1】
第1メモリ、第2メモリ、第3メモリ、第1加算回路、およびカウンタ回路を有し、
前記カウンタ回路は、第1カウンタと、第2カウンタと、を有し、
前記第1メモリには、符号を有する第1データが与えられる機能を有し、
前記第1カウンタ、および前記第2カウンタには、初期値が与えられる機能を有し、
前記第2メモリは、保存されたデータがないとき第1アンダーフローフラグを出力する機能を有し、
前記第3メモリは、保存されたデータがないとき第2アンダーフローフラグを出力する機能を有し、
前記第1データは、前記第1メモリと、前記カウンタ回路と、に与えられ、
前記カウンタ回路は、前記第1アンダーフローフラグまたは前記第2アンダーフローフラグが与えられるときに、前記第1カウンタ、または前記第2カウンタの値を判断する機能を有し、
前記第1カウンタ、または前記第2カウンタのいずれかが初期値の場合、前記第1加算回路は、前記第1メモリに保存された全ての前記第1データを加算する機能を有する半導体装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の一態様は、加算方法、半導体装置、および電子機器に関する。
【0002】
なお、本発明の一態様は、上記の技術分野に限定されない。本明細書等で開示する発明の一態様の技術分野は、物、プログラム、方法、または、製造方法に関する。特に、本発明の一態様は、半導体装置、表示装置、発光装置、蓄電装置、記憶装置、それらの駆動方法、またはそれらの製造方法に関する。
【0003】
なお、本明細書等において、半導体装置は、半導体特性を利用することで機能しうる素子、回路、または装置等を指す。一例としては、トランジスタ、ダイオード等の半導体素子は半導体装置である。また別の一例としては、半導体素子を有する回路は、半導体装置である。また別の一例としては、半導体素子を有する回路を備えた装置は、半導体装置である。
【背景技術】
【0004】
IoT(Internet of Things)、AI(Artificial Intelligence)などの情報技術の発展により、扱われるデータ量が増大の傾向を示している。電子機器がIoT、AIなどの情報技術を利用するためには、大量なデータを演算処理する能力が求められている。さらに、電子機器を快適に使用するためには、低消費電力を実現するために演算量を抑えた半導体装置が求められている。
【0005】
特許文献1では、精度の低い加算器を並列に用いることで特定の精度を有する加算器として動作させる加算方法と、加算器の構成について開示している。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
IoTと、AIと、を組み合わせた電子機器は、低電力化の課題がある。また、電子機器で使用される半導体装置は、狭スペースで収納できるような小型化を求められている。よって、半導体装置は、演算処理能力を下げずに回路規模を小さくする課題がある。
【0008】
AI、特に例えば、ディープラーニング(深層学習)では、機械学習を用いることで様々な情報(画像、音声、ビッグデータなど)から特徴を抽出することができる。AIは、ニューラルネットワークを有し、ニューラルネットワークは、複数のニューロンを有している。ニューロンは、シナプスの機能を模した積和演算処理が知られている。積和演算の機能を有する回路は、複数の入力信号を重み係数で乗算した結果の総和を算出することが知られている。積和演算処理は、符号付き浮動小数点のデータをデジタル演算によって処理するため、論理規模が大きくなる問題がある。消費電力は、論理規模の大きさと比例して大きくなる問題がある。
【0009】
上記問題に鑑み、本発明の一態様は、符号付き整数型の加算方法を提供することを課題の一とする。または、本発明の一態様は、符号付き整数型の加算方法を有する半導体装置を提供することを課題の一とする。または、本発明の一態様は、ニューロンの演算を低電力化させる半導体装置を提供することを課題の一とする。または、本発明の一態様は、新規なプログラムを提供することを課題の一とする。または、本発明の一態様は、新規な計算方法を提供することを課題の一とする。または、本発明の一態様は、新規な半導体装置を提供することを課題の一とする。または、本発明の一態様は、新規な半導体装置の駆動方法を提供することを課題の一とする。
【0010】
なお、これらの課題の記載は、他の課題の存在を妨げるものではない。なお、本発明の一態様は、これらの課題の全てを解決する必要はないものとする。なお、これら以外の課題は、明細書、図面、請求項などの記載から、自ずと明らかとなるものであり、明細書、図面、請求項などの記載から、これら以外の課題を抽出することが可能である。
【0011】
なお本発明の一態様の課題は、上記列挙した課題に限定されない。上記列挙した課題は、他の課題の存在を妨げるものではない。なお他の課題は、以下の記載で述べる、本項目で言及していない課題である。本項目で言及していない課題は、当業者であれば明細書または図面等の記載から導き出せるものであり、これらの記載から適宜抽出することができる。なお、本発明の一態様は、上記列挙した記載、および/または他の課題のうち、少なくとも一つの課題を解決するものである。
【課題を解決するための手段】
【0012】
本発明の一態様は、第1メモリ、第2メモリ、第3メモリ、および第4メモリを有している。第1メモリには、符号を有する第1データが与えられるステップと、第2メモリには、第1メモリに保存された正の符号を有する第1データが与えられるステップと、第3メモリには、第1メモリに保存された負の符号を有する第1データが与えられるステップと、第1データがゼロの場合は、廃棄されるステップを有している。第2メモリに保存された正の符号を有する第1データと、第3メモリに保存された負の符号を有する第1データと、が加算されて第2データを生成するステップとを有している。第4メモリには、第2データが保存されるステップと、第4メモリに、正の符号を有する第2データが保存されてないとき、または負の符号を有する第2データが保存されてないときのいずれかの場合において、第4メモリに保存された全ての第2データを加算するステップを有する加算方法である。
【0013】
上記各構成において、第1データ、および第2データは、符号付き整数のデータである加算方法が好ましい。
【0014】
上記各構成において、第2データを、第1メモリに保存する加算方法が好ましい。
【0015】
第1メモリ、第2メモリ、第3メモリ、セレクタ回路、第1加算回路、第2加算回路、およびカウンタ回路を有している。カウンタ回路は、第1カウンタと、第2カウンタと、を有している。第1メモリは、第1加算回路と、セレクタ回路と、電気的に接続され、セレクタ回路は、第2メモリと、第3メモリと、電気的に接続され、第2加算回路は、第2メモリと、第3メモリと、電気的に接続され、カウンタ回路は、第1メモリと、第1加算回路と、電気的に接続されている。第1メモリには、符号を有する第1データが与えられる機能を有し、第1カウンタ、および第2カウンタには、初期値が与えられる機能を有し、第2メモリは、保存されたデータがないとき第1アンダーフローフラグを出力する機能を有し、第3メモリは、保存されたデータがないとき第2アンダーフローフラグを出力する機能を有している。第1データは、第1メモリと、カウンタ回路と、に与えられる。カウンタ回路は、第1アンダーフローフラグまたは第2アンダーフローフラグが与えられたときに、第1カウンタ、または第2カウンタの値を判断する機能を有し、第1カウンタ、または第2カウンタのいずれかが初期値の場合、第1加算回路は、第1メモリに保存された第1データを加算する機能を有する半導体装置である。
【0016】
上記各構成において、セレクタ回路は、第1メモリに保存されている正の符号を有する第1データを第2メモリに、負の符号を有する第1データを第3メモリに、振り分ける機能を有し、第2加算回路は、第2メモリに保存された正の符号を有する第1データと、第3メモリに保存された負の符号を有する第1データと、を加算し第2データを生成する機能を有し、第2データは、第1メモリと、カウンタ回路と、に与えられ、カウンタ回路は、第1アンダーフローフラグと、第2アンダーフローフラグとが与えられたときに、第1カウンタ、または第2カウンタの値を判断する機能を有し、第1カウンタ、または第2カウンタのいずれかが初期値の場合、第1加算回路は、第1メモリに保存された第2データを加算する機能を有する半導体装置が好ましい。
【0017】
上記各構成において、第2メモリ、および第3メモリは、ファーストインファーストアウトの機能を有する半導体装置が好ましい。
【0018】
上記各構成において、半導体装置は、第1ゼロインサーション回路と、第2ゼロインサーション回路と、を有している。第1アンダーフローフラグが出力され、且つ第2アンダーフローフラグが出力されていないとき、正の符号を有する第1データの代わりに、第1ゼロインサーション回路によってゼロの値が与えられる機能を有し、第2アンダーフローフラグが出力され、且つ第1アンダーフローフラグが出力されていないとき、負の符号を有する第1データの代わりに、第2ゼロインサーション回路によってゼロの値が与えられる機能を有する半導体装置が好ましい。
【0019】
ニューラルネットワークを有する半導体装置であって、ニューラルネットワークは、積和演算回路を有し、積和演算回路は、複数の乗算回路と、加算によるオーバーフローを抑制する第1回路と、を有している。第1回路は、第1メモリ、第2メモリ、第3メモリ、および第1加算回路を有し、乗算回路の出力データは、第1データとして第1メモリに与えられ、第2メモリ、および第3メモリは、ファーストインファーストアウトの機能を有している。第2メモリには、第1メモリが保存する正の符号を有する第1データが与えられ、第3メモリには、第1メモリが保存する負の符号を有する第1データが与えられ、第1加算回路は、第2メモリより読み出した正の符号を有する第1データと、第3メモリより読み出した負の符号を有する第1データと、を加算することで、加算によるオーバーフローを抑制する半導体装置である。
【0020】
上記各構成において、加算方法を有する半導体装置と、半導体装置が格納された筐体と、を有する電子機器が好ましい。
【0021】
ニューラルネットワークを有する半導体装置であって、ニューラルネットワークは、乗算回路を有し、乗算回路は、第1トランジスタ乃至第4トランジスタを有している。
乗算回路は、重み電位と、データ電位とを与えることで乗算結果を出力電流として出力する機能を有している。第1トランジスタは、第1トランジスタのゲートに第1電位が与えられることで第1電流を流す機能を有し、第2トランジスタは、第2トランジスタのゲートに第2電位が与えられることで第2電流を流す機能を有し、第3トランジスタは、第3トランジスタのゲートに第3電位が与えられることで第3電流を流す機能を有し、第4トランジスタは、第4トランジスタのゲートに第4電位が与えられることで第4電流を流す機能を有し、乗算回路は、第1電流から第2電流および第3電流を減算し、かつ第1電流に第4電流を加算することで出力電流を得る半導体装置である。
【0022】
上記各構成において、第1電位は、基準電位と、重み電位と、データ電位とが加算することで生成され、第2電位は、基準電位と、データ電位とが加算することで生成され、第3電位は、基準電位と、重み電位とが加算することで生成され、第4電位は、基準電位が与えられる半導体装置が好ましい。
【0023】
上記各構成において、乗算回路は、メモリセル、リファレンスセル、第1プログラミングセル、および第2プログラミングセルを有し、メモリセルは、第1トランジスタを有し、リファレンスセルは、第2トランジスタを有し、第1プログラミングセルは、第3トランジスタを有し、第2プログラミングセルは、第4トランジスタを有し、メモリセルには、第1電流に相当する第1電位が保持され、リファレンスセルには、第2電流に相当する第2電位が保持され、第1プログラミングセルには、第3電流に相当する第3電位が保持され、第2プログラミングセルには、第4電流に相当する第4電位が保持される半導体装置が好ましい。
【発明の効果】
【0024】
本発明の一態様は、符号付き整数型の加算方法を提供することができる。または、本発明の一態様は、符号付き整数型の加算方法を有する半導体装置を提供することができる。または、本発明の一態様は、ニューロンの演算を低電力化させる半導体装置を提供することができる。または、本発明の一態様は、新規なプログラムを提供することができる。または、本発明の一態様は、新規な計算方法を提供することができる。または、本発明の一態様は、新規な半導体装置を提供することができる。または、本発明の一態様は、新規な半導体装置の駆動方法を提供することができる。
【0025】
なお本発明の一態様の効果は、上記列挙した効果に限定されない。上記列挙した効果は、他の効果の存在を妨げるものではない。なお他の効果は、以下の記載で述べる、本項目で言及していない効果である。本項目で言及していない効果は、当業者であれば明細書または図面等の記載から導き出せるものであり、これらの記載から適宜抽出することができる。なお、本発明の一態様は、上記列挙した効果、および/または他の効果のうち、少なくとも一つの効果を有するものである。したがって本発明の一態様は、場合によっては、上記列挙した効果を有さない場合もある。
【図面の簡単な説明】
【0026】
【
図3】(A)加算方法を説明する図。(B)半導体装置を説明する回路図。
【発明を実施するための形態】
【0027】
以下、実施の形態について図面を参照しながら説明する。ただし、実施の形態は多くの異なる態様で実施することが可能であり、趣旨およびその範囲から逸脱することなくその形態および詳細を様々に変更し得ることは当業者であれば容易に理解される。したがって、本発明は、以下の実施の形態の記載内容に限定して解釈されるものではない。なお、ある一つの実施の形態の中で述べる内容(一部の内容でもよい)は、その実施の形態で述べる別の内容(一部の内容でもよい)、および/又は、一つ若しくは複数の別の実施の形態で述べる内容(一部の内容でもよい)に対して、適用、組み合わせ、又は置き換えなどを行うことができる。なお、ある一つの実施の形態において述べる図(一部でもよい)は、その図の別の部分、その実施の形態において述べる別の図(一部でもよい)、および/又は、一つ若しくは複数の別の実施の形態において述べる図(一部でもよい)に対して、組み合わせることにより、さらに多くの図を構成させることができる。
【0028】
また、図面において、大きさ、層の厚さ、または領域は、明瞭化のために誇張されている場合がある。よって、必ずしもそのスケールに限定されない。なお図面は、理想的な例を模式的に示したものであり、図面に示す形状または値などに限定されない。
【0029】
また、本明細書にて用いる「第1」、「第2」、「第3」という序数詞は、構成要素の混同を避けるために付したものであり、数的に限定するものではないことを付記する。
【0030】
また、本明細書において、「上に」、「下に」などの配置を示す語句は、構成同士の位置関係を、図面を参照して説明するために、便宜上用いている。また、構成同士の位置関係は、各構成を描写する方向に応じて適宜変化するものである。したがって、明細書で説明した語句に限定されず、状況に応じて適切に言い換えることができる。
【0031】
また、本明細書等において、トランジスタとは、ゲートと、ドレインと、ソースとを含む少なくとも三つの端子を有する素子である。そして、ドレイン(ドレイン端子、ドレイン領域またはドレイン電極)とソース(ソース端子、ソース領域又はソース電極)の間にチャネル領域を有しており、チャネル形成領域を介して、ソースとドレインとの間に電流を流すことができるものである。なお、本明細書等において、チャネル領域とは、電流が主として流れる領域をいう。
【0032】
また、ソースやドレインの機能は、異なる極性のトランジスタを採用する場合や、回路動作において電流の方向が変化する場合などには入れ替わることがある。このため、本明細書等においては、ソースやドレインの用語は、入れ替えて用いることができるものとする。
【0033】
また、本明細書等において、「電気的に接続」には、「何らかの電気的作用を有するもの」を介して接続されている場合が含まれる。ここで、「何らかの電気的作用を有するもの」は、接続対象間での電気信号の授受を可能とするものであれば、特に制限を受けない。例えば、「何らかの電気的作用を有するもの」には、電極や配線をはじめ、トランジスタなどのスイッチング素子、抵抗素子、インダクタ、キャパシタ、その他の各種機能を有する素子などが含まれる。
【0034】
また、本明細書等において、「平行」とは、二つの直線が-10°以上10°以下の角度で配置されている状態をいう。したがって、-5°以上5°以下の場合も含まれる。また、「垂直」とは、二つの直線が80°以上100°以下の角度で配置されている状態をいう。したがって、85°以上95°以下の場合も含まれる。
【0035】
また、本明細書等において、「膜」という用語と、「層」という用語とは、互いに入れ替えることが可能である。例えば、「導電層」という用語を、「導電膜」という用語に変更することが可能な場合がある。または、例えば、「絶縁膜」という用語を、「絶縁層」という用語に変更することが可能な場合がある。
【0036】
また、本明細書等において、特に断りがない場合、オフ電流とは、トランジスタがオフ状態(非導通状態、遮断状態、ともいう)にあるときのドレイン電流をいう。オフ状態とは、特に断りがない場合、nチャネル型トランジスタでは、ゲートとソースの間の電圧Vgsがしきい値電圧Vthよりも低い状態、pチャネル型トランジスタでは、ゲートとソースの間の電圧Vgsがしきい値電圧Vthよりも高い状態をいう。例えば、nチャネル型のトランジスタのオフ電流とは、ゲートとソースの間の電圧Vgsがしきい値電圧Vthよりも低いときのドレイン電流をいう場合がある。
【0037】
トランジスタのオフ電流は、Vgsに依存する場合がある。したがって、トランジスタのオフ電流がI以下である、とは、トランジスタのオフ電流がI以下となるVgsの値が存在することをいう場合がある。トランジスタのオフ電流は、所定のVgsにおけるオフ状態、所定の範囲内のVgsにおけるオフ状態、または、十分に低減されたオフ電流が得られるVgsにおけるオフ状態、等におけるオフ電流を指す場合がある。
【0038】
一例として、しきい値電圧Vthが0.5Vであり、Vgsが0.5Vにおけるドレイン電流が1×10-9Aであり、Vgsが0.1Vにおけるドレイン電流が1×10-13Aであり、Vgsが-0.5Vにおけるドレイン電流が1×10-19Aであり、Vgsが-0.8Vにおけるドレイン電流が1×10-22Aであるようなnチャネル型トランジスタを想定する。当該トランジスタのドレイン電流は、Vgsが-0.5Vにおいて、または、Vgsが-0.5V乃至-0.8Vの範囲において、1×10-19A以下であるから、当該トランジスタのオフ電流は1×10-19A以下である、という場合がある。当該トランジスタのドレイン電流が1×10-22A以下となるVgsが存在するため、当該トランジスタのオフ電流は1×10-22A以下である、という場合がある。
【0039】
また、本明細書等では、チャネル幅Wを有するトランジスタのオフ電流を、チャネル幅Wあたりを流れる電流値で表す場合がある。また、所定のチャネル幅(例えば1μm)あたりを流れる電流値で表す場合がある。後者の場合、オフ電流の単位は、電流/長さの次元を持つ単位(例えば、A/μm)で表される場合がある。
【0040】
トランジスタのオフ電流は、温度に依存する場合がある。本明細書において、オフ電流は、特に記載がない場合、室温、60℃、85℃、95℃、または125℃におけるオフ電流を表す場合がある。または、当該トランジスタが含まれる半導体装置等の信頼性が保証される温度、または、当該トランジスタが含まれる半導体装置等が使用される温度(例えば、5℃乃至35℃のいずれか一の温度)におけるオフ電流、を表す場合がある。トランジスタのオフ電流がI以下である、とは、室温、60℃、85℃、95℃、125℃、当該トランジスタが含まれる半導体装置等の信頼性が保証される温度、または、当該トランジスタが含まれる半導体装置等が使用される温度(例えば、5℃乃至35℃のいずれか一の温度)、におけるトランジスタのオフ電流がI以下となるVgsの値が存在することを指す場合がある。
【0041】
トランジスタのオフ電流は、ドレインとソースの間の電圧Vdsに依存する場合がある。本明細書において、オフ電流は、特に記載がない場合、Vdsが0.1V、0.8V、1V、1.2V、1.8V、2.5V、3V、3.3V、10V、12V、16V、または20Vにおけるオフ電流を表す場合がある。または、当該トランジスタが含まれる半導体装置等の信頼性が保証されるVds、または、当該トランジスタが含まれる半導体装置等において使用されるVdsにおけるオフ電流、を表す場合がある。トランジスタのオフ電流がI以下である、とは、Vdsが0.1V、0.8V、1V、1.2V、1.8V、2.5V、3V、3.3V、10V、12V、16V、20V、当該トランジスタが含まれる半導体装置等の信頼性が保証されるVds、または、当該トランジスタが含まれる半導体装置等において使用されるVds、におけるトランジスタのオフ電流がI以下となるVgsの値が存在することを指す場合がある。
【0042】
上記オフ電流の説明において、ドレインをソースと読み替えてもよい。つまり、オフ電流は、トランジスタがオフ状態にあるときのソースを流れる電流をいう場合もある。
【0043】
また、本明細書等では、オフ電流と同じ意味で、リーク電流と記載する場合がある。また、本明細書等において、オフ電流とは、例えば、トランジスタがオフ状態にあるときに、ソースとドレインとの間に流れる電流を指す場合がある。
【0044】
なお、電圧とは2点間における電位差のことをいい、電位とはある一点における静電場の中にある単位電荷が持つ静電エネルギー(電気的な位置エネルギー)のことをいう。ただし、一般的に、ある一点における電位と基準となる電位(例えば接地電位)との電位差のことを、単に電位もしくは電圧と呼び、電位と電圧が同義語として用いられることが多い。このため、本明細書では特に指定する場合を除き、電位を電圧と読み替えてもよいし、電圧を電位と読み替えてもよいこととする。
【0045】
(実施の形態1)
本実施の形態では、オーバーフローを抑制する加算方法と、該加算方法の機能を有する半導体装置について、
図1乃至
図4を用いて説明する。
【0046】
AI、例えば、ディープラーニング(深層学習)では、機械学習を用いることで様々な情報(画像、音声、ビッグデータなど)から特徴を学習することができる。ただし、学習するためには、大量のデータの乗算、加算、および減算などの演算処理を必要とする。したがってAIでは、ニューラルネットワークを有する半導体装置を用いて演算することが、学習速度、または消費電力の面において好ましい。例えば、ニューラルネットワークは、人間の脳に模したニューロンを有していることが知られている。ニューロンの動作は、積和演算機能に置き換えることができる。つまりニューロンの機能を実現するためには積和演算回路を用いることが好ましい。ただし、演算の一部は、ソフトウェア(プログラム)によって計算してもよい。
【0047】
積和演算回路は、複数の乗算回路と、乗算結果である正の整数、または負の整数を加算する加算回路を有している。積和演算回路の一例としては、符号付き浮動小数点による演算を行う回路、もしくは符号付き整数による演算を行う回路が好ましい。ただし、符号付き浮動小数点による演算を用いることで、より正確な情報の特徴を抽出することができるが、積和演算回路の規模が大きくなり、消費電力も大きくなる。符号付き整数による演算では、積和演算回路の構成をより小さくすることができる。積和演算回路を小さくすることで、積和演算回路を有する半導体装置も小さくなり、電力の消費を抑えることができる。
【0048】
符号付き整数の演算では、正の整数、または負の整数を加算するときに、加算の順番によっては加算回路で桁あふれ(オーバーフロー)してしまうことがある。ただし加算の順番によっては、オーバーフローはせず、加算回路の桁数の範囲で解を得ることができる。つまり大量なデータ数を扱う加算回路では、オーバーフロー抑制が正しい演算結果を得るために重要である。本実施の形態では、オーバーフローを抑制する加算方法と、該加算方法を用いた半導体装置と、それらのプログラム(ソフトウェア)について説明する。
【0049】
まず、オーバーフローを抑制する加算方法について
図1(A)を用いて説明する。
図1(A)では、一例としてメモリM1、メモリM2、メモリM3、およびメモリM4を有している。ここでは、説明のために、メモリM4を用いるが、メモリM4の代わりに、メモリM1を再使用してもよい。またメモリM1およびメモリM4の代わりにレジスタを用いてもよい。なお、メモリM1、メモリM2、メモリM3、または、メモリM4は、それぞれ別のメモリチップに設けられていてもよいし、少なくとも2個が、同一のメモリチップに設けられていてもよい。または、メモリM1、メモリM2、メモリM3、およびメモリM4が、同一のメモリチップに配置されており、それぞれ異なる記憶領域に割り当てられていてもよい。
【0050】
図1(A)に示すように、ST1からST5までのステップを有している。まず、
図1(A)のステップST1において、メモリM1には、センサ、出力回路、またはCPUなどから入力データIN1乃至IN9としてデータ群1が与えられる例を示している。ここでデータ群1について説明をする。データ群1は、複数の範囲に分類できることが好ましい。例えば、範囲Aは、0(ゼロ)の値であり、範囲Bは、正の整数の値であり、範囲Cは負の整数の値である。
【0051】
メモリM1に与えられるデータ群1のうちの1個のデータの値は、例えば、“A”がゼロを表しており、“B1”が正の値を表しており、“C1”が負の値を表している。つまり、正の整数は、範囲Bの範囲内の値を持つ数値であり、”B1”、”B2”、”B3”などのように、頭文字に”B”を付けて示す。”B”の後に付ける数値は、値を表しているのではなく、データを区別するための符号を表している。同様に、負の整数は、範囲Cの範囲内の値を持つ数値であり、”C1”、”C2”、”C3”、”C4”などのように、頭文字に”C”を付けて示す。”C”の後に付ける数値は、データを区別するための符号を表している。
【0052】
次に、ステップST2において、メモリM2には、メモリM1に保存された正の符号を有する範囲Bのデータが保存される。例えば、範囲Bのデータである”B1”、”B2”、および、”B3”が、メモリM2に保存される。メモリM3には、メモリM1に保存された負の符号を有する範囲Cのデータが保存される。例えば、範囲Cのデータである”C1”、”C2”、”C3”、および、”C4”が、メモリM3に保存される。ただし、メモリM1に保存されたデータ群1のうちデータがゼロの場合は、そのデータを破棄してもよい。もしくは、メモリM2、またはメモリM3のいずれかにそのデータを与えてもよい。なお、メモリM2およびメモリM3にデータ群1が保存された後には、メモリM1は、範囲Aのデータで初期化することが好ましい。したがってメモリM1はリセット機能を有していることが好ましい。例えば、メモリM1がレジスタ構造である場合には、リセット機能を実装するのが容易である。ただし、メモリM1に新たなデータが保存されるときに、値を上書きできる場合には、メモリM1はリセット機能を必ずしも有していなくてもよい。
【0053】
次に、ステップST3において、正の符号を有するデータが保存されたメモリM2、または、負の符号を有するデータが保存されたメモリM3の、各々のメモリからデータを読み出して加算する。
【0054】
例えばメモリM2から“B1”のデータ、メモリM3から“C1”のデータを読み出して加算する。したがって、正の符号を有する”B1”と、負の符号を有する“C1”とを加算する。加算結果は、“B1”あるいは“C1”よりも、よりゼロに近い数値になる。つまり、加算結果の絶対値は、”B1”よりも小さくなる。または、加算結果の絶対値は、”C1”の絶対値よりも小さくなる。例えば、“B1”のデータの絶対値の方が“C1”のデータの絶対値よりも大きい場合には、加算結果は、正の符号を有する“B11”のデータになる。
【0055】
ここで、“B11”について説明をする。“B11”は、メモリM2に保存される正の整数“B1”と、メモリM3に保存される負の整数“C1”を加算した結果が、範囲Bの範囲内の値を持つ数値であることを示し、”B11”、”B12”、”B13”などのように、”B”の後に付ける二けたの数値は、データを区別するための符号を表している。
【0056】
また、正の符号を有する“B2”と、負の符号を有する“C2”と、を加算すると、加算結果は、“B2”あるいは“C2”よりも、よりゼロに近い数値になる。つまり、加算結果の絶対値は、”B2”よりも小さくなる。または、加算結果の絶対値は、”C2”の絶対値よりも小さくなる。例えば、それぞれのデータの絶対値の大きさが同じ場合には、加算結果がゼロとなり“A”のデータになる。また、正の符号を有する“B3”と、負の符号を有する“C3”と、を加算すると、加算結果は、“B3”あるいは“C3”よりも、よりゼロに近い数値になる。つまり、加算結果の絶対値は、”B3”よりも小さくなる。または、加算結果の絶対値は、”C3”の絶対値よりも小さくなる。例えば、“C3”のデータの絶対値の方が“B3”のデータの絶対値よりも大きい場合には、加算結果は、負の符号を有する“C11”のデータになる。また、メモリM3には、“C4”のデータがあるにもかかわらず、メモリM2には加算するべきデータがない。このように、データがないときは、代わりのデータとして“A”のデータを代入し、“A”と“C4”とを加算する。したがって加算結果は、“C4”のデータになる。または、加算するべきデータがない場合には、“C4”のデータをそのまま加算結果とする。
【0057】
ここで、“C11”について説明をする。“C11”は、メモリM2に保存される正の整数“B3”と、メモリM3に保存される負の整数“C3”を加算した結果が、範囲Cの範囲内の値を持つ数値であることを示し、”C11”、”C12”、”C13”などのように、”C”の後に付ける二けたの数値は、データを区別するための符号を表している。
【0058】
このように、加算結果は、データ群2としてメモリM4に保存される。このとき、データ群2をメモリM1に保存してもよい。メモリM1に保存することで、回路の規模をより小さくすることができ、消費電力も小さくすることができる。なお、メモリM1に保存する場合には、ステップST1の場合よりも、データ数が少なくなっている。そのため、前述したように、メモリM1にデータを保存する前に、メモリM1のデータを初期化しておくことが好ましい。
【0059】
データ群2には、正の符号を有するデータと、負の符号を有するデータと、ゼロのデータとを含んでいる。メモリM4にデータを保存するとき、正の符号を有するデータの数と、負の符号を有するデータの数と、を各々カウントしておくことが好ましい。このとき、カウンタCNPは正の符号を有するデータの数をカウントし、カウンタCNMは負の符号を有するデータの数をカウントする。例えば、ST3では、カウント値がカウンタCNP=1、カウンタCNM=2になる。なお、カウンタCNP、カウンタCNMは、任意のタイミングおよび初期値で初期化できることが好ましい。
【0060】
メモリM2、またはメモリM3から、メモリM4にデータを保存したとき、カウンタCNP、またはカウンタCNMのカウンタ値を判定する。カウンタCNP、またはカウンタCNMのいずれかが初期値のまま更新されていなければ、メモリM4に保存されたデータ群2を全て加算することができる。そして、その場合には、全て加算をした後で、計算処理が終了となる。
【0061】
カウンタCNPおよびカウンタCNMが更新されている場合は、次のステップST4において、メモリM4に保存されたデータ群2について、正の符号を有するデータをメモリM2、負の符号を有するデータをM3に保存することができる。例えば、メモリM2には、範囲Bのデータである正の符号を有するデータの“B11”が保存される。また、メモリM3には、範囲Cのデータである負の符号を有するデータの“C11”および“C4”が保存されている。なお、図ではメモリM2に保存されているが、別のメモリ、例えば、メモリM5に保存されてもよい。同様に、図ではメモリM3に保存されているが、別のメモリ、例えば、メモリM6に保存されてもよい。なお、メモリM2に保存する場合には、ステップST2の場合よりも、データ数が少なくなっている。そのため、メモリM2にデータを保存する前に、メモリM2のデータを初期化しておくことが好ましい。また、メモリM3のデータを初期化しておくことが好ましい。
【0062】
次に、ステップST5において、メモリM2から“B11”のデータ、メモリM3から“C11”のデータを読み出して加算する。つまり、正の符号を有する“B11”と、負の符号を有する“C11”とを加算する。加算結果は、“B11”あるいは“C11”よりも、よりゼロに近い数値になる。つまり、加算結果の絶対値は、”B11”よりも小さくなる。または、加算結果の絶対値は、”C11”の絶対値よりも小さくなる。例えば、“C11”のデータの絶対値の方が“B11”のデータの絶対値よりも大きい場合には、加算結果は、負の符号を有する“C111”のデータになる。続いて、メモリM3には、“C4”のデータがあるにもかかわらず、メモリM2には加算するべきデータがないときは、代わりのデータとして“A”のデータを代入し、“A”と“C4”とを加算する。または、“C4”をそのまま加算結果とする。したがって加算結果は、“C4”のデータになる。
【0063】
ここで、“C111”について説明をする。“C111”は、メモリM2に保存される正の整数“B11”と、メモリM3に保存される負の整数“C11”が加算された結果が、範囲Cの範囲内の値を持つ数値であることを示し、”C111”、”C112”、”C113”などのように、”C”の後に付ける三けたの数値は、データを区別するための符号を表している。
図1(A)では例示していないが、メモリM2に保存される正の符号を有するデータと、メモリM3に保存される負の符号を有するデータが加算された結果が、範囲Bの範囲内の値を持つ数値の場合、”B111”、”B112”、”B113”などのように表記し、”B”の後に付ける三けたの数値は、データを区別するための符号を表している。
【0064】
加算結果は、データ群3としてメモリM4に保存される。このとき、データ群3をメモリM1に保存してもよい。なお、メモリM1に保存する場合には、メモリM1のデータを初期化しておくことが好ましい。メモリM1に保存することで、回路の規模をより小さくすることができ、消費電力も小さくすることができる。なお、メモリM4に保存する場合には、ステップST3の場合よりも、データ数が少なくなっている。そのため、前述したように、メモリM4にデータを保存する前に、メモリM4のデータを初期化しておくことが好ましい。
【0065】
例えば、ST5では、カウント値がカウンタCNP=0、カウンタCNM=2になる。よってカウンタCNPが初期値のまま更新されていないためメモリM4に保存されたデータ群3を全て加算し、演算処理が終了となる。
【0066】
上記のような加算方法を用いることで、複数の符号付きデータを加算するときに発生するオーバーフローを抑制することができる。オーバーフローを抑制することで、加算処理によるデータの劣化を抑制することができる。なお、
図1(A)において、ステップST2やステップST4のように、メモリM2およびメモリM3にデータを一旦保存したが、本発明の一態様は、これに限定されない。例えば、メモリM1またはメモリM4から、入力範囲Bのデータと入力範囲Cのデータからそれぞれデータを選んで、加算を行い、メモリM4に保存してもよい。
【0067】
図1(B)では、
図1(A)で説明した加算方法(ステップST1からステップST5)に、実際の数字を与えた例を示している。まず、ステップST11において、メモリM1には、IN1乃至IN9からデータ群1が与えられた例を示している。メモリM1には、一例として、“-1”、“-3”、“2”、“3”、“0”、“0”、“-3”、“-1”、“1”が与えられている。
図1(A)では説明しなかったが、カウンタCNP、カウンタCNMを用いてカウント値を管理してもよい。例えば、
図1(B)のステップST11では、カウンタCNP=3、カウンタCNM=4を示している。
【0068】
一例として、範囲Bには、正の整数1乃至3の範囲が与えられ、範囲Cには、負の整数-1乃至-3の範囲が与えられる。つまり、範囲B、もしくは範囲Cを超えた場合(-3より小さく、3より大きい)は、桁あふれ(オーバーフロー)とする。例えば、メモリM1に保存されているデータの順番に“-1”、“-3”を加算したときは、加算結果が“-4”となりオーバーフローすることになる。しかし、
図1(A)および
図1(B)に示すように、正の符号を有する整数と、負の符号を有する整数と、を加算する方法では、加算結果がゼロに近づくようになるため、オーバーフローの発生を抑制することができる。
【0069】
次に、ステップST12において、メモリM2には、メモリM1に保存された正の符号を有するデータが保存される。メモリM3には、メモリM1に保存された負の符号を有するデータが保存される。つまりメモリM2には、“2”、“3”、“1”が保存される。また、メモリM3には、“-1”、“-3”、“-3”、“-1”が保存される。
【0070】
次に、ステップST13において、正の符号を有するデータが保存されたメモリM2、または、負の符号を有するデータが保存されたメモリM3の、各々のメモリからデータを読み出して加算する。つまり、メモリM2に保存された“2”と、メモリM3に保存された“-1”とが加算される。加算結果“1”がメモリM4に保存される。続いて、メモリM2に保存された“3”と、メモリM3に保存された“-3”と、が加算される。加算結果“0”がメモリM4に保存される。続いて、メモリM2に保存された“1”と、メモリM3に保存された“-3”と、が加算される。加算結果“-2”がメモリM4に保存される。続いて、メモリM2には保存されたデータがないため、代わりにゼロが与えられ、メモリM3に保存された“-1”と、が加算される。または、メモリM3に保存された“-1”がそのまま出力される。加算結果“-1”がメモリM4に保存される。なお、加算結果“0”の場合は、メモリM4に保存しなくてもよい。
【0071】
このとき、正の符号を有する整数のカウンタ値はカウンタCNP=1、負の符号を有する整数のカウンタ値はカウンタCNM=2を示している。したがって、再度、加算するために、メモリM4からメモリM2およびメモリM3にデータを振り分けて保存する。
【0072】
次に、ステップST14において、メモリM2には、“1”が保存され、メモリM3には、“-2”、“-1”が保存される。
【0073】
次に、ステップST15において、メモリM2に保存された“1”と、メモリM3に保存された“-2”とが加算される。加算結果“-1”がメモリM4に保存される。続いて、メモリM2には保存されたデータがないため、代わりにゼロが与えられ、メモリM3に保存された“-1”と、が加算される。または、メモリM3に保存された“-1”がそのまま出力される。加算結果“-1”がメモリM4に保存される。
【0074】
ST15では、カウント値がカウンタCNP=0、カウンタCNM=2になる。よってカウンタCNPが初期値のまま更新されていないためメモリM4に保存されたデータを全て加算する。その結果、加算結果“-2”を算出することができる。したがって、正の符号を有する整数と負の符号を有する整数とを順に組み合わせて加算することで、オーバーフローによるデータの劣化を抑制し、正しい解を算出することができる加算方法である。
【0075】
図2(A)は、
図1(A)で示した加算方法の機能を有する加算回路10について説明する回路図である。加算回路10は、セレクタ20、メモリ21、カウンタ22、制御回路23、セレクタ24、メモリ24a、メモリ24b、制御回路25、ゼロインサーション回路26a、ゼロインサーション回路26b、加算回路27、加算回路28、およびゲート回路29を有している。カウンタ22は、カウンタCNP22a、およびカウンタCNM22bを有している。また加算回路10は、信号線DI、信号線DR、信号線DA、信号線DA1、信号線DA2、信号線DAP、信号線DAM、信号線FO1、信号線FO2、信号線FOUT1、信号線FOUT2、信号線DO、信号線SEL1、信号線SEL2、信号線WEP、信号線WEM、信号線UFP、信号線UFM、信号線REP、信号線REM、信号線WER、信号線FC、信号線DUF、信号線MB1、信号線MB2、信号線WE、信号線IRQ、および信号線ACKを有している。
【0076】
セレクタ20は、信号線DAを介してメモリ21と電気的に接続されている。また、セレクタ20は、信号線DIを介してカウンタ22と電気的に接続され、さらに信号線SEL1を介してゲート回路29と電気的に接続されている。
【0077】
メモリ21は、信号線DA1を介してセレクタ24と電気的に接続されている。セレクタ24は、信号線DAPを介してメモリ24aと電気的に接続され、さらに信号線DAMを介してメモリ24bと電気的に接続されている。
【0078】
制御回路23は、信号線DA1を介してメモリ21と電気的に接続されている。また、制御回路23は、信号線SEL2を介してセレクタ24と電気的に接続されている。また、制御回路23は、信号線WEPを介してメモリ24aと電気的に接続され、さらに信号線WEMを介してメモリ24bと電気的に接続されている。
【0079】
メモリ24aは、信号線FO1を介してゼロインサーション回路26aと電気的に接続されている。メモリ24bは、信号線FO2を介してゼロインサーション回路26bと電気的に接続されている。
【0080】
制御回路25は、信号線UFP、および信号線REPを介してメモリ24aと電気的に接続され、さらに信号線UFM、および信号線REMを介してメモリ24bと電気的に接続されている。制御回路25は、信号線MB1を介してゼロインサーション回路26aと電気的に接続され、さらに信号線MB2を介してゼロインサーション回路26bと電気的に接続され、制御回路25は、信号線DUFを介してカウンタ22と電気的に接続され、さらに信号線WERを介して加算回路27、およびゲート回路29と電気的に接続されている。
【0081】
加算回路27は、信号線FOUT1を介してゼロインサーション回路26aと電気的に接続され、さらに信号線FOUT2を介してゼロインサーション回路26bと電気的に接続される。加算回路27は、信号線DRを介してセレクタ20およびカウンタ22と電気的に接続される。
【0082】
信号線IRQは、カウンタ22、および制御回路23と電気的に接続される。また、加算回路10は、信号線ACK、および信号線DOを出力する。
【0083】
次に、各々の機能について説明する。セレクタ20は、信号線SEL1に与えられる信号によって、入力データDIまたは加算回路27の出力DRのいずれか一を選択し信号線DAに出力することができる。信号線SEL1に与えられる信号は、メモリ21に書くための信号線WEまたは加算回路27の出力DRを書くための信号線WERによって生成される。なお、メモリ21は、
図1のメモリM1に相当する。
【0084】
メモリ21は、DRAM(Dynamic Random Access Memory)、またはSRAM(Static Random Access Memory)等の保存回路を用いてもよいし、もしくは、レジスタで構成されていてもよい。メモリ21は、リセット機能もしくは、読み出しリセットの機能を有していることが好ましい。リセット機能とは、メモリが保存している全てのデータを任意のタイミングで任意の初期値にすることができる。また、読み出しリセットとは、アクセスしたメモリ番地のデータを読み出す場合、読み出した後に初期化する機能である。
【0085】
カウンタ22は、信号線DIに与えられるデータまたは信号線DRに与えられるデータの各々について、正の符号を有する整数をカウントするカウンタCNP22aと、負の符号を有する整数をカウントするカウンタCNM22bと、を有している。カウンタ22は、リセット機能と、イネーブルの機能を有していることが好ましい。また信号線DUFに与えられる信号によってカウンタ22がリセットされることが好ましい。また信号線IRQに与えられる信号が、カウンタ22をイネーブル状態にし、カウンタ22がイネーブル状態となることでカウントアップを開始する。
【0086】
制御回路23は、メモリ21に保存されたデータを、セレクタ24を介してメモリ24aおよびメモリ24bに移動させることができる。制御回路23は、信号線SEL2に与える信号によって、メモリ21に保存されたデータをメモリ24aまたはメモリ24bに振り分けることができる。例えば、制御回路23は、メモリ21から移動するデータが正の符号を有する場合、信号線DAPを介してメモリ24aに保存することができる。また、制御回路23は、メモリ21から移動するデータが負の符号を有する場合、信号線DAMを介してメモリ24bに保存することができる。また、制御回路23は、信号線DA1のデータがゼロのとき、ゼロのデータを廃棄する機能を有していることが好ましい。
【0087】
メモリ21、メモリ24a、およびメモリ24bは、ファーストインファーストアウトの機能を有していることが好ましい。メモリ21、メモリ24a、およびメモリ24bは、データがないときにアンダーフローフラグを出力することができる。ファーストインファーストアウトの機能を有することで、読み出しリセットの機能が付加される。
図2では、メモリ24aおよびメモリ24bがファーストインファーストアウトの機能を有しているとして説明を進める。また、メモリ21、メモリ24a、およびメモリ24bのメモリの大きさは適宜決めればよいが、メモリ24aおよびメモリ24bよりも、メモリ21が大きい方が好ましい。なお、メモリ24aは、
図1のメモリM2に相当し、メモリ24bは、
図1のメモリM3に相当する。
【0088】
制御回路25は、メモリ24aが信号線UFPに出力するアンダーフローフラグおよびメモリ24bが信号線UFMに出力するアンダーフローフラグの状態を監視することができる。また、メモリ24aおよびメモリ24bからデータを読み出して加算回路27へ与え加算させることができる。ただし、メモリ24aが信号線UFPにアンダーフローフラグを出力している場合、ゼロインサーション回路26aが代替えデータとしてゼロを出力する。同様に、メモリ24bが信号線UFMにアンダーフローフラグを出力している場合、ゼロインサーション回路26bが代替えデータとしてゼロを与える。
【0089】
加算回路の結果は、信号線DRを介して、メモリ21に保存される。このとき、カウンタ22は、加算結果が正の符号を有するならばカウンタCNP22aをカウントアップし、加算結果が負の符号を有するならばカウンタCNM22bをカウントアップする。メモリ24a、およびメモリ24bが共にアンダーフローフラグを出力すると、制御回路25は、信号線DUFに信号を出力する。カウンタ22は、信号線DUFに与えられた信号によって、カウンタCNP22a、およびカウンタCNM22bを停止し、且つ判定する。判定結果は、信号線FCを介して制御回路23、および加算回路28に通知される。通知される判定結果とは、第一の結果としてカウンタCNP22a、またはカウンタCNM22bのいずれかがアンダーフローしたか、第二の結果としてアンダーフローしていない方のカウンタのカウント値であることが好ましい。
【0090】
カウンタ22は、カウンタCNP22a、またはカウンタCNM22bのいずれかが初期値のままであれば、メモリ21に保存されたデータが同じ符号(ゼロを含む)であると判断することができる。カウンタCNP22a、またはカウンタCNM22bのいずれかが初期値のとき、加算回路28は、信号線DA2を介してデータを読み出して加算する。演算終了後、加算回路28は、信号線ACKに与える信号によって演算が終了したことをCPUなどに通知することができる。このとき、信号線DOには、加算結果が出力しているが、情報を保持するためにラッチしていることが好ましい。さらに、信号線DO、信号線ACKは、読み出しリセット機能を有していることが好ましい。
【0091】
カウンタCNP22a、およびカウンタCNM22bがカウントアップしている場合は、メモリ21に異なる符号を有するデータが保存されていると判断することができる。その場合は、制御回路23によって加算の演算を再度実行する。
【0092】
よって、CPUなどの周辺回路は、加算回路10に対し加算したい複数のデータをメモリ21に保存し、さらに信号線IRQに信号を与えることで加算回路10の演算処理を開始させる。加算回路10は、演算が終了すると信号線ACKに信号を与えることでCPUなどの周辺回路に演算終了を通知する。つまり、データをセットし、演算コマンドを実行することで、演算結果を得ることができる。加算回路10が演算している期間は、CPUなどの周辺回路は、異なる処理をすることができる。また、正の整数と、負の整数とを加算することでオーバーフローを抑制し、さらに、演算結果がゼロのデータを破棄することで演算量を減らすことができる加算方法を有する加算回路10を有する半導体装置である。
【0093】
図2(B)は、ゼロインサーション回路26(ゼロインサーション回路26aと26b)を詳細に説明する回路図である。ゼロインサーション回路26は、複数のゲート回路26cと、スイッチSW0、スイッチSW1を有している。ゲート回路26cは、2つの入力端子と、一つの出力端子を有している。ゲート回路26cの出力端子は、信号線FOUT[n:0]のいずれか一と電気的に接続されている。また、ゲート回路26cの一方の入力端子は、信号線FO[n:0]のいずれか一と電気的に接続されている。他方の入力端子は、スイッチSW0の電極の一方、およびスイッチSW1の電極の一方と電気的に接続されている。スイッチSW0の電極の他方は、配線Vddと電気的に接続され、配線Vddには、加算回路10の高い電源電圧が与えられていることが好ましい。スイッチSW1の電極の他方は配線Vssと電気的に接続され、配線Vssには、加算回路10の低い電源電圧、例えばGNDが与えられていることが好ましい。
【0094】
スイッチSW0およびスイッチSW1は、信号線MBに与えられる信号によって制御される。またスイッチSW0およびスイッチSW1は、排他的に動作することが好ましい。ゲート回路26cは、信号線MBに与えられる信号によってスイッチSW0をオン状態にし、同じ期間スイッチSW1をオフ状態にすることができる。信号線FOに与えられた信号と同じ信号を出力端子に出力することができる。また、ゲート回路26cは、信号線MBに与えられる信号によってスイッチSW0をオフ状態にし、同じ期間スイッチSW1をオン状態にすることができる。したがって、信号線FOUTには、ゼロが与えられる。つまりゲート回路26cは、信号線FOに与えられた任意のデータをゼロに変換することができる。
【0095】
本発明の一態様は、上述した加算回路に限定されない。例えば、プログラムを用いて実現してもよい。つまり、ハードウェアではなく、ソフトウェアによって、本発明の一態様の加算方法を実施してもよい。
【0096】
図3(A)は、
図1(A)と異なる構成を有するオーバーフローを抑制する加算方法について説明する図である。
【0097】
図3(A)では、メモリM5、メモリM6を有していることが
図1(A)と異なっている。
図1(A)と異なり、入力データ、または演算後のデータをさらに細かな複数の範囲に分類することができる点が異なっている。例えば、正の整数が分類される範囲は、範囲B、および範囲BBに分けることができる。範囲BBは、範囲Bよりも大きな値を有している。また負の整数が分類される範囲は、範囲C、および範囲CCに分けることができる。範囲CCは、範囲Cよりも小さな値を有している。このように細かな分類を有することで、加算するときに、加算結果がより小さな値になるようにすることができる。したがって加算するときのオーバーフローの発生をさらに抑制することができる。
【0098】
図3(B)は、
図2(A)と異なる構成を有する半導体装置を説明する回路図である。加算回路10aは、制御回路30、セレクタ31、メモリ31a乃至メモリ31d、制御回路32、ゼロインサーション回路33a、ゼロインサーション回路33b、を有している点が加算回路10と異なっている。紙面の都合上、メモリ31b、メモリ31cの表示は省略している。また加算回路10aは、信号線DAP1、信号線DAP2、信号線DAM1、信号線DAM2、信号線FO1、信号線FO2、信号線FO3、信号線FO4、信号線WEP1、信号線WEP2、信号線WEM1、信号線WEM2、信号線UFP1、信号線UFP2、信号線UFM1、号線UFM2、信号線REP1、信号線REP2、信号線REM1、および信号線REM2を有している点が加算回路10と異なっている。
【0099】
制御回路30は、メモリ31a乃至メモリ31d(メモリ31b、メモリ31cは図示せず)に対応した点が制御回路23と異なっている。セレクタ31は、メモリ31a乃至メモリ31dに対応した点がセレクタ24と異なっている。メモリ31aは、範囲BBの範囲内のデータが保存され、メモリ31bは、範囲Bの範囲内のデータが保存され、メモリ31cは、範囲Cの範囲内のデータが保存され、メモリ31dは、範囲CCの範囲内のデータが保存される。制御回路32は、メモリ31a乃至メモリ31dに対応した点が制御回路25と異なっている。ゼロインサーション回路33aは、信号線FO1、信号線FO2に対応した点がゼロインサーション回路26aと異なっている。ゼロインサーション回路33bは、信号線FO3、信号線FO4に対応した点がゼロインサーション回路26bと異なっている。
【0100】
図3(B)に示すように、加算処理において、オーバーフローをさらに抑制するためには、入力範囲を細かく管理するメモリを追加することが好ましい。オーバーフローが抑制されるため、さらに正確な演算をすることができる。
【0101】
図4(A)は、
図1(A)と異なる構成を有するオーバーフローを抑制する加算方法について説明する図である。
図4(A)は、ステップST31からステップST33までの例を示す。
図1(A)では、正の符号を有する整数と、負の符号を有する整数とで、分類を行っていた。一方、
図4(A)では、ステップST32において、正の符号を有する整数、負の符号を有する整数を、単に分類するだけでなく、絶対値の大きな値順に並べ替えることができる。符号の異なる値で、絶対値の大きな値順に加算する。これにより、2つの値の加算結果が、ゼロに近くなる。その結果、オーバーフローにより計算精度を低下させることなく、より速く加算処理をすることができる。
【0102】
なお、
図4(A)では、メモリM2とメモリM3とに分けて保存されているが、本発明の一態様は、これに限定されない。例えば、正の符号を有する整数と、負の符号を有する整数とを分類せずに保存してもよい。例えば、メモリM2に、最も大きい値から最も小さい値までを保存してもよい。例えば、
図4(B)に示すように、 “3”、“2”、“1”、“0”、“0”、“-1”、“-1”、“-3”、“-3”、の順序で、メモリM2に保存してもよい。そして、最も大きな値と、最も小さな値とで、順に加算する。例えば、“3”と“-3”とを加算し、その後、”2”と“-3”とを加算し、次に、”1”と“-1”とを加算し、その次に、”0”と“-1”とを加算する。このような処理を行うことにより、正の符号を有する整数と、負の符号を有する整数とで、それぞれの個数が大きく異なる場合においても、素早く処理を行うことができる。なお、
図4(B)では、メモリM2にデータを保存した後で、加算するが、本発明の一態様は、これに限定されない。例えば、メモリM1から、適切な数値を取り出して、順次、最も大きな値と、最も小さな値とを加算してもよい。
【0103】
また、
図4(B)のような場合には、符号なしの整数を加算する場合においても、オーバーフローによる計算精度の低下を低減することができる。つまり、正の符号を有する整数のみ(ゼロを含んでいてもよい)、または、負の符号を有する整数のみ(ゼロを含んでいてもよい)の場合において、
図4(B)と同様に、最も大きい値から最も小さい値までを保存し、その後、最も大きな値と、最も小さな値とで、順に加算してもよい。なお、ここでは、メモリM2にデータを保存した後で、加算するが、本発明の一態様は、これに限定されない。例えば、メモリM1から、適切な数値を取り出して、順次、最も大きな値と、最も小さな値とで、加算してもよい。
【0104】
なお、
図1(A)のステップST5、
図1(B)のステップST15、
図3(A)のステップST25などでは、
図4(B)と同様な方法を用いて符号なしの整数を加算することができる。異なる例として、正の符号を有する整数のみを加算する場合、または、負の符号を有する整数のみを加算する場合にも、
図4(B)と同様な方法を用いて符号なしの整数を加算することができる。
【0105】
本実施の形態は、他の実施の形態の一部または全部について、変更、追加、修正、削除、応用、上位概念化、又は、下位概念化したものに相当する。したがって、本実施の形態の一部または全部について、他の実施の形態の一部または全部と自由に組み合わせ、又は置き換えて実施することができる。
【0106】
(実施の形態2)
本実施の形態では、オーバーフローを抑制することができる加算回路を有する半導体装置ついて、
図5乃至
図13を用いて説明する。
【0107】
図5(A)は、ニューラルネットワークを備える半導体装置80を示すブロック図である。半導体装置80は、一例としては、CPU81、メモリ82、撮像装置83、ニューラルネットワーク84、ディスプレイコントローラ85a、表示装置85b、および入出力バス86を有している。CPU81、メモリ82、撮像装置83、ニューラルネットワーク84、およびディスプレイコントローラ85aは、入出力バス86を介して接続されている。ただし、撮像装置83は、入出力バス86を介さずにニューラルネットワーク84と電気的に接続されてもよく、ニューラルネットワーク84は、入出力バス86を介さずにディスプレイコントローラ85aと電気的に接続されてもよい。
【0108】
図5(B)は、一例として、撮像装置83がニューラルネットワーク84に接続され、ニューラルネットワーク84が、CPU81にデータを出力する構成例を示している。ニューラルネットワーク84は、乗算セルブロック84a、およびドライバ84dを有している。乗算セルブロック84aは、複数のニューロン84bを有している。各々のニューロン84bは、一例としては、複数の乗算セル11、複数のリファレンスセル12、演算回路13、および
図2(A)で説明した加算回路10を有している。なお、ソフトウェア、または、プログラムで加算する場合には、加算回路10は設けなくてもよい。
【0109】
図5(C)は、ニューロン84bを説明する図である。ニューロン84bは、一例としては、乗算回路40、および変換回路15を有している。なお、変換回路15は、必ずしも有していなくてもよい。乗算回路40は、複数の乗算セル11を備えていることが好ましい。変換回路15は、加算回路10と電気的に接続されている。つまり、ニューロン84bは、乗算回路40と、加算回路10とで構成される積和演算回路を有している。
【0110】
図6(A)には、乗算セル11が有するトランジスタを示している。トランジスタを用いて、トランジスタのゲートに、重み係数ΔWおよびデータΔVを与えることでΔW×ΔVの乗算を行う方法を説明する。トランジスタに流れる電流Idは、トランジスタが飽和領域で動作する場合には、式1で表すことができる。
【0111】
Ids=k×(Vgs-Vth)2(式1)
【0112】
電流Idsは、Vgsにより変化する。トランジスタのゲートに基準電圧Vref、重み係数ΔW、およびデータΔVが与えられるとすると、電流Idsは、式2を式1のVgsに代入して計算する必要がある。このとき代入するVgsをVgs1とし、計算される電流Idsを電流I1とする。
【0113】
Vgs1=Vref+ΔW+ΔV(式2)
【0114】
ΔW×ΔVを乗算結果として得るためには、式2が代入された式1を展開することで式5の中にΔW×ΔVの項を得ることができる。
【0115】
I1=k×(Vref+ΔW+ΔV-Vth)2(式3)
【0116】
係数A=Vref+Vthとした場合
【0117】
I1=k×(ΔW+ΔV+A)2(式4)
【0118】
I1=k×(A2+2×A×ΔW+ΔW2+2×A×ΔV+ΔV2+2×ΔW×ΔV)(式5)
【0119】
同様に、式1のVgsにVgs2=Vref+ΔVを代入した場合、電流I2を得ることができる。
【0120】
また式1のVgsにVgs3=Vref+ΔWを代入した場合、電流I3を得ることができる。
【0121】
式1のVgsにVgs4=Vrefを代入した場合、電流I4を得ることができる。
【0122】
式5で得られる、A2+2×A×ΔW+ΔW2は、Vgs3を代入した場合に得られる電流I3に相当する。
【0123】
式5で得られる、2×A×ΔV+ΔV2は、Vgs2を代入した場合に得られる電流I2から、Vgs4を代入した場合に得られる電流I4を引くことで得ることができる。
【0124】
したがって、式5からΔW×ΔVの乗算結果を得るためには、以下の式6が成り立つことになる。この場合、I5は、トランジスタのVthには依存しない。
【0125】
I5=2×k×ΔW×ΔV(式6)
【0126】
ΔV>0且つΔW>0、またはΔV<0且つΔW<0のとき式7が成立する。
【0127】
I1+I4-I2-I3-I5=0(式7)
【0128】
また異なる場合としてΔV<0、ΔW>0、またはΔV<0、ΔW>0のとき式8が成立する。
【0129】
I1+I4-I2-I3+I5=0(式8)
【0130】
つまり、トランジスタを用いてΔW×ΔVの乗算結果を得るためには、電流I1乃至電流I4を計算することで算出することができる。
【0131】
図6(B)は、一例として、電流I1乃至電流I5を示している。I5(7)は、式7の電流の向きを示し、I5(8)は、式8の電流の向きを示している。
【0132】
図7(A)は、一例として、積和演算回路の乗算回路40について説明する回路図である。乗算回路40は、一例として、乗算セル11、リファレンスセル12、演算回路13、および変換回路15を有している。変換回路15の一例としては、電流信号を電圧信号に変換する機能を有している。または、変換回路15の一例としては、アナログ信号をデジタル信号に変換する機能を有している。または、変換回路15の一例としては、出力信号から、ノイズ成分を除去する機能を有している。演算回路13の一例として、スイッチS1、第1プログラミングセル、および第2プログラミングセルを有している。乗算セル11、リファレンスセル12は、各々がメモリセルを有している。また乗算回路40の一例として、配線Vdd、配線Vss、信号線SL、信号線SLR、信号線WL1、および信号線WDを有している。
【0133】
乗算セル11が有するメモリセルの一例としては、トランジスタ41、トランジスタ42、および容量素子43を有している。リファレンスセル12が有するメモリセルの一例としては、トランジスタ44、トランジスタ45、および容量素子46を有している。演算回路13の一例としては、カレントミラーを形成するトランジスタ47、トランジスタ48を有している。さらに、第1プログラミングセルの一例としては、トランジスタ49、容量素子50、およびスイッチS2を有している。さらに、第2プログラミングセルの一例としては、トランジスタ51、容量素子52、およびスイッチS3を有している。
【0134】
トランジスタ47乃至トランジスタ49は、pチャネル型のトランジスタであり、その他のトランジスタはnチャネル型トランジスタである。
【0135】
積和演算回路は、チャネル形成領域にシリコン(単結晶シリコンなど)を含むトランジスタ(以下、Siトランジスタともいう)によって構成してもよいし、チャネル形成領域に酸化物半導体を含むトランジスタ(以下、OSトランジスタともいう)によって構成してもよい。特に、OSトランジスタはオフ電流が極めて小さいため、電圧を保持するトランジスタとして好適である。なお、SiトランジスタとOSトランジスタの両方を用いて積和演算回路を構成してもよい。
図7(A)では、一例としては、スイッチS2、スイッチS3、トランジスタ41、またはトランジスタ44がOSトランジスタであることが好ましい。
【0136】
トランジスタ41のソースまたはドレインの一方は、信号線SLと電気的に接続される。トランジスタ41のソースまたはドレインの他方は、トランジスタ42のゲート、および容量素子43の電極の一方と電気的に接続される。トランジスタ42のソースまたはドレインの一方は、配線Vssと電気的に接続される。トランジスタ42のソースまたはドレインの他方は、スイッチS1の電極の一方、スイッチS2の電極の一方、およびトランジスタ49のソースまたはドレインの一方と電気的に接続される。スイッチS2の電極の他方は、トランジスタ49のゲート、および容量素子50の電極の一方と電気的に接続される。トランジスタ49のソースまたはドレインの他方は、配線Vdd、容量素子50の電極の他方と電気的に接続されている。スイッチS1の電極の他方は、変換回路15の入力端子、トランジスタ51のソースまたはドレインの一方、スイッチS3の電極の一方、およびトランジスタ48のソースまたはドレインの一方と電気的に接続される。トランジスタ51のゲートは、スイッチS3の電極の他方、および容量素子52の電極の一方と電気的に接続される。トランジスタ51のソースまたはドレインの他方は、配線Vss、容量素子52の電極の他方、およびトランジスタ45のソースまたはドレインの一方と電気的に接続される。トランジスタ48のソースまたはドレインの他方は、配線Vdd、およびトランジスタ47のソースまたはドレインの一方と電気的に接続される。トランジスタ48のゲートは、トランジスタ47のゲート、トランジスタ47のソースまたはドレインの他方、およびトランジスタ45のソースまたはドレインの他方と電気的に接続される。トランジスタ45のゲートは、トランジスタ44のソースまたはドレインの一方、および容量素子46の電極の一方に電気的に接続される。容量素子46の電極の他方は、配線WDと電気的に接続される。トランジスタ44のソースまたはドレインの他方は、配線SLRと電気的に接続されている。
【0137】
ノードFN10は、トランジスタ41のソースまたはドレインの他方、トランジスタ42のゲート、および容量素子43の電極の一方と接続されて形成されている。ノードFN20は、トランジスタ44のソースまたはドレインの一方、トランジスタ45のゲート、および容量素子46の電極の一方と接続されて形成されている。ノードFN30は、スイッチS2の電極の他方、トランジスタ49のゲート、および容量素子50の電極の一方と接続されて形成されている。ノードFN40は、スイッチS3の電極の他方、トランジスタ51のゲート、および容量素子52の電極の一方と接続されて形成されている。
【0138】
ここで、
図7(C)、(D)、(E)を用いて変換回路15について説明する。変換回路15の一例としては、IV変換回路15a、および増幅回路15bを有している。IV変換回路15aには、抵抗素子、容量素子、およびダイオードなどを用いることができる。IV変換回路15aにより、電流を電圧に変換することができる。その結果、出力信号を容易に取り出すことができる。そして、増幅回路15bにより、電圧に変換された出力信号を適切に出力することができる。増幅回路15bの一例としては、オペアンプ、ソースフォロワ回路、ソース接地回路、または、電圧フォロワ回路などを採用することができる。また、
図7(D)または
図7(E)に示すように、IV変換回路15aとして、オペアンプと、受動素子(例えば、抵抗素子、または、容量素子)とを用いて構成することもできる。
図7(D)は、オペアンプと抵抗素子とを用いたIV変換回路を示し、
図7(E)は、オペアンプと容量素子とを用いた積分回路を示す。
図7(D)または
図7(E)に示すように、オペアンプを用いると、仮想接地の効果を利用することにより、オペアンプの入力端子の電位を制御できるため、好適である。
【0139】
次に、
図7(A)、
図7(B)を用いて、乗算回路40の動作の一例を説明する。
【0140】
最初に、
図7(A)について説明する。ノードFN10には、配線SLを介してVgs3(=Vref+ΔW)が書き込まれ、トランジスタ42には、電流I3が流れる。ノードFN30には、トランジスタ49に流れる電流I3に相当する電位がスイッチS2を介して与えられる。同時に、ノードFN20には、配線SLRを介してVgs4(=Vref)が書き込まれ、トランジスタ45には、電流I4が流れる。電流I4は、カレントミラーを形成するトランジスタ47、トランジスタ48によってコピーされる。ノードFN40には、トランジスタ51に流れる電流I4に相当する電位がスイッチS3を介して与えられる。
【0141】
次に、
図7(B)について説明する。スイッチS2、およびスイッチS3をオフ状態にし、ノードFN30、またはノードFN40に与えられた電位を保存する。
【0142】
次に、信号線WDの電位をデータΔVだけ変動させることで、ノードFN10には、容量素子43を介してデータΔVが与えられる。つまり、ノードFN10の電位は、Vgs3からVgs1(=Vref+ΔW+ΔV)に変化する。同時に、ノードFN20には、容量素子46を介してデータΔVが与えられる。つまり、ノードFN10の電位は、Vgs4からVgs2(=Vref+ΔV)に変化する。電流I2は、カレントミラーを形成するトランジスタ47、トランジスタ48によってコピーされる。よってトランジスタ48には、電流I2を流すことができる。
【0143】
トランジスタ42は電流I1を流し、トランジスタ49は電流I3を流し、トランジスタ48は電流I2を流し、トランジスタ51は電流I4を流すことができる。ここでスイッチS1をオン状態にすることで、変換回路15には、電流I5を与えることができる。したがってΔW×ΔVの乗算結果をI5として得ることができる。
【0144】
図8は、複数のメモリセルを有する乗算セル11、複数のメモリセルを有するリファレンスセル12を有している点が、
図7(A)と異なっている。つまり、複数のメモリセルを有する乗算セル11から出力される複数の電流を、キルヒホッフの電流則に基づいて、足し合わせることができる。また、信号線NSEL2は、スイッチS2と電気的に接続され、信号線NSEL3は、スイッチS3と電気的に接続されている。ただし、乗算セル11と、リファレンスセル12が有するメモリセルの数は同じであることが好ましい。またスイッチS1は、トランジスタを用いてもよいが、より好ましくは、アナログスイッチを用いる方がよい。アナログスイッチを用いることでより正確に乗算をすることができる。
【0145】
また異なる点として、第1プログラミングセルのトランジスタ49aは、乗算セル11の段数に応じてトランジスタのチャネル幅を大きくすることが好ましい。したがって、乗算セル11においてn段のメモリセルが接続される場合、トランジスタ49aのチャネル幅は、トランジスタ42aのチャネル幅のn倍を有することが好ましい。より好ましくは、トランジスタ42aのチャネル幅のn倍よりも大きくする方がよい。
【0146】
第2プログラミングセルのトランジスタ51aは、リファレンスセル12の段数に応じてトランジスタのチャネル幅を大きくすることが好ましい。したがって、リファレンスセル12においてn段のメモリセルが接続される場合、トランジスタ51aのチャネル幅は、トランジスタ45aのチャネル幅のn倍を有することが好ましい。より好ましくは、トランジスタ45aのチャネル幅のn倍よりも大きくする方がよい。
【0147】
図9は、
図8とは異なる演算回路13aについて説明する回路図である。
図9で説明する演算回路13aは、さらにトランジスタ47a、トランジスタ48a、トランジスタ49b、容量素子50a、スイッチS2a、トランジスタ51b、容量素子52a、およびスイッチS3aを有している。
【0148】
図9で示すような回路構成にすることで、加算処理に使用するトランジスタの飽和特性をフラットな特性にすることができる。よって、カレントミラーなどで電流をコピーする場合には、さらに正確な電流を扱うことができる。したがって、演算回路13aを用いることで加算の演算精度を向上させることができる。
【0149】
図10(A)は、
図7(A)と異なる乗算回路40aについて説明する回路図である。
図10(A)は、主なトランジスタがnチャネル型のトランジスタで構成されている。仮に、スイッチもnチャネル型のトランジスタで構成する場合には、全てのトランジスタをnチャネル型のみで構成することができることとなる。その場合には、プロセス工程を簡略化できる。
【0150】
乗算回路40aの一例としては、乗算セル11a、リファレンスセル12a、演算回路13b、および変換回路15を有している。演算回路13bの一例としては、スイッチS1、第1プログラミングセル、および第2プログラミングセルを有している。乗算セル11a、リファレンスセル12aは、各々がメモリセルを有している。また乗算回路40aの一例としては、配線Vdd、配線Vss、信号線SL、信号線SLR、信号線WL1、および信号線WDを有している。
【0151】
乗算セル11aが有するメモリセルの一例としては、トランジスタ61、トランジスタ62、および容量素子63を有している。リファレンスセル12aの一例としては、トランジスタ64、トランジスタ65、および容量素子66を有している。演算回路13bの一例としては、トランジスタ72、容量素子73、トランジスタ74、容量素子75、トランジスタ76、容量素子77、およびスイッチS7乃至スイッチS15を有している。さらに、第1プログラミングセルの一例としては、トランジスタ67、容量素子68、およびスイッチS4を有している。さらに、第2プログラミングセルの一例としては、トランジスタ69、容量素子70、トランジスタ71、スイッチS5,およびスイッチS6を有している。
【0152】
図10(A)では、スイッチS4、スイッチS5、スイッチS12、スイッチS14、スイッチS15、トランジスタ61、またはトランジスタ64が、例えばOSトランジスタであることが好ましい。OSトランジスタはオフ電流が極めて小さいため、電圧を保持するトランジスタとして好適である。
【0153】
積和演算回路は、Siトランジスタによって構成してもよいし、OSトランジスタによって構成してもよい。特に、OSトランジスタはオフ電流が極めて小さいため、積和演算回路のメモリを構成するトランジスタとして好適である。なお、SiトランジスタとOSトランジスタの両方を用いて積和演算回路を構成してもよい。
【0154】
トランジスタ61のソースまたはドレインの一方は、信号線SLと電気的に接続される。トランジスタ61のソースまたはドレインの他方は、トランジスタ62のゲート、および容量素子63の電極の一方と電気的に接続される。トランジスタ62のソースまたはドレインの一方は、配線Vssと電気的に接続される。トランジスタ62のソースまたはドレインの他方は、容量素子68の電極の一方、トランジスタ67のソースまたはドレインの一方、スイッチS1の電極の一方、スイッチS6の電極の一方、およびスイッチS10の電極の一方と電気的に接続される。トランジスタ67のゲートは、容量素子68の電極の他方、スイッチS4の電極の一方と電気的に接続される。トランジスタ67のソースまたはドレインの他方は、スイッチS4の電極の他方、および配線Vddと電気的に接続されている。
【0155】
スイッチS1の電極の他方は、変換回路15と電気的に接続される。トランジスタ64のソースまたはドレインの一方は、配線SLRと電気的に接続される。トランジスタ64のソースまたはドレインの他方は、トランジスタ65のゲート、および容量素子66の電極の一方と電気的に接続される。トランジスタ65のソースまたはドレインの一方は、配線Vssと電気的に接続される。トランジスタ65のソースまたはドレインの他方は、スイッチS7の電極の一方、およびスイッチS9の電極の一方と電気的に接続される。スイッチS7の電極の他方は、トランジスタ72のソースまたはドレインの一方、容量素子73の電極の一方、およびスイッチS8の電極の一方と電気的に接続される。トランジスタ72のソースまたはドレインの他方は、スイッチS15の電極の一方、および配線Vddと電気的に接続される。トランジスタ72のゲートは、容量素子73の電極の他方、スイッチS15の電極の他方と電気的に接続されている。
【0156】
スイッチS9の電極の他方は、トランジスタ74のソースまたはドレインの一方、容量素子75の電極の一方、およびスイッチS11の電極の一方と電気的に接続される。トランジスタ74のソースまたはドレインの他方は、スイッチS14の電極の一方、および配線Vddと電気的に接続される。トランジスタ74のゲートは、容量素子75の電極の他方、およびスイッチS14の電極の他方と電気的に接続される。スイッチS11の電極の他方は、スイッチS10の電極の他方、容量素子77の電極の一方、およびトランジスタ76のソースまたはドレインの一方と電気的に接続される。トランジスタ76のソースまたはドレインの他方は、スイッチS12の電極の一方と電気的に接続される。トランジスタ76のゲートは、容量素子77の電極の他方、およびスイッチS13の電極の一方と電気的に接続される。スイッチS12の電極の他方は、スイッチS13の電極の他方、および配線Vddと電気的に接続される。スイッチS8の電極の他方は、トランジスタ71のソースまたはドレインの一方、およびスイッチS5の電極の一方と電気的に接続される。トランジスタ71のゲートは、容量素子70の電極の一方、スイッチS5の電極の他方、およびトランジスタ69のゲートと電気的に接続される。トランジスタ69のソースまたはドレインの一方は、スイッチS6の電極の他方と電気的に接続される。トランジスタ71のソースまたはドレインの他方は、容量素子70の電極の他方、トランジスタ69のソースまたはドレインの他方、および配線Vssと電気的に接続されている。
【0157】
ノードFN50は、トランジスタ61のソースまたはドレインの他方、トランジスタ62のゲート、および容量素子63の電極の一方と接続されて形成されている。ノードFN60は、トランジスタ64のソースまたはドレインの他方、トランジスタ65のゲート、および容量素子66の電極の一方と接続されて形成されている。ノードFN70は、トランジスタ67のゲート、容量素子68の電極の他方、およびスイッチS4の電極の一方と接続されて形成されている。ノードFN80は、トランジスタ71のゲート、容量素子70の電極の一方、スイッチS5の電極の他方、およびトランジスタ69のゲートと接続されて形成されている。
【0158】
次に、
図10(A)、
図10(B)、および
図11を用いて、乗算回路40aの動作の一例を説明する。
【0159】
最初に、
図10(A)について説明する。スイッチS4、スイッチS7、およびスイッチS15をオン状態にする。ノードFN50には、配線SLを介してVgs3(=Vref+ΔW)が書き込まれ、トランジスタ62には、電流I3が流れる。ノードFN70には、トランジスタ67に流れる電流I3に相当する電位がスイッチS4を介して与えられる。同時に、ノードFN60には、配線SLRを介してVgs4(=Vref)が書き込まれ、トランジスタ65には、電流I4が流れる。電流I4は、スイッチS7を介してトランジスタ72にも流れる。よって容量素子73には、電流I4に相当する電位がスイッチS15を介して与えられる。
【0160】
次に、スイッチS4、スイッチS7、およびスイッチS15をオフ状態にし、ノードFN70、および容量素子73に与えられた電位を保存する。
【0161】
次に、
図10(B)について説明する。スイッチS5と、スイッチS8とをオン状態にする。ノードFN80には、トランジスタ71に流れる電流I4に相当する電位が与えられる。
【0162】
次に、信号線WDの電位をデータΔVだけ変動させることで、ノードFN50は、容量素子63を介してデータΔVが与えられる。つまり、ノードFN50の電位は、Vgs3からVgs1(=Vref+ΔW+ΔV)に変化する。同時に、ノードFN60は、容量素子66を介してデータΔVが与えられる。つまり、ノードFN60の電位は、Vgs4からVgs2(=Vref+ΔV)に変化する。
【0163】
次に、スイッチS9、スイッチS11、スイッチS13、およびスイッチS14をオン状態にする。トランジスタ74に流れる電流I2に相当する電位が容量素子75に与えられる。スイッチS13、およびスイッチS14がオン状態のため、容量素子77には、容量素子75と同じ電位が与えられる。よって、スイッチS14と、容量素子75とを備えなくてもよく、代わりにトランジスタ74のゲート、およびトランジスタ74のソースまたはドレインの他方が配線Vddに接続されていても、同じ動作をすることができる。
【0164】
次に、
図11について説明する。スイッチS9、スイッチS11、スイッチS13、およびスイッチS14をオフ状態にする。ノードFN80は、与えられた電位を保存する。次に、スイッチS6、スイッチS10、およびスイッチS12をオン状態にする。
【0165】
トランジスタ62は電流I1を流し、トランジスタ67は電流I3を流し、トランジスタ76は電流I2を流し、トランジスタ69は電流I4を流すことができる。ここでスイッチS1をオン状態にすることで、変換回路15には、電流I5を与えることができる。したがってΔW×ΔVの乗算結果をI5として得ることができる。
【0166】
図12は、複数のメモリセルを有する乗算セル11a、複数のメモリセルを有するリファレンスセル12a、演算回路13bを有している点が、
図8と異なっている。また、信号線NSEL4は、スイッチS4と電気的に接続され、信号線NSEL5は、スイッチS7、およびスイッチS15と電気的に接続され、信号線NSEL6は、スイッチS9、スイッチS11、およびスイッチS13と電気的に接続され、信号線NSEL7は、スイッチS5、およびスイッチS8と電気的に接続され、信号線NSEL8は、スイッチS1、スイッチS6、スイッチS10、およびスイッチS12と電気的に接続されている。信号線NSEL4と、信号線NSEL5は、一つの信号線としてもよい。
【0167】
ただし、乗算セル11aと、リファレンスセル12aが有するメモリセルの数は同じであることが好ましい。またスイッチS1は、トランジスタを用いてもよいが、より好ましくは、アナログスイッチを用いる方がよい。アナログスイッチを用いることでより正確に乗算をすることができる。
【0168】
また異なる点として、第1プログラミングセルのトランジスタ67aは、乗算セル11aの段数に応じてトランジスタのチャネル幅を大きくすることが好ましい。したがって、乗算セル11aにおいてn段のメモリセルが接続される場合、トランジスタ67aのチャネル幅は、トランジスタ62aのチャネル幅のn倍を有することが好ましい。より好ましくは、トランジスタ62aのチャネル幅のn倍よりも大きくすることが好ましい。
【0169】
第2プログラミングセルのトランジスタ69aは、リファレンスセル12aの段数に応じてトランジスタのチャネル幅を大きくすることが好ましい。したがって、リファレンスセル12aにおいてn段のメモリセルが接続される場合、トランジスタ69aのチャネル幅は、トランジスタ65aのチャネル幅のn倍を有することが好ましい。より好ましくは、トランジスタ65aのチャネル幅のn倍よりも大きくすることが好ましい。
【0170】
同様に、トランジスタ71a、トランジスタ72a、トランジスタ74a、およびトランジスタ76aのチャネル幅は、トランジスタ65aのチャネル幅のn倍よりも大きくすることが好ましい。
【0171】
図13は、
図5(B)で示したブロック図と異なるニューラルネットワーク84cである。
図5と異なる点は、
図13が有するニューロンでは、リファレンスセル12、および演算回路13を共有する点が異なっている。各々のニューロンのメモリセルは、演算対象のメモリセルをスイッチ90(1)乃至スイッチ90(i)のどれかを介して接続することができる。リファレンスセル12、および演算回路13を共有することでニューロンの実装密度が向上し、より多くの演算をすることができる。
【0172】
本実施の形態は、他の実施の形態の一部または全部について、変更、追加、修正、削除、応用、上位概念化、又は、下位概念化したものに相当する。したがって、本実施の形態の一部または全部について、他の実施の形態の一部または全部と自由に組み合わせ、又は置き換えて実施することができる。
【0173】
(実施の形態3)
本実施の形態では、
図14を用いて、本発明の一態様に係る、酸化物を半導体に用いたトランジスタ(OSトランジスタ)、および容量素子が適用されている記憶装置(以下、OSメモリ装置と呼ぶ場合がある。)について説明する。OSメモリ装置は、少なくとも容量素子と、容量素子の充放電を制御するOSトランジスタを有する記憶装置である。OSトランジスタのオフ電流は極めて小さいので、OSメモリ装置は優れた保持特性をもち、不揮発性メモリとして機能させることができる。
【0174】
<記憶装置の構成例>
【0175】
図14に実施の形態1で説明したメモリM1乃至メモリM3、実施の形態2で説明した乗算回路に適用できるメモリセルMCの構成例について説明する。
【0176】
[DOSRAM]
図14(A)乃至(C)に、DRAMのメモリセルMCの回路構成例を示す。本明細書等において、1OSトランジスタ1容量素子型のメモリセルを用いたDRAMを、DOSRAM(Dynamic Oxide Semiconductor Random Access Memory)と呼ぶ場合がある。
図14(A)に示す、メモリセル1471は、トランジスタT1と、容量素子CAと、を有する。なお、トランジスタT1は、ゲート(フロントゲートと呼ぶ場合がある。)、およびバックゲートを有する。
【0177】
トランジスタT1の第1端子は、容量素子CAの第1端子と接続され、トランジスタT1の第2端子は、配線BILと接続され、トランジスタT1のゲートは、配線WOLと接続され、トランジスタT1のバックゲートは、配線BGLと接続されている。容量素子CAの第2端子は、配線CALと接続されている。
【0178】
配線BILは、ビット線として機能し、配線WOLは、ワード線として機能する。配線CALは、容量素子CAの第2端子に所定の電位を印加するための配線として機能する。データの書き込み時、および読み出し時において、配線CALには、低レベル電位を印加するのが好ましい。配線BGLは、トランジスタT1のバックゲートに電位を印加するための配線として機能する。配線BGLに任意の電位を印加することによって、トランジスタT1のしきい値電圧を増減することができる。
【0179】
また、メモリセルMCは、メモリセル1471に限定されず、回路構成の変更を行うことができる。例えば、メモリセルMCは、
図14(B)に示すメモリセル1472のように、トランジスタT1のバックゲートが、配線BGLでなく、配線WOLと接続される構成にしてもよい。また、例えば、メモリセルMCは、
図14(C)に示すメモリセル1473ように、シングルゲート構造のトランジスタ、つまりバックゲートを有さないトランジスタT1で構成されたメモリセルとしてもよい。
【0180】
トランジスタT1としてOSトランジスタを用いることによって、トランジスタT1のリーク電流を非常に低くすることができる。つまり、書き込んだデータをトランジスタT1によって長時間保持することができるため、メモリセルのリフレッシュの頻度を少なくすることができる。また、メモリセルのリフレッシュ動作を不要にすることができる。また、リーク電流が非常に低いため、メモリセル1471、メモリセル1472、メモリセル1473に対して多値データ、またはアナログデータを保持することができる。
【0181】
また、DOSRAMにおいては、図では示していないがメモリセル1471の下に重なるように、センスアンプを設ける構成にすると、ビット線を短くすることができる。これにより、ビット線容量が小さくなり、メモリセルの保持容量を低減することができる。
【0182】
[NOSRAM]
図14(D)乃至(H)に、2トランジスタ1容量素子のゲインセル型のメモリセルの回路構成例を示す。
図14(D)に示す、メモリセル1474は、トランジスタT2と、トランジスタT3と、容量素子CBと、を有する。なお、トランジスタT2は、フロントゲート(単にゲートと呼ぶ場合がある。)、およびバックゲートを有する。本明細書等において、トランジスタT2にOSトランジスタを用いたゲインセル型のメモリセルを有する記憶装置を、NOSRAM(Nonvolatile Oxide Semiconductor RAM)と呼ぶ場合がある。
【0183】
トランジスタT2の第1端子は、容量素子CBの第1端子と接続され、トランジスタT2の第2端子は、配線WBLと接続され、トランジスタT2のゲートは、配線WOLと接続され、トランジスタT2のバックゲートは、配線BGLと接続されている。容量素子CBの第2端子は、配線CALと接続されている。トランジスタT3の第1端子は、配線RBLと接続され、トランジスタT3の第2端子は、配線SLと接続され、トランジスタT3のゲートは、容量素子CBの第1端子と接続されている。
【0184】
配線WBLは、書き込みビット線として機能し、配線RBLは、読み出しビット線として機能し、配線WOLは、ワード線として機能する。配線CALは、容量素子CBの第2端子に所定の電位を印加するための配線として機能する。データの書き込み時、データ保持の最中、データの読み出し時において、配線CALには、低レベル電位を印加するのが好ましい。配線BGLは、トランジスタT2のバックゲートに電位を印加するための配線として機能する。配線BGLに任意の電位を印加することによって、トランジスタT2のしきい値電圧を増減することができる。
【0185】
また、メモリセルMCは、メモリセル1474に限定されず、回路の構成を適宜変更することができる。例えば、メモリセルMCは、
図14(E)に示すメモリセル1475のように、トランジスタT2のバックゲートが、配線BGLでなく、配線WOLと接続される構成にしてもよい。また、例えば、メモリセルMCは、
図14(F)に示すメモリセル1476のように、シングルゲート構造のトランジスタ、つまりバックゲートを有さないトランジスタT2で構成されたメモリセルとしてもよい。また、例えば、メモリセルMCは、
図14(G)に示すメモリセル1477のように、配線WBLと配線RBLを一本の配線BILとしてまとめた構成であってもよい。
【0186】
上記実施の形態に示す半導体装置をメモリセル1474等に用いる場合、トランジスタT2としてトランジスタ41を用い、トランジスタT3としてトランジスタ42を用い、容量素子CBとして容量素子43を用いることができる。トランジスタT2としてOSトランジスタを用いることによって、トランジスタT2のリーク電流を非常に低くすることができる。これにより、書き込んだデータをトランジスタT2によって長時間保持することができるため、メモリセルのリフレッシュの頻度を少なくすることができる。また、メモリセルのリフレッシュ動作を不要にすることができる。また、リーク電流が非常に低いため、メモリセル1474に多値データ、またはアナログデータを保持することができる。メモリセル1475乃至1477も同様である。
【0187】
なお、トランジスタT3は、Siトランジスタであってもよい。Siトランジスタの導電型は、nチャネル型としてもよいし、pチャネル型としてもよい。Siトランジスタは、OSトランジスタよりも電界効果移動度が高くなる場合がある。よって、読み出しトランジスタとして機能するトランジスタT3として、Siトランジスタを用いてもよい。また、トランジスタT3にSiトランジスタを用いることで、トランジスタT3の上に積層してトランジスタT2を設けることができるので、メモリセルの占有面積を低減し、記憶装置の高集積化を図ることができる。
【0188】
また、トランジスタT3はOSトランジスタであってもよい。トランジスタT2、M3にOSトランジスタを用いた場合、メモリセル1474乃至メモリセル1477をn型トランジスタのみを用いて構成することができる。
【0189】
また、
図14(H)に3トランジスタ1容量素子のゲインセル型のメモリセルの一例を示す。
図14(H)に示すメモリセル1478は、トランジスタT4乃至T6、および容量素子CCを有する。容量素子CCは適宜設けられる。メモリセル1478は、配線BIL、RWL、WWL、BGL、およびGNDLに電気的に接続されている。配線GNDLは低レベル電位を与える配線である。なお、メモリセル1478を、配線BILに代えて、配線RBL、WBLに電気的に接続してもよい。
【0190】
トランジスタT4は、バックゲートを有するOSトランジスタであり、バックゲートは配線BGLに電気的に接続されている。なお、トランジスタT4のバックゲートとゲートとを互いに電気的に接続してもよい。あるいは、トランジスタT4はバックゲートを有さなくてもよい。
【0191】
なお、トランジスタT5、T6はそれぞれ、nチャネル型Siトランジスタまたはpチャネル型Siトランジスタでもよい。あるいは、トランジスタT4乃至T6がOSトランジスタでもよい、この場合、メモリセル1478をn型トランジスタのみを用いて構成することができる。
【0192】
なお、本実施の形態に示す、メモリセル1471乃至メモリセル1478等の構成は、上記に限定されるものではない。これらの回路、および当該回路に接続される配線、回路素子等の、配置または機能は、必要に応じて、変更、削除、または追加してもよい。
【0193】
本実施の形態は、他の実施の形態などに記載した構成と適宜組み合わせて実施することが可能である。
【0194】
本実施の形態は、他の実施の形態の一部または全部について、変更、追加、修正、削除、応用、上位概念化、又は、下位概念化したものに相当する。したがって、本実施の形態の一部または全部について、他の実施の形態の一部または全部と自由に組み合わせ、又は置き換えて実施することができる。
【0195】
(実施の形態4)
本実施の形態では、
図15を用いて、本発明の半導体装置が実装されたチップ1200の一例を示す。チップ1200には、複数の回路(システム)が実装されている。このように、複数の回路(システム)を一つのチップに集積する技術を、システムオンチップ(System on Chip:SoC)と呼ぶ場合がある。
【0196】
図15(A)に示すように、チップ1200は、CPU(Central Processing Unit)1211、GPU(Graphics Processing Unit)1212、またはアナログ演算部1213、メモリコントローラ1214、インターフェース1215、またはネットワーク回路1216等を有する。GPUは、ニューラルネットワークを有することが好ましい。
【0197】
チップ1200には、バンプ(図示しない)が設けられ、
図15(B)に示すように、プリント基板(Printed Circuit Board:PCB)1201の第1の面と接続する。また、PCB1201の第1の面の裏面には、複数のバンプ1202が設けられており、マザーボード1203と接続する。
【0198】
マザーボード1203には、DRAM1221、フラッシュメモリ1222等の記憶装置が設けられていてもよい。例えば、DRAM1221に先の実施の形態に示すDOSRAMを用いることができる。また、例えば、フラッシュメモリ1222に先の実施の形態に示すNOSRAMを用いることができる。
【0199】
CPU1211は、複数のCPUコアを有することが好ましい。また、GPU1212は、複数のGPUコアを有することが好ましい。また、CPU1211、およびGPU1212は、それぞれ一時的にデータを格納するメモリを有していてもよい。または、CPU1211、およびGPU1212に共通のメモリが、チップ1200に設けられていてもよい。該メモリには、前述したNOSRAMや、DOSRAMを用いることができる。また、GPU1212は、多数のデータの並列計算に適しており、画像処理や積和演算に用いることができる。GPU1212に、本発明の酸化物半導体を用いた画像処理回路や、積和演算回路を設けることで、画像処理、および積和演算を低消費電力で実行することが可能になる。
【0200】
また、CPU1211、およびGPU1212が同一チップに設けられていることで、CPU1211およびGPU1212間の配線を短くすることができ、CPU1211からGPU1212へのデータ転送、CPU1211、およびGPU1212が有するメモリ間のデータ転送、およびGPU1212での演算後に、GPU1212からCPU1211への演算結果の転送を高速に行うことができる。
【0201】
アナログ演算部1213はA/D(アナログ/デジタル)変換回路、およびD/A(デジタル/アナログ)変換回路の一、または両方を有する。また、アナログ演算部1213に上記積和演算回路を設けてもよい。
【0202】
メモリコントローラ1214は、DRAM1221のコントローラとして機能する回路、およびフラッシュメモリ1222のインターフェースとして機能する回路を有する。
【0203】
インターフェース1215は、表示装置、スピーカー、マイクロフォン、カメラ、コントローラなどの外部接続機器とのインターフェース回路を有する。コントローラとは、マウス、キーボード、ゲーム用コントローラなどを含む。このようなインターフェースとして、USB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Multimedia Interface)などを用いることができる。
【0204】
ネットワーク回路1216は、LAN(Local Area Network)などのネットワーク回路を有する。また、ネットワークセキュリティー用の回路を有してもよい。
【0205】
チップ1200には、上記回路(システム)を同一の製造プロセスで形成することが可能である。そのため、チップ1200に必要な回路の数が増えても、製造プロセスを増やす必要が無く、チップ1200を低コストで作製することができる。
【0206】
GPU1212を有するチップ1200が設けられたPCB1201、DRAM1221、およびフラッシュメモリ1222が設けられたマザーボード1203は、GPUモジュール1204と呼ぶことができる。
【0207】
GPUモジュール1204は、SoC技術を用いたチップ1200を有しているため、そのサイズを小さくすることができる。また、画像処理に優れていることから、スマートフォン、タブレット端末、ラップトップPC、携帯型(持ち出し可能な)ゲーム機などの携帯型電子機器に用いることが好適である。また、GPU1212を用いた積和演算回路により、ディープニューラルネットワーク(DNN)、畳み込みニューラルネットワーク(CNN)、再帰型ニューラルネットワーク(RNN)、自己符号化器、深層ボルツマンマシン(DBM)、深層信念ネットワーク(DBN)などの演算を実行することができるため、チップ1200をAIチップ、またはGPUモジュール1204をAIシステムモジュールとして用いることができる。
【0208】
本実施の形態に示す構成は、他の実施の形態に示す構成と適宜組み合わせて用いることができる。
【0209】
(実施の形態5)
本実施の形態では、先の実施の形態に示す半導体装置を用いた記憶装置の応用例について説明する。先の実施の形態に示す半導体装置は、例えば、各種電子機器(例えば、情報端末、コンピュータ、スマートフォン、電子書籍端末、デジタルカメラ(ビデオカメラも含む)、録画再生装置、ナビゲーションシステムなど)の記憶装置に適用できる。なお、ここで、コンピュータとは、タブレット型のコンピュータや、ノート型のコンピュータや、デスクトップ型のコンピュータの他、サーバシステムのような大型のコンピュータを含むものである。または、先の実施の形態に示す半導体装置は、メモリカード(例えば、SDカード)、USBメモリ、SSD(ソリッド・ステート・ドライブ)等の各種のリムーバブル記憶装置に適用される。
図16にリムーバブル記憶装置の幾つかの構成例を模式的に示す。例えば、先の実施の形態に示す半導体装置は、パッケージングされたメモリチップに加工され、様々なストレージ装置、リムーバブルメモリに用いられる。
【0210】
図16(A)はUSBメモリの模式図である。USBメモリ1100は、筐体1101、キャップ1102、USBコネクタ1103および基板1104を有する。基板1104は、筐体1101に収納されている。例えば、基板1104には、メモリチップ1105、コントローラチップ1106が取り付けられている。基板1104のメモリチップ1105などに先の実施の形態に示す半導体装置を組み込むことができる。
【0211】
図16(B)はSDカードの外観の模式図であり、
図16(C)は、SDカードの内部構造の模式図である。SDカード1110は、筐体1111、コネクタ1112および基板1113を有する。基板1113は筐体1111に収納されている。例えば、基板1113には、メモリチップ1114、コントローラチップ1115が取り付けられている。基板1113の裏面側にもメモリチップ1114を設けることで、SDカード1110の容量を増やすことができる。また、無線通信機能を備えた無線チップを基板1113に設けてもよい。これによって、ホスト装置とSDカード1110間の無線通信によって、メモリチップ1114のデータの読み出し、書き込みが可能となる。基板1113のメモリチップ1114などに先の実施の形態に示す半導体装置を組み込むことができる。
【0212】
図16(D)はSSDの外観の模式図であり、
図16(E)は、SSDの内部構造の模式図である。SSD1150は、筐体1151、コネクタ1152および基板1153を有する。基板1153は筐体1151に収納されている。例えば、基板1153には、メモリチップ1154、メモリチップ1155、コントローラチップ1156が取り付けられている。メモリチップ1155はコントローラチップ1156のワークメモリであり、例えばDOSRAMチップを用いればよい。基板1153の裏面側にもメモリチップ1154を設けることで、SSD1150の容量を増やすことができる。基板1153のメモリチップ1154などに先の実施の形態に示す半導体装置を組み込むことができる。
【0213】
本実施の形態は、他の実施の形態などに記載した構成と適宜組み合わせて実施することが可能である。
【0214】
(実施の形態6)
<電子機器>
本発明の一態様に係る半導体装置は、様々な電子機器に用いることができる。
図17に、本発明の一態様に係る半導体装置を用いた電子機器の具体例を示す。
【0215】
図17(A)に、モニタ830を示す。モニタ830は、表示部831、筐体832、スピーカ833等を有する。さらに、LEDランプ、操作キー(電源スイッチ、または操作スイッチを含む)、接続端子、各種センサ、マイクロフォン等を有することができる。またモニタ830は、リモコン操作機834により、操作することができる。
【0216】
またモニタ830は、放送電波を受信して、テレビジョン装置として機能することができる。
【0217】
モニタ830が受信できる放送電波としては、地上波、または衛星から送信される電波などが挙げられる。また放送電波として、アナログ放送、デジタル放送などがあり、また映像および音声、または音声のみの放送などがある。例えばUHF帯(300MHz以上3GHz以下)またはVHF帯(30MHz以上300MHz以下)のうちの特定の周波数帯域で送信される放送電波を受信することができる。また例えば、複数の周波数帯域で受信した複数のデータを用いることで、転送レートを高くすることができ、より多くの情報を得ることができる。これによりフルハイビジョンを超える解像度を有する映像を、表示部831に表示させることができる。例えば、4K-2K、8K-4K、16K-8K、またはそれ以上の解像度を有する映像を表示させることができる。
【0218】
また、インターネットやLAN(Local Area Network)、Wi-Fi(登録商標)などのコンピュータネットワークを介したデータ伝送技術により送信された放送のデータを用いて、表示部831に表示する画像を生成する構成としてもよい。このとき、モニタ830にチューナを有さなくてもよい。
【0219】
また、モニタ830は、コンピュータと接続し、コンピュータ用モニタとして用いることができる。また、コンピュータと接続したモニタ830は、複数の人が同時に閲覧可能となり、会議システムに用いることができる。また、ネットワークを介したコンピュータの情報の表示や、モニタ830自体のネットワークへの接続により、モニタ830をテレビ会議システムに用いることができる。
【0220】
また、モニタ830はデジタルサイネージとして用いることもできる。
【0221】
例えば、本発明の一態様の半導体装置を表示部の駆動回路や、画像処理部に用いることができる。本発明の一態様の半導体装置を表示部の駆動回路や、画像処理部に用いることで、高速な動作や信号処理を低消費電力にて実現できる。
【0222】
また、本発明の一態様の半導体装置を用いたAIシステムをモニタ830の画像処理部に用いることで、ノイズ除去処理、階調変換処理、色調補正処理、輝度補正処理などの画像処理を行うことができる。また、解像度のアップコンバートに伴う画素間補間処理や、フレーム周波数のアップコンバートに伴うフレーム間補間処理などを実行することができる。また、階調変換処理は、画像の階調数を変換するだけでなく、階調数を大きくする場合の階調値の補間を行うことができる。また、ダイナミックレンジを広げる、ハイダイナミックレンジ(HDR)処理も、階調変換処理に含まれる。
【0223】
図17(B)に示すビデオカメラ2940は、筐体2941、筐体2942、表示部2943、操作スイッチ2944、レンズ2945、および接続部2946等を有する。操作スイッチ2944およびレンズ2945は筐体2941に設けられており、表示部2943は筐体2942に設けられている。また、ビデオカメラ2940は、筐体2941の内側にアンテナ、バッテリなどを備える。そして、筐体2941と筐体2942は、接続部2946により接続されており、筐体2941と筐体2942の間の角度は、接続部2946により変えることが可能な構造となっている。筐体2941に対する筐体2942の角度によって、表示部2943に表示される画像の向きの変更や、画像の表示/非表示の切り換えを行うことができる。
【0224】
例えば、本発明の一態様の半導体装置を表示部の駆動回路や、画像処理部に用いることができる。本発明の一態様の半導体装置を表示部の駆動回路や、画像処理部に用いることで、高速な動作や信号処理を低消費電力にて実現できる。
【0225】
また、本発明の一態様の半導体装置を用いたAIシステムをビデオカメラ2940の画像処理部に用いることで、ビデオカメラ2940周囲の環境に応じた撮影が実現できる。具体的には、周囲の明るさに応じて最適な露出で撮影を行うことができる。また、逆光における撮影や屋内と屋外など、明るさの異なる状況を同時に撮影する場合では、ハイダイナミックレンジ(HDR)撮影を行うことができる。
【0226】
また、AIシステムは、撮影者の癖を学習し、撮影のアシストを行うことができる。具体的には、撮影者の手振れの癖を学習し、撮影中の手振れを補正することで、撮影した画像には手振れによる画像の乱れが極力含まれないようにすることができる。また、撮影中にズーム機能を用いる際には、被写体が常に画像の中心で撮影されるようにレンズの向きなどを制御することができる。
【0227】
図17(C)に示す情報端末2910は、筐体2911、表示部2912、マイク2917、スピーカ部2914、カメラ2913、外部接続部2916、および操作スイッチ2915等を有する。表示部2912には、可撓性基板が用いられた表示パネルおよびタッチスクリーンを備える。また、情報端末2910は、筐体2911の内側にアンテナ、バッテリなどを備える。情報端末2910は、例えば、スマートフォン、携帯電話、タブレット型情報端末、タブレット型パーソナルコンピュータ、電子書籍端末等として用いることができる。
【0228】
例えば、本発明の一態様の半導体装置を用いた記憶装置は、上述した情報端末2910の制御情報や、制御プログラムなどを長期間保持することができる。
【0229】
また、本発明の一態様の半導体装置を用いたAIシステムを情報端末2910の画像処理部に用いることで、ノイズ除去処理、階調変換処理、色調補正処理、輝度補正処理などの画像処理を行うことができる。また、解像度のアップコンバートに伴う画素間補間処理や、フレーム周波数のアップコンバートに伴うフレーム間補間処理などを実行することができる。また、階調変換処理は、画像の階調数を変換するだけでなく、階調数を大きくする場合の階調値の補間を行うことができる。また、ダイナミックレンジを広げる、ハイダイナミックレンジ(HDR)処理も、階調変換処理に含まれる。
【0230】
また、AIシステムは、ユーザーの癖を学習し、情報端末2910の操作のアシストを行うことができる。AIシステムを搭載した情報端末2910は、ユーザーの指の動きや、目線などからタッチ入力を予測することができる。
【0231】
図17(D)に示すラップトップ型パーソナルコンピュータ2920は、筐体2921、表示部2922、キーボード2923、およびポインティングデバイス2924等を有する。また、ラップトップ型パーソナルコンピュータ2920は、筐体2921の内側にアンテナ、バッテリなどを備える。
【0232】
例えば、本発明の一態様の半導体装置を用いた記憶装置は、ラップトップ型パーソナルコンピュータ2920の制御情報や、制御プログラムなどを長期間保持することができる。
【0233】
また、本発明の一態様の半導体装置を用いたAIシステムをラップトップ型パーソナルコンピュータ2920の画像処理部に用いることで、ノイズ除去処理、階調変換処理、色調補正処理、輝度補正処理などの画像処理を行うことができる。また、解像度のアップコンバートに伴う画素間補間処理や、フレーム周波数のアップコンバートに伴うフレーム間補間処理などを実行することができる。また、階調変換処理は、画像の階調数を変換するだけでなく、階調数を大きくする場合の階調値の補間を行うことができる。また、ダイナミックレンジを広げる、ハイダイナミックレンジ(HDR)処理も、階調変換処理に含まれる。
【0234】
また、AIシステムは、ユーザーの癖を学習し、ラップトップ型パーソナルコンピュータ2920の操作のアシストを行うことができる。AIシステムを搭載したラップトップ型パーソナルコンピュータ2920は、ユーザーの指の動きや、目線などから表示部2922へのタッチ入力を予測することができる。また、テキストの入力においては、過去のテキスト入力情報や、前後のテキストや写真などの図から入力予測を行い、変換のアシストを行う。これにより、入力ミスや変換ミスを極力低減することができる。
【0235】
図17(E)は、自動車の一例を示す外観図、
図17(F)は、ナビゲーション装置860を示している。自動車2980は、車体2981、車輪2982、ダッシュボード2983、およびライト2984等を有する。また、自動車2980は、アンテナ、バッテリなどを備える。ナビゲーション装置860は、表示部861、操作ボタン862、および外部入力端子863を具備する。自動車2980とナビゲーション装置860は、それぞれ独立していても良いが、ナビゲーション装置860が自動車2980に組み込まれ、連動して機能する構成とするのが好ましい。
【0236】
例えば、本発明の一態様の半導体装置を用いた記憶装置は、自動車2980やナビゲーション装置860の制御情報や、制御プログラムなどを長期間保持することができる。また、本発明の一態様の半導体装置を用いたAIシステムを自動車2980の制御装置などに用いることで、AIシステムは、ドライバーの運転技術や癖を学習し、安全運転のアシストや、ガソリンやバッテリなどの燃料を効率的に利用する運転のアシストを行うことができる。安全運転のアシストとしては、ドライバーの運転技術や癖を学習するだけでなく、自動車2980の速度や移動方法といった自動車の挙動、ナビゲーション装置860に保存された道路情報などを複合的に学習し、走行中のレーンから外れることの防止や、他の自動車、歩行者、構造体などとの衝突回避が実現できる。具体的には、進行方向に急カーブが存在する場合、ナビゲーション装置860はその道路情報を自動車2980に送信し、自動車2980の速度の制御や、ハンドル操作のアシストを行うことができる。
【0237】
本実施の形態は、他の実施の形態などに記載した構成と適宜組み合わせて実施することが可能である。
【0238】
(実施の形態7)
【0239】
本実施の形態では、上記実施の形態で説明したGPU又はコンピュータに用いることが可能な半導体装置、および当該半導体装置に用いることが可能なOSトランジスタの構成例について説明する。
【0240】
<半導体装置の構成例>
図18に示す半導体装置は、トランジスタ300と、トランジスタ200、および容量素子100を有している。
図19(A)はトランジスタ200のチャネル長方向の断面図であり、
図19(B)はトランジスタ200のチャネル幅方向の断面図であり、
図19(C)はトランジスタ300のチャネル幅方向の断面図である。
【0241】
トランジスタ200は、酸化物半導体を有する半導体層にチャネルが形成されるトランジスタである。トランジスタ200は、オフ電流が小さいため、これを半導体装置に用いることにより長期にわたり記憶内容を保持することが可能である。つまり、リフレッシュ動作を必要としない、あるいは、リフレッシュ動作の頻度が極めて少ないため、半導体装置の消費電力を十分に低減することができる。
【0242】
図18に示す半導体装置において、配線1001はトランジスタ300のソースおよびドレインの一方と接続され、配線1002はトランジスタ300のソースおよびドレインの他方と接続されている。また、配線1003はトランジスタ200のソースおよびドレインの一方と接続され、配線1004はトランジスタ200のトップゲートと接続され、配線1006はトランジスタ200のボトムゲートと接続されている。そして、トランジスタ300のゲート、およびトランジスタ200のソースおよびドレインの他方は、容量素子100の電極の一方と接続され、配線1005は容量素子100の電極の他方と接続されている。
【0243】
ここで、実施の形態3に示すメモリセルに、本実施の形態に示す半導体装置を用いる場合、トランジスタT2はトランジスタ200に、トランジスタT3はトランジスタ300に、容量素子CBは容量素子100に対応する。また、配線SLは、配線1001に、配線RBLは、配線1002に、配線WBLは、配線1003に、配線WOLは、配線1004に、配線CALは、配線1005に、配線BGLは、配線1006に対応する。
【0244】
また、実施の形態2に示す演算回路に、本実施の形態に示す半導体装置を用いる場合、一例として、トランジスタ42はトランジスタ300に、トランジスタ41はトランジスタ200に、容量素子43は容量素子100に対応する。
【0245】
また、メモリセルと演算回路の両方に、本実施の形態に示す半導体装置を用いる場合、トランジスタT3とトランジスタ42、トランジスタT2とトランジスタ41、容量素子CBと容量素子43は、それぞれ同一工程で形成することができる。これにより、製造工程を簡略化し、コストを削減することができる。
【0246】
本発明の一態様の半導体装置は、
図18に示すようにトランジスタ300、トランジスタ200、容量素子100を有する。トランジスタ200はトランジスタ300の上方に設けられ、容量素子100はトランジスタ300、およびトランジスタ200の上方に設けられている。
【0247】
トランジスタ300は、基板311上に設けられ、導電体316、絶縁体315、基板311の一部からなる半導体領域313、およびソース領域またはドレイン領域として機能する低抵抗領域314a、および低抵抗領域314bを有する。
【0248】
トランジスタ300は、
図19(C)に示すように、半導体領域313の上面およびチャネル幅方向の側面が絶縁体315を介して導電体316に覆われている。このように、トランジスタ300をFin型とすることにより、実効上のチャネル幅が増大することによりトランジスタ300のオン特性を向上させることができる。また、ゲート電極の電界の寄与を高くすることができるため、トランジスタ300のオフ特性を向上させることができる。
【0249】
なお、トランジスタ300は、pチャネル型、あるいはnチャネル型のいずれでもよい。
【0250】
半導体領域313のチャネルが形成される領域、その近傍の領域、ソース領域、またはドレイン領域となる低抵抗領域314a、および低抵抗領域314bなどにおいて、シリコン系半導体などの半導体を含むことが好ましく、単結晶シリコンを含むことが好ましい。または、Ge(ゲルマニウム)、SiGe(シリコンゲルマニウム)、GaAs(ガリウムヒ素)、GaAlAs(ガリウムアルミニウムヒ素)などを有する材料で形成してもよい。結晶格子に応力を与え、格子間隔を変化させることで有効質量を制御したシリコンを用いた構成としてもよい。またはGaAsとGaAlAs等を用いることで、トランジスタ300をHEMT(High Electron Mobility Transistor)としてもよい。
【0251】
低抵抗領域314a、および低抵抗領域314bは、半導体領域313に適用される半導体材料に加え、ヒ素、リンなどのn型の導電性を付与する元素、またはホウ素などのp型の導電性を付与する元素を含む。
【0252】
ゲート電極として機能する導電体316は、ヒ素、リンなどのn型の導電性を付与する元素、もしくはホウ素などのp型の導電性を付与する元素を含むシリコンなどの半導体材料、金属材料、合金材料、または金属酸化物材料などの導電性材料を用いることができる。
【0253】
なお、導電体の材料により、仕事関数が定まるため、導電体の材料を変更することで、トランジスタのVthを調整することができる。具体的には、導電体に窒化チタンや窒化タンタルなどの材料を用いることが好ましい。さらに導電性と埋め込み性を両立するために導電体にタングステンやアルミニウムなどの金属材料を積層として用いることが好ましく、特にタングステンを用いることが耐熱性の点で好ましい。
【0254】
なお、
図18に示すトランジスタ300は一例であり、その構造に限定されず、回路構成や駆動方法に応じて適切なトランジスタを用いればよい。例えば、トランジスタ200と同様に、トランジスタ300に酸化物半導体を用いる構成にしてもよい。
【0255】
トランジスタ300を覆って、絶縁体320、絶縁体322、絶縁体324、および絶縁体326が順に積層して設けられている。
【0256】
絶縁体320、絶縁体322、絶縁体324、および絶縁体326として、例えば、酸化シリコン、酸化窒化シリコン、窒化酸化シリコン、窒化シリコン、酸化アルミニウム、酸化窒化アルミニウム、窒化酸化アルミニウム、窒化アルミニウムなどを用いればよい。
【0257】
絶縁体322は、その下方に設けられるトランジスタ300などによって生じる段差を平坦化する平坦化膜として機能する。例えば、絶縁体322の上面は、平坦性を高めるために化学機械研磨(CMP)法等を用いた平坦化処理により平坦化されていてもよい。
【0258】
また、絶縁体324には、基板311、またはトランジスタ300などから、トランジスタ200が設けられる領域に、水素や不純物が拡散しないようなバリア性を有する膜を用いることが好ましい。
【0259】
水素に対するバリア性を有する膜の一例として、例えば、CVD法で形成した窒化シリコンを用いることができる。ここで、トランジスタ200等の酸化物半導体を有する半導体素子に、水素が拡散することで、当該半導体素子の特性が低下する場合がある。したがって、トランジスタ200と、トランジスタ300との間に、水素の拡散を抑制する膜を用いることが好ましい。水素の拡散を抑制する膜とは、具体的には、水素の脱離量が少ない膜とする。
【0260】
水素の脱離量は、例えば、昇温脱離ガス分析法(TDS(Thermal Desorption Spectroscopy))などを用いて分析することができる。例えば、絶縁体324の水素の脱離量は、TDS分析において、膜の表面温度が50℃から500℃の範囲において、水素原子に換算した脱離量が、絶縁体324の面積当たりに換算して、10×1015atoms/cm2以下、好ましくは5×1015atoms/cm2以下であればよい。
【0261】
なお、絶縁体326は、絶縁体324よりも誘電率が低いことが好ましい。例えば、絶縁体326の比誘電率は4未満が好ましく、3未満がより好ましい。また例えば、絶縁体326の比誘電率は、絶縁体324の比誘電率の0.7倍以下が好ましく、0.6倍以下がより好ましい。誘電率が低い材料を層間膜とすることで、配線間に生じる寄生容量を低減することができる。
【0262】
また、絶縁体320、絶縁体322、絶縁体324、および絶縁体326には容量素子100、またはトランジスタ200と接続する導電体328、および導電体330等が埋め込まれている。なお、導電体328、および導電体330はプラグ、または配線として機能する。また、プラグまたは配線として機能する導電体は、複数の構造をまとめて同一の符号を付与する場合がある。また、本明細書等において、配線と、配線と接続するプラグとが一体物であってもよい。すなわち、導電体の一部が配線として機能する場合、および導電体の一部がプラグとして機能する場合もある。
【0263】
各プラグ、および配線(導電体328、および導電体330等)の材料としては、金属材料、合金材料、金属窒化物材料、または金属酸化物材料などの導電性材料を、単層または積層して用いることができる。耐熱性と導電性を両立するタングステンやモリブデンなどの高融点材料を用いることが好ましく、タングステンを用いることが好ましい。または、アルミニウムや銅などの低抵抗導電性材料で形成することが好ましい。低抵抗導電性材料を用いることで配線抵抗を低くすることができる。
【0264】
絶縁体326、および導電体330上に、配線層を設けてもよい。例えば、
図18において、絶縁体350、絶縁体352、および絶縁体354が順に積層して設けられている。また、絶縁体350、絶縁体352、および絶縁体354には、導電体356が形成されている。導電体356は、トランジスタ300と接続するプラグ、または配線として機能する。なお導電体356は、導電体328、および導電体330と同様の材料を用いて設けることができる。
【0265】
なお、例えば、絶縁体350は、絶縁体324と同様に、水素に対するバリア性を有する絶縁体を用いることが好ましい。また、導電体356は、水素に対するバリア性を有する導電体を含むことが好ましい。特に、水素に対するバリア性を有する絶縁体350が有する開口部に、水素に対するバリア性を有する導電体が形成される。当該構成により、トランジスタ300とトランジスタ200とは、バリア層により分離することができ、トランジスタ300からトランジスタ200への水素の拡散を抑制することができる。
【0266】
なお、水素に対するバリア性を有する導電体としては、例えば、窒化タンタル等を用いるとよい。また、窒化タンタルと導電性が高いタングステンを積層することで、配線としての導電性を保持したまま、トランジスタ300からの水素の拡散を抑制することができる。この場合、水素に対するバリア性を有する窒化タンタル層が、水素に対するバリア性を有する絶縁体350と接する構造であることが好ましい。
【0267】
絶縁体354、および導電体356上に、配線層を設けてもよい。例えば、
図18において、絶縁体360、絶縁体362、および絶縁体364が順に積層して設けられている。また、絶縁体360、絶縁体362、および絶縁体364には、導電体366が形成されている。導電体366は、プラグ、または配線として機能する。なお導電体366は、導電体328、および導電体330と同様の材料を用いて設けることができる。
【0268】
なお、例えば、絶縁体360は、絶縁体324と同様に、水素に対するバリア性を有する絶縁体を用いることが好ましい。また、導電体366は、水素に対するバリア性を有する導電体を含むことが好ましい。特に、水素に対するバリア性を有する絶縁体360が有する開口部に、水素に対するバリア性を有する導電体が形成される。当該構成により、トランジスタ300とトランジスタ200とは、バリア層により分離することができ、トランジスタ300からトランジスタ200への水素の拡散を抑制することができる。
【0269】
絶縁体364、および導電体366上に、配線層を設けてもよい。例えば、
図18において、絶縁体370、絶縁体372、および絶縁体374が順に積層して設けられている。また、絶縁体370、絶縁体372、および絶縁体374には、導電体376が形成されている。導電体376は、プラグ、または配線として機能する。なお導電体376は、導電体328、および導電体330と同様の材料を用いて設けることができる。
【0270】
なお、例えば、絶縁体370は、絶縁体324と同様に、水素に対するバリア性を有する絶縁体を用いることが好ましい。また、導電体376は、水素に対するバリア性を有する導電体を含むことが好ましい。特に、水素に対するバリア性を有する絶縁体370が有する開口部に、水素に対するバリア性を有する導電体が形成される。当該構成により、トランジスタ300とトランジスタ200とは、バリア層により分離することができ、トランジスタ300からトランジスタ200への水素の拡散を抑制することができる。
【0271】
絶縁体374、および導電体376上に、配線層を設けてもよい。例えば、
図18において、絶縁体380、絶縁体382、および絶縁体384が順に積層して設けられている。また、絶縁体380、絶縁体382、および絶縁体384には、導電体386が形成されている。導電体386は、プラグ、または配線として機能する。なお導電体386は、導電体328、および導電体330と同様の材料を用いて設けることができる。
【0272】
なお、例えば、絶縁体380は、絶縁体324と同様に、水素に対するバリア性を有する絶縁体を用いることが好ましい。また、導電体386は、水素に対するバリア性を有する導電体を含むことが好ましい。特に、水素に対するバリア性を有する絶縁体380が有する開口部に、水素に対するバリア性を有する導電体が形成される。当該構成により、トランジスタ300とトランジスタ200とは、バリア層により分離することができ、トランジスタ300からトランジスタ200への水素の拡散を抑制することができる。
【0273】
上記において、導電体356を含む配線層、導電体366を含む配線層、導電体376を含む配線層、および導電体386を含む配線層、について説明したが、本実施の形態に係る半導体装置はこれに限られるものではない。導電体356を含む配線層と同様の配線層を3層以下にしてもよいし、導電体356を含む配線層と同様の配線層を5層以上にしてもよい。
【0274】
絶縁体384上には絶縁体210、絶縁体212、絶縁体214、および絶縁体216が、順に積層して設けられている。絶縁体210、絶縁体212、絶縁体214、および絶縁体216のいずれかは、酸素や水素に対してバリア性のある物質を用いることが好ましい。
【0275】
例えば、絶縁体210、および絶縁体214には、例えば、基板311、またはトランジスタ300を設ける領域などから、トランジスタ200を設ける領域に、水素や不純物が拡散しないようなバリア性を有する膜を用いることが好ましい。したがって、絶縁体324と同様の材料を用いることができる。
【0276】
水素に対するバリア性を有する膜の一例として、CVD法で形成した窒化シリコンを用いることができる。ここで、トランジスタ200等の酸化物半導体を有する半導体素子に、水素が拡散することで、当該半導体素子の特性が低下する場合がある。したがって、トランジスタ200と、トランジスタ300との間に、水素の拡散を抑制する膜を用いることが好ましい。水素の拡散を抑制する膜とは、具体的には、水素の脱離量が少ない膜とする。
【0277】
また、水素に対するバリア性を有する膜として、例えば、絶縁体210、および絶縁体214には、酸化アルミニウム、酸化ハフニウム、酸化タンタルなどの金属酸化物を用いることが好ましい。
【0278】
特に、酸化アルミニウムは、酸素、およびトランジスタの電気特性の変動要因となる水素、水分などの不純物、の両方に対して膜を透過させない遮断効果が高い。したがって、酸化アルミニウムは、トランジスタの作製工程中および作製後において、水素、水分などの不純物のトランジスタ200への混入を防止することができる。また、トランジスタ200を構成する酸化物からの酸素の放出を抑制することができる。そのため、トランジスタ200に対する保護膜として用いることに適している。
【0279】
また、例えば、絶縁体212、および絶縁体216には、絶縁体320と同様の材料を用いることができる。また、比較的誘電率が低い材料を層間膜とすることで、配線間に生じる寄生容量を低減することができる。例えば、絶縁体212、および絶縁体216として、酸化シリコン膜や酸化窒化シリコン膜などを用いることができる。
【0280】
また、絶縁体210、絶縁体212、絶縁体214、および絶縁体216には、導電体218、およびトランジスタ200を構成する導電体(導電体203)等が埋め込まれている。なお、導電体218は、容量素子100、またはトランジスタ300と接続するプラグ、または配線としての機能を有する。導電体218は、導電体328、および導電体330と同様の材料を用いて設けることができる。
【0281】
特に、絶縁体210、および絶縁体214と接する領域の導電体218は、酸素、水素、および水に対するバリア性を有する導電体であることが好ましい。当該構成により、トランジスタ300とトランジスタ200とは、酸素、水素、および水に対するバリア性を有する層で、分離することができ、トランジスタ300からトランジスタ200への水素の拡散を抑制することができる。
【0282】
絶縁体216の上方には、トランジスタ200が設けられている。
【0283】
図19(A)、(B)に示すように、トランジスタ200は、絶縁体214および絶縁体216に埋め込まれるように配置された導電体203と、絶縁体216と導電体203の上に配置された絶縁体220と、絶縁体220の上に配置された絶縁体222と、絶縁体222の上に配置された絶縁体224と、絶縁体224の上に配置された酸化物230aと、酸化物230aの上に配置された酸化物230bと、酸化物230b上に、互いに離して配置された導電体242a、および導電体242bと、導電体242aおよび導電体242b上に配置され、導電体242aと導電体242bの間に重畳して開口が形成された絶縁体280と、開口の中に配置された導電体260と、酸化物230b、導電体242a、導電体242b、および絶縁体280と、導電体260と、の間に配置された絶縁体250と、酸化物230b、導電体242a、導電体242b、および絶縁体280と、絶縁体250と、の間に配置された酸化物230cと、を有する。また、
図19(A)、(B)に示すように、酸化物230a、酸化物230b、導電体242a、および導電体242bと、絶縁体280の間に絶縁体244が配置されることが好ましい。また、
図19(A)、(B)に示すように、導電体260は、絶縁体250の内側に設けられた導電体260aと、導電体260aの内側に埋め込まれるように設けられた導電体260bと、を有することが好ましい。また、
図19(A)、(B)に示すように、絶縁体280、導電体260、および絶縁体250の上に絶縁体274が配置されることが好ましい。
【0284】
なお、以下において、酸化物230a、酸化物230b、および酸化物230cをまとめて酸化物230という場合がある。また、導電体242aおよび導電体242bをまとめて導電体242という場合がある。
【0285】
なお、トランジスタ200では、チャネルが形成される領域と、その近傍において、酸化物230a、酸化物230b、および酸化物230cの3層を積層する構成について示しているが、本発明はこれに限られるものではない。例えば、酸化物230bの単層、酸化物230bと酸化物230aの2層構造、酸化物230bと酸化物230cの2層構造、または4層以上の積層構造を設ける構成にしてもよい。また、トランジスタ200では、導電体260を2層の積層構造として示しているが、本発明はこれに限られるものではない。例えば、導電体260が、単層構造であってもよいし、3層以上の積層構造であってもよい。また、
図18、
図19(A)(B)に示すトランジスタ200は一例であり、その構造に限定されず、回路構成や駆動方法に応じて適切なトランジスタを用いればよい。
【0286】
ここで、導電体260は、トランジスタのゲート電極として機能し、導電体242aおよび導電体242bは、それぞれソース電極またはドレイン電極として機能する。上記のように、導電体260は、絶縁体280の開口、および導電体242aと導電体242bに挟まれた領域に埋め込まれるように形成される。導電体260、導電体242aおよび導電体242bの配置は、絶縁体280の開口に対して、自己整合的に選択される。つまり、トランジスタ200において、ゲート電極を、ソース電極とドレイン電極の間に、自己整合的に配置させることができる。よって、導電体260を位置合わせのマージンを設けることなく形成することができるので、トランジスタ200の占有面積の縮小を図ることができる。これにより、半導体装置の微細化、高集積化を図ることができる。
【0287】
さらに、導電体260が、導電体242aと導電体242bの間の領域に自己整合的に形成されるので、導電体260は、導電体242aまたは導電体242bと重畳する領域を有さない。これにより、導電体260と導電体242aおよび導電体242bとの間に形成される寄生容量を低減することができる。よって、トランジスタ200のスイッチング速度を向上させ、高い周波数特性を有せしめることができる。
【0288】
導電体260は、第1のゲート(トップゲートともいう。)電極として機能する場合がある。また、導電体203は、第2のゲート(ボトムゲートともいう。)電極として機能する場合がある。その場合、導電体203に印加する電位を、導電体260に印加する電位と、連動させず、独立して変化させることで、トランジスタ200のVthを制御することができる。特に、導電体203に負の電位を印加することにより、トランジスタ200のVthを0Vより大きくし、オフ電流を低減することが可能となる。したがって、導電体203に負の電位を印加したほうが、印加しない場合よりも、導電体260に印加する電位が0Vのときのドレイン電流を小さくすることができる。
【0289】
導電体203は、酸化物230、および導電体260と、重なるように配置する。これにより、導電体260、および導電体203に電位を印加した場合、導電体260から生じる電界と、導電体203から生じる電界と、がつながり、酸化物230に形成されるチャネル形成領域を覆うことができる。本明細書において、第1のゲート電極、および第2のゲート電極の電界によって、チャネル形成領域を電気的に取り囲むトランジスタの構造を、surrounded channel(S-channel)構造とよぶ。
【0290】
また、導電体203は、導電体218と同様の構成であり、絶縁体214および絶縁体216の開口の内壁に接して導電体203aが形成され、さらに内側に導電体203bが形成されている。
【0291】
絶縁体220、絶縁体222、絶縁体224、および絶縁体250は、ゲート絶縁体としての機能を有する。
【0292】
ここで、酸化物230と接する絶縁体224は、化学量論的組成を満たす酸素よりも多くの酸素を含む絶縁体を用いることが好ましい。つまり、絶縁体224には、過剰酸素領域が形成されていることが好ましい。このような過剰酸素を含む絶縁体を酸化物230に接して設けることにより、酸化物230中の酸素欠損を低減し、トランジスタ200の信頼性を向上させることができる。
【0293】
過剰酸素領域を有する絶縁体として、具体的には、加熱により一部の酸素が脱離する酸化物材料を用いることが好ましい。加熱により酸素を脱離する酸化物とは、TDS分析にて、酸素原子に換算しての酸素の脱離量が1.0×1018atoms/cm3以上、好ましくは1.0×1019atoms/cm3以上、さらに好ましくは2.0×1019atoms/cm3以上、または3.0×1020atoms/cm3以上である酸化物膜である。なお、上記TDS分析時における膜の表面温度としては100℃以上700℃以下、または100℃以上400℃以下の範囲が好ましい。
【0294】
また、絶縁体224が、過剰酸素領域を有する場合、絶縁体222は、酸素(例えば、酸素原子、酸素分子などの少なくとも一)の拡散を抑制する機能を有する(上記酸素が透過しにくい。)ことが好ましい。
【0295】
絶縁体222が、酸素や不純物の拡散を抑制する機能を有することで、酸化物230が有する酸素は、絶縁体220側へ拡散することがなく、好ましい。また、導電体203が、絶縁体224や、酸化物230が有する酸素と反応することを抑制することができる。
【0296】
絶縁体222は、例えば、酸化アルミニウム、酸化ハフニウム、酸化タンタル、酸化ジルコニウム、チタン酸ジルコン酸鉛(PZT)、チタン酸ストロンチウム(SrTiO3)または(Ba,Sr)TiO3(BST)などを含む絶縁体を単層または積層で用いることが好ましい。トランジスタの微細化、および高集積化が進むと、ゲート絶縁体の薄膜化により、リーク電流などの問題が生じる場合がある。ゲート絶縁体として機能する絶縁体にhigh-k材料を用いることで、物理膜厚を保ちながら、トランジスタ動作時のゲート電位の低減が可能となる。
【0297】
特に、不純物、および酸素などの拡散を抑制する機能を有する(上記酸素が透過しにくい。)絶縁性材料であるアルミニウムおよびハフニウムの一方または双方の酸化物を含む絶縁体を用いるとよい。アルミニウムおよびハフニウムの一方または双方の酸化物を含む絶縁体として、酸化アルミニウム、酸化ハフニウム、アルミニウムおよびハフニウムを含む酸化物(ハフニウムアルミネート)などを用いることが好ましい。このような材料を用いて絶縁体222を形成した場合、絶縁体222は、酸化物230からの酸素の放出や、トランジスタ200の周辺部から酸化物230への水素等の不純物の混入を抑制する層として機能する。
【0298】
または、これらの絶縁体に、例えば、酸化アルミニウム、酸化ビスマス、酸化ゲルマニウム、酸化ニオブ、酸化シリコン、酸化チタン、酸化タングステン、酸化イットリウム、酸化ジルコニウムを添加してもよい。またはこれらの絶縁体を窒化処理してもよい。上記の絶縁体に酸化シリコン、酸化窒化シリコンまたは窒化シリコンを積層して用いてもよい。
【0299】
また、絶縁体220は、熱的に安定していることが好ましい。例えば、酸化シリコンおよび酸化窒化シリコンは、熱的に安定であるため、好適である。また、high-k材料の絶縁体と酸化シリコン、または酸化窒化シリコンとを組み合わせることで、熱的に安定かつ比誘電率の高い積層構造の絶縁体220を得ることができる。
【0300】
なお、絶縁体220、絶縁体222、および絶縁体224が、2層以上の積層構造を有していてもよい。その場合、同じ材料からなる積層構造に限定されず、異なる材料からなる積層構造でもよい。
【0301】
トランジスタ200は、チャネル形成領域を含む酸化物230に、酸化物半導体として機能する金属酸化物を用いることが好ましい。例えば、酸化物230として、In-M-Zn酸化物(元素Mは、アルミニウム、ガリウム、イットリウム、銅、バナジウム、ベリリウム、ホウ素、チタン、鉄、ニッケル、ゲルマニウム、ジルコニウム、モリブデン、ランタン、セリウム、ネオジム、ハフニウム、タンタル、タングステン、またはマグネシウムなどから選ばれた一種、または複数種)等の金属酸化物を用いるとよい。また、酸化物230として、In-Ga酸化物、In-Zn酸化物を用いてもよい。
【0302】
酸化物230においてチャネル形成領域として機能する金属酸化物は、バンドギャップが2eV以上、好ましくは2.5eV以上のものを用いることが好ましい。このように、バンドギャップの大きい金属酸化物を用いることで、トランジスタのオフ電流を低減することができる。
【0303】
酸化物230は、酸化物230b下に酸化物230aを有することで、酸化物230aよりも下方に形成された構造物から、酸化物230bへの不純物の拡散を抑制することができる。また、酸化物230b上に酸化物230cを有することで、酸化物230cよりも上方に形成された構造物から、酸化物230bへの不純物の拡散を抑制することができる。
【0304】
なお、酸化物230は、各金属原子の原子数比が異なる酸化物により、積層構造を有することが好ましい。具体的には、酸化物230aに用いる金属酸化物において、構成元素中の元素Mの原子数比が、酸化物230bに用いる金属酸化物における、構成元素中の元素Mの原子数比より、大きいことが好ましい。また、酸化物230aに用いる金属酸化物において、Inに対する元素Mの原子数比が、酸化物230bに用いる金属酸化物における、Inに対する元素Mの原子数比より大きいことが好ましい。また、酸化物230bに用いる金属酸化物において、元素Mに対するInの原子数比が、酸化物230aに用いる金属酸化物における、元素Mに対するInの原子数比より大きいことが好ましい。また、酸化物230cは、酸化物230aまたは酸化物230bに用いることができる金属酸化物を、用いることができる。
【0305】
また、酸化物230aおよび酸化物230cの伝導帯下端のエネルギーが、酸化物230bの伝導帯下端のエネルギーより高くなることが好ましい。また、言い換えると、酸化物230aおよび酸化物230cの電子親和力が、酸化物230bの電子親和力より小さいことが好ましい。
【0306】
ここで、酸化物230a、酸化物230b、および酸化物230cの接合部において、伝導帯下端のエネルギー準位はなだらかに変化する。換言すると、酸化物230a、酸化物230b、および酸化物230cの接合部における伝導帯下端のエネルギー準位は、連続的に変化または連続接合するともいうことができる。このようにするためには、酸化物230aと酸化物230bとの界面、および酸化物230bと酸化物230cとの界面において形成される混合層の欠陥準位密度を低くするとよい。
【0307】
具体的には、酸化物230aと酸化物230b、酸化物230bと酸化物230cが、酸素以外に共通の元素を有する(主成分とする。)ことで、欠陥準位密度が低い混合層を形成することができる。例えば、酸化物230bがIn-Ga-Zn酸化物の場合、酸化物230aおよび酸化物230cとして、In-Ga-Zn酸化物、Ga-Zn酸化物、酸化ガリウムなどを用いるとよい。
【0308】
このとき、キャリアの主たる経路は酸化物230bとなる。酸化物230a、酸化物230cを上述の構成とすることで、酸化物230aと酸化物230bとの界面、および酸化物230bと酸化物230cとの界面における欠陥準位密度を低くすることができる。そのため、界面散乱によるキャリア伝導への影響が小さくなり、トランジスタ200は高いオン電流を得られる。
【0309】
酸化物230b上には、ソース電極、およびドレイン電極として機能する導電体242(導電体242a、および導電体242b)が設けられる。導電体242としては、アルミニウム、クロム、銅、銀、金、白金、タンタル、ニッケル、チタン、モリブデン、タングステン、ハフニウム、バナジウム、ニオブ、マンガン、マグネシウム、ジルコニウム、ベリリウム、インジウム、ルテニウム、イリジウム、ストロンチウム、ランタンから選ばれた金属元素、または上述した金属元素を成分とする合金か、上述した金属元素を組み合わせた合金等を用いることが好ましい。例えば、窒化タンタル、窒化チタン、タングステン、チタンとアルミニウムを含む窒化物、タンタルとアルミニウムを含む窒化物、酸化ルテニウム、窒化ルテニウム、ストロンチウムとルテニウムを含む酸化物、ランタンとニッケルを含む酸化物などを用いることが好ましい。また、窒化タンタル、窒化チタン、チタンとアルミニウムを含む窒化物、タンタルとアルミニウムを含む窒化物、酸化ルテニウム、窒化ルテニウム、ストロンチウムとルテニウムを含む酸化物、ランタンとニッケルを含む酸化物は、酸化しにくい導電性材料、または、酸素を吸収しても導電性を維持する材料であるため、好ましい。
【0310】
また、
図19(A)に示すように、酸化物230の、導電体242との界面とその近傍には、低抵抗領域として、領域243(領域243a、および領域243b)が形成される場合がある。このとき、領域243aはソース領域またはドレイン領域の一方として機能し、領域243bはソース領域またはドレイン領域の他方として機能する。また、領域243aと領域243bに挟まれる領域にチャネル形成領域が形成される。
【0311】
酸化物230と接するように上記導電体242を設けることで、領域243の酸素濃度が低減する場合がある。また、領域243に導電体242に含まれる金属と、酸化物230の成分とを含む金属化合物層が形成される場合がある。このような場合、領域243のキャリア密度が増加し、領域243は、低抵抗領域となる。
【0312】
絶縁体244は、導電体242を覆うように設けられ、導電体242の酸化を抑制する。このとき、絶縁体244は、酸化物230の側面を覆い、絶縁体224と接するように設けられてもよい。
【0313】
絶縁体244として、ハフニウム、アルミニウム、ガリウム、イットリウム、ジルコニウム、タングステン、チタン、タンタル、ニッケル、ゲルマニウム、または、マグネシウムなどから選ばれた一種、または二種以上が含まれた金属酸化物を用いることができる。
【0314】
特に、絶縁体244として、アルミニウムおよびハフニウムの一方または双方の酸化物を含む絶縁体である、酸化アルミニウム、酸化ハフニウム、アルミニウムおよびハフニウムを含む酸化物(ハフニウムアルミネート)などを用いることが好ましい。特に、ハフニウムアルミネートは、酸化ハフニウム膜よりも、耐熱性が高い。そのため、後の工程での熱処理において、結晶化しにくいため好ましい。なお、導電体242が耐酸化性を有する材料、または、酸素を吸収しても著しく導電性が低下しない場合、絶縁体244は、必須の構成ではない。求めるトランジスタ特性により、適宜設計すればよい。
【0315】
絶縁体250は、ゲート絶縁体として機能する。絶縁体250は、酸化物230cの内側(上面および側面)接して配置することが好ましい。絶縁体250は、加熱により酸素が放出される絶縁体を用いて形成することが好ましい。例えば、TDS分析にて、酸素原子に換算しての酸素の脱離量が1.0×1018atoms/cm3以上、好ましくは1.0×1019atoms/cm3以上、さらに好ましくは2.0×1019atoms/cm3以上、または3.0×1020atoms/cm3以上である酸化物膜である。なお、上記TDS分析時における膜の表面温度としては100℃以上700℃以下の範囲が好ましい。
【0316】
具体的には、過剰酸素を有する酸化シリコン、酸化窒化シリコン、窒化酸化シリコン、窒化シリコン、フッ素を添加した酸化シリコン、炭素を添加した酸化シリコン、炭素および窒素を添加した酸化シリコン、空孔を有する酸化シリコンを用いることができる。特に、酸化シリコン、および酸化窒化シリコンは熱に対し安定であるため好ましい。
【0317】
加熱により酸素が放出される絶縁体を、絶縁体250として、酸化物230cの上面に接して設けることにより、絶縁体250から、酸化物230cを通じて、酸化物230bのチャネル形成領域に効果的に酸素を供給することができる。また、絶縁体224と同様に、絶縁体250中の水または水素などの不純物濃度が低減されていることが好ましい。絶縁体250の膜厚は、1nm以上20nm以下とするのが好ましい。
【0318】
また、絶縁体250が有する過剰酸素を、効率的に酸化物230へ供給するために、絶縁体250と導電体260との間に金属酸化物を設けてもよい。当該金属酸化物は、絶縁体250から導電体260への酸素拡散を抑制することが好ましい。酸素の拡散を抑制する金属酸化物を設けることで、絶縁体250から導電体260への過剰酸素の拡散が抑制される。つまり、酸化物230へ供給する過剰酸素量の減少を抑制することができる。また、過剰酸素による導電体260の酸化を抑制することができる。当該金属酸化物としては、絶縁体244に用いることができる材料を用いればよい。
【0319】
第1のゲート電極として機能する導電体260は、
図19(A)、(B)では2層構造として示しているが、単層構造でもよいし、3層以上の積層構造であってもよい。
【0320】
導電体260aは、水素原子、水素分子、水分子、窒素原子、窒素分子、酸化窒素分子(N2O、NO、NO2など)、銅原子などの不純物の拡散を抑制する機能を有する導電性材料を用いることが好ましい。または、酸素(例えば、酸素原子、酸素分子などの少なくとも一)の拡散を抑制する機能を有する導電性材料を用いることが好ましい。導電体260aが酸素の拡散を抑制する機能を持つことにより、絶縁体250に含まれる酸素により、導電体260bが酸化して導電率が低下することを抑制することができる。酸素の拡散を抑制する機能を有する導電性材料としては、例えば、タンタル、窒化タンタル、ルテニウム、または酸化ルテニウムなどを用いることが好ましい。
【0321】
また、導電体260bは、タングステン、銅、またはアルミニウムを主成分とする導電性材料を用いることが好ましい。また、導電体260bは、配線としても機能するため、導電性が高い導電体を用いることが好ましい。例えば、タングステン、銅、またはアルミニウムを主成分とする導電性材料を用いることができる。また、導電体260bは積層構造としてもよく、例えば、チタン、窒化チタンと上記導電性材料との積層構造としてもよい。
【0322】
絶縁体280は、絶縁体244を介して、導電体242上に設けられる。絶縁体280は、過剰酸素領域を有することが好ましい。例えば、絶縁体280として、酸化シリコン、酸化窒化シリコン、窒化酸化シリコン、窒化シリコン、フッ素を添加した酸化シリコン、炭素を添加した酸化シリコン、炭素および窒素を添加した酸化シリコン、空孔を有する酸化シリコン、または樹脂などを有することが好ましい。特に、酸化シリコンおよび酸化窒化シリコンは、熱的に安定であるため好ましい。特に、酸化シリコン、空孔を有する酸化シリコンは、後の工程で、容易に過剰酸素領域を形成することができるため好ましい。
【0323】
絶縁体280は、過剰酸素領域を有することが好ましい。加熱により酸素が放出される絶縁体280を、酸化物230cと接して設けることで、絶縁体280中の酸素を、酸化物230cを通じて、酸化物230の領域243へと効率良く供給することができる。なお、絶縁体280中の水または水素などの不純物濃度が低減されていることが好ましい。
【0324】
絶縁体280の開口は、導電体242aと導電体242bの間の領域に重畳して形成される。これにより、導電体260は、絶縁体280の開口、および導電体242aと導電体242bに挟まれた領域に、埋め込まれるように形成される。
【0325】
半導体装置を微細化するに当たり、ゲート長を短くすることが求められるが、導電体260の導電性が下がらないようにする必要がある。そのために導電体260の膜厚を大きくすると、導電体260はアスペクト比が高い形状となりうる。本実施の形態では、導電体260を絶縁体280の開口に埋め込むように設けるため、導電体260をアスペクト比の高い形状にしても、工程中に導電体260を倒壊させることなく、形成することができる。
【0326】
絶縁体274は、絶縁体280の上面、導電体260の上面、および絶縁体250の上面に接して設けられることが好ましい。絶縁体274をスパッタリング法で成膜することで、絶縁体250および絶縁体280へ過剰酸素領域を設けることができる。これにより、当該過剰酸素領域から、酸化物230中に酸素を供給することができる。
【0327】
例えば、絶縁体274として、ハフニウム、アルミニウム、ガリウム、イットリウム、ジルコニウム、タングステン、チタン、タンタル、ニッケル、ゲルマニウム、またはマグネシウムなどから選ばれた一種、または二種以上が含まれた金属酸化物を用いることができる。
【0328】
特に、酸化アルミニウムはバリア性が高く、0.5nm以上3.0nm以下の薄膜であっても、水素、および窒素の拡散を抑制することができる。したがって、スパッタリング法で成膜した酸化アルミニウムは、酸素供給源であるとともに、水素などの不純物のバリア膜としての機能も有することができる。
【0329】
また、絶縁体274の上に、層間膜として機能する絶縁体281を設けることが好ましい。絶縁体281は、絶縁体224などと同様に、膜中の水または水素などの不純物濃度が低減されていることが好ましい。
【0330】
また、絶縁体281、絶縁体274、絶縁体280、および絶縁体244に形成された開口に、導電体240aおよび導電体240bを配置する。導電体240aおよび導電体240bは、導電体260を挟んで対向して設ける。導電体240aおよび導電体240bは、後述する導電体246および導電体248と同様の構成である。
【0331】
絶縁体281上には、絶縁体282が設けられている。絶縁体282は、酸素や水素に対してバリア性のある物質を用いることが好ましい。したがって、絶縁体282には、絶縁体214と同様の材料を用いることができる。例えば、絶縁体282には、酸化アルミニウム、酸化ハフニウム、酸化タンタルなどの金属酸化物を用いることが好ましい。
【0332】
特に、酸化アルミニウムは、酸素、およびトランジスタの電気特性の変動要因となる水素、水分などの不純物、の両方に対して膜を透過させない遮断効果が高い。したがって、酸化アルミニウムは、トランジスタの作製工程中および作製後において、水素、水分などの不純物のトランジスタ200への混入を防止することができる。また、トランジスタ200を構成する酸化物からの酸素の放出を抑制することができる。そのため、トランジスタ200に対する保護膜として用いることに適している。
【0333】
また、絶縁体282上には、絶縁体286が設けられている。絶縁体286は、絶縁体320と同様の材料を用いることができる。また、比較的誘電率が低い材料を層間膜とすることで、配線間に生じる寄生容量を低減することができる。例えば、絶縁体286として、酸化シリコン膜や酸化窒化シリコン膜などを用いることができる。
【0334】
また、絶縁体220、絶縁体222、絶縁体224、絶縁体244、絶縁体280、絶縁体274、絶縁体281、絶縁体282、および絶縁体286には、導電体246、および導電体248等が埋め込まれている。
【0335】
導電体246、および導電体248は、容量素子100、トランジスタ200、またはトランジスタ300と接続するプラグ、または配線として機能する。導電体246、および導電体248は、導電体328、および導電体330と同様の材料を用いて設けることができる。
【0336】
続いて、トランジスタ200の上方には、容量素子100が設けられている。容量素子100は、導電体110と、導電体120、絶縁体130とを有する。
【0337】
また、導電体246、および導電体248上に、導電体112を設けてもよい。導電体112は、トランジスタ200と接続するプラグ、または配線としての機能を有する。導電体110は、容量素子100の電極としての機能を有する。なお、導電体112、および導電体110は、同時に形成することができる。
【0338】
導電体112、および導電体110には、モリブデン、チタン、タンタル、タングステン、アルミニウム、銅、クロム、ネオジム、スカンジウムから選ばれた元素を含む金属膜、または上述した元素を成分とする金属窒化物膜(窒化タンタル膜、窒化チタン膜、窒化モリブデン膜、窒化タングステン膜)等を用いることができる。または、インジウム錫酸化物、酸化タングステンを含むインジウム酸化物、酸化タングステンを含むインジウム亜鉛酸化物、酸化チタンを含むインジウム酸化物、酸化チタンを含むインジウム錫酸化物、インジウム亜鉛酸化物、酸化ケイ素を添加したインジウム錫酸化物などの導電性材料を適用することもできる。
【0339】
図18では、導電体112、および導電体110は単層構造を示したが、当該構成に限定されず、2層以上の積層構造でもよい。例えば、バリア性を有する導電体と導電性が高い導電体との間に、バリア性を有する導電体、および導電性が高い導電体に対して密着性が高い導電体を形成してもよい。
【0340】
絶縁体130を介して、導電体110と重畳するように、導電体120を設ける。なお、導電体120は、金属材料、合金材料、または金属酸化物材料などの導電性材料を用いることができる。耐熱性と導電性を両立するタングステンやモリブデンなどの高融点材料を用いることが好ましく、特にタングステンを用いることが好ましい。また、導電体などの他の構造と同時に形成する場合は、低抵抗金属材料であるCu(銅)やAl(アルミニウム)等を用いればよい。
【0341】
導電体120、および絶縁体130上には、絶縁体150が設けられている。絶縁体150は、絶縁体320と同様の材料を用いて設けることができる。また、絶縁体150は、その下方の凹凸形状を被覆する平坦化膜として機能してもよい。
【0342】
本構造を用いることで、酸化物半導体を有するトランジスタを用いた半導体装置において、電気特性の変動を抑制するとともに、信頼性を向上させることができる。または、オン電流が大きい酸化物半導体を有するトランジスタを提供することができる。または、オフ電流が小さい酸化物半導体を有するトランジスタを提供することができる。または、消費電力が低減された半導体装置を提供することができる。または、酸化物半導体を有するトランジスタを用いた半導体装置において、微細化または高集積化を図ることができる。
【0343】
<トランジスタの構成例1>
図18および
図19では、ソース電極またはドレイン電極として機能する導電体242が、酸化物230に接して形成されている構成例について説明したが、OSトランジスタの構成はこれに限られない。例えば、導電体242を設けず、酸化物230を選択的に低抵抗化することで、酸化物230bにソース領域またはドレイン領域が設けられた構成を用いることもできる。このようなトランジスタの構成例を、
図20に示す。
【0344】
図20(A)はトランジスタ200Aのチャネル長方向の断面図であり、
図20(B)はトランジスタ200Aのチャネル幅方向の断面図である。なお、
図20に示すトランジスタ200Aは
図19に示すトランジスタ200の変形例である。よって、説明の繰り返しを防ぐため、主にトランジスタ200と異なる点について説明する。
【0345】
トランジスタ200Aは、トランジスタ200と同様に、チャネル形成領域を含む酸化物230に、酸化物半導体として機能する金属酸化物を用いることができる。
【0346】
酸化物230は、酸素欠損を形成する元素、または酸素欠損と結合する元素を添加されることで、キャリア密度が増大し、低抵抗化する場合がある。酸化物230を低抵抗化する元素としては、代表的には、ホウ素、またはリンが挙げられる。また、水素、炭素、窒素、フッ素、硫黄、塩素、チタン、希ガス等を用いてもよい。希ガスの代表例としては、ヘリウム、ネオン、アルゴン、クリプトン、およびキセノン等がある。
【0347】
なお、上記元素の濃度は、二次イオン質量分析法(SIMS:Secondary Ion Mass Spectrometry)などを用いて測定すればよい。
【0348】
特に、ホウ素、およびリンは、アモルファスシリコン、または低温ポリシリコンの製造ラインの装置を使用することができるため、好ましい。当該製造ラインの装置を転用することによって、設備投資を抑制することができる。
【0349】
図20に示す、領域243(領域243a、および領域243b)は、酸化物230bに上記の元素が添加された領域である。領域243は、例えば、ダミーゲートを用いることで形成することができる。
【0350】
例えば、酸化物230b上にダミーゲートを設け、当該ダミーゲートをマスクとして用い、上記酸化物230bを低抵抗化する元素を添加するとよい。つまり、酸化物230が、ダミーゲートと重畳していない領域に、当該元素が添加され、領域243が形成される。なお、当該元素の添加方法としては、イオン化された原料ガスを質量分離して添加するイオン注入法、イオン化された原料ガスを質量分離せずに添加するイオンドーピング法、プラズマイマージョンイオンインプランテーション法などを用いることができる。
【0351】
続いて、酸化物230b、およびダミーゲート上に、絶縁体244となる絶縁膜、および絶縁体245となる絶縁膜を成膜してもよい。後述するが、ダミーゲートを除去する前に、ダミーゲート上に絶縁体244となる絶縁膜、および絶縁体245となる絶縁膜を積層して設けることで、ダミーゲートを除去した後の開口部の側壁に絶縁体244と絶縁体245の積層膜を形成する。ダミーゲート上に形成された絶縁体244と絶縁体245の積層膜上から酸化物230bを低抵抗化する元素を添加する。領域243は、ダミーゲートの下部にも広がることで、領域243と、酸化物230cおよび絶縁体250とが重畳する領域を設けることができる。
【0352】
具体的には、絶縁体245となる絶縁膜上に絶縁体280となる絶縁膜を設けた後、絶縁体280となる絶縁膜にCMP(Chemical Mechanical Polishing)処理を行うことで、絶縁体280となる絶縁膜の一部を除去し、ダミーゲートを露出する。続いて、ダミーゲートを除去する際に、ダミーゲートと接する絶縁体244の一部も除去するとよい。従って、絶縁体280に設けられた開口部の側面には、絶縁体245、および絶縁体244が露出し、当該開口部の底面には、酸化物230bに設けられた領域243の一部が露出する。次に、当該開口部に酸化物230cとなる酸化膜、絶縁体250となる絶縁膜、および導電体260となる導電膜を順に成膜した後、絶縁体280が露出するまでCMP処理などにより、酸化物230cとなる酸化膜、絶縁体250となる絶縁膜、および導電体260となる導電膜の一部を除去することで、
図20に示すトランジスタを形成することができる。
【0353】
なお、絶縁体244、および絶縁体245は必須の構成ではない。求めるトランジスタ特性により、適宜設計すればよい。
【0354】
図20に示すトランジスタ200Aは、既存の装置を転用することができ、さらに、トランジスタ200と異なって導電体242を設けないため、コストの低減を図ることができる。
【符号の説明】
【0355】
DA1:信号線、DA2:信号線、DAM1:信号線、DAM2:信号線、DAP1:信号線、DAP2:信号線、FN10:ノード、FN20:ノード、FN30:ノード、FN40:ノード、FN50:ノード、FN60:ノード、FN70:ノード、FN80:ノード、FO1:信号線、FO2:信号線、FO3:信号線、FO4:信号線、FOUT1:信号線、FOUT2:信号線、I1:電流、I2:電流、I3:電流、I4:電流、I5:電流、M1:メモリ、M2:メモリ、M3:メモリ、M4:メモリ、M5:メモリ、M6:メモリ、21:メモリ、24a:メモリ、24b:メモリ、31a:メモリ、31b:メモリ、31c:メモリ、31d:メモリ、MB1:信号線、MB2:信号線、REM1:信号線、REM2:信号線、REP1:信号線、REP2:信号線、S1:スイッチ、S2:スイッチ、S3:スイッチ、S4:スイッチ、S5:スイッチ、S6:スイッチ、S7:スイッチ、S8:スイッチ、S9:スイッチ、S10:スイッチ、S11:スイッチ、S12:スイッチ、S13:スイッチ、S14:スイッチ、S15:スイッチ、SW0:スイッチ、SW1:スイッチ、UFM1:信号線、UFM2:信号線、UFP1:信号線、UFP2:信号線、WEM1:信号線、WEM2:信号線、WEP1:信号線、WEP2:信号線、WL1:信号線、10:加算回路、10a:加算回路、11:乗算セル、11a:乗算セル、12:リファレンスセル、12a:リファレンスセル、13:演算回路、13a:演算回路、15:変換回路、15a:IV変換回路、15b:増幅回路、20:セレクタ、22:カウンタ、22a:CNP、22b:CNM、23:制御回路、24:セレクタ、25:制御回路、26:ゼロインサーション回路、26a:ゼロインサーション回路、26b:ゼロインサーション回路、26c:ゲート回路、27:加算回路、28:加算回路、29:ゲート回路、30:制御回路、31:セレクタ、32:制御回路、33a:ゼロインサーション回路、33b:ゼロインサーション回路、40:乗算回路、40a:乗算回路、41:トランジスタ、42:トランジスタ、42a:トランジスタ、43:容量素子、44:トランジスタ、45:トランジスタ、45a:トランジスタ、46:容量素子、47:トランジスタ、48:トランジスタ、49:トランジスタ、49a:トランジスタ、50:容量素子、51:トランジスタ、51a:トランジスタ、52:容量素子、61:トランジスタ、62:トランジスタ、62a:トランジスタ、63:容量素子、64:トランジスタ、65:トランジスタ、65a:トランジスタ、66:容量素子、67:トランジスタ、67a:トランジスタ、68:容量素子、69:トランジスタ、69a:トランジスタ、70:容量素子、71:トランジスタ、71a:トランジスタ、72:トランジスタ、72a:トランジスタ、73:容量素子、74:トランジスタ、74a:トランジスタ、75:容量素子、76:トランジスタ、76a:トランジスタ、77:容量素子、80:半導体装置、81:CPU、82:メモリ、83:撮像装置、84:ニューラルネットワーク、84a:乗算セルブロック、84b:ニューロン、84c:ニューラルネットワーク、85a:ディスプレイコントローラ、85b:表示装置、86:入出力バス、90:スイッチ