(58)【調査した分野】(Int.Cl.,DB名)
第1入力端子と、第2入力端子と、前記第5配線に接続された第1出力端子と、を有し、イネーブル信号に応じて前記第1および第2入力端子の一方を前記第1出力端子に電気的に接続する選択回路を更に備えた請求項1または2記載の半導体集積回路。
前記第1OTPメモリ素子はMOSトランジスタであって、前記第1端子が前記MOSトランジスタのゲート端子でありかつ前記第2端子が電気的に接続されたソース端子およびドレイン端子であるか、または前記第1端子が前記MOSトランジスタの電気的に接続された前記ソース端子および前記ドレイン端子でありかつ前記第2端子が前記ゲート端子である請求項1乃至3のいずれかに記載の半導体集積回路。
前記第2OTPメモリ素子はMOSトランジスタであって、前記第3端子が前記MOSトランジスタのゲート端子でありかつ前記第4端子が電気的に接続されたソース端子およびドレイン端子であるか、または前記第3端子が前記MOSトランジスタの電気的に接続された前記ソース端子および前記ドレイン端子でありかつ前記第4端子が前記ゲート端子である請求項2乃至4のいずれかに記載の半導体集積回路。
第1入力端子と、第2入力端子と、前記第2配線に電気的に接続された第1出力端子と、を有し、イネーブル信号に応じて前記第1および第2入力端子の一方を前記第1出力端子に電気的に接続する選択回路を更に備えた請求項6記載の半導体集積回路。
前記第1OTPメモリ素子はMOSトランジスタであって、前記第1端子が前記MOSトランジスタのゲート端子でありかつ前記第2端子が電気的に接続されたソース端子およびドレイン端子であるか、または前記第1端子が前記MOSトランジスタの電気的に接続された前記ソース端子および前記ドレイン端子でありかつ前記第2端子が前記ゲート端子である請求項6または7記載の半導体集積回路。
前記第2OTPメモリ素子はMOSトランジスタであって、前記第3端子が前記MOSトランジスタのゲート端子でありかつ前記第4端子が電気的に接続されたソース端子およびドレイン端子であるか、または前記第3端子が前記MOSトランジスタの電気的に接続された前記ソース端子および前記ドレイン端子でありかつ前記第4端子が前記ゲート端子である請求項9または10記載の半導体集積回路。
【発明を実施するための形態】
【0008】
本発明の実施形態を説明する前に、本発明に至った経緯について説明する。
【0009】
本発明者達は、OTPメモリ素子として、2端子構造のトランジスタを用いたときの動作速度に遅延が生じるのを抑制するために、2端子構造のトランジスタのゲート絶縁膜を破壊し、このトランジスタの抵抗を測定する実験を行った。
図1に示すように、2端子構造のトランジスタ10は、半導体層100に離間して配置されたソース領域(ソース端子S)102aおよびドレイン領域(ドレイン端子D)102bと、ソース領域102aとドレイン領域102bとの間の半導体層100の部分に配置されたゲート絶縁膜104と、ゲート絶縁膜104上に配置されたゲート電極(ゲート端子G)106と、を備え、ソース端子102aとドレイン端子102bとが電気的に接続されている。
【0010】
このトランジスタ10を複数個作成し、各トランジスタのゲート端子Gと、ソース端子Sおよびドレイン端子Dとの間に電圧を印加し、ゲート絶縁膜を破壊する。このとき、ゲート端子Gに印加する電位はソース端子Sおよびドレイン端子Dに印加する電位よりも高くしてゲート絶縁膜を破壊する。その後、各トランジスタに対して、ゲート端子Gと、ソース端子Sおよびドレイン端子Dとの間に電圧、例えば1.5Vを印加し、トランジスタ10の抵抗を測定し、測定結果を
図2に示す。
図2において、横軸は、ゲート端子Gに印加する電位V1がソース端子Sおよびドレイン端子Dに印加する電位V2よりも高いときのトランジスタ10の抵抗の測定値を示し、縦軸は、ゲート端子Gに印加する電位V1がソース端子Sおよびドレイン端子Dに印加する電位V2よりも低いときのトランジスタ10の抵抗の測定値を示す。ここで、|V1−V2|=1.5Vである。
【0011】
この
図2からわかるように、トランジスタ10の抵抗値が低い場合、例えば1.0×10
5(Ω)近辺までは、ゲート端子Gからソース端子Sおよびドレイン端子Dに電通を流して測定した抵抗値と、ソース端子Sおよびドレイン端子Dからゲート端子Gに電通を流して測定した抵抗値は殆ど変わらない。しかし、トランジスタ10の抵抗値が1.0×10
5(Ω)近辺よりも大きくなると、ソース端子Sおよびドレイン端子Dからゲート端子Gに電通を流して測定した場合の方が、ゲート端子Gからソース端子Sおよびドレイン端子Dに電通を流して測定した場合よりも1〜4桁高くなる。すなわち、2端子構造のトランジスタは、抵抗値が高くなると、電流の流す方向によって抵抗値が異なる特性(整流性)を有している。
【0012】
次に、本願発明者達は、整流性が生じたトランジスタ10に、書き込み方向を変えて追加の書き込みを行い、この追加の書き込みを行ったトランジスタ10について整流性を測定した。すなわち、最初の書き込みは、ゲート端子Gに高電位、ソース端子Sおよびドレイン端子Dに低電位を印加して書き込みを行い、続いて、整流性を測定した結果を
図3の点Aに示す。その後、ソース端子Sおよびドレイン端子Dに高電位、ゲート端子に低電位を印加して追加の書き込みを行い、整流性を測定した結果を
図3の点Bに示す。
図3からわかるように、追加の書き込みを行うことにより、トランジスタの読み出し電流の流す方向にかかわらず、測定された抵抗値はほぼ同じになり、整流性が抑制される。
【0013】
以上のことから、本願発明者達は、2端子構造のトランジスタをOTPメモリ素子として用いた場合にFPGAの動作に遅延が生じるのは、2端子構造のトランジスタに整流性が生じることであると考えた。そして、この整流性を抑制するには、OTPメモリ素子の書き込み時に書き込み方向を変えた追加の書き込みを行えば良いと考え、これを実現する半導体集積回路を以下に実施形態として説明する。
【0014】
(第1実施形態)
第1実施形態による半導体集積回路を
図4に示す。この第1実施形態の半導体集積回路は、例えばFPGAに用いられ、配線133
1,133
2と、配線135
1、135
2と、アレイ状に配列されたOTPメモリ素子(以下、メモリ素子とも云う)10
11,10
12,10
21,10
22と、を備えている。配線135
1、135
2はそれぞれ、配線133
1,133
2と交差する。配線133
ij(i,j=1,2)と配線135
ijとの交差領域にメモリ素子10
ijが配置されている。メモリ素子10
ij(i,j=1,2)は第1端子および第2端子の2端子構造を有し、第1端子が対応する配線133
jに接続され、第2端子が対応する配線135
iに接続される。
【0015】
第1実施形態の半導体集積回路は、pチャネルMOSトランジスタ(以下、pチャネルトランジスタとも云う)20
1,20
2と、nチャネルMOSトランジスタ(以下、nチャネルトランジスタとも云う)21
1,21
2と、pチャネルトランジスタ22
1,22
2と、nチャネルMOSトランジスタ23
1,23
2と、nチャネルトランジスタ25
1,25
2と、インバータ26
1,26
2と、選択回路(マルチプレクサ)27
1,27
2と、を更に備えている。pチャネルトランジスタ20
1,20
2、nチャネルトランジスタ21
1,21
2、pチャネルトランジスタ22
1,22
2、およびnチャネルトランジスタ23
1,23
2は、nチャネルトランジスタ25
1,25
2に比べてゲート絶縁膜が厚い高耐圧のトランジスタである。
【0016】
pチャネルトランジスタ20
i(i=1,2)のドレイン端子およびnチャネルトランジスタ21
iのソース端子は配線135
iの一端に接続される。nチャネルトランジスタ25
i(i=1,2)のドレイン端子は配線135
iの他端に接続される。すなわち、nチャネルトランジスタ25
i(i=1,2)は、pチャネルトランジスタ20
iおよびnチャネルトランジスタ21
iと、メモリ素子10
i1、10
i2を間に挟んで互いに反対側の位置に配置される。pチャネルトランジスタ20
i(i=1,2)のソース端子は、書き込み電圧Vprgが印加される配線140に接続され、ゲート端子は配線135
iを選択する信号Rselect
iが印加される。nチャネルトランジスタ21
i(i=1,2)のドレイン端子に電圧VR
iが印加され、ゲート端子はメモリ素子10
i1およびメモリ素子10
i2のいずれか1つに行方向からの書き込みを指示する信号R_Enが印加される配線155に接続される。nチャネルトランジスタ25
i(i=1,2)のゲート端子は、電圧Vbstが印加される配線150に接続され、ソース端子はインバータ26
iの入力端子に接続される。インバータ26
i(i=1,2)の出力端子から出力信号Out
iが出力される。
【0017】
選択回路27
j(j=1,2)は、2つの入力端子と1つの出力端子を有し、イネーブル信号EN
1に応じて、2つの入力端子に入力された信号VC
j、In
jのうちから1つの信号を選択し、出力端子から出力する。すなわち、選択回路27
j(j=1,2)は、イネーブル信号EN
1に応じて、2つの入力端子の一方と出力端子とを電気的に接続する。ここで、AとBとが電気的に接続されるとは、AとBとが直接に接続されてもよいし、AとBとの間に設けられた導電体を介して接続してもよいことを意味する。pチャネルトランジスタ22
j(j=1,2)は、ソース端子が配線140に接続され、ゲート端子が配線133
jを選択する信号Cselect
jが印加され、ドレイン端子が配線133
jに接続される。nチャネルトランジスタ23
j(j=1,2)は、ドレイン端子が選択回路27
jの出力端子に接続され、ゲート端子が列方向に配置されたメモリ素子10
1jおよびメモリ素子10
2jのうちの1つに書き込みを行う信号C_Enが印加され、ソース端子が配線133
jに接続される。
【0018】
図4に示す第1実施形態の半導体集積回路において、メモリ素子10
ij(i、j=1,2)として、
図1に示す2端子構造のトランジスタ10を用いた場合の一実施例を
図5に示す。
図5においては、メモリ素子10
ij(i,j=1.2)は、ゲート端子が配線135
iに接続され、ソース端子およびドレイン端子が配線133
jに接続されている。なお、図示しないが、メモリ素子10
ij(i,j=1.2)は、ゲート端子が配線133
iに接続され、ソース端子およびドレイン端子が配線135
jに接続されていてもよい。
【0019】
(書き込み)
次に、
図5に示す一実施例の半導体集積回路において、1つのメモリ素子への書き込みを
図6および
図7を参照して説明する。この書き込みは、まず、1つのメモリ素子に行方向からの書き込み、すなわち2端子構造のトランジスタのゲート端子からソース端子およびドレイン端子に向かって書き込みを行い、続いて、上記1つのメモリ素子に列方向からの書き込み、すなわち2端子構造のトランジスタのソース端子およびドレイン端子からゲート端子に向かって書き込みを行う。
【0020】
(行方向からの書き込み)
まず、1つのメモリ素子に行方向からの書き込みを行う場合の一例について
図6を参照して説明する。この
図6は、丸印で囲まれたメモリ素子10
12に書き込みを行う時の各種信号に印加される電圧を示している。
【0021】
選択回路27
1の入力端子に入る信号VC
1にVddを、信号In
1に0Vを与え、選択回路27
2の入力端子に入る信号VC
2に0Vを、信号In
2に0Vを与える。なお、書き込み動作時には、信号In
1および信号In
2は0Vでなくともよい。pチャネルトランジスタ22
1,22
2のそれぞれのゲート端子に印加される信号Cselect
1,Cselect
2に、pチャネルトランジスタ22
1,22
2がオフ状態となる電圧、例えばVprg
1を与える。電圧Vhvを、信号C_Enを介してnチャネルトランジスタ23
1,23
2のゲート端子に与え、nチャネルトランジスタ23
1,23
2をオン状態にする。また、信号R_Enに電圧0Vを与え、nチャネルトランジスタ21
1,21
2をオフ状態にする。信号Vbstに電圧Vhvを与え、トランジスタ25
1,25
2をオン状態にする。更に、pチャネルトランジスタ20
1のゲート端子に接続される信号Rselect
1に電圧0Vを与え、pチャネルトランジスタ20
1をオン状態にする。このとき、pチャネルトランジスタ20
2のゲート端子に接続される信号Rselect
2に電圧Vprg1を与え、pチャネルトランジスタ20
2をオフ状態にする。また、信号VR
1および信号VR2にそれぞれ0Vを与える。そして、イネーブル信号Enに0Vを与え、選択回路27
1,27
2が信号VC
1,VC
2をそれぞれ選択する。
【0022】
この様な状態で、配線140に書き込み電圧Vprg1を与えると、書き込み電圧Vprg1は、pチャネルトランジスタ20
1を介して配線135
1に印加される。このとき、メモリ素子10
12のソース端子およびドレイン端子が接続する配線133
2には、選択回路27
2から0Vの電圧がnチャネルトランジスタ23
2を介して印加される。したがって、メモリ素子10
12には、ゲート端子と、ソース端子およびドレイン端子との間にΔV
GS=Vprg1が印加され、書き込みが行われる。
【0023】
一方、メモリ素子10
11のソース端子およびドレイン端子が接続する配線133
1には、選択回路27
1から電圧Vddがnチャネルトランジスタ23
1を介して印加されるので、メモリ素子10
11においては、ゲート端子と、ソース端子およびドレイン端子との間にΔV
GS=Vprg1-Vddが印加され、書き込みが行われない。また、pチャネルトランジスタ20
2のゲート端子には電圧Vprg1が印加されているため、メモリ素子10
21,10
22のゲート端子には、電圧は印加されず、書き込みは行われない。ここで例えば、電圧Vprg1=5V〜5.6V、Vhv=3.3V、Vdd=1.2Vとする。
【0024】
以上により、メモリ素子10
12に行方向からの書き込みを行うことができる。
【0025】
(列方向からの書き込み)
次に、メモリ素子10
12に列方向からの書き込みを行う場合の一例について
図7を参照して説明する。この
図7は、丸印で囲まれたメモリ素子10
12に書き込みを行う時の各種信号に印加される電圧を示している。
【0026】
選択回路27
1の入力端子に入る信号VC
1に0Vおよび信号In
1に0Vを与え、選択回路27
2の入力端子に入る信号VC
2に0Vおよび信号In
2に0Vを与える。なお、書き込み動作時には、信号In
1および信号In
2は0Vでなくともよい。pチャネルトランジスタ22
1のゲート端子に印加される信号Cselect
1にpチャネルトランジスタ22
1がオフ状態となる電圧、例えばVprg2を与え、pチャネルトランジスタ22
2のゲート端子に印加される信号Cselect
2にpチャネルトランジスタ22
2がオン状態となる電圧、例えば0Vを与える。信号C_Enに0Vを与えnチャネルトランジスタ23
1,23
2をオフ状態にする。また、信号R_Enに電圧Vhvを与え、nチャネルトランジスタ21
1,21
2をオン状態にする。信号Vbstに電圧Vhvを与え、トランジスタ25
1,25
2をオン状態にする。更に、pチャネルトランジスタ20
1のゲート端子に与えられる信号Rselect
1および、pチャネルトランジスタ20
2のゲート端子に与えられる信号Rselect
2にそれぞれ電圧Vprg2を与え、pチャネルトランジスタ20
1およびpチャネルトランジスタ20
2をオフ状態にする。また、信号VR
1に0Vを与え、信号VR
2に電圧Vddを与える。そして、イネーブル信号Enに0Vを与え、選択回路27
1,27
2が信号VC
1,VC
2をそれぞれ選択する。
【0027】
この様な状態で、配線140に書き込み電圧Vprg2を与えると、書き込み電圧Vprg2は、pチャネルトランジスタ22
2を介して配線133
2に印加される。このとき、メモリ素子10
12のゲート端子が接続する配線135
1には、信号VR
1の電圧0Vがnチャネルトランジスタ21
1を介して印加される。したがって、メモリ素子10
12には、ソース端子およびドレイン端子と、ゲート端子との間にΔV
SG=Vprg2が印加され、書き込みが行われる。
【0028】
一方、メモリ素子10
22のソース端子およびドレイン端子が接続する配線133
2には、電圧Vprg2が印加される。しかし、ゲート端子が接続する配線135
2には、nチャネルトランジスタ21
2を介して信号VR
2の電圧Vddが印加される。したがって、メモリ素子10
22においては、ソース端子およびドレイン端子と、ゲート端子との間にΔV
SG=Vprg2-Vddが印加され、書き込みが行われない。また、pチャネルトランジスタ22
1のゲート端子には電圧Vprg2が印加されているため、メモリ素子10
11,10
21のゲート端子には、電圧は印加されず、書き込みは行われない。ここで例えば、電圧Vprg2は、メモリ素子に書き込みを行うことにできる電圧で、Vprg1と同じ値であってもよい。これにより、メモリ素子10
12に列方向からの書き込みを行うことができる。
【0029】
以上説明したように、第1実施形態および一実施例においては、1つのメモリ素子に行方向からの書き込みを行った後、列方向からの追加の書き込みを行う。これにより、書き込みが行われたメモリ素子の読み出し電流の流す方向にかかわらず、測定される抵抗値はほぼ同じになり、整流性が抑制される。
【0030】
また、第1実施形態および一実施例の場合と異なり、1つのメモリ素子に列方向からの書き込みを行った後、行方向からの追加の書き込みを行ってもよい。
【0031】
なお、第1実施形態および一実施例の半導体集積回路においては、メモリ素子は2行2列のアレイ状に配列されたが、m(m≧1)行n(n≧1)列のアレイ状に配置されていてもよい。また、1つの配線135
i(i=1,2)に接続される複数のメモリ素子のうち高々1つのメモリ素子に書き込みが行われ、2つ以上のメモリ素子には書き込みを行わない。
【0032】
(通常動作)
次に、第1実施形態の一実施例による半導体集積回路の通常動作について
図8を参照して説明する。
図8は、メモリ素子10
12に書き込みが行われ、その他のメモリ素子には書き込みが行われない場合の、通常動作時における各種信号に印加される電圧を示す。
【0033】
選択回路27
1の入力端子に入る信号VC
1に0Vを与え、選択回路27
2の入力端子に入る信号VC
2に0Vを与える。なお、通常動作時には、信号VC
1,VC
2に与える電圧は0Vでなくともよい。pチャネルトランジスタ22
1のゲート端子に印加される信号Cselect
1にpチャネルトランジスタ22
1がオフ状態となる電圧、例えばVhvを与え、pチャネルトランジスタ22
2のゲート端子に印加される信号Cselect
2にpチャネルトランジスタ22
2がオフ状態となる電圧、例えばVhvを与える。信号C_EnにVhvを与えnチャネルトランジスタ23
1,23
2をオン状態にする。また、信号R_Enに0Vを与え、nチャネルトランジスタ21
1,21
2をオフ状態にする。信号Vbstに電圧Vhvを与え、トランジスタ25
1,25
2をオン状態にする。更に、pチャネルトランジスタ20
1のゲート端子に与えられる信号Rselect
1および、pチャネルトランジスタ20
2のゲート端子に与えられる信号Rselect
2にそれぞれ電圧Vhvを与え、pチャネルトランジスタ20
1およびpチャネルトランジスタ20
2をオフ状態にする。また、信号VR
1に0Vを与え、信号VR
2に0Vを与える。また、配線140に0Vを与える。なお、通常動作時は、配線140に与える電圧は0Vでなくてもよい。
【0034】
そして、イネーブル信号Enに電圧Vddを与え、選択回路27
1,27
2が信号In
1,In
2をそれぞれ選択する。すると、選択回路27
2に入力された信号In
2は、nチャネルトランジスタ23
2,メモリ素子10
12、配線135
1,nチャネルトランジスタ25
1、およびインバータ26
1を介して出力信号Out
1として外部に出力される。このとき、メモリ素子10
21は書き込みが行われていないので、選択回路27
1へ入力された信号In
1は外部に出力されない。以上により、通常動作が行われる。
【0035】
次に、行方向からの書き込み時、列方向からの書き込み時、通常動作時において用いられる各種信号の値を
図9に示す。
図9において、「A/B」と表記されているのは、Aが選択される行または選択される列の信号に印加される電圧を示し、Bが非選択の行または非選択の列の信号に印加される電圧を示す。例えば、行方向からの書き込み時には、信号Rselect
i(i=1,2)の0V/Vprg1は、選択される行には0Vが印加され、選択されない行には電圧Vprg1が印加されることを示す。
【0036】
第1実施形態および一実施例の半導体集積回路は、行方向からの書き込み時、列方向からの書き込み時、通常動作時において用いられる各種信号に印加する電圧(電位)を発生する第1乃至第8ドライバを更に備えている。これら第1乃至第8ドライバを備えた一実施例の半導体集積回路を
図10に示す。
【0037】
第1ドライバ210は、電圧Vprg1、電圧Vdd、または0Vを配線140に供給する。第2ドライバ220は、電圧Vddまたは0Vを配線VR
1、VR
2に供給する。第3ドライバ230は、電圧Vprg2、電圧Vdd、または0Vを配線140に供給する。第4ドライバ240は、電圧Vddまたは0Vを信号VC
1、VC
2として供給する。第5ドライバ250は、電圧Vprg1、電圧Vdd、または0Vを信号Rselect
1、Rselect
2として供給する。第6ドライバ260は、電圧Vdd、電圧Vhv、または0Vを配線155に供給する。第7ドライバ270は、電圧Vprg2、電圧Vdd、または0Vを配線Cselect
1、Cselect
2に供給する。第8ドライバ280は、電圧Vdd、電圧Vhv、または0Vを配線C_Enに供給する。
【0038】
これらのドライバ、例えば第5乃至第8ドライバ250〜280の一具体例を
図11に示す。第5ドライバ250は、デコーダ250aと、ANDゲート250b、250cと、レベルシフタ250dと、インバータ250eと、備えている。第6ドライバ260は、デコーダ260aと、ANDゲート260b、260cと、レベルシフタ260dと、インバータ260e、260fと、備えている。第7ドライバ270は、デコーダ270aと、ANDゲート270b、270cと、レベルシフタ270dと、インバータ270eと、備えている。第8ドライバ280は、デコーダ280aと、ANDゲート280b、280cと、レベルシフタ280dと、インバータ280e、280fと、備えている。
【0039】
各デコーダは、選択アドレス信号を受け、デコードした信号をANDゲートに送出する。例えば、第5ドライバ250において、デコーダ250aは選択アドレス信号をデコードし、このデコードした信号をANDゲート250bに送出する。ANDゲート250bは、デコードされた信号と、イネーブル信号En
2とのAND演算を行い、演算結果をANDゲート250cに送出する。ANDゲート250cは、ANDゲート250bの演算結果と、イネーブル信号En
3とのAND演算を行い、演算結果をレベルシフタ250dに送出する。レベルシフタ250dは、ANDゲート250cの演算結果の信号レベルの変換を行い、変換された信号をインバータ250eに送出する。インバータ250eは、レベルシフタ250dからの信号を反転してpチャネルトランジスタ20
2のゲートに送出する。
【0040】
第6ドライバ260において、デコーダ260aは選択アドレス信号をデコードし、このデコードした信号をANDゲート260bに送出する。ANDゲート260bは、デコードされた信号と、イネーブル信号En
2とのAND演算を行い、演算結果をANDゲート260cに送出する。ANDゲート260cは、ANDゲート260bの演算結果の反転信号と、イネーブル信号En
3とのAND演算を行い、演算結果をレベルシフタ260dに送出する。レベルシフタ260dは、ANDゲート260cの演算結果の信号レベルの変換を行い、変換された信号をインバータ260eに送出する。インバータ260eは、レベルシフタ260dからの信号を反転してインバータ260fに送出する。インバータ260fは、インバータ260eからの信号を反転してnチャネルトランジスタ21
2のゲートに送出する。
【0041】
第7ドライバ270において、デコーダ270aは選択アドレス信号をデコードし、このデコードした信号をANDゲート270bに送出する。ANDゲート270bは、デコードされた信号と、イネーブル信号En
2とのAND演算を行い、演算結果をANDゲート270cに送出する。ANDゲート270cは、ANDゲート270bの演算結果と、イネーブル信号En
3の反転信号とのAND演算を行い、演算結果をレベルシフタ270dに送出する。レベルシフタ270dは、ANDゲート270cの演算結果の信号レベルの変換を行い、変換された信号をインバータ270eに送出する。インバータ270eは、レベルシフタ270dからの信号を反転してpチャネルトランジスタ22
2のゲートに送出する。
【0042】
第8ドライバ280において、デコーダ280aは選択アドレス信号をデコードし、このデコードした信号をANDゲート280bに送出する。ANDゲート280bは、デコードされた信号と、イネーブル信号En
2とのAND演算を行い、演算結果をANDゲート280cに送出する。ANDゲート280cは、ANDゲート280bの演算結果の反転信号と、イネーブル信号En
3とのAND演算を行い、演算結果をレベルシフタ280dに送出する。レベルシフタ280dは、ANDゲート280cの演算結果の信号レベルの変換を行い、変換された信号をインバータ280eに送出する。インバータ280eは、レベルシフタ280dからの信号を反転してインバータ280fに送出する。インバータ280fは、インバータ280eからの信号を反転してnチャネルトランジスタ23
2のゲートに送出する。
【0043】
行方向の書き込み時、列方向の書き込み時、および通常動作時に、イネーブル信号En
2,En
3はそれぞれ、
図12に示す値を取る。例えば、イネーブル信号En
2は、行方向の書き込み時、列方向の書き込み時、および通常動作時には、Vddを取り、イネーブル信号En
3は、行方向の書き込み時にVdd、列方向の書き込み時および通常動作時には、0Vを取る。
【0044】
なお、
図10では第1乃至第8ドライバを用いて説明したが、8個のドライバの代わりに1個のドライバ(コントロール(制御)回路を用意し、このドライバによって各トランジスタや選択回路を制御するようにしてもよい。
【0045】
以上説明したように、第1実施形態およびその一実施例によれば、OTPメモリ素子を用いても動作速度に遅延が生じるのを抑制することが可能な半導体集積回路を提供することができる。
【0046】
(第2実施形態)
第2実施形態による半導体集積回路を
図13に示す。この第2実施形態の半導体集積回路は、例えばFPGAに用いられ、配線133
1,133
2と、配線135
1、135
2と、アレイ状に配列されたOTPメモリ素子(以下、メモリ素子とも云う)10
11,10
12,10
21,10
22と、を備えている。配線135
1、135
2はそれぞれ、配線133
1,133
2と交差する。配線133
ij(i,j=1,2)と配線135
ijとの交差領域にメモリ素子10
ijが配置されている。メモリ素子10
ij(i,j=1,2)は第1端子および第2端子の2端子構造を有し、第1端子が対応する配線133
jに接続され、第2端子が対応する配線135
iに接続される。
【0047】
第2実施形態の半導体集積回路は、pチャネルMOSトランジスタ(以下、pチャネルトランジスタとも云う)30
1,30
2と、nチャネルMOSトランジスタ(以下、nチャネルトランジスタとも云う)31
1,31
2と、インバータ32
1、32
2と、選択回路(マルチプレクサ)33
1、33
2と、NANDゲート34
1,34
2とを更に備えている。pチャネルトランジスタ30
1,30
2、nチャネルトランジスタ31
1,31
2は、通常のトランジスタに比べてゲート絶縁膜が厚い高耐圧のトランジスタである。nチャネルトランジスタ31
1,31
2は、pチャネルトランジスタが形成されたp型のウェハ基盤に接続されないようにするため、上記ウェハ基盤と絶縁されて設けられた独立ウェル(deep-n-well)に形成される。
図13において、nチャネルトランジスタ31
1,31
2を囲む破線は上記独立ウェルを示す。
【0048】
pチャネルトランジスタ30
i(i=1,2)は、ゲート端子が配線Rp
iに接続され、ソース端子およびドレイン端子の一方が配線135
iに接続され、他方が配線Vhvpに接続される。nチャネルトランジスタ31
i(i=1,2)は、ゲート端子が配線Rn
iに接続され、ソース端子およびドレイン端子の一方が配線135
iに接続され、他方が配線Vhvnに接続される。
【0049】
選択回路33
j(j=1,2)は、制御信号WEn
2に応じて、信号C
jおよび入力信号In
jのうちの一方を選択し、選択した信号をインバータ32
jに送る。すなわち、選択回路33
j(j=1,2)は、制御信号WEn
2に応じて、2つの入力端子のうちの一方を出力端子に電気的に接続する。インバータ32
j(j=1,2)は、入力端子が選択回路33jの出力端子に接続され、出力端子が配線133
jに接続される。
【0050】
NANDゲート34
i(i=1,2)は、2つの入力端子の一方が配線135
iに接続され、他方が配線WEn
1に接続され、出力端子から出力信号Out
iが出力される。
【0051】
図13に示す第2実施形態の半導体集積回路において、メモリ素子10
ij(i、j=1,2)として、
図1に示す2端子構造のトランジスタ10を用いた場合の一実施例を
図14に示す。
図14においては、メモリ素子10
ij(i,j=1.2)は、ゲート端子が配線135
iに接続され、ソース端子およびドレイン端子が配線133
jに接続されている。なお、図示しないが、メモリ素子10
ij(i,j=1.2)は、ゲート端子が配線133
iに接続され、ソース端子およびドレイン端子が配線135
jに接続されていてもよい。
【0052】
(書き込み)
次に、
図14に示す一実施例の半導体集積回路において、1つのメモリ素子への書き込みを
図15および
図16を参照して説明する。この書き込みは、まず、1つのメモリ素子に行方向からの書き込み、すなわち2端子構造のトランジスタのゲート端子からソース端子およびドレイン端子に向かって書き込みを行い、続いて、上記1つのメモリ素子に列方向からの書き込み、すなわち2端子構造のトランジスタのソース端子およびドレイン端子からゲート端子に向かって書き込みを行う。
【0053】
(行方向からの書き込み)
まず、1つのメモリ素子に行方向からの書き込みを行う場合の一例について
図15を参照して説明する。この
図15は、丸印で囲まれたメモリ素子10
12に書き込みを行う時の各種信号に印加される電圧を示している。
【0054】
選択回路33
1の入力端子に入る信号C
1にVddを与え、信号In
1に0Vを与え、選択回路33
2の入力端子に入る信号C
2に0Vを与え、信号In
2に0Vを与える。なお、書き込み動作時には、信号In
1および信号In
2は0Vでなくともよい。pチャネルトランジスタ30
1のゲート端子に印加される信号Rp
1に、pチャネルトランジスタ30
1がオン状態となる電圧、例えば0Vを与え、pチャネルトランジスタ30
2のゲート端子に印加される信号Rp
2に、pチャネルトランジスタ30
2がオフ状態となる電圧、例えばVpprgを与える。また、nチャネルトランジスタ31
1,31
2のそれぞれのゲート端子に印加される信号Rn
1,Rn
2に、nチャネルトランジスタ31
1,31
2がオフ状態となる電圧、例えば−Vnprgを与える。また、信号Vhvnに電圧−Vnprgを与え、信号WEn
1に電圧0Vを与える。そして、信号WEn
2に電圧0Vを与え、選択回路33
1,33
2が信号C
1,C
2をそれぞれ選択する。
【0055】
このような状態で、信号Vhvpに書き込み電圧Vpprgを与えると、この書き込み電圧Vpprgは、pチャネルトランジスタ30
1を介して配線135
1に印加される。なお、pチャネルトランジスタ30
2はオフ状態となっているので、配線135
2には、書き込み電圧Vpprgは印加されない。そして、配線133
2には選択回路33
2、インバータ32
2を介して0Vが印加される。これにより、メモリ素子10
12においては、ゲート端子と、ソース端子およびドレイン端子との間には、電圧ΔV
GS=Vpprgが印加され、メモリ素子10
12に書き込みが行われる。このとき、メモリ素子10
11のソース端子およびドレイン端子には、配線133
1を介して信号C
1の反転信号電圧Vddが印加され、メモリ素子10
11においては、ゲート端子と、ソース端子およびドレイン端子との間には電圧Vpprg−Vddが印加され、書き込みが行われない。また、メモリ素子10
21およびメモリ素子10
22においては、ゲート端子と、ソース端子およびドレイン端子との間には、ゲート端子には電圧は印加されず、メモリ素子10
21およびメモリ素子10
22に、書き込みは行われない。ここで、Vbdをメモリ素子10
11〜10
22におけるゲート絶縁膜の破壊電圧とすると、VpprgおよびVnprgは、以下の条件
Vpprg>Vbd>Vnprg、
Vnprg+Vdd>Vbd
を満す。例えば、Vpprg=5V〜5.6V、Vbd=4.7V、Vnprg=3.8V〜4.4V、Vdd=1.2Vである。なお、上記数値は、プロセス世代により、変化する。
【0056】
以上により、メモリ素子10
12に行方向からの書き込み、ゲート端子から電圧を印加して書き込みを行うことができる。
【0057】
(列方向からの書き込み)
次に、メモリ素子10
12に列方向からの書き込みを行う場合の一例について
図16を参照して説明する。この
図16は、丸印で囲まれたメモリ素子10
12に書き込みを行う時の各種信号に印加される電圧を示している。
【0058】
選択回路33
1の入力端子に入る信号C
1に0Vを与え、信号In
1に0Vを与え、選択回路33
2の入力端子に入る信号C
2にVddを与え、信号In
2に0Vを与える。なお、書き込み動作時には、信号In
1および信号In
2は0Vでなくともよい。pチャネルトランジスタ30
1のゲート端子に印加される信号Rp
1に、pチャネルトランジスタ30
1がオフ状態となる電圧、例えばVpprgを与え、pチャネルトランジスタ30
2のゲート端子に印加される信号Rp
2に、pチャネルトランジスタ30
2がオフ状態となる電圧、例えばVpprgを与える。また、nチャネルトランジスタ31
1のゲート端子に印加される信号Rn
1に、nチャネルトランジスタ31
1がオン状態となる電圧、例えば0Vを与え、nチャネルトランジスタ31
2のゲート端子に印加される信号Rn
2に、nチャネルトランジスタ31
2がオフ状態となる電圧、例えば、−Vnprgを与える。また、信号Vhvpに電圧Vpprgを与え、信号WEn
1に電圧0Vを与える。そして、信号WEn
2に電圧0Vを与え、選択回路33
1,33
2が信号C
1,C
2をそれぞれ選択する。
【0059】
このような状態で、信号Vhvnに書き込み電圧−Vnprgを与えると、この書き込み電圧−Vnprgは、nチャネルトランジスタ31
1を介して配線135
1に印加される。なお、nチャネルトランジスタ31
2はオフ状態となっているので、配線135
2には、書き込み電圧−Vnprgは印加されない。そして、配線133
2には選択回路33
2、インバータ32
2を介してVddが印加される。これにより、メモリ素子10
12においては、ソース端子およびドレイン端子と、ゲート端子との間には、電圧ΔV
SG=Vnprg+Vbdが印加され、メモリ素子10
12に書き込みが行われる。このとき、メモリ素子10
11のソース端子およびドレイン端子には、配線133
1を介して信号C
1の反転信号電圧0Vが印加され、メモリ素子10
11においては、ゲート端子と、ソース端子およびドレイン端子との間には電圧Vnprgが印加され、書き込みが行われない。また、メモリ素子10
21およびメモリ素子10
22においては、ゲート端子と、ソース端子およびドレイン端子との間には、ゲート端子には電圧は印加されず、メモリ素子10
21およびメモリ素子10
22に、書き込みは行われない。
【0060】
以上により、メモリ素子10
12に列方向からの書き込み、ソース端子およびドレイン端子から電圧を印加して書き込みを行うことができる。
【0061】
以上説明したように、第2実施形態および一実施例においては、1つのメモリ素子に行方向からの書き込みを行った後、列方向からの追加の書き込みを行う。これにより、書き込みが行われたメモリ素子の読み出し電流の流す方向にかかわらず、測定される抵抗値はほぼ同じになり、整流性が抑制される。
【0062】
また、第2実施形態および一実施例の場合と異なり、1つのメモリ素子に列方向からの書き込みを行った後、行方向からの追加の書き込みを行ってもよい。
【0063】
なお、第2実施形態および一実施例の半導体集積回路においては、メモリ素子は2行2列のアレイ状に配列されたが、m(m≧1)行n(n≧1)列のアレイ状に配置されていてもよい。また、1つの配線135
i(i=1,2)に接続される複数のメモリ素子のうち高々1つのメモリ素子に書き込みが行われ、2つ以上のメモリ素子には書き込みを行わない。
【0064】
(通常動作)
次に、第2実施形態の一実施例による半導体集積回路の通常動作について
図17を参照して説明する。
図17は、メモリ素子10
12に書き込みが行われ、その他のメモリ素子には書き込みが行われない場合の、通常動作時における各種信号に印加される電圧を示す。
【0065】
選択回路33
1の入力端子に入る信号C
1に0Vを与え、選択回路33
2の入力端子に入る信号C
2に0Vを与える。なお、通常動作時には、信号C
1,C
2に与える電圧は0Vでなくともよい。
【0066】
pチャネルトランジスタ30
1のゲート端子に印加される信号Rp
1にpチャネルトランジスタ30
1がオフ状態となる電圧、例えばVpprgを与え、pチャネルトランジスタ30
2のゲート端子に印加される信号Rp
2にpチャネルトランジスタ30
2がオフ状態となる電圧、例えばVpprgを与える。そして、nチャネルトランジスタ31
1のゲートに印加される信号Rn
1に0Vを、nチャネルトランジスタ31
2のゲートに印加される信号Rn
2に0Vを与える。また、信号VhvpにVpprgを与え、信号Vhvnに0Vを与え、信号WEn1に電圧Vddを与える。
【0067】
そして、イネーブル信号WEn
2に電圧Vddを与え、選択回路33
1,33
2が信号In
1,In
2をそれぞれ選択する。すると、選択回路33
2に入力された信号In
2は、選択回路33
2、インバータ32
2,メモリ素子10
12、配線135
1,およびNANDゲート34
1を介して出力信号Out
1として外部に出力される。このとき、メモリ素子10
21は書き込みが行われていないので、選択回路33
1へ入力された信号In
1は外部に出力されない。以上により、通常動作が行われる。
【0068】
次に、行方向からの書き込み時、列方向からの書き込み時、通常動作時において用いられる各種信号の値を
図18に示す。
図18において、「A/B」と表記されているのは、Aが選択される行または選択される列の信号に印加される電圧を示し、Bが非選択の行または非選択の列の信号に印加される電圧を示す。例えば、行方向からの書き込み時には、信号Rp
i(i=1,2)の0V/Vpprgは、選択される行には0Vが印加され、選択されない行には電圧Vpprgが印加されることを示す。
【0069】
なお、
図13に示す第2実施形態および
図14に示す一実施形態の半導体集積回路において、配線135
i(i=1,2)とNANDゲート34
iとの間に、スイッチ素子、例えばトランジスタ(図示せず)を設けてもよい。このスイッチ素子は、行方向からの書き込み時および列方向からの書き込み時にはオフ状態となり、通常動作時においてはオン状態となる。
【0070】
第2実施形態および一実施例の半導体集積回路は、行方向からの書き込み時、列方向からの書き込み時、通常動作時において用いられる各種信号に印加する電圧(電位)を発生する第1乃至第5ドライバを更に備えている。これら第1乃至第5ドライバを備えた一実施例の半導体集積回路を
図19に示す。
【0071】
第1ドライバ310は、電圧Vpprg、電圧Vdd、または0Vのいずれかを信号Vhvpとして供給する。第2ドライバ320は、電圧Vnprg、電圧Vdd、または0Vのいずれかを信号Vhvnとして供給する。第3ドライバ330は、電圧Vddまたは0Vのいずれかを信号C
1およびC
2として供給する。第4ドライバ340は、電圧Vpprg、電圧Vdd、または0Vのいずれかを信号Rp
1,Rp
2として供給する。第5ドライバ350は、電圧Vnprg、電圧Vdd、または0Vのいずれかを信号Rn
1,Rn
2として供給する。
【0072】
これらのドライバ、例えば第4ドライバ340および第5ドライバ350の一具体例を
図20に示す。第4ドライバ340および第5ドライバ350は、デコーダ360と、ANDゲート340aと、ANDゲート340bと、レベルシフタ340cと、インバータ340dと、ANDゲート350aと、ANDゲート350bと、レベルシフタ350cと、インバータ350dと、インバータ350eと、を備えている。
【0073】
デコーダ360は、選択アドレス信号を受け、デコードした信号をそれぞれANDゲート340aおよびANDゲート350aに送る。ANDゲート340aは、デコーダ360からのデコードされた信号と、イネーブル信号E
2とのAND演算を行い、演算結果をANDゲート340bに送る。ANDゲート340bは、ANDゲート340aからの信号と、イネーブル信号En
1とのAND演算を行い、演算結果をレベルシフタ340cに送る。レベルシフタ340cは、ANDゲート340bの演算結果を示す信号のレベル変換を行い、変換された信号をインバータ340dに送る。インバータ340dは、レベルシフタ340cからの信号を反転して信号Rp
1として供給する。
【0074】
ANDゲート350aは、デコーダ360からのデコードされた信号と、イネーブル信号E
2の反転信号とのAND演算を行い、演算結果をANDゲート350bに送る。ANDゲート350bは、ANDゲート350aからの信号と、イネーブル信号En
1とのAND演算を行い、演算結果をレベルシフタ350cに送る。レベルシフタ350cは、ANDゲート350bの演算結果を示す信号のレベル変換を行い、変換された信号をインバータ350dに送る。インバータ350dは、レベル変換された信号を反転してインバータ350eに送る。インバータ350eは、インバータ350dからの信号を反転して信号Rn
1として供給する。インバータ340d、350dはそれぞれ、高耐圧のpチャネルトランジスタと高耐圧のnチャネルトランジスタとが直列に接続された構成を有している(図示せず)。インバータ350eは高耐圧のpチャネルトランジスタ36
1と、独立ウェルに形成された高耐圧のnチャネルトランジスタ35
1とが直列に接続された構成を有している。なお、
図20においては、信号Rp
2および信号Rn
2に電圧を供給する構成を省略している。
【0075】
行方向の書き込み時、列方向の書き込み時、および通常動作時に、例えばイネーブル信号En
1は、行方向の書き込み時、列方向の書き込み時、および通常動作時には、Vddを取り、イネーブル信号En
2は、行方向の書き込み時にVdd、列方向の書き込み時および通常動作時には、0Vを取る。
【0076】
以上説明したように、第2実施形態およびその一実施例によれば、OTPメモリ素子を用いても動作速度に遅延が生じるのを抑制することが可能な半導体集積回路を提供することができる。
【0077】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。