人工ニューラルネットワーク(以後、ニューラルネットワークと呼称する。)において、シナプスの結合強度は、ニューラルネットワークに既存の情報を与えることによって、変化することができる。このように、ニューラルネットワークに既存の情報を与えて、結合強度を決める処理を「学習」と呼ぶ場合がある。
また、「学習」を行った(結合強度を定めた)ニューラルネットワークに対して、何らかの情報を与えることにより、その結合強度に基づいて新たな情報を出力することができる。このように、ニューラルネットワークにおいて、与えられた情報と結合強度に基づいて新たな情報を出力する処理を「推論」又は「認知」と呼ぶ場合がある。
ニューラルネットワークのモデルとしては、例えば、ホップフィールド型、階層型などが挙げられる。特に、多層構造としたニューラルネットワークを「ディープニューラルネットワーク」(DNN)と呼称し、ディープニューラルネットワークによる機械学習を「ディープラーニング」と呼称する場合がある。
本明細書等において、金属酸化物(metal oxide)とは、広い意味での金属の酸化物である。金属酸化物は、酸化物絶縁体、酸化物導電体(透明酸化物導電体を含む)、酸化物半導体(Oxide Semiconductor又は単にOSともいう)などに分類される。例えば、トランジスタの活性層に金属酸化物を用いた場合、当該金属酸化物を酸化物半導体と呼称する場合がある。つまり、金属酸化物が増幅作用、整流作用、及びスイッチング作用の少なくとも1つを有するトランジスタのチャネル形成領域を構成し得る場合、当該金属酸化物を、金属酸化物半導体(metal oxide semiconductor)、略してOSと呼ぶことができる。また、OSトランジスタと記載する場合においては、金属酸化物又は酸化物半導体を有するトランジスタと換言することができる。
また、本明細書等において、窒素を有する金属酸化物も金属酸化物(metal oxide)と総称する場合がある。また、窒素を有する金属酸化物を、金属酸窒化物(metal oxynitride)と呼称してもよい。
また、本明細書等において、各実施の形態に示す構成は、他の実施の形態に示す構成と適宜組み合わせて、本発明の一態様とすることができる。また、1つの実施の形態の中に、複数の構成例が示される場合は、互いに構成例を適宜組み合わせることが可能である。
なお、ある一つの実施の形態の中で述べる内容(一部の内容でもよい)は、その実施の形態で述べる別の内容(一部の内容でもよい)と、一つ若しくは複数の別の実施の形態で述べる内容(一部の内容でもよい)との少なくとも一つの内容に対して、適用、組み合わせ、又は置き換えなどを行うことができる。
なお、実施の形態の中で述べる内容とは、各々の実施の形態において、様々な図を用いて述べる内容、又は明細書に記載される文章を用いて述べる内容のことである。
なお、ある一つの実施の形態において述べる図(一部でもよい)は、その図の別の部分、その実施の形態において述べる別の図(一部でもよい)と、一つ若しくは複数の別の実施の形態において述べる図(一部でもよい)との少なくとも一つの図に対して、組み合わせることにより、さらに多くの図を構成させることができる。
本明細書に記載の実施の形態について図面を参照しながら説明している。但し、実施の形態は多くの異なる態様で実施することが可能であり、趣旨及びその範囲から逸脱することなく、その形態及び詳細を様々に変更し得ることは当業者であれば容易に理解される。従って、本発明は、実施の形態の記載内容に限定して解釈されるものではない。なお、実施の形態の発明の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、その繰り返しの説明は省略する場合がある。また、斜視図などにおいて、図面の明確性を期すために、一部の構成要素の記載を省略している場合がある。
本明細書等において、複数の要素に同じ符号を用いる場合、特に、それらを区別する必要があるときには、符号に“_1”、“[n]”、“[m,n]”等の識別用の符号を付記して記載する場合がある。
また、本明細書の図面において、大きさ、層の厚さ、又は領域は、明瞭化のために誇張されている場合がある。よって、必ずしもそのスケールに限定されない。なお図面は、理想的な例を模式的に示したものであり、図面に示す形状又は値などに限定されない。例えば、ノイズによる信号、電圧、若しくは電流のばらつき、又は、タイミングのずれによる信号、電圧、若しくは電流のばらつきなどを含むことが可能である。
また、本明細書等について、In:Ga:Zn=4:2:3またはその近傍とは、原子数の総和に対して、Inが4の場合、Gaが1以上3以下(1≦Ga≦3)であり、Znが2以上4.1以下(2≦Zn≦4.1)とする。また、In:Ga:Zn=5:1:6またはその近傍とは、原子数の総和に対して、Inが5の場合、Gaが0.1より大きく2以下(0.1<Ga≦2)であり、Znが5以上7以下(5≦Zn≦7)とする。また、In:Ga:Zn=1:1:1またはその近傍とは、原子数の総和に対して、Inが1の場合、Gaが0.1より大きく2以下(0.1<Ga≦2)であり、Znが0.1より大きく2以下(0.1<Zn≦2)とする。また、In:Ga:Zn=5:1:3またはその近傍とは、原子数の総和に対して、Inが5の場合、Gaが0.5以上1.5以下(0.5≦Ga≦1.5)であり、Znが2以上4.1以下(2≦Zn≦4.1)とする。また、In:Ga:Zn=10:1:3またはその近傍とは、原子数の総和に対して、Inが10の場合、Gaが0.5以上1.5以下(0.5≦Ga≦1.5)であり、Znが2以上4.1以下(2≦Zn≦4.1)とする。また、In:Zn=2:1またはその近傍とは、原子数の総和に対して、Inが1の場合、Znは0.25より大きく0.75以下(0.25<Zn≦0.75)とする。また、In:Zn=5:1またはその近傍とは、原子数の総和に対して、Inが1の場合、Znは0.12より大きく0.25以下(0.12<Zn≦0.25)とする。また、In:Zn=10:1またはその近傍とは、原子数の総和に対して、Inが1の場合、Znは0.07より大きく0.12以下(0.07<Zn≦0.12)とする。
(実施の形態1)
本実施の形態では、本発明の一態様の半導体装置である、ニューラルネットワークの演算を行う演算回路について説明する。
<階層型のニューラルネットワーク>
初めに、階層型のニューラルネットワークについて説明する。階層型のニューラルネットワークは、一例としては、一の入力層と、一又は複数の中間層(隠れ層)と、一の出力層と、を有し、合計3以上の層によって構成されている。図1Aに示す階層型のニューラルネットワーク100はその一例を示しており、ニューラルネットワーク100は、第1層乃至第R層(ここでのRは4以上の整数とすることができる。)を有している。特に、第1層は入力層に相当し、第R層は出力層に相当し、それら以外の層は中間層に相当する。なお、図1Aには、中間層として第(k-1)層、第k層(ここでのkは3以上R-1以下の整数とする。)を図示しており、それ以外の中間層については図示を省略している。
ニューラルネットワーク100の各層は、一又は複数のニューロンを有する。図1Aにおいて、第1層はニューロンN1
(1)乃至ニューロンNp
(1)(ここでのpは1以上の整数である。)を有し、第(k-1)層はニューロンN1
(k-1)乃至ニューロンNm
(k-1)(ここでのmは1以上の整数である。)を有し、第k層はニューロンN1
(k)乃至ニューロンNn
(k)(ここでのnは1以上の整数である。)を有し、第R層はニューロンN1
(R)乃至ニューロンNq
(R)(ここでのqは1以上の整数である。)を有する。
なお、図1Aには、ニューロンN1
(1)、ニューロンNp
(1)、ニューロンN1
(k-1)、ニューロンNm
(k-1)、ニューロンN1
(k)、ニューロンNn
(k)、ニューロンN1
(R)、ニューロンNq
(R)に加えて、第(k-1)層のニューロンNi
(k-1)(ここでのiは1以上m以下の整数である。)、第k層のニューロンNj
(k)(ここでのjは1以上n以下の整数である。)も図示しており、それ以外のニューロンについては図示を省略している。
次に、前層のニューロンから次層のニューロンへの信号の伝達、及びそれぞれのニューロンにおいて入出力される信号について説明する。なお、本説明では、第k層のニューロンNj
(k)に着目している。
図1Bは、第k層のニューロンNj
(k)と、ニューロンNj
(k)に入力される信号と、ニューロンNj
(k)から出力される信号と、を示している。
具体的には、第(k-1)層のニューロンN1
(k-1)乃至ニューロンNm
(k-1)のそれぞれの出力信号であるz1
(k-1)乃至zm
(k-1)が、ニューロンNj
(k)に向けて出力されている。そして、ニューロンNj
(k)は、z1
(k-1)乃至zm
(k-1)に応じてzj
(k)を生成して、zj
(k)を出力信号として第(k+1)層(図示しない。)の各ニューロンに向けて出力する。
前層のニューロンから次層のニューロンに入力される信号は、それらのニューロン同士を接続するシナプスの結合強度(以後、重み係数と呼称する。)によって、信号の伝達の度合いが定まる。ニューラルネットワーク100では、前層のニューロンから出力された信号は、対応する重み係数を乗じられて、次層のニューロンに入力される。iを1以上m以下の整数として、第(k-1)層のニューロンNi
(k-1)と第k層のニューロンNj
(k)との間のシナプスの重み係数をwi
(k-1)
j
(k)としたとき、第k層のニューロンNj
(k)に入力される信号は、式(1.1)で表すことができる。
つまり、第(k-1)層のニューロンN1
(k-1)乃至ニューロンNm
(k-1)のそれぞれから第k層のニューロンNj
(k)に信号が伝達するとき、当該信号であるz1
(k-1)乃至zm
(k-1)には、それぞれの信号に対応する重み係数w1
(k-1)
j
(k)乃至wm
(k-1)
j
(k)が乗じられる。そして、第k層のニューロンNj
(k)には、w1
(k-1)
j
(k)・z1
(k-1)乃至wm
(k-1)
j
(k)・zm
(k-1)が入力される。このとき、第k層のニューロンNj
(k)に入力される信号の総和uj
(k)は、式(1.2)となる。
また、重み係数w1
(k-1)
j
(k)乃至wm
(k-1)
j
(k)と、ニューロンの信号z1
(k-1)乃至zm
(k-1)と、の積和の結果には、偏りとしてバイアスを与えてもよい。バイアスをbとしたとき、式(1.2)は、次の式に書き直すことができる。
ニューロンNj
(k)は、uj
(k)に応じて、出力信号zj
(k)を生成する。ここで、ニューロンNj
(k)からの出力信号zj
(k)を次の式で定義する。
関数f(uj
(k))は、階層型のニューラルネットワークにおける活性化関数であり、ステップ関数、線形ランプ関数、シグモイド関数などを用いることができる。なお、活性化関数は、全てのニューロンにおいて同一でもよいし、又は異なっていてもよい。加えて、ニューロンの活性化関数は、層毎において、同一でもよいし、異なっていてもよい。
ところで、各層のニューロンが出力する信号、重み係数w、または、バイアスbは、アナログ値としてもよいし、デジタル値としてもよい。デジタル値としては、例えば、2値としてもよいし、3値としてもよい。さらに大きなビット数の値でもよい。一例として、アナログ値の場合、活性化関数として、例えば、線型ランプ関数、シグモイド関数などを用いればよい。デジタル値の2値の場合、例えば、出力を-1若しくは1、又は、0若しくは1、とするステップ関数を用いればよい。また、各層のニューロンが出力する信号は3値以上としてもよく、例えば、3値を出力する活性化関数としては、例えば3値以上、例えば出力は-1、0、若しくは1とするステップ関数、又は、0、1、若しくは2とするステップ関数などを用いればよい。また、例えば、5値を出力する活性化関数として、-2、-1、0、1、若しくは2とするステップ関数などを用いてもよい。各層のニューロンが出力する信号、重み係数w、または、バイアスbについて、少なくとも一つについて、デジタル値を用いることにより、回路規模を小さくすること、消費電力を低減すること、または、演算スピードを速くすること、などができる。また、各層のニューロンが出力する信号、重み係数w、または、バイアスbについて、少なくとも一つについて、アナログ値を用いることにより、演算の精度を向上させることができる。
ニューラルネットワーク100は、第1層(入力層)に入力信号が入力されることによって、第1層(入力層)から最後の層(出力層)までの各層において順次に、前層から入力された信号を基に、式(1.1)、式(1.2)(又は式(1.3))、式(1.4)を用いて出力信号を生成して、当該出力信号を次層に出力する動作を行う。最後の層(出力層)から出力された信号が、ニューラルネットワーク100によって計算された結果に相当する。
<演算回路の構成例>
ここでは、上述のニューラルネットワーク100において、式(1.2)(又は式(1.3))、及び式(1.4)の演算を行うことができる演算回路の例について説明する。なお、当該演算回路において、一例として、ニューラルネットワーク100のシナプス回路の重み係数を、2値(“-1”、“+1”の組み合わせ、又は“0”、“+1”の組み合わせ等。)、3値(“-1”、“0”、“1”の組み合わせ等。)、又は4値以上の多値(5値の場合、“-2”、“-1”、“0”、“1”、“2”の組み合わせ等)とし、ニューロンの活性化関数が2値(“-1”、“+1”の組み合わせ、又は“0”、“+1”の組み合わせ等。)、3値(“-1”、“0”、“1”の組み合わせ等。)、4値以上の多値(4値の場合、“0”、“1”、“2”、“3”の組み合わせ等)を出力する関数とする。また、本明細書等において、重み係数と、前層のニューロンから次層のニューロンに入力される信号の値(演算値と呼称する場合がある)とについて、そのいずれか一方を第1データと呼称し、他方を第2データと呼称する場合がある。なお、ニューラルネットワーク100のシナプス回路の重み係数や、演算値は、デジタル値に限定されず、少なくとも一方について、アナログ値を用いることも可能である。
図2に示す演算回路110は、一例として、アレイ部ALPと、回路ILDと、回路WLDと、回路XLDと、回路AFPと、を有する半導体装置である。演算回路110は、図1A、及び図1Bにおける第k層のニューロンN1
(k)乃至ニューロンNn
(k)に入力される信号z1
(k-1)乃至zm
(k-1)を処理して、ニューロンN1
(k)乃至ニューロンNn
(k)のそれぞれから出力される信号z1
(k)乃至zn
(k)を生成する回路である。
なお、演算回路110の全体、または、その一部について、ニューラルネットワークやAI以外の用途で使用してよい。例えば、グラフィック向けの計算や、科学計算などにおいて、積和演算処理や行列演算処理を行う場合に、演算回路110の全体、または、その一部を用いて、処理を行ってもよい。つまり、AI向けの計算だけでなく、一般的な計算のために、演算回路110の全体、または、その一部を用いてもよい。
回路ILDは、一例として、配線IL[1]乃至配線IL[n]と、配線ILB[1]乃至配線ILB[n]と、に電気的に接続される。回路WLDは、一例として、配線WLS[1]乃至配線WLS[m]に電気的に接続される。回路XLDは、一例として、配線XLS[1]乃至配線XLS[m]に電気的に接続されている。回路AFPは、一例として、配線OL[1]乃至配線OL[n]と、配線OLB[1]乃至配線OLB[n]と、に電気的に接続されている。
<<アレイ部ALP>>
アレイ部ALPは、一例として、m×n個の回路MPを有している。回路MPは、一例として、アレイ部ALP内において、m行n列のマトリクス状に配置されている。なお、図2では、i行j列(ここでのiは1以上m以下の整数であって、jは1以上n以下の整数である。)に位置する回路MPを、回路MP[i,j]と表記している。但し、図2では、回路MP[1,1]、回路MP[m,1]、回路MP[i,j]、回路MP[1,n]、回路MP[m,n]のみ図示しており、それ以外の回路MPについては図示を省略している。
回路MP[i,j]は、一例として、配線IL[j]と、配線ILB[j]と、配線WLS[i]と、配線XLS[i]と、配線OL[j]と、配線OLB[j]と、に電気的に接続されている。
回路MP[i,j]は、一例として、ニューロンNi
(k-1)とニューロンNj
(k)との間の重み係数(第1データ又は第2データの一方と呼称する場合がある。ここでは第1データと呼称する)を保持する機能を有する。具体的には、回路MP[i,j]は、配線IL[j]及び配線ILB[j]から入力される、第1データ(重み係数)に応じた情報(例えば、電位、抵抗値、電流値など)の保持を行う。また、回路MP[i,j]は、ニューロンNi
(k-1)から出力される信号zi
(k-1)(第1データ又は第2データの他方と呼称する場合がある。ここでは第2データと呼称する)と第1データとの積を出力する機能を有する。具体的な例としては、回路MP[i,j]は、配線XLS[i]から第2データzi
(k-1)が入力されることで、第1データと第2データとの積に応じた情報(例えば、電流、電圧など)、又は第1データと第2データとの積に関連した情報(例えば、電流、電圧など)を配線OL[j]及び配線OLB[j]に出力する。なお、配線IL[j]及び配線ILB[j]が配置されている場合の例を示したが、本発明の一態様は、これに限定されない。配線IL[j]及び配線ILB[j]のいずれか一方のみが配置されていてもよい。
<<回路ILD>>
回路ILDは、一例として、配線IL[1]乃至配線IL[n]と、配線ILB[1]乃至配線ILB[n]と、を介して、回路MP[1,1]乃至回路MP[m,n]のそれぞれに対して、重み係数である第1データw1
(k-1)
1
(k)乃至wm
(k-1)
n
(k)に対応する情報(例えば、電位、抵抗値、電流値など)を入力する機能を有する。具体的な例としては、回路ILDは、回路MP[i,j]に対して、重み係数である第1データwi
(k-1)
j
(k)に対応する情報(例えば、電位、抵抗値、または、電流値など)を、配線IL[j]、配線ILB[j]によって供給する。
<<回路XLD>>
回路XLDは、一例として、配線XLS[1]乃至配線XLS[n]を介して、回路MP[1,1]乃至回路MP[m,n]のそれぞれに対して、ニューロンN1
(k-1)乃至ニューロンNm
(k)から出力された演算値に相当する第2データz1
(k-1)乃至zm
(k-1)を供給する機能を有する。具体的には、回路XLDは、回路MP[i,1]乃至回路MP[i,n]に対して、ニューロンNi
(k-1)から出力された第2データzi
(k-1)に対応する情報(例えば、電位、電流値など)を、配線XLS[i]によって供給する。なお、配線XLS[i]が配置されている場合の例を示したが、本発明の一態様は、これに限定されない。例えば、図2の演算回路110において、配線XLS[i]を複数本の配線としてもよい。具体例として、図3には、演算回路110の回路MP[i,j]に電気的に接続されている配線XLS[i]を、配線X1L、配線X2Lの2本に置き換えた構成の演算回路120を示している。なお、配線XLS[i]が配置されている場合の例を示したが、本発明の一態様は、これに限定されない。配線XLS[i]の他に、例えば、配線XLS[i]に入力される信号の反転信号を送信する配線を別途配置されていてもよい。
<<回路WLD>>
回路WLDは、一例として、回路ILDから入力される第1データに応じた情報(例えば、電位、抵抗値、電流値など)の書き込む先となる回路MPを選択する機能を有する。例えば、アレイ部ALPのi行目に位置する回路MP[i,1]乃至回路MP[i,n]に情報(例えば、電位、抵抗値、電流値など)の書き込みを行う場合、回路WLDは、例えば、回路MP[i,1]乃至回路MP[i,n]に含まれる書き込み用スイッチング素子をオン状態又はオフ状態にするための信号を配線WLS[i]に供給し、i行目以外の回路MPに含まれる書き込み用スイッチング素子をオフ状態にする電位を配線WLSに供給すればよい。なお、配線WLS[i]が配置されている場合の例を示したが、本発明の一態様は、これに限定されない。配線WLS[i]の他に、例えば、配線WLS[i]に入力される信号の反転信号を送信する配線を別途配置されていてもよい。
なお、図2の演算回路110には、配線WLS[i]が配置されている構成例を示したが、本発明の一態様は、これに限定されない。例えば、配線WLS[i]を複数の配線として置き換えてもよい。また、例えば、図3の演算回路120の配線X1L[i]を、回路MP[i,1]乃至回路MP[i,n]に情報を書き込むための選択信号線として兼用してもよい。具体的には、図4に示す演算回路130のように、演算回路120の配線X1L[i]を配線WX1L[i]として、配線WX1Lは、回路WLDと、回路XLDと、に電気的に接続されていてもよい。なお、配線WX1L[i]に、回路MP[i,1]乃至回路MP[i,n]に含まれる書き込み用スイッチング素子をオン状態又はオフ状態にするための信号を回路WLDから供給する場合、回路XLDは、回路XLDと配線WX1Lとの間を非導通状態にする機能を有するのが好ましい。また、配線WX1L[i]を介して、ニューロンN1
(k-1)乃至ニューロンNm
(k)から出力された演算値に相当する第2データz1
(k-1)乃至zm
(k-1)の信号を回路WLDから回路MP[i,1]乃至回路MP[i,n]に供給する場合、回路WLDは、回路WLDと配線WX1Lとの間を非導通状態にする機能を有するのが好ましい。
<<回路AFP>>
回路AFPは、一例としては、回路ACTF[1]乃至回路ACTF[n]を有する。回路ACTF[j]は、一例としては、配線OL[j]と、配線OLB[j]と、のそれぞれに電気的に接続されている。回路ACTF[j]は、一例としては、配線OL[j]と配線OLB[j]から入力されるそれぞれの情報(例えば、電位、電流値など)に応じた信号を生成する。一例としては、配線OL[j]と配線OLB[j]から入力されるそれぞれの情報(例えば、電位、電流値など)を比較し、その比較結果に応じた信号を生成する。当該信号は、ニューロンNj
(k)から出力される信号zj
(k)に相当する。つまり、回路ACTF[1]乃至回路ACTF[n]は、一例としては、上述したニューラルネットワークの活性化関数の演算を行う回路として機能する。ただし、本発明の一態様は、これに限定されない。例えば、回路ACTF[1]乃至回路ACTF[n]は、アナログ信号をデジタル信号に変換する機能を有していてもよい。または例えば、回路ACTF[1]乃至回路ACTF[n]は、アナログ信号を増幅して出力する機能、つまり、出力インピーダンスを変換する機能を有していてもよい。または、例えば、回路ACTF[1]乃至回路ACTF[n]は、電流や電荷を電圧に変換する機能を有していてもよい。または例えば、回路ACTF[1]乃至回路ACTF[n]は、配線OL[j]や配線OLB[j]の電位を初期化する機能を有していてもよい。
なお、図2乃至図4のそれぞれに示す演算回路110、演算回路120、演算回路130では、回路ACTFが配置されている場合の例を示したが、本発明の一態様は、これに限定されない。例えば、回路AFPには、回路ACTFが配置されていなくてもよい。
次に、回路ACTF[1]乃至回路ACTF[n]について説明する。回路ACTF[1]乃至回路ACTF[n]は、一例として、図5Aに示す回路構成とすることができる。図5Aは、一例として、配線OL[j]、配線OLB[j]から入力された電流に応じて、信号zj
(k)を生成する回路である。具体的には、図5Aには、2値によって表される出力信号zj
(k)を出力する活性化関数の演算回路の一例を示している。
図5Aにおいて、回路ACTF[j]は、抵抗RE、抵抗REB、比較器CMPを有する。抵抗RE、抵抗REBは、電流を電圧に変換する機能を有する。したがって、電流を電圧に変換する機能を有する素子または回路であれば、抵抗に限定されない。配線OL[j]は、抵抗REの第1端子と、比較器CMPの第1入力端子と、電気的に接続され、配線OLB[j]は、抵抗REBの第1端子と、比較器CMPの第2入力端子と、電気的に接続されている。また、抵抗REの第2端子は、配線VALに電気的に接続され、抵抗REBの第2端子は、配線VALに電気的に接続されている。なお、抵抗REの第2端子と抵抗REBの第2端子とは、同一の配線に接続されていてもよい。または、電位が同じである別の配線に接続されていてもよい。
抵抗RE、抵抗REBのそれぞれの抵抗値は、互いに等しいことが好ましい。例えば、抵抗RE、抵抗REBのそれぞれの抵抗値の差は、10%以内、より好ましくは、5%以内に収まっていることが望ましい。ただし、本発明の一態様は、これに限定されない。場合によっては、又は、状況に応じて、抵抗RE、抵抗REBのそれぞれの抵抗値は互いに異なる値としてもよい。
配線VALは、一例としては、定電圧を与える配線として機能する。当該定電圧としては、例えば、高レベル電位であるVDD、低レベル電位であるVSS、接地電位(GND)などとすることができる。また、当該定電圧は、回路MPの構成に応じて、適宜設定するのが好ましい。また、例えば、配線VALには、定電圧ではなく、パルス信号が供給されていてもよい。
抵抗REの第1端子と第2端子との間の電圧は、配線OL[j]から流れてくる電流に応じて定まる。このため、比較器CMPの第1入力端子には、抵抗REの抵抗値と当該電流に応じた電圧が入力される。同様に、抵抗REBの第1端子と第2端子との間の電圧は、配線OLB[j]から流れてくる電流に応じて定まる。このため、比較器CMPの第2入力端子には、抵抗REBの抵抗値と当該電流に応じた電圧が入力される。
比較器CMPは、一例としては、第1入力端子、第2入力端子のそれぞれに入力された電圧を比較して、その比較結果に応じて、比較器CMPの出力端子から信号を出力する機能を有する。例えば、比較器CMPは、第1入力端子に入力された電圧よりも第2入力端子に入力された電圧が高い場合に、高レベル電位を比較器CMPの出力端子から出力し、第2入力端子に入力された電圧よりも第1入力端子に入力された電圧が高い場合に、低レベル電位を比較器CMPの出力端子から出力することができる。つまり、比較器CMPの出力端子から出力される電位は、高レベル電位と低レベル電位の2通りであるため、回路ACTF[j]が出力する出力信号zj
(k)は2値とすることができる。例えば、比較器CMPの出力端子から出力される高レベル電位、低レベル電位のそれぞれは、出力信号zj
(k)として“+1”、“-1”に対応することができる。また、場合によっては、比較器CMPの出力端子から出力される高レベル電位、低レベル電位のそれぞれは、出力信号zj
(k)として“+1”、“0”と対応してもよい。
また、図5Aの回路ACTF[j]では、抵抗RE、抵抗REBを用いたが、電流を電圧に変換する機能を有する素子または回路であれば、抵抗に限定されない。そのため、図5Aの回路ACTF[j]の抵抗RE、抵抗REBは、別の回路素子に置き換えることができる。例えば、図5Bに示す回路ACTF[j]は、図5Aの回路ACTF[j]に含まれる抵抗RE、抵抗REBを、容量CE、容量CEBに置き換えた回路であり、図5Aの回路ACTF[j]とほぼ同様の動作を行うことができる。なお、容量CE、容量CEBのそれぞれの静電容量の値は、互いに等しいことが好ましい。例えば、容量CE、容量CEBのそれぞれの静電容量値の差は、10%以内、より好ましくは、5%以内に収まっていることが望ましい。ただし、本発明の一態様は、これに限定されない。なお、容量CE、容量CEBに蓄積された電荷を初期化する回路が設けられていてもよい。例えば、容量CEと並列に、スイッチが設けられていてもよい。つまり、スイッチの第2端子が、配線VALに接続され、スイッチの第1端子が、容量CEの第1端子、配線OL[j]、および、比較器CMPの第1入力端子と接続されていてもよい。または、スイッチの第2端子が、配線VALとは異なる配線に接続され、スイッチの第1端子が、容量CEの第1端子、配線OL[j]、および、比較器CMPの第1入力端子と接続されていてもよい。また、図5Cに示す回路ACTF[j]は、図5Aの回路ACTF[j]に含まれる抵抗RE、抵抗REBを、ダイオード素子DE、ダイオード素子DEBに置き換えた回路であり、図5Aの回路ACTF[j]とほぼ同様の動作を行うことができる。ダイオード素子DE、ダイオード素子DEBの向き(アノードとカソードの接続箇所)は、配線VALの電位の大きさにより、適宜変更することが望ましい。
また、図5A乃至図5Cの回路ACTF[j]に含まれる比較器CMPは、一例として、オペアンプOPに置き換えることができる。図5Dに示す回路ACTF[j]は、図5Aの回路ACTF[j]の比較器CMPをオペアンプOPに置き換えた回路図を示している。
また、図5Bの回路ACTF[j]にスイッチS01a、スイッチS01bを設けてもよい。これにより、回路ACTF[j]は、容量CE、容量CEBのそれぞれに配線OL[j]、配線OLB[j]から入力された電流に応じた電位を保持することができる。その具体的な回路の一例としては、図5Eに示すとおり、スイッチS01aの第1端子に配線OL[j]が電気的に接続され、スイッチS01aの第2端子に容量CEの第1端子と比較器CMPの第1入力端子とが電気的に接続され、スイッチS01bの第1端子に配線OLB[j]が電気的に接続され、スイッチS01bの第2端子に容量CEBの第1端子と比較器CMPの第2入力端子とが電気的に接続された構成とすればよい。図5Eの回路ACTF[j]において、比較器CMPの第1入力端子、第2入力端子のそれぞれに配線OL[j]、配線OLB[j]の電位を入力するとき、スイッチS01a、スイッチS01bのそれぞれをオン状態にすることによって行うことができる。また、その後、スイッチS01a、スイッチS01bのそれぞれをオフ状態にすることによって、比較器CMPの第1、第2入力端子のそれぞれに入力された電位を容量CE、容量CEBに保持することができる。なお、スイッチS01a、スイッチS01bとしては、例えば、アナログスイッチ、トランジスタなどの電気的なスイッチを適用することができる。また、スイッチS01a、スイッチS01bとしては、例えば、機械的なスイッチを適用してもよい。なお、スイッチS01a、スイッチS01bにトランジスタを適用する場合、当該トランジスタは、OSトランジスタ、またはチャネル形成領域にシリコンを有するトランジスタ(以後、Siトランジスタと呼称する。)とすることができる。または、スイッチS01a、スイッチS01bのそれぞれをオン状態にしておく期間を制御することにより、容量CE、容量CEBの電圧値を制御することができる。例えば、容量CE、容量CEBに流れる電流値が大きい場合には、スイッチS01a、スイッチS01bのそれぞれをオン状態にしておく期間を短くしておくことにより、容量CE、容量CEBの電圧値が大きくなりすぎることを防ぐことができる。
また、図5A乃至図5C、図5Eの回路ACTF[j]に含まれる比較器CMPは、例えば、チョッパ型の比較器とすることができる。図5Fに示す比較器CMPは、チョッパ型の比較器を示しており、比較器CMPはスイッチS02a、スイッチS02b、スイッチS03と、容量CCと、インバータ回路INV3と、を有する。なお、スイッチS02a、スイッチS02b、スイッチS03は、前述したスイッチS01a、スイッチS01bと同様に、機械的なスイッチ、OSトランジスタ、Siトランジスタなどのトランジスタとすることができる。
スイッチS02aの第1端子は、端子VinTに電気的に接続され、スイッチS02bの第1端子は、端子VrefTに電気的に接続され、スイッチS02aの第2端子は、スイッチS02bの第2端子と、容量CCの第1端子と、に電気的に接続されている。容量CCの第2端子は、インバータ回路INV3の入力端子と、スイッチS03の第1端子と、に電気的に接続されている。端子VoutTは、インバータ回路INV3の出力端子と、スイッチS03の第2端子と、に電気的に接続されている。
端子VinTは、比較器CMPに入力電位を入力するための端子として機能し、端子VrefTは、比較器CMPに参照電位を入力するための端子として機能し、端子VoutTは、比較器CMPから出力電位を出力するための端子として機能する。なお、端子VinTは、図5A乃至図5C、図5Eの比較器CMPの第1端子又は第2端子の一方に対応し、端子VrefTは、図5A乃至図5C、図5Eの比較器CMPの第1端子又は第2端子の他方に対応することができる。
図5A乃至図5Eの回路ACTF[j]は、2値によって表される出力信号zj
(k)を出力する活性化関数の演算回路であるが、回路ACTF[j]は出力信号zj
(k)を3値以上、又はアナログ値として出力する構成としてもよい。
図6A乃至図6Fは、配線OL[j]、配線OLB[j]から入力された電流に応じて、信号zj
(k)を生成する回路であり、3値によって表される出力信号zj
(k)を出力する活性化関数の演算回路の一例を示している。
図6Aに示す回路ACTF[j]は、抵抗RE、抵抗REB、比較器CMPa、比較器CMPbを有する。配線OL[j]は、抵抗REの第1端子と、比較器CMPaの第1入力端子と、電気的に接続され、配線OLB[j]は、抵抗REBの第1端子と、比較器CMPbの第1入力端子と、電気的に接続されている。また、比較器CMPaの第2入力端子と、比較器CMPbの第2入力端子と、は、配線VrefLに電気的に接続されている。更に、抵抗REの第2端子は、配線VALに電気的に接続され、抵抗REBの第2端子は、配線VALに電気的に接続されている。
配線VrefLは、定電圧Vrefを与える電圧線として機能し、Vrefは、例えば、GND以上、VDD以下であることが好ましい。また、状況に応じて、Vrefは、GND未満の電位、又はVDDより高い電位としてもよい。Vrefは、比較器CMPa、比較器CMPbにおける参照電位(比較用の電位)として扱われる。
抵抗REの第1端子と第2端子との間の電圧は、配線OL[j]から流れてくる電流に応じて定まる。このため、比較器CMPaの第1入力端子には、抵抗REの抵抗値と当該電流に応じた電圧が入力される。同様に、抵抗REBの第1端子と第2端子との間の電圧は、配線OLB[j]から流れてくる電流に応じて定まる。このため、比較器CMPbの第1入力端子には、抵抗REBの抵抗値と当該電流に応じた電圧が入力される。
比較器CMPaは、第1入力端子、第2入力端子のそれぞれに入力された電圧を比較して、その比較結果に応じて、比較器CMPaの出力端子から信号を出力する。例えば、比較器CMPaは、第1入力端子に入力された電圧よりも第2入力端子に入力された電圧(Vref)が高い場合に、高レベル電位を比較器CMPaの出力端子から出力し、第2入力端子に入力された電圧(Vref)よりも第1入力端子に入力された電圧が高い場合に、低レベル電位を比較器CMPaの出力端子から出力することができる。
比較器CMPbは、比較器CMPaと同様に、第1入力端子、第2入力端子のそれぞれに入力された電圧を比較して、その比較結果に応じて、比較器CMPbの出力端子から信号を出力する。例えば、比較器CMPbは、第1入力端子に入力された電圧よりも第2入力端子に入力された電圧(Vref)が高い場合に、高レベル電位を比較器CMPbの出力端子から出力し、第2入力端子に入力された電圧(Vref)よりも第1入力端子に入力された電圧が高い場合に、低レベル電位を比較器CMPbの出力端子から出力することができる。
このとき、比較器CMPa、比較器CMPbのそれぞれの出力端子から出力された電位に応じて、3値の出力信号zj
(k)を表すことができる。例えば、比較器CMPaの出力端子から高レベル電位が出力され、比較器CMPbの出力端子から低レベル電位が出力された場合、出力信号zj
(k)は“+1”とし、比較器CMPaの出力端子から低レベル電位が出力され、比較器CMPbの出力端子から高レベル電位が出力された場合、出力信号zj
(k)は“-1”とし、比較器CMPaの出力端子から低レベル電位が出力され、比較器CMPbの出力端子から低レベル電位が出力された場合、出力信号zj
(k)は“+0”とすることができる。
また、回路ACTF[j]は、図6Aに示した回路構成に限定されず、状況に応じて、変更することができる。例えば、図6Aの回路ACTF[j]において、比較器CMPa、比較器CMPbの2つの出力結果を、1つの信号としてまとめたい場合、回路ACTF[j]に変換回路TRFを設ければよい。図6Bの回路ACTF[j]は、図6Aの回路ACTF[j]に変換回路TRFを設けた構成例であり、比較器CMPa、比較器CMPbのそれぞれの出力端子は、変換回路TRFの入力端子に電気的に接続されている。変換回路TRFの具体的な例としては、デジタルアナログ変換回路(この場合、信号zj
(k)はアナログ値となる。)などとすることができる。
また、例えば、図6Aにおいて、比較器CMPa、比較器CMPbのそれぞれの第2入力端子に電気的に接続されている配線VrefLを、配線Vref1L、配線Vref2Lの別々の配線に置き換えてもよい。図6Cの回路ACTF[j]は、図6Aの回路ACTF[j]に含まれている比較器CMPaの第2端子が配線VrefLでなく配線Vref1Lと電気的に接続され、比較器CMPbの第2端子が配線VrefLでなく配線Vref2Lと電気的に接続された構成となっている。配線Vref1L、配線Vref2Lに入力される電位を互いに異なる値にすることによって、比較器CMPa、比較器CMPbにおける参照電位を別々に設定することができる。
また、例えば、図6A乃至図6Cの回路ACTF[j]とは別の構成として、増幅回路、または、インピーダンス変換回路などを用いてもよい。例えば、図6Dに示す回路ACTF[j]を図2の演算回路110の回路AFPに適用することができる。図6Dの回路ACTF[j]は、抵抗RE、抵抗REB、オペアンプOPa、オペアンプOPbを有しており、増幅回路として機能する。
配線OL[j]は、抵抗REの第1端子と、オペアンプOPaの非反転入力端子と、電気的に接続され、配線OLB[j]は、抵抗REBの第1端子と、オペアンプOPbの非反転入力端子と、電気的に接続されている。また、オペアンプOPaの反転入力端子は、オペアンプOPaの出力端子に電気的に接続され、オペアンプOPbの反転入力端子は、オペアンプOPbの出力端子に電気的に接続されている。更に、抵抗REの第2端子は、配線VALに電気的に接続され、抵抗REBの第2端子は、配線VALに電気的に接続されている。
つまり、図6Dの回路ACTF[j]に含まれているオペアンプOPa、オペアンプOPbはボルテージフォロワの接続構成となっている。これによって、オペアンプOPaの出力端子から出力される電位は、オペアンプOPaの非反転入力端子に入力された電位とほぼ等しくなり、オペアンプOPbの出力端子から出力される電位は、オペアンプOPbの非反転入力端子に入力された電位とほぼ等しくなる。この場合、出力信号zj
(k)は、2つのアナログ値として回路ACTF[j]から出力される。なお、オペアンプOPaの出力端子と、オペアンプOPbの出力端子とを、比較器CMPの入力端子にそれぞれ接続してもよい。そして、比較器CMPからの出力を出力信号zj
(k)としてもよい。
また、例えば、図6A乃至図6Dの回路ACTF[j]とは別の構成として、積分回路、または、電流電圧変換回路などを用いてもよい。さらに、オペアンプを用いて、積分回路、または、電流電圧変換回路を構成してもよい。一例として、図6Eに示す回路ACTF[j]を図2の演算回路110の回路AFPに適用することができる。図6Eの回路ACTF[j]は、オペアンプOPa、オペアンプOPb、負荷LEa、負荷LEbを有する。
配線OL[j]は、オペアンプOPaの第1入力端子(例えば、反転入力端子)と、負荷LEaの第1端子と、に電気的に接続され、配線OLB[j]は、オペアンプOPbの第1入力端子(例えば、反転入力端子)と、負荷LEbの第1端子と、電気的に接続されている。また、オペアンプOPaの第2入力端子(例えば、非反転入力端子)は、配線Vref1Lに電気的に接続され、オペアンプOPbの第2入力端子(例えば、非反転入力端子)は、配線Vref2Lに電気的に接続されている。負荷LEaの第2端子は、オペアンプOPaの出力端子に電気的に接続され、負荷LEaの第2端子は、オペアンプOPbの出力端子に電気的に接続されている。
なお、ここでの配線Vref1L、配線Vref2Lは、互いに等しい電圧、又は異なる電圧を供給する配線として機能する。したがって、配線Vref1L、配線Vref2Lは、1本の配線にまとめることができる場合がある。
図6Eの回路ACTF[j]において、負荷LEa、負荷LEbとしては、例えば、抵抗、容量とすることができる。特に、負荷LEa、負荷LEbとして容量を用いることによって、オペアンプOPaと負荷LEa、オペアンプOPbと負荷LEb、はそれぞれ積分回路として機能する。つまり、配線OL[j]または配線OLB[j]に流れる電流量に応じて、それぞれの容量(負荷LEa、負荷LEb)に電荷が蓄えられる。つまり、配線OL[j]、配線OLB[j]から流れる電流は、積分回路によって、積分された電流量が電圧に変換されて、信号zj
(k)として出力される。なお、オペアンプOPaの出力端子と、オペアンプOPbの出力端子とを、比較器CMPの入力端子にそれぞれ接続してもよい。そして、比較器CMPからの出力を出力信号zj
(k)としてもよい。なお、負荷LEa、負荷LEbの容量に蓄積された電荷を初期化する回路が設けられていてもよい。例えば、負荷LEa(容量)と並列に、スイッチが設けられていてもよい。つまり、スイッチの第2端子が、オペアンプOPaの出力端子に接続され、スイッチの第1端子が、配線OL[j]、および、オペアンプOPaの第1入力端子(例えば、反転入力端子)と接続されていてもよい。
また、図6Eの回路ACTF[j]において、配線OL[j]、配線OLB[j]から流れる電流を電圧に変換して出力したい場合、負荷LEa、負荷LEbとしては、容量以外としては抵抗を用いることができる。
また、例えば、図6A乃至図6Eの回路ACTF[j]とは別の構成として、図6Fに示す回路ACTF[j]を図2の演算回路110の回路AFPに適用することができる。図4Fの回路ACTF[j]は、抵抗RE、抵抗REB、アナログデジタル変換回路ADCa、アナログデジタル変換回路ADCbを有する。
配線OL[j]は、アナログデジタル変換回路ADCaの入力端子と、抵抗REの第1端子と、に電気的に接続され、配線OLB[j]は、アナログデジタル変換回路ADCbの入力端子と、抵抗REBの第1端子と、に電気的に接続されている。抵抗REの第2端子は、配線VALに電気的に接続され、抵抗REBの第2端子は、配線VALに電気的に接続されている。
図6Fの回路ACTF[j]において、配線OL[j]、OLB[j]から流れる電流に応じて、抵抗RE、REBのそれぞれの第1端子の電位が定められる。そして、回路ACTF[j]は、アナログ値である当該電位をアナログデジタル変換回路ADCa、アナログデジタル変換回路ADCbによって、2値、又は3値以上(例えば、256値など)のデジタル値に変換して、信号zj
(k)として出力する機能を有する。
なお、図6A乃至図6D、図6Fに示した抵抗RE、抵抗REBは、図5B、図5Cと同様に、容量CE、容量CEB、又はダイオード素子DE、ダイオード素子DEBに置き換えることができる。特に、図6A乃至図6D、図6Fに示した抵抗RE、抵抗REBを容量CE、容量CEBに置き換えた場合、さらに図5Eと同様にスイッチS01a、スイッチS01bを設けることで、配線OL[j]、配線OLB[j]から入力された電位を保持することができる。
なお、図2乃至図4のそれぞれに示す演算回路110、演算回路120、演算回路130では、配線IL、配線ILB、配線OL、配線OLBを配置した場合の例を示したが、本発明の一態様は、これに限定されない。例えば、演算回路110、演算回路120、演算回路130のそれぞれは、配線ILと配線OLとは一本の配線としてまとめ、かつ配線ILBと配線OLBとは一本の配線としてまとめた構成としてもよい。図7はその具体的な構成を示している。図7に示す演算回路140は、切り替え回路TW[1]乃至切り替え回路TW[n]を有する。
切り替え回路TW[1]乃至切り替え回路TW[n]のそれぞれは、端子TSaと、端子TSaBと、端子TSbと、端子TSbBと、端子TScと、端子TScBと、を有する。
端子TSaは配線OL[j]に電気的に接続され、端子TSbBは回路ILDに電気的に接続され、端子TScは回路ACTF[i]に電気的に接続されている。端子TSaBは配線OLB[j]に電気的に接続され、端子TSbBは回路ILDに電気的に接続され、端子TScBは回路ACTF[j]に電気的に接続されている。
切り替え回路TW[j]は、端子TSaと、端子TSb又は端子TScの一方との間を導通状態にし、端子TSaと、端子TSb又は端子TScの他方との間を非導通状態にする機能を有する。また、切り替え回路TW[j]は、端子TSaBと、端子TSbB又は端子TScBの一方との間を導通状態にし、端子TSaBと、端子TSbB又は端子TScBの他方との間を非導通状態にする機能を有する。
つまり、回路MP[1,j]乃至回路MP[m,j]のいずれか一に重み係数である第1データw1
(k-1)
1
(k)乃至wm
(k-1)
n
(k)に対応する情報(例えば、電位、抵抗値、電流値など)を入力したい場合、切り替え回路TW[j]において、端子TSaと端子TSbとの間を導通状態にし、かつ端子TSaBと端子TSbBとの間を導通状態にすることで、回路ILDから配線OL[j]、配線OLB[j]に第1データw1
(k-1)
1
(k)乃至wm
(k-1)
n
(k)に対応する情報(例えば、電位、抵抗値、電流値など)を供給することができる。
また、回路ACTF[j]が回路MP[1,j]乃至回路MP[m,j]によって計算された、重み係数とニューロンの信号との積和(式(1.2))の結果を取得したい場合、切り替え回路TW[j]において、端子TSaと端子TScとの間を導通状態にし、かつ端子TSaBと端子TScBとの間を導通状態にすることで、配線OL[j]、配線OLB[j]から回路ACTF[j]に積和の結果に応じた情報(例えば、電位、電流値など)を供給することができる。また、回路ACTF[j]において、入力された積和の結果から活性化関数の値が計算されて、ニューロンの出力信号として信号zj
(k)を得ることができる。
次に、演算回路140に含まれる切り替え回路TW[j]と、回路ILDと、について説明する。図8Aには、演算回路140に適用することができる、切り替え回路TW[j]と、回路ILDと、の構成例を示している。なお、図8Aでは、切り替え回路TW[j]と、回路ILDと、の電気的な接続の構成を示すため、配線OL[j]と、配線OLB[j]と、回路AFPと、も図示している。
切り替え回路TW[j]は、一例として、スイッチSWIと、スイッチSWIBと、スイッチSWOと、スイッチSWOBと、スイッチSWLと、スイッチSWLBと、スイッチSWHと、スイッチSWHBと、を有する。
回路ILDは、一例として、電流源回路ISCを有する。ただし、本発明の一態様は、これに限定されない。例えば、電流源回路ISCを有さず、その代わりに、電圧源回路を配置してもよい。電流源回路ISCは、配線OL[j]、及び/又は配線OLB[j]に対して、回路MPに入力する重み係数(第1データ)に応じた電流を流す機能を有する。なお、電流源回路ISCは、配線OL[j]のための回路と、配線OLB[j]のための回路として、それぞれ別々の回路として、少なくとも1個ずつ配置されていてもよい。または、図8Aに示すように、配線OL[j]、および、配線OLB[j]という一組の配線について、少なくとも1個の電流源回路ISCを有していてもよい。
また、電流源回路ISCは、一つ又は複数の定電流源を有しており、図8Aでは、一例として、複数の定電流源として、定電流源回路ISC1と、定電流源回路ISC2と、定電流源回路ISC3と、を有する。また、電流源回路ISCは、一例として、複数の定電流源を選択するために、複数のスイッチを有しており、図8Aでは、複数のスイッチとして、スイッチSWC1と、スイッチSWC2と、スイッチSWC3と、を有する。なお、電流源回路ISCが1つの定電流源のみを有する場合、定電流源回路ISCはスイッチを有さなくてもよい。または、定電流源回路ISC1と、定電流源回路ISC2と、定電流源回路ISC3とが、それぞれ、電流を出力するか否かを制御する機能を有する場合には、スイッチSWC1と、スイッチSWC2と、スイッチSWC3は、設けなくてもよい。
ところで、配線OL[j]、配線OLB[j]のそれぞれに流す電流は、図8Aに示すとおり、同じ電流源回路ISCで生成されることが好ましい。配線OL[j]、配線OLB[j]のそれぞれに流す電流を異なる電流源回路で生成する場合、トランジスタの作製工程時などを起因とする当該トランジスタの特性のバラつきが生じることがあるため、異なる電流源回路同士では性能に差が現れることがある。一方、同一の電流源回路を用いる場合には、配線OL[j]と、配線OLB[j]とに、同じ大きさの電流を供給することが可能となり、演算精度を向上させることができる。
なお、図8Aで説明するスイッチSWI、スイッチSWIB、スイッチSWO、スイッチSWOB、スイッチSWL、スイッチSWLB、スイッチSWH、スイッチSWHB、スイッチSWC1、スイッチSWC2、スイッチSWC3としては、例えば、スイッチS01a、及びスイッチS01bと同様に、アナログスイッチ、トランジスタなどの電気的なスイッチ、機械的なスイッチなどを適用することができる。
切り替え回路TW[j]の一例において、端子TSaは、スイッチSWIの第1端子と、スイッチSWOの第1端子と、スイッチSWLの第1端子と、スイッチSWHの第1端子と、に電気的に接続されている。端子TSaBは、スイッチSWIBの第1端子と、スイッチSWOBの第1端子と、スイッチSWLBの第1端子と、スイッチSWHBの第1端子と、に電気的に接続されている。スイッチSWIの第2端子は、端子TSb1に電気的に接続されている。スイッチSWIBの第2端子は、端子TSbB1に電気的に接続されている。スイッチSWOの第2端子は、端子TScに電気的に接続されている。スイッチSWOBの第2端子は、端子TScBに電気的に接続されている。スイッチSWLの第2端子は、端子TSb2に電気的に接続されている。スイッチSWLBの第2端子は、端子TSbB2に電気的に接続されている。スイッチSWHの第2端子は、端子TSb3に電気的に接続されている。スイッチSWHBの第2端子は、端子TSbB3に電気的に接続されている。
図8Aに図示している端子TSb1、端子TSb2、端子TSb3は、図7に図示している端子TSbに相当する。また、図8Aに図示している端子TSbB1、端子TSbB2、端子TSbB3は、図7に図示している端子TSbBに相当する。
回路ILDに含まれている電流源回路ISCにおいて、端子TSb1は、スイッチSWC1の第1端子と、スイッチSWC2の第1端子と、スイッチSWC3の第1端子と、に電気的に接続されている。また、端子TSbB1は、スイッチSWC1の第1端子と、スイッチSWC2の第1端子と、スイッチSWC3の第1端子と、に電気的に接続されている。スイッチSWC1の第2端子は、定電流源回路ISC1の出力端子に電気的に接続され、スイッチSWC2の第2端子は、定電流源回路ISC2の出力端子に電気的に接続され、スイッチSWC3の第2端子は、定電流源回路ISC3の出力端子に電気的に接続されている。定電流源回路ISC1の入力端子と、定電流源回路ISC2の入力端子と、定電流源回路ISC3の入力端子と、のそれぞれは、配線VSOに電気的に接続されている。
なお、図8Aでは、定電流源回路ISC1、定電流源回路ISC2、定電流源回路ISC3のそれぞれは、出力端子がそれぞれのスイッチの端子に電気的に接続され、入力端子が配線VSOに電気的に接続されている構成となっているが、本発明の一態様はこれに限定されない。例えば、定電流源回路ISC1、定電流源回路ISC2、定電流源回路ISC3のそれぞれは、入力端子がそれぞれのスイッチの端子に電気的に接続され、出力端子を配線VSOに電気的に接続されている構成としてもよい。なお、回路MPから電流を出力する前に、配線OL[j]、配線OLB[j]の電位を初期化するために、配線VCN2を配置してもよい。配線VCN2は、スイッチSWHを介して、配線OL[j]と接続されている。また、配線VCN2は、スイッチSWHBを介して、配線OLB[j]と接続されている。配線VCN2は、配線VCNとは異なる電位を供給することができる。例えば、配線VCNに、VSS、または、接地電位が供給されている場合には、配線VCN2には、VDDなどが供給される。これにより、回路MPから出力される電流によって、配線OL[j]、および、配線OLB[j]の電位を変化させることができる。
定電流源回路ISC1、定電流源回路ISC2、定電流源回路ISC3の具体的な構成例を図8B、及び図8Cに示す。図8Bに示す定電流源回路ISC1(定電流源回路ISC2、定電流源回路ISC3)は、pチャネル型トランジスタを有し、当該トランジスタの第1端子は、配線VSOに電気的に接続され、当該トランジスタの第2端子は、スイッチSWC1(スイッチSWC2、スイッチSWC3)の第2端子に電気的に接続され、当該トランジスタのゲートは、配線VBに電気的に接続されている。また、図8Cに示す定電流源回路ISC1(定電流源回路ISC2、定電流源回路ISC3)は、nチャネル型トランジスタを有し、当該トランジスタの第1端子は、配線VSOに電気的に接続され、当該トランジスタの第2端子は、スイッチSWC1(スイッチSWC2、スイッチSWC3)の第2端子に電気的に接続され、当該トランジスタのゲートは、配線VBに電気的に接続されている。図8B、及び図8Cのそれぞれの定電流源回路ISC1(定電流源回路ISC2、定電流源回路ISC3)において、配線VBは、それぞれのトランジスタのゲートにバイアス電圧を入力するための配線として機能する。なお、配線VBに、パルス信号を供給してもよい。これにより、それぞれの定電流源回路から電流を出力するか否かを制御することができる。その場合、スイッチSWC1と、スイッチSWC2と、スイッチSWC3は、設けなくてもよい。または、配線VBに、アナログ電圧を供給してもよい。これにより、定電流源回路から、アナログ電流を供給することができる。
配線VSOは、定電流源回路ISC1、定電流源回路ISC2、定電流源回路ISC3のそれぞれに対して、定電圧を供給する配線として機能する。例えば、回路ILDから、切り替え回路TW[j]を介して配線OL又は配線OLBに電流を供給する場合、当該定電圧としては、接地電位よりも高い電位(例えば、VDDなど。)とするのが好ましく、更に、図8Bに示す定電流源回路ISC1(定電流源回路ISC2、定電流源回路ISC3)を用いるのが好ましい。また、例えば、回路ILDから、切り替え回路TW[j]を介して配線OL又は配線OLBに電流を供給する場合、当該定電圧としては、接地電位よりも高く当該高レベル電位よりも低い電位、接地電位などとするのが好ましく、更に、図8Cに示す定電流源回路ISC1(定電流源回路ISC2、定電流源回路ISC3)を用いるのが好ましい。なお、本明細書において、回路ILDから、切り替え回路TW[j]を介して配線OL又は配線OLBに流れる電流を正の電流と記載する場合がある。そのため、配線OL又は配線OLBから、切り替え回路TW[j]を介して回路ILDに流れる電流を負の電流と記載する場合がある。
ところで、定電流源回路ISC1が流す電流をIutとしたとき、一例としては、定電流源回路ISC2が流す電流は2Iutとするのが好ましく、定電流源回路ISC3が流す電流は4Iutとするのが好ましい。つまり、電流源回路ISCが、P個(Pは1以上の整数である。)の定電流源を有する場合、p番目(pは1以上P以下の整数である。)の定電流源が流す電流は、2(p-1)×Iutとするのが好ましい。このようにして、電流源回路ISCから流れる電流の大きさを変更することができる。
例えば、電流源回路ISCの定電流源の個数を3個(P=3)とする。配線OL[j]にIutの電流を流したい場合は、スイッチSWIをオン状態、スイッチSWIBをオフ状態にした上で、スイッチSWC1をオン状態にし、スイッチSWC2、スイッチSWC3をオフ状態にすればよい。また、配線OL[j]に5Iutの電流を流したい場合は、スイッチSWC1、スイッチSWC3をオン状態にし、スイッチSWC2をオフ状態にすればよい。つまり、電流源回路ISCから出力される電流は、8値(“0”、“Iut”、“2Iut”、“3Iut”、“4Iut”、“5Iut”、“6Iut”、“7Iut”)のいずれか一とすることができる。なお、8値よりも大きな値の電流を出力したい場合には、定電流源の個数を4個以上にすればよい。また、同様に、スイッチSWIをオフ状態、スイッチSWIBをオン状態にすることによって、配線OLB[j]に8値のいずれか一の電流を流すことができる。なお、電流源回路ISCから電流の出力をしない場合、電流源回路ISCのスイッチSWC1乃至スイッチSWC3をオフ状態にせず、切り替え回路TWのスイッチSWI、スイッチSWIBをオフ状態にしてもよい。このように複数の定電流源を配置することにより、DA変換を容易に実現することができる。なお、電流源回路を1個のみ配置して、アナログ的に出力される電流値を変更するように動作させてもよい。
また、回路ILDにおいて、端子TSb2は、配線VCNに電気的に接続され、端子TSbB2は、配線VCNに電気的に接続されている。
配線VCNは、配線OL[j]及び/又は配線OLB[j]に対して、定電圧を供給する配線として機能する。例えば、回路ILDから、切り替え回路TW[j]を介して配線OL又は配線OLBに電流(正の電流)を供給する場合、配線VCNが与える定電圧としては、低レベル電位(例えばVSSなど。)とするのが好ましい。また、例えば、配線OL又は配線OLBから、切り替え回路TW[j]を介して回路ILDに電流(負の電流)を供給する場合、配線VCNが与える定電位としては、高レベル電位とするのが好ましい。なお、後述する図42乃至図45などに示すように、容量C3がトランジスタM1などのソース端子に接続され、そのソース端子が電源線などに接続されていない場合には、回路ILDから、切り替え回路TW[j]を介して配線OL又は配線OLBに正の電流を供給する場合、配線VCNが与える定電圧としては、高レベル電位(例えばVDDなど。)とするのが好ましい。つまり、配線VCNから定電圧を供給するときに、容量C3の両端の電位差がゼロに近くなるようにすることが望ましい。言い換えると、回路MCより、電流が出力されなくなるような電位を配線VCNに供給することが望ましい。
また、回路ILDにおいて、端子TSb3は、配線VCN2に電気的に接続され、端子TSbB3は、配線VCN2に電気的に接続されている。
配線VCN2は、配線OL[j]及び/又は配線OLB[j]に対して、定電圧を供給する配線として機能する。例えば、回路ILDから、切り替え回路TW[j]を介して配線OL又は配線OLBに電流(正の電流)を供給する場合、配線VCNが与える定電圧としては、高レベル電位(例えばVDDなど。)とするのが好ましい。また、例えば、配線OL又は配線OLBから、切り替え回路TW[j]を介して回路ILDに電流(負の電流)を供給する場合、配線VCNが与える定電位としては、低レベル電位とするのが好ましい。
切り替え回路TW[j]は、スイッチSWI、スイッチSWIB、スイッチSWO、スイッチSWOB、スイッチSWL、スイッチSWLB、スイッチSWH、スイッチSWHBのそれぞれをオン状態又はオフ状態に切り替えることによって、配線OL[j]及び配線OLB[j]と導通状態となる回路を変更することができる。
ここで、回路MPに入力される重み係数について説明する。
回路MPに正の重み係数を入力したいとき、配線OL[j]に当該重み係数に応じた電流を入力し、配線OLB[j]に配線VCNが与える定電位を入力すればよい。一例としては、電流源回路ISCと配線OL[j]との間を導通状態にし、電流源回路ISCと配線OLB[j]との間を非導通状態にし、回路AFPと配線OL[j]との間を非導通状態にし、回路AFPと配線OLB[j]との間を非導通状態にし、配線VCNと配線OL[j]との間を非導通状態にし、配線VCNと配線OLB[j]との間を導通状態にし、配線VCN2と配線OL[j]との間を非導通状態にし、配線VCN2と配線OLB[j]との間を非導通状態にすればよい。すなわち、切り替え回路TW[j]において、スイッチSWI、SWLBをオン状態とし、スイッチSWIB、スイッチSWO、スイッチSWOB、スイッチSWL、スイッチSWH、スイッチSWHBのそれぞれをオフ状態とすればよい。これにより、電流源回路ISCと配線OL[j]との間が導通状態となるので、電流源回路ISCから、配線OL[j]を介して、回路MPに電流を流すことができる。ところで、電流源回路ISCの定電流源の個数をP個としたとき、当該電流は、2P-1値のいずれか一となる(ゼロ電流を含まない)。回路MPに入力される正の重み係数は当該電流に応じて決まるため、当該重み係数は2P-1値のいずれか一とすることができる。また、配線VCNと配線OLB[j]との間が導通状態となるので、配線OLB[j]には、配線VCNからの定電圧が入力される。
また、回路MPに負の重み係数を入力したいとき、配線OLB[j]に当該重み係数に応じた電流を入力し、配線OL[j]に配線VCNが与える定電位を入力すればよい。一例としては、電流源回路ISCと配線OL[j]との間を非導通状態にし、電流源回路ISCと配線OLB[j]との間を導通状態にし、回路AFPと配線OL[j]との間を非導通状態にし、回路AFPと配線OLB[j]との間を非導通状態にし、配線VCNと配線OL[j]との間を導通状態にし、配線VCNと配線OLB[j]との間を非導通状態にし、配線VCN2と配線OL[j]との間を非導通状態にし、配線VCN2と配線OLB[j]との間を非導通状態にすればよい。すなわち、切り替え回路TW[j]において、スイッチSWIB、スイッチSWLをオン状態とし、スイッチSWI、スイッチSWO、スイッチSWOB、スイッチSWLB、スイッチSWH、スイッチSWHBのそれぞれをオフ状態とすればよい。これにより、電流源回路ISCと配線OLB[j]との間が導通状態となるので、電流源回路ISCから、配線OLB[j]を介して、回路MPに電流を流すことができる。ところで、電流源回路ISCの定電流源の個数をP個としたとき、当該電流は、2P-1値のいずれか一となる(ゼロ電流を含まない)。回路MPに入力される負の重み係数は当該電流に応じて決まるため、当該重み係数は2P-1値のいずれか一とすることができる。また、配線VCNと配線OL[j]との間が導通状態となるので、配線OL[j]には、配線VCNからの定電圧が入力される。
また、回路MPに0の重み係数を入力したいとき、配線OL[j]、配線OLB[j]のそれぞれに配線VCNが与える定電位を入力すればよい。一例としては、電流源回路ISCと配線OL[j]との間を非導通状態にし、電流源回路ISCと配線OLB[j]との間を非導通状態にし、回路AFPと配線OL[j]との間を非導通状態にし、回路AFPと配線OLB[j]との間を非導通状態にし、配線VCNと配線OL[j]との間を導通状態にし、配線VCNと配線OLB[j]との間を導通状態にし、配線VCN2と配線OL[j]との間を非導通状態にし、配線VCN2と配線OLB[j]との間を非導通状態にすればよい。すなわち、切り替え回路TW[j]において、スイッチSWL、スイッチSWLBをオン状態とし、スイッチSWI、スイッチSWIB、スイッチSWO、スイッチSWOBのそれぞれをオフ状態とすればよい。これにより、配線VCNと配線OL[j]との間が導通状態となり、配線VCNと配線OLB[j]との間が導通状態となるので、配線OL[j]、OLB[j]には、配線VCNからの定電圧が入力される。
つまり、電流源回路ISCの定電流源の個数をP個とすることによって、回路MPに入力できる重み係数の数(正の重み係数、負の重み係数、0の重み係数の合計)は、2P+1-1個となる。
次に、回路MPから回路AFPに情報(例えば、電位、電流など)を供給する場合について説明する。
回路MPから回路AFPに情報(例えば、電位、電流など)を供給する前には、配線OL[j]、配線OLB[j]を所定の電位にしておくことが好ましい。例えば、回路AFPから、配線OL又は配線OLBを介して回路MPに正の電流が流れる場合、所定の電位としては、高レベル電位とするのがよい。また、例えば、回路MPから、配線OL又は配線OLBを介して回路AFPに正の電流が流れる場合、所定の電位としては、低レベル電位とするのがよい。そのため、回路MPから回路AFPに情報(例えば、電位、電流など)を供給する前では、一例としては、電流源回路ISCと配線OL[j]との間を非導通状態にし、電流源回路ISCと配線OLB[j]との間を非導通状態にし、回路AFPと配線OL[j]との間を非導通状態にし、回路AFPと配線OLB[j]との間を非導通状態にし、配線VCNと配線OL[j]との間を非導通状態にし、配線VCNと配線OLB[j]との間を非導通状態にし、配線VCN2と配線OL[j]との間を導通状態にし、配線VCN2と配線OLB[j]との間を導通状態にすればよい。すなわち、切り替え回路TW[j]において、スイッチSWH、スイッチSWHBをオン状態とし、スイッチSWI、スイッチSWIB、スイッチSWO、スイッチSWOB、スイッチSWL、スイッチSWLBのそれぞれをオフ状態とすればよい。これにより、配線OL[j]と配線VCN2との間が導通状態となり、配線OLB[j]と配線VCN2との間が導通状態となるので、配線OL、配線OLBには、配線VCN2からの定電圧が入力される。
回路MP[i,j]から回路AFPに情報(例えば、電位、電流など)を供給する時には、一例としては、電流源回路ISCと配線OL[j]との間を非導通状態にし、電流源回路ISCと配線OLB[j]との間を非導通状態にし、回路AFPと配線OL[j]との間を導通状態にし、回路AFPと配線OLB[j]との間を導通状態にし、配線VCNと配線OL[j]との間を非導通状態にし、配線VCNと配線OLB[j]との間を非導通状態にし、配線VCN2と配線OL[j]との間を非導通状態にし、配線VCN2と配線OLB[j]との間を非導通状態にすればよい。すなわち、切り替え回路TW[j]において、スイッチSWO、スイッチSWOBをオン状態とし、スイッチSWI、スイッチSWIB、スイッチSWL、スイッチSWLB、スイッチSWH、スイッチSWHBのそれぞれをオフ状態とすればよい。これにより、回路AFPと回路MP[i,j]との間が導通状態となるので、回路MP[i,j]から回路AFPに情報(例えば、電位、電流など)を供給することができる。
<<回路MP>>
次に、演算回路110、演算回路120、演算回路130、演算回路140に含まれる回路MP[i,j]の構成例について説明する。
図9Aは、演算回路140に適用できる回路MP[i,j]の構成例を示しており、回路MP[i,j]は、一例としては、回路MCと、回路MCrと、を有する。回路MC及び回路MCrは、回路MPにおいて、重み係数と、ニューロンの入力信号(演算値)と、の積を計算する回路である。回路MCは、回路MCrと同様の構成、又は回路MCrと異なる構成とすることができる。そのため、回路MCrは、回路MCと区別をするため、符号に「r」を付している。また、回路MCrに含まれている、後述する回路素子の符号にも「r」を付している。
回路MCは、一例としては、保持部HCを有し、回路MCrは、保持部HCrを有する。保持部HC、及び保持部HCrは、それぞれ情報(例えば、電位、抵抗値、電流値など)を保持する機能を有する。なお、回路MP[i,j]に設定される第1データwi
(k-1)
j
(k)は、保持部HC、及び保持部HCrのそれぞれに保持される情報(例えば、電位、抵抗値、電流値など)に応じて定められる。そのため、保持部HC及び保持部HCrのそれぞれは、第1データwi
(k-1)
j
(k)に応じた各情報(例えば、電位、抵抗値、電流値など)を供給する配線OL[j]及び配線OLB[j]に電気的に接続されている。
図9Aにおいて、回路MP[i,j]は、配線VE[j]と、配線VEr[j]と、に電気的に接続されている。配線VE[j]、配線VEr[j]は、定電圧を供給する配線として機能する。また、配線VE[j]は、回路MCを介して配線OLからの電流を排出する配線としても機能する。また、配線VEr[j]は、回路MCrを介して配線OLBからの電流を排出する配線としても機能する。
図9Aに示した配線WL[i]は、図7における配線WL[i]に相当する。配線WL[i]は、保持部HC及び保持部HCrのそれぞれに電気的に接続されている。回路MP[i,j]に含まれる保持部HC、及び保持部HCrに第1データwi
(k-1)
j
(k)に応じた情報(例えば、電位、抵抗値、電流値など)を書き込むとき、配線WL[i]に所定の電位を供給することによって、配線OL[j]と保持部HCとの間を導通状態にし、かつ配線OLB[j]と保持部HCrとの間を導通状態にする。そして、配線OL[j]、OLB[j]のそれぞれに第1データwi
(k-1)
j
(k)に応じた電位などを供給することによって、保持部HC、及び保持部HCrのそれぞれに当該電位などを入力することができる。その後、配線WL[i]に所定の電位を供給して、配線OL[j]と保持部HCとの間を非導通状態にし、かつ配線OLB[j]と保持部HCrとの間を非導通状態にする。そして、保持部HC、及び保持部HCrのそれぞれに第1データwi
(k-1)
j
(k)に応じた各電流などが保持される。
例えば、第1データwi
(k-1)
j
(k)が“-1”、“0”、“1”の3値のいずれかをとる場合を考える。第1データwi
(k-1)
j
(k)が“1”である場合、一例として、配線OL[j]から回路MCを介して配線VE[j]に“1”に応じた電流が流れるように、保持部HCには所定の電位が保持され、かつ配線OLB[j]から回路MCrを介して配線VEr[j]に電流が流れないように、保持部HCrには電位V0が保持される。また、第1データwi
(k-1)
j
(k)が“-1”である場合、一例として、配線OL[j]から回路MCを介して配線VE[j]に電流が流れないように、保持部HCには電位V0が保持され、かつ配線OLB[j]から回路MCrを介して配線VEr[j]に“-1”に応じた電流が流れるように、保持部HCrには所定の電位が保持される。そして、第1データwi
(k-1)
j
(k)が“0”である場合、一例として、配線OL[j]から回路MCを介して配線VE[j]に電流が流れないように、保持部HCに電位V0が保持され、かつ配線OLB[j]から回路MCを介して配線VEr[j]に電流が流れないように、保持部HCrに電位V0が保持される。なお、電位V0は、図8の説明において、配線VCNが与える電位とすることができる。
なお、別の例として、第1データwi
(k-1)
j
(k)がアナログ値、具体的には、“負のアナログ値”、“0”、または、“正のアナログ値”をとる場合を考える。第1データwi
(k-1)
j
(k)が“正のアナログ値”である場合、一例として、配線OL[j]から回路MCを介して配線VE[j]に“正のアナログ値”に応じたアナログ電流が流れるように、保持部HCには所定の電位が保持され、かつ配線OLB[j]から回路MCrを介して配線VEr[j]に電流が流れないように、保持部HCrには電位V0が保持される。また、第1データwi
(k-1)
j
(k)が“負のアナログ値”である場合、一例として、配線OL[j]から回路MCを介して配線VE[j]に電流が流れないように、保持部HCには電位V0が保持され、かつ配線OLB[j]から回路MCrを介して配線VEr[j]に“負のアナログ値”に応じたアナログ電流が流れるように、保持部HCrには所定の電位が保持される。そして、第1データwi
(k-1)
j
(k)が“0”である場合、一例として、配線OL[j]から回路MCを介して配線VE[j]に電流が流れないように、保持部HCに電位V0が保持され、かつ配線OLB[j]から回路MCを介して配線VEr[j]に電流が流れないように、保持部HCrに電位V0が保持される。なお、電位V0は、先の例と同様に、図8の説明において、配線VCNが与える電位とすることができる。
また、一例として、回路MCは、保持部HCに保持された情報(例えば、電位、抵抗値、または、電流値など)に応じた電流などを、配線OL[j]又は配線OLB[j]の一方に出力する機能を有し、回路MCrは、保持部HCrに保持された情報(例えば、電位、抵抗値、または、電流値など)に応じた電流などを、配線OL[j]又は配線OLB[j]の他方に出力する機能を有する。例えば、保持部HCに第1電位が保持されている場合、回路MCは配線OL[j]又は配線OLB[j]から配線VEに第1電流値を持つ電流を流すものとし、保持部HCに第2電位が保持されている場合、回路MCは配線OL[j]又は配線OLB[j]から配線VEに第2電流値を持つ電流を流すものする。同様に、保持部HCrに第1電位が保持されている場合、回路MCrは配線OL[j]又は配線OLB[j]から配線VErに第1電流値を持つ電流を流すものとし、保持部HCrに第2電位が保持されている場合、回路MCrは配線OL[j]又は配線OLB[j]から配線VEに第2電流値を持つ電流を流すものとする。なお、第1電流値、第2電流値のそれぞれの大きさは、第1データwi
(k-1)
j
(k)の値によって定められる。一例としては、第1電流値は第2電流値よりも大きい場合もあり、又は小さい場合もある。更に、一例としては、第1電流値又は第2電流値の一方はゼロ電流、つまり電流値が0の場合もある。または、第1電流値を持つ電流と第2電流値を持つ電流とで、電流が流れる向きが異なる場合もある。
特に、例えば、第1データwi
(k-1)
j
(k)が“-1”、“0”、“1”の3値のいずれかをとる場合、第1電流値又は第2電流値の一方がゼロとなるように、回路MC、MCrを構成するのが好ましい。なお、第1データwi
(k-1)
j
(k)がアナログ値、例えば、“負のアナログ値”、“0”、または、“正のアナログ値”をとる場合には、第1電流値又は第2電流値についても、一例としては、アナログ値をとることができる。
ところで、配線OL[j]又は配線OLB[j]から、回路MCを介して配線VEに流す電流と、配線OL[j]又は配線OLB[j]から、回路MCrを介して配線VErに流す電流と、を等しくする場合、トランジスタの作製工程などを起因として当該トランジスタの特性がバラつくことがあるため、回路MCに保持する電位と、回路MCrに保持する電位と、は等しくならないことがある。本発明の一態様の半導体装置は、トランジスタの特性にバラつきがあっても、配線OL[j]又は配線OLB[j]から、回路MCを介して配線VEに流す電流の量を、配線OL[j]又は配線OLB[j]から、回路MCrを介して配線VErに流す電流の量に、ほぼ等しくすることができる。
なお、本明細書などにおいて、保持部HC、及び保持部HCrに保持された情報(例えば、電位、抵抗値、または、電流値など)に応じた電流または電圧などは、正の電流または電圧などとしてもよいし、負の電流または電圧などとしてもよいし、ゼロ電流またはゼロ電圧などとしてもよいし、正と負と0とが混在していてもよい。つまり、例えば、上述の「保持部HCに保持された情報(例えば、電位、抵抗値、または、電流値など)に応じた電流または電圧などを、配線OL[j]又は配線OLB[j]の一方に出力する機能を有し、回路MCrは、保持部HCrに保持された情報(例えば、電位、抵抗値、または、電流値など)に応じた電流または電圧などを、配線OL[j]又は配線OLB[j]の他方に出力する機能を有する」という記載は、「保持部HCに保持された情報(例えば、電位、抵抗値、または、電流値など)に応じた電流、電圧などを、配線OL[j]又は配線OLB[j]の一方から排出する機能を有し、回路MCrは、保持部HCrに保持された情報(例えば、電位、抵抗値、または、電流値など)に応じた電流、電圧などを、配線OL[j]又は配線OLB[j]の他方から排出する機能を有する」という記載に換言することができる。
図9Aに示した配線X1L[i]、及び配線X2L[i]は、図7における配線XLS[i]に相当する。なお、回路MP[i,j]に入力される第2データzi
(k-1)は、一例としては、配線X1L[i]、及び配線X2L[i]のそれぞれの電位または電流などによって定められる。そのため、回路MC、MCrには、例えば、配線X1L[i]及び配線X2L[i]を介して、第2データzi
(k-1)に応じた各電位が入力される。
回路MCは、配線OL[j]と、配線OLB[j]と、に電気的に接続され、回路MCrは、配線OL[j]と、配線OLB[j]と、に電気的に接続されている。回路MC及び回路MCrは、一例としては、配線X1L[i]及び配線X2L[i]に入力された電位または電流などに応じて、配線OL[j]及び配線OLB[j]に、第1データwi
(k-1)
j
(k)と第2データzi
(k-1)との積に応じた電流または電位などを出力する。具体的な例としては、回路MC、MCrからの電流の出力先は、配線X1L[i]及び配線X2L[i]の電位によって定められる。例えば、回路MC、及び回路MCrは、回路MCから出力される電流が配線OL[j]又は配線OLB[j]の一方に流れ、回路MCrから出力される電流が配線OL[j]又は配線OLB[j]の他方に流れるような回路構成となっている。つまり、回路MC、MCrから出力されたそれぞれの電流は、同一の配線でなく、互いに異なる配線に流れる。なお、一例としては、回路MC、及び回路MCrから、配線OL[j]又は配線OLB[j]のいずれにも電流が流れない場合もある。
例えば、第2データzi
(k-1)が“-1”、“0”、“1”の3値のいずれかをとる場合を考える。例えば、第2データzi
(k-1)が“1”である場合、回路MPは、回路MCと配線OL[j]との間を導通状態とし、回路MCrと配線OLB[j]との間を導通状態とする。例えば、第2データzi
(k-1)が“-1”である場合、回路MPは、回路MCと配線OLB[j]との間を導通状態とし、回路MCrと配線OL[j]との間を導通状態とする。例えば、第2データzi
(k-1)が“0”である場合、回路MC、及び回路MCrのそれぞれが出力した電流を、配線OL[j]、及び配線OLB[j]のいずれにも流さないようにするため、回路MPは、回路MCと配線OL[j]との間、及び、回路MCと配線OLB[j]との間を非導通状態にし、回路MCrと配線OL[j]との間、及び、回路MCと配線OLB[j]との間を非導通状態にする。
以上の動作をまとめた場合の例を示す。第1データwi
(k-1)
j
(k)が“1”の場合には、回路MCを介して配線OL[j]または配線OLB[j]から配線VE[j]に電流が流れる場合があり、回路MCrを介して配線OL[j]または配線OLB[j]から配線VEr[j]に電流が流れない。第1データwi
(k-1)
j
(k)が“-1”の場合には、回路MCを介して配線OL[j]または配線OLB[j]から配線VE[j]に電流が流れず、回路MCrを介して配線OL[j]または配線OLB[j]から配線VEr[j]に電流が流れる場合がある。そして、第2データzi
(k-1)が“1”の場合には、回路MCと配線OL[j]との間、および、回路MCrと配線OLB[j]との間が導通状態になる。第2データzi
(k-1)が“-1”の場合には、回路MCと配線OLB[j]との間、および、回路MCrと配線OL[j]との間が導通状態になる。以上のことより、第1データwi
(k-1)
j
(k)と第2データzi
(k-1)の積が正の値の場合には、回路MCrを介して配線OL[j]から配線VE[j]に電流が流れる、又は、回路MCrを介して配線OL[j]から配線VEr[j]に電流が流れる、の一方となる。第1データwi
(k-1)
j
(k)と第2データzi
(k-1)の積が負の値の場合には、回路MCrを介して配線OL[j]から配線VEr[j]に電流が流れる、又は、回路MCを介して配線OLB[j]から配線VE[j]に電流が流れる、の一方となる。第1データwi
(k-1)
j
(k)と第2データzi
(k-1)の積がゼロの値の場合には、配線OL[j]または配線OLB[j]から配線VE[j]に電流が流れず、配線OL[j]または配線OLB[j]から配線VEr[j]に電流が流れない。
上述した例を具体的な例として記すと、第1データwi
(k-1)
j
(k)が“1”であって、第2データzi
(k-1)が“1”である場合、例えば、回路MCから配線OL[j]に第1電流値を持つ電流I1[i、j]が流れ、回路MCrから配線OLB[j]に第2電流値を持つ電流I2[i、j]が流れる。このとき、第2電流値の大きさは、一例としては、ゼロである。第1データwi
(k-1)
j
(k)が“-1”であって、第2データzi
(k-1)が“1”である場合、例えば、回路MCから配線OL[j]に第2電流値を持つ電流I1[i、j]が流れ、回路MCrから配線OLB[j]に第1電流値を持つ電流I2[i、j]が流れる。このとき、第2電流値の大きさは、一例としては、ゼロである。第1データwi
(k-1)
j
(k)が“0”であって、第2データzi
(k-1)が“1”である場合、回路MCから配線OL[j]に第2電流値を持つ電流I1[i、j]が流れ、回路MCrから配線OLB[j]に第2電流値を持つ電流I2[i、j]が流れる。このとき、第2電流値の大きさは、一例としては、ゼロである。
また、第1データwi
(k-1)
j
(k)が“1”であって、第2データzi
(k-1)が“-1”である場合、回路MCから配線OLB[j]に第1電流値を持つ電流I1[i、j]が流れ、回路MCrから配線OL[j]に第2電流値を持つ電流I2[i、j]が流れる。このとき、第2電流値の大きさは、一例としては、ゼロである。第1データwi
(k-1)
j
(k)が“-1”であって、第2データzi
(k-1)が“-1”である場合、回路MCから配線OLB[j]に第2電流値を持つ電流I1[i、j]が流れ、回路MCrから配線OL[j]に第1電流値を持つ電流I2[i、j]が流れる。このとき、第2電流値の大きさは、一例としては、ゼロである。第1データwi
(k-1)
j
(k)が“0”であって、第2データzi
(k-1)が“-1”である場合、回路MCから配線OLB[j]に第2電流値を持つ電流I1[i、j]が流れ、回路MCrから配線OL[j]に第2電流値を持つ電流I2[i、j]が流れる。このとき、第2電流値の大きさは、一例としては、ゼロである。
また、第2データzi
(k-1)が“0”である場合、一例としては、回路MCと配線OL[j]との間、及び、回路MCと配線OLB[j]との間が非導通状態となる。同様に、回路MCrと配線OL[j]との間、及び、回路MCrと配線OLB[j]との間が非導通状態となる。そのため、第1データwi
(k-1)
j
(k)がどんな値であっても、回路MC及び回路MCrから配線OL[j]及び配線OLB[j]に電流は出力されない。
このように、一例としては、第1データwi
(k-1)
j
(k)と第2データzi
(k-1)との積の値が正の値を取る場合には、回路MCまたは回路MCrのいずれかから、配線OL[j]に電流が流れる。このとき、第1データwi
(k-1)
j
(k)が正の値の場合には、回路MCから配線OL[j]に電流が流れ、第1データwi
(k-1)
j
(k)が負の値の場合には、回路MCrから配線OL[j]に電流が流れる。一方、第1データwi
(k-1)
j
(k)と第2データzi
(k-1)との積の値が、負の値を取る場合には、回路MCまたは回路MCrのいずれかから、配線OLB[j]に電流が流れる。このとき、第1データwi
(k-1)
j
(k)が正の値の場合には、回路MCから配線OLB[j]に電流が流れ、第1データwi
(k-1)
j
(k)が負の値の場合には、回路MCrから配線OLB[j]に電流が流れる。そのため、配線OL[j]に接続された複数の回路MCまたは回路MCrから出力された電流の総和が、配線OL[j]に流れることになる。つまり、配線OL[j]では、正の値の和をとった値となる電流が流れることになる。一方、配線OLB[j]に接続された複数の回路MCまたは回路MCrから出力された電流の総和が、配線OLB[j]に流れることになる。つまり、配線OLB[j]では、負の値の和をとった値となる電流が流れることになる。以上のような動作の結果、配線OL[j]に流れる総電流値、つまり、正の値の総和と、配線OLB[j]に流れる総電流値、つまり、負の値の総和とを利用することにより、積和演算処理を行うことができる。例えば、配線OL[j]に流れる総電流値の方が、配線OLB[j]に流れる総電流値よりも大きい場合には、積和演算の結果としては、正の値をとると判断することができる。配線OL[j]に流れる総電流値の方が、配線OLB[j]に流れる総電流値よりも小さい場合には、積和演算の結果としては、負の値をとると判断することができる。配線OL[j]に流れる総電流値と、配線OLB[j]に流れる総電流値とが概ね同じ値である場合には、積和演算の結果としては、ゼロの値をとると判断することができる。
なお、第2データzi
(k-1)が“-1”、“0”、“1”のうちの、いずれか2値、例えば、“-1”、“1”の2値の場合、または、“0”、“1”の2値の場合も、同様に動作させることができる。同様に、第1データwi
(k-1)
j
(k)が“-1”、“0”、“1”、でのうちの、いずれか2値、例えば、“-1”、“1”の2値の場合、または、“0”、“1”の2値の場合も、同様に動作させることができる。
なお、第1データwi
(k-1)
j
(k)は、アナログ値、または、多ビット(多値)のデジタル値を取ってもよい。具体的な例としては、“-1”の代わりに“負のアナログ値”、および、“1”の代わりに“正のアナログ値”をとっても良い。この場合、回路MCまたは回路MCrから流れる電流の大きさも、一例としては、第1データwi
(k-1)
j
(k)の値の絶対値に応じたアナログ値となる。
次に、図9Aの回路MP[i,j]を変形した例について、説明する。なお、回路MP[i,j]の変形例については、図9Aの回路MP[i,j]と異なる部分を主に説明し、図9Aの回路MP[i,j]と共通する部分については説明を省略することがある。
図9Bに示す回路MP[i,j]は、配線W1Lを配線WX1Lに置き換えた構成となっている。すなわち、図9Bの回路MP[i,j]において、配線WX1Lと配線WLは、配線OL[j]と保持部HCとの間を導通状態、又は非導通状態の切り替えと、配線OLB[j]と保持部HCrとの間を導通状態、又は非導通状態の切り替えを行うために、所定の電位を供給する配線として機能する。また、図9Bの回路MP[i,j]において、配線X1Lと配線X2Lは、回路MP[i,j]に入力される第2データzi
(k-1)に応じた電流、電圧などを与える配線として機能する。
図9Bの回路MP[i,j]は、図13に示す演算回路130のように、配線WX1Lを有する演算回路、及び図7に示す演算回路140のように、配線IL、配線ILBを有さない演算回路に適用することができる。具体的には、図9Bの回路MP[i,j]は、図11に示す演算回路150の回路MP[i,j]に適用することができる。
次に、図9Bとは異なる、図9Aの回路MP[i,j]を変形した例について、説明する。図9Cに示す回路MP[i,j]は、図9Aの回路MP[i,j]の変形例である。図9Cの回路MP[i,j]は、図9Aの回路MP[i,j]と同様に、回路MCと、回路MCrと、を有する。但し、図9Cの回路MP[i,j]は、回路MCrに保持部HCrが含まれていない点で、図9Aの回路MP[i,j]と異なる。
また、回路MCrは保持部HCrを有していないため、図9Cの回路MP[i,j]を適用した演算回路は、保持部HCrに保持する電位を供給するための配線ILB[j]を有さなくてもよい。加えて、回路MCrは配線WL[i]に電気的に接続されていなくてもよい。
図9Cの回路MP[i,j]において、回路MCに含まれる保持部HCは、回路MCrに電気的に接続されている。つまり、図9Cの回路MP[i,j]は、回路MCrと回路MCとが互いに保持部HCを共有するような構成となっている。一例としては、保持部HCで保持された信号に対して、反転した信号を、保持部HCから回路MCrに供給することができる。これにより、回路MCと回路MCrとで、異なる動作をすることが可能となる。または、回路MCと回路MCrとで、内部の回路構成が異なるようにして、その結果、保持部HCで保持された同一の信号に対して、回路MCと回路MCrとで、出力する電流の大きさが異なるようにすることも可能である。ここで、保持部HCに第1データwi
(k-1)
j
(k)に応じた電位を保持し、第2データzi
(k-1)に応じた電位を配線X1L[i]及び配線X2L[i]に供給することによって、回路MP[i,j]は、配線OL[j]及び配線OLB[j]に、第1データwi
(k-1)
j
(k)と第2データzi
(k-1)との積に応じた電流を出力することができる。
なお、図9Cの回路MPを適用した演算回路110は、図12に示す演算回路160の回路構成に変更することができる。演算回路160は、図2の演算回路110から配線ILB[1]乃至配線ILB[m]を除いた構成となっている。
図9Dに示す回路MP[i,j]は、図9Aの回路MP[i,j]の変形例であり、具体的には、図12の演算回路160に適用できる回路MP[i,j]の構成例である。図9Dの回路MP[i,j]は、図9Aの回路MP[i,j]と同様に、回路MCと、回路MCrと、を有する。但し、図9Dの回路MP[i,j]と図9Aの回路MP[i,j]は、電気的に接続されている配線の構成が異なっている。
図9Dに示した配線W1L[i]、及び配線W2L[i]は、図12における配線WLS[i]に相当する。配線W1L[i]は保持部HCに電気的に接続され、配線W2L[i]は保持部HCrに電気的に接続されている。
また、配線IL[j]は、保持部HCと、保持部HCrと、に電気的に接続されている。
図9Dの回路MP[i,j]において、保持部HCと保持部HCrのそれぞれに異なる情報(例えば、電圧、抵抗値、電流など)を保持するとき、保持部HCと保持部HCrへの情報の保持動作は、同時ではなく、順に行うのが好ましい。例えば、回路MP[i,j]の第1データwi
(k-1)
j
(k)は、保持部HCに第1の情報、保持部HCrに第2の情報を保持することによって表現できる場合を考える。初めに、配線W1L[i]及び配線W2L[i]のそれぞれに所定の電位を与えて、保持部HCと配線IL[j]との間を導通状態にし、かつ保持部HCrと配線IL[j]との間を非導通状態にする。次に、配線IL[j]に第1情報に応じた電流、電圧などを供給することで、保持部HCに第1の情報を与えることができる。その後に、配線W1L[i]及び配線W2L[i]のそれぞれに所定の電位を与えて、保持部HCと配線IL[j]との間を非導通状態にし、かつ保持部HCrと配線IL[j]との間を導通状態にする。そして、配線IL[j]に第2の情報に応じた電流、電圧などを供給することで、保持部HCrに第2の情報を与えることができる。これにより、回路MP[i,j]は、第1データとしてwi
(k-1)
j
(k)を設定することができる。
なお、保持部HCと保持部HCrのそれぞれにほぼ等しい情報(例えば、電圧、抵抗値、電流など)を保持する場合(回路MP[i,j]の第1データwi
(k-1)
j
(k)が、保持部HCと保持部HCrのそれぞれにほぼ等しい情報を保持することによって設定される場合)、保持部HCと配線IL[j]との間を導通状態とし、かつ保持部HCrと配線IL[j]との間を導通状態となるように、配線W1L[i]及び配線W2L[i]のそれぞれに所定の電位を与えて、その後に、配線IL[j]から保持部HC、及び保持部HCrに対して当該情報に応じた電流、電圧などを供給すればよい。
図9Dの回路MP[i,j]は、保持部HC、及び保持部HCrに第1データwi
(k-1)
j
(k)に応じた電位を保持し、第2データzi
(k-1)に応じた電位を配線X1L[i]及び配線X2L[i]に供給することによって、図9Aの回路MP[i,j]と同様に、配線OL[j]及び配線OLB[j]に、第1データwi
(k-1)
j
(k)と第2データzi
(k-1)との積に応じた電流を出力することができる。
図9Eに示す回路MP[i,j]は、図9Dの回路MP[i,j]の変形例である。図9Eの回路MP[i,j]は、図9Dの回路MP[i,j]と同様に、回路MCと、回路MCrと、を有する。但し、図9Eの回路MP[i,j]と図9Dの回路MP[i,j]は、電気的に接続されている配線の構成が異なっている。
具体的には、図9Eの回路MPは、図9Dの回路MPに配線ILB[j]を加え、かつ図9Dの回路MPに電気的に接続されている配線W1L[i]、配線W2L[i]を配線WL[i]に置き換えた構成となっている。
図9Eの回路MPにおいて、配線IL[j]は保持部HCに電気的に接続され、配線ILB[j]は保持部HCrに電気的に接続されている。つまり、図9Dの回路MPにおいて、配線IL[j]は、保持部HCと保持部HCrのそれぞれに情報(例えば、電圧、抵抗値、電流など)に応じた電流、電圧などを供給する配線として機能するが、図9Eの回路MPにおいて、配線IL[j]は、保持部HCに情報に応じた電流、電圧などを供給する配線として機能し、配線ILB[j]は、保持部HCに情報に応じた電流、電圧などを供給する配線として機能する。
また、図9Eの回路MPにおいて、保持部HC、及び保持部HCrにそれぞれ配線IL[j]、及び配線ILB[j]が電気的に接続されているため、保持部HC、及び保持部HCrのそれぞれに同時に情報(例えば、電圧、抵抗値、電流など)に応じた電流、電圧などを供給することができる。そのため、保持部HCと配線IL[j]との間を導通状態、又は非導通状態の切り替えと、保持部HCrと配線ILB[j]との間を導通状態、又は非導通状態の切り替えと、を同時に行うことができる。図9Dの回路MPでは、保持部HCと配線IL[j]との間を導通状態、又は非導通状態の切り替えを制御する配線として配線W1Lを図示し、保持部HCrと配線ILB[j]との間を導通状態、又は非導通状態の切り替えを制御する配線として配線W2Lを図示しているが、図9Eの回路MPでは、配線W1Lと配線W2Lとをまとめた配線として、配線WL[i]を図示している。
なお、図9Eの回路MPは、例えば、図2の演算回路110、図3の演算回路120に適用することができる。
図9Fに示す回路MP[i,j]は、図9Aの回路MP[i,j]の変形例である。図9Fの回路MP[i,j]は、図9Aの回路MP[i,j]と同様に、回路MCと、回路MCrと、を有する。但し、図9Fの回路MP[i,j]は、回路MCが配線OLB[j]に電気的に接続されていない点と、回路MCrが配線OL[j]に電気的に接続されていない点と、で図9Aの回路MP[i,j]と異なっている。
図9Fに示した配線WL[i]は、保持部HCと、保持部HCrと、に電気的に接続されている。また、図9Fに示した配線XL[i]は、回路MCと、回路MCrと、に電気的に接続されている。
図9Fの回路MP[i,j]は、後述した通り、回路MCが配線OLB[j]に電気的に接続されていなく、回路MCrが配線OL[j]に電気的に接続されていない。つまり、図9Fの回路MP[i,j]は、図9A乃至図9Eの回路MP[i,j]と異なり、回路MCから出力された電流は配線OLB[j]に流れず、回路MCrから出力された電流は配線OL[j]に流れない構成となっている。
そのため、図9Fの回路MP[i,j]は、第2データzi
(k-1)が“0”、又は“1”の2値である場合に、演算回路に適用するのが好ましい。例えば、第2データzi
(k-1)が“1”である場合、回路MPは、回路MCと配線OL[j]との間を導通状態にし、回路MCrと配線OLB[j]との間を導通状態にする。また、例えば、第2データzi
(k-1)が“0”である場合、回路MC、及び回路MCrのそれぞれが出力した電流を、配線OL[j]、及び配線OLB[j]のいずれにも流さなくするため、回路MPは、回路MCと配線OL[j]との間、及び、回路MCと配線OLB[j]との間を非導通状態にし、回路MCrと配線OL[j]との間、及び、回路MCrと配線OLB[j]との間を非導通状態にする。
図9Fの回路MP[i,j]は、演算回路110に適用することによって、一例としては、第1データwi
(k-1)
j
(k)が“-1”、“0”、“1”の3値のいずれかをとり、第2データzi
(k-1)が“0”、“1”の2値をとる場合における、演算を行うことができる。なお、第1データwi
(k-1)
j
(k)が“-1”、“0”、“1”、のうちの、いずれか2値、例えば、“-1”、“1”の2値の場合、または、“0”、“1”の2値の場合も、動作させることができる。なお、第1データwi
(k-1)
j
(k)は、アナログ値、または、多ビット(多値)のデジタル値を取ってもよい。具体的な例としては、“-1”の代わりに“負のアナログ値”、および、“1”の代わりに“正のアナログ値”をとっても良い。この場合、回路MCまたは回路MCrから流れる電流の大きさも、一例としては、第1データwi
(k-1)
j
(k)の値の絶対値に応じたアナログ値となる。
図10に示す回路MP[i,j]は、図9Aと同様に、配線OL[j]及び配線OLB[j]に、第1データwi
(k-1)
j
(k)と第2データzi
(k-1)との積に応じた電流を出力することが可能な回路である。なお、図10の回路MP[i,j]は、例えば、図2の演算回路110に適用することができる。
図10の回路MP[i,j]は、回路MCと、回路MCrと、に加えて、トランジスタMZを有する。
トランジスタMZの第1端子は、回路MCの第1端子と、回路MCrの第1端子と、に電気的に接続されている。トランジスタMZの第2端子は、配線VLに電気的に接続されている。トランジスタMZのゲートは、配線XL[i]に電気的に接続されている。
配線VLは、一例としては、定電圧を与える配線として機能する。当該定電圧は、回路MP[i,j]や演算回路110などの構成によって決めることが好ましい。当該定電圧としては、例えば、高レベル電位であるVDD、低レベル電位であるVSS、接地電位などとすることができる。
また、図10に示した配線WL[i]は、図2の演算回路110における配線WLS[i]に相当する。配線WL[i]は、保持部HCと、保持部HCrと、に電気的に接続されている。
また、配線OL[j]は、回路MCの第2端子に電気的に接続されている。また、配線OLB[j]は、回路MCrの第2端子に電気的に接続されている。
また、配線IL[j]は、保持部HCに電気的に接続され、配線ILB[j]は、保持部HCrに電気的に接続されている。
図10の回路MP[i,j]において、保持部HCと保持部HCrのそれぞれに第1データに応じた電位を保持する場合の動作については、図9Aの回路MP[i,j]における第1データに応じた電位を保持する動作の説明を参酌する。
図10の回路MP[i,j]において、回路MCは、回路MCの第1端子に配線VLが与える定電圧が供給されているときに、保持部HCに保持された電位に応じた電流を、回路MCの第1端子と第2端子との間に流す機能を有する。また、回路MCrは、回路MCの第1端子に配線VLが与える定電圧が供給されているときに、保持部HCrに保持された電位に応じた電流を、回路MCrの第1端子と第2端子との間に流す機能を有する。つまり、回路MP[i,j]の保持部HC、保持部HCrのそれぞれに第1データwi
(k-1)
j
(k)に応じた電位を保持することによって、回路MCの第1端子と第2端子との間に流れる電流量と、回路MCrの第1端子と第2端子との間に流れる電流量を定めることができる。なお、回路MC(回路MCr)の第1端子に配線VLが与える定電圧が供給されていない場合、回路MC(回路MCr)は、例えば、回路MC(回路MCr)の第1端子と第2端子との間に電流を流さないものとしてもよい。
例えば、保持部HC、保持部HCrのそれぞれに“1”の第1データwi
(k-1)
j
(k)に応じた電位が保持されているとき、回路MCに配線VLが与える定電圧が与えられることによって、回路MCは、回路MCの第1端子と第2端子との間に所定の電流を流す。そのため、回路MCと配線OLとの間に電流が流れる。なお、このとき、回路MCrは回路MCrの第1端子と第2端子との間に電流を流さないものとする。そのため、回路MCrと配線OLBとの間には電流は流れない。また、例えば、保持部HC、保持部HCrのそれぞれに“-1”の第1データwi
(k-1)
j
(k)に応じた電位が保持されているとき、回路MCに配線VLが与える定電圧が与えられることによって、回路MCrは、回路MCrの第1端子と第2端子との間に所定の電流を流す。そのため、回路MCrと配線OLBとの間に電流が流れる。なお、このとき、回路MCは回路MCの第1端子と第2端子との間に電流を流さないものとする。そのため、回路MCと配線OLとの間には電流は流れない。また、例えば、保持部HC、保持部HCrのそれぞれに“0”の第1データwi
(k-1)
j
(k)に応じた電位が保持されているとき、回路MC及び回路MCrに配線VLの定電圧が与えられるかどうかに関わらず、回路MCは回路MCの第1端子と第2端子との間に電流を流さず、回路MCrは回路MCrの第1端子と第2端子との間に電流を流さない。つまり、回路MCと配線OLとの間には電流は流れず、回路MCrと配線OLBとの間には電流は流れない。
なお、図10の回路MP[i,j]において、保持部HC、保持部HCrに保持される、第1データwi
(k-1)
j
(k)に応じた電位の具体例については、図9Aの回路MP[i,j]の記載を参酌する。また、図10の回路MP[i,j]において、保持部HC、保持部HCrは、図9Aの回路MP[i,j]と同様に、電位でなく、電流、抵抗値などの情報を保持する機能を有し、回路MC、回路MCrは当該情報に応じた電流を流す機能を有してもよい。
図10に示した配線XL[i]は、図2の演算回路110における配線XLS[i]に相当する。なお、回路MP[i,j]に入力される第2データzi
(k-1)は、一例としては、配線XL[i]の電位、電流などによって定められる。そのため、トランジスタMZのゲートには、例えば、配線XL[i]を介して、第2データzi
(k-1)に応じた電位が入力される。
例えば、第2データzi
(k-1)が“0”、“1”の2値のいずれかをとる場合を考える。例えば、第2データzi
(k-1)が“1”である場合、配線XL[i]には高レベル電位が与えられるものとする。このとき、トランジスタMZがオン状態となるので、回路MPは、配線VLと回路MCの第1端子との間を導通状態にし、配線VLと回路MCrの第1端子との間を導通状態にする。つまり、第2データzi
(k-1)が“1”であるとき、回路MCと、回路MCrと、に配線VLからの定電圧が与えられる。また、例えば、第2データzi
(k-1)が“0”である場合、配線XL[i]には低レベル電位が与えられるものとする。このとき、回路MPは、回路MCと配線OLB[j]との間を非導通状態とし、回路MCrと配線OL[j]との間を非導通状態とする。つまり、第2データzi
(k-1)が“0”であるとき、回路MCと、回路MCrと、には、配線VLからの定電圧が与えられない。
ここで、例えば、第1データwi
(k-1)
j
(k)が“1”であって、第2データzi
(k-1)が“1”である場合、回路MCと配線OLとの間には電流は流れ、回路MCrと配線OLBとの間には電流は流れない結果となる。また、例えば、第1データwi
(k-1)
j
(k)が“-1”であって、第2データzi
(k-1)が“1”である場合、回路MCと配線OLとの間には電流は流れず、回路MCrと配線OLBとの間には電流は流れる結果となる。また、例えば、第1データwi
(k-1)
j
(k)が“0”であって、第2データzi
(k-1)が“1”である場合、回路MCと配線OLとの間、及び回路MCrと配線OLBとの間には電流は流れない結果となる。また、例えば、第2データzi
(k-1)が“0”である場合、第1データwi
(k-1)
j
(k)が“-1”、“0”、“1”のいずれかであっても、回路MCと配線OLとの間、及び回路MCrと配線OLBとの間には電流は流れない結果となる。
つまり、図10の回路MP[i,j]は、図9Fの回路MP[i,j]と同様に、一例として、第1データwi
(k-1)
j
(k)が“-1”、“0”、“1”の3値のいずれかをとり、第2データzi
(k-1)が“0”、“1”の2値をとる場合における、演算を行うことができる。また、図9Fの回路MP[i,j]と同様に、図10の回路MP[i,j]は、第1データwi
(k-1)
j
(k)が“-1”、“0”、“1”のうちの、いずれか2値、例えば、“-1”、“1”の2値の場合、または、“0”、“1”の2値の場合も、動作させることができる。なお、第1データwi
(k-1)
j
(k)は、アナログ値、または、多ビット(多値)のデジタル値を取ってもよい。具体的な例としては、“-1”の代わりに“負のアナログ値”、および、“1”の代わりに“正のアナログ値”をとってもよい。この場合、回路MCまたは回路MCrから流れる電流の大きさも、一例としては、第1データwi
(k-1)
j
(k)の値の絶対値に応じたアナログ値となる。
<演算回路の動作例>
次に、図7の演算回路140の動作例について説明する。なお、本動作例の説明では、一例として、図13に示す演算回路140を用いる。
図13の演算回路140は、図7の演算回路140のj列目に位置する回路に着目して図示されたものである。つまり、図13の演算回路140は、図1Aに示したニューラルネットワーク100における、ニューロンNj
(k)に入力される、ニューロンN1
(k-1)乃至ニューロンNm
(k-1)からの信号z1
(k-1)乃至zm
(k-1)と、重み係数w1
(k-1)
j
(k)乃至wm
(k-1)
j
(k)と、の積和演算と、当該積和演算の結果を用いた活性化関数の演算と、行う回路に相当する。更に、図13の演算回路110のアレイ部ALPに含まれている回路MPは、図9Bの回路MPを適用しているものとする。
初めに、演算回路140において、回路MP[1,j]乃至回路MP[m,j]に第1データw1
(k-1)
j
(k)乃至wm
(k-1)
j
(k)が設定される。第1データwi
(k-1)
j
(k)の設定の方法としては、回路WLDによって、配線WLS[1]乃至配線WLS[m]に順に所定の電位を入力して、回路MP[1,j]乃至回路MP[m,j]を順に選択していき、選択された回路MPに含まれている回路MC、及び回路MCrのそれぞれの保持部HC、及び保持部HCrに対して、回路ILDから、切り替え回路TW[j]、配線OL[j]、OLB[j]を介して、第1データに応じた電位、電流などを供給する。そして、電位、電流などの供給後に、回路WLDによって回路MP[1,j]乃至回路MP[m,j]のそれぞれを非選択にすることにより、回路MP[1,j]乃至回路MP[m,j]のそれぞれが有する回路MC、及び回路MCrのそれぞれの保持部HC、及び保持部HCrに第1データw1
(k-1)
j
(k)乃至wm
(k-1)
j
(k)に応じた電位、電流などを保持することができる。一例としては、第1データw1
(k-1)
j
(k)乃至wm
(k-1)
j
(k)のそれぞれについて、正の値を取る場合には、保持部HCには、その正の値に応じた値を入力し、保持部HCrには、ゼロに相当する値を入力する。一方、第1データw1
(k-1)
j
(k)乃至wm
(k-1)
j
(k)のそれぞれについて、負の値を取る場合には、保持部HCには、ゼロに相当する値を入力し、保持部HCrには、負の値の絶対値に応じた値を入力する。
次に、回路XLDによって、配線X1L[1]乃至配線X1L[m]、配線X2L[1]乃至配線X2L[m]のそれぞれに、第2データz1
(k-1)乃至zm
(k-1)を供給する。具体的な一例としては、配線X1L[i]及び配線X2L[i]に第2データz1
(k-1)が供給される。なお、配線X1L[i]、及び配線X2L[i]は、図7に示す演算回路140の配線XLS[i]に相当する。
回路MP[1,j]乃至回路MP[m,j]のそれぞれに入力される第2データz1
(k-1)乃至zm
(k-1)に応じて、回路MP[1,j]乃至回路MP[m,j]に含まれる回路MC、及び回路MCrと配線OL[j]、及び配線OLB[j]との導通状態が決まる。具体的な例としては、回路MP[i,j]は、第2データzi
(k-1)に応じて、「回路MCと配線OL[j]との間が導通となり、回路MCrと配線OLB[j]との間が導通となる」状態と、「回路MCと配線OLB[j]との間が導通となり、回路MCrと配線OL[j]との間が導通となる」状態と、「回路MC、及び回路MCrはそれぞれ配線OL[j]、及び配線OLB[j]と非導通となる」状態と、のいずれか一をとる。一例としては、第2データz1
(k-1)について、正の値を取る場合には、配線X1L[1]には、回路MCと配線OL[j]との間が導通状態となり、かつ、回路MCrと配線OLB[j]との間が導通状態とすることができる値を入力する。そして、配線X2L[1]には、回路MCと配線OLB[j]との間が非導通状態となり、かつ、回路MCrと配線OL[j]との間が非導通状態となることができる値を入力する。そして、第2データz1
(k-1)について、負の値を取る場合には、配線X1L[1]には、回路MCと配線OLB[j]との間が導通状態となり、かつ、回路MCrと配線OL[j]との間が導通状態とすることができる値を入力する。そして、配線X2L[1]には、回路MCと配線OL[j]との間が非導通状態となり、かつ、回路MCrと配線OLB[j]との間が非導通状態となることができる値を入力する。そして、第2データz1
(k-1)について、ゼロの値を取る場合には、配線X1L[1]には、回路MCと配線OLB[j]との間が非導通状態となり、かつ、回路MCrと配線OL[j]との間が非導通状態となることができる値を入力する。そして、配線X2L[1]には、回路MCと配線OL[j]との間が非導通状態となり、かつ、回路MCrと配線OLB[j]との間が非導通状態となることができる値を入力する。
回路MP[i,j]に入力される第2データzi
(k-1)に応じて、回路MP[i,j]に含まれる回路MC、及び回路MCrと配線OL[j]、及び配線OLB[j]との間の導通状態、又は非導通状態が決まることによって、回路MC、及び回路MCrと配線OL[j]、及び配線OLB[j]との間で電流の入出力が行われる。更に、当該電流の量は、回路MP[i,j]に設定された第1データwi
(k-1)
j
(k)及び/又は第2データzi
(k-1)に応じて決まる。
例えば、回路MP[i,j]において、配線OL[j]から、回路MC又は回路MCrに流れる電流をI[i,j]とし、配線OLB[j]から、回路MC又は回路MCrに流れる電流をIB[i,j]とする。そして、回路ACTF[j]から配線OL[j]に流れる電流をIout[j]とし、配線OLB[j]から回路ACTF[j]に流れる電流をIBout[j]とすると、Iout[j]及びIBout[j]は、次の式で表すことができる。
回路MP[i,j]において、一例として、第1データwi
(k-1)
j
(k)が“+1”であるとき、回路MCはI(+1)を排出し、回路MCrはI(-1)を排出するものとし、第1データwi
(k-1)
j
(k)が“-1”であるとき、回路MCはI(-1)を排出し、回路MCrはI(+1)を排出するものとし、第1データwi
(k-1)
j
(k)が“0”であるとき、回路MCはI(-1)を排出し、回路MCrはI(-1)を排出するものとする。
更に、回路MP[i,j]は、第2データzi
(k-1)が“+1”であるときに、「回路MCと配線OL[j]との間が導通となり、回路MCrと配線OLB[j]との間が導通となり、回路MCと配線OLB[j]との間が非導通となり、回路MCrと配線OL[j]との間が非導通となる」状態をとり、第2データzi
(k-1)が“-1”であるときに、「回路MCと配線OLB[j]との間が導通となり、回路MCrと配線OL[j]との間が導通となり、回路MCと配線OL[j]との間が非導通となり、回路MCrと配線OLB[j]との間が非導通となる」状態をとり、第2データzi
(k-1)が“0”であるときに、「回路MCと配線OL[j]との間、および、回路MCと配線OLB[j]との間は、非導通となり、回路MCrと配線OL[j]との間、および、回路MCrとOLB[j]との間は、非導通となる」状態をとるものとする。
このとき、回路MP[i,j]において、配線OL[j]から、回路MC又は回路MCrに流れる電流I[i,j]と、配線OLB[j]から、回路MC又は回路MCrに流れる電流IB[i,j]と、は、下表に示すとおりとなる。なお、場合によっては、I(-1)の電流量が0となるように、回路MP[i,j]を構成してもよい。なお、電流I[i,j]は、回路MC又は回路MCrから配線OL[j]に流れる電流であってもよい。同様に、電流IB[i,j]は、回路MC又は回路MCrから配線OLB[j]に流れる電流であってもよい。
そして、配線OL[j]、及び配線OLB[j]のそれぞれから流れてくるIout[j]及びIBout[j]のそれぞれが、回路ACTF[j]に入力されることによって、回路ACTF[j]は、一例としては、Iout[j]及びIBout[j]の比較などを行う。回路ACTF[j]は、一例としては、当該比較の結果に応じて、ニューロンNj
(k)が第(k+1)層のニューロンに送信する信号zj
(k)を出力する。
図13の演算回路140によって、一例としては、ニューロンNj
(k)に入力される、ニューロンN1
(k-1)乃至ニューロンNm
(k-1)からの信号z1
(k-1)乃至zm
(k-1)と、重み係数w1
(k-1)
j
(k)乃至wm
(k-1)
j
(k)と、の積和演算と、当該積和演算の結果を用いた活性化関数の演算と、を行うことができる。更に、図13の演算回路のアレイ部ALPにおいて、回路MPをn列設けることで、図7の演算回路140と同等の回路を構成できる。つまり、図7の演算回路140によって、ニューロンN1
(k)乃至ニューロンNn
(k)のそれぞれにおける、積和演算と、当該積和演算の結果を用いた活性化関数の演算と、を同時に行うことができる。
<<演算回路に含まれる回路などの変更例>>
上述した演算回路110、演算回路120、演算回路130、演算回路140、演算回路150、演算回路160のそれぞれは、式(1.2)の演算ではなく式(1.3)の演算を行う回路に変更することができる。式(1.3)は、式(1.2)の積和の結果にバイアスを与えた演算に相当する。そのため、演算回路110、演算回路120、演算回路130、演算回路140、演算回路150、演算回路160のそれぞれにおいて、配線OL、及び配線OLBにバイアスの値を与える回路を設けてもよい。
図14に示す演算回路170は、図11の演算回路150のアレイ部ALPに回路BS[1]乃至回路BS[n]を加えた回路構成となっている。
回路BS[j]は、配線OL[j]と、配線OLB[j]と、配線WLBSと、配線WXBSと、に電気的に接続されている。
配線WLBSは、図2の演算回路110などの配線WLS[1]乃至配線WLS[m]、図7の演算回路140などの配線WL[1]乃至配線WL[m]と同様に、回路BS[1]乃至回路BS[n]に含まれる書き込み用スイッチング素子をオン状態又はオフ状態にするための信号を供給するための配線として機能する。そのため、配線WLBSは、回路WLDに電気的に接続されることによって、回路WLDから配線WLBSに対して、当該信号を供給することができる。
配線WXBSは、図2の演算回路110などの配線XLS[1]乃至配線XLS[m]と同様に、ニューロンNi
(k-1)から出力された第2データzi
(k-1)に対応する情報(例えば、電位、電流値など)を、回路BS[1]乃至回路BS[n]に供給する配線として機能する。そのため、配線WXBSは、回路XLDに電気的に接続されることによって、回路XLDから配線WXBSに対して、当該情報を供給することができる。
また、配線WXBSは、図7の演算回路140などの配線WX1L[1]乃至配線WX1L[n]と同様に、回路BS[1]乃至回路BS[n]に情報を書き込むための選択信号線として兼用してもよい。図14の演算回路170では、配線WXBSは、回路WLDに電気的に接続されている例を示している。このような構成の場合、回路WLDは、配線WLBS、配線WXBSのそれぞれに、回路BS[1]乃至回路BS[n]に含まれる書き込み用スイッチング素子をオン状態又はオフ状態にするための信号を供給することができる。
演算回路170のアレイ部ALPのj列において、回路MP[1,j]乃至回路MP[m,j]から配線OL[j]又は配線OLB[j]に流れる電流量は、それぞれ式(1.5)、式(1.6)で表すことができる。また、配線OL[j]、配線OLB[j]のそれぞれは、回路BS[j]に電気的に接続されているため、回路BS[j]から配線OL[j]に流れる電流をIBIAS[j]、回路BS[j]から配線OLB[j]に流れる電流をIBIASB[j]としたとき、式(1.5)、式(1.6)のそれぞれは下の式に書き直すことができる。
これにより、式(1.3)の演算として、バイアスが含まれるIout[j]及びIBout[j]を生成することができる。また、バイアスが含まれるIout[j]及びIBout[j]は、回路ACTF[j]に入力されることによって、バイアスがかかった、ニューロンNj
(k)からの出力信号zj
(k)を生成することができる。
図14の演算回路170では、回路BS[1]乃至回路BS[n]は、アレイ部ALPに対して1行分設けた構成としたが、本発明の一態様は、これに限定されない。例えば、回路BS[1]乃至回路BS[n]は、アレイ部ALPに対して2行以上設けてもよい。
上述した、アレイ部ALP、回路ILD、回路WLD、回路XLD、回路AFP、回路MP、切り替え回路TWなどのそれぞれに含まれているトランジスタの一部、または、全部は、一例としては、OSトランジスタであることが好ましい。例えば、オフ電流を低くすることが望ましいようなトランジスタの場合、具体例としては、容量素子などに蓄積された電荷を保持する機能を有するトランジスタは、OSトランジスタであることが好ましい。特に、当該トランジスタとしてOSトランジスタを適用する場合、OSトランジスタは、特に実施の形態4に記載するトランジスタの構造であることがより好ましい。OSトランジスタのチャネル形成領域に含まれる金属酸化物としては、例えば、インジウム、元素M(元素Mはアルミニウム、ガリウム、イットリウム、またはスズ)、亜鉛から一又は複数選ばれる材料とすることができる。特に、インジウム、ガリウム、亜鉛からなる金属酸化物は、バンドギャップが高く、真性(I型ともいう。)、又は実質的に真性である半導体であって、当該金属酸化物のキャリア濃度は、1×1018cm-3以下であることが好ましく、1×1017cm-3未満であることがより好ましく、1×1016cm-3未満であることがさらに好ましく、1×1013cm-3未満であることがさらに好ましく、1×1012cm-3未満であることがさらに好ましい。また、当該金属酸化物がチャネル形成領域に含まれるOSトランジスタのオフ電流は、チャネル幅1μmあたり10aA(1×10-17A)以下、好ましくはチャネル幅1μmあたり1aA(1×10-18A)以下、さらには好ましくはチャネル幅1μmあたり10zA(1×10-20A)以下、さらに好ましくはチャネル幅1μmあたり1zA(1×10-21A)以下、さらに好ましくはチャネル幅1μmあたり100yA(1×10-22A)以下とすることができる。また当該OSトランジスタは、金属酸化物のキャリア濃度が低いため、OSトランジスタの温度が変化した場合でも、オフ電流は低いままとなる。例えば、OSトランジスタの温度が150℃であっても、オフ電流を、チャネル幅1μmあたり100zAとすることもできる。
ただし、本発明の一態様は、上記に限定されず、アレイ部ALP、回路ILD、回路WLD、回路XLD、回路AFP、回路MP、切り替え回路TWなどに含まれるトランジスタは、OSトランジスタでなくてもよい。OSトランジスタ以外では、一例としては、チャネル形成領域にシリコンを含むトランジスタ(以後、Siトランジスタと呼称する。)としてもよい。また、シリコンとしては、例えば、単結晶シリコン、水素化アモルファスシリコン、微結晶シリコン、または多結晶シリコン等を用いることができる。また、OSトランジスタ、Siトランジスタ以外のトランジスタとしては、例えば、Geなどの半導体を活性層としたトランジスタ、ZnSe、CdS、GaAs、InP、GaN、SiGeなどの化合物半導体を活性層としたトランジスタ、カーボンナノチューブを活性層としたトランジスタ、有機半導体を活性層としたトランジスタ等を用いることができる。
なお、OSトランジスタの半導体層の金属酸化物において、インジウムを含む金属酸化物(例えば、In酸化物)、あるいは亜鉛を含む金属酸化物(例えば、Zn酸化物)では、n型半導体は作製できているが、p型半導体は移動度及び信頼性の点で作製が難しい場合もある。そのため、演算回路110、演算回路120、演算回路130、演算回路140、演算回路150、演算回路160、演算回路170は、アレイ部ALP、回路ILD、回路WLD、回路XLD、回路AFP、回路MPなどに含まれるnチャネル型トランジスタとしてOSトランジスタを適用し、pチャネル型トランジスタとしてSiトランジスタを適用した構成としてもよい。
なお、本実施の形態は、本明細書で示す他の実施の形態と適宜組み合わせることができる。
(実施の形態2)
本実施の形態では、実施の形態1で説明した回路MPの具体的な構成例について説明する。
なお、実施の形態1では、回路MPの符号に、アレイ部ALP内の位置を示す[1,1]、[i,j]、[m,n]等を付記したが、本実施の形態では、特に断らない限り、回路MPの符号に対して[1,1]、[i,j]、[m,n]等の記載を省略する。
<構成例1>
初めに、図9Bの回路MPに適用できる回路構成の例について説明する。図15Aに示す回路MPは、図9Bの回路MPの構成の一例であり、図15Aの回路MPに含まれている回路MCは、一例としては、トランジスタM1乃至トランジスタM4と、容量C1と、を有する。なお、例えば、トランジスタM2と、容量C1とによって、保持部HCが構成されている。
図9Bの回路MPにおいて、回路MCrは、回路MCとほぼ同様の回路構成となっている。そのため、回路MCrの有する回路素子などには、回路MCの有する回路素子などと区別をするため、符号に「r」を付している。
図15Aに図示しているトランジスタM1乃至トランジスタM4は、一例としては、チャネルの上下にゲートを有するマルチゲート構造のnチャネル型トランジスタとしており、トランジスタM1乃至トランジスタM4のそれぞれは第1ゲートと第2ゲートとを有する。特に、一例としては、トランジスタM3、及びトランジスタM4のそれぞれのサイズは等しいことが好ましい。但し、本明細書等において、便宜上、一例として、第1ゲートをゲート(フロントゲートと記載する場合がある。)、第2ゲートをバックゲートとして区別するように記載しているが、第1ゲートと第2ゲートは互いに入れ替えることができる。そのため、本明細書等において、「ゲート」という語句は「バックゲート」という語句と入れ替えて記載することができる。同様に、「バックゲート」という語句は「ゲート」という語句と入れ替えて記載することができる。具体例としては、「ゲートは第1配線に電気的に接続され、バックゲートは第2配線に電気的に接続されている」という接続構成は、「バックゲートは第1配線に電気的に接続され、ゲートは第2配線に電気的に接続されている」という接続構成として置き換えることができる。例えば、図15Bに示すとおり、トランジスタM1のバックゲートを容量C1の第1端子と、トランジスタM2の第1端子と、に電気的に接続される構成としてもよい。
また、本発明の一態様の半導体装置は、トランジスタのバックゲートの接続構成に依らない。図15Aに図示されているトランジスタM1乃至トランジスタM4には、バックゲートが図示され、当該バックゲートの接続構成については図示されていないが、当該バックゲートの電気的な接続先は、設計の段階で決めることができる。例えば、バックゲートを有するトランジスタにおいて、そのトランジスタのオン電流を高めるために、ゲートとバックゲートとを電気的に接続してもよい。つまり、例えば、トランジスタM2のゲートとバックゲートとを電気的に接続してもよい。また、例えば、バックゲートを有するトランジスタにおいて、そのトランジスタのしきい値電圧を変動させるため、または、そのトランジスタのオフ電流を小さくするために、外部回路などと電気的に接続されている配線を設けて、当該外部回路などによってトランジスタのバックゲートに電位を与えてもよい。なお、これについては、図15Aだけでなく、明細書の他の箇所に記載されているトランジスタ、又は他の図面に図示されているトランジスタについても同様である。
また、本発明の一態様の半導体装置は、当該半導体装置に含まれるトランジスタの構造に依らない。例えば、図15Aに図示しているトランジスタM1乃至トランジスタM4は、図15Cに示すとおり、バックゲートを有さないような構成、つまり、シングルゲート構造のトランジスタとしてもよい。また、一部のトランジスタはバックゲートを有している構成であり、別の一部のトランジスタは、バックゲートを有さない構成であってもよい。なお、これについては、図15Aに示す回路図だけでなく、明細書の他の箇所に記載されているトランジスタ、又は他の図面に図示されているトランジスタについても同様である。
また、本明細書等において、トランジスタとして、様々な構造のトランジスタを用いることができる。よって、用いるトランジスタの種類に限定はない。トランジスタの一例としては、単結晶シリコンを有するトランジスタ、または、非晶質シリコン、多結晶シリコン、微結晶(マイクロクリスタル、ナノクリスタル、セミアモルファスとも言う)シリコンなどに代表される非単結晶半導体膜を有するトランジスタなどを用いることができる。または、それらの半導体を薄膜化した薄膜トランジスタ(TFT)などを用いることができる。TFTを用いる場合、様々なメリットがある。例えば、単結晶シリコンの場合よりも低い温度で製造できるため、製造コストの削減、又は製造装置の大型化を図ることができる。製造装置を大きくできるため、大型基板上に製造できる。そのため、同時に多くの個数の表示装置を製造できるため、低コストで製造できる。または、製造温度が低いため、耐熱性の弱い基板を用いることができる。そのため、透光性を有する基板上にトランジスタを製造できる。または、透光性を有する基板上のトランジスタを用いて表示素子での光の透過を制御することができる。または、トランジスタの膜厚が薄いため、トランジスタを形成する膜の一部は、光を透過させることができる。そのため、開口率が向上させることができる。
なお、トランジスタの一例としては、化合物半導体(例えば、SiGe、GaAsなど)、又は酸化物半導体(例えば、Zn-O、In-Ga-Zn-O、In-Zn-O、In-Sn-O(ITO)、Sn-O、Ti-O、Al-Zn-Sn-O(AZTO)、In-Sn-Zn-Oなど)などを有するトランジスタを用いることができる。または、これらの化合物半導体、又は、これらの酸化物半導体を薄膜化した薄膜トランジスタなどを用いることができる。これらにより、製造温度を低くできるので、例えば、室温でトランジスタを製造することが可能となる。その結果、耐熱性の低い基板、例えばプラスチック基板又はフィルム基板などに直接トランジスタを形成することができる。なお、これらの化合物半導体又は酸化物半導体を、トランジスタのチャネル部分に用いるだけでなく、それ以外の用途で用いることもできる。例えば、これらの化合物半導体又は酸化物半導体を配線、抵抗素子、画素電極、又は透光性を有する電極などとして用いることができる。それらをトランジスタと同時に成膜又は形成することが可能なため、コストを低減できる。
なお、トランジスタの一例としては、インクジェット法又は印刷法を用いて形成したトランジスタなどを用いることができる。これらにより、室温で製造、低真空度で製造、又は大型基板上に製造することができる。よって、マスク(レチクル)を用いなくても製造することが可能となるため、トランジスタのレイアウトを容易に変更することができる。または、レジストを用いらずに製造することが可能なので、材料費が安くなり、工程数を削減できる。または、必要な部分にのみ膜を付けることが可能なので、全面に成膜した後でエッチングする、という製法よりも、材料が無駄にならず、低コストにできる。
なお、トランジスタの一例としては、有機半導体やカーボンナノチューブを有するトランジスタ等を用いることができる。これらにより、曲げることが可能な基板上にトランジスタを形成することができる。有機半導体やカーボンナノチューブを有するトランジスタを用いた装置は、衝撃に強くすることができる。
なお、トランジスタとしては、他にも様々な構造のトランジスタを用いることができる。例えば、トランジスタとして、MOS型トランジスタ、接合型トランジスタ、バイポーラトランジスタなどを用いることができる。トランジスタとしてMOS型トランジスタを用いることにより、トランジスタのサイズを小さくすることができる。よって、多数のトランジスタを搭載することができる。トランジスタとしてバイポーラトランジスタを用いることにより、大きな電流を流すことができる。よって、高速に回路を動作させることができる。なお、MOS型トランジスタとバイポーラトランジスタとを1つの基板に混在させて形成してもよい。これにより、低消費電力、小型化、高速動作などを実現することができる。
なお、トランジスタの一例としては、活性層の上下にゲート電極が配置されている構造のトランジスタを適用することができる。活性層の上下にゲート電極が配置される構造にすることにより、複数のトランジスタが並列に接続されたような回路構成となる。よって、チャネル形成領域が増えるため、電流値の増加を図ることができる。または、活性層の上下にゲート電極が配置されている構造にすることにより、空乏層ができやすくなるため、S値の改善を図ることができる。
なお、トランジスタの一例としては、活性層の上にゲート電極が配置されている構造、活性層の下にゲート電極が配置されている構造、正スタガ構造、逆スタガ構造、チャネル領域を複数の領域に分けた構造、活性層を並列に接続した構造、又は活性層が直列に接続する構造などのトランジスタを用いることができる。または、トランジスタとして、プレーナ型、FIN型(フィン型)、TRI-GATE型(トライゲート型)、トップゲート型、ボトムゲート型、ダブルゲート型(チャネルの上下にゲートが配置されている)、など、様々な構成をとることができる。
なお、トランジスタの一例としては、活性層(もしくはその一部)にソース電極やドレイン電極が重なっている構造のトランジスタを用いることができる。活性層(もしくはその一部)にソース電極やドレイン電極が重なる構造にすることによって、活性層の一部に電荷が溜まることにより動作が不安定になることを防ぐことができる。
なお、トランジスタの一例としては、LDD領域を設けた構造を適用できる。LDD領域を設けることにより、オフ電流の低減、又はトランジスタの耐圧向上(信頼性の向上)を図ることができる。または、LDD領域を設けることにより、飽和領域で動作する時に、ドレインとソースとの間の電圧が変化しても、ドレイン電流があまり変化せず、傾きがフラットな電圧・電流特性を得ることができる。
例えば、本明細書等において、様々な基板を用いて、トランジスタを形成することができる。基板の種類は、特定のものに限定されることはない。その基板の一例としては、半導体基板(例えば単結晶基板又はシリコン基板)、SOI基板、ガラス基板、石英基板、プラスチック基板、サファイアガラス基板、金属基板、ステンレス・スチル基板、ステンレス・スチル・ホイルを有する基板、タングステン基板、タングステン・ホイルを有する基板、可撓性基板、貼り合わせフィルム、繊維状の材料を含む紙、又は基材フィルムなどがある。ガラス基板の一例としては、バリウムホウケイ酸ガラス、アルミノホウケイ酸ガラス、又はソーダライムガラスなどがある。可撓性基板、貼り合わせフィルム、基材フィルムなどの一例としては、以下のものがあげられる。例えば、ポリエチレンテレフタレート(PET)、ポリエチレンナフタレート(PEN)、ポリエーテルサルフォン(PES)、ポリテトラフルオロエチレン(PTFE)に代表されるプラスチックがある。または、一例としては、アクリル等の合成樹脂などがある。または、一例としては、ポリプロピレン、ポリエステル、ポリフッ化ビニル、又はポリ塩化ビニルなどがある。または、一例としては、ポリアミド、ポリイミド、アラミド、エポキシ樹脂、無機蒸着フィルム、又は紙類などがある。特に、半導体基板、単結晶基板、又はSOI基板などを用いてトランジスタを製造することによって、特性、サイズ、又は形状などのばらつきが少なく、電流能力が高く、サイズの小さいトランジスタを製造することができる。このようなトランジスタによって回路を構成すると、回路の低消費電力化、又は回路の高集積化を図ることができる。
また、基板として、可撓性基板を用い、可撓性基板上に直接、トランジスタを形成してもよい。または、基板とトランジスタの間に剥離層を設けてもよい。剥離層は、その上に半導体装置を一部あるいは全部完成させた後、基板より分離し、他の基板に転載するために用いることができる。その際、トランジスタは耐熱性の劣る基板や可撓性の基板にも転載できる。なお、上述の剥離層には、例えば、タングステン膜と酸化シリコン膜との無機膜の積層構造の構成や、基板上にポリイミド等の有機樹脂膜が形成された構成等を用いることができる。
つまり、ある基板を用いてトランジスタを形成し、その後、別の基板にトランジスタを転置し、別の基板上にトランジスタを配置してもよい。トランジスタが転置される基板の一例としては、上述したトランジスタを形成することが可能な基板に加え、紙基板、セロファン基板、アラミドフィルム基板、ポリイミドフィルム基板、石材基板、木材基板、布基板(天然繊維(絹、綿、麻)、合成繊維(ナイロン、ポリウレタン、ポリエステル)若しくは再生繊維(アセテート、キュプラ、レーヨン、再生ポリエステル)などを含む)、皮革基板、又はゴム基板などがある。これらの基板を用いることにより、特性のよいトランジスタの形成、消費電力の小さいトランジスタの形成、壊れにくい装置の製造、耐熱性の付与、軽量化、又は薄型化を図ることができる。
なお、所定の機能を実現させるために必要な回路の全てを、同一の基板(例えば、ガラス基板、プラスチック基板、単結晶基板、又はSOI基板など)に形成することが可能である。こうして、部品点数の削減によるコストの低減、又は回路部品との接続点数の低減による信頼性の向上を図ることができる。
なお、所定の機能を実現させるために必要な回路の全てを同じ基板に形成しないことが可能である。つまり、所定の機能を実現させるために必要な回路の一部は、ある基板に形成され、所定の機能を実現させるために必要な回路の別の一部は、別の基板に形成されていることが可能である。例えば、所定の機能を実現させるために必要な回路の一部は、ガラス基板に形成され、所定の機能を実現させるために必要な回路の別の一部は、単結晶基板(又はSOI基板)に形成されることが可能である。そして、所定の機能を実現させるために必要な回路の別の一部が形成される単結晶基板(ICチップともいう)を、COG(Chip On Glass)によって、ガラス基板に接続して、ガラス基板にそのICチップを配置することが可能である。または、ICチップを、TAB(Tape Automated Bonding)、COF(Chip On Film)、SMT(Surface Mount Technology)、又はプリント基板などを用いてガラス基板と接続することが可能である。このように、回路の一部が画素部と同じ基板に形成されていることにより、部品点数の削減によるコストの低減、又は回路部品との接続点数の低減による信頼性の向上を図ることができる。特に、駆動電圧が大きい部分の回路、又は駆動周波数が高い部分の回路などは、消費電力が大きくなってしまう場合が多い。そこで、このような回路を、画素部とは別の基板(例えば単結晶基板)に形成して、ICチップを構成する。このICチップを用いることによって、消費電力の増加を防ぐことができる。
図15Aの回路MPにおいて、トランジスタM1の第1端子は、配線VEに電気的に接続されている。トランジスタM1の第2端子は、トランジスタM3の第1端子と、トランジスタM4の第1端子と、に電気的に接続されている。トランジスタM1のゲートは、容量C1の第1端子と、トランジスタM2の第1端子と、に電気的に接続されている。容量C1の第2端子は、配線VEに電気的に接続されている。トランジスタM2の第2端子は、配線OLに電気的に接続されている。トランジスタM2のゲートは配線WLに電気的に接続されている。トランジスタM3の第2端子は配線OLに電気的に接続され、トランジスタM3のゲートは、配線WX1Lに電気的に接続されている。トランジスタM4の第2端子は配線OLBに電気的に接続され、トランジスタM4のゲートは、配線X2Lに電気的に接続されている。
回路MCrにおいて、回路MCと異なる接続構成について説明する。トランジスタM3rの第2端子は、配線OLでなく、配線OLBに電気的に接続され、トランジスタM4rの第2端子は、配線OLBでなく、配線OLに電気的に接続されている。トランジスタM1rの第1端子と、容量C1rの第1端子と、は、配線VErに電気的に接続されている。
なお、図16Aに示すように、トランジスタM1の第1端子は、配線VEではなく、別の配線VLmに電気的に接続されていてもよい。また、同様に、トランジスタM1rの第1端子は、配線VErではなく、別の配線VEmrに電気的に接続されていてもよい。なお、図15Aだけでなく、他の図面の回路図においても、トランジスタM1の第1端子が、配線VEではなく、別の配線VEmに電気的に接続されるような構成、及び/又は、トランジスタM1rの第1端子が、配線VErではなく、別の配線VEmrに電気的に接続されるような構成にしてもよい。
なお、図15Aに示す保持部HCにおいて、トランジスタM1のゲートと、容量C1の第1端子と、トランジスタM2の第1端子と、の電気的接続点をノードn1としている。
保持部HCは、実施の形態1で説明したとおり、一例としては、第1データに応じた電位を保持する機能を有する。図15Aの回路MCに含まれている保持部HCへの当該電位の保持は、トランジスタM2、及びトランジスタM3をオン状態としたときに、配線OLから電位を入力して、容量C1に書き込み、その後にトランジスタM2をオフ状態にすることで行われる。これによって、ノードn1の電位を、第1データに応じた電位として保持することができる。このとき、配線OLから電流を入力し、その電流の大きさに応じた大きさの電位を容量C1に保持することができる。そのため、トランジスタM1の電流特性のばらつきの影響を低減することができる。
また、トランジスタM1は、ノードn1の電位を長時間保持するため、オフ電流が少ないトランジスタを適用するのが好ましい。オフ電流が少ないトランジスタとしては、例えば、OSトランジスタを用いることができる。また、トランジスタM1として、バックゲートを有するトランジスタを適用し、バックゲートに低レベル電位を印加して、閾値電圧をプラス側にシフトさせて、オフ電流を小さくする構成としてもよい。
後述する動作例において、回路MPに入出する電流について簡易的に説明するため、図15Aに示す配線OLの両端をそれぞれノードina、ノードoutaとし、配線OLBの両端をそれぞれノードinb、ノードoutbとする。
配線VEは、一例としては、定電圧を供給する配線として機能する。当該定電圧としては、トランジスタM3、トランジスタM3r、トランジスタM4、または、トランジスタM4rがnチャネル型トランジスタである場合、及び/又は図8において配線VSOが与える電位が高レベル電位である場合には、例えば、低レベル電位であるVSS、接地電位、または、それら以外の低レベル電位などとすることができる。また、配線VEm、配線VEr、配線VLmrのそれぞれは、配線VEと同様に、定電圧を供給する電圧線として機能し、当該定電圧としては、低レベル電位であるVSS、VSS以外の低レベル電位、接地電位などとすることができる。また、当該定電圧としては、高レベル電位であるVDDとしてもよい。この場合、演算回路110、演算回路120、演算回路130、演算回路140、演算回路150、演算回路160の回路ACTF[1]乃至回路ACTF[n]として、図5A乃至図5E、図6A乃至図6D、図6Fのいずれかを適用している場合、回路ACTF[1]乃至回路ACTF[n]に電気的に接続されている配線VALが与える定電圧は、配線VE、配線VErが与える電位VDDよりも高い電位とするのが好ましい。
また、配線VE、配線VEm、配線VEr、及び配線VEmr、のそれぞれが供給する定電圧は、互いに異なってもよいし、一部又は全てが同一であってもよい。また、それぞれの配線が供給する電圧が同一である場合には、それらの配線を選択して、同一の配線としてもよい。例えば、配線VE、配線VEm、配線VEr、及び配線VEmrのそれぞれの与える定電圧がほぼ等しい場合、図16Bの回路MPのとおり、配線VEm、配線VEr、及び配線VEmrは配線VEと同一の配線とすることができる。または、例えば、配線VL、及び配線VLrのそれぞれの与える定電圧がほぼ等しい場合、配線VLと配線VLrとを一本の同一の配線とすることができる。または、例えば、配線VLs、配線VLsrのそれぞれの与える定電圧がほぼ等しい場合、配線VLsと配線VLsrとを一本の同一の配線とすることができる。同様に、図16Aにおいても、例えば、配線VLと配線VLrとを一本の同一の配線として、配線VLmと配線VLmrとを一本の同一の配線としてもよい。または例えば、配線VLと配線VLmrとを一本の同一の配線として、配線VLmと配線VLrとを一本の同一の配線としてもよい。
また、図15Aの回路MPの構成は、状況に応じて、変更することができる。例えば、図17Aに示すとおり、図15Aの回路MPのトランジスタM1、トランジスタM1r、トランジスタM3、トランジスタM3r、トランジスタM4、トランジスタM4rのそれぞれをpチャネル型トランジスタであるトランジスタM1p、トランジスタM1pr、トランジスタM3p、トランジスタM3pr、トランジスタM4p、トランジスタM4prに置き換えてもよい。トランジスタM3p、トランジスタM3pr、トランジスタM4p、トランジスタM4prとしては、一例としては、SOI(Silicon On Insulator)構造のpチャネル型トランジスタを適用することができる。また、この場合、配線VE、及び配線VErが与える定電圧は、高レベル電位であるVDDとするのが好ましい。また、この場合に加え、演算回路110、演算回路120、演算回路130、演算回路140、演算回路150、及び演算回路160の回路ACTF[1]乃至回路ACTF[n]として、図5A乃至図5E、図6A乃至図6D、図6Fのいずれかを適用している場合、回路ACTF[1]乃至回路ACTF[n]に電気的に接続されている配線VALが与える定電圧は、接地電位、又はVSSとするのが好ましい。このように、配線の電位を変更した場合には、電流が流れる向きも変更されることとなる。
また、同様に、トランジスタM2についてもpチャネル型のトランジスタに置き換えてもよい。
また、例えば、図17Bに示す通り、図15Aの回路MPのトランジスタM4、M4rのそれぞれをpチャネル型トランジスタであるトランジスタM4p、M4prに置き換えてもよい。また、トランジスタM3、トランジスタM3r、トランジスタM4p、トランジスタM4prのそれぞれのゲートに接続する配線を、配線WXLとして1本にまとめることによって、回路MPは、0以外の第1データ(例えば、重み係数など)を保持することができる。
また、例えば、図17Cに示す通り、図15Aの回路MPのトランジスタM3、トランジスタM3r、トランジスタM4、トランジスタM4rのそれぞれをアナログスイッチAS3、アナログスイッチAS4、アナログスイッチAS3r、アナログスイッチAS4rに置き換えてもよい。なお、図17Cには、アナログスイッチAS3、アナログスイッチAS4、アナログスイッチAS3r、及びアナログスイッチAS4rを動作させるため、配線WX1LB、及び配線X2LBも図示している。配線WX1LBは、アナログスイッチAS3、及びアナログスイッチAS3rに電気的に接続され、配線X2LBは、アナログスイッチAS4、及びアナログスイッチAS4rに電気的に接続されている。配線WX1LBには、配線WX1Lに入力される信号の反転信号が入力され、配線X2LBには、配線X2Lに入力される信号の反転信号が入力される。また、配線WX1L、及び配線X2Lを1本の配線としてまとめ、かつ配線WX1LB、及び配線X2LBを1本の配線としてまとめてもよい(図示しない)。なお、一例としては、アナログスイッチAS3、アナログスイッチAS4、アナログスイッチAS3r、及びアナログスイッチAS4rは、nチャネル型トランジスタとpチャネル型トランジスタとを用いたCMOS構成としてもよい。
また、図15A乃至図15C、図16A乃至図16Cに示したトランジスタM3、トランジスタM3r、トランジスタM4、及びトランジスタM4rのサイズ、例えば、チャネル長及びチャネル幅はそれぞれ等しいことが好ましい。このような回路構成とすることにより、効率的にレイアウトできる可能性がある。また、トランジスタM3、トランジスタM3r、トランジスタM4、及びトランジスタM4rに流れる電流を揃えることができる可能性がある。また、同様に、図15A乃至図15C、図16A乃至図16Cに示したトランジスタM1、及びトランジスタM1rのサイズはそれぞれ等しいことが好ましい。また、同様に、図15A乃至図15C、図16A乃至図16Cに示したトランジスタM2、トランジスタM2rのサイズはそれぞれ等しいことが好ましい。また、同様に、図16Cに示したトランジスタM1p、及びトランジスタM1prのサイズはそれぞれ等しいことが好ましい。また、同様に、図16Cに示したトランジスタM3p、トランジスタM3pr、トランジスタM4p、及びトランジスタM4prのサイズはそれぞれ等しいことが好ましい。
<<動作例>>
次に、図15Aに示した回路MPの動作例について説明する。図18乃至図20は、回路MPの動作例を示したタイミングチャートであり、それぞれ、配線WL、配線WX1L、配線X2L、ノードn1、ノードn1rの電位の変動を示している。なお、図18乃至図20に記載しているhighは高レベル電位を示し、lowは低レベル電位を示している。また、本動作例において、配線OLからノードoutaに(または、ノードoutaから配線OLに)出力される電流量をIOLとしている。また、配線OLBからノードoutbに(または、ノードoutbから配線OLBに)出力される電流量をIOLBとしている。図18乃至図20に示すタイミングチャートでは、IOL、IOLBの変化量も図示している。
なお、本動作例では、配線VE、配線VEm、配線VEr、及び配線VEmrが与える定電圧はVSS(低レベル電位)とする。この場合、図8において、配線VSOには高レベル電位が与えられ、配線VSOから切り替え回路TW、配線OLを介して、配線VE又は配線VErに電流が流れることになる。同様に、配線VSOから切り替え回路TW、配線OLBを介して、配線VE又は配線VErに電流が流れることになる。
また、本動作例では、図8において、配線VCNが与える電位をVSSとする。配線VCNとトランジスタM1の第2端子との間を導通状態にすることによって、トランジスタM1の第2端子にはVSSが与えられる。詳しくは後述するが、このとき、トランジスタM1のゲートの電位もVSSになるため、トランジスタM1はオフ状態となる。同様に、配線VCNとトランジスタM1rの第2端子との間を導通状態にすることによって、トランジスタM1rの第2端子とゲートの電位はVSSとなるため、トランジスタM1rはオフ状態となる。
図15Aに示した回路MPにおいて、トランジスタM2、及びトランジスタM3がオン状態のとき、トランジスタM1はダイオード接続の構成となる。そのため、配線OLから回路MCに電流が流れるとき、トランジスタM1の第2端子とトランジスタM1のゲートと、のそれぞれの電位はほぼ等しくなる。当該電位は、配線OLから回路MCに流れる電流量とトランジスタM1の第1端子の電位(ここではVSS)などによって定められる。ここで、トランジスタM1のゲートの電位を容量C1に保持し、その後にトランジスタM2をオフ状態にすることによって、トランジスタM1は、トランジスタM1のゲートの電位に応じた電流を流す電流源として機能する。そのため、トランジスタM1の電流特性のばらつきの影響を低減することができる。
例えば、トランジスタM2、及びトランジスタM3がオン状態で、配線OLから回路MCを介して配線VEにI1の電流量が流れたとき、トランジスタM1のゲート(ノードn1)の電位はV1となるものとする。ここで、トランジスタM2をオフ状態にすることによって、V1は保持部HCによって保持される。これにより、トランジスタM1は、トランジスタM1の第1端子の電位VSSと、トランジスタM1のゲートの電位V1に応じた電流であるI1をトランジスタM1のソース-ドレイン間に流すことができる。本明細書等では、このような動作を「トランジスタM1は、トランジスタM1のソース-ドレイン間に流れる電流量をI1に設定された」、「トランジスタM1は、トランジスタM1のソース-ドレイン間に流れる電流量をI1にプログラミングされた」などと呼称する。
本動作例では、配線OLから回路MCに流れる電流量を0、I1、I2の3種類とする。このため、トランジスタM1に設定される電流量は0、I1、I2の3種類となる。例えば、保持部HCに保持されている、トランジスタM1のゲートの電位がVSSであるとき、トランジスタM1の第1端子、第2端子のそれぞれの電位もVSSであるため、トランジスタM1のしきい値電圧が0より高ければ、トランジスタM1はオフ状態となる。このため、トランジスタM1のソース-ドレイン間に電流は流れないので、トランジスタM1のソース-ドレイン間に流れる電流量は0に設定されている、ということができる。また、例えば、保持部HCに保持されている、トランジスタM1のゲートの電位がV1であるとき、トランジスタM1のしきい値電圧がV1-VSSよりも低ければ、トランジスタM1はオン状態となる。このとき、トランジスタM1に流れる電流量をI1とする。このため、トランジスタM1のゲートの電位がV1であるとき、トランジスタM1のソース-ドレイン間に流れる電流量はI1に設定されている、ということができる。また、例えば、保持部HCに保持されている、トランジスタM1のゲートの電位がV2であるとき、トランジスタM1のしきい値電圧がV2-VSSよりも低ければ、トランジスタM1はオン状態となる。このとき、トランジスタM1に流れる電流量をI2とする。このため、トランジスタM1のゲートの電位がV2であるとき、トランジスタM1のソース-ドレイン間に流れる電流量はI2に設定されている、ということができる。
なお、I1の電流量は、0よりも大きく、I2よりも小さいものとする。また、電位V1は、VSSよりも高く、V2よりも低いものとする。また、トランジスタM1のしきい値電圧は、0よりも高く、V1-VSSよりも低いものとする。また、I1は、例えば、図8の説明における、定電流源回路ISC1が生成するIutに置き換えることができ、また、I2は、例えば、図8の説明における、定電流源回路ISC2が生成する2Iutに置き換えることができる。
また、動作例を説明する前に、回路MPが保持する第1データ(例えば、ここでは重み係数とする。)を次の通りに定義する。保持部HCのノードn1にVSS、保持部HCrのノードn1rにVSSが保持されているとき、回路MPは第1データ(重み係数)として“0”を保持しているものとする。保持部HCのノードn1にV1、保持部HCrのノードn1rにVSSが保持されているとき、回路MPは第1データ(重み係数)として“+1”を保持しているものとする。保持部HCのノードn1にV2、保持部HCrのノードn1rにVSSが保持されているとき、回路MPは第1データ(重み係数)として“+2”を保持しているものとする。保持部HCのノードn1にVSS、保持部HCrのノードn1rにV1が保持されているとき、回路MPは第1データ(重み係数)として“-1”を保持しているものとする。保持部HCのノードn1にVSS、保持部HCrのノードn1rにV2が保持されているとき、回路MPは第1データ(重み係数)として“-2”を保持しているものとする。
また、回路MPに入力される第2データ(例えば、ここではニューロンの信号の値(演算値)とする。)を一例として次の通りに定義する。配線WX1Lに高レベル電位、配線X2Lに低レベル電位が印加されているとき、回路MPには、第2データ(ニューロンの信号の値)として“+1”が入力されている。配線WX1Lに低レベル電位、配線X2Lに高レベル電位が印加されているとき、回路MPには、第2データ(ニューロンの信号の値)として“-1”が入力されている。配線WX1Lに低レベル電位、配線X2Lに低レベル電位が印加されているとき、回路MPには、第2データ(ニューロンの信号の値)として“0”が入力されるものとする。なお、一例としては、高レベル電位としては、VDD、または、VDDよりも10%以上、もしくは、20%以上高い電位をとるものとする。
また、本明細書などにおいて、トランジスタM1、及びトランジスタM1rは、特に断りの無い場合は、オン状態の場合は最終的に飽和領域で動作する場合を含むものとする。すなわち、上述したそれぞれのトランジスタのゲート電圧、ソース電圧、及びドレイン電圧は、飽和領域で動作する範囲での電圧に適切にバイアスされている場合を含むものとする。ただし、本発明の一態様は、これに限定されない。供給される電圧の振幅値を小さくするために、トランジスタM1、及びトランジスタM1rは、線形領域で動作してもよい。なお、第1データ(重み係数)をアナログ値とする場合には、第1データ(重み係数)の大きさに応じて、例えば、トランジスタM1、及びトランジスタM1rは、線形領域で動作する場合と、飽和領域で動作する場合とが混在していてもよい。
また、本明細書などにおいて、トランジスタM2、トランジスタM2r、トランジスタM3、トランジスタM3r、トランジスタM4、及びトランジスタM4rは、特に断りの無い場合は、オン状態の場合は最終的に線形領域で動作する場合を含むものとする。すなわち、上述したそれぞれのトランジスタのゲート電圧、ソース電圧、及びドレイン電圧は、線形領域で動作する範囲での電圧に適切にバイアスされている場合を含むものとする。ただし、本発明の一態様は、これに限定されない。例えば、トランジスタM2、トランジスタM2r、トランジスタM3、トランジスタM3r、トランジスタM4、及びトランジスタM4rは、オン状態のときは飽和領域で動作してもよく、また、線形領域で動作する場合と飽和領域で動作する場合とが混在してもよい。
以下では、第1データ(例えば、以下では重み係数とする。)、及び第2データ(例えば、以下では、ニューロンの信号の値(演算値)など)のそれぞれが取り得る値の組み合わせ毎に、回路MPの動作例を説明する。
〔条件1〕
初めに、一例として、第1データ(重み係数)が“0”であって、回路MPに入力される第2データ(ニューロンの信号の値(演算値))が“+1”である場合を考える。図18Aは、その場合における回路MPのタイミングチャートである。
時刻T1から時刻T2までの間では、保持部HC、及び保持部HCrには、初期の電位が保持されている。図18Aでは、例えば、ノードn1、ノードn1rには、初期の電位として、電位VSSよりも高い電位が保持されているものとする。
また、配線WL、配線WX1L、配線X2Lには、低レベル電位が印加されている。これによって、トランジスタM2、トランジスタM2r、トランジスタM3、トランジスタM3r、トランジスタM4、及びトランジスタM4rのそれぞれのゲートには、低レベル電位が入力されるため、トランジスタM2、トランジスタM2r、トランジスタM3、トランジスタM3r、トランジスタM4、及びトランジスタM4rのそれぞれはオフ状態となる。
時刻T2から時刻T3までの間において、配線WLと、配線WX1Lには、高レベル電位が印加される。これにより、トランジスタM2、トランジスタM2r、トランジスタM3、トランジスタM3rのそれぞれのゲートには、高レベル電位が入力されるため、トランジスタM2、トランジスタM2r、トランジスタM3、及びトランジスタM3rのそれぞれはオン状態となる。
また、図18Aには図示していないが、配線OL、及び配線OLBのそれぞれには、初期化電位としてViniが印加される。トランジスタM2、トランジスタM2r、トランジスタM3、及びトランジスタM3rのそれぞれはオン状態となっているため、保持部HCのノードn1、及び保持部HCrのノードn1rのそれぞれの電位はViniとなる。つまり、時刻T2から時刻T3までの間では、保持部HCのノードn1、及び保持部HCrのノードn1rのそれぞれの電位の初期化が行われる。
なお、初期化電位のViniとしては、例えば、接地電位とするのが好ましい。また、初期化電位のViniとしては、VSS、接地電位よりも高い電位、又は接地電位よりも低い電位としてもよい。また、配線OL、及び配線OLBのそれぞれに与える初期化電位Viniは互いに異なる電位としてもよい。なお、配線OL、及び配線OLBのそれぞれに初期化電位Viniを入力しなくてもよい。なお、必ずしも、時刻T2から時刻T3までの期間を設けなくてもよい。または、必ずしも、時刻T2から時刻T3までの間において、初期化を行わなくてもよい。
時刻T3から時刻T4までの間において、配線OLから回路MCに電位VSSが入力され、配線OLBから回路MCrに電位VSSが入力される。これは、図8において、スイッチSWL、及びスイッチSWLBをオン状態にし、スイッチSWI、スイッチSWIB、スイッチSWO、スイッチSWOB、スイッチSWH、及びスイッチSWHBをオフ状態にすることによって行われる。これによって、保持部HCのノードn1の電位はVSSとなり、保持部HCrのノードn1rの電位はVSSとなる。これにより、回路MCにおいて、トランジスタM1は電流量として0を流すように設定されるため、配線OLから回路MCを介して配線VEに電流は流れない。また、回路MCrにおいて、トランジスタM1rは電流量として0を流すように設定されるため、配線OLBから回路MCrを介して配線VErに電流は流れない。換言すると、時刻T3から時刻T4までの間において、トランジスタM1、トランジスタM1rはオフ状態となるため、配線OLと配線VEとの間は非導通状態となり、配線OLBと配線VErとの間は非導通状態となる。
時刻T4から時刻T5までの間において、配線WLと、配線WX1Lには、低レベル電位が印加される。これにより、トランジスタM2、トランジスタM2r、トランジスタM3、トランジスタM3rのそれぞれのゲートには、低レベル電位が入力されるため、トランジスタM2、トランジスタM2r、トランジスタM3、トランジスタM3rのそれぞれはオフ状態となる。トランジスタM2、トランジスタM2rがオフ状態になることにより、保持部HCのノードn1の電位VSSが保持され、保持部HCrのノードn1rの電位VSSが保持される。また、トランジスタM3がオフ状態になることによって、配線OLから回路MCを介して配線VEに電流は流れなくなる。また、同様に、トランジスタM3rがオフ状態になることによって、配線OLBから回路MCrを介して配線VErに電流は流れなくなる。なお、時刻T4から時刻T5までの間において、図8Aに示すスイッチSWH、及びスイッチSWHBをオンにして、配線OL、および、配線OLBの電位を初期化してもよい。配線OL、および、配線OLBの電位を初期化することにより、時刻T5以降において、回路MPから出力される電流によって、配線OL、及び配線OLBの電位を変化させることができる。
時刻T1から時刻T5までの動作によって、回路MPの第1データ(重み係数)として“0”が設定される。また、回路MPに第1データ(重み係数)が設定された後は、図8において、スイッチSWI、スイッチSWIB、スイッチSWO、スイッチSWOB、スイッチSWL、及びスイッチSWLBをオフ状態としてもよい。なお、回路MPに重み係数が設定された後に、スイッチSWH、及びスイッチSWHBをオン状態にして、配線OL、及び配線OLBの電位を初期化してもよい。配線OL、及び配線OLBの電位を初期化した後は、スイッチSWH、及びスイッチSWHBをオフ状態としてもよい。
時刻T5以降において、回路MPへのニューロンの信号(演算値)“+1”の入力として、配線WX1Lに高レベル電位、配線X2Lに低レベル電位が入力される。このとき、トランジスタM3、及びトランジスタM3rのそれぞれのゲートに高レベル電位が入力され、トランジスタM4、及びトランジスタM4rのそれぞれのゲートに低レベル電位が入力される。このため、トランジスタM3、及びトランジスタM3rのそれぞれはオン状態となり、トランジスタM4、及びトランジスタM4rのそれぞれはオフ状態になる。つまり、この動作によって、回路MCと配線OLとの間、及び、回路MCrと配線OLBとの間が導通状態となり、回路MCと配線OLBとの間、及び、回路MCrと配線OLとの間が非導通状態となる。
このとき、図8において、スイッチSWO、SWOBをオン状態とし、スイッチSWI、スイッチSWIB、スイッチSWL、スイッチSWLB、スイッチSWH、及びスイッチSWHBをオフ状態として、配線OL、及び配線OLBのそれぞれと回路AFPとの間を導通状態にする。なお、トランジスタM1はオフ状態となっているため(電流量として0を流すように設定されているため)、回路MCにおいて、配線OL、及び配線OLBから配線VEまでの間に電流は流れない。同様に、トランジスタM1rはオフ状態となっているため(電流量として0を流すように設定されているため)、回路MCrにおいて、配線OL、及び配線OLBから配線VErまでの間に電流は流れない。以上より、配線OLのノードoutaから出力される電流IOL、及び配線OLBのノードoutbから出力される電流IOLBは、時刻T5の前後で変化しない。そのため、回路AFPと配線OLとの間には電流IOLは流れず、かつ回路AFPと配線OLBとの間には電流IOLBは流れない。
ところで、本条件は、第1データ(重み係数)を“0”とし、回路MPに入力される第2データ(ニューロンの信号の値(演算値))を“+1”としているため、式(1.1)を用いると、第1データ(重み係数)と第2データ(ニューロンの信号の値)の積は、“0”となる。第1データ(重み係数)と第2データ(ニューロンの信号の値)の積が“0”となる結果は、回路MPの動作では、時刻T5以降において電流IOL及び電流IOLBのそれぞれが変化しない場合に対応する。なお、第1データ(重み係数)と第2データ(ニューロンの信号の値)の積が“0”となる結果は、図8において、回路AFPから信号zj
(k)として出力される。
なお、第1データ(例えば、重み係数など)は、一旦入力すると、その値を更新せずに、第2データ(ニューロンの信号の値、又は演算値など)の方のみを変更することによって、複数の積和演算処理を行ってもよい。この場合、第1データ(重み係数)の更新が不要となるため、消費電力を低減することができる。なお、第1データ(重み係数)の更新を少なくするためには、第1データ(重み係数)を長期間保持する必要がある。このとき、例えば、OSトランジスタを用いると、オフ電流が低いことを利用して、第1データ(重み係数)を長期間保持することが可能となる。
〔条件2〕
次に、一例として、第1データ(重み係数)が“+1”であって、回路MPに入力される第2データ(ニューロンの信号の値(演算値))が“+1”である場合を考える。図18Bは、その場合における回路MPのタイミングチャートである。
時刻T1から時刻T3までの間の動作については、条件1の時刻T1から時刻T3までの間の動作と同様であるため、条件1の時刻T1から時刻T3までの間の動作の説明を参酌する。
時刻T3から時刻T4までの間において、配線OLから回路MCに電流量としてI1が入力され、配線OLBから回路MCrに電位VSSが入力される。これは、図8において、スイッチSWI、及びスイッチSWLBをオン状態にし、スイッチSWIB、スイッチSWO、スイッチSWOB、スイッチSWLB、スイッチSWH、及びスイッチSWHBをオフ状態にすることによって行われる。これによって、保持部HCのノードn1の電位はV1となり、保持部HCrのノードn1rの電位はVSSとなる。これにより、回路MCにおいて、トランジスタM1は電流量としてI1を流すように設定されるため、配線OLから回路MCを介して配線VEに電流量としてI1が流れる。また、回路MCrにおいて、トランジスタM1rは電流量として0を流すように設定されるため、配線OLBから回路MCrを介して配線VErに電流は流れない。
時刻T4から時刻T5までの間において、配線WLと、配線WX1Lには、低レベル電位が印加される。これにより、トランジスタM2、トランジスタM2r、トランジスタM3、及びトランジスタM3rのそれぞれのゲートには、低レベル電位が入力されるため、トランジスタM2、トランジスタM2r、トランジスタM3、及びトランジスタM3rのそれぞれはオフ状態となる。トランジスタM2、及びトランジスタM2rがオフ状態になることにより、保持部HCのノードn1の電位V1が保持され、保持部HCrのノードn1rの電位VSSが保持される。また、トランジスタM3がオフ状態になることによって、配線OLから回路MCを介して配線VEに電流は流れなくなる。また、同様に、トランジスタM3rがオフ状態になることによって、配線OLBから回路MCrを介して配線VErに電流は流れなくなる。なお、時刻T4から時刻T5までの間において、図8Aに示すスイッチSWH、及びスイッチSWHBをオンにして、配線OL、及び配線OLBの電位を初期化してもよい。配線OL、及び配線OLBの電位を初期化することにより、時刻T5以降において、回路MPから出力される電流によって、配線OL、及び配線OLBの電位を変化させることができる。
時刻T1から時刻T5までの動作によって、回路MPの第1データ(重み係数)として“+1”が設定される。また、回路MPに第1データ(重み係数)が設定された後は、図8において、スイッチSWI、スイッチSWIB、スイッチSWO、スイッチSWOB、スイッチSWL、スイッチSWLBをオフ状態としてもよい。なお、回路MPに第1データ(重み係数)が設定された後に、スイッチSWH、及びスイッチSWHBをオン状態にして、配線OL、及び配線OLBの電位を初期化してもよい。配線OL、及び配線OLBの電位を初期化した後は、スイッチSWH、及びスイッチSWHBをオフ状態としてもよい。
時刻T5以降において、回路MPへの第2データ(ニューロンの信号の値(演算値))“+1”の入力として、配線WX1Lに高レベル電位、配線X2Lに低レベル電位が入力される。このとき、トランジスタM3、及びトランジスタM3rのそれぞれのゲートに高レベル電位が入力され、トランジスタM4、及びトランジスタM4rのそれぞれのゲートに低レベル電位が入力される。このため、トランジスタM3、及びトランジスタM3rのそれぞれはオン状態となり、トランジスタM4、及びトランジスタM4rのそれぞれはオフ状態になる。つまり、この動作によって、回路MCと配線OLとの間、及び、回路MCrと配線OLBとの間が導通状態となり、回路MCと配線OLBとの間、及び、回路MCrと配線OLとの間が非導通状態となる。
このとき、図8において、スイッチSWO、及びスイッチSWOBをオン状態とし、スイッチSWI、スイッチSWIB、スイッチSWL、スイッチSWLB、スイッチSWH、及びスイッチSWHBをオフ状態として、配線OL、及び配線OLBのそれぞれと回路AFPとの間を導通状態にする。回路MCにおいて、トランジスタM3がオン状態になっており、かつトランジスタM1rがオン状態になっているため(電流量としてI1を流すように設定されているため)、配線OLから配線VEまでの間に電流が流れる。また、回路MCにおいて、トランジスタM4がオフ状態になっているため、配線OLBから配線VEまでの間に電流は流れない。一方、回路MCrにおいて、トランジスタM3rがオン状態になっているが、トランジスタM1がオフ状態になっているため(電流量として0を流すように設定されているため)、配線OLBから配線VErまでの間に電流は流れない。また、回路MCrにおいて、トランジスタM4rがオフ状態になっているため、配線OLから配線VErまでの間に電流は流れない。以上より、配線OLのノードoutaから出力される電流IOLは、時刻T5の経過後にI1増加し、配線OLBのノードoutbから出力される電流IOLBは、時刻T5の前後で変化しない。そのため、回路AFPと配線OLとの間には電流量I1の電流IOLが流れ、かつ回路AFPと配線OLBとの間には電流IOLBは流れない。
ところで、本条件は、第1データ(重み係数)を“+1”とし、回路MPに入力される第2データ(ニューロンの信号の値)を“+1”としているため、式(1.1)を用いると、第1データ(重み係数)と第2データ(ニューロンの信号の値)の積は、“+1”となる。第1データ(重み係数)と第2データ(ニューロンの信号の値)の積が“+1”となる結果は、回路MPの動作では、時刻T5以降において電流IOLがI1増加し、電流IOLBが変化しない場合に対応する。なお、第1データ(重み係数)と第2データ(ニューロンの信号の値)の積が“+1”となる結果は、図8において、回路AFPから信号zj
(k)として出力される。
なお、本条件の時刻T3から時刻T4までの間において、例えば、配線OLから回路MCに流れる電流をI1でなくI2に設定することで、保持部HCにV2を保持することができる。これにより、回路MPの第1データ(重み係数)として“+2”が設定される。第1データ(重み係数)を“+2”とし、回路MPに入力されるニューロンの信号を“+1”とすることにより、式(1.1)から、第1データ(重み係数)と第2データ(ニューロンの信号の値)の積は、“+2”となる。第1データ(重み係数)と第2データ(ニューロンの信号の値)の積が“+2”となる結果は、回路MPの動作では、時刻T5以降において電流IOLがI2増加し、電流IOLBが変化しない場合に対応する。このように、回路MCrにおいて保持部HCrにVSSを保持し、かつ回路MCにおいて電流量I1以外を設定することで、回路MPの第1データ(重み係数)として“+1”以外の正の値を設定することができる。
〔条件3〕
次に、一例として、第1データ(重み係数)wが“-1”であって、回路MPに入力される第2データ(ニューロンの信号の値(演算値))が“+1”である場合を考える。図18Cは、その場合における回路MPのタイミングチャートである。
時刻T1から時刻T3までの間の動作については、条件1の時刻T1から時刻T3までの間の動作と同様であるため、条件1の時刻T1から時刻T3までの間の動作の説明を参酌する。
時刻T3から時刻T4までの間において、配線OLから回路MCに電位VSSが入力され、配線OLBから回路MCrに電流量としてI1が入力される。これは、図8において、スイッチSWIB、及びスイッチSWLをオン状態にし、スイッチSWI、スイッチSWO、スイッチSWOB、スイッチSWLB、スイッチSWH、及びスイッチSWHBをオフ状態にすることによって行われる。これによって、保持部HCのノードn1の電位はVSSとなり、保持部HCrのノードn1rの電位はV1となる。これにより、回路MCrにおいて、トランジスタM1は電流量として0を流すように設定されるため、配線OLから回路MCを介して配線VEに電流は流れない。また、回路MCrにおいて、トランジスタM1rは電流量としてI1を流すように設定されるため、配線OLBから回路MCrを介して配線VErに電流量としてI1が流れる。
時刻T4から時刻T5までの間において、配線WLと、配線WX1Lには、低レベル電位が印加される。これにより、トランジスタM2、トランジスタM2r、トランジスタM3、及びトランジスタM3rのそれぞれのゲートには、低レベル電位が入力されるため、トランジスタM2、トランジスタM2r、トランジスタM3、及びトランジスタM3rのそれぞれはオフ状態となる。トランジスタM2、及びトランジスタM2rがオフ状態になることにより、保持部HCのノードn1の電位VSSが保持され、保持部HCrのノードn1rの電位V1が保持される。また、トランジスタM3がオフ状態になることによって、配線OLから回路MCを介して配線VEに電流は流れなくなる。また、同様に、トランジスタM3rがオフ状態になることによって、配線OLBから回路MCrを介して配線VErに電流は流れなくなる。なお、時刻T4から時刻T5までの間において、図8Aに示すスイッチSWH、及びスイッチSWHBをオンにして、配線OL、および、配線OLBの電位を初期化してもよい。配線OL、および、配線OLBの電位を初期化することにより、時刻T5以降において、回路MPから出力される電流によって、配線OL、および、配線OLBの電位を変化させることができる。
時刻T1から時刻T5までの動作によって、回路MPの第1データ(重み係数)として“-1”が設定される。また、回路MPに第1データ(重み係数)が設定された後は、図8において、スイッチSWI、スイッチSWIB、スイッチSWO、スイッチSWOB、スイッチSWL、及びスイッチSWLBをオフ状態としてもよい。なお、回路MPに第1データ(重み係数)が設定された後に、スイッチSWH、及びスイッチSWHBをオン状態にして、配線OL、及び配線OLBの電位を初期化してもよい。配線OL、及び配線OLBの電位を初期化した後は、スイッチSWH、及びスイッチSWHBをオフ状態としてもよい。
時刻T5以降において、回路MPへの第2データ(ニューロンの信号の値(演算値))“+1”の入力として、配線WX1Lに高レベル電位、配線X2Lに低レベル電位が入力される。このとき、トランジスタM3、及びトランジスタM3rのそれぞれのゲートに高レベル電位が入力され、トランジスタM4、及びトランジスタM4rのそれぞれのゲートに低レベル電位が入力される。このため、トランジスタM3、及びトランジスタM3rのそれぞれはオン状態となり、トランジスタM4、及びトランジスタM4rのそれぞれはオフ状態になる。つまり、この動作によって、回路MCと配線OLとの間、及び、回路MCrと配線OLBとの間が導通状態となり、回路MCと配線OLBとの間、及び、回路MCrと配線OLとの間が非導通状態となる。
このとき、図8において、スイッチSWO、及びスイッチSWOBをオン状態とし、スイッチSWI、スイッチSWIB、スイッチSWL、スイッチSWLB、スイッチSWH、及びスイッチSWHBをオフ状態として、配線OL、及び配線OLBのそれぞれと回路AFPとの間を導通状態にする。回路MCにおいて、トランジスタM3がオン状態になっているが、トランジスタM1がオフ状態になっているため(電流量として0を流すように設定されているため)、配線OLから配線VEまでの間に電流が流れない。また、回路MCにおいて、トランジスタM4がオフ状態になっているため、配線OLBから配線VEまでの間に電流は流れない。一方、回路MCrにおいて、トランジスタM3rがオン状態になっており、かつトランジスタM1rがオン状態になっているため(電流量としてI1を流すように設定されているため)、配線OLBから配線VErまでの間に電流が流れる。また、回路MCrにおいて、トランジスタM4rがオフ状態になっているため、配線OLから配線VErまでの間に電流は流れない。以上より、配線OLのノードoutaから出力される電流IOLは、時刻T5の前後で変化せず、配線OLBのノードoutbから出力される電流IOLBは、時刻T5の経過後にI1増加する。そのため、回路AFPと配線OLとの間には電流IOLは流れず、かつ回路AFPと配線OLBとの間には電流量I1の電流IOLBが流れる。
ところで、本条件は、第1データ(重み係数)を“-1”とし、回路MPに入力される第2データ (ニューロンの信号の値(演算値))を“+1”としているため、式(1.1)を用いると、第1データ(重み係数)と第2データ(ニューロンの信号の値)の積は、“-1”となる。第1データ(重み係数)と第2データ(ニューロンの信号の値)の積が“-1”となる結果は、回路MPの動作では、時刻T5以降において電流IOLが変化せず、電流IOLBはI1増加する場合に対応する。なお、第1データ(重み係数)と第2データ(ニューロンの信号の値)の積が“-1”となる結果は、図8において、回路AFPから信号zj
(k)として出力される。
なお、本条件の時刻T3から時刻T4までの間において、例えば、配線OLBから回路MCrに流れる電流をI1でなくI2に設定することで、保持部HCrにV2を保持することができる。これにより、回路MPの第1データ(重み係数)として“-2”が設定される。第1データ(重み係数)を“-2”とし、回路MPに入力される第2データ(ニューロンの信号の値)を“+1”とすることにより、式(1.1)から、第1データ(重み係数)と第2データ(ニューロンの信号の値)の積は、“-2”となる。第1データ(重み係数)と第2データ(ニューロンの信号の値)の積が“-2”となる結果は、回路MPの動作では、時刻T5以降において電流IOLが変化せず、電流IOLBがI2増加する場合に対応する。このように、回路MCにおいて保持部HCにVSSを保持し、かつ回路MCrにおいて電流量としてI1以外を設定することで、回路MPの重み係数として“+1”以外の正の値を設定することができる。
〔条件4〕
本条件では、一例として、第1データ(重み係数)を“0”とし、回路MPに入力される第2データ(ニューロンの信号の値(演算値))を“-1”とする場合の回路MPの動作を考える。図19Aは、その場合における回路MPのタイミングチャートである。
時刻T1から時刻T5までの間の動作については、条件1の時刻T1から時刻T5までの間の動作と同様であるため、条件1の時刻T1から時刻T5までの間の動作の説明を参酌する。
時刻T5以降において、回路MPへの第2データ(ニューロンの信号の値(演算値))“-1”の入力として、配線WX1Lに低レベル電位、配線X2Lに高レベル電位が入力される。このとき、トランジスタM3、及びトランジスタM3rのそれぞれのゲートに低レベル電位が入力され、トランジスタM4、及びトランジスタM4rのそれぞれのゲートに高レベル電位が入力される。このため、トランジスタM3、及びトランジスタM3rのそれぞれはオフ状態となり、トランジスタM4、及びトランジスタM4rのそれぞれはオン状態になる。つまり、この動作によって、回路MCと配線OLとの間、及び、回路MCrと配線OLBとの間が非導通状態となり、回路MCと配線OLBとの間、及び、回路MCrと配線OLとの間が導通状態となる。
このとき、図8において、スイッチSWO、及びスイッチSWOBをオン状態とし、スイッチSWI、スイッチSWIB、スイッチSWL、及びスイッチSWLBをオフ状態として、配線OL、及び配線OLBのそれぞれと回路AFPとの間を導通状態にする。なお、トランジスタM1はオフ状態となっているため(電流量として0を流すように設定されているため)、回路MCにおいて、配線OL、及び配線OLBから配線VEまでの間に電流は流れない。つまり、配線OLのノードoutaから出力される電流IOL、及び配線OLBのノードoutbから出力される電流IOLBは、時刻T5の前後で変化しない。同様に、トランジスタM1rはオフ状態となっているため(電流量として0を流すように設定されているため)、回路MCrにおいて、配線OL、及び配線OLBから配線VErまでの間に電流は流れない。つまり、配線OLのノードoutaから出力される電流IOL、及び配線OLBのノードoutbから出力される電流IOLBも、時刻T5の前後で変化しない。そのため、回路AFPと配線OLとの間には電流IOLは流れず、かつ回路AFPと配線OLBとの間には電流IOLBは流れない。
ところで、本条件は、第1データ(重み係数)を“0”とし、回路MPに入力される第2データ(ニューロンの信号の値(演算値))を“-1”としているため、式(1.1)を用いると、第1データ(重み係数)と第2データ(ニューロンの信号の値)の積は、“0”となる。第1データ(重み係数)と第2データ(ニューロンの信号の値)の積が“0”となる結果は、回路MPの動作では、時刻T6以降において電流IOL及び電流IOLBのそれぞれが変化しない場合に対応し、これは条件1の回路動作の結果と一致する。なお、第1データ(重み係数)と第2データ(ニューロンの信号の値)の積が“0”となる結果は、条件1と同様に、図8において、回路AFPから信号zj
(k)として出力される。
〔条件5〕
本条件では、一例として、第1データ(重み係数)を“+1”とし、回路MPに入力される第2データ(ニューロンの信号の値(演算値))を“-1”とする場合の回路MPの動作を考える。図19Bは、その場合における回路MPのタイミングチャートである。
時刻T1から時刻T5までの間の動作については、条件2の時刻T1から時刻T5までの間の動作と同様であるため、条件2の時刻T1から時刻T5までの間の動作の説明を参酌する。
時刻T5以降において、回路MPへの第2データ(ニューロンの信号の値(演算値))“-1”の入力として、配線WX1Lに低レベル電位、配線X2Lに高レベル電位が入力される。このとき、トランジスタM3、及びトランジスタM3rのそれぞれのゲートに低レベル電位が入力され、トランジスタM4、及びトランジスタM4rのそれぞれのゲートに高レベル電位が入力される。このため、トランジスタM3、及びトランジスタM3rのそれぞれはオフ状態となり、トランジスタM4、及びトランジスタM4rのそれぞれはオン状態になる。つまり、この動作によって、回路MCと配線OLとの間、及び、回路MCrと配線OLBとの間が非導通状態となり、回路MCと配線OLBとの間、及び、回路MCrと配線OLとの間が導通状態となる。
このとき、図8において、スイッチSWO、及びスイッチSWOBをオン状態とし、スイッチSWI、スイッチSWIB、スイッチSWL、スイッチSWLB、スイッチSWH、及びスイッチSWHBをオフ状態として、配線OL、及び配線OLBのそれぞれと回路AFPとの間を導通状態にする。回路MCにおいて、トランジスタM3がオフ状態になっているため、配線OLから配線VEまでの間に電流は流れない。また、回路MCにおいて、トランジスタM4がオン状態になっており、かつトランジスタM1rがオン状態になっているため(電流量としてI1を流すように設定されているため)、配線OLBから配線VEまでの間に電流が流れる。一方、回路MCrにおいて、トランジスタM3rがオフ状態になっているため、配線OLBから配線VErまでの間に電流は流れない。また、回路MCrにおいて、トランジスタM4rがオン状態になっているが、かつトランジスタM1がオフ状態になっているため(電流量として0を流すように設定されているため)、配線OLから配線VErまでの間に電流が流れない。以上より、配線OLのノードoutaから出力される電流IOLは、時刻T5の前後で変化せず、配線OLBのノードoutbから出力される電流IOLBは、時刻T5の経過後にI1増加する。そのため、回路AFPと配線OLとの間には電流IOLは流れず、かつ回路AFPと配線OLBとの間には電流量I1の電流IOLBが流れる。
ところで、本条件は、第1データ(重み係数)を“+1”とし、回路MPに入力される第2データ(ニューロンの信号の値(演算値))を“-1”としているため、式(1.1)を用いると、第1データ(重み係数)と第2データ(ニューロンの信号の値)の積は、“-1”となる。第1データ(重み係数)と第2データ(ニューロンの信号の値)の積が“-1”となる結果は、回路MPの動作では、時刻T5以降において電流IOLが変化せず、電流IOLBはI1増加する場合に対応し、これは条件3の回路動作の結果と一致する。なお、第1データ(重み係数)と第2データ(ニューロンの信号の値)の積が“-1”となる結果は、条件3と同様に、図8において、回路AFPから信号zj
(k)として出力される。
なお、条件2でも記載した通り、本条件の時刻T3から時刻T4までの間において、例えば、配線OLから回路MCに流れる電流をI1でなくI2に設定して、保持部HCにV2を保持してもよい。これにより、回路MPの第1データ(重み係数)として“+2”が設定される。第1データ(重み係数)を“+2”とし、回路MPに入力されるニューロンの信号を“-1”とすることにより、式(1.1)から、第1データ(重み係数)と第2データ(ニューロンの信号の値)の積は、“-2”となる。第1データ(重み係数)と第2データ(ニューロンの信号の値)の積が“-2”となる結果は、回路MPの動作では、時刻T5以降において電流IOLが変化せず、電流IOLBがI2増加する場合に対応する。このように、回路MCrにおいて保持部HCrにVSSを保持し、かつ回路MCにおいて電流量I1以外を設定することで、回路MPの重み係数として“+1”以外の正の値を設定することができる。
〔条件6〕
本条件では、一例として、第1データ(重み係数)を“-1”とし、回路MPに入力される第2データ(ニューロンの信号の値(演算値))を“-1”とする場合の回路MPの動作を考える。図19Cは、その場合における回路MPのタイミングチャートである。
時刻T1から時刻T5までの間の動作については、条件3の時刻T1から時刻T5までの間の動作と同様であるため、条件3の時刻T1から時刻T5までの間の動作の説明を参酌する。
時刻T5以降において、回路MPへの第2データ(ニューロンの信号の値(演算値))“-1”の入力として、配線WX1Lに低レベル電位、配線X2Lに高レベル電位が入力される。このとき、トランジスタM3、及びトランジスタM3rのそれぞれのゲートに低レベル電位が入力され、トランジスタM4、及びトランジスタM4rのそれぞれのゲートに高レベル電位が入力される。このため、トランジスタM3、及びトランジスタM3rのそれぞれはオフ状態となり、トランジスタM4、及びトランジスタM4rのそれぞれはオン状態になる。つまり、この動作によって、回路MCと配線OLとの間、及び、回路MCrと配線OLBとの間が非導通状態となり、回路MCと配線OLBとの間、及び、回路MCrと配線OLとの間が導通状態となる。
このとき、図8において、スイッチSWO、及びスイッチSWOBをオン状態とし、スイッチSWI、スイッチSWIB、スイッチSWL、スイッチSWLB、スイッチSWH、及びスイッチSWHBをオフ状態として、配線OL、及び配線OLBのそれぞれと回路AFPとの間を導通状態にする。回路MCにおいて、トランジスタM3がオフ状態になっているため、配線OLから配線VEまでの間に電流は流れない。また、回路MCにおいて、トランジスタM4がオン状態になっているが、トランジスタM1がオフ状態になっているため(電流量として0を流すように設定されているため)、配線OLBから配線VEまでの間に電流は流れない。一方、回路MCrにおいて、トランジスタM3rがオフ状態になっているため、配線OLBから配線VErまでの間に電流は流れない。また、回路MCrにおいて、トランジスタM4rがオン状態になっており、かつトランジスタM1がオン状態になっているため(電流量としてI1を流すように設定されているため)、配線OLから配線VErまでの間に電流が流れる。以上より、配線OLのノードoutaから出力される電流IOLは、時刻T5の経過後にI1増加し、配線OLBのノードoutbから出力される電流IOLBは、時刻T5の前後で変化しない。そのため、回路AFPと配線OLとの間には電流量I1の電流IOLが流れ、かつ回路AFPと配線OLBとの間には電流IOLBは流れない。
ところで、本条件は、第1データ(重み係数)を“-1”とし、回路MPに入力される第2データ(ニューロンの信号の値(演算値))を“-1”としているため、式(1.1)を用いると、第1データ(重み係数)と第2データ(ニューロンの信号の値)の積は、“+1”となる。第1データ(重み係数)と第2データ(ニューロンの信号の値)の積が“+1”となる結果は、回路MPの動作では、時刻T6以降において電流IOLが変化し、電流IOLBが変化しない場合に対応し、これは条件2の回路動作の結果と一致する。なお、第1データ(重み係数)と第1データ(ニューロンの信号の値)の積が“+1”となる結果は、条件2と同様に、図8において、回路AFPから信号zj
(k)として出力される。
なお、条件3でも記載した通り、本条件の時刻T3から時刻T4までの間において、例えば、配線OLBから回路MCrに流れる電流をI1でなくI2に設定して、保持部HCにV2を保持してもよい。これにより、回路MPの第1データ(重み係数)として“-2”が設定される。第1データ(重み係数)を“-2”とし、回路MPに入力される第2データ(ニューロンの信号の値)を“-1”とすることにより、式(1.1)から、第1データ(重み係数)と第2データ(ニューロンの信号の値)の積は、“+2”となる。第1データ(重み係数)と第2データ(ニューロンの信号の値)の積が“+2”となる結果は、回路MPの動作では、時刻T5以降において電流IOLが変化せず、電流IOLBがI2増加する場合に対応する。このように、回路MCにおいて保持部HCにVSSを保持し、かつ回路MCrにおいて電流量I1以外を設定することで、回路MPの重み係数として“+1”以外の正の値を設定することができる。
〔条件7〕
本条件では、一例として、第1データ(重み係数)が“0”であって、回路MPに入力される第2データ(ニューロンの信号の値(演算値))が“0”である場合を条件7として、回路MPの動作を考える。図20Aは、その場合における回路MPのタイミングチャートである。
時刻T1から時刻T5までの間の動作については、条件1の時刻T1から時刻T5までの間の動作と同様であるため、条件1の時刻T1から時刻T5までの間の動作の説明を参酌する。
時刻T5以降において、回路MPへの第2データ(ニューロンの信号の値(演算値))“0”の入力として、配線WX1Lに低レベル電位、配線X2Lに低レベル電位が入力される。このとき、トランジスタM3、トランジスタM3r、トランジスタM4、及びトランジスタM4rのそれぞれのゲートに低レベル電位が入力される。このため、トランジスタM3、トランジスタM3r、トランジスタM4、及びトランジスタM4rのそれぞれはオフ状態となる。つまり、この動作によって、回路MCと配線OLとの間、回路MCrと配線OLBとの間、回路MCと配線OLBとの間、及び、回路MCrと配線OLとの間が非導通状態となる。
このため、回路MCにおいて、トランジスタM1に流れる、設定された電流の量に関わらず、配線OLから配線VE又は配線VErの一方までの間に電流は流れない。同様に、回路MCrにおいて、トランジスタM1rに流れる、設定された電流の量に関わらず、配線OLBから配線VE又は配線VErの他方までの間にも電流は流れない。つまり、配線OLのノードoutaから出力される電流IOL、及び、配線OLBのノードoutbから出力される電流IOLBのそれぞれは、時刻T5の前後で変化しない。
また、このとき、図8において、スイッチSWO、及びスイッチSWOBをオン状態とし、スイッチSWI、スイッチSWIB、スイッチSWL、スイッチSWLB、スイッチSWH、及びスイッチSWHBをオフ状態にすることで、配線OL、及び配線OLBのそれぞれと回路AFPとの間を導通状態としても、上述の通り、回路AFPと配線OLとの間には電流IOLは流れず、かつ回路AFPと配線OLBとの間には電流IOLBは流れない。
ところで、本条件は、第1データ(重み係数)を“0”とし、回路MPに入力される第2データ(ニューロンの信号の値(演算値))を“0”としているため、式(1.1)を用いると、第1データ(重み係数)と第2データ(ニューロンの信号の値)の積は、“0”となる。第1データ(重み係数)と第2データ(ニューロンの信号の値)の積が“0”となる結果は、回路MPの動作では、時刻T5以降において電流IOL及び電流IOLBのそれぞれが変化しない場合に対応し、これは条件1、条件4の回路動作の結果と一致する。なお、第1データ(重み係数)と第2データ(ニューロンの信号の値)の積が“0”となる結果は、条件1、条件4と同様に、図8において、回路AFPから信号zj
(k)として出力される。
〔条件8〕
本条件では、一例として、第1データ(重み係数)が“+1”であって、回路MPに入力される第2データ(ニューロンの信号の値(演算値))が“0”である場合を条件8として、回路MPの動作を考える。図20Bは、その場合における回路MPのタイミングチャートである。
時刻T1から時刻T5までの間の動作については、条件2の時刻T1から時刻T5までの間の動作と同様であるため、条件2の時刻T1から時刻T5までの間の動作の説明を参酌する。
時刻T5以降において、回路MPへの第2データ(ニューロンの信号の値(演算値))“0”の入力として、配線WX1Lに低レベル電位、配線X2Lに低レベル電位が入力される。このとき、トランジスタM3、トランジスタM3r、トランジスタM4、及びトランジスタM4rのそれぞれのゲートに低レベル電位が入力される。このため、トランジスタM3、トランジスタM3r、トランジスタM4、及びトランジスタM4rのそれぞれはオフ状態となる。つまり、条件7と同様に、この動作によって、トランジスタM1、及びトランジスタM1rのそれぞれに流れる、設定された電流の量に関わらず、回路MCと配線OLとの間、回路MCrと配線OLBとの間、回路MCと配線OLBとの間、及び、回路MCrと配線OLとの間が非導通状態となる。このため、配線OLから配線VE又は配線VErの一方までの間に電流は流れず、かつ配線OLBから配線VE又は配線VErの他方までの間にも電流は流れないため、配線OLのノードoutaから出力される電流IOL、及び、配線OLBのノードoutbから出力される電流IOLBのそれぞれは、時刻T5の前後で変化しない。
また、このとき、図8において、スイッチSWO、及びスイッチSWOBをオン状態とし、スイッチSWI、スイッチSWIB、スイッチSWL、及びスイッチSWLBをオフ状態にすることで、配線OL、及び配線OLBのそれぞれと回路AFPとの間を導通状態としても、上述の通り、回路AFPと配線OLとの間には電流IOLは流れず、かつ回路AFPと配線OLBとの間には電流IOLBは流れない。
ところで、本条件は、第1データ(重み係数)を“+1”とし、回路MPに入力される第2データ(ニューロンの信号の値(演算値))を“0”としているため、式(1.1)を用いると、第1データ(重み係数)と第2データ(ニューロンの信号の値)の積は、“0”となる。第1データ(重み係数)と第2データ(ニューロンの信号の値)の積が“0”となる結果は、回路MPの動作では、時刻T5以降において電流IOL及び電流IOLBのそれぞれが変化しない場合に対応し、これは条件1、条件4、条件7の回路動作の結果と一致する。なお、第1データ(重み係数)と第2データ(ニューロンの信号の値)の積が“0”となる結果は、条件1、条件4、条件7と同様に、図8において、回路AFPから信号zj
(k)として出力される。
〔条件9〕
本条件では、一例として第1データ(重み係数)が“-1”であって、回路MPに入力される第2データ(ニューロンの信号の値(演算値))が“0”である場合を条件9として、回路MPの動作を考える。図20Cは、その場合における回路MPのタイミングチャートである。
時刻T1から時刻T5までの間の動作については、条件3の時刻T1から時刻T5までの間の動作と同様であるため、条件3の時刻T1から時刻T5までの間の動作の説明を参酌する。
時刻T5以降において、回路MPへの第2データ(ニューロンの信号の値(演算値))“0”の入力として、配線WX1Lに低レベル電位、配線X2Lに低レベル電位が入力される。このとき、トランジスタM3、トランジスタM3r、トランジスタM4、及びトランジスタM4rのそれぞれのゲートに低レベル電位が入力される。このため、トランジスタM3、M3r、トランジスタM4、及びトランジスタM4rのそれぞれはオフ状態となる。つまり、条件7と同様に、この動作によって、トランジスタM1、及びトランジスタM1rのそれぞれに流れる、設定された電流の量に関わらず、回路MCと配線OLとの間、回路MCrと配線OLBとの間、回路MCと配線OLBとの間、及び、回路MCrと配線OLとの間が非導通状態になる。このため、配線OLから配線VE又は配線VErの一方までの間に電流は流れず、かつ配線OLBから配線VE又は配線VErの他方までの間にも電流は流れないため、配線OLのノードoutaから出力される電流IOL、及び、配線OLBのノードoutbから出力される電流IOLBのそれぞれは、時刻T5の前後で変化しない。
また、このとき、図8において、スイッチSWO、及びスイッチSWOBをオン状態とし、スイッチSWI、スイッチSWIB、スイッチSWL、スイッチSWLB、スイッチSWH、及びスイッチSWHBをオフ状態にすることで、配線OL、及び配線OLBのそれぞれと回路AFPとの間を導通状態としても、上述の通り、回路AFPと配線OLとの間には電流IOLは流れず、かつ回路AFPと配線OLBとの間には電流IOLBは流れない。
ところで、本条件は、第1データ(重み係数)を“-1”とし、回路MPに入力される第2データ(ニューロンの信号の値(演算値))を“0”としているため、式(1.1)を用いると、第1データ(重み係数)と第2データ(ニューロンの信号の値)の積は、“0”となる。第1データ(重み係数)と第2データ(ニューロンの信号の値)の積が“0”となる結果は、回路MPの動作では、時刻T6以降において電流IOL及び電流IOLBのそれぞれが変化しない場合に対応し、これは条件1、条件4、条件7、条件8の回路動作の結果と一致する。なお、第1データ(重み係数)と第2データ(ニューロンの信号の値)の積が“0”となる結果は、条件1、条件4、条件7、条件8と同様に、図8において、回路AFPから信号zj
(k)として出力される。
上述した条件1乃至条件9の動作例の結果を下表にまとめる。なお、下表では、高レベル電位をhighと記載し、低レベル電位をlowと記載している。
ここでは、配線OL、及び配線OLBに、回路MC、回路MCrが1個ずつ接続されている場合を一例として示した。これについて、図2、図3、図4、図7、図11、図12、図6などに示すように、配線OL、及び配線OLBに、回路MC、回路MCrが複数個ずつ接続されている場合には、各回路MC、回路MCrから出力される電流が、キルヒホッフの電流則にもとづき、足し合わせられることになる。その結果、和の演算が行われることとなる。つまり、回路MC、回路MCrにおいて、積の演算が行われ、複数の回路MC、回路MCrからの電流の足し合わせにより、和の演算が行われる。以上の結果、積和演算処理が行われることとなる。
ところで、回路MPの動作において、第1データ(重み係数)を“+1”、“-1”の2値のみとし、第2データ(ニューロンの信号の値)を“+1”、“-1”の2値のみとした計算を行うことで、回路MPは排他的論理和の否定の回路(一致回路)と同様の動作を行うことができる。
また、回路MPの動作において、第1データ(重み係数)を“+1”、“0”の2値のみとし、第2データ(ニューロンの信号の値)を“+1”、“0”の2値のみとした計算を行うことで、回路MPは論理積の回路と同様の動作を行うことができる。
ところで、本動作例では、回路MPの回路MC、MCrが有する保持部HC、HCrに保持されている電位を、VSS、V1、V2などのように多値としたが、保持部HC、HCrには2値、又はアナログ値を示す電位を保持してもよい。例えば、第1データ(重み係数)として“正のアナログ値”の場合には、保持部HCのノードn1に高レベルのアナログ電位、保持部HCrのノードn1rに低レベル電位が保持されている。第1データ(重み係数)として“負のアナログ値”の場合には、例えば、保持部HCのノードn1に低レベル電位、保持部HCrのノードn1rに高レベルのアナログ電位が保持されている。そして、電流IOL及び電流IOLBの電流の大きさは、アナログ電位に応じた大きさとなる。また、保持部HC、HCrにはアナログ値を示す電位を保持することについては、図15Aの回路MPの動作例に限定されず、本明細書等に示す他の回路MPに対しても行ってもよい。
なお、本構成例は、本明細書で示す他の構成例などと適宜組み合わせることができる。
<構成例2>
次に、図15A乃至図15C、図16A、図16Bのそれぞれの回路構成とは異なる、図9Bに図示した回路MPに適用できる回路構成の例について説明する。
図21Aに示す回路MPは、図9Bの回路MPの構成例を示しており、図15Aの回路MPとの違いは、トランジスタM2の第2端子が、配線OLでなくトランジスタM1の第2端子と、トランジスタM3の第1端子と、トランジスタM4の第1端子と、に電気的に接続されている点と、トランジスタM2rの第2端子が、配線OLBでなくトランジスタM1rの第2端子と、トランジスタM3rの第1端子と、トランジスタM4rの第1端子と、に電気的に接続されている点、とである。
図21Aの回路MPは、図15Aの回路MPと同様に動作することができる。
また、図21Aとは異なる、図9Bに図示した回路MPに適用できる回路構成の別の例について説明する。図21Bに示す回路MPは、図9Bの回路MPの構成例を示しており、図15Aの回路MPとの違いは、回路MCにトランジスタM1cが含まれ、かつトランジスタM4の第1端子が、トランジスタM1の第2端子とトランジスタM3の第2端子でなく、トランジスタM1cに電気的に接続されている点と、回路MCrにトランジスタM1crが含まれ、かつトランジスタM4rの第1端子が、トランジスタM1rの第2端子とトランジスタM3rの第2端子でなく、トランジスタM1crに電気的に接続されている点である。
なお、本明細書などにおいて、トランジスタM1c、及びトランジスタM1crは、特に断りの無い場合は、オン状態の場合は最終的に飽和領域で動作する場合を含むものとする。すなわち、上述したそれぞれのトランジスタのゲート電圧、ソース電圧、及びドレイン電圧は、線形領域で動作する範囲での電圧に適切にバイアスされている場合を含むものとする。ただし、本発明の一態様は、これに限定されない。供給される電圧の振幅値を小さくするために、トランジスタM1c、及びトランジスタM1crは、線形領域で動作してもよい。なお、第1データ(例えば、ここでは重み係数とする。)をアナログ値とする場合には、第1データ(重み係数)の大きさに応じて、例えば、トランジスタM1c、及びトランジスタM1crは、線形領域で動作する場合と、飽和領域で動作する場合とが混在していてもよい。
図21Bの回路MPにおいて、トランジスタM1cの第1端子は、配線VEに電気的に接続されている。また、トランジスタM1cのゲートは、トランジスタM1のゲートと、トランジスタM2の第1端子と、容量C1の第1端子と、に電気的に接続されている。加えて、トランジスタM1cの第2端子は、トランジスタM4の第1端子に電気的に接続されている。
なお、図21Bの回路MPにおいて、回路MCrは、回路MCとほぼ同様の回路構成となっている。そのため、回路MCrの有する回路素子などには、回路MCの有する回路素子などと区別をするため、符号に「r」を付している。
また、図21Bの回路MPと、図15Aの回路MPと同様の接続構成となっている箇所については説明を省略する。
図21Bの回路MPにおいて、トランジスタM3、及びトランジスタM4に流れる電流は、それぞれトランジスタM1、及びトランジスタM1cのゲートの電位によって決められる。なお、一例としては、トランジスタM1、及びトランジスタM1cのサイズ、例えば、チャネル長及びチャネル幅は互いに等しいことが好ましい。このような回路構成とすることにより、効率的にレイアウトできる可能性がある。また、トランジスタM3、及びトランジスタM4に流れる電流を揃えることができる可能性がある。
図21Bの回路MPは、図15Aの回路MPと同様に動作することができる。
なお、本構成例は、本明細書で示す他の構成例などと適宜組み合わせることができる。
<構成例3>
次に、図9Eに図示した回路MPに適用できる回路構成の例について説明する。
図22Aに示す回路MPは、図9Eの回路MPの構成例を示しており、図15Aの回路MPとの違いは、回路MCにトランジスタM5が含まれ、かつ回路MCrにトランジスタM5rが含まれている点と、回路MPは配線ILと配線ILBとに電気的に接続されている点である。
なお、本明細書などにおいて、トランジスタM5、及びトランジスタM5rは、特に断りの無い場合は、オン状態の場合は最終的に線形領域で動作する場合を含むものとする。すなわち、上述したそれぞれのトランジスタのゲート電圧、ソース電圧、及びドレイン電圧は、線形領域で動作する範囲での電圧に適切にバイアスされている場合を含むものとする。
図22Aの回路MPにおいて、トランジスタM5の第1端子は、トランジスタM2の第2端子と、配線ILと、に電気的に接続されている。トランジスタM5の第2端子は、トランジスタM1の第2端子と、トランジスタM3の第1端子と、トランジスタM4の第1端子と、に電気的に接続されている。トランジスタM5のゲートは、配線WLに電気的に接続されている。
なお、図22Aの回路MPにおいて、回路MCrは、回路MCとほぼ同様の回路構成となっている。そのため、回路MCrの有する回路素子などには、回路MCの有する回路素子などと区別をするため、符号に「r」を付している。
また、図22Aの回路MPと、図15Aの回路MPと同様の接続構成となっている箇所については説明を省略する。
図22Aの回路MPにおいて、構成例1、構成例2と同様に、トランジスタM1、トランジスタM2、トランジスタM3、及びトランジスタM4のサイズ、例えば、チャネル長及びチャネル幅は、それぞれトランジスタM1r、トランジスタM2r、トランジスタM3r、及びトランジスタM4rのサイズと等しいことが好ましい。このような回路構成とすることにより、効率的にレイアウトできる可能性がある。加えて、トランジスタM5のサイズは、トランジスタM5rのサイズと等しいことが好ましい。
回路MC、MCrに電流を設定するとき、配線WLに高レベル電位を与えて、トランジスタM2、トランジスタM2r、トランジスタM5、及びトランジスタM5rをオン状態にすることによって行われる。また、回路MC、及び回路MCrに電流を設定した後は、保持部HC、及び保持部HCrに設定された電位を保持するため、配線WLに低レベル電位を与えて、トランジスタM2、トランジスタM2r、トランジスタM5、及びトランジスタM5rをオフ状態にすればよい。
構成例1、構成例2で説明した回路MPでは、第2データ(例えば、ここではニューロンの信号の値)を送信する配線と、回路MPに第1データ(例えば、ここでは重み係数とする。)に応じた情報(例えば、電圧、電流など)を供給、又は保持するための配線と、をまとめて配線WX1Lとしたが、図22の回路MPを構成することによって、第2データ(ニューロンの信号の値)を送信する配線を配線X1Lとして、回路MPに第1データ(重み係数)に応じた情報(例えば、電圧、電流など)を供給、又は保持するための配線を配線WLとすることができる。つまり、図22の回路MPは、構成例1、構成例2の回路MPの配線WX1Lを、機能毎に分けた構成ということができる。
また、図22Aの回路MPと異なる、回路構成を図22Bに示す。
図22Bに示す回路MPは、図22Aの回路MPのトランジスタM5、及びトランジスタM5rのそれぞれの第1端子の電気的な接続を変更した構成となっている。具体的には、図22Bの回路MPにおいて、トランジスタM5の第1端子は、トランジスタM2の第1端子と、トランジスタM1のゲートと、容量C1の第1端子と、に電気的に接続されている。
図22Bに示す回路MPを構成することによって、図22Bの回路MPは、図22Aの回路MPとほぼ同様に動作する。
なお、図22A、及び図22Bのそれぞれに示した回路MPは、配線ILを配線OLにまとめ、かつ配線ILBを配線OLBにまとめた構成としてもよい。例えば、図22Aに示す回路MPにおいて、配線ILを配線OLにまとめ、かつ配線ILBを配線OLBにまとめることによって、図23Aに示す回路MPの構成にすることができる。また、例えば、図22Bに示す回路MPにおいて、配線ILを配線OLにまとめ、かつ配線ILBを配線OLBにまとめることによって、図23Bに示す回路MPの構成にすることができる。なお、図23A、及び図23Bのそれぞれの回路MPは、図9Aに図示した回路MPに適用できる回路構成であり、図23A、及び図23Bのそれぞれの回路MPの動作は、図15Aの回路MPの動作の説明を参酌する。
なお、本構成例は、本明細書で示す他の構成例などと適宜組み合わせることができる。
<構成例4>
図24に示す回路MPは、図15Aの回路MPと異なり、保持部HC、及び保持部HCrだけでなく、保持部HCs、及び保持部HCsrも有する回路の一例である。
図24の回路MPに含まれている回路MCは、図21Aの回路MPが有する回路素子に加え、トランジスタM1s、トランジスタM2s、トランジスタM6、トランジスタM6s、及び容量C1sを有する。また、図20の回路MPに含まれている回路MCrは、回路MCと同様の回路素子を有するため、回路MCのトランジスタM1s、トランジスタM2s、トランジスタM6、トランジスタM6s、及び容量C1sのそれぞれに対応する、トランジスタM1sr、トランジスタM2sr、トランジスタM6r、トランジスタM6sr、及び容量C1srを有する。なお、トランジスタM2sと、容量C1sと、は、保持部HCsに含まれ、トランジスタM2srと、容量C1srと、は、保持部HCsに含まれている。
なお、本明細書などにおいて、トランジスタM2s、トランジスタM6、トランジスタM6s、トランジスタM6r、トランジスタM6srは、特に断りの無い場合は、オン状態の場合は最終的に線形領域で動作する場合を含むものとする。すなわち、上述したそれぞれのトランジスタのゲート電圧、ソース電圧、及びドレイン電圧は、線形領域で動作する範囲での電圧に適切にバイアスされている場合を含むものとする。
次に、図24の回路MPの構成について説明する。なお、図24の回路MPにおいて、図21Aの回路MPと同様の構成となっている箇所については省略する。
図24の回路MPにおいて、トランジスタM1の第2端子は、トランジスタM2の第2端子と、トランジスタM6の第1端子と、に電気的に接続されている。トランジスタM6の第2端子は、トランジスタM3の第1端子と、トランジスタM4の第2端子と、に電気的に接続されている。トランジスタM6のゲートは、配線S1Lに電気的に接続されている。トランジスタM1sの第1端子は、配線VEに電気的に接続されている。トランジスタM1sの第2端子は、トランジスタM6sの第1端子に電気的に接続されている。トランジスタM1sのゲートは、容量C1sの第1端子と、トランジスタM2sの第1端子と、に電気的に接続されている。容量C1sの第2端子は、配線VEに電気的に接続されている。トランジスタM2の第2端子は、トランジスタM1sの第2端子と、トランジスタM6sの第1端子に電気的に接続されている。トランジスタM6sの第2端子は、トランジスタM3の第1端子と、トランジスタM4の第2端子と、に電気的に接続されている。トランジスタM6sのゲートは、配線S2Lに電気的に接続されている。
図24の回路MPにおいて、回路MCrは、回路MCとほぼ同様の回路構成となっている。そのため、回路MCrの有する回路素子などには、回路MCの有する回路素子などと区別をするため、符号に「r」を付している。
配線S1Lは、トランジスタM6、及びトランジスタM6rをオン状態又はオフ状態にするための電位を供給する電圧線として機能し、配線S2Lは、トランジスタM6s、及びトランジスタM6srをオン状態又はオフ状態にするための電位を供給する電圧線として機能する。
図24の回路MPにおいて、トランジスタM6、トランジスタM6s、トランジスタM6r、及びトランジスタM6srのサイズ、例えば、チャネル長及びチャネル幅は、互いに等しいことが好ましい。このような回路構成とすることにより、効率的にレイアウトできる可能性がある。
例えば、図11に示した演算回路150に、図24の回路MPに示した構成を適用することによって、演算回路150の回路MPは、第1データ(例えば、ここでは重み係数とする。)を2個保持することができる。具体的には、図24の回路MPは、1個目の第1データ(重み係数)に応じた電位を、回路MCの保持部HCと、回路MCrの保持部HCrと、に保持し、2個目の第1データ(重み係数)に応じた電位を、回路MCの保持部HCsと、回路MCの保持部HCsrと、に保持することができる。また、図24の回路MPは、配線S1L、及び配線S2Lから与える電位によって、演算に用いる第1データ(重み係数)の切り替えを行うことができる。例えば、演算回路150の回路MP[1,j]乃至回路MP[m,j]に含まれるそれぞれの保持部HC、及び保持部HCrに第1データ(重み係数)w1
(k-1)
j
(k)乃至wm
(k-1)
j
(k)に相当する電位を保持し、演算回路110の回路MP[1,j]乃至回路MP[m,j]に含まれるそれぞれの保持部HCs、及び保持部HCsrに第1データ(重み係数)w1
(k-1)
h
(k)乃至wm
(k-1)
h
(k)(ここでのhは、1以上でjでない整数とする。)に相当する電位を保持して、配線XLS[1]乃至配線XLS[m](図24の回路MPにおける配線WX1L、及び配線X2L)に信号z1
(k-1)乃至zm
(k-1)に応じた電位を入力する。このとき、配線S1Lに高レベル電位を印加して、トランジスタM6、及びトランジスタM6rをオン状態とし、配線S2Lに低レベル電位を印加して、トランジスタM6s、及びトランジスタM6srをオフ状態とすることで、演算回路150の回路MP[1,j]乃至回路MP[m,j]は、重み係数w1
(k-1)
j
(k)乃至wm
(k-1)
j
(k)と信号z1
(k-1)乃至zm
(k-1)との積和と活性化関数の演算を行うことができる。また、配線S1Lに低レベル電位を印加して、トランジスタM6、及びトランジスタM6rをオフ状態とし、配線S2Lに高レベル電位を印加して、トランジスタM6s、及びトランジスタM6srをオン状態とすることで、演算回路150の回路MP[1,j]乃至回路MP[m,j]は、重み係数w1
(k-1)
h
(k)乃至wm
(k-1)
h
(k)と信号z1
(k-1)乃至zm
(k-1)との積和と活性化関数の演算を行うことができる。
上述の通り、演算回路150に図24の回路MPを適用することによって、重み係数を2個保持することができ、かつ当該重み係数を切り替えて、積和と活性化関数の演算を行うことができる。図24の回路MPを構成した演算回路150は、例えば、第k層のニューロンの個数がnより大きい場合、第k層と異なる中間層における演算を行う場合、などに有効である。また、図24の回路MPでは、回路MC、及び回路MCrが有する保持部はそれぞれ2個としたが、回路MC、及び回路MCrのそれぞれは、状況に応じて、3個以上の保持部を有してもよい。
また、本発明の一態様の半導体装置に含まれている回路MPは、図24の回路MPに限定されない。本発明の一態様の半導体装置の回路MPは、図24の回路MPを状況に応じて回路構成を変更することができる。
例えば、図25に示す回路MPは、図24の回路MPを変更した回路構成となっている。具体的には、図25の回路MPは、図24の回路MPに対して、トランジスタM3s、トランジスタM4s、トランジスタM3sr、及びトランジスタM4srが加えられ、かつ電気的な接続の変更がされている。トランジスタM3sの第1端子は、トランジスタM6sの第2端子と、トランジスタM4sの第1端子と、に電気的に接続され、トランジスタM3sの第2端子は、配線OLに電気的に接続され、トランジスタM3sのゲートは、配線WX1Lに電気的に接続されている。トランジスタM4sの第2端子は、配線OLBに電気的に接続され、トランジスタM4sのゲートは、配線X2Lに電気的に接続されている。
なお、図25の回路MPにおいて、回路MCrは、回路MCとほぼ同様の回路構成となっている。そのため、回路MCrの有する回路素子などには、回路MCの有する回路素子などと区別をするため、符号に「r」を付している。また、回路MCrにおいて、トランジスタM3srの第2端子は、配線OLに電気的に接続され、トランジスタM4srの第2端子は、配線OLBに電気的に接続されている。
図25の回路MPにおいて、トランジスタM3、トランジスタM3s、トランジスタM3r、トランジスタM3sr、トランジスタM4、トランジスタM4s、トランジスタM4r、及びトランジスタM4srのサイズ、例えば、チャネル長及びチャネル幅は、互いに等しいことが好ましい。このような回路構成とすることにより、効率的にレイアウトできる可能性がある。
図25の回路MPは、図24の回路MPと同様の動作を行うことで、第1データ(重み係数)を2個保持することができ、かつ当該第1データ(重み係数)を切り替えて、積和と活性化関数の演算を行うことができる。また、図25の回路MPでは、回路MC、及び回路MCrが有する保持部はそれぞれ2個としたが、回路MC、及び回路MCrのそれぞれは、状況に応じて、3個以上の保持部を有してもよい。
なお、本構成例は、本明細書で示す他の構成例などと適宜組み合わせることができる。
<構成例5>
図26に示す回路MPは、図21Aの回路MPと異なり、回路MCにおいて、チャネル幅(以下、W長と呼称する。)とチャネル長(以下、L長と呼称する。)の比がそれぞれ異なるトランジスタM1、トランジスタM1-2b、トランジスタM1-3bを一例として有している。なお、トランジスタM1、トランジスタM1-2b、トランジスタM1-3bだけでなく、更に多くのトランジスタを有していてもよいし、トランジスタM1-3bやトランジスタM1-2bを有していなくてもよい。
図26の回路MPに含まれている回路MCは、更に、図21Aの回路MPが有する回路素子に加え、トランジスタM3-2b、トランジスタM4-2b、トランジスタM3-3b、及びトランジスタM4-3bを有する。
本明細書などにおいて、トランジスタM1-2b、及びトランジスタM1-3bは、トランジスタM1と同様に、特に断りの無い場合は、オン状態の場合は最終的に飽和領域で動作する場合を含むものとする。すなわち、上述したそれぞれのトランジスタのゲート電圧、ソース電圧、及びドレイン電圧は、飽和領域で動作する範囲での電圧に適切にバイアスされている場合を含むものとする。ただし、本発明の一態様は、これに限定されない。供給される電圧の振幅値を小さくするために、トランジスタM1-2b、及びトランジスタM1-3bは、線形領域で動作してもよい。なお、第1データ(例えば、ここでは重み係数とする。)をアナログ値とする場合には、第1データ(重み係数)の大きさに応じて、例えば、トランジスタM1-2b、及びトランジスタM1-3bは、線形領域で動作する場合と、飽和領域で動作する場合とが混在していてもよい。
また、本明細書などにおいて、トランジスタM3-2b、トランジスタM4-2b、トランジスタM3-3b、及びトランジスタM4-3bは、特に断りの無い場合は、オン状態の場合は最終的に線形領域で動作する場合を含むものとする。すなわち、上述したそれぞれのトランジスタのゲート電圧、ソース電圧、及びドレイン電圧は、線形領域で動作する範囲での電圧に適切にバイアスされている場合を含むものとする。
次に、図26の回路MPの構成について説明する。なお、図26の回路MPにおいて、図21Aの回路MPと同様の構成となっている箇所については省略する。
図26の回路MPの回路MCにおいて、トランジスタM1-2bの第1端子は、配線VEに電気的に接続されている。トランジスタM1-2bの第2端子は、トランジスタM3-2bの第1端子と、トランジスタM4-2bの第1端子と、に電気的に接続されている。トランジスタM1-2bのゲートは、トランジスタM2の第1端子と、容量C1の第1端子と、に電気的に接続されている。トランジスタM3-2bの第2端子は、配線OLに電気的に接続されている。トランジスタM3-2bのゲートは、配線X1L2bに電気的に接続されている。トランジスタM4-2bの第2端子は、配線OLBに電気的に接続されている。トランジスタM4-2bのゲートは、配線X2L2bに電気的に接続されている。トランジスタM1-3bの第1端子は、配線VEに電気的に接続されている。トランジスタM1-3bの第2端子は、トランジスタM3-3bの第1端子と、トランジスタM4-3bの第1端子と、に電気的に接続されている。トランジスタM1-3bのゲートは、トランジスタM2の第1端子と、容量C1の第1端子と、に電気的に接続されている。トランジスタM3-3bの第2端子は、配線OLに電気的に接続されている。トランジスタM3-3bのゲートは、配線X1L3bに電気的に接続されている。トランジスタM4-3bの第2端子は、配線OLBに電気的に接続されている。トランジスタM4-3bのゲートは、配線X2L3bに電気的に接続されている。
なお、図26の回路MPにおいて、回路MCrは、回路MCとほぼ同様の回路構成となっている。そのため、回路MCrの有する回路素子などには、回路MCの有する回路素子などと区別をするため、符号に「r」を付している。また、トランジスタM3-2brの第2端子は、配線OLBに電気的に接続され、トランジスタM4-2brの第2端子は、配線OLに電気的に接続され、トランジスタM3-3brの第2端子は、配線OLBに電気的に接続され、トランジスタM4-3brの第2端子は、配線OLに電気的に接続されている。
図26の回路MPにおいて、トランジスタM3、トランジスタM3-2b、トランジスタM3-3b、トランジスタM3r、トランジスタM3-2br、トランジスタM3-3br、トランジスタM4、トランジスタM4-2b、トランジスタM4-3b、トランジスタM4r、トランジスタM4-2br、及びトランジスタM4-3brのサイズ、例えば、チャネル長及びチャネル幅は、互いに等しいことが好ましい。このような回路構成とすることにより、効率的にレイアウトできる可能性がある。
配線X1L2bは、トランジスタM3-2b、及びトランジスタM3-2brをオン状態とオフ状態の切り替えを行うための配線であり、配線X2L2bは、トランジスタM4-2b、及びトランジスタM4-2brをオン状態とオフ状態の切り替えを行うための配線であり、配線X1L3bは、トランジスタM3-3b、及びトランジスタM3-3brをオン状態とオフ状態の切り替えを行うための配線であり、配線X2L3bは、トランジスタM4-3b、及びトランジスタM4-3brをオン状態とオフ状態の切り替えを行うための配線である。
トランジスタM1のW長とL長の比をW/Lとしたとき、トランジスタM1-2bのW長とL長の比は、2×W/Lとするのが好ましく、かつトランジスタM1-3bのW長とL長の比は、4×W/Lとするのが好ましい。トランジスタのソース-ドレイン間に流れる電流はチャネル幅/チャネル長に比例するため、トランジスタM1、トランジスタM1-2b、及びトランジスタM1-3bのチャネル幅/チャネル長以外の構造、構成条件などが同じ場合、トランジスタM1-2b、及びトランジスタM1-3bに流れる電流は、それぞれトランジスタM1に流れる電流の概ね2倍、概ね4倍となる。つまり、トランジスタM1、トランジスタM1-2b、及びトランジスタM1-3bに流れる電流量の比は、概ね1:2:4となる。なお、図26の回路MPに含まれる回路MCが、さらに多くのトランジスタM1、例えばQ個(Qは4以上の整数とする)のトランジスタを有する場合を考える。1番目のトランジスタをトランジスタM1、2番目のトランジスタをトランジスタM1-2b、3番目のトランジスタをトランジスタM1-3bとし、q番目(qは4以上Q以下の整数)のトランジスタのW長とL長の比を、トランジスタM1のW長とL長の比の2(q-1)倍とすると、1番目のトランジスタ、2番目のトランジスタ、3番目のトランジスタ、q番目のトランジスタのそれぞれに流れる電流量の比は、1:2:4:2(q-1)となる。つまり、図26の回路MPに含まれる回路MCは、Q個のトランジスタを、それぞれに流れる電流の量を2のべき乗の比となるように有してもよい。
例えば、トランジスタM1のソース-ドレイン間に流れる電流量をIutとしたとき、上述のトランジスタM1、トランジスタM1-2b、及びトランジスタM1-3bのそれぞれのチャネル幅/チャネル長より、トランジスタM1-2b、及びトランジスタM1-3bに流れる電流量は、それぞれ2Iut、4Iutとなる。
また、トランジスタM1rのW長とL長の比は、トランジスタM1のW長とL長の比と等しいことが好ましく、トランジスタM1-2brのW長とL長の比は、トランジスタM1-2bのW長とL長の比と等しいことが好ましく、トランジスタM1-3brのW長とL長の比は、トランジスタM1-3bのW長とL長の比と等しいことが好ましい。
ここで、配線OLから回路MCに流れる電流量を考える。この場合、回路MPには正の第1データ(正の重み係数)が設定され、かつトランジスタM3、トランジスタM3-2b、及びトランジスタM3-3bの少なくとも一をオン状態とし、トランジスタM4、トランジスタM4-2b、及びトランジスタM4-3bをオフ状態とすればよい。このとき、トランジスタM3、トランジスタM3-2b、及びトランジスタM3-3bのそれぞれのオン状態、オフ状態の組み合わせによって、配線OLから回路MCに流れる電流量が変化する。
例えば、トランジスタM1のソース-ドレイン間に流れる電流量をIutに設定したとき、トランジスタM1-2bに流れる電流量は2Iutとなり、トランジスタM1-3bに流れる電流量は4Iutとなる。ここで、配線WX1Lに高レベル電位を印加し、配線X2Lに低レベル電位を印加し、更に、配線X1L2b、配線X2L2b、配線X1L3b、及び配線X2L3bに低レベル電位を印加することによって、トランジスタM3をオン状態にし、トランジスタM3-2b、トランジスタM3-3b、トランジスタM4、トランジスタM4-2b、及びトランジスタM4-3bをオフ状態にすることができる。このとき、配線OLから回路MCに流れる電流量はIutとなる。また、例えば、トランジスタM1のソース-ドレイン間に流れる電流量をIutに設定し、かつ配線WX1L、及び配線X1L2bに高レベル電位を印加し、配線X2L、及び配線X2L2bに低レベル電位を印加し、更に、配線X1L3b、及び配線X2L3bに低レベル電位を印加する。このとき、トランジスタM3、及びトランジスタM3-2bをオン状態にし、トランジスタM3-3b、トランジスタM4、トランジスタM4-2b、及びトランジスタM4-3bをオフ状態にすることができ、配線OLから回路MCに流れる電流量は3Iutとなる。また、例えば、トランジスタM1のソース-ドレイン間に流れる電流量をIutに設定し、かつ配線X1L2b、及び配線X1L3bに高レベル電位を印加し、配線X2L2b、及び配線X2L3bに低レベル電位を印加し、更に、配線WX1L、及び配線X2Lに低レベル電位を印加する。このとき、トランジスタM3-2b、トランジスタM3-3bをオン状態にし、トランジスタM3、トランジスタM4、トランジスタM4-2b、及びトランジスタM4-3bをオフ状態にすることができ、配線OLから回路MCに流れる電流量は6Iutとなる。
更に、例えば、トランジスタM1のソース-ドレイン間に流れる電流量を2Iutに設定したとき、トランジスタM1-2bに流れる電流量は4Iutとなり、トランジスタM1-3bに流れる電流量は8Iutとなる。ここで、配線WX1Lに高レベル電位を印加し、配線X2Lに低レベル電位を印加し、更に、配線X1L2b、配線X2L2b、配線X1L3b、及び配線X2L3bに低レベル電位を印加することによって、トランジスタM3をオン状態にし、トランジスタM3-2b、トランジスタM3-3b、トランジスタM4、トランジスタM4-2b、及びトランジスタM4-3bをオフ状態にすることができる。このとき、配線OLから回路MCに流れる電流量は2Iutとなる。また、例えば、トランジスタM1のソース-ドレイン間に流れる電流量を2Iutに設定し、かつ配線WX1L、及び配線X1L2bに高レベル電位を印加し、配線X2L、及び配線X2L2bに低レベル電位を印加し、更に、配線X1L3b、及び配線X2L3bに低レベル電位を印加する。このとき、トランジスタM3、及びトランジスタM3-2bをオン状態にし、トランジスタM3-3b、トランジスタM4、トランジスタM4-2b、及びトランジスタM4-3bをオフ状態にすることができ、配線OLから回路MCに流れる電流量は6Iutとなる。また、例えば、トランジスタM1のソース-ドレイン間に流れる電流量を2Iutに設定し、かつ配線X1L2b、及び配線X1L3bに高レベル電位を印加し、配線X2L2b、及び配線X2L3bに低レベル電位を印加し、更に、配線WX1L、及び配線X2Lに低レベル電位を印加する。このとき、トランジスタM3-2b、及びトランジスタM3-3bをオン状態にし、トランジスタM3、トランジスタM4、トランジスタM4-2b、及びトランジスタM4-3bをオフ状態にすることができ、配線OLから回路MCに流れる電流量は12Iutとなる。
つまり、図26の回路MPは、トランジスタM1のソース-ドレイン間に設定した電流を、配線X1、配線X1L2b、及び配線X1L3bのそれぞれの電位に応じて整数倍して、整数倍した電流を配線OLから回路MCに流す機能を有する。なお、トランジスタM1、トランジスタM1-2b、及びトランジスタM1-3bのそれぞれのW長とL長の比を変更することによって、トランジスタM1のソース-ドレイン間に設定した電流を整数倍でなく実数倍にして、配線OLから回路MCに流すことができる。
上述の例では、配線OLから回路MCに流れる電流量について扱ったが、配線OLBから回路MCに流れる電流量についても同様に考えることができる。この場合、回路MPには正の第1データ(正の重み係数)が設定され、かつトランジスタM4、トランジスタM4-2b、トランジスタM4-3bの少なくとも一をオン状態とし、トランジスタM3、トランジスタM3-2b、及びトランジスタM3-3bをオフ状態とすればよい。このとき、トランジスタM4、トランジスタM4-2b、及びトランジスタM4-3bのそれぞれのオン状態、オフ状態の組み合わせによって、配線OLBから回路MCに流れる電流量が変化する。また、配線OLBから回路MCrに流れる電流についても同様に考えることができる。この場合、回路MPには負の第1データ(負の重み係数)が設定され、かつトランジスタM3、トランジスタM3-2b、及びトランジスタM3-3bの少なくとも一をオン状態とし、トランジスタM4、トランジスタM4-2b、及びトランジスタM4-3bをオフ状態とすればよい。このとき、トランジスタM3、トランジスタM3-2b、及びトランジスタM3-3bのそれぞれのオン状態、オフ状態の組み合わせによって、配線OLBから回路MCrに流れる電流量が変化する。更に、配線OLから回路MCrに流れる電流についても同様に考えることができる。この場合、回路MPには負の第1データ(負の重み係数)が設定され、かつトランジスタM4、トランジスタM4-2b、及びトランジスタM4-3bの少なくとも一をオン状態とし、トランジスタM3、トランジスタM3-2b、及びトランジスタM3-3bをオフ状態とすればよい。このとき、トランジスタM4、トランジスタM4-2b、及びトランジスタM4-3bのそれぞれのオン状態、オフ状態の組み合わせによって、配線OLから回路MCrに流れる電流量が変化する。
上述の通り、図26の回路MPは、設定した電流の量を、配線WX1L、配線X2L、配線X1L2b、配線X2L2b、配線X1L3b、及び配線X2L3bのそれぞれの電位に応じて、整数倍(実数倍)にして、配線OLから回路MC又は回路MCrに電流を流し、又は配線OLBから回路MC又は回路MCrに電流を流すことができる。ここで、配線WX1L、配線X2L、配線X1L2b、配線X2L2b、配線X1L3b、及び配線X2L3bのそれぞれの電位の組み合わせに応じて第2データ(例えば、ここではニューロンの信号の値とする。)を定めることによって、第2データ(ニューロンの信号の値)を多値(図26の回路MPの構成では15値)として、扱うことができる。つまり、図26の回路MPは、多値の第1データ(重み係数)と、多値の第2データ(ニューロン信号)と、の積を計算することができる回路とすることができる。
回路MPに設定される第1データ(重み係数)を“+1”として(トランジスタM1のソース-ドレイン間に設定される電流量をIut、トランジスタM1rのソース-ドレイン間に設定される電流量を0とする。なお、保持部HCのノードn1の電位をVutとし、保持部HCrのノードn1rの電位をVSSとしている。)、第2データ(ニューロンの信号の値)に応じた、配線WX1L、配線X2L、配線X1L2b、配線X2L2b、配線X1L3b、及び配線X2L3bの電位を回路MPに入力したときの、配線OLから回路MC又は回路MCrに流れる電流IOLと、配線OLBから回路MC又は回路MCrに流れる電流IOLBと、の電流量の変化を下表に示す。なお、下表では、高レベル電位をhighと記載し、低レベル電位をlowと記載している。
また、回路MPに設定される第1データ(重み係数)を“-1”として(トランジスタM1のソース-ドレイン間に設定される電流量を0、トランジスタM1rのソース-ドレイン間に設定される電流量をIutとする。なお、保持部HCのノードn1の電位をVSSとし、保持部HCrのノードn1rの電位をVutとしている。)、第2データ(ニューロンの信号の値)に応じた、配線WX1L、配線X2L、配線X1L2b、配線X2L2b、配線X1L3b、及び配線X2L3bの電位を回路MPに入力したときの、配線OLから回路MC又は回路MCrに流れる電流IOLと、配線OLBから回路MC又は回路MCrに流れる電流IOLBと、の電流量の変化を下表に示す。なお、下表では、高レベル電位をhighと記載し、低レベル電位をlowと記載している。
ところで、トランジスタM1のソース-ドレイン間に流れる電流量を0としたとき、ノードn1の電位としては、例えば、VSSとすればよい。これにより、トランジスタM1に加え、トランジスタM1-2b、及びトランジスタM1-3bのそれぞれのソース-ドレイン間に流れる電流量も0にすることができる。このため、トランジスタM3、トランジスタM3-2b、トランジスタM3-3b、トランジスタM4、トランジスタM4-2b、及びトランジスタM4-3bのオン状態又はオフ状態に関わらず、配線OL又は配線OLBから回路MCへの電流は流れない。
このように、図26の回路MPは、配線WX1L、配線X2L、配線X1L2b、配線X2L2b、配線X1L3b、及び配線X2L3bのそれぞれに、低レベル電位又は高レベル電位にすることによって、第2データ(ニューロンの信号の値)を15値として表現することができ、多値の第1データ(重み係数)と、多値の第2データ(ニューロンの信号の値)と、の積を計算することができる。
また、本発明の一態様の半導体装置に含まれている回路MPは、図26の回路MPに限定されない。本発明の一態様の半導体装置の回路MPは、図26の回路MPを状況に応じて回路構成を変更することができる。
例えば、図27に示す回路MPは、図26の回路MPを変更した回路構成となっている。具体的には、図27の回路MPは、図26の回路MPに対して、保持部HC-2b、保持部HC-3b、保持部HC-2br、及び保持部HC-3brが加えられた構成となっている。保持部HC-2b、保持部HC-3b、保持部HC-2br、及び保持部HC-3brの構成は、保持部HC、及び保持部HCrと同様の構成であるため、保持部HC、及び保持部HCrの説明の記載を参酌する。
回路MCにおいて、トランジスタM1-2b、トランジスタM3-2b、及びトランジスタM4-2b、及び保持部HC-2bの周辺の電気的な接続構成は、トランジスタM1、M3、M4、及び保持部HCの周辺と同様の電気的な接続構成となっている。また、トランジスタM1-3b、トランジスタM3-3b、トランジスタM4-3b、及び保持部HC-3bの周辺の電気的な接続構成は、トランジスタM1、トランジスタM3、トランジスタM4、及び保持部HCの周辺と同様の電気的な接続構成となっている。また、回路MCrにおいて、トランジスタM1-2br、トランジスタM3-2br、トランジスタM4-2br、及び保持部HC-2brの周辺の電気的な接続構成は、トランジスタM1r、トランジスタM3r、トランジスタM4r、及び保持部HCrの周辺と同様の電気的な接続構成となっている。また、トランジスタM1-3br、トランジスタM3-3br、トランジスタM4-3br、及び保持部HC-3brの周辺の電気的な接続構成は、トランジスタM1r、トランジスタM3r、トランジスタM4r、及び保持部HCrの周辺と同様の電気的な接続構成となっている。
更に、保持部HC-2bは、配線WL2bに電気的に接続され、保持部HC-3bは、配線WL3bに電気的に接続され、保持部HC-2brは、配線WL2bに電気的に接続され、保持部HC-3brは、配線WL3bに電気的に接続されている。
図27の回路MPにおいて、例えば、図26の回路MPと同様に、トランジスタM1、トランジスタM1-2b、及びトランジスタM1-3bのそれぞれのW長とL長の比を、W/L、2×W/L、4×W/Lとし、トランジスタM1のソース-ドレイン間に流れる電流量をIutに設定するような電位を保持部HCに保持し、かつ当該電位とほぼ同じ電位を保持部HC-2b、及び保持部HC-3bに保持することによって、図26の回路MPと同様に動作することができる。
また、保持部HC、保持部HC-2b、及び保持部HC-3bにはほぼ同じ電位を書き込めばよいので、配線WL、配線WL2b、及び配線WL3bはそれぞれ一本の配線にまとめてもよい(図示しない)。
また、例えば、トランジスタM1、トランジスタM1-2b、及びトランジスタM1-3bのそれぞれのW長とL長の比をそれぞれ等しくし、かつトランジスタM1のソース-ドレイン間に流れる電流量をIに設定した場合、トランジスタM1-2bのソース-ドレイン間に流れる電流量として2Iに設定し、トランジスタM1-3bのソース-ドレイン間に流れる電流量を4Iに設定することによって、図26の回路MPと同様に動作することができる。
また、図27の回路MPと異なる、図26の回路MPを変更した回路構成として、例えば、図28に示す回路MPとしてもよい。図28の回路MPは、図26の回路MPに対して、トランジスタM2-2b、トランジスタM2-3b、トランジスタM2-2br、及びトランジスタM2-3brが加えられた構成となっている。なお、トランジスタM1、トランジスタM1-2b、及びトランジスタM1-3bのそれぞれのW長とL長の比は、一例として、図26と同様に、W/L、2×W/L、4×W/Lとする。ただし、電流量は、設定されたときの大きさによって決定され、W長やL長には、依存しない。そのため、トランジスタM1、トランジスタM1-2b、及びトランジスタM1-3bのそれぞれのW長とL長の比は、全て同じとしてもよい。ただしその場合には、電流量に応じて、各トランジスタのゲートの電位が異なることとなる。各トランジスタのゲートの電位を概ね同じにしたい場合には、W長とL長の比は、W/L、2×W/L、4×W/Lとすることが望ましい。
また、本明細書などにおいて、トランジスタM2-2b、トランジスタM2-3b、トランジスタM2-2br、及びトランジスタM2-3brとしては、特に断りの無い場合は、トランジスタM2、及びトランジスタM2rと同様に、オン状態の場合は最終的に線形領域で動作する場合を含むものとする。すなわち、上述したそれぞれのトランジスタのゲート電圧、ソース電圧、及びドレイン電圧は、線形領域で動作する範囲での電圧に適切にバイアスされている場合を含むものとする。
回路MCにおいて、トランジスタM2-2bの第1端子は、トランジスタM2-3bの第1端子と、トランジスタM2の第1端子と、トランジスタM1のゲートと、トランジスタM1-2bのゲートと、トランジスタM1-3bのゲートと、容量C1の第1端子と、に電気的に接続されている。トランジスタM2-2bの第2端子は、トランジスタM1-2bの第2端子と、トランジスタM3-2bの第1端子と、トランジスタM3-2bの第1端子と、に電気的に接続されている。トランジスタM2-3bの第2端子は、トランジスタM1-3bの第2端子と、トランジスタM3-3bの第1端子と、トランジスタM3-3bの第1端子と、に電気的に接続されている。トランジスタM2-2bのゲートと、トランジスタM2-3bのゲートと、は、配線WLに電気的に接続されている。
また、同様に、回路MCrにおいて、トランジスタM2-2brの第1端子は、トランジスタM2-3brの第1端子と、トランジスタM2rの第1端子と、トランジスタM1rのゲートと、トランジスタM1-2brのゲートと、トランジスタM1-3brのゲートと、容量C1の第1端子と、に電気的に接続されている。トランジスタM2-2brの第2端子は、トランジスタM1-2brの第2端子と、トランジスタM3-2brの第1端子と、トランジスタM3-2brの第1端子と、に電気的に接続されている。トランジスタM2-3brの第2端子は、トランジスタM1-3brの第2端子と、トランジスタM3-3brの第1端子と、トランジスタM3-3brの第1端子と、に電気的に接続されている。トランジスタM2-2brのゲートと、トランジスタM2-3brのゲートと、は、配線WLに電気的に接続されている。
また、図26に示す配線X1L2b、及び配線X1L3bは、図28では、それぞれ配線WX1L2b、及び配線WX1L3bと記載している。
トランジスタM1、トランジスタM1-2b、トランジスタM1-3b、トランジスタM1r、トランジスタM1-2br、及びトランジスタM1-3brのそれぞれに流れる電流を設定するとき、配線WLと、配線WX1Lと、配線WX1L2bと、配線WX1L3bと、に高レベル電位を入力して、トランジスタM2、トランジスタM2-2b、トランジスタM2-3b、トランジスタM3、トランジスタM3-2b、及びトランジスタM3-3bのそれぞれをオン状態にする。また、配線X2L、配線X2L2b、及び配線X2L3bに低レベル電位を入力して、トランジスタM4、トランジスタM4-2b、トランジスタM4-3b、トランジスタM4r、トランジスタM4-2br、及びトランジスタM4-3brをオフ状態にする。
このとき、配線OLから回路MCに、トランジスタM1、トランジスタM1-2b、及びトランジスタM1-3bのそれぞれに設定する電流の総和を流すことによって、例えば、7Iutを流すことによって、保持部HCのノードn1は所定の電位になる。ここで、配線WLに低レベル電位を入力して、トランジスタM2をオフ状態にすることで、保持部HCのノードn1に所定の電位を保持する。これによって、トランジスタM1、トランジスタM1-2b、及びトランジスタM1-3bのそれぞれのソース-ドレイン間には、Iut、2Iut、4Iutの電流が流れるように設定される。
また、同様に、配線OLBから回路MCrに、トランジスタM1r、トランジスタM1-2br、及びトランジスタM1-3brのそれぞれに設定する電流の総和を流すことによって、例えば、7Iutを流すことによって、保持部HCrのノードn1rは所定の電位になる。そして、配線WLに低レベル電位を入力して、保持部HCrのノードn1に所定の電位を保持することで、トランジスタM1r、トランジスタM1-2br、及びトランジスタM1-3brのそれぞれのソース-ドレイン間には、Iut、2Iut、4Iutの電流が流れるように設定される。
図28の回路MPを構成することにより、図26の回路MPと同様の動作を行うことができる。更に、図28の回路MPを構成することにより、回路MCにおいて、トランジスタM1、トランジスタM1-2b、及びトランジスタM1-3bの形成時に発生する構造のばらつきによる影響を少なくすることができる。また、同様に、回路MCrにおいて、トランジスタM1r、トランジスタM1-2br、及びトランジスタM1-3brの形成時に発生する構造のばらつきによる影響を少なくすることができる。
また、図26の回路MPの変更例として、保持部HC、及び保持部HCrのそれぞれを別の構成としてもよい。図29に示す回路MPは、図26の回路MPに含まれている保持部HC、及び保持部HCrのそれぞれを、回路HCS、及び回路HCSrに置き換えた構成となっている。なお、トランジスタM1、トランジスタM1-2b、及びトランジスタM1-3bのそれぞれのW長とL長の比は、図26と同様に、W/L、2×W/L、4×W/Lとする。
回路HCSは、例えば、配線OLと、配線OLBと、に電気的に接続されている。回路HCSは、配線OL、又は配線OLBの一方、又は両方から入力される情報(電位、電流など)を受け取って、当該情報に応じた電位を保持する機能を有する。また、回路HCSは、トランジスタM1、トランジスタM1-2b、及びトランジスタM1-3bのそれぞれのゲートに電気的に接続されている。回路HCSは、保持した当該電位をトランジスタM1、トランジスタM1-2b、及びトランジスタM1-3bのそれぞれのゲートに印加する機能を有する。したがって、トランジスタM1、トランジスタM1-2b、及びトランジスタM1-3bのそれぞれには、回路HCSから与えられた電位と、W長とL長の比と、に応じたソース-ドレイン電流が流れる。なお、回路HCSrは、回路HCSと同様の機能を有しており、トランジスタM1r、トランジスタM1-2br、及びトランジスタM1-3brのそれぞれには、回路HCSrから与えられた電位と、W長とL長の比と、に応じたソース-ドレイン電流が流れる。
図29に示す回路MPに含まれている回路HCS、及び回路HCSrの具体例を図30Aに図示している。図30Aに示す回路HCS、及び回路HCSrは、一例としては、SRAM(Static Random Access Memory)を有する構成となっている。なお、図30Aには、回路HCS、及び回路HCSrの有する回路素子の電気的な接続構成を示すため、回路MPの全体を示している。
なお、回路HCS、及び回路HCSrがSRAMを有する構成である場合、SRAMは、高レベル電位、低レベル電位の一方を保持するため、回路MPに設定される第1データ(重み係数)は、例えば、2値(“-1”、“+1”の組み合わせなど)、3値(“-1”、“0”、“+1”の組み合わせなど)などに限定される。例えば、回路MPに設定される第1データ(重み係数)を“+1”とするとき、回路HCSには高レベル電位を保持し、回路HCSrには低レベル電位を保持すればよい。また、例えば、回路MPに設定される第1データ(重み係数)を“-1”とするとき、回路HCSには低レベル電位を保持し、回路HCSrには高レベル電位を保持すればよい。また、例えば、回路MPに設定される第1データ(重み係数)を“0”とするとき、回路HCSには低レベル電位を保持し、回路HCSrには低レベル電位を保持すればよい。
回路HCSは、トランジスタM7、トランジスタM7s、インバータループ回路IVRを有している。インバータループ回路IVRは、インバータ回路IV1と、インバータ回路IV2と、を有する。
本明細書などにおいて、トランジスタM7、及びトランジスタM7sは、特に断りの無い場合は、オン状態の場合は最終的に線形領域で動作する場合を含むものとする。すなわち、上述したそれぞれのトランジスタのゲート電圧、ソース電圧、及びドレイン電圧は、線形領域で動作する範囲での電圧に適切にバイアスされている場合を含むものとする。
インバータ回路IV1と、インバータ回路IV2と、のそれぞれは、入力端子に入力信号が入力されたとき、当該入力信号の反転信号を出力端子から出力する機能を有する。そのため、インバータ回路IV1と、インバータ回路IV2と、のそれぞれとしては、例えば、インバータ回路を用いることができる。なお、インバータ回路IV1、及びインバータ回路IV2と、の構成例を図30Bに示す。図30Bに示すとおり、インバータ回路IV1、及びインバータ回路IV2は、CMOS(Complementary MOS)回路として構成することができる。ただし、本発明の一態様はこれに限定されず、例えば、CMOS回路ではなく、nチャネル型トランジスタのみ、または、pチャネル型トランジスタのみの単極性回路で構成してもよい。
また、インバータ回路IV1、及びインバータ回路IV2としては、例えば、NAND回路、NOR回路、XOR回路、これらを組み合わせた回路等とすることができる。具体的には、インバータ回路をNAND回路に置き換える場合、NAND回路の2入力端子の一方に固定電位として高レベル電位を入力することで、NAND回路をインバータ回路として機能することができる。また、インバータ回路をNOR回路に置き換える場合、NOR回路の2入力端子の一方に固定電位として低レベル電位を入力することで、NOR回路をインバータ回路として機能することができる。また、インバータ回路をXOR回路に置き換える場合、XOR回路の2入力端子の一方に固定電位として高レベル電位を入力することで、XOR回路をインバータ回路として機能することができる。
上述の通り、本明細書等に記載されているインバータ回路は、NAND回路、NOR回路、XOR回路、又はこれらを組み合わせた回路などの論理回路に置き換えることができる。そのため、本明細書などにおいて、「インバータ回路」という用語は、「論理回路」と呼称することができる。
トランジスタM7の第1端子は、配線OLに電気的に接続され、トランジスタM7の第2端子は、インバータ回路IV1の入力端子と、インバータ回路IV2の出力端子と、トランジスタM1のゲートと、トランジスタM1-2bのゲートと、トランジスタM1-3bのゲートと、に電気的に接続され、トランジスタM7のゲートは、配線WLに電気的に接続されている。トランジスタM7sの第1端子は、配線OLBに電気的に接続され、トランジスタM7sの第2端子は、インバータ回路IV1の出力端子と、インバータ回路IV2の入力端子と、に電気的に接続され、トランジスタM7sのゲートは、配線WLに電気的に接続されている。インバータ回路IV1、及びインバータ回路IV2の高電源電位入力端子には、配線VEHが電気的に接続され、インバータ回路IV1、及びインバータ回路IV2の低電源電位入力端子には、配線VEが電気的に接続されている。
配線VEHは、一例としては、定電圧を与える配線として機能する。当該定電圧としては、例えば、高レベル電位であるVDD、又は低レベル電位VSSより高くVDDよりも低い電位VDDLなどとすることができる。また、当該定電圧は、回路MPの構成に応じて、適宜設定するのが好ましい。また、例えば、配線VALには、定電圧ではなく、パルス信号が供給されていてもよい。なお、本構成例の説明では、配線VEHは、電位VDDを与える配線として機能するものとする。
なお、図30の回路MPにおいて、回路HCSは、回路HCSrとほぼ同様の回路構成となっている。そのため、回路HCSrの有する回路素子には、回路HCSの有する回路素子と区別をするため、符号に「r」を付している。また、トランジスタM7rの第1端子は、配線OLBに電気的に接続され、トランジスタM7srの第1端子は、配線OLに電気的に接続されている。
回路HCS、及び回路HCSrに情報(例えば、電位、電流など)を書き込むとき、配線WLに高レベル電位を印加して、トランジスタM7、トランジスタM7s、トランジスタM7r、トランジスタM7srをオン状態にする。その後、配線OLに高レベル電位又は低レベル電位の一方を入力し、配線OLBに高レベル電位又は低レベル電位の他方を入力する。特に、高レベル電位は、配線VEHが与える電位とほぼ同じであることが好ましい。ここでは、例えば、高レベル電位を電位VDDLとし、低レベル電位を電位VSSとして説明する。
回路HCSにVDDL又はVSSの一方が書き込まれ、回路HCSrにVDDL又はVSSの他方が書き込まれた後は、配線WLに低レベル電位を印加して、トランジスタM7、トランジスタM7s、トランジスタM7r、及びトランジスタM7srをオフ状態にする。これによって、回路HCSは、VDDL又はVSSの一方をインバータループ回路IVRに保持し、回路HCSは、VDDL又はVSSの他方をインバータループ回路IVRrに保持することができる。
回路HCS、及び回路HCSrのそれぞれに所定の電位を保持した後は、図26の回路MPと同様に、配線X1L(図26では配線WX1L)又は配線X2Lの一方に高レベル電位、他方に低レベル電位を入力し、配線X1L2b又は配線X2L2bの一方に高レベル電位、他方に低レベル電位を入力し、配線X1L3b又は配線X2L3bの一方に高レベル電位、他方に低レベル電位を入力することによって、回路MC、又は回路MCrから配線OL、又は配線OLBに流れる電流量を、2値又は3値の第1データ(重み係数)と、多値(図30の構成例では、15値)の第2データ(ニューロン信号の値)と、の積として扱うことができる。
また、図30Aの回路MPは、例えば、図31に示す回路MPに変形することができる。図31の回路MPは、図30Aの回路MPから、回路HCSrを除いた構成となっている。具体的な構成としては、インバータループ回路IVRに含まれているインバータ回路IV1の出力端子は、回路MCrのトランジスタM1rのゲートと、回路MCrのトランジスタM1-2brのゲートと、回路MCrのトランジスタM1-3brのゲートと、に電気的に接続されている。
図31の回路MPの回路を構成することによって、図30Aの回路MPと同様に動作することができる。なお、図31の回路MPは、図30Aの回路MPから回路HCSrを除いた構成となっているので、図30Aの回路MPよりも消費電力を低くすることができる。
また、図30Aの回路MPは、例えば、図32に示す回路MPに変形することができる。図32の回路MPは、図22A、及び図22Bの回路MPと同様に、図30Aの回路MPに、配線ILと、配線ILBと、を加えた構成となっている。
図32の回路MPは、図30Aの回路MPの配線OL、及び配線OLBが有する機能を分離した構成となっている。
具体的には、図30Aの回路MPの配線OLは、回路HCSに高レベル電位、又は低レベル電位を入力するための配線として機能し、また、回路MCを介して配線VEに電流を供給するための配線として機能し、また、回路MCrを介して配線VErに電流を供給するための配線として機能する。また、図30Aの回路MPの配線OLBは、回路HCSrに高レベル電位、又は低レベル電位を入力するための配線として機能し、また、回路MCを介して配線VEに電流を供給するための配線として機能し、また、回路MCrを介して配線VErに電流を供給するための配線として機能する。
一方、図32の回路MPの配線OLは、回路MCを介して配線VEに電流を供給するための配線として機能し、また、回路MCrを介して配線VErに電流を供給するための配線として機能する。また、図32の回路MPの配線OLBは、回路MCを介して配線VEに電流を供給するための配線として機能し、また、回路MCrを介して配線VErに電流を供給するための配線として機能する。また、図32の回路MPの配線ILは、回路HCSに高レベル電位、又は低レベル電位の一方を入力するための配線として機能し、図32の回路MPの配線ILBは、回路HCSrに高レベル電位、又は低レベル電位の他方を入力するための配線として機能する。
図32の回路MPを構成することによって、図30Aの回路MPと同様に動作することができる。
また、図32の回路MPの構成を、図2の演算回路110、図3の演算回路120に適用する場合、図32の回路MPは、例えば、図33に示す回路MPのとおり、トランジスタM7s、及びトランジスタM7srは除いた構成としてもよい。図33の回路MPを構成することによって、図30Aの回路MPと同様に動作することができる。
また、図30Aとは異なる、図29に示す回路MPに含まれている回路HCS、及び回路HCSrの具体例を図34に示す。図34に示す回路MPは、NOSRAM(Nonvolatile Oxide Semiconductor Random Access Memory)と呼ばれる記憶回路を有する構成となっている。なお、図34には、回路HCS、及び回路HCSrの有する回路素子の電気的な接続構成を示すため、回路MPの全体を示している。
回路HCSは、トランジスタM8、容量C2と、を有する。
本明細書などにおいて、トランジスタM8は、特に断りの無い場合は、オン状態の場合は最終的に線形領域で動作する場合を含むものとする。すなわち、上述したそれぞれのトランジスタのゲート電圧、ソース電圧、及びドレイン電圧は、線形領域で動作する範囲での電圧に適切にバイアスされている場合を含むものとする。
トランジスタM8の第1端子は、配線ILに電気的に接続され、トランジスタM8の第2端子は、容量C2の第1端子と、トランジスタM1のゲートと、トランジスタM1-2bのゲートと、トランジスタM1-3bのゲートと、に電気的に接続され、トランジスタM8のゲートは、配線WLに電気的に接続されている。容量C2の第2端子は配線VEに電気的に接続されている。
なお、図34に示す回路HCSにおいて、トランジスタM8の第2端子と、容量C2の第1端子と、の電気的接続点をノードn2としている。
また、図34の回路MPにおいて、回路HCSは、回路HCSrとほぼ同様の回路構成となっている。そのため、回路HCSrの有する回路素子などには、回路HCSの有する回路素子などと区別をするため、符号に「r」を付している。また、トランジスタM8rの第1端子は、配線ILBに電気的に接続されている。
なお、回路HCS、及び回路HCSrがNOSRAMを有する構成である場合、回路HCS、及び回路HCSrのそれぞれには、高レベル電位、又は低レベル電位の一方を保持することができる。このため、回路MPに設定される第1データ(重み係数)は、例えば、2値(“-1”、“+1”など)、3値(“-1”、“0”、“+1”など)などに限定される。例えば、回路MPに設定される第1データ(重み係数)を“+1”とするとき、回路HCSには高レベル電位を保持し、回路HCSrには低レベル電位を保持すればよい。また、例えば、回路MPに設定される第1データ(重み係数)を“-1”とするとき、回路HCSには低レベル電位を保持し、回路HCSrには高レベル電位を保持すればよい。また、例えば、回路MPに設定される第1データ(重み係数)を“0”とするとき、回路HCSには低レベル電位を保持し、回路HCSrには低レベル電位を保持すればよい。なお、回路HCS、回路HCSrには、高レベル電位、又は低レベル電位の2値(デジタル値)でなく、3値以上のデジタル値、又はアナログ値を保持してもよい。
回路HCS、及び回路HCSrに情報(ここでは電位とする。)を書き込むとき、配線WLに高レベル電位を印加して、トランジスタM8、及びトランジスタM8rをオン状態にする。その後、配線ILに高レベル電位又は低レベル電位の一方を入力し、配線ILBに高レベル電位又は低レベル電位の他方を入力する。ここでは、例えば、高レベル電位を電位VDDLとし、低レベル電位を電位VSSとして説明する。
回路HCSの容量C2の第1端子にVDDL又はVSSの一方が書き込まれ、回路HCSrの容量C2rの第1端子にVDDL又はVSSの他方が書き込まれた後は、配線WLに低レベル電位を印加して、トランジスタM8、及びトランジスタM8rをオフ状態にする。これによって、回路HCSは、VDDL又はVSSの一方をノードn2に保持し、回路HCSは、VDDL又はVSSの他方をノードn2rに保持することができる。
回路HCS、及び回路HCSrのそれぞれに所定の電位を保持した後は、図26の回路MPと同様に、配線X1L(図26では配線WX1L)又は配線X2Lの一方に高レベル電位、他方に低レベル電位を入力し、配線X1L2b又は配線X2L2bの一方に高レベル電位、他方に低レベル電位を入力し、配線X1L3b又は配線X2L3bの一方に高レベル電位、他方に低レベル電位を入力することによって、回路MC、又は回路MCrから配線OL、又は配線OLBに流れる電流量を、3ビットのデータとして扱うことができる。
図34の回路MPの回路を構成することによって、図30Aの回路MPと同様に動作することができる。
図29乃至図34のそれぞれに示す回路MPは、回路HCS、及び回路HCSrをそれぞれ1つずつ有する構成であるが、回路MPは、回路HCS、及び回路HCSrを複数有する構成であってもよい。
図35に示す回路MPは、回路HCSと同様の機能を有する回路HCS-2bと、回路HCS-3bと、回路HCSrと同様の機能を有する回路HCS-2brと、回路HCS-3brと、を有する。具体的には、回路HCS-2b、回路HCS-3b、回路HCS-2br、及び回路HCS-3brは、配線OL、又は配線OLBの一方、又は両方から入力される情報(電位、電流など)を受け取って、当該情報に応じた電位を保持する機能を有する。特に、回路HCS-2bは、トランジスタM1-2bのゲートに保持した電位を印加する機能を有し、回路HCS-3bは、トランジスタM1-3bのゲートに保持した電位を印加する機能を有し、回路HCS-2brは、トランジスタM1-2brのゲートに保持した電位を印加する機能を有し、回路HCS-3brは、トランジスタM1-3brのゲートに保持した電位を印加する機能を有する。
また、回路HCS、回路HCS-2b、回路HCS-3b、回路HCSr、回路HCS-2br、及び回路HCS-3brの構成としては、例えば、その全てがSRAMを有する構成としてもよいし、NOSRAMを有する構成としてもよい。また、回路HCS、回路HCS-2b、回路HCS-3b、回路HCSr、回路HCS-2br、及び回路HCS-3brから選ばれた一以上の回路はSRAMを有する構成とし、残りの回路はNOSRAMを有する構成としてもよい。
なお、図35の回路MPに含まれる、回路HCS、回路HCS-2b、回路HCS-3b、回路HCSr、回路HCS-2br、及び回路HCS-3brのそれぞれは、配線OL及び配線OLBに電気的に接続されているが、本発明の一態様に係る回路MPの構成は、これに限定されない。例えば、図35の回路MPは、図32の回路MPと同様に、配線IL、ILBを設けて、回路HCS、回路HCS-2b、及びHCS-3bを、配線ILと、配線ILBと、に電気的に接続してもよい。また、例えば、図35の回路MPは、図33、図34の回路MPと同様に、配線IL、及び配線ILBを設けて、回路HCS、回路HCS-2b、及びHCS-3bを配線ILに電気的に接続し、回路HCSr、回路HCS-2br、及び回路HCS-3brを配線ILBに電気的に接続してもよい。
なお、本構成例は、本明細書で示す他の構成例などと適宜組み合わせることができる。
<構成例6>
図36に示す回路MPは、複数の保持部として、回路HCS、回路HCS-2b、回路HCS-3b、回路HCSr、回路HCS-2br、回路HCS-3brを有し、かつ図35の回路MPと異なる、回路構成の一例である。
図36の回路MPに含まれるトランジスタM1のW長とL長の比をW/Lとしたとき、トランジスタM1-2bのW長とL長の比は2×W/Lとするのが好ましく、トランジスタM1-3bのW長とL長の比は4×W/Lとするのが好ましい。更に、トランジスタM1rのサイズは、トランジスタM1と等しいことが好ましく、トランジスタM1-2brのサイズは、トランジスタM1-2bと等しいことが好ましく、トランジスタM1-3brのサイズは、トランジスタM1-3bと等しいことが好ましい。
回路HCSは、配線OLと、トランジスタM1のゲートと、に電気的に接続され、回路HCS-2bは、配線OLと、トランジスタM1-2bのゲートと、に電気的に接続され、回路HCS-3bは、配線OLと、トランジスタM1-3bのゲートと、に電気的に接続されている。
トランジスタM1、トランジスタM1-2b、トランジスタM1-3bのそれぞれの第1端子は、配線VEに電気的に接続され、トランジスタM3の第1端子は、トランジスタM4の第1端子と、トランジスタM1、トランジスタM1-2b、トランジスタM1-3bのそれぞれの第2端子と、に電気的に接続されている。トランジスタM3の第2端子は、配線OLに電気的に接続され、トランジスタM3のゲートは、配線X1Lに電気的に接続されている。トランジスタM4の第2端子は、配線OLBに電気的に接続され、トランジスタM4のゲートは、配線X2Lに電気的に接続されている。
図36の回路MPにおいて、回路MCrは、回路MCとほぼ同様の回路構成となっている。そのため、回路MCrの有する回路素子などには、回路MCの有する回路素子などと区別をするため、符号に「r」を付している。また、トランジスタM3の第2端子は、配線OLBに電気的に接続され、トランジスタM4の第2端子は、配線OLに電気的に接続されている。
回路MCrに含まれている回路HCSr、回路HCS-2br、回路HCS-3brに低レベル電位、例えばVSSを保持することによって、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brのそれぞれをオフ状態にすることができる。このとき、回路MCに含まれている回路HCS、回路HCS-2b、回路HCS-3bのそれぞれに高レベル電位又は低レベル電位を保持することで、回路HCS、回路HCS-2b、回路HCS-3bのそれぞれに保持された電位に応じて、トランジスタM1、トランジスタM1-2b、トランジスタM1-3bのそれぞれに流れる電流の量が決まる。その後、トランジスタM3をオン状態にし、トランジスタM4をオフ状態にすることによって、配線OLから、回路MCを介して、配線VEに当該電流を流すことができる。また、トランジスタM3をオフ状態にし、トランジスタM4をオン状態にすることによって、配線OLBから、回路MCを介して、配線VEに当該電流を流すことができる。
また、回路MCに含まれている回路HCS、回路HCS-2b、回路HCS-3bに低レベル電位、例えばVSSを保持することによって、トランジスタM1、トランジスタM1-2b、トランジスタM1-3bのそれぞれをオフ状態にすることができる。このとき、回路MCに含まれている回路HCSr、回路HCS-2br、回路HCS-3brのそれぞれに高レベル電位又は低レベル電位を保持することで、回路HCSr、回路HCS-2br、回路HCS-3brのそれぞれに保持された電位に応じて、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brのそれぞれに流れる電流の量が決まる。その後、トランジスタM3rをオン状態にし、トランジスタM4rをオフ状態にすることによって、配線OLBから、回路MCrを介して、配線VErに当該電流を流すことができる。また、トランジスタM3rをオフ状態にし、トランジスタM4rをオン状態にすることによって、配線OLから、回路MCrを介して、配線VErに当該電流を流すことができる。
図36の回路MPに、例えば、正の第1データ(例えば、ここでは重み係数とする。)を保持する場合、回路HCSr、回路HCS-2br、回路HCS-3brに低レベル電位を保持し、回路HCS、回路HCS-2b、回路HCS-3bのそれぞれに正の第1データ(重み係数)に応じた電位の組み合わせを保持するものとする。また、図36の回路MPに、例えば、負の第1データ(重み係数)を保持する場合、回路HCS、回路HCS-2b、回路HCS-3bに低レベル電位を保持し、回路HCSr、回路HCS-2br、回路HCS-3brのそれぞれに負の第1データ(重み係数)に応じた電位の組み合わせを保持するものとする。
図36に示す回路MPに含まれている回路HCS、回路HCS-2b、回路HCS-3b、回路HCSr、回路HCS-2br、回路HCS-3brの具体例を図37に図示している。図37に示す回路HCS、回路HCS-2b、回路HCS-3b、回路HCSr、回路HCS-2br、回路HCS-3brは、SRAMを有する構成となっている。なお、図37では、インバータ回路IV1、インバータ回路IV2のそれぞれの高電源電位入力端子、低電源電位入力端子の記載を省略している。また、図37に示す回路HCS、回路HCS-2b、回路HCS-3b、回路HCSr、回路HCS-2br、回路HCS-3brの構成については、図30Aの回路MPに含まれている回路HCS、回路HCSrの説明の記載を参酌する。
また、図37とは異なる具体例として、図36に示す回路MPに含まれている回路HCS、回路HCS-2b、回路HCS-3b、回路HCSr、回路HCS-2br、回路HCS-3brは、図38に示すとおり、NOSRAMを有する構成としてもよい。なお、図38に示す回路HCS、回路HCS-2b、回路HCS-3b、回路HCSr、回路HCS-2br、回路HCS-3brの構成については、図34の回路MPに含まれている回路HCS、回路HCSrの説明の記載を参酌する。
また、図36の回路MPは、一例として、図39に示す回路MPに変形することができる。図39の回路MPは、図26乃至図35に示す回路MPのように、多値の第2データ(例えば、ここではニューロンの信号の値(演算値)とする。)を扱うことができる回路である。図39の回路MPは、図36の回路MPに含まれている回路MCに、トランジスタM3-2x、トランジスタM4-2x、トランジスタM1x、トランジスタM1x-2b、トランジスタM1x-3bを加えた構成となっている。なお、図39の回路MPに含まれている回路HCS、回路HCS-2b、回路HCS-3b、回路HCSr、回路HCS-2br、回路HCS-3brは、図37に示すとおり、SRAMを有する構成となっている。
また、本明細書などにおいて、トランジスタM1x、トランジスタM1x-2b、トランジスタM1x-3bは、トランジスタM1と同様に、特に断りの無い場合は、オン状態の場合は最終的に飽和領域で動作する場合を含むものとする。すなわち、上述したそれぞれのトランジスタのゲート電圧、ソース電圧、及びドレイン電圧は、飽和領域で動作する範囲での電圧に適切にバイアスされている場合を含むものとする。ただし、本発明の一態様は、これに限定されない。供給される電圧の振幅値を小さくするために、トランジスタM1x、トランジスタM1x-2b、トランジスタM1x-3bは、線形領域で動作してもよい。なお、第1データ(重み係数)をアナログ値とする場合には、第1データ(重み係数)の大きさに応じて、例えば、トランジスタM1x、トランジスタM1x-2b、トランジスタM1x-3bは、線形領域で動作する場合と、飽和領域で動作する場合とが混在していてもよい。
また、本明細書などにおいて、トランジスタM3-2x、トランジスタM4-2xは、トランジスタM3、トランジスタM4と同様に、特に断りの無い場合は、オン状態の場合は最終的に線形領域で動作する場合を含むものとする。すなわち、上述したそれぞれのトランジスタのゲート電圧、ソース電圧、及びドレイン電圧は、線形領域で動作する範囲での電圧に適切にバイアスされている場合を含むものとする。ただし、本発明の一態様は、これに限定されない。例えば、トランジスタM3-2x、トランジスタM4-2xは、オン状態のときは飽和領域で動作してもよく、また、線形領域で動作する場合と飽和領域で動作する場合とが混在してもよい。
図39の回路MPに含まれるトランジスタM1xのW長とL長の比は、2×W/Lとするのが好ましい。また、トランジスタM1x-2bのW長とL長の比は、4×W/Lとするのが好ましい。また、トランジスタM1x-4bのW長とL長の比は、8×W/Lとするのが好ましい。トランジスタをさらに多く配置する場合も、同様に、2のべき乗でW長とL長の比を大きくしていけばよい。
トランジスタM1x、トランジスタM1x-2b、トランジスタM1x-3bのそれぞれの第1端子は、配線VEに電気的に接続されている。トランジスタM1xのゲートは、回路HCSに電気的に接続され、トランジスタM1x-2bのゲートは、回路HCS-2bに電気的に接続され、トランジスタM1x-3bのゲートは、回路HCS-3bに電気的に接続されている。トランジスタM3-2xの第1端子は、トランジスタM4-2xの第1端子と、トランジスタM1x、トランジスタM1x-2b、トランジスタM1x-3bのそれぞれの第2端子と、に電気的に接続されている。トランジスタM3-2xの第2端子は、配線OLに電気的に接続され、トランジスタM3-2xのゲートは、配線X1L2xに電気的に接続されている。トランジスタM4-2xの第2端子は、配線OLBに電気的に接続され、トランジスタM4-2xのゲートは、配線X2L2xに電気的に接続されている。
なお、図39の回路MPにおいて、回路HCSは、回路HCSrとほぼ同様の回路構成となっている。そのため、回路HCSrの有する回路素子などには、回路HCSの有する回路素子などと区別をするため、符号に「r」を付している。また、トランジスタM3-2xrの第2端子は、配線OLBに電気的に接続され、トランジスタM4-2xrの第2端子は、配線OLに電気的に接続されている。
配線X1L2xは、トランジスタM3-2x、トランジスタM3-2xrをオン状態とオフ状態の切り替えを行うための配線であり、配線X2L2xは、トランジスタM4-2x、M4-2xrをオン状態とオフ状態の切り替えを行うための配線である。
回路HCSに高レベル電位、例えばVDDLが保持されているとき、トランジスタM1はソース-ドレイン間に電流量としてIutが流れるものとする。このとき、回路HCS-2bに高レベル電位、例えばVDDLが保持されているとき、トランジスタM1-2bのW長とL長の比はトランジスタM1のW長とL長の比の2倍であるため、トランジスタM1-2bのソース-ドレイン間に電流量として2Iutが流れる。また、回路HCS-3bに高レベル電位、例えばVDDLが保持されているとき、トランジスタM1-3bのW長とL長の比はトランジスタM1のW長とL長の比の4倍であるため、トランジスタM1-3bのソース-ドレイン間に電流量として4Iutが流れる。
つまり、回路HCS、回路HCS-2b、回路HCS-3bのそれぞれに保持されている電位に応じて、トランジスタM3の第1端子とトランジスタM4の第1端子の電気的接続点から回路MCを介して配線VEに流れる電流は、Iut刻みで0から7Iutまで変化する。ここでは、当該電流量をIX1と呼称する。
また、回路HCSに高レベル電位、例えばVDDLが保持されているとき、トランジスタM1xのW長とL長の比はトランジスタM1のW長とL長の比の2倍であるため、トランジスタM1xのソース-ドレイン間に電流量として2Iutが流れる。また、回路HCS-2bに高レベル電位、例えばVDDLが保持されているとき、トランジスタM1x-2bのW長とL長の比はトランジスタM1のW長とL長の比の4倍であるため、トランジスタM1x-2bのソース-ドレイン間に電流量として4Iutが流れる。また、回路HCS-3bに高レベル電位、例えばVDDLが保持されているとき、トランジスタM1x-3bのW長とL長の比はトランジスタM1のW長とL長の比の8倍であるため、トランジスタM1x-3bのソース-ドレイン間に電流量として8Iutが流れる。
つまり、回路HCS、回路HCS-2b、回路HCS-3bのそれぞれに保持されている電位に応じて、トランジスタM3-2xの第1端子とトランジスタM4-2xの第1端子の電気的接続点から回路MCを介して配線VEに流れる電流は、2Iut刻みで0から14Iutまで変化する。ここでは、当該電流量をIX2と呼称する。つまり、IX2=2IX1が成り立つ。
ここで、図39の回路MPに正の第1データ(重み係数)が設定されているときにおいて、配線X1L、配線X2L、配線X1L2x、配線X2L2xのそれぞれに、高レベル電位又は低レベル電位が与えられる場合を考える。
配線X1L、配線X2L、配線X1L2x、配線X2L2xのそれぞれに低レベル電位を与えたとき、回路MCにおいて、トランジスタM3、トランジスタM3x-2、トランジスタM4、トランジスタM4x-2はオフ状態になる。このとき、配線OLから、回路MCを介して配線VEに、電流は流れない。
配線X1Lに高レベル電位を与え、配線X2L、配線X1L2x、配線X2L2xのそれぞれに低レベル電位を与えたとき、回路MCにおいて、トランジスタM3はオン状態になり、トランジスタM3x-2、トランジスタM4、トランジスタM4x-2はオフ状態になる。このとき、配線OLから、回路MCを介して配線VEに、電流量としてIX1が流れる。
また、配線X2Lに高レベル電位を与え、配線X1L、配線X1L2x、配線X2L2xのそれぞれに低レベル電位を与えたとき、回路MCにおいて、トランジスタM4はオン状態になり、トランジスタM3、トランジスタM3x-2、トランジスタM4x-2はオフ状態になる。このとき、配線OLBから、回路MCを介して配線VEに、電流量としてIX1が流れる。
また、配線X1L2xに高レベル電位を与え、配線X1L、配線X2L、配線X2L2xのそれぞれに低レベル電位を与えたとき、回路MCにおいて、トランジスタM3-2xはオン状態になり、トランジスタM3、トランジスタM4、トランジスタM4x-2はオフ状態になる。このとき、配線OLから、回路MCを介して配線VEに、電流量としてIX2=2IX1が流れる。
また、配線X2L2Lに高レベル電位を与え、配線X1L、配線X1L2x、配線X1L2xのそれぞれに低レベル電位を与えたとき、回路MCにおいて、トランジスタM4-2xはオン状態になり、トランジスタM3、トランジスタM4、トランジスタM3x-2はオフ状態になる。このとき、配線OLBから、回路MCを介して配線VEに、電流量としてIX2=2IX1が流れる。
更に、配線X1L、配線X1L2xに高レベル電位を与え、配線X2L、配線X2L2xのそれぞれに低レベル電位を与えたとき、回路MCにおいて、トランジスタM3、トランジスタM3-2xはオン状態になり、トランジスタM4、トランジスタM4x-2はオフ状態になる。このとき、配線OLから、回路MCを介して配線VEに、電流量としてIX1+IX2=3IX1が流れる。
同様に、配線X2L、配線X2L2xに高レベル電位を与え、配線X1L、配線X1L2xのそれぞれに低レベル電位を与えたとき、回路MCにおいて、トランジスタM4、トランジスタM4x-2はオン状態になり、トランジスタM3、トランジスタM3-2xはオフ状態になる。このとき、配線OLBから、回路MCを介して配線VEに、電流量としてIX1+IX2=3IX1が流れる。
上述の通り、図39の回路MPに含まれている回路MCは、回路HCS、回路HCS-2b、回路HCS-3bのそれぞれに保持されている電位に応じた電流を、配線OL又は配線OLBから、回路MCを介して配線VEに流し、かつ配線X1L、配線X2L、配線X1L2x、配線X2L2xに入力される電位に応じて、当該電流を0倍、1倍、2倍、3倍にして出力することができる。
上述では、図39の回路MPに正の第1データ(重み係数)を設定した例について説明したが、図39の回路MPに負の第1データ(重み係数)を設定した場合でも同様に、回路MPは、配線OL又は配線OLBから、回路MCrを介して配線VErに電流を流し、かつ配線X1L、配線X2L、配線X1L2x、配線X2L2xに入力される電位に応じて、当該電流を0倍、1倍、2倍、3倍にして出力することができる。
また、図39の回路MPに0の第1データ(重み係数)を設定する場合、回路HCS、回路HCS-2b、回路HCS-3b、回路HCSr、回路HCS-2br、回路HCS-3brのそれぞれに低レベル電位、例えばVSSを与えればよい。これにより、トランジスタM1、トランジスタM1-2b、トランジスタM1-3b、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3br、トランジスタM1x、トランジスタM1x-2b、トランジスタM1x-3b、トランジスタM1xr、トランジスタM1x-2br、トランジスタM1x-3brのそれぞれのソース-ドレイン間に流れる電流量を0に設定することができる。このため、配線X1L、配線X2L、配線X1L2x、配線X2L2xが与える電位に関わらず、配線OLから回路MC又は回路MCrに電流は流れず、配線OLBから回路MC又は回路MCrに電流は流れない。
これは、回路HCS、回路HCS-2b、回路HCS-3bのそれぞれに保持されている電位を、第1データ(重み係数)に応じた電位とし、配線X1L、配線X2L、配線X1L2x、配線X2L2xに入力される電位を、第2データ(ニューロンの信号の値)に応じた電位とすることで、配線OL又は配線OLBから、回路MCを介して配線VEに流れる電流の量は、第1データ(重み係数)と第2データ(ニューロンの信号の値)の積として扱うことができる。
なお、本構成例は、本明細書で示す他の構成例などと適宜組み合わせることができる。
<構成例7>
構成例1乃至構成例6では、回路MPが保持する第1データ(例えば、ここでは重み係数とする。)を、“正の多値”、“0”、“負の多値”として、第2データ(例えば、ここではニューロンの信号の値とする。)との積を計算することができる回路MPについて説明したが、本構成例では、一例として、第1データ(重み係数)が“正の多値”、“0”、“負の多値”と、第2データ(ニューロンの信号の値)が“+1”、“0”の2値と、の積を計算することができる回路MPについて説明する。
図40に示す回路MPは、図16Aの回路MPからトランジスタM4、トランジスタM4rを除いた回路である。また、トランジスタM4、トランジスタM4rを除いたため、図40では、トランジスタM4、トランジスタM4rのそれぞれのゲートに電位を入力するための配線X2Lも除いている。また、配線X1Lに相当する配線は、図40では配線WXLと記載している。なお、ここでは、図16Aに適用した場合の例を示すが、本発明の一態様は、これに限定されない。他の図面においても、同様に、トランジスタM4、トランジスタM4rを除くことが可能である。
図40の回路MPに設定される第1データ(重み係数)は、図15Aの回路MPに設定される第1データ(重み係数)と同様とする。そのため、図40の回路MPに設定される第1データ(重み係数)は、図15Aの回路MPの説明の記載を参酌する。当該第1データ(重み係数)としては、例えば、“-2”、“-1”、“0”、“+1”、“+2”とすることができる。
また、図40の回路MPに入力される第2データ(ニューロンの信号の値)は、配線WXLに高レベル電位が印加されている場合に“+1”とし、配線WXLに低レベル電位が印加されている場合に“0”とする。
なお、図40の回路MPの動作については、構成例1の動作例の説明を参酌する。
図40の回路MPにおいて、上述のとおり、第1データ(重み係数)と入力される第2データ(ニューロンの信号の値)を定義したとき、それぞれの重み係数の場合において、回路MPに第2データ(ニューロンの信号の値)が入力されたことによって、配線OLのノードoutaから出力される電流IOLの変化の有無、及び配線OLBのノードoutbから出力される電流IOLBの変化の有無は、以下の表のとおりとなる。なお、下表では、高レベル電位をhighと記載し、低レベル電位をlowと記載している。
上表のとおり、図40の回路MPは、第1データ(重み係数)が正の多値又は負の多値と、第2データ(ニューロンの信号の値)が“+1”、“0”の2値と、の積を計算することができる。なお、第1データ(重み係数)は、5値ではなく、2値でもよいし、5値以外の多値であってもよい。2値としては、例えば、“+1”、“0”の2値、または、“+1”、“-1”の2値、でもよい。また、第1データ(重み係数)は、例えば、アナログ値でもよいし、多ビット(多値)のデジタル値でもよい。
なお、本動作例では、回路MPの回路MC、回路MCrの保持部HC、保持部HCrにおいて、それぞれで設定する電流は多値としたが、設定する電流はアナログ値としてもよい。例えば、第1データ(重み係数)として“正のアナログ値”の場合には、保持部HCのノードn1においてアナログ値の電流が設定されて、ノードn1に当該電流に応じた電位が保持され、保持部HCrのノードn1rに低レベル電位が保持される。第1データ(重み係数)として“負のアナログ値”の場合には、例えば、保持部HCのノードn1に低レベル電位が保持され、保持部HCのノードn1rにおいてアナログ値の電流が設定されて、ノードn1rに当該電流に応じた電位が保持される。そして、電流IOL及び電流IOLBの電流の大きさは、アナログ電位に応じた大きさとなる。
なお、本構成例は、本明細書で示す他の構成例などと適宜組み合わせることができる。
<構成例8>
次に、回路ILDに含まれているトランジスタと、回路MPに含まれているトランジスタと、が同じ極性である場合の回路MPの構成例について説明する。
ここでは、回路ILDの電流源回路ISCに含まれている定電流源回路ISC1(定電流源回路ISC2、定電流源回路ISC3)を、図8Cのnチャネル型トランジスタを有する構成とした場合において、含まれているトランジスタを全てnチャネル型トランジスタとした回路MPの構成例について説明する。
図41Aに示す回路MPは、図21Aの回路MPの構成を変更した回路であって、図41Aの回路MPは、保持部HCの構成と、トランジスタM1のバックゲートの接続先と、に関して、図21Aの回路MPと異なっている。そのため、図21Aの回路MPと、図41Aの回路MPと同様の接続構成となっている箇所については説明を省略する。
図41Aの回路MPにおいて、保持部HCは、トランジスタM9と、容量C3と、を有する。
また、本明細書などにおいて、トランジスタM9は、特に断りの無い場合は、オン状態の場合は最終的に線形領域で動作する場合を含むものとする。すなわち、上述したそれぞれのトランジスタのゲート電圧、ソース電圧、及びドレイン電圧は、線形領域で動作する範囲での電圧に適切にバイアスされている場合を含むものとする。
トランジスタM1のゲートは、トランジスタM9の第1端子と、容量C3の第1端子と、に電気的に接続されている。トランジスタM9の第2端子は、配線VEに電気的に接続されている。トランジスタM1のバックゲートは、トランジスタM1の第2端子と、容量C3の第2端子と、トランジスタM3の第1端子と、トランジスタM4の第1端子と、に電気的に接続されている。
トランジスタM1のバックゲートと、トランジスタM1の第2端子と、を電気的に接続し、トランジスタM1の第1端子に高レベル電位を与えることによって、トランジスタM1は、トランジスタM1のしきい値電圧を高くすることができる場合がある。なお、本発明の一態様の半導体装置は、これに限定されず、例えば、図41Aの回路MPは、トランジスタM1のバックゲートが、低レベル電位を与える配線などに電気的に接続されている構成としてもよい。また、例えば、図41Aの回路MPは、トランジスタM1がバックゲートを有さない構成としてもよい。
なお、図41Aに示す保持部HCにおいて、トランジスタM1のゲートと、トランジスタM9の第1端子と、容量C3の第1端子と、の電気的接続点をノードn3としている。
図41Aの回路MPにおいて、回路MCrは、回路MCとほぼ同様の回路構成となっている。そのため、回路MCrの有する回路素子などには、回路MCの有する回路素子などと区別をするため、符号に「r」を付している。
図41Aの回路MPにおいて、配線VE、配線VErが与える電位としては、例えば、高レベル電位であることが好ましい。図8Cに示す定電流源回路ISC1(定電流源回路ISC2、定電流源回路ISC3)において、配線VSOが低レベル電位となっているため、配線VE、配線VErが与える電位を高レベル電位とすることによって、回路MC又は回路MCrから配線OL、配線OLBを介して回路ILDに電流を流すことができる。ここでは、配線VE、配線VErが与える電位をVDDとして説明する。
図41Aの回路MCにおいて、トランジスタM1のソース-ドレイン間に流れる電流を設定するとき(第1データ(例えば、ここでは重み係数とする。)を設定するとき)、配線WX1L、配線WLに高レベル電位を与えて、トランジスタM3、トランジスタM9をオン状態にする。これにより、保持部HCのノードn3の電位はVDDとなる。その後、図8Aの電流源回路ISCにおいて、電流を生成することで、配線VEから、トランジスタM1のソース-ドレイン間と、回路MCのトランジスタM3のソース-ドレイン間と、配線OLと、を介して、電流源回路ISCに当該電流が流れる。このとき、容量C3の第2端子の電位(トランジスタM1の第2端子の電位)は、当該電流によって定められる。ここで、配線WX1L、配線WLに低レベル電位を与えて、トランジスタM3、M9をオフ状態にすることによって、容量C3によって、トランジスタM1のゲートとトランジスタM1の第2端子との間の電圧を保持することができる。これにより、トランジスタM1のソース-ドレイン間に当該電流を設定することができる。その後に、配線WX1L、配線X2Lのそれぞれに所定の電位を与えて、トランジスタM3又はトランジスタM4の一方をオン状態、トランジスタM3又はトランジスタM4の他方をオフ状態にすることによって、配線VEから、回路MCを介して配線OL又は配線OLBに設定された電流を流すことができる。
また、図41Aの回路MPの構成の変更例を、図41Bに示す。図41Bの回路MPは、トランジスタM9の第2端子が配線VEでなく、配線VAに電気的に接続されている点と、トランジスタM9rの第2端子が配線VErでなく、配線VAに電気的に接続されている点と、で図41Aの回路MPと異なる。
配線VAは、一例としては、定電圧を与える配線として機能する。特に、当該定電圧としては、接地電位、低レベル電位、VSSよりも高く、配線VEが与える高レベル電位、VDDよりも低い電位であることが好ましい。ここで、配線VAが与える定電圧をVMとして、電位VMは、接地電位、低レベル電位、VSSよりも高く、配線VEが与える高レベル電位、VDDよりも低い電位であるとする。
図41Aの回路MPにおいて、トランジスタM1の第2端子の電位をVSとしたとき、トランジスタM1のソース-ドレイン間電圧は、VDD-VSとなる。また、トランジスタM1のゲートにVMが入力されている場合、トランジスタM1のゲート-ソース間電圧は、VM-VSとなる。トランジスタM1を飽和領域として動作させるためには、トランジスタM1のしきい値電圧をVthとおくと、VDD-VS>VM-VS-Vthの関係を満たせばよい。ところで、トランジスタM1がノーマリーオン特性である場合、ゲート-ソース間電圧VM-VSが負の値となっても、ゲート-ソース間電圧VDD-VSが正の値となるため、トランジスタM1は飽和領域として動作することができる。
なお、ノーマリーオン特性とは、トランジスタのゲートに電圧を印加しなくてもチャネルが存在し、当該トランジスタに電流が流れてしまう状態のことをいう。
また、図41Bの回路MPにおいて、配線VAと配線VArとは、一本の配線としてまとめてもよい。例えば、図41Cに示す回路MPのとおり、配線VAと配線VArとを配線VAとして一本にまとめて、列方向に沿って設けてもよい。なお、配線VAは、列方向ではなく、行方向に沿って設けてもよい(図示しない。)。
次に、図41A乃至図41Cとは異なる、定電流源回路ISC1(定電流源回路ISC2、定電流源回路ISC3)と回路MPと、をnチャネル型トランジスタの単極性回路とした場合の、回路MPの構成例について説明する。
図42に示す回路MPは、図41Aの回路MPを、多値の第2データ(例えば、ここではニューロンの信号の値(演算値)とする。)を扱えるように変形した回路である。
図42の回路MPに含まれている回路MCは、図41Aの回路MPが有する回路素子に加え、トランジスタM1-2b、トランジスタM3-2b、トランジスタM4-2b、トランジスタM10、保持部HC-2bを有する。
本明細書などにおいて、トランジスタM1-2bは、トランジスタM1と同様に、特に断りの無い場合は、オン状態の場合は最終的に飽和領域で動作する場合を含むものとする。すなわち、上述したそれぞれのトランジスタのゲート電圧、ソース電圧、及びドレイン電圧は、飽和領域で動作する範囲での電圧に適切にバイアスされている場合を含むものとする。ただし、本発明の一態様は、これに限定されない。供給される電圧の振幅値を小さくするために、トランジスタM1-2bは、線形領域で動作してもよい。なお、第1データ(重み係数)をアナログ値とする場合には、第1データ(重み係数)の大きさに応じて、例えば、トランジスタM1-2bは、線形領域で動作する場合と、飽和領域で動作する場合とが混在していてもよい。
また、本明細書などにおいて、トランジスタM3-2b、トランジスタM4-2b、トランジスタM10は、特に断りの無い場合は、オン状態の場合は最終的に線形領域で動作する場合を含むものとする。すなわち、上述したそれぞれのトランジスタのゲート電圧、ソース電圧、及びドレイン電圧は、線形領域で動作する範囲での電圧に適切にバイアスされている場合を含むものとする。
次に、図42の回路MPの構成について説明する。なお、図42の回路MPにおいて、図41Aの回路MPと同様の構成となっている箇所については省略する。
保持部HC-2bは、保持部HCと同様の構成となっている。そのため、保持部HC-2bに含まれる回路素子などを説明するときは、保持部HCに含まれる回路素子の符号を用いて説明する場合がある。
図42の回路MPの回路MCにおいて、トランジスタM1-2bの第1端子は、配線VEに電気的に接続されている。トランジスタM1-2bの第2端子は、トランジスタM1-2bのバックゲートと、トランジスタM3-2bの第1端子と、トランジスタM4-2bの第1端子と、に電気的に接続されている。トランジスタM1-2bのゲートは、保持部HC-2bのトランジスタM9の第1端子と、保持部HC-2bの容量C1の第1端子と、に電気的に接続されている。保持部HC-2bの容量C3は、トランジスタM10の第1端子と、トランジスタM1の第2端子と、に電気的に接続されている。トランジスタM3-2bの第2端子は、配線OLに電気的に接続されている。トランジスタM3-2bのゲートは、配線X1L2bに電気的に接続されている。トランジスタM4-2bの第2端子は、配線OLBに電気的に接続されている。トランジスタM4-2bのゲートは、配線X2L2bに電気的に接続されている。トランジスタM10の第2端子は、トランジスタM1の第2端子と、トランジスタM3の第1端子と、トランジスタM4の第1端子と、保持部HCの容量C3の第2端子に電気的に接続されている。保持部HC-2bのトランジスタM9の第2端子は、保持部HCのトランジスタM9の第1端子に電気的に接続されている。保持部HC-2bのトランジスタM9のゲートと、トランジスタM10のゲートと、は、配線WLに電気的に接続されている。
なお、図42の回路MPの回路MCrは、回路MCとほぼ同様の回路構成となっている。そのため、回路MCrの有する回路素子などには、回路MCの有する回路素子などと区別をするため、符号に「r」を付している。また、トランジスタM3-2brの第2端子は、配線OLBに電気的に接続され、トランジスタM4-2brの第2端子は、配線OLに電気的に接続されている。
図42の回路MPにおいて、トランジスタM3、トランジスタM3-2b、トランジスタM3r、トランジスタM3-2br、トランジスタM4、トランジスタM4-2b、トランジスタM4r、トランジスタM4-2brのサイズ、例えば、チャネル長及びチャネル幅は、互いに等しいことが好ましい。このような回路構成とすることにより、効率的にレイアウトできる可能性がある。
また、図42の回路MPにおいて、保持部HCr、保持部HC-2brに含まれているそれぞれのトランジスタM9rのサイズ、例えば、チャネル長及びチャネル幅は、保持部HC、保持部HC-2bに含まれているそれぞれのトランジスタM9と等しいことが好ましい。また、トランジスタM10rのサイズは、トランジスタM10と等しいことが好ましい。
また、トランジスタM1のW長とL長の比をW/Lとしたとき、トランジスタM1-2bのW長とL長の比は、2W/Lとするのが好ましい。また、トランジスタM1rのサイズは、トランジスタM1と等しいことが好ましく、トランジスタM1-2brのサイズは、トランジスタM1-2bと等しいことが好ましい。
配線X1L2bは、トランジスタM3-2b、トランジスタM3-2brをオン状態とオフ状態の切り替えを行うための配線であり、配線X2L2bは、トランジスタM4-2b、トランジスタM4-2brをオン状態とオフ状態の切り替えを行うための配線である。
次に、図42の回路MPにおける、電流の設定の方法(第1データ(重み係数)の設定方法)について説明する。
初めに、配線WX1L、配線WLに高レベル電位を与えて、トランジスタM3、トランジスタM10、保持部HCのトランジスタM9、保持部HC-2bのトランジスタM9をオン状態にする。これにより、保持部HCのノードn3の電位はVDDとなり、保持部HC-2bのノードn3の電位はVDDとなる。その後、図8Aの電流源回路ISCにおいて、電流量として3Iutの電流を生成することで、配線VEから、トランジスタM1のソース-ドレイン間と、トランジスタM1-2bのソース-ドレイン間と、の両方に異なる電流が流れる。具体的には、トランジスタM1-2bのW長とL長の比は、トランジスタM1のW長とL長の比の2倍であるため、トランジスタM1のソース-ドレイン間に流れる電流の量はIutとなり、トランジスタM1-2bのソース-ドレイン間に流れる電流の量は2Iutとなる。トランジスタM1とトランジスタM1-2bとのそれぞれのソース-ドレイン間に流れる電流は、トランジスタM3のソース-ドレイン間と、配線OLと、を介して、電流源回路ISCに流れる。このとき、保持部HCの容量C3の第2端子の電位(トランジスタM1の第2端子の電位)は、トランジスタM1のソース-ドレイン間に流れる電流によって定められ、保持部HC-2bの容量C3の第2端子の電位(トランジスタM1-2bの第2端子の電位)は、トランジスタM1-2bのソース-ドレイン間に流れる電流によって定められる。ここで、配線WX1L、配線WLに低レベル電位を与えて、トランジスタM3、M10、保持部HCのトランジスタM9、保持部HC-2bのトランジスタM9をオフ状態にすることによって、保持部HCの容量C3によって、トランジスタM1のゲートとトランジスタM1の第2端子との間の電圧を保持することができ、保持部HC-2bの容量C3によって、トランジスタM1-2bのゲートとトランジスタM1-2bの第2端子との間の電圧を保持することができる。これにより、トランジスタM1のソース-ドレイン間に流れる電流の量をIutに設定することができ、トランジスタM1-2bのソース-ドレイン間に流れる電流の量を2Iutに設定することができる。
その後に、第2データ(ニューロンの信号の値)に応じて、配線WX1L、配線X2L、配線X1L2b、配線X2L2bのそれぞれに所定の電位を与えることで、回路MPにおいて、設定された第1データ(重み係数)と第2データ(ニューロンの信号の値)との積を計算することができる。なお、多値の第1データ(重み係数)と、多値の第2データ(ニューロンの信号の値)との積の計算についての詳細は、構成例5で説明している。
なお、図42の回路MPは、図43の回路MPに構成を変更することができる。図43の回路MPは、図42の回路MPにおいて、保持部HC-2bのトランジスタM9の第2端子の接続先を、保持部HCのトランジスタM9の第1端子から、配線VEに変更し、保持部HC-2brのトランジスタM9rの第2端子の接続先を、保持部HCrのトランジスタM9rの第1端子から、配線VErに変更した構成に相当する。図43の回路MPは、図42の回路MPと同様に動作することができる。
また、図42の回路MPと、図43の回路MPと、は、図41Bの回路MPのように、配線VEを、配線VEと配線VAとに分離し、配線VErを、配線VErと配線VArとに分離してもよい。図44に示す回路MPは、図42の回路MPにおいて、配線VEを、配線VEと配線VAとに分離した構成であり、図45に示す回路MPは、図43の回路MPにおいて、配線VEを、配線VEと配線VAとに分離した構成である。
図44の回路MP、図45の回路MPは、図42、図43のそれぞれの回路MPと同様に動作することができる。なお、図42、図43、図44、図45などに示すように、容量C3がトランジスタM1などのソース端子に接続され、そのソース端子が電源線などに接続されておらず、そのドレイン端子が電源線などに接続されている場合には、回路ILDから、切り替え回路TW[j]を介して配線OL又は配線OLBに正の電流を供給する場合、配線VCNが与える定電圧としては、配線VEや配線VAに供給されている電圧、例えば、高レベル電位(例えばVDDなど。)とするのが好ましい。つまり、配線VCNから定電圧を供給するときに、容量C3の両端の電位差がゼロに近くなるようにすることが望ましい。つまり、トランジスタM1がオフ状態になるようにすることが望ましい。言い換えると、回路MCより、電流が出力されなくなるような電位を配線VCNに供給することが望ましい。一方、配線VCN2には、VSSや接地電位などの低レベルの電位とすることが望ましい。これにより、回路MPから出力される電流によって、配線OL、および、配線OLBの電位を変化させることができる。
なお、本構成例は、本明細書で示す他の構成例などと適宜組み合わせることができる。
<構成例9>
図46には、図14の演算回路170に適用できる回路BSと回路MPの一例を示している。
回路BSとしては、例えば、図46に示すとおり、図40の回路MPを適用することができる。回路BMCは、図40の回路MPの回路MCに相当し、回路BMCrは、図40の回路MPの回路MCrに相当する。トランジスタM11は、図40の回路MPのトランジスタM1に相当し、トランジスタM12は、図40の回路MPのトランジスタM12に相当し、トランジスタM13は、図40の回路MPのトランジスタM13に相当し、容量C4は、図40の回路MPの容量C1に相当し、ノードn4は、図40の回路MPのノードn1に相当する。また、配線WXBSは、図40の回路MPの配線WXLに相当し、配線WLBSは、図40の回路MPの配線WLに相当し、配線VFは、図40の回路MPの配線VEに相当する。そのため、図46に示す回路BSの構成については、図40の回路MPの説明の記載を参酌する。
回路MPとしては、例えば、図46に示すとおり、図15Aの回路MPを適用することができる。そのため、図46に示す回路MPの構成については、図15Aの回路MPの説明の記載を参酌する。
図46の回路BSにおいて、回路BMCは、回路BMCrとほぼ同様の回路構成となっている。また、回路MPにおいて、回路MCrは、回路MCとほぼ同様の回路構成となっている。そのため、回路BSrの有する回路素子などには、回路BSの有する回路素子などと区別をするため、符号に「r」を付し、また、回路MCrの有する回路素子などには、回路MCの有する回路素子などと区別をするため、符号に「r」を付している。
回路BSに“正のバイアス”を設定するときは、図40の回路MPの動作と同様に、配線WXBS、配線WLBSに高レベル電位を与えて、トランジスタM12、トランジスタM13、トランジスタM12r、トランジスタM13rをオン状態にすればよい。その後に、図8Aの電流源回路ISCにおいて、当該バイアスに応じた電流を選択し、配線OLと電流源回路ISCとの間を導通状態する。これにより、電流源回路ISCから、配線OL及び回路BMCを介して配線VFに当該電流を流れ、ノードn4の電位は、当該電流に応じた電位となる。また、このとき、配線OLBと配線VCNとの間を導通状態にすることで、回路BMCr側にノードn4rには配線VCNからの電位VSSが与えられるため、ノードn4rの電位はVSSとなる。その後、配線WXBS、配線WLBSに低レベル電位を与えて、トランジスタM12、トランジスタM13、トランジスタM12r、トランジスタM13rをオフ状態にすることで、ノードn4、ノードn4rの電位を保持することができる。これによって、回路BSに“正のバイアス”を設定することができる。
また、回路BSに“負のバイアス”を設定するときは、配線WXBS、配線WLBSに高レベル電位を与えて、トランジスタM12、トランジスタM13、トランジスタM12r、トランジスタM13rをオン状態にする。その後に、図8Aの電流源回路ISCにおいて、当該バイアスに応じた電流を選択し、配線OLBと電流源回路ISCとの間を導通状態する。これにより、電流源回路ISCから、配線OLB及び回路BMCrを介して配線VFrに当該電流を流れ、ノードn4rの電位は、当該電流に応じた電位となる。また、このとき、配線OLと配線VCNとの間を導通状態にすることで、回路BMC側にノードn4には配線VCNからの電位VSSが与えられるため、ノードn4の電位はVSSとなる。その後、配線WXBS、配線WLBSに低レベル電位を与えて、トランジスタM12、トランジスタM13、トランジスタM12r、トランジスタM13rをオフ状態にすることで、ノードn4、ノードn4rの電位を保持することができる。これによって、回路BSに“負のバイアス”を設定することができる。
また、回路BSに“0のバイアス”を設定するときは、配線WXBS、配線WLBSに高レベル電位を与えて、トランジスタM12、トランジスタM13、トランジスタM12r、トランジスタM13rをオン状態にし、配線OL及び配線OLBと配線VCNとの間を導通状態にして、ノードn4、n4rの電位をVSSにする。その後、配線WXBS、配線WLBSに低レベル電位を与えて、トランジスタM12、トランジスタM13、トランジスタM12r、トランジスタM13rをオフ状態にして、ノードn4、ノードn4rのそれぞれの電位VSSを保持することで、回路BSに“0のバイアス”を設定することができる。
また、場合によっては、回路BSにバイアスを設定するとき、ノードn4、ノードn4rのそれぞれにVSS以外の電位を与えてもよい。
回路BSにバイアスを設定した後は、回路MPに第1データ(例えば、ここでは重み係数とする。)を保持し、回路MPに第2データ(例えば、ここではニューロンの信号の値とする。)を与えればよい。具体的には、回路MPに当該重み係数に応じた電流を設定し、回路MPに配線WX1L、配線X2Lのそれぞれから第2データ(ニューロンの信号の値)に応じた電位を与える。更に、回路BSにおいて、配線WXBSを高レベル電位にすることによって、回路MPで計算された第1データ(重み係数)と第2データ(ニューロンの信号の値)との積に、回路BSに設定されたバイアスを与えることができる。
また、先に回路MPに第1データ(重み係数)を保持して、一度、回路MPで第1データ(重み係数)と第2データ(ニューロンの信号の値)との積を計算し、その後にその計算結果に応じて回路BSにバイアスを設定して、再度演算を行ってもよい。つまり、演算結果に応じて適宜バイアスを変更する動作を行ってもよい。
なお、図46の構成例では、配線VF、配線VFr、配線VE、配線VErを図示したが、本発明の一態様は、これに限定されない。例えば、図46の構成において、配線VFと配線VEを一本の配線としてまとめ、配線VFrと配線VErを一本の配線としてまとめてもよい。また、例えば、図16Bの回路MPのとおり、図46の構成において、配線VFと配線VFrを一本の配線としてまとめ、配線VEと配線VErを一本の配線としてまとめてもよい。また、例えば、図46の構成において、配線VF、配線VFr、配線VE、配線VErを一本の配線としてまとめてもよい。例えば、図46の構成において、配線VF、配線VFr、配線VE、配線VErから選ばれた2本以上の配線を一本の配線としてまとめてもよい。
なお、本構成例は、本明細書で示す他の構成例などと適宜組み合わせることができる。
<構成例10>
次に、図10に図示した回路MPに適用できる回路構成の例について説明する。
図47Aに示す回路MPは、例えば、図7の演算回路140に適用できる図10の回路MPの構成例を示している。なお、図47Aの回路MPは、図40に示す回路MPにおいて、トランジスタM3とトランジスタM3rとを1つのトランジスタとしてまとめ、配線VEと配線VErとを1本の配線としてまとめた回路に相当する。具体的には、図40に示している回路MPのトランジスタM3及びトランジスタM3rは、図47Aの回路MPではトランジスタMZとしてまとめられ、図40に示している回路MPの配線VE及び配線VErは、図47Aの回路MPでは配線VEとしてまとめられている。
なお、図47Aの回路MPの回路MCrは、回路MCとほぼ同様の回路構成となっている。そのため、回路MCrの有する回路素子には、回路MCの有する回路素子と区別をするため、符号に「r」を付している。
なお、本明細書などにおいて、トランジスタMZは、特に断りの無い場合は、オン状態の場合は最終的に線形領域で動作する場合を含むものとする。すなわち、上述したそれぞれのトランジスタのゲート電圧、ソース電圧、及びドレイン電圧は、線形領域で動作する範囲での電圧に適切にバイアスされている場合を含むものとする。
また、回路MCは、保持部HCと、トランジスタM20と、を有し、回路MCrは、保持部HCrと、トランジスタM20rと、を有する。
トランジスタM20の第1端子は、トランジスタMZの第1端子に電気的に接続され、トランジスタM20のゲートは、トランジスタM1の第2端子と、容量C1の第1端子と、に電気的に接続され、トランジスタM20の第2端子は、配線OLに電気的に接続されている。容量C1の第2端子は、配線VLに電気的に接続されている。トランジスタM1の第1端子は、配線OLに電気的に接続されている。
また、トランジスタM20rの第1端子は、トランジスタMZの第1端子に電気的に接続され、トランジスタM20rのゲートは、トランジスタM1rの第2端子と、容量C1rの第1端子と、に電気的に接続され、トランジスタM20rの第2端子は、配線OLBに電気的に接続されている。容量C1rの第2端子は、配線VLに電気的に接続されている。トランジスタM1の第1端子は、配線OLBに電気的に接続されている。
配線VLは、一例としては、定電圧を与える配線として機能する。当該定電圧としては、例えば、低レベル電位であるVSS、接地電位(GND)などとすることができる。
図47Aの回路MPに含まれている保持部HC、保持部HCrは、図15Aなどに示している回路MPに含まれている保持部HC、保持部HCrと同様に、重み係数に相当する電流量を設定することができる。具体的には、例えば、保持部HCにおいて、配線XLに所定の電位を与えてトランジスタMZをオン状態にし、配線WLに所定の電位を与えてトランジスタM1をオン状態にして、配線OLから容量C1の第1端子、及びトランジスタM20の第2端子に、重み係数に相当する電流量を流す。このとき、トランジスタM20は、ダイオード接続となっているため、トランジスタM20のゲート-ソース間電圧は、当該電流量(ソース-ドレイン間に流れる電流の量)に応じて定められる。このとき、トランジスタM20のソースの電位は配線VLが与える電位とすると、トランジスタM20のゲートの電位が定められる。ここで、トランジスタM1をオフ状態にすることによって、トランジスタM20のゲートの電位を保持することができる。なお、保持部HCrについても同様に、配線OLBから容量C1rの第1端子、及びトランジスタM20rの第2端子に、重み係数に相当する電流量を流すことによって、当該電流量に応じた電位をトランジスタM20rのゲートに保持することができる。
ここで、例えば、図48の回路MPに設定される重み係数は、保持部HCのトランジスタM20にIutの電流が設定され、保持部HCrのトランジスタM20rに電流が流れないように設定されたときに“+1”とし、保持部HCのトランジスタM20に電流が流れないように設定され、保持部HCrのトランジスタM20rにIutの電流が設定されたときに“-1”とし、保持部HC、保持部HCrのそれぞれのトランジスタM20、トランジスタM20rに電流が流れないように設定されたときに“0”とする。
保持部HC、及び保持部HCrのそれぞれに重み係数に応じた電流が設定されることによって、トランジスタM20及びトランジスタM20rのそれぞれのゲートの電位が定まる。ここで、配線XLに、例えば、ニューロンの信号の値に応じた電位を与えることによって、配線OL、及び/又は配線OLBと回路MPとの間に流れる電流が定まる。例えば、配線XLに“+1”の第2データとして高レベル電位が与えられたとき、配線VLが与える定電圧がトランジスタM20の第1端子と、トランジスタM20rの第1端子と、に与えられる。また、例えば、配線XLに“0”の第2データとして低レベル電位が与えられたとき、配線VLが与える定電圧はトランジスタM20の第1端子と、トランジスタM20rの第1端子と、に与えられない。つまり、トランジスタM20、及びトランジスタM20rには電流が流れない。
ここで、トランジスタM20に電流量としてIutが設定されているとき、トランジスタM20のソースに配線VLからの電位が与えられることで、トランジスタM20の第1端子と第2端子との間に電流量としてIutが流れる。また、トランジスタM20に電流が流れないように設定されているとき、トランジスタM20のソースに配線VLからの電位が与えられても、トランジスタM20の第1端子と第2端子との間には電流が流れない。同様に、トランジスタM20rに電流量としてIutが設定されているとき、トランジスタM20rのソースに配線VLからの電位が与えられることで、トランジスタM20rの第1端子と第2端子との間に電流量としてIutが流れる。また、トランジスタM20rに電流が流れないように設定されているとき、トランジスタM20rのソースに配線VLからの電位が与えられても、トランジスタM20rの第1端子と第2端子との間には電流が流れない。
つまり、上記をまとめると、重み係数とニューロンの信号の値との積が“+1”であるとき、回路MCと配線OLとの間にIutの電流量が流れ、回路MCrと配線OLBとの間に電流が流れない。また、重み係数とニューロンの信号の値との積が“-1”であるとき、回路MCrと配線OLBとの間にIutの電流量が流れ、回路MCと配線OLとの間に電流が流れない。また、重み係数とニューロンの信号の値との積が“0”であるとき、回路MCと配線OLとの間に電流が流れず、回路MCrと配線OLBとの間に電流が流れない。
以上より、図47Aの回路MPは、重み係数が“+1”、“-1”、“0”の3値と、ニューロンの信号(演算値)が“+1”、“0”の2値と、の積を計算することができる。また、図47Aの回路MPは、構成例7で説明した回路MPと同様に、一例として、トランジスタM20、及びトランジスタM20rに設定する電流量を変更することによって、第1データ(重み係数)が“正の多値”、“0”、“負の多値”と、第2データ(ニューロンの信号の値)が“+1”、“0”の2値と、の積を計算することができる。
また、図47Aに示した回路MPは、例えば、図47Bに示した回路MPに変更してもよい。図47Bに示す回路MPは、容量C1の第2端子と、容量C1rの第2端子と、が配線VLでなく、配線CVLに電気的に接続されている点で、図47Aの回路MPと異なる。
配線CVLは、一例として、定電圧を与える配線として機能する。当該定電圧としては、例えば、高レベル電位、低レベル電位、接地電位などとすることができる。
なお、本構成例は、本明細書で示す他の構成例などと適宜組み合わせることができる。
なお、本実施の形態は、本明細書で示す他の実施の形態と適宜組み合わせることができる。
(実施の形態3)
本実施の形態では、多値の第1データ(例えば、重み係数又はニューロンの信号の一方など)と多値の第2データ(例えば、重み係数又はニューロンの信号の他方など)との積和演算を行うことができる半導体装置、又は当該半導体装置の動作方法について説明する。
<動作方法例1>
初めに、上記実施の形態で説明した半導体装置などを用いて、多値の第1データ(例えば、重み係数又はニューロンの信号の一方など)と多値の第2データ(例えば、重み係数又はニューロンの信号の他方など)との積和演算を行う動作方法の一例について説明する。
一例として、図21Aの回路MPを適用した図11の演算回路150の動作方法を考える。また、説明の煩雑さを避けるため、配線OL、配線OLBに流れる電流の変化については、配線OL、配線OLBに電気的に接続されている1個の回路MPのみによって行われるものとする。また、回路MPに電気的に接続されている配線VE、配線VErのそれぞれは、回路MPに対して、定電圧としてVSSを与えるものとする。また、回路AFPに含まれている回路ACTF[1]乃至ACTF[n]のそれぞれは、一例として、積分回路(または、電流電荷(IQ)変換回路)の構成を有する回路ACTFとする。例えば、図6Eの回路ACTF[j]において、負荷LEa、負荷LEbを容量などとした構成としてもよい。
図48Aは、当該動作方法の例を示したタイミングチャートである。具体的には、図48Aのそれぞれは、時刻T11から時刻T15までの間、及びその近傍の時刻における、保持部HCのノードn1の電位と、保持部HCrのノードn1rの電位と、配線WX1Lの電位と、配線OLに流れる電流IOLの電流量と、配線OLBに流れる電流IOLBの電流量と、回路ACTFの積分回路の容量に蓄積される電荷量の変化を示している。特に、図48Aにおいて、配線OLから負荷LEaに含まれている容量に流れる電流によって蓄積される電荷量をQOLと記載し、配線OLBから負荷LEbに含まれている容量に流れる電流によって蓄積される電荷量をQOLBと記載する。
また、図48Aに示すタイミングチャートは、それぞれ時刻T11より前の時刻において、多値の第1データ(例えば、ここでは重み係数とする。)に応じた電流が設定されたものとする。なお、当該電流の設定の方法については、実施の形態2の説明の記載を参酌する。
図48Aのタイミングチャートの動作例では、あらかじめ、回路MPに“+1”の重み係数が設定されているものとする。具体的には、時刻T11より前の時刻において、トランジスタM1に電流量I1が流れるように設定され、また、保持部HCのノードn1にはV1が保持され、保持部HCrのノードn1rにはVSSが保持されているものとする。なお、電位V1は、VSSよりも高い電位とする。また、あらかじめ、スイッチSWH、SWHBをオン状態とし、スイッチSWI、スイッチSWIB、スイッチSWO、スイッチSWOB、スイッチSWL、スイッチSWLBをオフ状態として、配線OL及び配線OLBと配線VCN2との間を導通状態にして、配線OL、配線OLBの電位を高レベル電位としている。
時刻T11以降では、配線OL及び配線OLBと回路AFPとの間を導通状態にするため、図8Aにおいて、スイッチSWO、スイッチSWOBはオン状態になり、スイッチSWI、スイッチSWIB、スイッチSWL、スイッチSWLB、スイッチSWH、スイッチSWHBはオフ状態になるものとする。
時刻T12から時刻T13までの間において、回路MPへの第2データ(例えば、ここではニューロンの信号の値とする。)の入力が行われる。なお、時刻T12から時刻T13までの間の入力時間を、tutとする。この入力時間の長さが、ニューロンの信号の値の大きさに対応する。つまり、この入力時間の長さを変えることにより、演算結果を変えることができるようになる。
図48Aの動作例では、回路MPへの第2データ(ニューロンの信号の値)の入力として、配線WX1Lに高レベル電位、配線X2Lに低レベル電位が入力される。そのため、トランジスタM3、トランジスタM3rのそれぞれのゲートに高レベル電位が入力され、トランジスタM4、トランジスタM4rのそれぞれのゲートに低レベル電位が入力されて、トランジスタM3、トランジスタM3rのそれぞれはオン状態となり、トランジスタM4、トランジスタM4rのそれぞれはオフ状態になる。この動作によって、回路MCと配線OLとの間、及び、回路MCrと配線OLBとの間が導通状態になり、回路MCと配線OLBとの間、及び、回路MCrと配線OLとの間が非導通状態になる。
このとき、トランジスタM1は、電流量をI1とする電流を流すように設定されているため、回路ACTFから、切り替え回路TW、配線OL、回路MCを介して、配線VEに電流量I1の電流が流れる。また、トランジスタM1rは、オフ状態となっているため(電流量として0を流すように設定されているため)、回路ACTFから、切り替え回路TW、配線OLB、回路MCrを介して、配線VErに電流は流れない。
ここで、回路ACTFの積分回路に着目する。時刻T12から時刻T13までの間に第2データ(ニューロンの信号の値)の入力が行われているため、配線OLと導通状態になっている、回路ACTFに含まれている積分回路の容量(負荷LEa)には、時刻T12から時刻T13までの間に電荷が蓄積され続ける。理想的には、時刻T13の時点において、当該容量には、tut×I1の電荷が蓄積される。なお、図48Aのタイミングチャートでは、時刻T12から時刻T13までの間に、当該容量に蓄積された電荷量をQ1と記載している。一方、配線OLBと導通状態となっている、回路ACTFに含まれている積分回路の容量(負荷LEb)には、電荷の蓄積は起こらない。この結果、回路ACTFは、配線OLに流れた電荷量Q1と配線OLBに流れた電荷量0に応じたニューロンの信号zj
(k)を出力することができる。
次に、図48Aのタイミングチャートにおいて、回路MPへのニューロンの信号の入力時間をtutから2tutに変化した場合を考える。図48Bに示すタイミングチャートは、図48Aのタイミングチャートにおいて、回路MPへのニューロンの信号の入力時間をtutから2tutに変化させた場合の動作例を示している。
図48Bのタイミングチャートの時刻T12より前の動作については、図48Aのタイミングチャートの時刻T12より前の動作例と同様である。そのため、図48Bのタイミングチャートの時刻T12より前の動作については、図48Aのタイミングチャートの時刻T12より前の動作の説明を参酌する。
図48Bの動作例の時刻T12から時刻T14までの間において、回路MPへのニューロンの信号の入力が行われる。上述したとおり、時刻T12から時刻T14までの間の入力時間を、2tutとしている。
図48Bの動作例では、図48Aの動作例と同様に、回路MPへの第2データ(ニューロンの信号の値)の入力として、配線WX1Lに高レベル電位、配線X2Lに低レベル電位が入力される。このため、回路ACTFから、切り替え回路TW、配線OL、回路MCを介して、配線VEに電流量I1の電流が流れる。また、回路ACTFから、切り替え回路TW、配線OLB、回路MCrを介して、配線VErに電流は流れない。
時刻T12から時刻T14までの間に第2データ(ニューロンの信号の値)の入力が行われているため、配線OLと導通状態となっている、積分回路の容量(負荷LEa)には、時刻T12から時刻T14までの間に電荷が蓄積され続ける。理想的には、時刻T14の時点において、当該容量には、2tut×I1(=2Q1)の電荷が蓄積される。なお、図48Bのタイミングチャートでは、時刻T12から時刻T14までの間に、当該容量に蓄積された電荷量をQ2と記載している。一方、配線OLBと導通状態となっている、回路ACTFに含まれている積分回路の容量(負荷LEb)には、電荷の蓄積は起こらない。この結果、回路ACTFは、配線OLに流れた電荷量Q2と配線OLBに流れた電荷量0とに応じたニューロンの信号zj
(k)を出力することができる。
次に、図48Aのタイミングチャートにおいて、回路MPに設定されている重み係数を“+1”から“-2”に変更した場合を考える。具体的には、図48Cに示すタイミングチャートは、あらかじめ、時刻T11より前の時刻において、トランジスタM1、M1rに電流I2(=2I1)が流れるように設定され、また、保持部HCrのノードn1rにはV2が保持され、保持部HCのノードn1にはVSSが保持されているものとする。なお、電位V2は、V1及びVSSよりも高い電位とする。
図48Cのタイミングチャートの時刻T12より前の動作については、図48Aのタイミングチャートの時刻T12より前の動作例と同様である。そのため、図48Cのタイミングチャートの時刻T12より前の動作については、図48Aのタイミングチャートの時刻T12より前の動作の説明を参酌する。
図48Cの動作例の時刻T12から時刻T13までの間において、回路MPへのニューロンの信号の入力が行われる。上述したとおり、時刻T12から時刻T13までの間の入力時間を、tutとしている。
図48Cの動作例では、図48Aの動作例と同様に、回路MPへの第2データ(ニューロンの信号の値)の入力として、配線WX1Lに高レベル電位、配線X2Lに低レベル電位が入力される。このため、回路ACTFから、切り替え回路TW、配線OLB、回路MCrを介して、配線VErに電流量I2の電流が流れる。また、回路ACTFから、切り替え回路TW、配線OL、回路MCを介して、配線VEに電流は流れない。
時刻T12から時刻T13までの間に第2データ(ニューロンの信号の値)の入力が行われているため、配線OLBと導通状態となっている、積分回路の容量(負荷LEb)には、時刻T12から時刻T13までの間に電荷が蓄積され続ける。理想的には、時刻T13の時点において、当該容量には、tut×I2(=2tut×I1=2Q1)の電荷が蓄積される。なお、図48Cのタイミングチャートでは、時刻T12から時刻T13までの間に、当該容量に蓄積された電荷量をQ2と記載している。一方、配線OLと導通状態となっている、回路ACTFに含まれている積分回路の容量(負荷LEa)には、電荷の蓄積は起こらない。この結果、回路ACTFは、配線OLに流れた電荷量0と配線OLBに流れた電荷量Q2とに応じたニューロンの信号zj
(k)を出力することができる。
図48A乃至図48Cに示した動作例の通り、第2データ(ニューロンの信号の値)は、回路MPへの第2データの入力期間に応じて定めることができ、入力期間の長さに応じて、回路ACTFから出力される演算結果が決まる。そのため、第2データ(ニューロンの信号の値)を、入力期間の長さ、及び配線WX1L、配線X2Lに印加する電位に応じて定義することによって、回路MPは、3値以上の第2データ(ニューロンの信号の値)を扱うことができ、多値の第1データ(重み係数)と3値以上の第2データ(ニューロンの信号の値)との積和演算、及び/又は活性化関数の演算を行うことができる。
本動作例において、回路MPに入力される第2データ(ニューロンの信号の値)は、一例として、次の通りに定義することができる。配線WX1Lに高レベル電位、配線X2Lに低レベル電位を入力し、かつ入力期間をtutとしたときの第2データ(ニューロンの信号の値)を“+1”とし、配線WX1Lに高レベル電位、配線X2Lに低レベル電位を入力し、かつ入力期間を2tutとしたときの第2データ(ニューロンの信号の値)を“+2”とし、配線WX1Lに高レベル電位、配線X2Lに低レベル電位を入力し、かつ入力期間を3tutとしたときの第2データ(ニューロンの信号の値)を“+3”とする。また、配線WX1Lに低レベル電位、配線X2Lに高レベル電位を入力し、かつ入力期間をtutとしたときの第2データ(ニューロンの信号の値)を“-1”とし、配線WX1Lに高レベル電位、配線X2Lに低レベル電位を入力し、かつ入力期間を2tutとしたときの第2データ(ニューロンの信号の値)を“-2”とし、配線WX1Lに高レベル電位、配線X2Lに低レベル電位を入力し、かつ入力期間を3tutとしたときの第2データ(ニューロンの信号の値)を“-3”とする。また、配線WX1Lに低レベル電位、配線X2Lに低レベル電位を入力したときの第2データ(ニューロンの信号の値)を“0”とする。
回路MPに入力される第2データ(ニューロンの信号の値)を上述の通り、定義することによって、図48Aに示した動作例では、第1データ(重み係数)“+1”と第2データ(ニューロンの信号の値)“+1”との積として、“+1”を算出することができる。また、図48Bに示した動作例では、第1データ(重み係数)“+1”と第2データ(ニューロンの信号の値)“+2”との積として、“+2”を算出することができる。また、図48Cに示した動作例では、第1データ(重み係数)“-2”と第2データ(ニューロンの信号の値)“+1”との積として、“-2”を算出することができる。本動作例において、第1データ(重み係数)を“-2”“-1”“0”“+1”“+2”のいずれか一として、第2データ(ニューロンの信号の値)を“-2”“-1”“0”“+1”“+2”のいずれか一としたときにおける、配線OLに流れた電荷量QOLと配線OLBに流れる電荷量QOLBを下の表に記す。なお、下表において、高レベル電位をhigh、低レベル電位をlowと記載している。
また、本発明の一態様は、上述の定義に限定されない。上述では、第2データ(ニューロンの信号の値)として、正の多値、負の多値、0を定義したが、入力期間を離散的な値でなく連続的な値をとることによって(aを正の実数として、入力期間をa×tutとすることによって)、第2データ(ニューロンの信号の値)をアナログ値として扱うことができる。
また、図48A、図48Bに示した動作例では、回路MPに設定された第1データ(重み係数)を“+1”とし、図48Cに示した動作例では、回路MPに設定された第1データ(重み係数)を“-2”としたが、“+1”“-2”以外の第1データ(重み係数)を用いて計算を行ってもよい。実施の形態1、及び実施の形態2で説明したとおり、回路MPに設定される第1データ(重み係数)は、アナログ値などを設定することができるため、回路ACTFに含まれている積分回路の容量に蓄積される電荷量も、アナログ値などとする第1データ(重み係数)に応じて算出することができる。
また、図48A乃至図48Cに示した動作例では、回路MPは、説明の煩雑さを避けるため、配線OL、配線OLBには1個の回路MPのみが電気的接続されている場合を考えたが、図11の演算回路150のとおり、配線OL、配線OLBには複数の回路MPを電気的に接続してもよい。これにより、配線OL、配線OLBのそれぞれから複数の回路MPに入力された電荷量の合計を、回路ACTFに含まれる積分回路の容量に蓄積することができ、回路ACTFは、配線OL、配線OLBに流れたそれぞれの電荷量に応じたニューロンの信号zj
(k)を出力することができる。なお、図48A乃至図48Cでは、時刻T12から配線WX1Lの電位の変化が開始されている。つまり、図48A乃至図48Cのそれぞれでは、配線WX1Lの電位が高レベル電位となる期間が異なっている場合においても、低レベル電位から高レベル電位へ変化する時刻が同じ(時刻T12)となっているが、本発明の一態様は、これに限定されない。例えば、図48A乃至図48Cのそれぞれの配線WX1Lの電位が高レベル電位となる期間が異なっている場合においても、高レベル電位から低レベル電位へ変化する時刻が、同じになるように動作させてもよい。または、図48A乃至図48Cのそれぞれの配線WX1Lの電位が高レベル電位となる期間が異なっている場合においても、高レベル電位となる期間の中心の時刻が、同じになるように動作させてもよい。
なお、本動作例では、図11の演算回路150を例としたが、状況に応じて、別の演算回路に変更することでも、本動作例と同様の動作を行うことができる。例えば、図47Aの回路MPを図7の演算回路140に適用して、回路AFPに含まれている回路ACTF[1]乃至ACTF[n]のそれぞれが積分回路の構成(または、電流電荷(IQ)変換回路)を有している場合を考える。この場合の回路構成においても、第1データ(重み係数)に応じてトランジスタM8、及びトランジスタM8rのそれぞれに流れる電流量を設定し、第2データ(ニューロンの信号の値)に応じて配線XLに高レベル電位を与える期間を設定することにより、本動作例と同様に、“正の多値”、“負の多値”、“0”のいずれかである第1データと、“正の多値”又は“0”である第2データと、の積を計算することができる。また、第1データ及び/又は第2データをアナログ値として計算を行ってもよい。
なお、本動作方法例は、本明細書で示す他の動作方法例などと適宜組み合わせることができる。
<動作方法例2>
次に、図48A乃至図48Cに示した動作例とは異なる、別の動作方法の例について説明する。
一例として、図48A乃至図48Cと同様に、図21Aの回路MPを適用した図11の演算回路150の動作方法を考える。また、説明の煩雑さを避けるため、配線OL、配線OLBに流れる電流の変化については、配線OL、配線OLBに電気的に接続されている1個の回路MPのみによって行われるものとする。また、回路MPに電気的に接続されている配線VE、配線VErのそれぞれは、回路MPに対して、定電圧としてVSSを与えるものとする。また、回路AFPに含まれている回路ACTF[1]乃至ACTF[n]のそれぞれは、一例として、積分回路(または、電流電荷(IQ)変換回路)の構成を有する回路ACTFとする。例えば、図6Eの回路ACTF[j]において、負荷LEa、負荷LEbを容量などとした構成としてもよい。
図49Aは、当該動作方法の例を示したタイミングチャートである。具体的には、図49Aのそれぞれは、時刻T21から時刻T25までの間、及びその近傍の時刻における、保持部HCのノードn1の電位と、保持部HCrのノードn1rの電位と、配線WX1Lの電位と、配線OLに流れる電流IOLの電流量と、配線OLBに流れる電流IOLBの電流量と、回路ACTFの積分回路の容量に蓄積される電荷量の変化を示している。特に、図49Aにおいて、配線OLから負荷LEaに含まれている容量に流れる電流によって蓄積される電荷量をQOLと記載し、配線OLBから負荷LEbに含まれている容量に流れる電流によって蓄積される電荷量をQOLBと記載する。
また、図49Aに示すタイミングチャートは、それぞれ時刻T21より前の時刻において、多値の第1データ(例えば、ここでは重み係数とする。)に応じた電流が設定されたものとする。なお、当該電流の設定の方法については、実施の形態2の説明の記載を参酌する。
図49Aのタイミングチャートの動作例では、あらかじめ、回路MPに“+1”の第1データ(ここでは、例えば、重み係数とする。)が設定されているものとする。具体的には、時刻T21より前の時刻において、トランジスタM1に電流量I1が流れるように設定され、また、保持部HCのノードn1にはV1が保持され、保持部HCrのノードn1rにはVSSが保持されているものとする。なお、電位V1は、VSSよりも高い電位とする。また、あらかじめ、スイッチSWH、スイッチSWHBをオン状態とし、スイッチSWI、スイッチSWIB、スイッチSWO、スイッチSWOB、スイッチSWL、スイッチSWLBをオフ状態として、配線OL及び配線OLBと配線VCN2との間を導通状態にして、配線OL、配線OLBの電位を高レベル電位としている。
時刻T21以降では、配線OL及び配線OLBと回路AFPとの間を導通状態にするため、図8Aにおいて、スイッチSWO、スイッチSWOBはオン状態になり、スイッチSWI、スイッチSWIB、スイッチSWL、スイッチSWLB、スイッチSWH、スイッチSWHBはオフ状態になるものとする。
時刻T22以降において、回路MPへの第2データ(例えば、ここではニューロンの信号の値とする。)の入力が行われる。なお、図48Aの動作例では、回路MPへの第2データ(ニューロンの信号の値)の入力は、時刻T22から時刻T23までの間と、時刻T23から時刻T24までの間と、時刻T24から時刻T25までの間と、に分けて行われる。具体的には、時刻T22から時刻T23までの間の入力時間をtutとし、時刻T23から時刻T24までの間の入力時間を2tutとし、時刻T24から時刻T25までの間の入力時間を4tutとしている。なお、本明細書などでは、それぞれの期間を第1サブ期間、第2サブ期間、第3サブ期間、と呼称する。
図49Aの動作例では、第1サブ期間と、第3サブ期間において、回路MPへの第2データ(ニューロンの信号の値)の入力として、配線WX1Lに高レベル電位、配線X2Lに低レベル電位が入力される。そのため、トランジスタM3、トランジスタM3rのそれぞれのゲートに高レベル電位が入力され、トランジスタM4、トランジスタM4rのそれぞれのゲートに低レベル電位が入力されて、トランジスタM3、トランジスタM3rのそれぞれはオン状態となり、トランジスタM4、トランジスタM4rのそれぞれはオフ状態になる。この動作によって、回路MCと配線OLとの間、及び、回路MCrと配線OLBとの間が導通状態になり、回路MCと配線OLBとの間、及び、回路MCrと配線OLとの間が非導通状態になる。
このとき、トランジスタM1は、電流量としてI1を流すように設定されているため、第1サブ期間と、第3サブ期間において、回路ACTFから、切り替え回路TW、配線OL、回路MCを介して、配線VEに電流量I1の電流が流れる。なお、第2サブ期間では、配線WX1L、配線X2Lに低レベル電位が入力されて、トランジスタM3、トランジスタM3r、トランジスタM4、トランジスタM4rのそれぞれのゲートに低レベル電位が入力されるため、トランジスタM3、トランジスタM3r、トランジスタM4、トランジスタM4rのそれぞれはオフ状態となり、回路ACTFから、切り替え回路TW、配線OL、回路MCを介して、配線VEに電流は流れない。
また、第1サブ期間と、第2サブ期間と、第3サブ期間において、トランジスタM1rは、オフ状態となっているため(電流量として0を流すように設定されているため)、回路ACTFから、切り替え回路TW、配線OLB、回路MCrを介して、配線VErに電流は流れない。
ここで、回路ACTFの積分回路に着目する。時刻T22以降に第2データ(ニューロンの信号)の入力が行われているため、配線OLと導通状態となっている、回路ACTFに含まれている積分回路の容量(負荷LEa)には、時刻T22以降に電荷が蓄積され続ける。理想的には、第1サブ期間において、当該容量には、tut×I1の電荷が蓄積され、第3サブ期間において、4tut×I1の電荷が蓄積される。なお、図49Aのタイミングチャートでは、第1サブ期間において、当該容量に蓄積された電荷量をQ1とし、第3サブ期間において、当該容量に蓄積された電荷量をQ4としている。そのため、時刻T25以降の当該容量に蓄積された電荷量をQ1+Q4と記載している。一方、配線OLBと導通状態となっている、回路ACTFに含まれている積分回路の容量(負荷LEb)には、電荷の蓄積は起こらない。この結果、回路ACTFは、配線OLに流れた電荷量Q1+Q4(=5Q1)と配線OLBに流れた電荷量0とに応じたニューロンの信号zj
(k)を出力することができる。
次に、図49Aのタイミングチャートにおいて、回路MPへのニューロンの信号の入力を、第1期間及び第3期間から、第2期間に変更した場合を考える。図49Bに示すタイミングチャートは、図49Aのタイミングチャートにおいて、回路MPへのニューロンの信号の入力を、第1期間及び第3期間から、第2期間に変化した場合の動作例を示している。
図49Bのタイミングチャートの時刻T22より前の動作については、図49Aのタイミングチャートの時刻T22より前の動作例と同様である。そのため、図49Bのタイミングチャートの時刻T22より前の動作については、図49Aのタイミングチャートの時刻T22より前の動作の説明を参酌する。
図49Bの動作例の時刻T22以降において、回路MPへのニューロンの信号の入力が行われる。具体的には、上述したとおり、回路MPへのニューロンの信号の入力は、第2サブ期間に行われる。
図49Bの動作例では、第2サブ期間において、回路MPへのニューロンの信号(演算値)の入力として、配線WX1Lに高レベル電位、配線X2Lに低レベル電位が入力される。このため、第2サブ期間では、回路ACTFから、切り替え回路TW、配線OL、回路MCを介して、配線VEに電流量I1の電流が流れる。なお、第1サブ期間と、第3サブ期間では、配線WX1L、配線X2Lに低レベル電位が入力されているため、トランジスタM3、トランジスタM3r、トランジスタM4、トランジスタM4rのそれぞれはオフ状態となり、回路ACTFから、切り替え回路TW、配線OL、回路MCを介して、配線VEに電流は流れない。
また、第1サブ期間と、第2サブ期間と、第3サブ期間において、トランジスタM1rは、オフ状態となっているため(電流量として0を流すように設定されているため)、回路ACTFから、切り替え回路TW、配線OLB、回路MCrを介して、配線VErに電流は流れない。
時刻T22以降に第2データ(ニューロンの信号)の入力が行われているため、配線OLと導通状態となっている積分回路の容量(負荷LEa)には、時刻T22以降に電荷が蓄積され続ける。理想的には、時刻T25の時点において、当該容量には、2tut×I1の電荷が蓄積される。なお、図49Bのタイミングチャートでは、時刻T22以降に当該容量に蓄積された電荷量をQ2と記載している。一方、配線OLBと導通状態となっている、回路ACTFに含まれている積分回路の容量(負荷LEb)には、電荷の蓄積は起こらない。この結果、回路ACTFは、配線OLに流れた電荷量Q2(=2Q1)と配線OLBに流れた電荷量0とに応じたニューロンの信号zj
(k)を出力することができる。
次に、図49Aのタイミングチャートにおいて、回路MPに設定されている重み係数を“+1”から“-2”に変更し、かつ第2データ(ニューロンの信号)の入力を第1サブ期間及び第3サブ期間から、第1サブ期間及び第2サブ期間に変更した場合を考える。
図49Cに示すタイミングチャートは、あらかじめ、時刻T21より前の時刻において、トランジスタM1に電流I2(=2I1)が流れるように設定され、また、保持部HCのノードn1にはV2が保持され、保持部HCrのノードn1rにはVSSが保持されているものとする。なお、電位V2は、V1及びVSSよりも高い電位とする。
図49Cのタイミングチャートの時刻T22より前の動作については、図49Aのタイミングチャートの時刻T22より前の動作例と同様である。そのため、図49Cのタイミングチャートの時刻T22より前の動作については、図49Aのタイミングチャートの時刻T22より前の動作の説明を参酌する。
図49Cの動作例の時刻T22以降において、回路MPへのニューロンの信号の入力が行われる。上述したとおり、回路MPへのニューロンの信号の入力は、第1サブ期間及び第2サブ期間に行われる。
図49Cの動作例では、第1サブ期間及び第2サブ期間において、回路MPへの第2データ(ニューロンの信号の値)の入力として、配線WX1Lに高レベル電位、配線X2Lに低レベル電位が入力される。このため、第1サブ期間及び第2サブ期間では、回路ACTFから、切り替え回路TW、配線OLB、回路MCrを介して、配線VErに電流量I2の電流が流れる。なお、第4サブ期間では、配線WX1L、配線X2Lに低レベル電位が入力されているため、トランジスタM3、トランジスタM3r、トランジスタM4、トランジスタM4rのそれぞれはオフ状態となり、回路ACTFから、切り替え回路TW、配線OLB、回路MCrを介して、配線VErに電流は流れない。
また、第1サブ期間と、第2サブ期間と、第3サブ期間において、トランジスタM1は、オフ状態となっているため(電流量として0を流すように設定されているため)、回路ACTFから、切り替え回路TW、配線OL、回路MCを介して、配線VEに電流は流れない。
時刻T22以降に第2データ(ニューロンの信号)の入力が行われているため、配線OLBと導通状態となっている積分回路の容量(負荷LEb)には、時刻T22以降に電荷が蓄積され続ける。理想的には、時刻T25の時点において、当該容量には、6tut×I1(=tut×2I1+2tut×2I1)の電荷が蓄積される。なお、図49Cのタイミングチャートでは、時刻T25以降に当該容量に蓄積された電荷量を2(Q1+Q2)と記載している。一方、配線OLBと導通状態となっている、回路ACTFに含まれている積分回路の容量(負荷LEa)には、電荷の蓄積は起こらない。この結果、回路ACTFは、配線OLに流れた電荷量0と配線OLBに流れた電荷量2(Q1+Q2)(=6Q1)と、に応じた電荷量Q2に応じたニューロンの信号zj
(k)を出力することができる。
図49A乃至図49Cに示した動作例の通り、第2データ(ニューロンの信号の値)は、回路MPへの第2データ(ニューロンの信号の値)の入力が可能な期間において複数のサブ期間を設けて、複数のサブ期間から一以上の選択された期間に応じて定めることができ、選択された期間に応じて、回路ACTFから出力される演算結果が決まる。そのため、第2データ(ニューロンの信号の値)を、選択されたサブ期間、及び配線WX1L、配線X2Lに印加する電位に応じて定義することによって、回路MPは、3値以上の第2データ(ニューロンの信号の値)を扱うことができ、多値の第1データ(重み係数)と3値以上の第2データ(ニューロンの信号の値)との積和演算、及び/又は活性化関数の演算を行うことができる。
本動作例において、回路MPに入力される第2データ(ニューロンの信号の値)は、一例として、次の通りに定義することができる。第1サブ期間にのみ、配線WX1Lに高レベル電位、配線X2Lに低レベル電位を入力したときの第2データ(ニューロンの信号の値)を“+1”とし、第2サブ期間にのみ、配線WX1Lに高レベル電位、配線X2Lに低レベル電位を入力したときの第2データ(ニューロンの信号の値)を“+2”とし、第3サブ期間にのみ、配線WX1Lに高レベル電位、配線X2Lに低レベル電位を入力したときの第2データ(ニューロンの信号の値)を“+4”とする。第1サブ期間にのみ、配線WX1Lに低レベル電位、配線X2Lに高レベル電位を入力したときの第2データ(ニューロンの信号の値)を“-1”とし、第2サブ期間にのみ、配線WX1Lに低レベル電位、配線X2Lに高レベル電位を入力したときの第2データ(ニューロンの信号の値)を“-2”とし、第3サブ期間にのみ、配線WX1Lに低レベル電位、配線X2Lに高レベル電位を入力したときの第2データ(ニューロンの信号の値)を“-4”とする。また、第1サブ期間、第2サブ期間、第3サブ期間において、配線WX1Lに低レベル電位、配線X2Lに低レベル電位を入力したときの第2データ(ニューロンの信号の値)を“0”とする。
なお、第2データ(ニューロンの信号の値)を“+3”としたい場合、第1サブ期間及び第2サブ期間にのみ、配線WX1Lに高レベル電位、配線X2Lに低レベル電位を入力すればよく、また、第2データ(ニューロンの信号の値)を“+5”としたい場合、第1サブ期間及び第3サブ期間に、配線WX1Lに高レベル電位、配線X2Lに低レベル電位を入力すればよい。また、なお、第2データ(ニューロンの信号の値)を“-6”としたい場合、第2サブ期間及び第3サブ期間にのみ、配線WX1Lに低レベル電位、配線X2Lに高レベル電位を入力すればよく、また、第2データ(ニューロンの信号の値)を“-7”としたい場合、第1サブ期間、第2サブ期間及び第3サブ期間に、配線WX1Lに低レベル電位、配線X2Lに高レベル電位を入力すればよい。
回路MPに入力される第2データ(ニューロンの信号の値)を上述の通り、定義することによって、図49Aに示した動作例では、第1データ(重み係数)“+1”と第2データ(ニューロンの信号の値)“+5”との積として、“+5”を算出することができる。また、図49Bに示した動作例では、第1データ(重み係数)“+1”と第2データ(ニューロンの信号の値)“+2”との積として、“+2”を算出することができる。また、図49Cに示した動作例では、第1データ(重み係数)“-2”と第2データ(ニューロンの信号の値)“+3”との積として、“-6”を算出することができる。
また、本発明の一態様は、上述の定義に限定されない。上述では、第2データ(ニューロンの信号の値)の入力可能な期間として、第1サブ期間、第2サブ期間、第3サブ期間を設けたが、4つ以上のサブ期間を設けてもよい。例えば、第2データ(ニューロンの信号の値)の入力可能な期間を第1サブ期間乃至第Tサブ期間(Tは4以上の整数である。)に分けて、第sサブ期間(sは4以上T以下の整数である。)の長さを2(s-1)×tutと定めればよい。また、例えば、第2データ(ニューロンの信号の値)の入力可能な期間を第1サブ期間乃至第Tサブ期間(Tは4以上の整数である。)に分けて、第sサブ期間(sは4以上T以下の整数である。)の長さをs×tutと定めてもよい。また、例えば、第1サブ期間にのみ、配線WX1Lに高レベル電位、配線X2Lに低レベル電位を入力したときの第2データ(ニューロンの信号の値)を“+0.1”とし、第2サブ期間にのみ、配線WX1Lに高レベル電位、配線X2Lに低レベル電位を入力したときの第2データ(ニューロンの信号の値)を“+0.2”とし、第3サブ期間にのみ、配線WX1Lに高レベル電位、配線X2Lに低レベル電位を入力したときの第2データ(ニューロンの信号の値)を“+0.4”とするなど、第2データ(ニューロンの信号の値)を実数として定義してもよい。
また、図49A、図49Bに示した動作例では、回路MPに設定された第1データ(重み係数)を“+1”とし、図49Cに示した動作例では、回路MPに設定された第1データ(重み係数)を“+2”としたが、“+1”、“+2”以外の第1データ(重み係数)を用いて計算を行ってもよい。実施の形態1、及び実施の形態2で説明したとおり、回路MPに設定される第1データ(重み係数)は、負の値、多値、アナログ値などを設定することができるため、回路ACTFに含まれている積分回路の容量に蓄積される電荷量も、負の値、多値、アナログ値などとする第1データ(重み係数)に応じて算出することができる。
また、図49A乃至図49Cに示した動作例では、回路MPは、説明の煩雑さを避けるため、配線OL、配線OLBには1個の回路MPのみが電気的接続されている場合を考えたが、図11の演算回路150のとおり、配線OL、配線OLBには複数の回路MPを電気的に接続してもよい。これにより、配線OL、配線OLBのそれぞれから複数の回路MPに入力された電荷量の合計を、回路ACTFに含まれる積分回路の容量に蓄積することができ、回路ACTFは、配線OL、配線OLBに流れたそれぞれの電荷量に応じたニューロンの信号zj
(k)を出力することができる。
また、図49A乃至図49Cの動作例のとおり、第2データ(ニューロンの信号の値)の入力可能な期間として、複数のサブ期間を設けて、複数のサブ期間から1つ以上を選択して、選択された期間に信号を入力する構成としては、例えば、それぞれのサブ期間の長さを、回路設計の段階からあらかじめ決めることが好ましい。このような回路構成にすることにより、図48A乃至図48Cの動作例に求められる回路構成よりも、演算回路を簡易的及び/又は効率的にレイアウトできる場合がある。
なお、本動作例では、図11の演算回路150を例としたが、状況に応じて、別の演算回路に変更することでも、本動作例と同様の動作を行うことができる。
なお、本動作方法例は、本明細書で示す他の動作方法例などと適宜組み合わせることができる。
<動作方法例3>
ここでは、図50の回路MPを適用した図11の演算回路150の動作方法について、説明する。
動作方法例1及び動作方法例2と同様に、説明の煩雑さを避けるため、配線OL、配線OLBに流れる電流の変化については、配線OL、配線OLBに電気的に接続されている1個の回路MPのみによって行われるものとする。また、回路MPに電気的に接続されている配線VE、配線VErのそれぞれは、回路MPに対して、定電圧としてVSSを与えるものとする。また、回路AFPに含まれている回路ACTF[1]乃至ACTF[n]のそれぞれは、一例としては、積分回路(または、電流電荷(IQ)変換回路)の構成を有する回路ACTFとする。例えば、図6Eの回路ACTF[j]において、負荷LEa、負荷LEbを容量などとした構成としてもよい。
図50は、図26に示した回路MPと同様の回路構成を示している。但し、トランジスタM1、トランジスタM1r、トランジスタM1-2b、トランジスタM1-2br、トランジスタM1-3b、トランジスタM1-3brのそれぞれのサイズ、例えば、W長とL長は等しいことが好ましい。また、本動作方法の例は、実施の形態2で説明した図26の回路MPの動作例と異なる。
具体的には、回路MPに第2データ(例えば、ここではニューロンの信号の値とする。)を入力する際において、配線WX1L、又は配線X2Lの一方への高レベル電位の入力時間をtutとしたとき、配線X1L2b、又は配線X2L2bの一方への高レベル電位の入力時間は2tutとし、配線X1L3b、又は配線X2L3bの一方への高レベル電位の入力時間は4tutとして動作させるものとする。つまり、トランジスタM3、トランジスタM3rがオン状態、又はトランジスタM4、トランジスタM4rがオン状態となる時間がtutとしたとき、トランジスタM3-2b、トランジスタM3-2brがオン状態、又はトランジスタM4-2b、トランジスタM4-2brがオン状態となる時間を2tutとなり、トランジスタM3-3b、トランジスタM3-3brがオン状態、又はトランジスタM4-3b、トランジスタM4-3brがオン状態となる時間を4tutとなるように動作させる。そのため、図50の回路MPには、図26の回路MPと動作が異なることを示すため、配線WX1L、配線X2L、配線X1L2b、配線X2L2b、配線X1L3b、配線X2L3bの符号の付近に、パルス電圧の模式図と入力時間を図示している。
動作方法例1、動作方法例2で説明したとおり、回路MPに第1データ(例えば、ここでは重み係数とする。)を設定して、かつトランジスタM3、又はトランジスタM4がオン状態となる時間を定めることによって、配線OL又は配線OLBから、トランジスタM1を介して配線VEに流れる電荷量が決まる。また、回路MPに第1データ(重み係数)を設定して、トランジスタM3r、又はトランジスタM4rがオン状態となる時間を定めることによって、配線OL又は配線OLBから、トランジスタM1rを介して配線VErに流れる電荷量が決まる。
同様に、配線OL又は配線OLBから、トランジスタM1-2bを介して配線VEに流れる電荷量と、配線OL又は配線OLBから、トランジスタM1-2brを介して配線VErに流れる電荷量と、についても、トランジスタM3-2b、トランジスタM3-2br、トランジスタM4-2b、トランジスタM4-2brのそれぞれにおいて、オン状態となる時間を定めることによって決まる。また、配線OL又は配線OLBから、トランジスタM1-3bを介して配線VEに流れる電荷量と、配線OL又は配線OLBから、トランジスタM1-3brを介して配線VErに流れる電荷量と、についても、トランジスタM3-3b、トランジスタM3-3br、トランジスタM4-3b、トランジスタM4-3brのそれぞれにおいて、オン状態となる時間を定めることによって決まる。
そのため、回路MPに第2データ(ニューロンの信号の値)を次の表の通りに定義することができる。
ここで、例えば、回路MPには、あらかじめ、“+1”の第1データ(重み係数)が設定されているものとする。具体的には、トランジスタM1には電流量I1が流れるように設定されているものとし、かつトランジスタM1r、トランジスタM1-2br、トランジスタM1-3brはオフ状態になっているものとする。
回路MCにおいて、トランジスタM1、トランジスタM1-2b、トランジスタM1-3bのそれぞれのサイズが等しく、トランジスタM1、トランジスタM1-2b、トランジスタM1-3bのそれぞれのゲートが保持部HCのノードn1に電気的に接続され、トランジスタM1、トランジスタM1-2b、トランジスタM1-3bのそれぞれの第1端子が配線VEに電気的に接続されているため、トランジスタM1、トランジスタM1-2b、トランジスタM1-3bのそれぞれのソース-ドレイン間には互いにほぼ等しい電流が流れる。当該電流の量をIutとする。
回路MPに第2データ(ニューロンの信号の値)として“+7”が入力されている場合、トランジスタM3が時間tutだけオン状態、トランジスタM4がオフ状態となることで、配線OLから、トランジスタM1を介して配線VEに流れる電荷量は、tut×Iutとなる。なお、ここで、tut×Iut=Qutとする。また、同様に、トランジスタM3-2bが時間2tutだけオン状態、トランジスタM4-2bがオフ状態となることで、配線OLから、トランジスタM1-2bを介して配線VEに流れる電荷量は、2tut×Iut=2Qutとなり、トランジスタM3-3bが時間4tutだけオン状態、トランジスタM4-3bがオフ状態となることで、配線OLから、トランジスタM1-3bを介して配線VEに流れる電荷量は、4tut×Iut=4Qutとなる。そのため、配線OLから、回路MCを介して配線VEに流れる電荷量は、Qut+2Qut+4Qut=7Qutとなる。一方、配線OLBから、回路MCrを介して配線VErに流れる電荷量は、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brがオフ状態であるため、0となる。
なお、回路MPに第2データ(ニューロンの信号の値)として“-7”が入力されている場合、配線OLBと回路MCとの間、配線OLと回路MCrとの間がそれぞれ導通状態となり、配線OLと回路MCrとの間、配線OLと回路MCとの間が非導通状態となるため、配線OLBから、回路MCを介して配線VEに流れる電荷量がQut+2Qut+4Qut=7Qutとなり、配線OLから、回路MCrを介して配線VErに流れる電荷量が、0となる。
また、例えば、回路MPには、あらかじめ、“-1”の第1データ(重み係数)が設定されているものとする。具体的には、トランジスタM1rには電流量I1が流れるように設定されているものとし、かつトランジスタM1、トランジスタM1-2b、トランジスタM1-3bはオフ状態になっているものとする。
回路MCrにおいて、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brのそれぞれのサイズが等しく、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brのそれぞれのゲートが保持部HCrのノードn1rに電気的に接続され、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brのそれぞれの第1端子が配線VErに電気的に接続されているため、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brのそれぞれのソース-ドレイン間には互いにほぼ等しい電流が流れる。トランジスタM1のソース-ドレイン間に流れる電流と同様に、当該電流の量をIutとする。
回路MPに第2データ(ニューロンの信号の値)として“+7”が入力されている場合、トランジスタM3rが時間tutだけオン状態、トランジスタM4rがオフ状態となることで、配線OLBから、トランジスタM1rを介して配線VErに流れる電荷量は、tut×Iut=Qutとなる。また、同様に、トランジスタM4-2brが時間2tutだけオン状態、トランジスタM3-2brがオフ状態となることで、配線OLBから、トランジスタM1-2brを介して配線VErに流れる電荷量は、2tut×Iut=2Qutとなり、トランジスタM4-3brが時間4tutだけオン状態、トランジスタM3-3brがオフ状態となることで、配線OLBから、トランジスタM1-3brを介して配線VErに流れる電荷量は、4tut×Iut=4Qutとなる。そのため、配線OLBから、回路MCrを介して配線VErに流れる電荷量は、Qut+2Qut+4Qut=7Qutとなる。一方、配線OLから、回路MCを介して配線VEに流れる電荷量は、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brがオフ状態であるため、0となる。
なお、回路MPに第2データ(ニューロンの信号の値)として“-7”が入力されている場合、配線OLBと回路MCとの間、配線OLと回路MCrとの間がそれぞれ導通状態となり、配線OLと回路MCrとの間、配線OLと回路MCとの間が非導通状態となるため、配線OLから、回路MCrを介して配線VErに流れる電荷量がQut+2Qut+4Qut=7Qutとなり、配線OLBから、回路MCを介して配線VEに流れる電荷量が、0となる。
このため、回路MPに“+1”の第1データ(重み係数)を設定し、正の第2データ(ニューロンの信号の値)に応じて、回路MPに含まれているトランジスタM3、トランジスタM3-2b、トランジスタM3-3bから、オン状態にするトランジスタを一つ以上選択することによって、配線OLから、回路MCを介して配線VEに流れる電荷量を、Qut、2Qut、3Qut、4Qut、5Qut、6Qut、7Qutのいずれか一とすることができる。なお、このとき、配線OLBから、回路MCrを介して、配線VErに流れる電荷量は0となる。また、回路MPに“-1”の第1データ(重み係数)を設定し、正の第2データ(ニューロンの信号の値)に応じて、回路MPに含まれているトランジスタM3r、トランジスタM3-2br、トランジスタM3-3brから、オン状態にするトランジスタを一つ以上選択することによって、配線OLBから、回路MCrを介して配線VErに流れる電荷量を、Qut、2Qut、3Qut、4Qut、5Qut、6Qut、7Qutのいずれか一とすることができる。なお、このとき、配線OLから、回路MCを介して、配線VEに流れる電荷量は0となる。
また、回路MPに“+1”の第1データ(重み係数)を設定し、負の第2データ(ニューロンの信号の値)に応じて、回路MPに含まれているトランジスタM4、トランジスタM4-2b、トランジスタM4-3bから、オン状態にするトランジスタを一つ以上選択することによって、配線OLBから、回路MCを介して配線VEに流れる電荷量を、Qut、2Qut、3Qut、4Qut、5Qut、6Qut、7Qutのいずれか一とすることができる。なお、このとき、配線OLから、回路MCrを介して、配線VErに流れる電荷量は0となる。また、回路MPに“-1”の第1データ(重み係数)を設定し、負の第2データ(ニューロンの信号の値)に応じて、回路MPに含まれているトランジスタM4r、トランジスタM4-2br、トランジスタM4-3brから、オン状態にするトランジスタを一つ以上選択することによって、配線OLから、回路MCrを介して配線VErに流れる電荷量を、Qut、2Qut、3Qut、4Qut、5Qut、6Qut、7Qutのいずれか一とすることができる。なお、このとき、配線OLBから、回路MCを介して、配線VEに流れる電荷量は0となる。
また、例えば、回路MPに設定されている第1データ(重み係数)を“+1”から正の整数である“A”に変更したとする。具体的には、トランジスタM1には電流量IA(=AI1)が流れるように設定されているものとし、かつトランジスタM1r、トランジスタM1-2br、トランジスタM1-3brはオフ状態になっているものとする。このとき、トランジスタM1-2b、トランジスタM1-3bのそれぞれのソース-ドレイン間に流れる電流量もIAとなる。このため、第2データ(ニューロンの信号の値)に応じて、回路MPに含まれているトランジスタM3、トランジスタM3-2b、トランジスタM3-3bから、オン状態にするトランジスタを一つ以上選択することによって、配線OLから、回路MCを介して配線VEに流れる電荷量は、AQut、2AQut、3QAut、4AQut、5AQut、6AQut、7AQutのいずれか一となる。また、“A”を負の整数としたとき、配線OLBから、回路MCrを介して配線VErに、AQut、2AQut、3QAut、4AQut、5AQut、6AQut、7AQutのいずれか一の電荷量が流れることになるとなる。
なお、回路MPには、あらかじめ、“0”の第1データ(重み係数)が設定されている場合、トランジスタM1、トランジスタM1rのそれぞれはオフ状態になっているものとする。そのため、配線OL又は配線OLBから、回路MCを介して配線VEに電流は流れず、配線OL又は配線OLBから、回路MCrを介して配線VErに電流は流れない。換言すると、配線OL、配線OLBのそれぞれに流れる電荷量は0ということができる。
ここで、回路ACTFの積分回路に着目する。配線OL又は配線OLBから、回路MCを介して配線VEに電流が流れるとき、又は、配線OL又は配線OLBから、回路MCrを介して配線VErに電流が流れるとき、図8Aにおいて、スイッチSWO、SWOBはオン状態にし、スイッチSWI、スイッチSWIB、スイッチSWL、スイッチSWLB、スイッチSWH、スイッチSWHBはオフ状態にして、配線OL及びOLBと回路AFPとの間を導通状態にすることで、回路ACTFに含まれている積分回路の容量に配線OL、配線OLBに流れる電荷量を蓄積することができる。この結果、回路ACTFは、配線OLに流れた電荷量QOLと配線OLBに流れた電荷量QOLBに応じたニューロンの信号zj
(k)を出力することができる。
上述の動作例より、第1データ(重み係数)を“+1”又は“-1”として、第2データ(ニューロンの信号の値)を上述の通りに定義した場合の、配線OLに流れた電荷量QOLと配線OLBに流れた電荷量QOLBを下の表に記載する。
上記の通り、第1データ(重み係数)と、第2データ(ニューロンの信号の値)を定めることにより、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積の結果に応じて、配線OLから回路MC又は回路MCrに電流が流れる電荷量QOL、及び配線OLBから回路MC又は回路MCrに電流が流れる電荷量QOLBが決まる。また、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積の結果が正の値の場合、配線OLから回路MC又は回路MCrに電流が流れ、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積の結果が負の値の場合、配線OLBから回路MC又は回路MCrに電流が流れる。つまり、電荷量QOL、及び電荷量QOLBから、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積を算出することができる。例えば、第1データ(重み係数)を“-1”又は“+1”とし、第2データ(ニューロンの信号の値)を“-7”乃至“+7”のいずれか一し、かつ、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積が正の数である場合、上述の表において、配線OLから回路MC又は回路MCrに電流が流れる電荷量QOLにおいて、Qutを“+1”に置き換えることで、電荷量QOLから第1データ(重み係数)と第2データ(ニューロンの信号の値)との積を求めることができる。また、例えば、第1データ(重み係数)を“-1”又は“+1”とし、第2データ(ニューロンの信号の値)を“-7”乃至“+7”のいずれか一し、かつ、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積が負の数である場合、上述の表において、配線OLから回路MC又は回路MCrに電流が流れる電荷量QOLBにおいて、Qutを“-1”に置き換えることで、電荷量QOLBから第1データ(重み係数)と第2データ(ニューロンの信号の値)との積を求めることができる。
なお、上述の動作例では、回路MPに設定された第1データ(重み係数)を“+1”“-1”としたが、“0”やアナログ値などの第1データ(重み係数)を用いて計算してもよい。これにより、回路MPは、2値や多値、アナログ値などの第1データ(重み係数)と多値の第2データ(ニューロンの信号の値)との積和演算、及び/又は活性化関数の演算を行うことができる。
また、本発明の一態様は、上述の定義に限定されない。上述では、第2データ(ニューロンの信号の値)として、正の多値、負の多値、0を定義したが、例えば、入力期間を離散的な値でなく連続的な値をとることによって(aを正の実数として、入力期間をa×tutとすることによって)、第2データ(ニューロンの信号の値)をアナログ値として扱うことができる。
また、例えば、トランジスタM3、トランジスタM3rがオン状態、又はトランジスタM4、トランジスタM4rがオン状態となる時間をtutとし、トランジスタM3-2b、トランジスタM3-2brがオン状態、又はトランジスタM4-2b、トランジスタM4-2brがオン状態となる時間を2tutとし、トランジスタM3-3b、トランジスタM3-3brがオン状態、又はトランジスタM4-3b、トランジスタM4-3brがオン状態となる時間を4tutとしたとき、配線WX1Lに高レベル電位、配線X2Lに低レベル電位が入力され、かつ配線X1L2b、配線X2L2b、配線X1L3b、配線X2L3bに低レベル電位が入力されたときの第2データ(ニューロンの信号の値)を“+1”ではなく“+0.1”などの実数として定義してもよい。
また、本発明の一態様の半導体装置は、図50の回路MPの構成に限定されない。例えば、図50の回路MPでは、電流量を設定するトランジスタとして、回路MC内には、トランジスタM1、トランジスタM1-2b、トランジスタM1-3bの3個とし、回路MCr内は、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brの3個としたが、回路MC、回路MCrのそれぞれにおいて、電流量を設定するトランジスタは2個でもよいし、4個以上としてもよい。
また、本発明の一態様の半導体装置及び当該半導体装置の動作方法は、上述に限定されない。上述では、図50の回路MPのトランジスタM1、トランジスタM1r、トランジスタM1-2b、トランジスタM1-2br、トランジスタM1-3b、トランジスタM1-3brのそれぞれのサイズを等しいものとして説明したが、例えば、トランジスタM1、トランジスタM1r、トランジスタM1-2b、トランジスタM1-2brのW長とL長との比をW/Lとし、トランジスタM1-3b、トランジスタM1-3brのW長とL長との比を2W/Lとしてもよい。このとき、トランジスタM1のソース-ドレイン間に電流量としてI1の電流が流れるように設定することによって、トランジスタM1-2bのW長とL長の比と、トランジスタM1-3bのW長とL長の比と、のそれぞれはトランジスタM1のW長とL長の比の2倍であるため、トランジスタM1-2b、トランジスタM1-3bのそれぞれのソース-ドレイン間には電流量として2I1が流れる。同様に、トランジスタM1rのソース-ドレイン間に電流量としてI1の電流が流れるように設定することによって、トランジスタM1-2brのW長とL長の比と、トランジスタM1-3brのW長とL長の比と、のそれぞれはトランジスタM1rのW長とL長の比の2倍であるため、トランジスタM1-2br、トランジスタM1-3brのそれぞれのソース-ドレイン間には電流量として2I1が流れる。
ここで、トランジスタM3、トランジスタM3rがオン状態、又はトランジスタM4、トランジスタM4rがオン状態となる時間をtutとし、トランジスタM3-2b、トランジスタM3-2brがオン状態、又はトランジスタM4-2b、トランジスタM4-2brがオン状態となる時間を2tutとし、トランジスタM3-3b、トランジスタM3-3brがオン状態、又はトランジスタM4-3b、トランジスタM4-3brがオン状態となる時間を2tutとする。つまり、回路MPに第2データ(ニューロンの信号の値)入力する際において、配線WX1L、又は配線X2Lの一方への高レベル電位の入力時間はtutとし、配線X1L2b、又は配線X2L2bの一方への高レベル電位の入力時間は2tutとし、配線X1L3b、又は配線X2L3bの一方への高レベル電位の入力時間は2tutとする。図51の回路MPには、配線WX1L、配線X2L、配線X1L2b、配線X2L2b、配線X1L3b、配線X2L3bの符号の付近に、図50とは異なる、パルス電圧の模式図と入力時間を示している。
トランジスタM1のソース-ドレイン間に電流量としてIutの電流が流れるように設定されたとき、トランジスタM3-3b又はトランジスタM4-3bの一方が時間2tutだけオン状態、トランジスタM3-3b又はトランジスタM4-3bの他方がオフ状態となることで、配線OL又は配線OLBから、トランジスタM1-3bを介して配線VEに流れる電荷量は、2tut×2Iut=4Qutとなる。なお、配線OLからトランジスタM1を介して配線VEに流れる電荷量と、配線OLからトランジスタM1-2bを介して配線VEに流れる電荷量と、については上述の動作例と条件が同じであるため、説明を省略する。
また、トランジスタM1rのソース-ドレイン間に電流量としてIutの電流が流れるように設定されたとき、トランジスタM3-3br又はトランジスタM4-3brの一方が時間2tutだけオン状態、トランジスタM3-3br又はトランジスタM4-3brの他方がオフ状態となることで、配線OL又は配線OLBから、トランジスタM1-3brを介して配線VEに流れる電荷量は、2tut×2Iut=4Qutとなる。なお、配線OL又は配線OLBからトランジスタM1rを介して配線VErに流れる電荷量と、配線OL又は配線OLBからトランジスタM1-2brを介して配線VErに流れる電荷量と、については上述の動作例と条件が同じであるため、説明を省略する。
上述の通り、トランジスタM1、トランジスタM1r、トランジスタM1-2b、トランジスタM1-2br、トランジスタM1-3b、トランジスタM1-3brのそれぞれのサイズと、配線WX1L、配線X2L、配線X1L2b、配線X2L2b、配線X1L3b、配線X2L3bのそれぞれへの高レベル電位の入力時間と、を適切に変更することによって、図50に示した回路MPの動作例と同様に、動作することができる。
また、本発明の一態様の半導体装置は、図50、図51の回路MPの構成に限定されない。例えば、図50の回路MPでは、電流量を設定するトランジスタとして、回路MC内には、トランジスタM1、トランジスタM1-2b、トランジスタM1-3bの3個とし、回路MCr内は、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brの3個としたが、回路MC、回路MCrのそれぞれにおいて、電流量を設定するトランジスタは2個、又は4個以上としてもよい。また、当該トランジスタに応じて、保持部の個数、配線の数も増減してもよい。
また、本発明の一態様の半導体装置の動作方法は、上述の動作方法に限定されない。例えば、動作方法例2で説明した通り、配線WX1L、配線X2L、配線X1L2b、配線X2L2b、配線X1L3b、配線X2L3bのそれぞれに入力される信号の入力期間を、複数のサブ期間に分けてもよい。
また、本動作方法例では、回路MPは、説明の煩雑さを避けるため、配線OL、配線OLBには1個の回路MPのみが電気的接続されている場合を考えたが、図11の演算回路150のとおり、配線OL、配線OLBには複数の回路MPを電気的に接続してもよい。これにより、配線OL、配線OLBのそれぞれから複数の回路MPに入力された電荷量の合計を、回路ACTFに含まれる積分回路の容量に蓄積することができ、回路ACTFは、配線OL、配線OLBに流れたそれぞれの電荷量に応じたニューロンの信号zj
(k)を出力することができる。
なお、本動作例では、図11の演算回路150を例としたが、状況に応じて、別の演算回路に変更することでも、本動作例と同様の動作を行うことができる。
なお、本動作方法例は、本明細書で示す他の動作方法例などと適宜組み合わせることができる。
<動作方法例4>
ここでは、図52の回路MPを適用した図11の演算回路150の動作方法について、説明する。
動作方法例1乃至動作方法例3と同様に、説明の煩雑さを避けるため、配線OL、配線OLBに流れる電流の変化については、配線OL、配線OLBに電気的に接続されている1個の回路MPのみによって行われるものとする。また、回路MPに電気的に接続されている配線VE、配線VErのそれぞれは、回路MPに対して、定電圧としてVSSを与えるものとする。また、回路AFPに含まれている回路ACTF[1]乃至回路ACTF[n]のそれぞれは、一例としては、積分回路(または、電流電荷(IQ)変換回路)の構成を有する回路ACTFとする。例えば、図6Eの回路ACTF[j]において、負荷LEa、負荷LEbを容量などとした構成としてもよい。
図52は、図27に示した回路MPにおいて、トランジスタM1-3b、トランジスタM1-3br、トランジスタM3-3b、トランジスタM3-3br、トランジスタM4-3b、トランジスタM4-3br、保持部HC-3b、保持部HC-3brを除いた構成となっている。また、そのため、配線WX1L3b、配線X2L2b、配線WL3bも図27から除いている。また、トランジスタM1、トランジスタM1r、トランジスタM1-2b、トランジスタM1-2brのそれぞれのサイズ、例えば、W長とL長は等しいことが好ましい。また、本動作方法の例は、実施の形態2で説明した図26の回路MPの動作例と異なる。
具体的には、回路AFPから回路MPに電流が流れる際において、配線WX1L、又は配線X2Lの一方への高レベル電位の入力時間はtutとして、配線X1L2b、又は配線X2L2bの一方への高レベル電位の入力時間は2tutとして動作させるものとする。つまり、トランジスタM3、トランジスタM3rがオン状態、又はトランジスタM4、トランジスタM4rがオン状態となる時間をtutとしたとき、トランジスタM3-2b、トランジスタM3-2brがオン状態、又はトランジスタM4-2b、トランジスタM4-2brがオン状態となる時間を2tutとなるように動作させる。そのため、図52の回路MPには、図27の回路MPと動作が異なることを示すため、配線WX1L、配線X2L、配線X1L2b、配線X2L2bの符号の付近に、パルス電圧の模式図と入力時間を図示している。
動作方法例1、動作方法例2で説明したとおり、回路MPに第1データ(例えば、ここでは重み係数とする。)を設定して、かつトランジスタM3、又はトランジスタM4がオン状態となる時間を定めることによって、配線OL又は配線OLBから、トランジスタM1を介して配線VEに流れる電荷量が決まる。また、回路MPに第1データ(重み係数)を設定して、トランジスタM3r、又はトランジスタM4rがオン状態となる時間を定めることによって、配線OL又は配線OLBから、トランジスタM1rを介して配線VErに流れる電荷量が決まる。
同様に、配線OL又は配線OLBから、トランジスタM1-2bを介して配線VEに流れる電荷量と、配線OL又は配線OLBから、トランジスタM1-2brを介して配線VErに流れる電荷量と、についてもトランジスタM3-2b、トランジスタM3-2br、トランジスタM4-2b、トランジスタM4-2brのそれぞれがオン状態となる時間を定めることによって決まる。
ところで、図52の保持部HC、保持部HC-2bのそれぞれには、デジタル値(2値)として、VSS、又はV1が保持されるものとする。保持部HC、保持部HC-2bのそれぞれへの電位VSSの保持は、図8における配線VCNと、図52の保持部HCのノードn1及び/又は保持部HC-2bのノードn1と、を導通状態にすることによって行われる。また、保持部HC、保持部HC-2bのそれぞれへの電位V1の保持は、トランジスタM1及び/又はトランジスタM1-2bのそれぞれのソース-ドレイン間に電流を電流量I1として設定を行うことによって行われるものとする。なお、トランジスタM1、M1-2bのそれぞれに電流量I1として設定したとき、トランジスタM1、M1-2bの作製工程などを起因とするトランジスタ特性のばらつきによって、保持部HC、HC-2bのそれぞれに保持されている電圧は互いに異なる場合がある。
保持部HCr、保持部HC-2brのそれぞれには、上述と同様に、デジタル値(2値)として、VSS、又はV1が保持されるものとする。
ここで、回路MPに設定される第1データ(重み係数)について定義する。
一例として、回路MPに第1データ(重み係数)として“+1”を設定する場合、トランジスタM1において電流量I1が流れるように設定し、保持部HC-2b、保持部HCr、保持部HC-2brにはVSSを保持するものとする。トランジスタM1の第1端子は、トランジスタM3を介して配線OLに電気的に接続され、トランジスタM4を介して配線OLBに電気的に接続されているため、配線WX1L、又は配線X2Lの一方に高レベル電位が入力されている場合、配線OL又は配線OLBからトランジスタM1を介して、配線VEに流れる電荷量はtut×I1(=Qut)となる。ここで、tut×I1=Qutとする。なお、トランジスタM1r、トランジスタM1-2b、トランジスタM1-2brはオフ状態となるため、トランジスタM1r、トランジスタM1-2b、トランジスタM1-2brのそれぞれのソース-ドレイン間に流れる電流量は0となる。
また、回路MPに第1データ(重み係数)として“+2”を設定する場合、トランジスタM1-2bにおいて電流量I1が流れるように設定し、保持部HC、保持部HCr、保持部HC-2brにはVSSを保持するものとする。トランジスタM1-2bの第1端子は、トランジスタM3-2bを介して配線OLに電気的に接続され、トランジスタM4-2bを介して配線OLBに電気的に接続されているため、配線X1L2b、又は配線X2L2bの一方に高レベル電位が入力されている場合、配線OL又は配線OLBからトランジスタM1-2bを介して、配線VEに流れる電荷量は2tut×I1=2Qutとなる。なお、トランジスタM1、トランジスタM1r、トランジスタM1-2brはオフ状態となるため、トランジスタM1、トランジスタM1r、トランジスタM1-2brのそれぞれのソース-ドレイン間に流れる電流量は0となる。
また、回路MPに第1データ(重み係数)として“+3”を設定する場合、トランジスタM1、トランジスタM1-2bにおいて電流量I1が流れるように設定し、保持部HCr、保持部HC-2brにはVSSを保持するものとする。上述より、配線WX1L、又は配線X2Lの一方に高レベル電位が入力されている場合、配線OL又は配線OLBからトランジスタM1を介して、配線VEに流れる電荷量はtut×I1となり、配線X1L2b、又は配線X2L2bの一方に高レベル電位が入力されている場合、配線OL又は配線OLBからトランジスタM1を介して、配線VEに流れる電荷量は2tut×I1となる。このため、配線OL又は配線OLBから回路MCを介して配線VEに流れる電荷量は、tut×I1+2tut×I1=3Qutとなる。なお、トランジスタM1r、トランジスタM1-2brはオフ状態となるため、トランジスタM1r、トランジスタM1-2brのそれぞれのソース-ドレイン間に流れる電流量は0となる。
また、第1データ(重み係数)を“-1”とする場合、トランジスタM1rにおいて電流量I1が流れるように設定し、保持部HC、保持部HC-2b、保持部HC-2brにはVSSを保持するものとする。トランジスタM1rの第1端子は、トランジスタM3rを介して配線OLBに電気的に接続され、トランジスタM4rを介して配線OLに電気的に接続されているため、配線WX1L、又は配線X2Lの一方に高レベル電位が入力されている場合、配線OL又は配線OLBからトランジスタM1rを介して、配線VErに流れる電荷量はtut×I1(=Qut)となる。ここで、tut×I1=Qutとする。なお、トランジスタM1r、トランジスタM1-2b、トランジスタM1-2brはオフ状態となるため、トランジスタM1、トランジスタM1-2b、トランジスタM1-2brのそれぞれのソース-ドレイン間に流れる電流量は0となる。
また、回路MPに第1データ(重み係数)として“-2”を設定する場合、トランジスタM1-2brにおいて電流量I1が流れるように設定し、保持部HC、保持部HCr、保持部HC-2bにはVSSを保持するものとする。トランジスタM1-2brの第1端子は、トランジスタM3-2brを介して配線OLBに電気的に接続され、トランジスタM4-2bを介して配線OLに電気的に接続されているため、配線X1L2b、又は配線X2L2bの一方に高レベル電位が入力されている場合、配線OL又は配線OLBからトランジスタM1-2brを介して、配線VErに流れる電荷量は2tut×I1=2Qutとなる。なお、トランジスタM1、トランジスタM1r、トランジスタM1-2bはオフ状態となるため、トランジスタM1、トランジスタM1r、トランジスタM1-2bのそれぞれのソース-ドレイン間に流れる電流量は0となる。
また、回路MPに第1データ(重み係数)として“-3”を設定する場合、トランジスタM1r、トランジスタM1-2brにおいて電流量I1が流れるように設定し、保持部HC、保持部HC-2bにはVSSを保持するものとする。上述より、配線WX1L、又は配線X2Lの一方に高レベル電位が入力されている場合、配線OL又は配線OLBからトランジスタM1rを介して、配線VErに流れる電荷量はtut×I1となり、配線X1L2b、又は配線X2L2bの一方に高レベル電位が入力されている場合、配線OL又は配線OLBからトランジスタM1rを介して、配線VErに流れる電荷量は2tut×I1となる。このため、配線OL又は配線OLBから回路MCrを介して配線VErに流れる電荷量は、tut×I1+2tut×I1=3Qutとなる。なお、トランジスタM1、トランジスタM1-2bはオフ状態となるため、トランジスタM1、トランジスタM1-2bのそれぞれのソース-ドレイン間に流れる電流量は0となる。
また、第1データ(重み係数)を“0”とする場合、保持部HC、保持部HCr、保持部HC-2b、保持部HC-2brにはVSSを保持するものとする。そのため、トランジスタM1、トランジスタM1r、トランジスタM1-2b、トランジスタM1-2brのそれぞれのソース-ドレイン間に流れる電流量は0となる。
つまり、保持部HC、保持部HCr、保持部HC-2b、保持部HC-2brにデジタル値(2値)を保持して、配線WX1L、配線X2Lの一方への高レベル電位の入力期間をtutとし、配線WX1L2b、配線X2L2bの一方への高レベル電位の入力期間を2tutとすることで、多値(本動作例では“-3”、“-2”、“-1”、“0”、“+1”、“+2”、“+3”の7値)の第1データ(重み係数)を表すことができる。
なお、本動作例では、回路MPに入力される第2データ(ここでは、例えば、ニューロンの信号とする。)の定義として、一例として、第2データが“+1”のときは、配線WX1L、配線X1L2bに高レベル電位が入力され、かつ配線X2L、配線X2L2bに低レベル電位が入力されるものとし、第2データが“-1”のときは、配線WX1L、配線X1L2bに低レベル電位が入力され、かつ配線X2L、配線X2L2bに高レベル電位が入力されるものとし、第2データが“0”のときは、配線WX1L、配線X1L2b、配線X2L、配線X2L2bのそれぞれに低レベル電位が入力されるものとする。
ここで、回路ACTFの積分回路に着目する。配線OL又は配線OLBから、回路MCを介して配線VEに電流が流れるとき、又は、配線OL又は配線OLBから、回路MCrを介して配線VErに電流が流れるとき、図8Aにおいて、スイッチSWO、スイッチSWOBはオン状態にし、スイッチSWI、スイッチSWIB、スイッチSWL、スイッチSWLB、スイッチSWH、スイッチSWHBはオフ状態にして、配線OL及び配線OLBと回路AFPとの間を導通状態にすることで、回路ACTFに含まれている積分回路の容量に配線OL、配線OLBに流れる電荷量を蓄積することができる。この結果、回路ACTFは、配線OLに流れた電荷量QOLと配線OLBに流れた電荷量QOLBに応じたニューロンの信号zj
(k)を出力することができる。
上述の動作例より、第1データ(重み係数)を“+3”“+2”“+1”“0”“-1”“-2”“-3”のいずれか一に設定し、第2データ(ニューロンの信号の値)を上述の通りに定義した場合の、配線OLに流れた電荷量QOLと配線OLBに流れた電荷量QOLBを下の表に記載する。
上記の通り、第1データ(重み係数)と、第2データ(ニューロンの信号の値)を定めることにより、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積の結果に応じて、配線OLから回路MC又は回路MCrに電流が流れる電荷量QOL、及び配線OLBから回路MC又は回路MCrに電流が流れる電荷量QOLBが決まる。また、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積の結果が正の値の場合、配線OLから回路MC又は回路MCrに電流が流れ、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積の結果が負の値の場合、配線OLBから回路MC又は回路MCrに電流が流れる。つまり、電荷量QOL、及び電荷量QOLBから、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積を算出することができる。例えば、第1データ(重み係数)を“-3”乃至“+3”とし、第2データ(ニューロンの信号の値)を“-1”、“0”、“+1”のいずれか一とし、かつ、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積が正の数である場合、上述の表において、配線OLから回路MC又は回路MCrに電流が流れる電荷量QOLにおいて、Qutを“+1”に置き換えることで、電荷量QOLから第1データ(重み係数)と第2データ(ニューロンの信号の値)との積を求めることができる。また、例えば、第1データ(重み係数)を“-1”又は“+1”とし、第2データ(ニューロンの信号の値)を“-7”乃至“+7”のいずれか一し、かつ、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積が負の数である場合、上述の表において、配線OLから回路MC又は回路MCrに電流が流れる電荷量QOLBにおいて、Qutを“-1”に置き換えることで、電荷量QOLBから第1データ(重み係数)と第2データ(ニューロンの信号の値)との積を求めることができる。
なお、上述の動作例では、回路MPに設定された第1データ(重み係数)を“+3”、“+2”、“+1”、“0”、“-1”、“-2”、“-3”としたが、配線WX1L、配線X2L、配線X1L2b、配線X2L2bへの高レベル電位を入力する時間を調節して、第1データ(重み係数)をアナログ値などとして用いてもよい。これにより、回路MPは、アナログ値などの第1データ(重み係数)と多値の第2データ(ニューロンの信号の値)との積和演算、及び/又は活性化関数の演算を行うことができる。
また、本発明の一態様の半導体装置は、図52の回路MPの構成に限定されない。例えば、図52の回路MPでは、電流量を設定するトランジスタとして、回路MC内には、トランジスタM1、トランジスタM1-2bの2個とし、回路MCr内は、トランジスタM1r、トランジスタM1-2brの2個としたが、回路MC、回路MCrのそれぞれにおいて、電流量を設定するトランジスタは3個以上としてもよい。また、当該トランジスタに応じて、保持部の個数、配線の数も増減してもよい。
また、本発明の一態様の半導体装置の動作方法は、上述に限定されない。例えば、動作方法例2で説明した通り、配線WX1L、配線X2L、配線X1L2b、配線X2L2bのそれぞれに入力される信号の入力期間を、複数のサブ期間に分けてもよい。
また、本動作方法例では、回路MPは、説明の煩雑さを避けるため、配線OL、配線OLBには1個の回路MPのみが電気的接続されている場合を考えたが、図11の演算回路150のとおり、配線OL、配線OLBには複数の回路MPを電気的に接続してもよい。これにより、配線OL、配線OLBのそれぞれから複数の回路MPに入力された電荷量の合計を、回路ACTFに含まれる積分回路の容量に蓄積することができ、回路ACTFは、配線OL、配線OLBに流れたそれぞれの電荷量に応じたニューロンの信号zj
(k)を出力することができる。
なお、本動作例では、図11の演算回路150を例としたが、状況に応じて、別の演算回路に変更することでも、本動作例と同様の動作を行うことができる。
なお、本動作方法例は、本明細書で示す他の動作方法例などと適宜組み合わせることができる。
<動作方法例5>
ここでは、図53の回路MPを適用した図11の演算回路150の動作方法について、説明する。
動作方法例1乃至動作方法例4と同様に、説明の煩雑さを避けるため、配線OL、配線OLBに流れる電流の変化については、配線OL、配線OLBに電気的に接続されている1個の回路MPのみによって行われるものとする。また、回路MPに電気的に接続されている配線VE、配線VErのそれぞれは、回路MPに対して、定電圧としてVSSを与えるものとする。また、回路AFPに含まれている回路ACTF[1]乃至回路ACTF[n]のそれぞれは、一例としては、積分回路(または、電流電荷(IQ)変換回路)の構成を有する回路ACTFとする。例えば、図6Eの回路ACTF[j]において、負荷LEa、負荷LEbを容量などとした構成としてもよい。
図53は、図29に示した回路MPにおいて、トランジスタM1-2b、トランジスタM1-2br、トランジスタM1-3b、トランジスタM1-3br、トランジスタM3-2b、トランジスタM3-2br、トランジスタM3-3b、トランジスタM3-3br、トランジスタM4-2b、トランジスタM4-2br、トランジスタM4-3b、トランジスタM4-3br、保持部HC-2b、保持部HC-2br、保持部HC-3b、保持部HC-3brを除いた構成となっている。また、そのため、配線X1L2b、配線X2L2b、配線X1L3b、配線X2L3bも図29から除いている。また、本動作方法の例は、実施の形態2で説明した図29の回路MPの動作例と異なる。
具体的には、回路MPに第2データ(例えば、ここではニューロンの信号の値とする。)を入力する際において、第2データ(ニューロンの信号の値)に応じて、配線WX1L、又は配線X2Lの一方への高レベル電位の入力時間を設定する。つまり、トランジスタM3、トランジスタM3rがオン状態、又はトランジスタM4、トランジスタM4rがオン状態となる時間を設定する。
動作方法例1で説明したとおり、回路MPに第1データ(例えば、ここでは重み係数とする。)を設定して、かつトランジスタM3、又はトランジスタM4がオン状態となる時間を定めることによって、配線OL又は配線OLBから、トランジスタM1を介して配線VEに流れる電荷量が決まる。また、回路MPに第1データ(重み係数)を設定して、トランジスタM3r、又はトランジスタM4rがオン状態となる時間を定めることによって、配線OL又は配線OLBから、トランジスタM1rを介して配線VErに流れる電荷量が決まる。
一例として、第2データ(ニューロンの信号の値)が“+1”のときは、配線X1Lへの高レベル電位の入力期間をtutとして、配線X1Lに高レベル電位、配線X2Lに低レベル電位を印加するものとしたとき、他の第2データ(ニューロンの信号の値)を次の表の通りに定義することができる。なお、下の表は、“-3”乃至“+3”の整数のみを図示している。
また、回路HCS、回路HCSrとしては、実施の形態2の構成例5で説明したとおり、SRAMを有する構成、又はNOSRAMを有する構成とすることができる。ここでは、回路HCS、回路HCSrには、2値(デジタル値)の電位を保持するものとする。そのため、一例として、回路MPに設定される第1データ(重み係数)を“+1”とするとき、回路HCSに高レベル電位(ここでは、例えばVDDLとする。)、回路HCSrに低レベル電位(ここでは、例えばVSSとする。)が保持されているものとし、回路MPに設定される第1データ(重み係数)を“-1”とするとき、回路HCSに低レベル電位、回路HCSrに高レベル電位が保持されているものとし、回路MPに設定される第1データ(重み係数)を“0”とするとき、回路HCSに低レベル電位、回路HCSrに低レベル電位が保持されているものとする。
なお、回路HCSに電圧VDDLが保持されている場合、トランジスタM1に流れる電流の量をI1とする。また、回路HCSに電圧VSSが保持されている場合、トランジスタM1に流れる電流の量を0とする。同様に、回路HCSrに電圧VDDLが保持されている場合、トランジスタM1rに流れる電流の量をI1とし、回路HCSrに電圧VSSが保持されている場合、トランジスタM1rに流れる電流の量を0とする。
次に、図53の回路MPの具体的な動作例について説明する。
回路MPには、例えば、あらかじめ、“+1”の第1データ(重み係数)が設定されているものとする。
回路MPに第2データ(ニューロンの信号の値)として“+3”が入力されている場合、トランジスタM3が時間3tutだけオン状態、トランジスタM4がオフ状態となることで、配線OLから、トランジスタM1を介して配線VEに流れる電荷量は、3tut×Iutとなる。なお、ここで、tut×Iut=Qutとする。一方、配線OLBから、回路MCrを介して配線VErに流れる電荷量は、トランジスタM1rがオフ状態であるため、0となる。
また、回路MPに第2データ(ニューロンの信号の値)として“-3”が入力されている場合、配線OLBと回路MCとの間、配線OLと回路MCrとの間がそれぞれ導通状態となり、配線OLと回路MCrとの間、配線OLと回路MCとの間が非導通状態となるため、配線OLBから、回路MCを介して配線VEに流れる電荷量が3tut×Iut=3Qutとなり、配線OLから、回路MCrを介して配線VErに流れる電荷量が、0となる。
また、回路MPには、例えば、あらかじめ、“-1”の第1データ(重み係数)が設定されている場合を考える。
回路MPに第2データ(ニューロンの信号の値)として“+3”が入力されている場合、トランジスタM3が時間3tutだけオン状態、トランジスタM4がオフ状態となることで、配線OLBから、トランジスタM1rを介して配線VErに流れる電荷量は、3tut×Iut=3Qutとなる。一方、配線OLから、回路MCrを介して配線VEに流れる電荷量は、トランジスタM1がオフ状態であるため、0となる。
また、回路MPに第2データ(ニューロンの信号の値)として“-3”が入力されている場合、配線OLBと回路MCとの間、配線OLと回路MCrとの間がそれぞれ導通状態となり、配線OLと回路MCrとの間、配線OLと回路MCとの間が非導通状態となるため、配線OLから、回路MCrを介して配線VErに流れる電荷量が3tut×Iut=3Qutとなり、配線OLBから、回路MCを介して配線VEに流れる電荷量が、0となる。
ここで、回路ACTFの積分回路に着目する。配線OL又は配線OLBから、回路MCを介して配線VEに電流が流れるとき、又は、配線OL又は配線OLBから、回路MCrを介して配線VErに電流が流れるとき、図8Aにおいて、スイッチSWO、スイッチSWOBはオン状態にし、スイッチSWI、スイッチSWIB、スイッチSWL、スイッチSWLB、スイッチSWH、スイッチSWHBはオフ状態にして、配線OL及び配線OLBと回路AFPとの間を導通状態にすることで、回路ACTFに含まれている積分回路の容量に配線OL、配線OLBに流れる電荷量を蓄積することができる。この結果、回路ACTFは、配線OLに流れた電荷量QOLと配線OLBに流れた電荷量QOLBに応じたニューロンの信号zj
(k)を出力することができる。
上述の動作例より、第1データ(重み係数)を“+1”又は“-1”として、第2データ(ニューロンの信号の値)を上述の通りに定義した場合の、配線OLに流れた電荷量QOLと配線OLBに流れた電荷量QOLBを下の表に記載する。
なお、第2データ(ニューロンの信号の値)を“-3”、“-2”、“-1”、“0”、“+1”、“+2”、“+3”以外の整数、又は実数とするとき、整数又は実数に応じて、配線X1L、又は配線X2Lの一方への高レベル電位の入力時間を設定すればよい。例えば、aを正の実数として、入力期間をa×tutとすることによって、第2データ(ニューロンの信号の値)をアナログ値として扱うことができる。
これにより、動作方法例1乃至動作方法例3と同様に、第2データ(ニューロンの信号の値)を多値として、回路MPに与えることができる。
なお、上述した通り、図53の回路MPに含まれている回路HCS、回路HCSrは、SRAMを有する構成とすることができる。図54Aは、回路HCS、回路HCSrがSRAMを有する構成として、図53の回路MPの詳細を示した具体例を示している。なお、図54Aに記載している符号、第1データ(重みデータ)の保持方法などについては、図30の回路MPの説明の記載を参酌する。
また、図54Aの回路MPにおいて、回路HCSに保持されている電位を低レベル電位、又は高レベル電位の一方とし、回路HCSrに保持されている電位を低レベル電位、又は高レベル電位の他方とする場合、つまり、回路HCS、回路HCSrにそれぞれ同じ電位を保持しなくてもよい場合、図54Aの回路MPは、図54Bの回路MPに構成を変更することができる。図54Bの回路MPは、回路MCに回路HCSを有しており、回路HCSに含まれているインバータループ回路IVRによって、トランジスタM1のゲートに与える信号の反転信号をトランジスタM1rに与える構成となっている。なお、この場合、一例として、トランジスタM1のゲートに高レベル電位が与えられているとき(トランジスタM1rのゲートに低レベル電位が与えられているとき)、回路MPに設定される第1データ(重み係数)を“+1”とすることができ、トランジスタM1のゲートに低レベル電位が与えられているとき(トランジスタM1rのゲートに高レベル電位が与えられているとき)、回路MPに設定される第1データ(重み係数)を“-1”とすることができる。
また、回路HCS、回路HCSrにインバータループ回路IVRを有し、かつ図54Aの回路MPとは異なる構成例を、図55Aに示す。図55Aに示す回路MPは、回路MCにおいて、インバータループ回路IVRを含む回路HCSと、トランジスタM3、M4と、回路MCrにおいて、インバータループ回路IVRrを含む回路HCSrと、トランジスタM3r、トランジスタM4rと、を有する。インバータループ回路IVRは、インバータ回路IV1と、インバータ回路IV2と、を有し、インバータループ回路IVRrは、インバータ回路IV1rと、インバータ回路IV2rと、を有する。
インバータ回路IV1の出力端子は、インバータ回路IV2の入力端子と、トランジスタM3の第1端子と、トランジスタM4の第1端子と、に電気的に接続され、インバータ回路IV2の出力端子は、インバータ回路IV1の入力端子に電気的に接続されている。トランジスタM3の第2端子は、配線OLに電気的に接続され、トランジスタM3のゲートは、配線WX1Lに電気的に接続されている。トランジスタM4の第2端子は、配線OLBに電気的に接続され、トランジスタM4のゲートは、配線X2Lに電気的に接続されている。インバータ回路IV1rの出力端子は、インバータ回路IV2rの入力端子と、トランジスタM3rの第1端子と、トランジスタM4rの第1端子と、に電気的に接続され、インバータ回路IV2rの出力端子は、インバータ回路IV1rの入力端子に電気的に接続されている。トランジスタM3rの第2端子は、配線OLBに電気的に接続され、トランジスタM3rのゲートは、配線WX1Lに電気的に接続されている。トランジスタM4rの第2端子は、配線OLに電気的に接続され、トランジスタM4rのゲートは、配線X2Lに電気的に接続されている。
回路HCSは、インバータループ回路IVRによって、インバータ回路IV1の出力端子に高レベル電位、又は低レベル電位の一方を保持する機能を有し、回路HCSrは、インバータループ回路IVRrによって、インバータ回路IV1の出力端子に高レベル電位、又は低レベル電位の一方を保持する機能を有する。このため、図53、図54Aと同様に、一例として、回路MPに設定される第1データ(重み係数)を“+1”とするとき、インバータ回路IV1の出力端子に高レベル電位(ここでは、例えばVDDLとする。)、インバータ回路IV1rの出力端子に低レベル電位(ここでは、例えばVSSとする。)が保持されているものとし、回路MPに設定される第1データ(重み係数)を“-1”とするとき、インバータ回路IV1の出力端子に低レベル電位、インバータ回路IV1rの出力端子に高レベル電位が保持されているものとし、回路MPに設定される第1データ(重み係数)を“0”とするとき、インバータ回路IV1の出力端子に低レベル電位、インバータ回路IV1rの出力端子に低レベル電位が保持されているものとする。
また、図55Aの回路MPへの第2データ(ニューロンの信号の値)の入力は、図53、図54Aと同様に、配線WX1L、又は配線X2Lの一方への高レベル電位の入力時間を設定すればよい。
図55Aの回路MPは、図53、図54A、及び図54Bのそれぞれの回路MPと異なり、回路HCSのインバータループ回路IVRに含まれているトランジスタを用いて配線OL又は配線OLBから回路MCに電流を流し、回路HCSrのインバータループ回路IVRrに含まれているトランジスタを用いて、配線OL又は配線OLBから回路MCrに電流を流す構成となっている。
また、図55Aの回路MPは、図55Bに示す回路MPに構成を変更することができる。図55Bの回路MPは、図55Aの回路MPに含まれている回路MCrを除いた構成となっている。つまり、回路HCSのインバータループ回路IVRに含まれているトランジスタを用いて配線OL又は配線OLBから回路MCに電流を流す構成となっている。なお、この場合、一例として、インバータ回路IV1の出力端子に高レベル電位が与えられているとき、回路MPに設定される第1データ(重み係数)を“+1”とすることができ、インバータ回路IV1の出力端子に低レベル電位が与えられているとき、回路MPに設定される第1データ(重み係数)を“0”とすることができる。
また、図55Cの回路MPは、図55Bの回路MPから、配線X2Lを除き、かつトランジスタM4の第1端子がインバータ回路IV1の入力端子と、インバータ回路IV2の出力端子とに電気的に接続されている構成となっている。配線WX1Lの電位が高レベル電位となっているときに、配線OL又は配線OLBには、逆の信号が出力されることとなる。この場合、一例として、インバータ回路IV1の出力端子に高レベル電位が与えられているとき、回路MPに設定される第1データ(重み係数)を“+1”とすることができ、インバータ回路IV1の出力端子に低レベル電位が与えられているとき、回路MPに設定される第1データ(重み係数)を“-1”とすることができる。また、一例として、回路MPから回路AFPに情報(例えば、電流、電圧など)を供給する際において、配線WX1Lに高レベル電位が入力されているとき、回路MPに入力される第2データ(ニューロンの信号の値)を“+1”とし、配線WX1Lに低レベル電位が入力されているとき、回路MPに入力される第2データ(ニューロンの信号の値)を“0”とすることができる。
なお、図55A乃至図55Cの回路MPは、例えば、図7に示す演算回路140の回路MPに適用することができる。
また、上述した通り、図53の回路MPに含まれている回路HCS、回路HCSrは、NOSRAMを有する構成とすることができる。図56Aは、回路HCS、回路HCSrがNOSRAMを有する構成として、図53の回路MPの詳細を示した具体例を示している。なお、図56Aに記載している符号、第1データ(重みデータ)の保持方法などについては、図34の回路MPの説明の記載を参酌する。
また、図56Aの回路MPにおいて、配線ILと配線OLとを一本の配線にまとめ、及び/又は、配線ILBと配線OLBとを一本の配線にまとめてもよい。図56Bの回路MPは、配線ILと配線OLとを、配線OLとして一本の配線にまとめ、配線ILBと配線OLBとを、配線OLとして一本の配線にまとめた構成となっている。
また、本発明の一態様の半導体装置の動作方法は、上述に限定されない。例えば、動作方法例2で説明した通り、図53乃至図56の回路MPにおいて、配線X1L(図55ABでは配線WX1L)、配線X2Lのそれぞれに入力される信号の入力期間を、複数のサブ期間に分けてもよい。
また、本動作方法例では、回路MPは、説明の煩雑さを避けるため、配線OL、配線OLBには1個の回路MPのみが電気的に接続されている場合を考えたが、図11の演算回路150のとおり、配線OL、配線OLBには複数の回路MPを電気的に接続してもよい。これにより、配線OL、配線OLBのそれぞれから複数の回路MPに入力された電荷量の合計を、回路ACTFに含まれる積分回路の容量に蓄積することができ、回路ACTFは、配線OL、配線OLBに流れたそれぞれの電荷量に応じたニューロンの信号zj
(k)を出力することができる。
なお、本動作例では、図11の演算回路150を例としたが、状況に応じて、別の演算回路に変更することでも、本動作例と同様の動作を行うことができる。
なお、本動作方法例は、本明細書で示す他の動作方法例などと適宜組み合わせることができる。
<動作方法例6>
ここでは、図57の回路MPを適用した図11の演算回路150の動作方法について、説明する。
動作方法例1乃至動作方法例5と同様に、説明の煩雑さを避けるため、配線OL、配線OLBに流れる電流の変化については、配線OL、配線OLBに電気的に接続されている1個の回路MPのみによって行われるものとする。また、回路MPに電気的に接続されている配線VE、配線VErのそれぞれは、回路MPに対して、定電圧としてVSSを与えるものとする。また、回路AFPに含まれている回路ACTF[1]乃至ACTF[n]のそれぞれは、一例としては、積分回路(または、電流電荷(IQ)変換回路)の構成を有する回路ACTFとする。例えば、図6Eの回路ACTF[j]において、負荷LEa、負荷LEbを容量などとした構成としてもよい。
図57は、図36に示した回路MPと同様の回路構成を示している。なお、図57の回路MPは、回路HCS、回路HCS-2b、回路HCS-3bのそれぞれは、配線OLBに電気的に接続され、回路HCSr、回路HCS-2br、回路HCS-3brのそれぞれは、配線OLBに電気的に接続されている構成となっている。また、本動作方法の例は、実施の形態2で説明した図36の回路MPの動作例と異なる。
具体的には、動作方法例5と同様に、回路MPに第2データ(例えば、ここではニューロンの信号の値とする。)に応じて、配線WX1L、又は配線X2Lの一方への高レベル電位の入力時間を設定する。つまり、トランジスタM3、トランジスタM3rがオン状態、又はトランジスタM4、トランジスタM4rがオン状態となる時間を設定する。
動作方法例1で説明したとおり、回路MPに第1データ(例えば、ここでは重み係数とする。)を設定して、かつトランジスタM3、又はトランジスタM4がオン状態となる時間を定めることによって、配線OL又は配線OLBから、トランジスタM1を介して配線VEに流れる電荷量が決まる。また、回路MPに第1データ(重み係数)を設定して、トランジスタM3r、又はトランジスタM4rがオン状態となる時間を定めることによって、配線OL又は配線OLBから、トランジスタM1rを介して配線VErに流れる電荷量が決まる。
また、配線OL又は配線OLBから、トランジスタM1-2bを介して配線VEに流れる電荷量と、配線OL又は配線OLBから、トランジスタM1-2brを介して配線VErに流れる電荷量と、についてもトランジスタM3、トランジスタM3r、トランジスタM4、トランジスタM4rのそれぞれがオン状態となる時間を定めることによって決まる。
そのため、図57の回路MPにおける、第2データ(ニューロンの信号の値)については、図53の回路MPにおける第2データ(ニューロンの信号の値)の定義と同様とすることができる。
また、図57に示す回路HCS、回路HCS-2b、回路HCS-3b、回路HCSr、回路HCS-2br、回路HCS-3brとしては、実施の形態2の構成例6で説明したとおり、一例として、SRAMを有する構成、又はNOSRAMを有する構成とすることができる。ここでは、回路HCS、回路HCS-2b、回路HCS-3b、回路HCSr、回路HCS-2br、回路HCS-3brには、2値(デジタル値)の電位を保持するものとする。
また、トランジスタM1、トランジスタM1rのW長とL長との比をW/Lとしたとき、トランジスタM1、トランジスタM1rのW長とL長との比を2W/Lとし、トランジスタM1、トランジスタM1rのW長とL長との比を4W/Lとする。
そのため、回路MPに設定される第1データ(ここでは、例えば、重み係数とする。)は、実施の形態2の構成例6の内容を参酌することができる。具体的には、例えば、回路MPに設定される第1データ(重み係数)は、トランジスタM1、トランジスタM1r、トランジスタM1-2b、トランジスタM1-2br、トランジスタM1-3b、トランジスタM1-3brのそれぞれに流れる電流に応じて決まる。換言すると、回路MPに設定される第1データ(重み係数)は、回路HCS、回路HCS-2b、回路HCS-3b、回路HCSr、回路HCS-2br、回路HCS-3brのそれぞれに保持される電位に応じて決まる。上記より、一例として、次の表のとおりに、回路HCS、回路HCS-2b、回路HCS-3b、回路HCSr、回路HCS-2br、回路HCS-3brのそれぞれに電位を保持することによって、回路MPに設定される第1データ(重み係数)を設定することができる。
なお、回路HCSに電圧VDDLが保持されている場合、トランジスタM1に流れる電流の量をI1とする。また、トランジスタM1-2bのW長とL長の比は、トランジスタM1のW長とL長の比の2倍であるため、回路HCS-2bに電圧VDDLが保持されている場合、トランジスタM1に流れる電流の量を2I1となる。また、トランジスタM1-3bのW長とL長の比は、トランジスタM1のW長とL長の比の4倍であるため、回路HCS-3bに電圧VDDLが保持されている場合、トランジスタM1-3bに流れる電流の量を4I1となる。また、同様に、回路HCSrに電圧VDDLが保持されている場合、トランジスタM1rに流れる電流の量をI1となり、回路HCS-2brに電圧VDDLが保持されている場合、トランジスタM1-2brに流れる電流の量を2I1となり、回路HCS-3brに電圧VDDLが保持されている場合、トランジスタM1-3brに流れる電流の量を4I1となる。なお、回路HCS、回路HCSr、回路HCS-2b、回路HCS-2br、回路HCS-3b、回路HCS-2brのそれぞれに電圧VSSが保持されている場合、トランジスタM1、トランジスタM1r、トランジスタM1-2b、トランジスタM1-2br、トランジスタM1-3b、トランジスタM1-3brに流れる電流の量を0とする。
次に、図57の回路MPの具体的な動作例について説明する。
回路MPには、例えば、あらかじめ、“+7”の第1データ(重み係数)が設定されているものとする。このとき、トランジスタM1のソース-ドレイン間には電流Iutが流れ、トランジスタM1-2bのソース-ドレイン間には電流2Iutが流れ、トランジスタM1-3bのソース-ドレイン間には電流4Iutが流れる。
回路MPに第2データ(ニューロンの信号の値)として“+3”が入力されている場合、トランジスタM3が時間3tutだけオン状態、トランジスタM4がオフ状態となることで、配線OLから、トランジスタM1を介して配線VEに流れる電荷量は、3tut×Iut+3tut×2Iut+3tut×4Iut=21tut×Iutとなる。なお、ここで、tut×Iut=Qutとする。つまり、配線OLから、回路MCを介して配線VEに流れる電荷量は、21tut×Iut=21Qutとなる。一方、配線OLBから、回路MCrを介して配線VErに流れる電荷量は、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brがオフ状態であるため、0となる。
また、回路MPに第2データ(ニューロンの信号の値)として“-3”が入力されている場合、配線OLBと回路MCとの間、配線OLと回路MCrとの間がそれぞれ導通状態となり、配線OLと回路MCrとの間、配線OLと回路MCとの間が非導通状態となるため、配線OLBから、回路MCを介して配線VEに流れる電荷量が21tut×Iut=21Qutとなり、配線OLから、回路MCrを介して配線VErに流れる電荷量が、0となる。
また、回路MPには、例えば、あらかじめ、“-7”の第1データ(重み係数)が設定されている場合を考える。このとき、トランジスタM1rのソース-ドレイン間には電流I1が流れ、トランジスタM1-2brのソース-ドレイン間には電流2I1が流れ、トランジスタM1-3brのソース-ドレイン間には電流4I1が流れる。
回路MPに第2データ(ニューロンの信号の値)として“+3”が入力されている場合、トランジスタM3が時間3tutだけオン状態、トランジスタM4がオフ状態となることで、配線OLBから、トランジスタM1rを介して配線VErに流れる電荷量は、3tut×Iut+3tut×2Iut+3tut×4Iut=21tut×Iutとなる。つまり、配線OLBから、回路MCrを介して配線VErに流れる電荷量は、21tut×Iut=21Qutとなる。一方、配線OLから、回路MCを介して配線VEに流れる電荷量は、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brがオフ状態であるため、0となる。一方、配線OLから、回路MCを介して配線VEに流れる電荷量は、トランジスタM1、M1-2b、M1-3bがオフ状態であるため、0となる。
また、回路MPに第2データ(ニューロンの信号の値)として“-3”が入力されている場合、配線OLBと回路MCとの間、配線OLと回路MCrとの間がそれぞれ導通状態となり、配線OLと回路MCrとの間、配線OLと回路MCとの間が非導通状態となるため、配線OLから、回路MCrを介して配線VErに流れる電荷量が21tut×Iut=21Qutとなり、配線OLBから、回路MCを介して配線VEに流れる電荷量が、0となる。
また、回路MPに設定される第1データ(重み係数)を変更することによって、回路HCS、回路HCS-2b、回路HCS-3b、回路HCSr、回路HCS-2br、回路HCS-3brのそれぞれに保持される電位の組み合わせが変化するため、これにより、トランジスタM1、トランジスタM1r、トランジスタM1-2b、トランジスタM1-2br、トランジスタM1-3b、トランジスタM1-3brのそれぞれに流れる電流の量が変化する。したがって、配線OL又は配線OLBから、回路MCを介して配線VEに流れる電荷量と、配線OL又は配線OLBから、回路MCrを介して配線VErに流れる電荷量と、第1データ(重み係数)に応じて決めることができる。
また、回路MPには、あらかじめ、“0”の第1データ(重み係数)が設定されている場合、トランジスタM1、トランジスタM1r、トランジスタM1-2b、トランジスタM1-2br、トランジスタM1-3b、トランジスタM1-3brのそれぞれはオフ状態になっている。そのため、配線OL又は配線OLBから、回路MCを介して配線VEに電流は流れず、配線OL又は配線OLBから、回路MCrを介して配線VErに電流は流れない。換言すると、配線OL、配線OLBのそれぞれに流れる電荷量は0ということができる。
また、回路MPに第2データ(ニューロンの信号の値)として“0”が入力されている場合、配線X1L、配線X2Lのそれぞれには低レベル電位が入力されているため、トランジスタM3、トランジスタM3r、トランジスタM4、トランジスタM4rはオフ状態となる。そのため、配線OL又は配線OLBから、回路MCを介して配線VEに電流は流れず、配線OL又は配線OLBから、回路MCrを介して配線VErに電流は流れない。換言すると、配線OL、配線OLBのそれぞれに流れる電荷量は0ということができる。
配線OL又は配線OLBから、回路MCを介して配線VEに電流が流れるとき、又は、配線OL又は配線OLBから、回路MCrを介して配線VErに電流が流れるとき、図8Aにおいて、スイッチSWO、スイッチSWOBはオン状態にし、スイッチSWI、スイッチSWIB、スイッチSWL、スイッチSWLB、スイッチSWH、スイッチSWHBはオフ状態にして、配線OL及びOLBと回路AFPとの間を導通状態にすることで、回路ACTFに含まれている積分回路の容量に配線OL、配線OLBに流れる電荷量を蓄積することができる。この結果、回路ACTFは、配線OL、配線OLBのそれぞれに流れた電荷量に応じたニューロンの信号zj
(k)を出力することができる。
上記の通り、第1データ(重み係数)と、第2データ(ニューロンの信号の値)を定めることにより、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積の結果に応じて、配線OLから回路MC又は回路MCrに電流が流れる電荷量QOL、及び配線OLBから回路MC又は回路MCrに電流が流れる電荷量QOLBが決まる。また、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積の結果が正の値の場合、配線OLから回路MC又は回路MCrに電流が流れ、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積の結果が負の値の場合、配線OLBから回路MC又は回路MCrに電流が流れる。つまり、電荷量QOL、及び電荷量QOLBから、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積を算出することができる。例えば、第1データ(重み係数)を“+7”とし、第2データ(ニューロンの信号の値)を“+3”としたとき、QOL=21Qut、QOLB=0となる。この場合、配線OLから回路MC又は回路MCrに電流が流れるため、積の結果は正の値となる。このため、一例として、配線OLから回路MC又は回路MCrに電流が流れる電荷量QOLにおいて、Qutを“+1”に置き換えることによって、電荷量QOLから第1データ(重み係数)と第2データ(ニューロンの信号の値)との積の結果として、“+21”を求めることができる。また、例えば、第1データ(重み係数)を“-7”とし、第2データ(ニューロンの信号の値)を“+3”としたとき、QOL=0、QOLB=21Qutとなる。この場合、配線OLBから回路MC又は回路MCrに電流が流れるため、積の結果は負の値となる。このため、一例として、配線OLBから回路MC又は回路MCrに電流が流れる電荷量QOLBにおいて、Qutを“-1”に置き換えることによって、電荷量QOLBから第1データ(重み係数)と第2データ(ニューロンの信号の値)との積の結果として、“-21”を求めることができる。
また、第2データ(ニューロンの信号の値)を“-3”、“-2”、“-1”、“0”、“+1”、“+2”、“+3”以外の整数、又は実数とするとき、整数又は実数に応じて、配線X1L、又は配線X2Lの一方への高レベル電位の入力時間を設定すればよい。例えば、aを正の実数として、入力期間をa×tutとすることによって、第2データ(ニューロンの信号の値)をアナログ値として扱うことができる。
これにより、動作方法例1乃至動作方法例3、動作方法例5と同様に、第2データ(ニューロンの信号の値)を多値として、回路MPに与えることができる。
また、本発明の一態様の半導体装置は、図57の回路MPの構成に限定されない。例えば、図57の回路MPでは、電流量を設定するトランジスタとして、回路MC内には、トランジスタM1、トランジスタM1-2b、トランジスタM1-3bの3個とし、回路MCr内は、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brの3個としたが、回路MC、回路MCrのそれぞれにおいて、電流量を設定するトランジスタは2個、又は4個以上としてもよい。また、当該トランジスタに応じて、保持部の個数、配線の数も増やしてもよい。
また、本発明の一態様の半導体装置の動作方法は、上述に限定されない。例えば、動作方法例2で説明した通り、図57の回路MPにおいて、配線X1L、X2Lのそれぞれに入力される信号の入力期間を、複数のサブ期間に分けてもよい。
また、本動作方法例では、回路MPは、説明の煩雑さを避けるため、配線OL、配線OLBには1個の回路MPのみが電気的接続されている場合を考えたが、図11の演算回路150のとおり、配線OL、配線OLBには複数の回路MPを電気的に接続してもよい。これにより、配線OL、配線OLBのそれぞれから複数の回路MPに入力された電荷量の合計を、回路ACTFに含まれる積分回路の容量に蓄積することができ、回路ACTFは、配線OL、配線OLBに流れたそれぞれの電荷量に応じたニューロンの信号zj
(k)を出力することができる。
なお、本動作例では、図11の演算回路150を例としたが、状況に応じて、別の演算回路に変更することでも、本動作例と同様の動作を行うことができる。
なお、本動作方法例は、本明細書で示す他の動作方法例などと適宜組み合わせることができる。
<動作方法例7>
ここでは、図58の回路MPを適用した図11の演算回路150の動作方法について、説明する。
動作方法例1乃至動作方法例6と同様に、説明の煩雑さを避けるため、配線OL、配線OLBに流れる電流の変化については、配線OL、配線OLBに電気的に接続されている1個の回路MPのみによって行われるものとする。また、回路MPに電気的に接続されている配線VE、配線VErのそれぞれは、回路MPに対して、定電圧としてVSSを与えるものとする。また、回路AFPに含まれている回路ACTF[1]乃至ACTF[n]のそれぞれは、一例としては、積分回路(又は、電流電荷(IQ)変換回路)の構成を有する回路ACTFとする。例えば、図6Eの回路ACTF[j]において、負荷LEa、負荷LEbを容量などとした構成としてもよい。
図58は、図29に示した回路MPと同様の回路構成を示している。但し、トランジスタM1、トランジスタM1r、トランジスタM1-2b、トランジスタM1-2br、トランジスタM1-3b、トランジスタM1-3brのそれぞれのサイズ、例えば、W長とL長は等しいことが好ましい。また、本動作方法の例は、実施の形態2で説明した図29の回路MPの動作例と異なる。
具体的には、図50の回路MPと同様に、回路MPに第2データ(例えば、ここではニューロンの信号の値とする。)を入力する際において、配線WX1L、又は配線X2Lの一方への高レベル電位の入力時間をtutとしたとき、配線X1L2b、又は配線X2L2bの一方への高レベル電位の入力時間は2tutとし、配線X1L3b、又は配線X2L3bの一方への高レベル電位の入力時間は4tutとして動作させるものとする。つまり、トランジスタM3、トランジスタM3rがオン状態、又はトランジスタM4、トランジスタM4rがオン状態となる時間がtutとしたとき、トランジスタM3-2b、トランジスタM3-2brがオン状態、又はトランジスタM4-2b、トランジスタM4-2brがオン状態となる時間を2tutとなり、トランジスタM3-3b、トランジスタM3-3brがオン状態、又はトランジスタM4-3b、トランジスタM4-3brがオン状態となる時間を4tutとなるように動作させる。そのため、図58の回路MPには、図29の回路MPと動作が異なることを示すため、配線WX1L、配線X2L、配線X1L2b、配線X2L2b、配線X1L3b、配線X2L3bの符号の付近に、パルス電圧の模式図と入力時間を図示している。
動作方法例1、動作方法例2で説明したとおり、回路MPに第1データ(例えば、ここでは重み係数とする。)を設定して、かつトランジスタM3、又はトランジスタM4がオン状態となる時間を定めることによって、配線OL又は配線OLBから、トランジスタM1を介して配線VEに流れる電荷量が決まる。また、回路MPに第1データ(重み係数)を設定して、トランジスタM3r、又はトランジスタM4rがオン状態となる時間を定めることによって、配線OL又は配線OLBから、トランジスタM1rを介して配線VErに流れる電荷量が決まる。
同様に、配線OL又は配線OLBから、トランジスタM1-2bを介して配線VEに流れる電荷量と、配線OL又は配線OLBから、トランジスタM1-2brを介して配線VErに流れる電荷量と、についても、トランジスタM3-2b、トランジスタM3-2br、トランジスタM4-2b、トランジスタM4-2brのそれぞれにおいて、オン状態となる時間を定めることによって決まる。また、配線OL又は配線OLBから、トランジスタM1-3bを介して配線VEに流れる電荷量と、配線OL又は配線OLBから、トランジスタM1-3brを介して配線VErに流れる電荷量と、についても、トランジスタM3-3b、トランジスタM3-3br、トランジスタM4-3b、トランジスタM4-3brのそれぞれにおいて、オン状態となる時間を定めることによって決まる。
そのため、図58の回路MPにおける、第2データ(ニューロンの信号の値)については、一例としては、動作方法例3で説明した図50の回路MPにおける第2データ(ニューロンの信号の値)の定義と同様とすることができる。
また、図58に示す回路HCS、回路HCSrとしては、実施の形態2の構成例5で説明したとおり、一例として、SRAMを有する構成、又はNOSRAMを有する構成とすることができる。ここでは、回路HCS、回路HCSrは、2値(デジタル値)の電位を保持するものとする。そのため、一例として、回路MPに設定される第1データ(重み係数)を“+1”とするとき、回路HCSに高レベル電位(ここでは、例えばVDDLとする。)、回路HCSrに低レベル電位(ここでは、例えばVSSとする。)が保持されているものとし、回路MPに設定される第1データ(重み係数)を“-1”とするとき、回路HCSに低レベル電位、回路HCSrに高レベル電位が保持されているものとし、回路MPに設定される第1データ(重み係数)を“0”とするとき、回路HCSに低レベル電位、回路HCSrに低レベル電位が保持されているものとする。
なお、回路HCSに電圧VDDLが保持されている場合、トランジスタM1に流れる電流の量をI1とする。また、回路HCSに電圧VSSが保持されている場合、トランジスタM1に流れる電流の量を0とする。同様に、回路HCSrに電圧VDDLが保持されている場合、トランジスタM1rに流れる電流の量をIutとし、回路HCSrに電圧VSSが保持されている場合、トランジスタM1rに流れる電流の量を0とする。
また、回路MCにおいて、トランジスタM1、トランジスタM1-2b、トランジスタM1-3bのそれぞれのサイズは互いに等しく、トランジスタM1、トランジスタM1-2b、トランジスタM1-3bのそれぞれのゲートが回路HCSに電気的に接続され、トランジスタM1、トランジスタM1-2b、トランジスタM1-3bのそれぞれの第1端子が配線VEに電気的に接続されているため、トランジスタM1、トランジスタM1-2b、トランジスタM1-3bのそれぞれのソース-ドレイン間には互いにほぼ等しい電流が流れる。そのため、トランジスタM1-2b、トランジスタM1-3bのそれぞれのソース-ドレイン間に流れる電流量は、トランジスタM1と同じIutとなる。また、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brのそれぞれは、トランジスタM1のサイズと等しく、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brのゲートが回路HCSrに電気的に接続され、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brのそれぞれの第1端子が配線VErに電気的に接続されているため、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brのそれぞれのソース-ドレイン間には、トランジスタM1のソース-ドレイン間に流れる電流と等しくなる。そのため、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brのそれぞれのソース-ドレイン間に流れる電流量は、トランジスタM1と同じIutとなる。
次に、図58の回路MPの具体的な動作例について説明する。
回路MPには、例えば、あらかじめ、“+1”の第1データ(重み係数)が設定されているものとする。
回路MPに第2データ(ニューロンの信号の値)として“+7”が入力されている場合、トランジスタM3が時間tutだけオン状態、トランジスタM4がオフ状態となることで、配線OLから、トランジスタM1を介して配線VEに流れる電荷量は、tut×Iutとなる。なお、ここで、tut×Iut=Qutとする。また、同様に、トランジスタM3-2bが時間2tutだけオン状態、トランジスタM4-2bがオフ状態となることで、配線OLから、トランジスタM1-2bを介して配線VEに流れる電荷量は、2tut×Iut=2Qutとなり、トランジスタM3-3bが時間4tutだけオン状態、トランジスタM4-3bがオフ状態となることで、配線OLから、トランジスタM1-3bを介して配線VEに流れる電荷量は、4tut×Iut=4Qutとなる。そのため、配線OLから、回路MCを介して配線VEに流れる電荷量は、Qut+2Qut+4Qut=7Qutとなる。一方、配線OLBから、回路MCrを介して配線VErに流れる電荷量は、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brがオフ状態であるため、0となる。
なお、回路MPに第2データ(ニューロンの信号の値)として“-7”が入力されている場合、配線OLBと回路MCとの間、配線OLと回路MCrとの間がそれぞれ導通状態となり、配線OLと回路MCrとの間、配線OLと回路MCとの間が非導通状態となるため、配線OLBから、回路MCを介して配線VEに流れる電荷量がQut+2Qut+4Qut=7Qutとなり、配線OLから、回路MCrを介して配線VErに流れる電荷量が、0となる。
また、回路MPには、例えば、あらかじめ、“-1”の第1データ(重み係数)が設定されている場合を考える。
回路MPに第2データ(ニューロンの信号の値)として“+7”が入力されている場合、トランジスタM3rが時間tutだけオン状態、トランジスタM4rがオフ状態となることで、配線OLBから、トランジスタM1rを介して配線VErに流れる電荷量は、tut×Iut=Qutとなる。また、同様に、トランジスタM4-2brが時間2tutだけオン状態、トランジスタM3-2brがオフ状態となることで、配線OLBから、トランジスタM1-2brを介して配線VErに流れる電荷量は、2tut×Iut=2Qutとなり、トランジスタM4-3brが時間4tutだけオン状態、トランジスタM3-3brがオフ状態となることで、配線OLBから、トランジスタM1-3brを介して配線VErに流れる電荷量は、4tut×Iut=4Qutとなる。そのため、配線OLBから、回路MCrを介して配線VErに流れる電荷量は、Qut+2Qut+4Qut=7Qutとなる。一方、配線OLから、回路MCを介して配線VEに流れる電荷量は、トランジスタM1r、M1-2br、M1-3brがオフ状態であるため、0となる。
なお、回路MPに第2データ(ニューロンの信号の値)として“-7”が入力されている場合、配線OLBと回路MCとの間、配線OLと回路MCrとの間がそれぞれ導通状態となり、配線OLと回路MCrとの間、配線OLと回路MCとの間が非導通状態となるため、配線OLから、回路MCrを介して配線VErに流れる電荷量がQut+2Qut+4Qut=7Qutとなり、配線OLBから、回路MCを介して配線VEに流れる電荷量が、0となる。
このため、回路MPに“+1”の第1データ(重み係数)を設定し、正の第2データ(ニューロンの信号の値)に応じて、回路MPに含まれているトランジスタM3、トランジスタM3-2b、トランジスタM3-3bから、オン状態にするトランジスタを一つ以上選択することによって、配線OLから、回路MCを介して配線VEに流れる電荷量を、Qut、2Qut、3Qut、4Qut、5Qut、6Qut、7Qutのいずれか一とすることができる。なお、このとき、配線OLBから、回路MCrを介して、配線VErに流れる電荷量は0となる。また、回路MPに“-1”の第1データ(重み係数)を設定し、正の第2データ(ニューロンの信号の値)に応じて、回路MPに含まれているトランジスタM3r、トランジスタM3-2br、トランジスタM3-3brから、オン状態にするトランジスタを一つ以上選択することによって、配線OLBから、回路MCrを介して配線VErに流れる電荷量を、Qut、2Qut、3Qut、4Qut、5Qut、6Qut、7Qutのいずれか一とすることができる。なお、このとき、配線OLから、回路MCを介して、配線VEに流れる電荷量は0となる。
また、回路MPに“+1”の第1データ(重み係数)を設定し、負の第2データ(ニューロンの信号の値)に応じて、回路MPに含まれているトランジスタM4、トランジスタM4-2b、トランジスタM4-3bから、オン状態にするトランジスタを一つ以上選択することによって、配線OLBから、回路MCを介して配線VEに流れる電荷量を、Qut、2Qut、3Qut、4Qut、5Qut、6Qut、7Qutのいずれか一とすることができる。なお、このとき、配線OLから、回路MCrを介して、配線VErに流れる電荷量は0となる。また、回路MPに“-1”の第1データ(重み係数)を設定し、負の第2データ(ニューロンの信号の値)に応じて、回路MPに含まれているトランジスタM4r、トランジスタM4-2br、トランジスタM4-3brから、オン状態にするトランジスタを一つ以上選択することによって、配線OLから、回路MCrを介して配線VErに流れる電荷量を、Qut、2Qut、3Qut、4Qut、5Qut、6Qut、7Qutのいずれか一とすることができる。なお、このとき、配線OLBから、回路MCを介して、配線VEに流れる電荷量は0となる。
なお、回路MPには、あらかじめ、“0”の第1データ(重み係数)が設定されている場合、トランジスタM1、トランジスタM1r、トランジスタM1-2b、トランジスタM1-2br、トランジスタM1-3b、トランジスタM1-3brのそれぞれはオフ状態となる。そのため、配線OL又は配線OLBから、回路MCを介して配線VEに電流は流れず、配線OL又は配線OLBから、回路MCrを介して配線VErに電流は流れない。換言すると、配線OL、配線OLBのそれぞれに流れる電荷量は0ということができる。
また、回路MPに“0”の第2データ(ニューロンの信号の値)が入力される場合、トランジスタM3、トランジスタM3-2b、トランジスタM3-3b、トランジスタM4、トランジスタM4-2b、トランジスタM4-3b、トランジスタM3r、トランジスタM3-2br、トランジスタM3-3br、トランジスタM4r、トランジスタM4-2br、トランジスタM4-3brのそれぞれはオフ状態となる。そのため、配線OL又は配線OLBから、回路MCを介して配線VEに電流は流れず、配線OL又は配線OLBから、回路MCrを介して配線VErに電流は流れない。換言すると、配線OL、配線OLBのそれぞれに流れる電荷量は0ということができる。
ここで、回路ACTFの積分回路に着目する。配線OL又は配線OLBから、回路MCを介して配線VEに電流が流れるとき、又は、配線OL又は配線OLBから、回路MCrを介して配線VErに電流が流れるとき、図8Aにおいて、スイッチSWO、スイッチSWOBはオン状態にし、スイッチSWI、スイッチSWIB、スイッチSWL、スイッチSWLB、スイッチSWH、スイッチSWHBはオフ状態にして、配線OL及び配線OLBと回路AFPとの間を導通状態にすることで、回路ACTFに含まれている積分回路の容量に配線OL、配線OLBに流れる電荷量を蓄積することができる。この結果、回路ACTFは、配線OLに流れた電荷量QOLと配線OLBに流れた電荷量QOLBに応じたニューロンの信号zj
(k)を出力することができる。
上述の動作例より、第1データ(重み係数)を“+1”又は“-1”として、第2データ(ニューロンの信号の値)を上述の通りに定義した場合の、配線OLに流れた電荷量QOLと配線OLBに流れた電荷量QOLBを下の表に記載する。
上記の通り、第1データ(重み係数)と、第2データ(ニューロンの信号の値)を定めることにより、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積の結果に応じて、配線OLから回路MC又は回路MCrに電流が流れる電荷量QOL、及び配線OLBから回路MC又は回路MCrに電流が流れる電荷量QOLBが決まる。また、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積の結果が正の値の場合、配線OLから回路MC又は回路MCrに電流が流れ、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積の結果が負の値の場合、配線OLBから回路MC又は回路MCrに電流が流れる。つまり、電荷量QOL、及び電荷量QOLBから、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積を算出することができる。例えば、第1データ(重み係数)を“-1”又は“+1”とし、第2データ(ニューロンの信号の値)を“-7”乃至“+7”のいずれか一し、かつ、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積が正の数である場合、上述の表において、配線OLから回路MC又は回路MCrに電流が流れる電荷量QOLにおいて、Qutを“+1”に置き換えることで、電荷量QOLから第1データ(重み係数)と第2データ(ニューロンの信号の値)との積を求めることができる。また、例えば、第1データ(重み係数)を“-1”又は“+1”とし、第2データ(ニューロンの信号の値)を“-7”乃至“+7”のいずれか一し、かつ、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積が負の数である場合、上述の表において、配線OLから回路MC又は回路MCrに電流が流れる電荷量QOLBにおいて、Qutを“-1”に置き換えることで、電荷量QOLBから第1データ(重み係数)と第2データ(ニューロンの信号の値)との積を求めることができる。
また、本発明の一態様は、上述の定義に限定されない。上述では、第2データ(ニューロンの信号の値)として、正の多値、負の多値、0を定義したが、例えば、入力期間を離散的な値でなく連続的な値をとることによって(aを正の実数として、入力期間をa×tutとすることによって)、第2データ(ニューロンの信号の値)をアナログ値として扱うことができる。
また、例えば、トランジスタM3、トランジスタM3rがオン状態、又はトランジスタM4、トランジスタM4rがオン状態となる時間をtutとし、トランジスタM3-2b、M3-2brがオン状態、又はトランジスタM4-2b、トランジスタM4-2brがオン状態となる時間を2tutとし、トランジスタM3-3b、トランジスタM3-3brがオン状態、又はトランジスタM4-3b、トランジスタM4-3brがオン状態となる時間を4tutとしたとき、配線WX1Lに高レベル電位、配線X2Lに低レベル電位が入力され、かつ配線X1L2b、配線X2L2b、配線X1L3b、配線X2L3bに低レベル電位が入力されたときの第2データ(ニューロンの信号の値)を“+1”ではなく“+0.1”などの実数として定義してもよい。
また、本発明の一態様の半導体装置は、図58の回路MPの構成に限定されない。例えば、図58の回路MPでは、電流量を設定するトランジスタとして、回路MC内には、トランジスタM1、トランジスタM1-2b、トランジスタM1-3bの3個とし、回路MCr内は、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brの3個としたが、回路MC、回路MCrのそれぞれにおいて、電流量を設定するトランジスタは2個でもよいし、4個以上としてもよい。
また、本発明の一態様の半導体装置及び当該半導体装置の動作方法は、上述に限定されない。上述では、図58の回路MPのトランジスタM1、トランジスタM1r、トランジスタM1-2b、トランジスタM1-2br、トランジスタM1-3b、トランジスタM1-3brのそれぞれのサイズを等しいものとして説明したが、例えば、図51の回路MPのとおり、トランジスタM1、トランジスタM1r、トランジスタM1-2b、トランジスタM1-2brのW長とL長との比をW/Lとし、トランジスタM1-3b、トランジスタM1-3brのW長とL長との比を2W/Lとしてもよい。回路HCSに電位VDDLが保持されている場合、トランジスタM1のソース-ドレイン間に電流量としてI1の電流が流れるものとすると、トランジスタM1-2bのW長とL長の比と、トランジスタM1-3bのW長とL長の比と、のそれぞれはトランジスタM1のW長とL長の比の2倍であるため、トランジスタM1-2b、トランジスタM1-3bのそれぞれのソース-ドレイン間には電流量として2I1が流れる。同様に、回路HCSrに電位VDDLが保持されている場合、トランジスタM1rのソース-ドレイン間に電流量としてI1の電流が流れるものとすると、トランジスタM1-2brのW長とL長の比と、トランジスタM1-3brのW長とL長の比と、のそれぞれはトランジスタM1rのW長とL長の比の2倍であるため、トランジスタM1-2br、トランジスタM1-3brのそれぞれのソース-ドレイン間には電流量として2I1が流れる。
ここで、トランジスタM3、トランジスタM3rがオン状態、又はトランジスタM4、トランジスタM4rがオン状態となる時間をtutとし、トランジスタM3-2b、トランジスタM3-2brがオン状態、又はトランジスタM4-2b、トランジスタM4-2brがオン状態となる時間を2tutとし、トランジスタM3-3b、トランジスタM3-3brがオン状態、又はトランジスタM4-3b、トランジスタM4-3brがオン状態となる時間を2tutとする。つまり、回路MPに第2データ(ニューロンの信号の値)入力する際において、配線WX1L、又は配線X2Lの一方への高レベル電位の入力時間はtutとし、配線X1L2b、又は配線X2L2bの一方への高レベル電位の入力時間は2tutとし、配線X1L3b、又は配線X2L3bの一方への高レベル電位の入力時間は2tutとする。図59の回路MPには、配線WX1L、配線X2L、配線X1L2b、配線X2L2b、配線X1L3b、配線X2L3bの符号の付近に、図58とは異なる、パルス電圧の模式図と入力時間を示している。
回路HCSに電位VDDLが保持されて、トランジスタM1のソース-ドレイン間に電流量としてIutの電流が流れるとき、トランジスタM3-3b又はトランジスタM4-3bの一方が時間2tutだけオン状態、トランジスタM3-3b又はトランジスタM4-3bの他方がオフ状態となることで、配線OL又は配線OLBから、トランジスタM1-3bを介して配線VEに流れる電荷量は、2tut×2Iut=4Qutとなる。なお、配線OLからトランジスタM1を介して配線VEに流れる電荷量と、配線OLからトランジスタM1-2bを介して配線VEに流れる電荷量と、については上述の動作例と条件が同じであるため、説明を省略する。
回路HCSrに電位VDDLが保持されて、トランジスタM1rのソース-ドレイン間に電流量としてI1の電流が流れるとき、トランジスタM3-3br又はトランジスタM4-3brの一方が時間2tutだけオン状態、トランジスタM3-3br又はトランジスタM4-3brがオフ状態となることで、配線OL又は配線OLBから、トランジスタM1-3brを介して配線VErに流れる電荷量は、2tut×2Iut=4Qutとなる。なお、配線OLBからトランジスタM1rを介して配線VErに流れる電荷量と、配線OLBからトランジスタM1-2brを介して配線VErに流れる電荷量と、については上述の動作例と条件が同じであるため、説明を省略する。
上述の通り、トランジスタM1、トランジスタM1r、トランジスタM1-2b、トランジスタM1-2br、トランジスタM1-3b、トランジスタM1-3brのそれぞれのサイズと、配線X1L、配線X2L、配線X1L2b、配線X2L2b、配線X1L3b、配線X2L3bのそれぞれへの高レベル電位の入力時間と、を適切に変更することによって、図58に示した回路MPの動作例と同様に、動作することができる。
また、本発明の一態様の半導体装置は、図58、図59の回路MPの構成に限定されない。例えば、図58の回路MPでは、回路HCSに保持されている電位に応じた電流を流すトランジスタを、トランジスタM1、トランジスタM1-2b、トランジスタM1-3bの3個とし、回路HCSrに保持されている電位に応じた電流を流すトランジスタを、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brの3個としたが、回路MC、MCrのそれぞれにおいて、電流量を設定するトランジスタは2個、又は4個以上としてもよい。また、当該トランジスタに応じて、保持部の個数、配線の数も増減してもよい。
また、本発明の一態様の半導体装置の動作方法は、上述に限定されない。例えば、動作方法例2で説明した通り、図57の回路MPにおいて、配線X1L、配線X2L、配線X1L2b、配線X2L2b、配線X1L3b、配線X2L3bのそれぞれに入力される信号の入力期間を、複数のサブ期間に分けてもよい。
また、本動作方法例では、回路MPは、説明の煩雑さを避けるため、配線OL、配線OLBには1個の回路MPのみが電気的接続されている場合を考えたが、図11の演算回路150のとおり、配線OL、配線OLBには複数の回路MPを電気的に接続してもよい。これにより、配線OL、配線OLBのそれぞれから複数の回路MPに入力された電荷量の合計を、回路ACTFに含まれる積分回路の容量に蓄積することができ、回路ACTFは、配線OL、配線OLBに流れたそれぞれの電荷量に応じたニューロンの信号zj
(k)を出力することができる。
なお、本動作例では、図11の演算回路150を例としたが、状況に応じて、別の演算回路に変更することでも、本動作例と同様の動作を行うことができる。
なお、本動作方法例は、本明細書で示す他の動作方法例などと適宜組み合わせることができる。
<動作方法例8>
ここでは、図60の回路MPを適用した図11の演算回路150の動作方法について、説明する。
動作方法例1乃至動作方法例7と同様に、説明の煩雑さを避けるため、配線OL、配線OLBに流れる電流の変化については、配線OL、配線OLBに電気的に接続されている1個の回路MPのみによって行われるものとする。また、回路MPに電気的に接続されている配線VE、配線VErのそれぞれは、回路MPに対して、定電圧としてVSSを与えるものとする。また、回路AFPに含まれている回路ACTF[1]乃至回路ACTF[n]のそれぞれは、一例としては、積分回路(または、電流電荷(IQ)変換回路)の構成を有する回路ACTFとする。例えば、図6Eの回路ACTF[j]において、負荷LEa、負荷LEbを容量などとした構成としてもよい。なお、例えば、1つの保持部(例として、回路HCS)に接続されたトランジスタは、3個(例として、トランジスタM1、トランジスタM1-2x、トランジスタM1-3xという3個)の場合を示したが、本発明の一態様は、これに限定されない。各保持部には、任意の数のトランジスタを配置してもよい。同様に、トランジスタM3、トランジスタM3-2x、トランジスタM3-3xについても、3個(トランジスタM3、トランジスタM3-2x、トランジスタM3-3xや、トランジスタM4、トランジスタM4-2x、トランジスタM4-3x)の場合を示したが、本発明の一態様は、これに限定されず、任意の数のトランジスタを配置してもよい。また、保持部は、3個(例として、回路HCS、回路HCS-2b、回路HCS-3b)の場合を示したが、本発明の一態様は、これに限定されない。任意の数の保持部を配置してもよい。
図60の回路MPにおいて、回路MCは、トランジスタM1、トランジスタM1-2x、トランジスタM1-3x、トランジスタM1-2b、トランジスタM1-2x-2b、トランジスタM1-3x-2b、トランジスタM1-3b、トランジスタM1-2x-3b、トランジスタM1-3x-2b、トランジスタM3、トランジスタM3-2x、トランジスタM3-3x、トランジスタM4、トランジスタM4-2x、トランジスタM4-3x、回路HCS、回路HCS-2b、回路HCS-3bを有する。
なお、トランジスタM1、トランジスタM1-2x、トランジスタM1-3xのそれぞれのサイズ、例えば、W長とL長は、互いに等しいことが好ましい。また、トランジスタM1-2b、トランジスタM1-2x-2b、トランジスタM1-3x-2bのサイズは、互いに等しいことが好ましい。また、トランジスタM1-3b、トランジスタM1-2x-3b、トランジスタM1-3x-3bのサイズは、互いに等しいことが好ましい。
更に、トランジスタM1、トランジスタM1-2x、トランジスタM1-3xのそれぞれのW長とL長の比をW/Lとしたとき、トランジスタM1-2b、トランジスタM1-2x-2b、トランジスタM1-3x-2bのそれぞれのW長とL長の比を2W/Lとし、トランジスタM1-3b、トランジスタM1-2x-3b、トランジスタM1-3x-3bのそれぞれのW長とL長の比を4W/Lとするのが好ましい。つまり、保持部(例として、回路HCS、回路HCS-2b、回路HCS-3bなど)と、ゲートに電気的に接続されているトランジスタ(例として、トランジスタM1、トランジスタM1-2b、トランジスタM1-3bなど)のW長とL長の比W/Lは、保持部の数に応じて2のべき乗で大きくしていけばよい。
回路HCS、回路HCS-2b、回路HCS-3bのそれぞれは、図29の回路MPに含まれている回路HCSと同様に、配線OL、又は配線OLBの一方、又は両方から入力される情報(電位、電流など)を受け取って、当該情報に応じた電位を保持する機能を有する。また、回路HCSは、電気的に接続されているトランジスタのゲートに保持した当該電位を印加する機能を有する。回路HCS、回路HCS-2b、回路HCS-3bとしては、例えば、SRAMを有する構成やNOSRAMを有する構成とすることができる。図60の回路MPに含まれている回路HCS、回路HCS-2b、回路HCS-3bのそれぞれは、デジタル値(2値)として、高レベル電位(ここでは、例えばVDDL)又は低レベル電位(ここでは、例えば、VSS)の一方を保持するものとする。
なお、トランジスタM1-2b、トランジスタM1-2x-2b、トランジスタM1-3x-2bのそれぞれのゲートは、回路HCS-2bに電気的に接続されている。トランジスタM1-3b、トランジスタM1-2x-3b、トランジスタM1-3x-2bのそれぞれのゲートは、回路HCS-3bに電気的に接続されている。
トランジスタM1、トランジスタM1-2x、トランジスタM1-3xのそれぞれのゲートに、回路HCSに保持されているVDDLが入力されているとき、トランジスタM1、トランジスタM1-2x、トランジスタM1-3xのそれぞれのソース-ドレイン間に流れる電流量をIutとする。トランジスタM1-2b、トランジスタM1-2x-2b、トランジスタM1-3x-2bのそれぞれのW長とL長の比は、トランジスタM1のW長とL長の比の2倍であるため、トランジスタM1-2b、トランジスタM1-2x-2b、トランジスタM1-3x-2bのゲートに、回路HCS-2bに保持されているVDDが入力されているとき、トランジスタM1-2b、トランジスタM1-2x-2b、トランジスタM1-3x-2bのそれぞれのソース-ドレイン間に流れる電流量は2Iutとなる。また、トランジスタM1-3b、トランジスタM1-2x-3b、トランジスタM1-3x-3bのそれぞれのW長とL長の比は、トランジスタM1のW長とL長の比の4倍であるため、トランジスタM1-3b、トランジスタM1-2x-3b、トランジスタM1-3x-3bのゲートに、回路HCS-3bに保持されているVDDが入力されているとき、トランジスタM1-3b、トランジスタM1-2x-3b、トランジスタM1-3x-3bのそれぞれのソース-ドレイン間に流れる電流量は4Iutとなる。
トランジスタM1、トランジスタM1-2x、トランジスタM1-3x、トランジスタM1-2b、トランジスタM1-2x-2b、トランジスタM1-3x-2b、トランジスタM1-3b、トランジスタM1-2x-3b、トランジスタM1-3x-2bのそれぞれの第1端子は、配線VEに電気的に接続されている。トランジスタM1、トランジスタM1-2x、トランジスタM1-3xのそれぞれのゲートは、回路HCSに電気的に接続されている。
トランジスタM1、トランジスタM1-2b、トランジスタM1-3bのそれぞれの第2端子は、トランジスタM3の第1端子と、トランジスタM4の第1端子と、に電気的に接続されている。トランジスタM1-2x、トランジスタM1-2x-2b、トランジスタM1-2x-3bのそれぞれの第2端子は、トランジスタM3-2xの第1端子と、トランジスタM4-2xの第1端子と、に電気的に接続されている。トランジスタM1-3x、トランジスタM1-3x-2b、トランジスタM1-3x-3bのそれぞれの第2端子は、トランジスタM3-3xの第1端子と、トランジスタM4-3xの第1端子と、に電気的に接続されている。
トランジスタM3のゲートは、配線X1Lに電気的に接続され、トランジスタM4のゲートは、配線X2Lに電気的に接続されている。トランジスタM3-2xのゲートは、配線X1L2xに電気的に接続され、トランジスタM4-2xのゲートは、配線X2L2xに電気的に接続されている。トランジスタM3-3xのゲートは、配線X1L3xに電気的に接続され、トランジスタM4-3xのゲートは、配線X2L3xに電気的に接続されている。
トランジスタM3、トランジスタM3-2x、トランジスタM3-3xのそれぞれの第2端子は、配線OLに電気的に接続され、トランジスタM4、トランジスタM4-2x、トランジスタM4-3xのそれぞれの第2端子は、配線OLBに電気的に接続されている。
なお、図60の回路MPにおいて、回路MCrは、回路MCとほぼ同様の回路構成となっている。そのため、回路MCrの有する回路素子などには、回路MCの有する回路素子などと区別をするため、符号に「r」を付している。また、トランジスタM3r、トランジスタM3-2xr、トランジスタM3-3xrのそれぞれの第2端子は、配線OLBに電気的に接続され、トランジスタM4、トランジスタM4-2x、トランジスタM4-3xのそれぞれの第2端子は、配線OLに電気的に接続されている。
図60の回路MPに設定される第1データ(ここでは、例えば、重み係数とする。)について説明する。図60の回路MPに設定される第1データ(重み係数)は、回路HCS、HCS-2b、回路HCS-3b、回路HCSr、回路HCS-2br、回路HCS-3brのそれぞれに保持されている電位の組み合わせによって、定義することができる。具体的には、動作方法例6で説明した図57の回路MPのとおり、回路HCS、回路HCS-2b、回路HCS-3b、回路HCSr、回路HCS-2br、回路HCS-3brのそれぞれに所定の電位を保持して、第1データ(重み係数)を設定すればよい。上記より、図60の回路MPにおける、第1データ(重み係数)については、一例として、動作方法例6で説明した図57の回路MPにおける第1データ(重み係数)の定義と同様とすることができる。
次に、回路MPに入力される第2データ(ここでは、例えば、ニューロンの信号の値とする。)について説明する。前提として、回路MPに第2データ(ニューロンの信号の値)を入力する際において、配線X1L、又は配線X2Lの一方への高レベル電位の入力時間をtutとしたとき、配線X1L2x、又は配線X2L2xの一方への高レベル電位の入力時間は2tutとし、配線X1L3x、又は配線X2L3xの一方への高レベル電位の入力時間は4tutとして動作させるものとする。つまり、トランジスタM3、トランジスタM3rがオン状態、又はトランジスタM4、トランジスタM4rがオン状態となる時間がtutとしたとき、トランジスタM3-2x、トランジスタM3-2xrがオン状態、又はトランジスタM4-2b、トランジスタM4-2brがオン状態となる時間を2tutとし、トランジスタM3-3x、トランジスタM3-3xrがオン状態、又はトランジスタM4-3x、トランジスタM4-3xrがオン状態となる時間を4tutとするように動作させる。
動作方法例1、動作方法例2で説明したとおり、回路MPに第1データ(例えば、ここでは重み係数とする。)を設定して、かつトランジスタM3、又はトランジスタM4がオン状態となる時間を定めることによって、配線OL又は配線OLBから、トランジスタM1、M1-2b、トランジスタM1-3bを介して配線VEに流れる電荷量が決まる。また、回路MPに第1データ(重み係数)を設定して、トランジスタM3r、又はトランジスタM4rがオン状態となる時間を定めることによって、配線OL又は配線OLBから、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brを介して配線VErに流れる電荷量が決まる。
同様に、配線OL又は配線OLBから、トランジスタM1-2x、M1-2x-2b、M1-2x-3bを介して配線VEに流れる電荷量と、配線OL又は配線OLBから、トランジスタM1-2xr、トランジスタM1-2x-2br、トランジスタM1-2x-3brを介して配線VErに流れる電荷量と、についても、トランジスタM3-2b、トランジスタM3-2br、トランジスタM4-2b、トランジスタM4-2brのそれぞれにおいて、オン状態となる時間を定めることによって決まる。また、配線OL又は配線OLBから、トランジスタM1-3x、トランジスタM1-3x-2b、トランジスタM1-3x-3bを介して配線VEに流れる電荷量と、配線OL又は配線OLBから、トランジスタM1-3xr、トランジスタM1-3x-2br、トランジスタM1-3x-3brを介して配線VErに流れる電荷量と、についても、トランジスタM3-3b、トランジスタM3-3br、トランジスタM4-3b、トランジスタM4-3brのそれぞれにおいて、オン状態となる時間を定めることによって決まる。
そのため、図60の回路MPにおける、第2データ(ニューロンの信号の値)については、一例としては、動作方法例3で説明した図50の回路MPにおける第2データ(ニューロンの信号の値)の定義と同様とすることができる。
上述の通り、第1データ(重み係数)と、第2データ(ニューロンの信号の値)を定めることにより、配線OLから回路MC又は回路MCrに電流が流れる電荷量、及び配線OLBから回路MC又は回路MCrに電流が流れる電荷量によって、第1データ(重み係数)と、第2データ(ニューロンの信号の値)との積を表現することができる。
次に、図60の回路MPの具体的な動作例について説明する。
回路MPには、例えば、あらかじめ、“+7”の第1データ(重み係数)が設定されているものとする。このとき、トランジスタM1、トランジスタM1-2x、トランジスタM1-3xのソース-ドレイン間には電流Iutが流れ、トランジスタM1-2b、トランジスタM1-2x-2b、トランジスタM1-3x-2bのソース-ドレイン間には電流2Iutが流れ、トランジスタM1-3b、トランジスタM1-2x-3b、トランジスタM1-3x-3bのソース-ドレイン間には電流4Iutが流れる。一方、トランジスタM1r、トランジスタM1-2xr、トランジスタM1-3xr、トランジスタM1-2br、トランジスタM1-2x-2br、トランジスタM1-3x-2br、トランジスタM1-3br、トランジスタM1-2x-3br、トランジスタM1-3x-3brのそれぞれのソース-ドレイン間に流れる電流量は0となる。
回路MPに第2データ(ニューロンの信号の値)として“+7”が入力されている場合、トランジスタM3が時間tutだけオン状態、トランジスタM4がオフ状態となることで、配線OLから、トランジスタM1、トランジスタM1-2b、トランジスタM1-3bのそれぞれを介して配線VEに流れる電荷量は、tut×Iut+tut×2Iut+tut×4Iut=7tut×Iutとなる。なお、ここで、tut×Iut=Qutとする。また、トランジスタM3-2xが時間2tutだけオン状態、トランジスタM4-2xがオフ状態となることで、配線OLから、トランジスタM1-2x、トランジスタM1-2x-2b、トランジスタM1-2x-3bのそれぞれを介して配線VEに流れる電荷量は、2tut×Iut+2tut×2Iut+2tut×4Iut=14tut×Iutとなる。また、トランジスタM3-3xが時間4tutだけオン状態、トランジスタM4-3xがオフ状態となることで、配線OLから、トランジスタM1-3x、トランジスタM1-3x-2b、トランジスタM1-3x-3bのそれぞれを介して配線VEに流れる電荷量は、4tut×Iut+4tut×2Iut+4tut×4Iut=28tut×Iutとなる。そのため、配線OLから、回路MCを介して配線VEに流れる電荷量は、7Qut+14Qut+28Qut=49Qutとなる。一方、配線OLBから、回路MCrを介して配線VErに流れる電荷量は、トランジスタM1r、トランジスタM1-2xr、トランジスタM1-3xr、トランジスタM1-2br、トランジスタM1-2x-2br、トランジスタM1-3x-2br、トランジスタM1-3br、トランジスタM1-2x-3br、トランジスタM1-3x-3brのそれぞれがオフ状態であるため、0となる。
なお、回路MPに第2データ(ニューロンの信号の値)として“-7”が入力されている場合、配線OLBと回路MCとの間、配線OLと回路MCrとの間がそれぞれ導通状態となり、配線OLと回路MCrとの間、配線OLと回路MCとの間が非導通状態となるため、配線OLBから、回路MCを介して配線VEに流れる電荷量が7Qut+14Qut+28Qut=49Qutとなり、配線OLから、回路MCrを介して配線VErに流れる電荷量が、0となる。
また、回路MPには、例えば、あらかじめ、“-7”の第1データ(重み係数)が設定されているものとする。このとき、トランジスタM1r、トランジスタM1-2xr、トランジスタM1-3xrのソース-ドレイン間には電流Iutが流れ、トランジスタM1-2br、トランジスタM1-2x-2br、トランジスタM1-3x-2brのソース-ドレイン間には電流2Iutが流れ、トランジスタM1-3br、トランジスタM1-2x-3br、トランジスタM1-3x-3brのソース-ドレイン間には電流4Iutが流れる。一方、トランジスタM1、トランジスタM1-2x、トランジスタM1-3x、トランジスタM1-2b、トランジスタM1-2x-2b、トランジスタM1-3x-2b、トランジスタM1-3b、トランジスタM1-2x-3b、トランジスタM1-3x-3bのそれぞれのソース-ドレイン間に流れる電流量は0となる。
回路MPに第2データ(ニューロンの信号の値)として“+7”が入力されている場合、トランジスタM3rが時間tutだけオン状態、トランジスタM4rがオフ状態となることで、配線OLBから、トランジスタM1r、トランジスタM1-2br、トランジスタM1-3brのそれぞれを介して配線VErに流れる電荷量は、tut×Iut+tut×2Iut+tut×4Iut=7tut×Iutとなる。なお、ここで、tut×Iut=Qutとする。また、トランジスタM3-2xrが時間2tutだけオン状態、トランジスタM4-2xrがオフ状態となることで、配線OLから、トランジスタM1-2xr、トランジスタM1-2x-2br、トランジスタM1-2x-3brのそれぞれを介して配線VErに流れる電荷量は、2tut×Iut+2tut×2Iut+2tut×4Iut=14tut×Iutとなる。また、トランジスタM3-3xrが時間4tutだけオン状態、トランジスタM4-3xrがオフ状態となることで、配線OLBから、トランジスタM1-3xr、トランジスタM1-3x-2br、トランジスタM1-3x-3brのそれぞれを介して配線VErに流れる電荷量は、4tut×Iut+4tut×2Iut+4tut×4Iut=28tut×Iutとなる。そのため、配線OLBから、回路MCrを介して配線VErに流れる電荷量は、7Qut+14Qut+28Qut=49Qutとなる。一方、配線OLから、回路MCを介して配線VEに流れる電荷量は、トランジスタM1、トランジスタM1-2x、トランジスタM1-3x、トランジスタM1-2b、トランジスタM1-2x-2b、トランジスタM1-3x-2b、トランジスタM1-3b、トランジスタM1-2x-3b、トランジスタM1-3x-3bのそれぞれがオフ状態であるため、0となる。
なお、回路MPに第2データ(ニューロンの信号の値)として“-7”が入力されている場合、配線OLBと回路MCとの間、配線OLと回路MCrとの間がそれぞれ導通状態となり、配線OLと回路MCrとの間、配線OLと回路MCとの間が非導通状態となるため、配線OLBから、回路MCを介して配線VEに流れる電荷量が7Qut+14Qut+28Qut=49Qutとなり、配線OLから、回路MCrを介して配線VErに流れる電荷量が、0となる。
上記より、回路MPに正の第1データ(重み係数)として“+1”乃至“+7”の7値のいずれか一を設定し、正の第2データ(ニューロンの信号の値)に応じて、回路MPに含まれているトランジスタM3、トランジスタM3-2x、トランジスタM3-3xから、オン状態にするトランジスタを一つ以上選択することによって、配線OLから、回路MCを介して配線VEに流れる電荷量を、Qut刻みで“Qut”乃至“49Qut”のいずれか一とすることができる。なお、このとき、配線OLBから、回路MCrを介して、配線VErに流れる電荷量は0となる。また、回路MPに正の第1データ(重み係数)として“-7”乃至“-1”の7値のいずれか一を設定し、正の第2データ(ニューロンの信号の値)に応じて、回路MPに含まれているトランジスタM3r、トランジスタM3-2xr、トランジスタM3-3xrから、オン状態にするトランジスタを一つ以上選択することによって、配線OLBから、回路MCrを介して配線VErに流れる電荷量を、Qut刻みで“Qut”乃至“49Qut”のいずれか一とすることができる。なお、このとき、配線OLから、回路MCを介して、配線VEに流れる電荷量は0となる。
また、回路MPに正の第1データ(重み係数)として“+1”乃至“+7”の7値のいずれか一を設定し、負の第2データ(ニューロンの信号の値)に応じて、回路MPに含まれているトランジスタM4、トランジスタM4-2x、トランジスタM4-3xから、オン状態にするトランジスタを一つ以上選択することによって、配線OLBから、回路MCを介して配線VEに流れる電荷量を、Qut刻みで“Qut”乃至“49Qut”のいずれか一とすることができる。なお、このとき、配線OLから、回路MCrを介して、配線VErに流れる電荷量は0となる。また、回路MPに正の第1データ(重み係数)として“-7”乃至“-1”の7値のいずれか一を設定し、負の第2データ(ニューロンの信号の値)に応じて、回路MPに含まれているトランジスタM4r、トランジスタM4-2xr、トランジスタM4-3xrから、オン状態にするトランジスタを一つ以上選択することによって、配線OLから、回路MCrを介して配線VErに流れる電荷量を、Qut刻みで“Qut”乃至“49Qut”のいずれか一とすることができる。なお、このとき、配線OLBから、回路MCを介して、配線VEに流れる電荷量は0となる。
なお、回路MPには、あらかじめ、“0”の第1データ(重み係数)が設定されている場合、トランジスタM1、トランジスタM1-2x、トランジスタM1-3x、トランジスタM1-2b、トランジスタM1-2x-2b、トランジスタM1-3x-2b、トランジスタM1-3b、トランジスタM1-2x-3b、トランジスタM1-3x-3b、トランジスタM1r、トランジスタM1-2xr、トランジスタM1-3xr、トランジスタM1-2br、トランジスタM1-2x-2br、トランジスタM1-3x-2br、トランジスタM1-3br、トランジスタM1-2x-3br、トランジスタM1-3x-3brのそれぞれはオフ状態となる。そのため、配線OL又は配線OLBから、回路MCを介して配線VEに電流は流れず、配線OL又は配線OLBから、回路MCrを介して配線VErに電流は流れない。換言すると、配線OL、配線OLBのそれぞれに流れる電荷量は0ということができる。
また、回路MPに“0”の第2データ(ニューロンの信号の値)が入力される場合、トランジスタM3、トランジスタM3-2x、トランジスタM3-3x、トランジスタM4、トランジスタM4-2x、トランジスタM4-3x、トランジスタM3r、トランジスタM3-2xr、トランジスタM3-3xr、トランジスタM4r、トランジスタM4-2xr、トランジスタM4-3xrのそれぞれはオフ状態となる。そのため、配線OL又は配線OLBから、回路MCを介して配線VEに電流は流れず、配線OL又は配線OLBから、回路MCrを介して配線VErに電流は流れない。換言すると、配線OL、配線OLBのそれぞれに流れる電荷量は0ということができる。
ここで、回路ACTFの積分回路に着目する。配線OL又は配線OLBから、回路MCを介して配線VEに電流が流れるとき、又は、配線OL又は配線OLBから、回路MCrを介して配線VErに電流が流れるとき、図8Aにおいて、スイッチSWO、スイッチSWOBはオン状態にし、スイッチSWI、スイッチSWIB、スイッチSWL、スイッチSWLB、スイッチSWH、スイッチSWHBはオフ状態にして、配線OL及びOLBと回路AFPとの間を導通状態にすることで、回路ACTFに含まれている積分回路の容量に配線OL、配線OLBに流れる電荷量を蓄積することができる。この結果、回路ACTFは、配線OLに流れた電荷量QOLと配線OLBに流れた電荷量QOLBに応じたニューロンの信号zj
(k)を出力することができる。
上述の動作例より、第1データ(重み係数)を“0”を除く“-7”乃至“+7”のいずれか一として、第2データ(ニューロンの信号の値)を“0”を除く“-7”乃至“+7”のいずれか一した場合の、配線OLに流れた電荷量QOLと配線OLBに流れた電荷量QOLBを下の表に記載する。なお、第1データ(重み係数)、第2データ(ニューロンの信号の値)の少なくとも一方が“0”のときは、QOL=0、QOLB=0となる。
上記の通り、第1データ(重み係数)と、第2データ(ニューロンの信号の値)を定めることにより、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積の結果に応じて、配線OLから回路MC又は回路MCrに電流が流れる電荷量QOL、及び配線OLBから回路MC又は回路MCrに電流が流れる電荷量QOLBが決まる。また、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積の結果が正の値の場合、配線OLから回路MC又は回路MCrに電流が流れ、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積の結果が負の値の場合、配線OLBから回路MC又は回路MCrに電流が流れる。つまり、電荷量QOL、及び電荷量QOLBから、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積を算出することができる。例えば、第1データ(重み係数)を“-7”乃至“+7”のいずれか一とし、第2データ(ニューロンの信号の値)を“-7”乃至“+7”のいずれか一し、かつ、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積が正の数である場合、上述の表において、配線OLから回路MC又は回路MCrに電流が流れる電荷量QOLにおいて、Qutを“+1”に置き換えることで、電荷量QOLから第1データ(重み係数)と第2データ(ニューロンの信号の値)との積を求めることができる。また、例えば、第1データ(重み係数)を“-7”乃至“+7”のいずれか一とし、第2データ(ニューロンの信号の値)を“-7”乃至“+7”のいずれか一し、かつ、第1データ(重み係数)と第2データ(ニューロンの信号の値)との積が負の数である場合、上述の表において、配線OLから回路MC又は回路MCrに電流が流れる電荷量QOLBにおいて、Qutを“-1”に置き換えることで、電荷量QOLBから第1データ(重み係数)と第2データ(ニューロンの信号の値)との積を求めることができる。
また、本発明の一態様は、上述の定義に限定されない。上述では、第2データ(ニューロンの信号の値)として、正の多値、負の多値、0を定義したが、例えば、入力期間を離散的な値でなく連続的な値をとることによって(aを正の実数として、入力期間をa×tutとすることによって)、第2データ(ニューロンの信号の値)をアナログ値として扱うことができる。
また、本発明の一態様の半導体装置は、図60の回路MPの構成に限定されない。例えば、図60の回路MPでは、電位を保持する回路を、回路HCS、回路HCS-2b、回路HCS-3b、回路HCSr、回路HCS-2br、回路HCS-3brの6個とし、それぞれの回路にゲートを電気的に接続しているトランジスタ(トランジスタM1、トランジスタM1-2x、トランジスタM1-3x)の数を3個としたが、第1データ(重み係数)及び第2データ(ニューロンの信号の値)の取り得る値に応じて、電位を保持する回路及び当該トランジスタの数を増減してもよい。また、当該トランジスタに応じて、保持部の個数、配線の数も増減してもよい。
また、本発明の一態様の半導体装置の動作方法は、上述に限定されない。例えば、動作方法例2で説明した通り、図60の回路MPにおいて、配線X1L、配線X2L、配線X1L2b、配線X2L2b、配線X1L3b、配線X2L3bのそれぞれに入力される信号の入力期間を、複数のサブ期間に分けてもよい。
また、本動作方法例では、回路MPは、説明の煩雑さを避けるため、配線OL、配線OLBには1個の回路MPのみが電気的接続されている場合を考えたが、図11の演算回路150のとおり、配線OL、配線OLBには複数の回路MPを電気的に接続してもよい。これにより、配線OL、配線OLBのそれぞれから複数の回路MPに入力された電荷量の合計を、回路ACTFに含まれる積分回路の容量に蓄積することができ、回路ACTFは、配線OL、配線OLBに流れたそれぞれの電荷量に応じたニューロンの信号zj
(k)を出力することができる。
なお、本動作例では、図11の演算回路150を例としたが、状況に応じて、別の演算回路に変更することでも、本動作例と同様の動作を行うことができる。
なお、本動作方法例は、本明細書で示す他の動作方法例などと適宜組み合わせることができる。
なお、本実施の形態は、本明細書で示す他の実施の形態と適宜組み合わせることができる。
(実施の形態4)
本実施の形態では、上記実施の形態で説明した半導体装置の構成例、及び当該半導体装置に適用可能なトランジスタの構成例について説明する。
<半導体装置の構成例>
図61に示す半導体装置は、トランジスタ300と、トランジスタ500と、容量素子600と、を有している。図63Aはトランジスタ500のチャネル長方向の断面図であり、図63Bはトランジスタ500のチャネル幅方向の断面図であり、図63Cはトランジスタ300のチャネル幅方向の断面図である。
トランジスタ500は、チャネル形成領域に金属酸化物を有するトランジスタ(OSトランジスタ)である。トランジスタ500は、オフ電流が小さいため、これを半導体装置、例えば、演算回路110、演算回路120、演算回路130、演算回路140、演算回路150、演算回路160、演算回路170などに含まれる回路MPのトランジスタM2などに用いることにより、長期にわたり書き込んだデータを保持することが可能である。つまり、リフレッシュ動作の頻度が少ない、あるいは、リフレッシュ動作を必要としないため、半導体装置の消費電力を低減することができる。
本実施の形態で説明する半導体装置は、図61に示すようにトランジスタ300、トランジスタ500、容量素子600を有する。トランジスタ500はトランジスタ300の上方に設けられ、容量素子600はトランジスタ300、及びトランジスタ500の上方に設けられている。なお、容量素子600は、上記実施の形態で説明した演算回路110、演算回路120、演算回路130、演算回路140、演算回路150、演算回路160、演算回路170などに含まれている回路MPに含まれている容量C1、容量C2、容量C3などとすることができる。
トランジスタ300は、基板311上に設けられ、導電体316、絶縁体315、基板311の一部からなる半導体領域313、ソース領域又はドレイン領域として機能する低抵抗領域314a、及び低抵抗領域314bを有する。なお、トランジスタ300は、例えば、上記実施の形態で説明した演算回路110、演算回路120、演算回路130、演算回路140、演算回路150、演算回路160、演算回路170などに含まれる回路MPのトランジスタM2などに適用することができる。
また、基板311としては、半導体基板(例えば単結晶基板又はシリコン基板)を用いるのが好ましい。
トランジスタ300は、図63Cに示すように、半導体領域313の上面及びチャネル幅方向の側面が絶縁体315を介して導電体316に覆われている。このように、トランジスタ300をFin型とすることにより、実効上のチャネル幅が増大することによりトランジスタ300のオン特性を向上させることができる。また、ゲート電極の電界の寄与を高くすることができるため、トランジスタ300のオフ特性を向上させることができる。
なお、トランジスタ300は、pチャネル型、あるいはnチャネル型のいずれでもよい。
半導体領域313のチャネルが形成される領域、その近傍の領域、ソース領域、又はドレイン領域となる低抵抗領域314a、及び低抵抗領域314bなどにおいて、シリコン系半導体などの半導体を含むことが好ましく、単結晶シリコンを含むことが好ましい。又は、Ge(ゲルマニウム)、SiGe(シリコンゲルマニウム)、GaAs(ガリウムヒ素)、GaAlAs(ガリウムアルミニウムヒ素)などを有する材料で形成してもよい。結晶格子に応力を与え、格子間隔を変化させることで有効質量を制御したシリコンを用いた構成としてもよい。又はGaAsとGaAlAs等を用いることで、トランジスタ300をHEMT(High Electron Mobility Transistor)としてもよい。
低抵抗領域314a、及び低抵抗領域314bは、半導体領域313に適用される半導体材料に加え、ヒ素、リンなどのn型の導電性を付与する元素、又はホウ素などのp型の導電性を付与する元素を含む。
ゲート電極として機能する導電体316は、ヒ素、リンなどのn型の導電性を付与する元素、もしくはホウ素などのp型の導電性を付与する元素を含むシリコンなどの半導体材料、金属材料、合金材料、又は金属酸化物材料などの導電性材料を用いることができる。
なお、導電体の材料によって仕事関数が決まるため、当該導電体の材料を選択することで、トランジスタのしきい値電圧を調整することができる。具体的には、導電体に窒化チタンや窒化タンタルなどの材料を用いることが好ましい。さらに導電性と埋め込み性を両立するために導電体にタングステンやアルミニウムなどの金属材料を積層として用いることが好ましく、特にタングステンを用いることが耐熱性の点で好ましい。
なお、図61に示すトランジスタ300は一例であり、その構造に限定されず、回路構成や駆動方法に応じて適切なトランジスタを用いればよい。例えば、半導体装置をOSトランジスタのみの単極性回路とする場合、図62に示すとおり、トランジスタ300の構成を、酸化物半導体を用いているトランジスタ500と同様の構成にすればよい。なお、トランジスタ500の詳細については後述する。
トランジスタ300を覆って、絶縁体320、絶縁体322、絶縁体324、及び絶縁体326が順に積層して設けられている。
絶縁体320、絶縁体322、絶縁体324、及び絶縁体326として、例えば、酸化シリコン、酸化窒化シリコン、窒化酸化シリコン、窒化シリコン、酸化アルミニウム、酸化窒化アルミニウム、窒化酸化アルミニウム、窒化アルミニウムなどを用いればよい。
なお、本明細書中において、酸化窒化シリコンとは、その組成として窒素よりも酸素の含有量が多い材料を指し、窒化酸化シリコンとは、その組成として、酸素よりも窒素の含有量が多い材料を示す。また、本明細書中において、酸化窒化アルミニウムとは、その組成として窒素よりも酸素の含有量が多い材料を指し、窒化酸化アルミニウムとは、その組成として、酸素よりも窒素の含有量が多い材料を示す。
絶縁体322は、その下方に設けられるトランジスタ300などによって生じる段差を平坦化する平坦化膜としての機能を有していてもよい。例えば、絶縁体322の上面は、平坦性を高めるために化学機械研磨(CMP)法等を用いた平坦化処理により平坦化されていてもよい。
また、絶縁体324には、基板311、又はトランジスタ300などから、トランジスタ500が設けられる領域に、水素や不純物が拡散しないようなバリア性を有する膜を用いることが好ましい。
水素に対するバリア性を有する膜の一例として、例えば、CVD法で形成した窒化シリコンを用いることができる。ここで、トランジスタ500等の酸化物半導体を有する半導体素子に、水素が拡散することで、当該半導体素子の特性が低下する場合がある。したがって、トランジスタ500と、トランジスタ300との間に、水素の拡散を抑制する膜を用いることが好ましい。水素の拡散を抑制する膜とは、具体的には、水素の脱離量が少ない膜とする。
水素の脱離量は、例えば、昇温脱離ガス分析法(TDS)などを用いて分析することができる。例えば、絶縁体324の水素の脱離量は、TDS分析において、膜の表面温度が50℃から500℃の範囲において、水素原子に換算した脱離量が、絶縁体324の面積当たりに換算して、10×1015atoms/cm2以下、好ましくは5×1015atoms/cm2以下であればよい。
なお、絶縁体326は、絶縁体324よりも誘電率が低いことが好ましい。例えば、絶縁体326の比誘電率は4未満が好ましく、3未満がより好ましい。また例えば、絶縁体326の比誘電率は、絶縁体324の比誘電率の0.7倍以下が好ましく、0.6倍以下がより好ましい。誘電率が低い材料を層間膜とすることで、配線間に生じる寄生容量を低減することができる。
また、絶縁体320、絶縁体322、絶縁体324、及び絶縁体326には容量素子600、又はトランジスタ500と接続する導電体328、及び導電体330等が埋め込まれている。なお、導電体328、及び導電体330は、プラグ又は配線としての機能を有する。また、プラグ又は配線としての機能を有する導電体は、複数の構造をまとめて同一の符号を付与する場合がある。また、本明細書等において、配線と、配線と接続するプラグとが一体物であってもよい。すなわち、導電体の一部が配線として機能する場合、及び導電体の一部がプラグとして機能する場合もある。
各プラグ、及び配線(導電体328、導電体330等)の材料としては、金属材料、合金材料、金属窒化物材料、又は金属酸化物材料などの導電性材料を、単層又は積層して用いることができる。耐熱性と導電性を両立するタングステンやモリブデンなどの高融点材料を用いることが好ましく、タングステンを用いることが好ましい。又は、アルミニウムや銅などの低抵抗導電性材料で形成することが好ましい。低抵抗導電性材料を用いることで配線抵抗を低くすることができる。
絶縁体326、及び導電体330上に、配線層を設けてもよい。例えば、図61において、絶縁体350、絶縁体352、及び絶縁体354が順に積層して設けられている。また、絶縁体350、絶縁体352、及び絶縁体354には、導電体356が形成されている。導電体356は、トランジスタ300と接続するプラグ、又は配線としての機能を有する。なお導電体356は、導電体328、及び導電体330と同様の材料を用いて設けることができる。
なお、例えば、絶縁体350は、絶縁体324と同様に、水素に対するバリア性を有する絶縁体を用いることが好ましい。また、導電体356は、水素に対するバリア性を有する導電体を含むことが好ましい。特に、水素に対するバリア性を有する絶縁体350が有する開口部に、水素に対するバリア性を有する導電体が形成される。当該構成により、トランジスタ300とトランジスタ500とは、バリア層により分離することができ、トランジスタ300からトランジスタ500への水素の拡散を抑制することができる。
なお、水素に対するバリア性を有する導電体としては、例えば、窒化タンタル等を用いるとよい。また、窒化タンタルと導電性が高いタングステンを積層することで、配線としての導電性を保持したまま、トランジスタ300からの水素の拡散を抑制することができる。この場合、水素に対するバリア性を有する窒化タンタル層が、水素に対するバリア性を有する絶縁体350と接する構造であることが好ましい。
絶縁体354、及び導電体356上に、配線層を設けてもよい。例えば、図61において、絶縁体360、絶縁体362、及び絶縁体364が順に積層して設けられている。また、絶縁体360、絶縁体362、及び絶縁体364には、導電体366が形成されている。導電体366は、プラグ又は配線としての機能を有する。なお導電体366は、導電体328、及び導電体330と同様の材料を用いて設けることができる。
なお、例えば、絶縁体360は、絶縁体324と同様に、水素に対するバリア性を有する絶縁体を用いることが好ましい。また、導電体366は、水素に対するバリア性を有する導電体を含むことが好ましい。特に、水素に対するバリア性を有する絶縁体360が有する開口部に、水素に対するバリア性を有する導電体が形成される。当該構成により、トランジスタ300とトランジスタ500とは、バリア層により分離することができ、トランジスタ300からトランジスタ500への水素の拡散を抑制することができる。
絶縁体364、及び導電体366上に、配線層を設けてもよい。例えば、図61において、絶縁体370、絶縁体372、及び絶縁体374が順に積層して設けられている。また、絶縁体370、絶縁体372、及び絶縁体374には、導電体376が形成されている。導電体376は、プラグ又は配線としての機能を有する。なお導電体376は、導電体328、及び導電体330と同様の材料を用いて設けることができる。
なお、例えば、絶縁体370は、絶縁体324と同様に、水素に対するバリア性を有する絶縁体を用いることが好ましい。また、導電体376は、水素に対するバリア性を有する導電体を含むことが好ましい。特に、水素に対するバリア性を有する絶縁体370が有する開口部に、水素に対するバリア性を有する導電体が形成される。当該構成により、トランジスタ300とトランジスタ500とは、バリア層により分離することができ、トランジスタ300からトランジスタ500への水素の拡散を抑制することができる。
絶縁体374、及び導電体376上に、配線層を設けてもよい。例えば、図61において、絶縁体380、絶縁体382、及び絶縁体384が順に積層して設けられている。また、絶縁体380、絶縁体382、及び絶縁体384には、導電体386が形成されている。導電体386は、プラグ又は配線としての機能を有する。なお導電体386は、導電体328、及び導電体330と同様の材料を用いて設けることができる。
なお、例えば、絶縁体380は、絶縁体324と同様に、水素に対するバリア性を有する絶縁体を用いることが好ましい。また、導電体386は、水素に対するバリア性を有する導電体を含むことが好ましい。特に、水素に対するバリア性を有する絶縁体380が有する開口部に、水素に対するバリア性を有する導電体が形成される。当該構成により、トランジスタ300とトランジスタ500とは、バリア層により分離することができ、トランジスタ300からトランジスタ500への水素の拡散を抑制することができる。
上記において、導電体356を含む配線層、導電体366を含む配線層、導電体376を含む配線層、及び導電体386を含む配線層、について説明したが、本実施の形態に係る半導体装置はこれに限られるものではない。導電体356を含む配線層と同様の配線層を3層以下にしてもよいし、導電体356を含む配線層と同様の配線層を5層以上にしてもよい。
絶縁体384上には絶縁体510、絶縁体512、絶縁体514、及び絶縁体516が、順に積層して設けられている。絶縁体510、絶縁体512、絶縁体514、及び絶縁体516のいずれかは、酸素や水素に対してバリア性のある物質を用いることが好ましい。
例えば、絶縁体510、及び絶縁体514には、例えば、基板311、又はトランジスタ300を設ける領域などから、トランジスタ500を設ける領域に、水素や不純物が拡散しないようなバリア性を有する膜を用いることが好ましい。したがって、絶縁体324と同様の材料を用いることができる。
水素に対するバリア性を有する膜の一例として、CVD法で形成した窒化シリコンを用いることができる。ここで、トランジスタ500等の酸化物半導体を有する半導体素子に、水素が拡散することで、当該半導体素子の特性が低下する場合がある。したがって、トランジスタ500と、トランジスタ300との間に、水素の拡散を抑制する膜を用いることが好ましい。水素の拡散を抑制する膜とは、具体的には、水素の脱離量が少ない膜とする。
また、水素に対するバリア性を有する膜として、例えば、絶縁体510、及び絶縁体514には、酸化アルミニウム、酸化ハフニウム、酸化タンタルなどの金属酸化物を用いることが好ましい。
特に、酸化アルミニウムは、酸素、及びトランジスタの電気特性の変動要因となる水素、水分などの不純物、の両方に対して膜を透過させない遮断効果が高い。したがって、酸化アルミニウムは、トランジスタの作製工程中及び作製後において、水素、水分などの不純物のトランジスタ500への混入を防止することができる。また、トランジスタ500を構成する酸化物からの酸素の放出を抑制することができる。そのため、トランジスタ500に対する保護膜として用いることに適している。
また、例えば、絶縁体512、及び絶縁体516には、絶縁体320と同様の材料を用いることができる。また、これらの絶縁体に、比較的誘電率が低い材料を適用することで、配線間に生じる寄生容量を低減することができる。例えば、絶縁体512、及び絶縁体516として、酸化シリコン膜や酸化窒化シリコン膜などを用いることができる。
また、絶縁体510、絶縁体512、絶縁体514、及び絶縁体516には、導電体518、及びトランジスタ500を構成する導電体(例えば、導電体503)等が埋め込まれている。なお、導電体518は、容量素子600、又はトランジスタ300と接続するプラグ、又は配線としての機能を有する。導電体518は、導電体328、及び導電体330と同様の材料を用いて設けることができる。
特に、絶縁体510、及び絶縁体514と接する領域の導電体518は、酸素、水素、及び水に対するバリア性を有する導電体であることが好ましい。当該構成により、トランジスタ300とトランジスタ500とは、酸素、水素、及び水に対するバリア性を有する層で、分離することができ、トランジスタ300からトランジスタ500への水素の拡散を抑制することができる。
絶縁体516の上方には、トランジスタ500が設けられている。
図63A、及び図63Bに示すように、トランジスタ500は、絶縁体514及び絶縁体516に埋め込まれるように配置された導電体503と、絶縁体516及び導電体503の上に配置された絶縁体520と、絶縁体520の上に配置された絶縁体522と、絶縁体522の上に配置された絶縁体524と、絶縁体524の上に配置された酸化物530aと、酸化物530aの上に配置された酸化物530bと、酸化物530b上に互いに離れて配置された導電体542a及び導電体542bと、導電体542a及び導電体542b上に配置され、導電体542aと導電体542bの間に重畳して開口が形成された絶縁体580と、開口の底面及び側面に配置された酸化物530cと、酸化物530cの形成面に配置された絶縁体550と、絶縁体550の形成面に配置された導電体560と、を有する。
また、図63A、及び図63Bに示すように、酸化物530a、酸化物530b、導電体542a、及び導電体542bと、絶縁体580との間に絶縁体544が配置されることが好ましい。また、図63A、及び図63Bに示すように、導電体560は、絶縁体550の内側に設けられた導電体560aと、導電体560aの内側に埋め込まれるように設けられた導電体560bと、を有することが好ましい。また、図63A、及び図63Bに示すように、絶縁体580、導電体560、及び絶縁体550の上に絶縁体574が配置されることが好ましい。
なお、以下において、酸化物530a、酸化物530b、及び酸化物530cをまとめて酸化物530という場合がある。
なお、トランジスタ500では、チャネルが形成される領域と、その近傍において、酸化物530a、酸化物530b、及び酸化物530cの3層を積層する構成について示しているが、本発明の一態様はこれに限られるものではない。例えば、酸化物530bの単層、酸化物530bと酸化物530aの2層構造、酸化物530bと酸化物530cの2層構造、又は4層以上の積層構造を設ける構成にしてもよい。また、トランジスタ500では、導電体560を2層の積層構造として示しているが、本発明の一態様はこれに限られるものではない。例えば、導電体560が、単層構造であってもよいし、3層以上の積層構造であってもよい。また、図61、図63Aに示すトランジスタ500は一例であり、その構造に限定されず、回路構成や駆動方法に応じて適切なトランジスタを用いればよい。
ここで、導電体560は、トランジスタのゲート電極として機能し、導電体542a及び導電体542bは、それぞれソース電極又はドレイン電極として機能する。上記のように、導電体560は、絶縁体580の開口、及び導電体542aと導電体542bに挟まれた領域に埋め込まれるように形成される。導電体560、導電体542a及び導電体542bの配置は、絶縁体580の開口に対して、自己整合的に選択される。つまり、トランジスタ500において、ゲート電極を、ソース電極とドレイン電極の間に、自己整合的に配置させることができる。よって、導電体560を位置合わせのマージンを設けることなく形成することができるので、トランジスタ500の占有面積の縮小を図ることができる。これにより、半導体装置の微細化、高集積化を図ることができる。
さらに、導電体560が、導電体542aと導電体542bの間の領域に自己整合的に形成されるので、導電体560は、導電体542a又は導電体542bと重畳する領域を有さない。これにより、導電体560と導電体542a及び導電体542bとの間に形成される寄生容量を低減することができる。よって、トランジスタ500のスイッチング速度を向上させ、高い周波数特性を有せしめることができる。
導電体560は、第1のゲート(トップゲートともいう)電極として機能する場合がある。また、導電体503は、第2のゲート(ボトムゲートともいう)電極として機能する場合がある。その場合、導電体503に印加する電位を、導電体560に印加する電位と、連動させず、独立して変化させることで、トランジスタ500のしきい値電圧を制御することができる。特に、導電体503に負の電位を印加することにより、トランジスタ500のしきい値電圧を0Vより大きくし、オフ電流を低減することが可能となる。したがって、導電体503に負の電位を印加したほうが、印加しない場合よりも、導電体560に印加する電位が0Vのときのドレイン電流を小さくすることができる。
導電体503は、酸化物530、及び導電体560と、重なるように配置する。これにより、導電体560、及び導電体503に電位を印加した場合、導電体560から生じる電界と、導電体503から生じる電界と、がつながり、酸化物530に形成されるチャネル形成領域を覆うことができる。本明細書等において、第1のゲート電極、及び第2のゲート電極の電界によって、チャネル形成領域を電気的に取り囲むトランジスタの構造を、surrounded channel(S-channel)構造とよぶ。
また、導電体503は、導電体518と同様の構成であり、絶縁体514及び絶縁体516の開口の内壁に接して導電体503aが形成され、さらに内側に導電体503bが形成されている。なお、トランジスタ500では、導電体503a及び導電体503bを積層する構成について示しているが、本発明の一態様はこれに限られるものではない。例えば、導電体503は、単層、又は3層以上の積層構造として設ける構成にしてもよい。
ここで、導電体503aは、水素原子、水素分子、水分子、銅原子などの不純物の拡散を抑制する機能を有する(上記不純物が透過しにくい。)導電性材料を用いることが好ましい。又は、酸素(例えば、酸素原子、酸素分子などの少なくとも一)の拡散を抑制する機能を有する(上記酸素が透過しにくい。)導電性材料を用いることが好ましい。なお、本明細書において、不純物、又は酸素の拡散を抑制する機能とは、上記不純物、又は上記酸素のいずれか一又は、すべての拡散を抑制する機能とする。
例えば、導電体503aが酸素の拡散を抑制する機能を持つことにより、導電体503bが酸化して導電率が低下することを抑制することができる。
また、導電体503が配線の機能を兼ねる場合、導電体503bは、タングステン、銅、又はアルミニウムを主成分とする、導電性が高い導電性材料を用いることが好ましい。その場合、導電体505は、必ずしも設けなくともよい。なお、導電体503bを単層で図示したが、積層構造としてもよく、例えば、チタン、又は窒化チタンと上記導電性材料との積層としてもよい。
絶縁体520、絶縁体522、及び絶縁体524は、第2のゲート絶縁膜としての機能を有する。
ここで、酸化物530と接する絶縁体524は、化学量論的組成を満たす酸素よりも多くの酸素を含む絶縁体を用いることが好ましい。つまり、絶縁体524には、過剰酸素領域が形成されていることが好ましい。このような過剰酸素を含む絶縁体を酸化物530に接して設けることにより、酸化物530中の酸素欠損を低減し、トランジスタ500の信頼性を向上させることができる。
過剰酸素領域を有する絶縁体として、具体的には、加熱により一部の酸素が脱離する酸化物材料を用いることが好ましい。加熱により酸素を脱離する酸化物とは、TDS(Thermal Desorption Spectroscopy)分析にて、酸素原子に換算しての酸素の脱離量が1.0×1018atoms/cm3以上、好ましくは1.0×1019atoms/cm3以上、さらに好ましくは2.0×1019atoms/cm3以上、又は3.0×1020atoms/cm3以上である酸化物膜である。なお、上記TDS分析時における膜の表面温度としては100℃以上700℃以下、又は100℃以上400℃以下の範囲が好ましい。
また、上記過剰酸素領域を有する絶縁体と、酸化物530と、を接して加熱処理、マイクロ波処理、またはRF処理のいずれか一または複数の処理を行っても良い。当該処理を行うことで、酸化物530中の水、または水素を除去することができる。例えば、酸化物530において、VoHの結合が切断される反応が起きる、別言すると「VOH→VO+H」という反応が起きて、脱水素化することができる。このとき発生した水素の一部は、酸素と結合してH2Oとして、酸化物530、または酸化物530近傍の絶縁体から除去される場合がある。また、水素の一部は、導電体542a、及び導電体542bに拡散または捕獲(ゲッタリングともいう)される場合がある。
また、上記マイクロ波処理は、例えば、高密度プラズマを発生させる電源を有する装置、または、基板側にRFを印加する電源を有する装置を用いると好適である。例えば、酸素を含むガスを用い、且つ高密度プラズマを用いることより、高密度の酸素ラジカルを生成することができ、基板側にRFを印加することで、高密度プラズマによって生成された酸素ラジカルを、効率よく酸化物530、または酸化物530近傍の絶縁体中に導入することができる。また、上記マイクロ波処理は、圧力を133Pa以上、好ましくは200Pa以上、さらに好ましくは400Pa以上とすればよい。また、マイクロ波処理を行う装置内に導入するガスとしては、例えば、酸素と、アルゴンとを用い、酸素流量比(O2/(O2+Ar))が50%以下、好ましくは10%以上30%以下で行うとよい。
また、トランジスタ500の作製工程中において、酸化物530の表面が露出した状態で、加熱処理を行うと好適である。当該加熱処理は、例えば、100℃以上450℃以下、より好ましくは350℃以上400℃以下で行えばよい。なお、加熱処理は、窒素ガスもしくは不活性ガスの雰囲気、または酸化性ガスを10ppm以上、1%以上、もしくは10%以上含む雰囲気で行う。例えば、加熱処理は酸素雰囲気で行うことが好ましい。これにより、酸化物530に酸素を供給して、酸素欠損(VO)の低減を図ることができる。また、加熱処理は減圧状態で行ってもよい。または、加熱処理は、窒素ガスもしくは不活性ガスの雰囲気で加熱処理した後に、脱離した酸素を補うために、酸化性ガスを10ppm以上、1%以上、または10%以上含む雰囲気で行ってもよい。または、酸化性ガスを10ppm以上、1%以上、または10%以上含む雰囲気で加熱処理した後に、連続して窒素ガスもしくは不活性ガスの雰囲気で加熱処理を行っても良い。
なお、酸化物530に加酸素化処理を行うことで、酸化物530中の酸素欠損を、供給された酸素により修復させる、別言すると「VO+O→null」という反応を促進させることができる。さらに、酸化物530中に残存した水素に供給された酸素が反応することで、当該水素をH2Oとして除去する(脱水化する)ことができる。これにより、酸化物530中に残存していた水素が酸素欠損に再結合してVOHが形成されるのを抑制することができる。
また、絶縁体524が、過剰酸素領域を有する場合、絶縁体522は、酸素(例えば、酸素原子、酸素分子など)の拡散を抑制する機能を有する(上記酸素が透過しにくい)ことが好ましい。
絶縁体522が、酸素や不純物の拡散を抑制する機能を有することで、酸化物530が有する酸素は、絶縁体520側へ拡散することがなく、好ましい。また、導電体503が、絶縁体524や、酸化物530が有する酸素と反応することを抑制することができる。
絶縁体522は、例えば、酸化アルミニウム、酸化ハフニウム、アルミニウム及びハフニウムを含む酸化物(ハフニウムアルミネート)、酸化タンタル、酸化ジルコニウム、チタン酸ジルコン酸鉛(PZT)、チタン酸ストロンチウム(SrTiO3)、又は(Ba,Sr)TiO3(BST)などのいわゆるhigh-k材料を含む絶縁体を単層又は積層で用いることが好ましい。トランジスタの微細化、及び高集積化が進むと、ゲート絶縁膜の薄膜化により、リーク電流などの問題が生じる場合がある。ゲート絶縁膜として機能する絶縁体にhigh-k材料を用いることで、物理膜厚を保ちながら、トランジスタ動作時のゲート電位の低減が可能となる。
特に、不純物、及び酸素などの拡散を抑制する機能を有する(上記酸素が透過しにくい)絶縁性材料であるアルミニウム、ハフニウムの一方又は双方の酸化物を含む絶縁体を用いるとよい。アルミニウム、ハフニウムの一方又は双方の酸化物を含む絶縁体として、酸化アルミニウム、酸化ハフニウム、アルミニウム及びハフニウムを含む酸化物(ハフニウムアルミネート)などを用いることが好ましい。このような材料を用いて絶縁体522を形成した場合、絶縁体522は、酸化物530からの酸素の放出や、トランジスタ500の周辺部から酸化物530への水素等の不純物の混入を抑制する層として機能する。
又は、これらの絶縁体に、例えば、酸化アルミニウム、酸化ビスマス、酸化ゲルマニウム、酸化ニオブ、酸化シリコン、酸化チタン、酸化タングステン、酸化イットリウム、酸化ジルコニウムを添加してもよい。又はこれらの絶縁体を窒化処理してもよい。上記の絶縁体に酸化シリコン、酸化窒化シリコン又は窒化シリコンを積層して用いてもよい。
また、絶縁体520は、熱的に安定していることが好ましい。例えば、酸化シリコン及び酸化窒化シリコンは、熱的に安定であるため、好適である。また、high-k材料の絶縁体と、酸化シリコン又は酸化窒化シリコンと、を組み合わせることで、熱的に安定かつ比誘電率の高い積層構造の絶縁体520を得ることができる。
なお、図63A、及び図63Bのトランジスタ500では、3層の積層構造からなる第2のゲート絶縁膜として、絶縁体520、絶縁体522、及び絶縁体524が図示されているが、第2のゲート絶縁膜は、単層、2層、又は4層以上の積層構造を有していてもよい。その場合、同じ材料からなる積層構造に限定されず、異なる材料からなる積層構造でもよい。
トランジスタ500は、チャネル形成領域を含む酸化物530に、酸化物半導体として機能する金属酸化物を用いることが好ましい。例えば、酸化物530として、In-M-Zn酸化物(元素Mは、アルミニウム、ガリウム、イットリウム、銅、バナジウム、ベリリウム、ホウ素、チタン、鉄、ニッケル、ゲルマニウム、ジルコニウム、モリブデン、ランタン、セリウム、ネオジム、ハフニウム、タンタル、タングステン、又はマグネシウムなどから選ばれた一種、又は複数種)等の金属酸化物を用いるとよい。特に、酸化物530として適用できるIn-M-Zn酸化物は、CAAC-OS(C-Axis Aligned Crystalline Oxide Semiconductor)、CAC-OS(Cloud-Aligned Composite Oxide Semiconductor)であることが好ましい。また、酸化物530として、In-Ga酸化物、In-Zn酸化物、In酸化物などを用いてもよい。
また、トランジスタ500には、キャリア濃度の低い金属酸化物を用いることが好ましい。金属酸化物のキャリア濃度を低くする場合においては、金属酸化物中の不純物濃度を低くし、欠陥準位密度を低くすればよい。本明細書等において、不純物濃度が低く、欠陥準位密度の低いことを高純度真性または実質的に高純度真性という。なお、金属酸化物中の不純物としては、例えば、水素、窒素、アルカリ金属、アルカリ土類金属、鉄、ニッケル、シリコン等がある。
特に、金属酸化物に含まれる水素は、金属原子と結合する酸素と反応して水になるため、金属酸化物中に酸素欠損を形成する場合がある。また、酸化物530中の酸素欠損に水素が入った場合、酸素欠損と水素とが結合しVOHを形成する場合がある。VOHはドナーとして機能し、キャリアである電子が生成されることがある。また、水素の一部が金属原子と結合する酸素と結合して、キャリアである電子を生成する場合がある。従って、水素が多く含まれている金属酸化物を用いたトランジスタは、ノーマリーオン特性となりやすい。また、金属酸化物中の水素は、熱、電界などのストレスによって動きやすいため、金属酸化物に多くの水素が含まれると、トランジスタの信頼性が悪化する恐れもある。本発明の一態様においては、酸化物530中のVOHをできる限り低減し、高純度真性または実質的に高純度真性にすることが好ましい。このように、VOHが十分低減された金属酸化物を得るには、金属酸化物中の水分、水素などの不純物を除去すること(脱水、脱水素化処理と記載する場合がある。)と、金属酸化物に酸素を供給して酸素欠損を補填すること(加酸素化処理と記載する場合がある。)が重要である。VOHなどの不純物が十分に低減された金属酸化物をトランジスタのチャネル形成領域に用いることで、安定した電気特性を付与することができる。
酸素欠損に水素が入った欠陥は、金属酸化物のドナーとして機能しうる。しかしながら、当該欠陥を定量的に評価することは困難である。そこで、金属酸化物においては、ドナー濃度ではなく、キャリア濃度で評価される場合がある。よって、本明細書等では、金属酸化物のパラメータとして、ドナー濃度ではなく、電界が印加されない状態を想定したキャリア濃度を用いる場合がある。つまり、本明細書等に記載の「キャリア濃度」は、「ドナー濃度」と言い換えることができる場合がある。
よって、金属酸化物を酸化物530に用いる場合、金属酸化物中の水素はできる限り低減されていることが好ましい。具体的には、金属酸化物において、二次イオン質量分析法(SIMS:Secondary Ion Mass Spectrometry)により得られる水素濃度を、1×1020atoms/cm3未満、好ましくは1×1019atoms/cm3未満、より好ましくは5×1018atoms/cm3未満、さらに好ましくは1×1018atoms/cm3未満とする。水素などの不純物が十分に低減された金属酸化物をトランジスタのチャネル形成領域に用いることで、安定した電気特性を付与することができる。
また、酸化物530に金属酸化物を用いる場合、当該金属酸化物は、バンドギャップが高く、真性(I型ともいう。)、又は実質的に真性である半導体であって、かつチャネル形成領域の金属酸化物のキャリア濃度は、1×1018cm-3未満であることが好ましく、1×1017cm-3未満であることがより好ましく、1×1016cm-3未満であることがさらに好ましく、1×1013cm-3未満であることがさらに好ましく、1×1012cm-3未満であることがさらに好ましい。なお、チャネル形成領域の金属酸化物のキャリア濃度の下限値については、特に限定は無いが、例えば、1×10-9cm-3とすることができる。
また、酸化物530に金属酸化物を用いる場合、導電体542a及び導電体542bと酸化物530とが接することで、酸化物530中の酸素が導電体542a及び導電体542bへ拡散し、導電体542a及び導電体542bが酸化する場合がある。導電体542a及び導電体542bが酸化することで、導電体542a及び導電体542bの導電率が低下する蓋然性が高い。なお、酸化物530中の酸素が導電体542a及び導電体542bへ拡散することを、導電体542a及び導電体542bが酸化物530中の酸素を吸収する、と言い換えることができる。
また、酸化物530中の酸素が導電体542a及び導電体542bへ拡散することで、導電体542aと酸化物530bとの間、および、導電体542bと酸化物530bとの間に異層が形成される場合がある。当該異層は、導電体542a及び導電体542bよりも酸素を多く含むため、当該異層は絶縁性を有すると推定される。このとき、導電体542a又は導電体542bと、当該異層と、酸化物530bとの3層構造は、金属-絶縁体-半導体からなる3層構造とみなすことができ、MIS(Metal-Insulator-Semiconductor)構造と呼ぶ、またはMIS構造を主としたダイオード接合構造と呼ぶ場合がある。
なお、上記異層は、導電体542a及び導電体542bと酸化物530bとの間に形成されることに限られず、例えば、異層が、導電体542a及び導電体542bと酸化物530cとの間に形成される場合がある。
酸化物530においてチャネル形成領域として機能する金属酸化物は、バンドギャップが2eV以上、好ましくは2.5eV以上のものを用いることが好ましい。このように、バンドギャップの大きい金属酸化物を用いることで、トランジスタのオフ電流を低減することができる。
酸化物530は、酸化物530b下に酸化物530aを有することで、酸化物530aよりも下方に形成された構造物から、酸化物530bへの不純物の拡散を抑制することができる。また、酸化物530b上に酸化物530cを有することで、酸化物530cよりも上方に形成された構造物から、酸化物530bへの不純物の拡散を抑制することができる。
なお、酸化物530は、各金属原子の原子数比が異なる複数の酸化物層の積層構造を有することが好ましい。具体的には、酸化物530aに用いる金属酸化物において、構成元素中の元素Mの原子数比が、酸化物530bに用いる金属酸化物における、構成元素中の元素Mの原子数比より、大きいことが好ましい。また、酸化物530aに用いる金属酸化物において、Inに対する元素Mの原子数比が、酸化物530bに用いる金属酸化物における、Inに対する元素Mの原子数比より大きいことが好ましい。また、酸化物530bに用いる金属酸化物において、元素Mに対するInの原子数比が、酸化物530aに用いる金属酸化物における、元素Mに対するInの原子数比より大きいことが好ましい。また、酸化物530cは、酸化物530a又は酸化物530bに用いることができる金属酸化物を、用いることができる。
具体的には、酸化物530aとして、InとGaとZnとの原子数比がIn:Ga:Zn=1:3:4、または1:1:0.5の金属酸化物を用いればよい。また、酸化物530bとして、InとGaとZnとの原子数比がIn:Ga:Zn=4:2:3、または1:1:1の金属酸化物を用いればよい。また、酸化物530cとして、InとGaとZnとの原子数比がIn:Ga:Zn=1:3:4、またGaとZnの原子数比がGa:Zn=2:1、またはGa:Zn=2:5の金属酸化物を用いればよい。また、酸化物530cを積層構造とする場合の具体例としては、InとGaとZnとの原子数比がIn:Ga:Zn=4:2:3と、In:Ga:Zn=1:3;4との積層構造、またGaとZnの原子数比がGa:Zn=2:1と、InとGaとZnとの原子数比がIn:Ga:Zn=4:2:3との積層構造、GaとZnの原子数比がGa:Zn=2:5と、InとGaとZnとの原子数比がIn:Ga:Zn=4:2:3との積層構造、酸化ガリウムと、InとGaとZnとの原子数比がIn:Ga:Zn=4:2:3との積層構造などが挙げられる。
また、例えば、酸化物530aに用いる金属酸化物における元素Mに対するInの原子数比が、酸化物530bに用いる金属酸化物における元素Mに対するInの原子数比より小さい場合、酸化物530bとして、InとGaとZnとの原子数比がIn:Ga:Zn=5:1:6またはその近傍、In:Ga:Zn=5:1:3またはその近傍、In:Ga:Zn=10:1:3またはその近傍などの組成であるIn-Ga-Zn酸化物を用いることができる。
また、上述した以外の組成としては、酸化物530bには、例えば、In:Zn=2:1の組成、In:Zn=5:1の組成、In:Zn=10:1の組成、これらのいずれか一の近傍の組成などを有する金属酸化物を用いることができる。
これらの酸化物530a、酸化物530b、酸化物530cを上記の原子数比の関係を満たして組み合わせることが好ましい。例えば、酸化物530a、および酸化物530cを、In:Ga:Zn=1:3:4の組成およびその近傍の組成を有する金属酸化物、酸化物530bを、In:Ga:Zn=4:2:3から4.1の組成およびその近傍の組成を有する金属酸化物とするのが好ましい。なお、上記組成は、基体上に形成された酸化物中の原子数比、またはスパッタターゲットにおける原子数比を示す。また、酸化物530bの組成として、Inの比率を高めることで、トランジスタのオン電流、または電界効果移動度などを高めることができるため好適である。
また、酸化物530a及び酸化物530cの伝導帯下端のエネルギーが、酸化物530bの伝導帯下端のエネルギーより高くなることが好ましい。また、言い換えると、酸化物530a及び酸化物530cの電子親和力が、酸化物530bの電子親和力より小さいことが好ましい。
ここで、酸化物530a、酸化物530b、及び酸化物530cの接合部において、伝導帯下端のエネルギー準位はなだらかに変化する。換言すると、酸化物530a、酸化物530b、及び酸化物530cの接合部における伝導帯下端のエネルギー準位は、連続的に変化又は連続接合するともいうことができる。このようにするためには、酸化物530aと酸化物530bとの界面、及び酸化物530bと酸化物530cとの界面において形成される混合層の欠陥準位密度を低くするとよい。
具体的には、酸化物530aと酸化物530b、酸化物530bと酸化物530cが、酸素以外に共通の元素を有する(主成分とする)ことで、欠陥準位密度が低い混合層を形成することができる。例えば、酸化物530bがIn-Ga-Zn酸化物の場合、酸化物530a及び酸化物530cとして、In-Ga-Zn酸化物、Ga-Zn酸化物、酸化ガリウムなどを用いるとよい。
このとき、キャリアの主たる経路は酸化物530bとなる。酸化物530a、酸化物530cを上述の構成とすることで、酸化物530aと酸化物530bとの界面、及び酸化物530bと酸化物530cとの界面における欠陥準位密度を低くすることができる。そのため、界面散乱によるキャリア伝導への影響が小さくなり、トランジスタ500は高いオン電流を得られる。
酸化物530b上には、ソース電極、及びドレイン電極として機能する導電体542a、及び導電体542bが設けられる。導電体542a、及び導電体542bとしては、アルミニウム、クロム、銅、銀、金、白金、タンタル、ニッケル、チタン、モリブデン、タングステン、ハフニウム、バナジウム、ニオブ、マンガン、マグネシウム、ジルコニウム、ベリリウム、インジウム、ルテニウム、イリジウム、ストロンチウム、ランタンから選ばれた金属元素、又は上述した金属元素を成分とする合金か、上述した金属元素を組み合わせた合金等を用いることが好ましい。例えば、窒化タンタル、窒化チタン、タングステン、チタンとアルミニウムを含む窒化物、タンタルとアルミニウムを含む窒化物、酸化ルテニウム、窒化ルテニウム、ストロンチウムとルテニウムを含む酸化物、ランタンとニッケルを含む酸化物などを用いることが好ましい。また、窒化タンタル、窒化チタン、チタンとアルミニウムを含む窒化物、タンタルとアルミニウムを含む窒化物、酸化ルテニウム、窒化ルテニウム、ストロンチウムとルテニウムを含む酸化物、ランタンとニッケルを含む酸化物は、酸化しにくい導電性材料、又は、酸素を吸収しても導電性を維持する材料であるため、好ましい。更に、窒化タンタルなどの金属窒化物膜は、水素又は酸素に対するバリア性があるため好ましい。
また、図63A、及び図63Bでは、導電体542a、及び導電体542bを単層構造として示したが、2層以上の積層構造としてもよい。例えば、窒化タンタル膜とタングステン膜を積層するとよい。また、チタン膜とアルミニウム膜を積層してもよい。また、タングステン膜上にアルミニウム膜を積層する二層構造、銅-マグネシウム-アルミニウム合金膜上に銅膜を積層する二層構造、チタン膜上に銅膜を積層する二層構造、タングステン膜上に銅膜を積層する二層構造としてもよい。
また、チタン膜又は窒化チタン膜と、そのチタン膜又は窒化チタン膜上に重ねてアルミニウム膜又は銅膜を積層し、さらにその上にチタン膜又は窒化チタン膜を形成する三層構造、モリブデン膜又は窒化モリブデン膜と、そのモリブデン膜又は窒化モリブデン膜上に重ねてアルミニウム膜又は銅膜を積層し、さらにその上にモリブデン膜又は窒化モリブデン膜を形成する三層構造等がある。なお、酸化インジウム、酸化錫又は酸化亜鉛を含む透明導電材料を用いてもよい。
また、図63Aに示すように、酸化物530の、導電体542a(導電体542b)との界面とその近傍には、低抵抗領域として、領域543a、及び領域543bが形成される場合がある。このとき、領域543aはソース領域又はドレイン領域の一方として機能し、領域543bはソース領域又はドレイン領域の他方として機能する。また、領域543aと領域543bに挟まれる領域にチャネル形成領域が形成される。
酸化物530と接するように上記導電体542a(導電体542b)を設けることで、領域543a(領域543b)の酸素濃度が低減する場合がある。また、領域543a(領域543b)に導電体542a(導電体542b)に含まれる金属と、酸化物530の成分とを含む金属化合物層が形成される場合がある。このような場合、領域543a(領域543b)のキャリア濃度が増加し、領域543a(領域543b)は、低抵抗領域となる。
絶縁体544は、導電体542a、及び導電体542bを覆うように設けられ、導電体542a、及び導電体542bの酸化を抑制する。このとき、絶縁体544は、酸化物530の側面を覆い、絶縁体524と接するように設けられてもよい。
絶縁体544として、ハフニウム、アルミニウム、ガリウム、イットリウム、ジルコニウム、タングステン、チタン、タンタル、ニッケル、ゲルマニウム、ネオジム、ランタン又は、マグネシウムなどから選ばれた一種、又は二種以上が含まれた金属酸化物を用いることができる。また、絶縁体544として、窒化酸化シリコン又は窒化シリコンなども用いることができる。
特に、絶縁体544として、アルミニウム、又はハフニウムの一方又は双方の酸化物を含む絶縁体である、酸化アルミニウム、酸化ハフニウム、アルミニウム、及びハフニウムを含む酸化物(ハフニウムアルミネート)などを用いることが好ましい。特に、ハフニウムアルミネートは、酸化ハフニウム膜よりも、耐熱性が高い。そのため、後の工程での熱処理において、結晶化しにくいため好ましい。なお、導電体542a、及び導電体542bが耐酸化性を有する材料、又は、酸素を吸収しても著しく導電性が低下しない場合、絶縁体544は、必須の構成ではない。求めるトランジスタ特性により、適宜設計すればよい。
絶縁体544を有することで、絶縁体580に含まれる水、及び水素などの不純物が酸化物530c、絶縁体550を介して、酸化物530bに拡散することを抑制することができる。また、絶縁体580が有する過剰酸素により、導電体560が酸化するのを抑制することができる。
絶縁体550は、第1のゲート絶縁膜として機能する。絶縁体550は、酸化物530cの内側(上面、及び側面)に接して配置することが好ましい。絶縁体550は、上述した絶縁体524と同様に、過剰に酸素を含み、かつ加熱により酸素が放出される絶縁体を用いて形成することが好ましい。
具体的には、過剰酸素を有する酸化シリコン、酸化窒化シリコン、窒化酸化シリコン、窒化シリコン、フッ素を添加した酸化シリコン、炭素を添加した酸化シリコン、炭素、及び窒素を添加した酸化シリコン、空孔を有する酸化シリコンを用いることができる。特に、酸化シリコン、及び酸化窒化シリコンは熱に対し安定であるため好ましい。
加熱により酸素が放出される絶縁体を、絶縁体550として、酸化物530cの上面に接して設けることにより、絶縁体550から、酸化物530cを通じて、酸化物530bのチャネル形成領域に効果的に酸素を供給することができる。また、絶縁体524と同様に、絶縁体550中の水又は水素などの不純物濃度が低減されていることが好ましい。絶縁体550の膜厚は、1nm以上20nm以下とするのが好ましい。
また、絶縁体550が有する過剰酸素を、効率的に酸化物530へ供給するために、絶縁体550と導電体560との間に金属酸化物を設けてもよい。当該金属酸化物は、絶縁体550から導電体560への酸素拡散を抑制することが好ましい。酸素の拡散を抑制する金属酸化物を設けることで、絶縁体550から導電体560への過剰酸素の拡散が抑制される。つまり、酸化物530へ供給する過剰酸素量の減少を抑制することができる。また、過剰酸素による導電体560の酸化を抑制することができる。当該金属酸化物としては、絶縁体544に用いることができる材料を用いればよい。
なお、絶縁体550は、第2のゲート絶縁膜と同様に、積層構造としてもよい。トランジスタの微細化、及び高集積化が進むと、ゲート絶縁膜の薄膜化により、リーク電流などの問題が生じる場合があるため、ゲート絶縁膜として機能する絶縁体を、high-k材料と、熱的に安定している材料との積層構造とすることで、物理膜厚を保ちながら、トランジスタ動作時のゲート電位の低減が可能となる。また、熱的に安定かつ比誘電率の高い積層構造とすることができる。
第1のゲート電極として機能する導電体560は、図63A、及び図63Bでは2層構造として示しているが、単層構造でもよいし、3層以上の積層構造であってもよい。
導電体560aは、水素原子、水素分子、水分子、窒素原子、窒素分子、酸化窒素分子(N2O、NO、NO2など)、銅原子などの不純物の拡散を抑制する機能を有する導電性材料を用いることが好ましい。又は、酸素(例えば、酸素原子、酸素分子などの少なくとも一)の拡散を抑制する機能を有する導電性材料を用いることが好ましい。導電体560aが酸素の拡散を抑制する機能を持つことにより、絶縁体550に含まれる酸素により、導電体560bが酸化して導電率が低下することを抑制することができる。酸素の拡散を抑制する機能を有する導電性材料としては、例えば、タンタル、窒化タンタル、ルテニウム、又は酸化ルテニウムなどを用いることが好ましい。また、導電体560aとして、酸化物530に適用できる酸化物半導体を用いることができる。その場合、導電体560bをスパッタリング法で成膜することで、導電体560aの電気抵抗値を低下させて導電体にすることができる。これをOC(Oxide Conductor)電極と呼ぶことができる。
また、導電体560bは、タングステン、銅、又はアルミニウムを主成分とする導電性材料を用いることが好ましい。また、導電体560bは、配線としても機能するため、導電性が高い導電体を用いることが好ましい。例えば、タングステン、銅、又はアルミニウムを主成分とする導電性材料を用いることができる。また、導電体560bは積層構造としてもよく、例えば、チタン、又は窒化チタンと上記導電性材料との積層構造としてもよい。
絶縁体580は、絶縁体544を介して、導電体542a、及び導電体542b上に設けられる。絶縁体580は、過剰酸素領域を有することが好ましい。例えば、絶縁体580として、酸化シリコン、酸化窒化シリコン、窒化酸化シリコン、窒化シリコン、フッ素を添加した酸化シリコン、炭素を添加した酸化シリコン、炭素、及び窒素を添加した酸化シリコン、空孔を有する酸化シリコン、又は樹脂などを有することが好ましい。特に、酸化シリコン、及び酸化窒化シリコンは、熱的に安定であるため好ましい。特に、酸化シリコン、空孔を有する酸化シリコンは、後の工程で、容易に過剰酸素領域を形成することができるため好ましい。
絶縁体580は、過剰酸素領域を有することが好ましい。加熱により酸素が放出される絶縁体580を、酸化物530cと接して設けることで、絶縁体580中の酸素を、酸化物530cを通じて、酸化物530へと効率良く供給することができる。なお、絶縁体580中の水又は水素などの不純物濃度が低減されていることが好ましい。
絶縁体580の開口は、導電体542aと導電体542bの間の領域に重畳して形成される。これにより、導電体560は、絶縁体580の開口、及び導電体542aと導電体542bに挟まれた領域に、埋め込まれるように形成される。
半導体装置を微細化するに当たり、ゲート長を短くすることが求められるが、導電体560の導電性が下がらないようにする必要がある。そのために導電体560の膜厚を大きくすると、導電体560はアスペクト比が高い形状となりうる。本実施の形態では、導電体560を絶縁体580の開口に埋め込むように設けるため、導電体560をアスペクト比の高い形状にしても、工程中に導電体560を倒壊させることなく、形成することができる。
絶縁体574は、絶縁体580の上面、導電体560の上面、及び絶縁体550の上面に接して設けられることが好ましい。絶縁体574をスパッタリング法で成膜することで、絶縁体550、及び絶縁体580へ過剰酸素領域を設けることができる。これにより、当該過剰酸素領域から、酸化物530中に酸素を供給することができる。
例えば、絶縁体574として、ハフニウム、アルミニウム、ガリウム、イットリウム、ジルコニウム、タングステン、チタン、タンタル、ニッケル、ゲルマニウム、又はマグネシウムなどから選ばれた一種、又は二種以上が含まれた金属酸化物を用いることができる。
特に、酸化アルミニウムはバリア性が高く、0.5nm以上3.0nm以下の薄膜であっても、水素、及び窒素の拡散を抑制することができる。したがって、スパッタリング法で成膜した酸化アルミニウムは、酸素供給源であるとともに、水素などの不純物のバリア膜としての機能も有することができる。
また、絶縁体574の上に、層間膜として機能する絶縁体581を設けることが好ましい。絶縁体581は、絶縁体524などと同様に、膜中の水又は水素などの不純物濃度が低減されていることが好ましい。
また、絶縁体581、絶縁体574、絶縁体580、及び絶縁体544に形成された開口に、導電体540a、及び導電体540bを配置する。導電体540a及び導電体540bは、導電体560を挟んで対向して設ける。導電体540a及び導電体540bは、後述する導電体546、及び導電体548と同様の構成である。
絶縁体581上には、絶縁体582が設けられている。絶縁体582は、酸素や水素に対してバリア性のある物質を用いることが好ましい。したがって、絶縁体582には、絶縁体514と同様の材料を用いることができる。例えば、絶縁体582には、酸化アルミニウム、酸化ハフニウム、酸化タンタルなどの金属酸化物を用いることが好ましい。
特に、酸化アルミニウムは、酸素、及びトランジスタの電気特性の変動要因となる水素、水分などの不純物、の両方に対して膜を透過させない遮断効果が高い。したがって、酸化アルミニウムは、トランジスタの作製工程中及び作製後において、水素、水分などの不純物のトランジスタ500への混入を防止することができる。また、トランジスタ500を構成する酸化物からの酸素の放出を抑制することができる。そのため、トランジスタ500に対する保護膜として用いることに適している。
また、絶縁体582上には、絶縁体586が設けられている。絶縁体586は、絶縁体320と同様の材料を用いることができる。また、これらの絶縁体に、比較的誘電率が低い材料を適用することで、配線間に生じる寄生容量を低減することができる。例えば、絶縁体586として、酸化シリコン膜や酸化窒化シリコン膜などを用いることができる。
また、絶縁体520、絶縁体522、絶縁体524、絶縁体544、絶縁体580、絶縁体574、絶縁体581、絶縁体582、及び絶縁体586には、導電体546、及び導電体548等が埋め込まれている。
導電体546、及び導電体548は、容量素子600、トランジスタ500、又はトランジスタ300と接続するプラグ、又は配線としての機能を有する。導電体546、及び導電体548は、導電体328、及び導電体330と同様の材料を用いて設けることができる。
なお、トランジスタ500の形成後、トランジスタ500を囲むように開口を形成し、当該開口を覆うように、水素、または水に対するバリア性が高い絶縁体を形成してもよい。上述のバリア性の高い絶縁体でトランジスタ500を包み込むことで、外部から水分、および水素が侵入するのを防止することができる。または、複数のトランジスタ500をまとめて、水素、または水に対するバリア性が高い絶縁体で包み込んでもよい。なお、トランジスタ500を囲むように開口を形成する場合、例えば、絶縁体514または絶縁体522に達する開口を形成し、絶縁体514または絶縁体522に接するように上述のバリア性の高い絶縁体を形成すると、トランジスタ500の作製工程の一部を兼ねられるため、好適である。なお、水素、または水に対するバリア性が高い絶縁体としては、例えば、絶縁体522と同様の材料を用いればよい。
続いて、トランジスタ500の上方には、容量素子600が設けられている。容量素子600は、導電体610と、導電体620、絶縁体630とを有する。
また、導電体546、及び導電体548上に、導電体612を設けてもよい。導電体612は、トランジスタ500と接続するプラグ、又は配線としての機能を有する。導電体610は、容量素子600の電極としての機能を有する。なお、導電体612、及び導電体610は、同時に形成することができる。
導電体612、及び導電体610には、モリブデン、チタン、タンタル、タングステン、アルミニウム、銅、クロム、ネオジム、スカンジウムから選ばれた元素を含む金属膜、又は上述した元素を成分とする金属窒化物膜(窒化タンタル膜、窒化チタン膜、窒化モリブデン膜、窒化タングステン膜)等を用いることができる。又は、インジウム錫酸化物、酸化タングステンを含むインジウム酸化物、酸化タングステンを含むインジウム亜鉛酸化物、酸化チタンを含むインジウム酸化物、酸化チタンを含むインジウム錫酸化物、インジウム亜鉛酸化物、酸化ケイ素を添加したインジウム錫酸化物などの導電性材料を適用することもできる。
図61では、導電体612、及び導電体610は単層構造を示したが、当該構成に限定されず、2層以上の積層構造でもよい。例えば、バリア性を有する導電体と導電性が高い導電体との間に、バリア性を有する導電体、及び導電性が高い導電体に対して密着性が高い導電体を形成してもよい。
絶縁体630を介して、導電体610と重畳するように、導電体620を設ける。なお、導電体620は、金属材料、合金材料、又は金属酸化物材料などの導電性材料を用いることができる。耐熱性と導電性を両立するタングステンやモリブデンなどの高融点材料を用いることが好ましく、特にタングステンを用いることが好ましい。また、導電体などの他の構造と同時に形成する場合は、低抵抗金属材料であるCu(銅)やAl(アルミニウム)等を用いればよい。
導電体620、及び絶縁体630上には、絶縁体650が設けられている。絶縁体650は、絶縁体320と同様の材料を用いて設けることができる。また、絶縁体650は、その下方の凹凸形状を被覆する平坦化膜として機能してもよい。
本構造を用いることで、酸化物半導体を有するトランジスタを用いた半導体装置において、電気特性の変動を抑制するとともに、信頼性を向上させることができる。又は、酸化物半導体を有するトランジスタを用いた半導体装置において、微細化又は高集積化を図ることができる。
次に、図61、図62に図示している、OSトランジスタの別の構成例について説明する。図64A、及び図64Bは、図63A、及び図63Bに示すトランジスタ500の変形例であって、図64Aは、トランジスタ500のチャネル長方向の断面図であり、図64Bはトランジスタ500のチャネル幅方向の断面図である。なお、図64A、及び図64Bに示す構成は、トランジスタ300等、本発明の一態様の半導体装置が有する他のトランジスタにも適用することができる。
図64A、及び図64Bに示す構成のトランジスタ500は、絶縁体402及び絶縁体404を有する点が、図63A、及び図63Bに示す構成のトランジスタ500と異なる。また、導電体540aの側面に接して絶縁体552が設けられ、導電体540bの側面に接して絶縁体552が設けられる点が、図63A、及び図63Bに示す構成のトランジスタ500と異なる。さらに、絶縁体520を有さない点が、図63A、及び図63Bに示す構成のトランジスタ500と異なる。
図64A、及び図64Bに示す構成のトランジスタ500は、絶縁体512上に絶縁体402が設けられている。また、絶縁体574上、及び絶縁体402上に絶縁体404が設けられている。
図64A、及び図64Bに示す構成のトランジスタ500では、絶縁体514、絶縁体516、絶縁体522、絶縁体524、絶縁体544、絶縁体580、及び絶縁体574が設けられており、絶縁体404がこれらを覆う構造になっている。つまり、絶縁体404は、絶縁体574の上面、絶縁体574の側面、絶縁体580の側面、絶縁体544の側面、絶縁体524の側面、絶縁体522の側面、絶縁体516の側面、絶縁体514の側面、絶縁体402の上面とそれぞれ接する。これにより、酸化物530等は、絶縁体404と絶縁体402によって外部から隔離される。
絶縁体402及び絶縁体404は、水素(例えば、水素原子、水素分子などの少なくとも一)又は水分子の拡散を抑制する機能が高いことが好ましい。例えば、絶縁体402及び絶縁体404として、水素バリア性が高い材料である、窒化シリコン又は窒化酸化シリコンを用いることが好ましい。これにより、酸化物530に水素等が拡散することを抑制することができるので、トランジスタ500の特性が低下することを抑制することができる。よって、本発明の一態様の半導体装置の信頼性を高めることができる。
絶縁体552は、絶縁体581、絶縁体404、絶縁体574、絶縁体580、及び絶縁体544に接して設けられる。絶縁体552は、水素又は水分子の拡散を抑制する機能を有することが好ましい。たとえば、絶縁体552として、水素バリア性が高い材料である、窒化シリコン、酸化アルミニウム、又は窒化酸化シリコン等の絶縁体を用いることが好ましい。特に、窒化シリコンは水素バリア性が高い材料であるので、絶縁体552として用いると好適である。絶縁体552として水素バリア性が高い材料を用いることにより、水又は水素等の不純物が、絶縁体580等から導電体540a及び導電体540bを通じて酸化物530に拡散することを抑制することができる。また、絶縁体580に含まれる酸素が導電体540a及び導電体540bに吸収されることを抑制することができる。以上により、本発明の一態様の半導体装置の信頼性を高めることができる。
図65は、トランジスタ500及びトランジスタ300を図64A、及び図64Bに示す構成とした場合における、半導体装置の構成例を示す断面図である。導電体546の側面に、絶縁体552が設けられている。
また、図64A、及び図64Bに示すトランジスタ500は、状況に応じて、トランジスタの構成を変更してもよい。例えば、図64A、及び図64Bのトランジスタ500は、変更例として、図66に示すトランジスタにすることができる。図66Aはトランジスタのチャネル長方向の断面図であり、図66Bはトランジスタのチャネル幅方向の断面図である。図66A、及び図66Bに示すトランジスタは、酸化物530cが酸化物530c1及び酸化物530c2の2層構造である点で、図64A、及び図64Bに示すトランジスタと異なる。
酸化物530c1は、絶縁体524の上面、酸化物530aの側面、酸化物530bの上面及び側面、導電体542a及び導電体542bの側面、絶縁体544の側面、及び絶縁体580の側面と接する。酸化物530c2は、絶縁体550と接する。
酸化物530c1として、例えばIn-Zn酸化物を用いることができる。また、酸化物530c2として、酸化物530cが1層構造である場合に酸化物530cに用いることができる材料と同様の材料を用いることができる。例えば、酸化物530c2として、n:Ga:Zn=1:3:4[原子数比]、Ga:Zn=2:1[原子数比]、またはGa:Zn=2:5[原子数比]の金属酸化物を用いることができる。
酸化物530cを酸化物530c1及び酸化物530c2の2層構造とすることにより、酸化物530cを1層構造とする場合より、トランジスタのオン電流を高めることができる。そのため、トランジスタは、例えばパワーMOSトランジスタとして適用することができる。なお、図63A、及び図63Bに示す構成のトランジスタが有する酸化物530cも、酸化物530c1と酸化物530c2の2層構造とすることができる。
図66A、及び図66Bに示す構成のトランジスタは、例えば、図61、図62に示すトランジスタ300に適用することができる。また、例えば、トランジスタ300は、前述のとおり、演算回路110、演算回路120、演算回路130、演算回路140、演算回路150、演算回路160、演算回路170などに含まれる回路MPのトランジスタM2などに適用することができる。なお、図66A、図66Bに示すトランジスタは、本発明の一態様の半導体装置が有する、トランジスタ300、500以外のトランジスタにも適用することができる。
図67は、トランジスタ500を図63Aに示すトランジスタの構成とし、トランジスタ300を図66Aに示すトランジスタの構成とした場合における、半導体装置の構成例を示す断面図である。なお、図65と同様に、導電体546の側面に絶縁体552を設ける構成としている。図67に示すように、本発明の一態様の半導体装置は、トランジスタ300とトランジスタ500を両方ともOSトランジスタとしつつ、トランジスタ300とトランジスタ500のそれぞれを異なる構成にすることができる。
次に、図61、図62の半導体装置に適用できる容量素子について説明する。
図68では、図61に示す半導体装置に適用できる容量素子600の一例として容量素子600Aについて示している。図68Aは容量素子600Aの上面図であり、図68Bは容量素子600Aの一点鎖線L3-L4における断面を示した斜視図であり、図68Cは容量素子600Aの一点鎖線W3-L4における断面を示した斜視図である。
導電体610は、容量素子600Aの1対の電極の一方として機能し、導電体620は、容量素子600Aの1対の電極の他方として機能する。また、絶縁体630は、1対の電極に挟まれる誘電体として機能する。
絶縁体630としては、例えば、酸化シリコン、酸化窒化シリコン、窒化酸化シリコン、窒化シリコン、酸化アルミニウム、酸化窒化アルミニウム、窒化酸化アルミニウム、窒化アルミニウム、酸化ハフニウム、酸化窒化ハフニウム、窒化酸化ハフニウム、窒化ハフニウム、酸化ジルコニウムなどを用いればよく、積層または単層で設けることができる。
また、例えば、絶縁体630には、酸化窒化シリコンなどの絶縁耐力が大きい材料と、高誘電率(high-k)材料との積層構造を用いてもよい。当該構成により、容量素子600Aは、高誘電率(high-k)の絶縁体を有することで、十分な容量を確保でき、絶縁耐力が大きい絶縁体を有することで、絶縁耐力が向上し、容量素子600Aの静電破壊を抑制することができる。
なお、高誘電率(high-k)材料(高い比誘電率の材料)の絶縁体としては、酸化ガリウム、酸化ハフニウム、酸化ジルコニウム、アルミニウムおよびハフニウムを有する酸化物、アルミニウムおよびハフニウムを有する酸化窒化物、シリコンおよびハフニウムを有する酸化物、シリコンおよびハフニウムを有する酸化窒化物またはシリコンおよびハフニウムを有する窒化物などがある。
または、絶縁体630は、例えば、酸化アルミニウム、酸化ハフニウム、酸化タンタル、酸化ジルコニウム、チタン酸ジルコン酸鉛(PZT)、チタン酸ストロンチウム(SrTiO3)または(Ba、Sr)TiO3(BST)などのhigh-k材料を含む絶縁体を単層または積層で用いてもよい。例えば、絶縁体630を積層とする場合、酸化ジルコニウムと、酸化アルミニウムと、酸化ジルコニウムと、が順に形成された3層積層や、酸化ジルコニウムと、酸化アルミニウムと、酸化ジルコニウムと、酸化アルミニウムと、が順に形成された4層積層などを用いれば良い。また、絶縁体630としては、ハフニウムと、ジルコニウムとが含まれる化合物などを用いても良い。半導体装置の微細化、および高集積化が進むと、ゲート絶縁体、および容量素子に用いる誘電体の薄膜化により、トランジスタや容量素子のリーク電流などの問題が生じる場合がある。ゲート絶縁体、および容量素子に用いる誘電体として機能する絶縁体にhigh-k材料を用いることで、物理膜厚を保ちながら、トランジスタ動作時のゲート電位の低減、および容量素子の容量の確保が可能となる。
容量素子600Aは、導電体610の下部において、導電体546と、導電体548とに電気的に接続されている。導電体546と、導電体548は、別の回路素子と接続するためのプラグ、又は配線として機能する。また図68A乃至図68Cでは、導電体546と、導電体548と、をまとめて導電体540と記載している。
また、図68A乃至図68Cでは、図を明瞭に示すために、導電体546及び導電体548が埋め込まれている絶縁体586と、導電体620及び絶縁体630を覆っている絶縁体650と、を省略している。
なお、図61、図62、図68A乃至図68Cに示す容量素子600はプレーナ型であるが、容量素子の形状はこれに限定されない。例えば、容量素子600は、図69A乃至図69Cに示すシリンダ型の容量素子600Bとしてもよい。
図69Aは容量素子600Bの上面図であり、図69Bは容量素子600Bの一点鎖線L3-L4における断面図であり、図69Cは容量素子600Bの一点鎖線W3-L4における断面を示した斜視図である。
図69Bにおいて、容量素子600Bは、導電体540が埋め込まれている絶縁体586上の絶縁体631と、開口部を有する絶縁体651と、1対の電極の一方として機能する導電体610と、1対の電極の他方として機能する導電体620と、を有する。
また、図69Cでは、図を明瞭に示すために、絶縁体586と、絶縁体650と、絶縁体651と、を省略している。
絶縁体631としては、例えば、絶縁体586と同様の材料を用いることができる。
また、絶縁体631には、導電体540に電気的に接続されるように導電体611が埋め込まれている。導電体611は、例えば、導電体330、導電体518と同様の材料を用いることができる。
絶縁体651としては、例えば、絶縁体586と同様の材料を用いることができる。
また、絶縁体651は、前述の通り、開口部を有し、当該開口部は導電体611に重畳している。
導電体610は、当該開口部の底部と、側面と、に形成されている。つまり、導電体610は、導電体611に重畳し、かつ導電体611に電気的に接続されている。
なお、導電体610の形成方法としては、エッチング法などによって絶縁体651に開口部を形成し、次に、スパッタリング法、ALD法などによって導電体610を成膜する。その後、CMP(Chemichal Mechanical Polishing)法などによって、開口部に成膜された導電体610を残して、絶縁体651上に成膜された導電体610を除去すればよい。
絶縁体630は、絶縁体651上と、導電体610の形成面上と、に位置する。なお、絶縁体630は、容量素子において、1対の電極に挟まれる誘電体として機能する。
導電体620は、絶縁体651の開口部が埋まるように、絶縁体630上に形成されている。
絶縁体650は、絶縁体630と、導電体620と、を覆うように形成されている。
図69A乃至図69Cに示すシリンダ型の容量素子600Bは、プレーナ型の容量素子600Aよりも静電容量の値を高くすることができる。そのため、例えば、上記の実施の形態で説明した容量C1、C2などとして、容量素子600Bを適用することによって、長時間、容量の端子間の電圧を維持することができる。
なお、本実施の形態は、本明細書で示す他の実施の形態と適宜組み合わせることができる。
(実施の形態5)
本実施の形態では、上記の実施の形態で説明したOSトランジスタに用いることができる金属酸化物であるCAC-OS(Cloud-Aligned Composite Oxide Semiconductor)、及びCAAC-OS(c-axis Aligned Crystalline Oxide Semiconductor)の構成について説明する。なお、本明細書等において、CACは機能、又は材料の構成の一例を表し、CAACは結晶構造の一例を表す。
<金属酸化物の構成>
CAC-OS又はCAC-metal oxideとは、材料の一部では導電性の機能と、材料の一部では絶縁性の機能とを有し、材料の全体では半導体としての機能を有する。なお、CAC-OS又はCAC-metal oxideを、トランジスタの活性層に用いる場合、導電性の機能は、キャリアとなる電子(又はホール)を流す機能であり、絶縁性の機能は、キャリアとなる電子を流さない機能である。導電性の機能と、絶縁性の機能とを、それぞれ相補的に作用させることで、スイッチングさせる機能(On/Offさせる機能)をCAC-OS又はCAC-metal oxideに付与することができる。CAC-OS又はCAC-metal oxideにおいて、それぞれの機能を分離させることで、双方の機能を最大限に高めることができる。
また、CAC-OS又はCAC-metal oxideは、導電性領域、及び絶縁性領域を有する。導電性領域は、上述の導電性の機能を有し、絶縁性領域は、上述の絶縁性の機能を有する。また、材料中において、導電性領域と、絶縁性領域とは、ナノ粒子レベルで分離している場合がある。また、導電性領域と、絶縁性領域とは、それぞれ材料中に偏在する場合がある。また、導電性領域は、周辺がぼけてクラウド状に連結して観察される場合がある。
また、CAC-OS又はCAC-metal oxideにおいて、導電性領域と、絶縁性領域とは、それぞれ0.5nm以上10nm以下、好ましくは0.5nm以上3nm以下のサイズで材料中に分散している場合がある。
また、CAC-OS又はCAC-metal oxideは、異なるバンドギャップを有する成分により構成される。例えば、CAC-OS又はCAC-metal oxideは、絶縁性領域に起因するワイドギャップを有する成分と、導電性領域に起因するナローギャップを有する成分と、により構成される。当該構成の場合、キャリアを流す際に、ナローギャップを有する成分において、主にキャリアが流れる。また、ナローギャップを有する成分が、ワイドギャップを有する成分に相補的に作用し、ナローギャップを有する成分に連動してワイドギャップを有する成分にもキャリアが流れる。このため、上記CAC-OS又はCAC-metal oxideをトランジスタのチャネル形成領域に用いる場合、トランジスタのオン状態において高い電流駆動力、つまり大きなオン電流、及び高い電界効果移動度を得ることができる。
すなわち、CAC-OS又はCAC-metal oxideは、マトリックス複合材(matrix composite)、又は金属マトリックス複合材(metal matrix composite)と呼称することもできる。
<金属酸化物の構造>
酸化物半導体は、単結晶酸化物半導体と、それ以外の非単結晶酸化物半導体と、に分けられる。非単結晶酸化物半導体としては、例えば、CAAC-OS(c-axis aligned crystalline oxide semiconductor)、多結晶酸化物半導体、nc-OS(nanocrystalline oxide semiconductor)、擬似非晶質酸化物半導体(a-like OS:amorphous-like oxide semiconductor)及び非晶質酸化物半導体などがある。
CAAC-OSは、c軸配向性を有し、かつa-b面方向において複数のナノ結晶が連結し、歪みを有した結晶構造となっている。なお、歪みとは、複数のナノ結晶が連結する領域において、格子配列の揃った領域と、別の格子配列の揃った領域と、の間で格子配列の向きが変化している箇所を指す。
ナノ結晶は、六角形を基本とするが、正六角形状とは限らず、非正六角形状である場合がある。また、歪みにおいて、五角形、及び七角形などの格子配列を有する場合がある。なお、CAAC-OSにおいて、歪み近傍においても、明確な結晶粒界(グレインバウンダリーともいう)を確認することはできない。即ち、格子配列の歪みによって、結晶粒界の形成が抑制されていることがわかる。これは、CAAC-OSが、a-b面方向において酸素原子の配列が稠密でないことや、金属元素が置換することで原子間の結合距離が変化することなどによって、歪みを許容することができるためと考えられる。
また、CAAC-OSは、インジウム、及び酸素を有する層(以下、In層)と、元素M、亜鉛、及び酸素を有する層(以下、(M,Zn)層)とが積層した、層状の結晶構造(層状構造ともいう)を有する傾向がある。なお、インジウムと元素Mは、互いに置換可能であり、(M,Zn)層の元素Mがインジウムと置換した場合、(In,M,Zn)層と表すこともできる。また、In層のインジウムが元素Mと置換した場合、(In,M)層と表すこともできる。
CAAC-OSは結晶性の高い酸化物半導体である。一方、CAAC-OSは、明確な結晶粒界を確認することはできないため、結晶粒界に起因する電子移動度の低下が起こりにくいといえる。また、酸化物半導体の結晶性は不純物の混入や欠陥の生成などによって低下する場合があるため、CAAC-OSは不純物や欠陥(酸素欠損など)の少ない酸化物半導体ともいえる。従って、CAAC-OSを有する酸化物半導体は、物理的性質が安定する。そのため、CAAC-OSを有する酸化物半導体は熱に強く、信頼性が高い。また、CAAC-OSは、製造工程における高い温度(所謂サーマルバジェット)に対しても安定である。したがって、OSトランジスタにCAAC-OSを用いると、製造工程の自由度を広げることが可能となる。
nc-OSは、微小な領域(例えば、1nm以上10nm以下の領域、特に1nm以上3nm以下の領域)において原子配列に周期性を有する。また、nc-OSは、異なるナノ結晶間で結晶方位に規則性が見られない。そのため、膜全体で配向性が見られない。したがって、nc-OSは、分析方法によっては、a-like OSや非晶質酸化物半導体と区別が付かない場合がある。
a-like OSは、nc-OSと非晶質酸化物半導体との間の構造を有する酸化物半導体である。a-like OSは、鬆又は低密度領域を有する。即ち、a-like OSは、nc-OS及びCAAC-OSと比べて、結晶性が低い。
酸化物半導体は、多様な構造をとり、それぞれが異なる特性を有する。本発明の一態様の酸化物半導体は、非晶質酸化物半導体、多結晶酸化物半導体、a-like OS、nc-OS、CAAC-OSのうち、二種以上を有していてもよい。
<酸化物半導体を有するトランジスタ>
続いて、上記酸化物半導体をトランジスタに用いる場合について説明する。
上記酸化物半導体をトランジスタに用いることで、高い電界効果移動度のトランジスタを実現することができる。また、信頼性の高いトランジスタを実現することができる。
また、トランジスタには、キャリア濃度の低い酸化物半導体を用いることが好ましい。酸化物半導体膜のキャリア濃度を低くする場合においては、酸化物半導体膜中の不純物濃度を低くし、欠陥準位密度を低くすればよい。本明細書等において、不純物濃度が低く、欠陥準位密度の低いことを高純度真性又は実質的に高純度真性という場合があり、また、真性又は実質的に真性という場合がある。
また、高純度真性又は実質的に高純度真性である酸化物半導体膜は、欠陥準位密度が低いため、トラップ準位密度も低くなる場合がある。
また、酸化物半導体のトラップ準位に捕獲された電荷は、消失するまでに要する時間が長く、あたかも固定電荷のように振る舞うことがある。そのため、トラップ準位密度の高い酸化物半導体にチャネル形成領域が形成されるトランジスタは、電気特性が不安定となる場合がある。
従って、トランジスタの電気特性を安定にするためには、酸化物半導体中の不純物濃度を低減することが有効である。また、酸化物半導体中の不純物濃度を低減するためには、近接する膜中の不純物濃度も低減することが好ましい。不純物としては、水素、窒素、アルカリ金属、アルカリ土類金属、鉄、ニッケル、シリコン等がある。
<不純物>
ここで、酸化物半導体中における各不純物の影響について説明する。
酸化物半導体において、第14族元素の一つであるシリコンや炭素が含まれると、酸化物半導体において欠陥準位が形成される。このため、酸化物半導体におけるシリコンや炭素の濃度と、酸化物半導体との界面近傍のシリコンや炭素の濃度(二次イオン質量分析法(SIMS)により得られる濃度)を、2×1018atoms/cm3以下、好ましくは2×1017atoms/cm3以下とする。
また、酸化物半導体にアルカリ金属又はアルカリ土類金属が含まれると、欠陥準位を形成し、キャリアを生成する場合がある。従って、アルカリ金属又はアルカリ土類金属が含まれている酸化物半導体を用いたトランジスタはノーマリーオン特性となりやすい。このため、酸化物半導体中のアルカリ金属又はアルカリ土類金属の濃度を低減することが好ましい。具体的には、SIMSにより得られる酸化物半導体中のアルカリ金属又はアルカリ土類金属の濃度を、1×1018atoms/cm3以下、好ましくは2×1016atoms/cm3以下にする。
また、酸化物半導体において、窒素が含まれると、キャリアである電子が生じ、キャリア濃度が増加し、n型化しやすい。この結果、窒素が含まれている酸化物半導体を半導体に用いたトランジスタはノーマリーオン特性となりやすい。従って、該酸化物半導体において、窒素はできる限り低減されていることが好ましい、例えば、酸化物半導体中の窒素濃度は、SIMSにおいて、5×1019atoms/cm3未満、好ましくは5×1018atoms/cm3以下、より好ましくは1×1018atoms/cm3以下、さらに好ましくは5×1017atoms/cm3以下とする。
また、酸化物半導体に含まれる水素は、金属原子と結合する酸素と反応して水になるため、酸素欠損を形成する場合がある。該酸素欠損に水素が入ることで、キャリアである電子が生成される場合がある。また、水素の一部が金属原子と結合する酸素と結合して、キャリアである電子を生成することがある。従って、水素が含まれている酸化物半導体を用いたトランジスタはノーマリーオン特性となりやすい。このため、酸化物半導体中の水素はできる限り低減されていることが好ましい。具体的には、酸化物半導体において、SIMSにより得られる水素濃度を、1×1020atoms/cm3未満、好ましくは1×1019atoms/cm3未満、より好ましくは5×1018atoms/cm3未満、さらに好ましくは1×1018atoms/cm3未満とする。
不純物が十分に低減された酸化物半導体をトランジスタのチャネル形成領域に用いることで、安定した電気特性を付与することができる。
なお、本実施の形態は、本明細書で示す他の実施の形態と適宜組み合わせることができる。
(実施の形態6)
本実施の形態は、上記実施の形態に示す半導体装置などが形成された半導体ウェハ、及び当該半導体装置が組み込まれた電子部品の一例を示す。
<半導体ウェハ>
初めに、半導体装置などが形成された半導体ウェハの例を、図70Aを用いて説明する。
図70Aに示す半導体ウェハ4800は、ウェハ4801と、ウェハ4801の上面に設けられた複数の回路部4802と、を有する。なお、ウェハ4801の上面において、回路部4802の無い部分は、スペーシング4803であり、ダイシング用の領域である。
半導体ウェハ4800は、ウェハ4801の表面に対して、前工程によって複数の回路部4802を形成することで作製することができる。また、その後に、ウェハ4801の複数の回路部4802が形成された反対側の面を研削して、ウェハ4801を薄膜化してもよい。この工程により、ウェハ4801の反りなどを低減し、部品としての小型化を図ることができる。
次の工程としては、ダイシング工程が行われる。ダイシングは、一点鎖線で示したスクライブラインSCL1及びスクライブラインSCL2(ダイシングライン、又は切断ラインと呼ぶ場合がある)に沿って行われる。なお、スペーシング4803は、ダイシング工程を容易に行うために、複数のスクライブラインSCL1が平行になるように設け、複数のスクライブラインSCL2が平行になるように設け、スクライブラインSCL1とスクライブラインSCL2が垂直になるように設けるのが好ましい。
ダイシング工程を行うことにより、図70Bに示すようなチップ4800aを、半導体ウェハ4800から切り出すことができる。チップ4800aは、ウェハ4801aと、回路部4802と、スペーシング4803aと、を有する。なお、スペーシング4803aは、極力小さくなるようにするのが好ましい。この場合、隣り合う回路部4802の間のスペーシング4803の幅が、スクライブラインSCL1の切りしろと、又はスクライブラインSCL2の切りしろとほぼ同等の長さであればよい。
なお、本発明の一態様の素子基板の形状は、図70Aに図示した半導体ウェハ4800の形状に限定されない。例えば、矩形の形状の半導体ウェハあってもよい。素子基板の形状は、素子の作製工程、及び素子を作製するための装置に応じて、適宜変更することができる。
<電子部品>
図70Cに電子部品4700および電子部品4700が実装された基板(実装基板4704)の斜視図を示す。図70Cに示す電子部品4700は、モールド4711内にチップ4800aを有している。なお、図70Cに示すチップ4800aには、回路部4802が積層された構成を示している。つまり、回路部4802として、上記の実施の形態で説明した半導体装置を適用することができる。図70Cは、電子部品4700の内部を示すために、一部を省略している。電子部品4700は、モールド4711の外側にランド4712を有する。ランド4712は電極パッド4713と電気的に接続され、電極パッド4713はチップ4800aとワイヤ4714によって電気的に接続されている。電子部品4700は、例えばプリント基板4702に実装される。このような電子部品が複数組み合わされて、それぞれがプリント基板4702上で電気的に接続されることで実装基板4704が完成する。
図70Dに電子部品4730の斜視図を示す。電子部品4730は、SiP(System in package)またはMCM(Multi Chip Module)の一例である。電子部品4730は、パッケージ基板4732(プリント基板)上にインターポーザ4731が設けられ、インターポーザ4731上に半導体装置4735、および複数の半導体装置4710が設けられている。
電子部品4730では、半導体装置4710を有する。半導体装置4710としては、例えば、上記実施の形態で説明した半導体装置、広帯域メモリ(HBM:High Bandwidth Memory)などとすることができる。また、半導体装置4735は、CPU、GPU、FPGA、記憶装置などの集積回路(半導体装置)を用いることができる。
パッケージ基板4732は、セラミック基板、プラスチック基板、またはガラスエポキシ基板などを用いることができる。インターポーザ4731は、シリコンインターポーザ、樹脂インターポーザなどを用いることができる。
インターポーザ4731は、複数の配線を有し、端子ピッチの異なる複数の集積回路を電気的に接続する機能を有する。複数の配線は、単層または多層で設けられる。また、インターポーザ4731は、インターポーザ4731上に設けられた集積回路をパッケージ基板4732に設けられた電極と電気的に接続する機能を有する。これらのことから、インターポーザを「再配線基板」または「中間基板」と呼ぶ場合がある。また、インターポーザ4731に貫通電極を設けて、当該貫通電極を用いて集積回路とパッケージ基板4732を電気的に接続する場合もある。また、シリコンインターポーザでは、貫通電極として、TSV(Through Silicon Via)を用いることもできる。
インターポーザ4731としてシリコンインターポーザを用いることが好ましい。シリコンインターポーザでは能動素子を設ける必要が無いため、集積回路よりも低コストで作製することができる。一方で、シリコンインターポーザの配線形成は半導体プロセスで行なうことができるため、樹脂インターポーザでは難しい微細配線の形成が容易である。
HBMでは、広いメモリバンド幅を実現するために多くの配線を接続する必要がある。このため、HBMを実装するインターポーザには、微細かつ高密度の配線形成が求められる。よって、HBMを実装するインターポーザには、シリコンインターポーザを用いることが好ましい。
また、シリコンインターポーザを用いたSiPやMCMなどでは、集積回路とインターポーザ間の膨張係数の違いによる信頼性の低下が生じにくい。また、シリコンインターポーザは表面の平坦性が高いため、シリコンインターポーザ上に設ける集積回路とシリコンインターポーザ間の接続不良が生じにくい。特に、インターポーザ上に複数の集積回路を横に並べて配置する2.5Dパッケージ(2.5次元実装)では、シリコンインターポーザを用いることが好ましい。
また、電子部品4730と重ねてヒートシンク(放熱板)を設けてもよい。ヒートシンクを設ける場合は、インターポーザ4731上に設ける集積回路の高さを揃えることが好ましい。例えば、本実施の形態に示す電子部品4730では、半導体装置4710と半導体装置4735の高さを揃えることが好ましい。
電子部品4730を他の基板に実装するため、パッケージ基板4732の底部に電極4733を設けてもよい。図70Dでは、電極4733を半田ボールで形成する例を示している。パッケージ基板4732の底部に半田ボールをマトリクス状に設けることで、BGA(Ball Grid Array)実装を実現できる。また、電極4733を導電性のピンで形成してもよい。パッケージ基板4732の底部に導電性のピンをマトリクス状に設けることで、PGA(Pin Grid Array)実装を実現できる。
電子部品4730は、BGAおよびPGAに限らず様々な実装方法を用いて他の基板に実装することができる。例えば、SPGA(Staggered Pin Grid Array)、LGA(Land Grid Array)、QFP(Quad Flat Package)、QFJ(Quad Flat J-leaded package)、またはQFN(Quad Flat Non-leaded package)などの実装方法を用いることができる。
なお、本実施の形態は、本明細書で示す他の実施の形態と適宜組み合わせることができる。
(実施の形態7)
本実施の形態では、上記実施の形態で説明した半導体装置を有する電子機器の一例について説明する。なお、図71には、当該半導体装置を有する電子部品4700(BMP)が各電子機器に含まれている様子を図示している。
[携帯電話]
図71に示す情報端末5500は、情報端末の一種である携帯電話(スマートフォン)である。情報端末5500は、筐体5510と、表示部5511と、を有しており、入力用インターフェースとして、タッチパネルが表示部5511に備えられ、ボタンが筐体5510に備えられている。
情報端末5500は、上記実施の形態で説明した半導体装置を適用することで、人工知能を利用したアプリケーションを実行することができる。人工知能を利用したアプリケーションとしては、例えば、会話を認識してその会話内容を表示部5511に表示するアプリケーション、表示部5511に備えるタッチパネルに対してユーザが入力した文字、図形などを認識して、表示部5511に表示するアプリケーション、指紋や声紋などの生体認証を行うアプリケーションなどが挙げられる。
[ウェアラブル端末]
また、図71には、ウェアラブル端末の一例としてスマートウォッチ5900が図示されている。スマートウォッチ5900は、筐体5901、表示部5902、操作ボタン5903、操作子5904、バンド5905などを有する。
ウェアラブル端末は、先述した情報端末5500と同様に、上記実施の形態で説明した半導体装置を適用することで、人工知能を利用したアプリケーションを実行することができる。人工知能を利用したアプリケーションとしては、例えば、ウェアラブル端末を装着した人の健康状態を管理するアプリケーション、目的地を入力することで最適な道を選択して誘導するナビゲーションシステムなどが挙げられる。
[情報端末]
また、図71には、デスクトップ型情報端末5300が図示されている。デスクトップ型情報端末5300は、情報端末の本体5301と、ディスプレイ5302と、キーボード5303と、を有する。
デスクトップ型情報端末5300は、先述した情報端末5500と同様に、上記実施の形態で説明した半導体装置を適用することで、人工知能を利用したアプリケーションを実行することができる。人工知能を利用したアプリケーションとしては、例えば、設計支援ソフトウェア、文章添削ソフトウェア、献立自動生成ソフトウェアなどが挙げられる。また、デスクトップ型情報端末5300を用いることで、新規の人工知能の開発を行うことができる。
なお、上述では、電子機器としてスマートフォン、及びデスクトップ用情報端末を例として、それぞれ図71に図示したが、スマートフォン、及びデスクトップ用情報端末以外の情報端末を適用することができる。スマートフォン、及びデスクトップ用情報端末以外の情報端末としては、例えば、PDA(Personal Digital Assistant)、ノート型情報端末、ワークステーションなどが挙げられる。
[電化製品]
また、図71には、電化製品の一例として電気冷凍冷蔵庫5800が図示されている。電気冷凍冷蔵庫5800は、筐体5801、冷蔵室用扉5802、冷凍室用扉5803等を有する。
電気冷凍冷蔵庫5800に上記実施の形態で説明した半導体装置を適用することによって、人工知能を有する電気冷凍冷蔵庫5800を実現することができる。人工知能を利用することによって電気冷凍冷蔵庫5800は、電気冷凍冷蔵庫5800に保存されている食材、その食材の消費期限などを基に献立を自動生成する機能や、電気冷凍冷蔵庫5800に保存されている食材に合わせた温度に自動的に調節する機能などを有することができる。
本一例では、電化製品として電気冷凍冷蔵庫について説明したが、その他の電化製品としては、例えば、掃除機、電子レンジ、電子オーブン、炊飯器、湯沸かし器、IH調理器、ウォーターサーバ、エアーコンディショナーを含む冷暖房器具、洗濯機、乾燥機、オーディオビジュアル機器などが挙げられる。
[ゲーム機]
また、図71には、ゲーム機の一例である携帯ゲーム機5200が図示されている。携帯ゲーム機5200は、筐体5201、表示部5202、ボタン5203等を有する。
更に、図71には、ゲーム機の一例である据え置き型ゲーム機7500が図示されている。据え置き型ゲーム機7500は、本体7520と、コントローラ7522を有する。なお、本体7520には、無線または有線によってコントローラ7522を接続することができる。また、図71に示していないが、コントローラ7522は、ゲームの画像を表示する表示部、ボタン以外の入力インターフェースとなるタッチパネルやスティック、回転式つまみ、スライド式つまみなどを備えることができる。また、コントローラ7522は、図71に示す形状に限定されず、ゲームのジャンルに応じて、コントローラ7522の形状を様々に変更してもよい。例えば、FPS(First Person Shooter)などのシューティングゲームでは、トリガーをボタンとし、銃を模した形状のコントローラを用いることができる。また、例えば、音楽ゲームなどでは、楽器、音楽機器などを模した形状のコントローラを用いることができる。更に、据え置き型ゲーム機は、コントローラを使わず、代わりにカメラ、深度センサ、マイクロフォンなどを備えて、ゲームプレイヤーのジェスチャー、及び/又は音声によって操作する形式としてもよい。
また、上述したゲーム機の映像は、テレビジョン装置、パーソナルコンピュータ用ディスプレイ、ゲーム用ディスプレイ、ヘッドマウントディスプレイなどの表示装置によって、出力することができる。
携帯ゲーム機5200に上記実施の形態で説明した半導体装置を適用することによって、低消費電力の携帯ゲーム機5200を実現することができる。また、低消費電力により、回路からの発熱を低減することができるため、発熱によるその回路自体、周辺回路、及びモジュールへの影響を少なくすることができる。
更に、携帯ゲーム機5200に上記実施の形態で説明した半導体装置を適用することによって、人工知能を有する携帯ゲーム機5200を実現することができる。
本来、ゲームの進行、ゲーム上に登場する生物の言動、ゲーム上で発生する現象などの表現は、そのゲームが有するプログラムによって定められているが、携帯ゲーム機5200に人工知能を適用することにより、ゲームのプログラムに限定されない表現が可能になる。例えば、プレイヤーが問いかける内容、ゲームの進行状況、時刻、ゲーム上に登場する人物の言動が変化するといった表現が可能となる。
また、携帯ゲーム機5200で複数のプレイヤーが必要なゲームを行う場合、人工知能によって擬人的にゲームプレイヤーを構成することができるため、対戦相手を人工知能によるゲームプレイヤーとすることによって、1人でもゲームを行うことができる。
図71では、ゲーム機の一例として携帯ゲーム機を図示しているが、本発明の一態様の電子機器はこれに限定されない。本発明の一態様の電子機器としては、例えば、家庭用の据え置き型ゲーム機、娯楽施設(ゲームセンター、遊園地など)に設置されるアーケードゲーム機、スポーツ施設に設置されるバッティング練習用の投球マシンなどが挙げられる。
[移動体]
上記実施の形態で説明した半導体装置は、移動体である自動車、及び自動車の運転席周辺に適用することができる。
図71には移動体の一例である自動車5700が図示されている。
自動車5700の運転席周辺には、スピードメーターやタコメーター、走行距離、燃料計、ギア状態、エアコンの設定などを表示することができるインストゥルメントパネルが備えられている。また、運転席周辺には、それらの情報を示す表示装置が備えられていてもよい。
特に当該表示装置には、自動車5700に設けられた撮像装置(図示しない。)からの映像を映し出すことによって、ピラーなどで遮られた視界、運転席の死角などを補うことができ、安全性を高めることができる。
上記実施の形態で説明した半導体装置は人工知能の構成要素として適用できるため、例えば、当該半導体装置を自動車5700の自動運転システムに用いることができる。また、当該半導体装置を道路案内、危険予測などを行うシステムに用いることができる。当該表示装置には、道路案内、危険予測などの情報を表示する構成としてもよい。
なお、上述では、移動体の一例として自動車について説明しているが、移動体は自動車に限定されない。例えば、移動体としては、電車、モノレール、船、飛行体(ヘリコプター、無人航空機(ドローン)、飛行機、ロケット)なども挙げることができ、これらの移動体に本発明の一態様のコンピュータを適用して、人工知能を利用したシステムを付与することができる。
[カメラ]
上記実施の形態で説明した半導体装置は、カメラに適用することができる。
図71には、撮像装置の一例であるデジタルカメラ6240が図示されている。デジタルカメラ6240は、筐体6241、表示部6242、操作ボタン6243、シャッターボタン6244等を有し、また、デジタルカメラ6240には、着脱可能なレンズ6246が取り付けられている。なお、ここではデジタルカメラ6240を、レンズ6246を筐体6241から取り外して交換することが可能な構成としたが、レンズ6246と筐体6241とが一体となっていてもよい。また、デジタルカメラ6240は、ストロボ装置や、ビューファインダー等を別途装着することができる構成としてもよい。
デジタルカメラ6240に上記実施の形態で説明した半導体装置を適用することによって、低消費電力のデジタルカメラ6240を実現することができる。また、低消費電力により、回路からの発熱を低減することができるため、発熱によるその回路自体、周辺回路、及びモジュールへの影響を少なくすることができる。
更に、デジタルカメラ6240に上記実施の形態で説明した半導体装置を適用することによって、人工知能を有するデジタルカメラ6240を実現することができる。人工知能を利用することによって、デジタルカメラ6240は、顔、物体など被写体を自動的に認識する機能、又は当該被写体に合わせたピント調節、環境に合わせて自動的にフラッシュを焚く機能、撮像した画像を調色する機能などを有することができる。
[ビデオカメラ]
上記実施の形態で説明した半導体装置は、ビデオカメラに適用することができる。
図71には、撮像装置の一例であるビデオカメラ6300が図示されている。ビデオカメラ6300は、第1筐体6301、第2筐体6302、表示部6303、操作キー6304、レンズ6305、接続部6306等を有する。操作キー6304及びレンズ6305は第1筐体6301に設けられており、表示部6303は第2筐体6302に設けられている。そして、第1筐体6301と第2筐体6302とは、接続部6306により接続されており、第1筐体6301と第2筐体6302の間の角度は、接続部6306により変更が可能である。表示部6303における映像を、接続部6306における第1筐体6301と第2筐体6302との間の角度に従って切り替える構成としてもよい。
ビデオカメラ6300で撮影した映像を記録する際、データの記録形式に応じたエンコードを行う必要がある。人工知能を利用することによって、ビデオカメラ6300は、エンコードの際に、人工知能によるパターン認識を行うことができる。このパターン認識によって、連続する撮像画像データに含まれる人、動物、物体などの差分データを算出して、データの圧縮を行うことができる。
[PC用の拡張デバイス]
上記実施の形態で説明した半導体装置は、PC(Personal Computer)などの計算機、情報端末用の拡張デバイスに適用することができる。
図72Aは、当該拡張デバイスの一例として、持ち運びのできる、演算処理が可能なチップが搭載された、PCに外付けする拡張デバイス6100を示している。拡張デバイス6100は、例えば、USB(Universal Serial Bus)などでPCに接続することで、当該チップによる演算処理を行うことができる。なお、図72Aは、持ち運びが可能な形態の拡張デバイス6100を図示しているが、本発明の一態様に係る拡張デバイスは、これに限定されず、例えば、冷却用ファンなどを搭載した比較的大きい形態の拡張デバイスとしてもよい。
拡張デバイス6100は、筐体6101、キャップ6102、USBコネクタ6103及び基板6104を有する。基板6104は、筐体6101に収納されている。基板6104には、上記実施の形態で説明した半導体装置などを駆動する回路が設けられている。例えば、基板6104には、チップ6105(例えば、上記実施の形態で説明した半導体装置、電子部品4700、メモリチップなど。)、コントローラチップ6106が取り付けられている。USBコネクタ6103は、外部装置と接続するためのインターフェースとして機能する。
拡張デバイス6100をPCなどに用いることにより、当該PCの演算処理能力を高くすることができる。これにより、処理能力の足りないPCでも、例えば、人工知能、動画処理などの演算を行うことができる。
[放送システム]
上記実施の形態で説明した半導体装置は、放送システムに適用することができる。
図72Bは、放送システムにおけるデータ伝送を模式的に示している。具体的には、図72Bは、放送局5680から送信された電波(放送信号)が、各家庭のテレビジョン受信装置(TV)5600に届くまでの経路を示している。TV5600は、受信装置を備え(図示しない。)、アンテナ5650で受信された放送信号は、当該受信装置を介して、TV5600に送信される。
図72Bでは、アンテナ5650は、UHF(Ultra High Frequency)アンテナを図示しているが、アンテナ5650としては、BS・110°CSアンテナ、CSアンテナなども適用できる。
電波5675A、電波5675Bは地上波放送用の放送信号であり、電波塔5670は受信した電波5675Aを増幅して、電波5675Bの送信を行う。各家庭では、アンテナ5650で電波5675Bを受信することで、TV5600で地上波放送を視聴することができる。なお、放送システムは、図72Bに示す地上波放送に限定せず、人工衛星を用いた衛星放送、光回線によるデータ放送などとしてもよい。
上述した放送システムは、上記実施の形態で説明した半導体装置を適用して、人工知能を利用した放送システムとしてもよい。放送局5680から各家庭のTV5600に放送データを送信するとき、エンコーダによって放送データの圧縮が行われ、アンテナ5650が当該放送データを受信したとき、TV5600に含まれる受信装置のデコーダによって当該放送データの復元が行われる。人工知能を利用することによって、例えば、エンコーダの圧縮方法の一である動き補償予測において、表示画像に含まれる表示パターンの認識を行うことができる。また、人工知能を利用したフレーム内予測などを行うこともできる。また、例えば、解像度の低い放送データを受信して、解像度の高いTV5600で当該放送データの表示を行うとき、デコーダによる放送データの復元において、アップコンバートなどの画像の補間処理を行うことができる。
上述した人工知能を利用した放送システムは、放送データの量が増大する超高精細度テレビジョン(UHDTV:4K、8K)放送に対して好適である。
また、TV5600側における人工知能の応用として、例えば、TV5600に人工知能を有する録画装置を設けてもよい。このような構成にすることによって、当該録画装置にユーザの好みを人工知能に学習させることで、ユーザの好みにあった番組を自動的に録画することができる。
[認証システム]
上記実施の形態で説明した半導体装置は、認証システムに適用することができる。
図72Cは、掌紋認証装置を示しており、筐体6431、表示部6432、掌紋読み取り部6433、配線6434を有している。
図72Cには、掌紋認証装置が手6435の掌紋を取得する様子を示している。取得した掌紋は、人工知能を利用したパターン認識の処理が行われ、当該掌紋が本人のものであるかどうかの判別を行うことができる。これにより、セキュリティの高い認証を行うシステムを構築することができる。また、本発明の一態様に係る認証システムは、掌紋認証装置に限定されず、指紋、静脈、顔、虹彩、声紋、遺伝子、体格などの生体情報を取得して生体認証を行う装置であってもよい。
なお、本実施の形態は、本明細書で示す他の実施の形態と適宜組み合わせることができる。