以下、本発明の実施の形態について、図面を用いて説明する。
[第1の実施形態]
図1は、第1の実施形態の半導体装置1の構成を表わす図である。
回路ブロック2は、動作モードと待機モードの2つの動作状態を有する。回路ブロック2は、MOSFET4を備える。
バックバイアス発生回路3は、所定の電圧を出力する。所定の電圧は、待機モードにおける基板のバックバイアス電圧である。
バイアス制御回路7は、回路ブロック2が動作モードの期間において、電荷を蓄積し、回路ブロック2が動作モードから待機モードへ遷移するときに、蓄積した電荷を回路ブロック1に含まれるMOSFET4の基板に供給し、その後、バックバイアス発生回路3の出力をMOSFET4の基板に供給させる。
以上のように、本実施の形態によれば、回路ブロックが動作モードから待機モードへ遷移するときに、初めに、回路ブロックが動作モードの期間において蓄積しておいた電荷をMOSFETの基板に供給する。これによって、初めからバックバイアス発生回路の出力をMOSFETの基板に供給するよりも、動作状態から待機状態へ遷移する時間を短くすることができる。
[第2の実施形態]
図2は、第2の実施形態の半導体装置10の構成を表わす図である。
この半導体装置10は、バックバイアス電圧の制御機能を有するマイコンである。図2に示すように、半導体装置10は、IC(Integrated Circuit)チップ上にCPU(Central Processing Unit)コア12、SRAM(Static Random Access Memory)14、フラッシュメモリ16、タイマ18、インタフェース20などの機能ブロックを備える。
この半導体装置10は、電圧レギュレータ22と、バックバイアス発生回路28とを備える。
電圧レギュレータ22は、チップ外部から入力された電源電圧VINを内部電圧VDDに変換して、内部電圧DDを各機能ブロックに供給する。以降の説明において。電圧レギュレータ22は、VDD供給源ともいう。
バックバイアス発生回路28は、NMOS用バックバイアス発生回路(VBBGEN(n))24と、PMOS用バックバイアス発生回路(VBBGEN(p))26とを含む。
VBBGEN(n)24は、内部電圧VDDからバックバイアス電圧(−VBB)を生成して、各機能ブロックのNMOSトランジスタの基板PSUBに供給する。
VBBGEN(p)26は、内部電圧VDDからバックバイアス電圧(VDD+VBB)を生成して、各機能ブロックのPMOSトランジスタの基板NSUBに供給する。
MOSFETの閾値電圧VTHは、基板端子への印加電圧であるバックバイアス電圧vsubによって変化させることができる。NMOSトランジスタの場合は、バックバイアス電圧vsubを負にすることによって、閾値電圧VTHの絶対値が大きくなる。PMOSトランジスタの場合は、逆にバックバイアス電圧vsubを正にすることによって、閾値電圧VTHの絶対値が大きくなる。
図3(a)は、バルクのMOSFETの構成を表わす図である。
バルクMOSFETの場合、基板とMOSFETのソース・ドレイン端子はp−n接合によって接続されているので、バックバイアス電圧に設定可能な電圧は、p−n接合の順方向電流が流れない範囲に制限される。
図3(b)は、SOI(Silicon on Insulator)のMOSFETの構成を表わす図である。
SOIのMOSFETの場合、基板とMOSFETのソース・ドレイン端子はシリコン酸化膜層で絶縁されている。そのため、バックバイアス電圧に設定可能な電圧は、p−n接合の順方向電流が流れない範囲に制限されない。
図4(a)は、バルクのNMOSトランジスタのバックバイアス電圧vsubと閾値電圧VTHの関係を表わす図である。図4(b)は、バルクのPMOSトランジスタのバックバイアス電圧vsubと閾値電圧VTHの関係を表わす図である。図4(c)は、SOIのNMOSトランジスタのバックバイアス電圧vsubと閾値電圧VTHの関係を表わす図である。図4(d)は、SOIのPMOSトランジスタのバックバイアス電圧vsubと閾値電圧VTHの関係を表わす図である。
図4(a)〜(d)に示すように、SOIは、バルクに比べてバックバイアス電圧vsubに対する閾値電圧VTHの変化量、つまり、dVTH/dvsubが大きい上に、バックバイアス電圧vsubを変化できる範囲も広いので、全体として閾値電圧VTHの変化量をバルクよりも大きくできる。
図5(a)は、SOIのNMOSトランジスタにおける、バックバイアス電圧vsubとオフ状態でのソース−ドレイン間のリーク電流Ioffの関係の一例を表わす図である。
図5(b)は、SOIのPMOSトランジスタにおける、バックバイアス電圧vsubとオフ状態でのソース−ドレイン間のリーク電流Ioffの関係の一例を表わす図である。
MOSFETでは、リーク電流の支配的な要因はサブスレッショルドリーク電流である。NMOSトランジスタでは、バックバイアス電圧vsubを負にすることによって、リーク電流Ioffを小さくすることができる。PMOSトランジスタでは、バックバイアス電圧vsubを正にすることによって、リーク電流Ioffを小さくすることができる。
ここで、リーク電流Ioffはバックバイアス電圧vsubの変化に対して、指数関数的に変化する。このため、バックバイアス電圧vsubが0V近辺でリーク電流Ioffの変化量が大きくなり、バックバイアス電圧vsubを大きくするにつれて、リーク電流Ioffの変化量は小さくなる。
図6は、バックバイアス電圧の制御方法の一例を表す図である。NMOSトランジスタN1と、PMOSトランジスタP1は、それぞれpWellとnWell中に形成される。pWellに専用のバックバイアス発生回路(VBBGEN(n))24を接続し、nWellに専用のバックバイアス発生回路(VBBGEN(p))26を接続する。
NMOSトランジスタN1のバックバイアス電圧と、PMOSトランジスタP1のバックバイアス電圧は同時に変化させる。
半導体装置内の回路ブロックが動作しているとき、つまり動作状態では、PMOSトランジスタP1の閾値電圧VTHおよびNMOSトランジスタN1の閾値電圧VTHが低くなるように設定する。これによって、スイッチングの高速化による高速な動作を実現することができる。一方、半導体装置内の回路ブロックが停止しているとき、つまり待機状態では、PMOSトランジスタP1の閾値電圧VTHおよびNMOSトランジスタN1の閾値電圧VTHが高くなるように設定する。これによって、リーク電流が低減されて、低電力化するということができる。このように動的にバックバイアス電圧を制御することで高速な動作と低消費電力を両立させることができる。
図7は、回路ブロックの動作状態と待機状態におけるバックバイアス電圧の制御の一例を表わす図である。回路ブロックの電源電圧はVDDとする。
動作状態において、NMOSトランジスタN1のバックバイアス電圧は0Vとし、PMOSトランジスタP1のバックバイアス電圧はVDDすることによって、NMOSトランジスタの閾値電圧VTHの絶対値およびPMOSトランジスタの閾値電圧VTHの絶対値が下がる。これによって、オン電流が増加するので高速な動作が可能となる。
次に、待機状態において、NMOSトランジスタN1のバックバイアス電圧を(−VBB)、PMOSトランジスタP1のバックバイアス電圧を(VDD+VBB)とする。
これによって、NMOSトランジスタの閾値電圧VTHの絶対値およびPMOSトランジスタの閾値電圧VTHの絶対値が上がる。これによって、リーク電流が減少するので、待機時の消費電流を減らすことができる。
ただし、実用的なバックバイアス電圧の制御を行うには、バックバイアス電圧を高速に変化させて、動作状態と待機状態の遷移時間を短くする必要がある。MOSFETの基板はバルクでもSOIでも、回路的にはキャパシタとみなせることができるので、遷移時間を短くするには、基板の充放電を高速に行う必要がある。このためには、基板の容量に対してバックバイアス発生回路の駆動力が十分大きくなければならない。
一般に、単一の電源電圧VDDで動作する回路によって、NMOSトランジスタのバックバイアス電圧vnsubを負電圧としたい場合、バックバイアス電圧vnsubは、チャージポンプ回路などのDC−DCコンバータを使用してVDDから作られる。同時にPMOSトラジスタのバックバイアス電圧vpsubは、VDD以上の電圧とする必要がある。バックバイアス電圧vnsub、vpsubは、DC−DCコンバータを用いて作られる。したがって、DC−DCコンバータの駆動力を高める必要がある。たとえば、DC−DCコンバータの一種であるチャージポンプ回路によって駆動力を高めるには、スイッチング周波数を高めるか、あるいはポンプ容量を増やす必要がある。しかしながら、いずれの手法でもチャージポンプ回路の消費電力が増える。バックバイアス電圧の制御によって、待機状態の電力低減を目指す場合、チャージポンプ回路の消費電力が増えてはむしろ逆効果となる。このため、従来のバックバイアス発生回路は、待機状態の電力低減のために駆動力が低くなり、動作状態と待機状態の遷移時間が長いという問題があった。
本実施の形態では、このような問題を解決することができる。
図8は、VBBGEN(p)26に含まれる回路の構成を表わす図である。
VBBGEN(p)26は、一般的なチャージポンプ回路であり、入力電圧VDDから正電圧(VDD+VBB)を生成し、出力端子VOUT1から正電圧(VDD+VBB)が出力される。
VBBGEN(p)26は、スイッチSWC11,SWC12,SWC13と、キャパシタC11と、C12と、電圧VDDを供給するVDD供給源22とを備える。
スイッチSWC11は、ノードND11を端子gと端子vのいずれかと接続する。端子gはグランドGNDと接続される。端子vはノードND14と接続される。キャパシタC11は、ノードND11とノードND12との間に配置される。スイッチSWC12は、ノードND12とノードND14との間の経路を接続または遮断する。VDD供給源22は、ノードND14とグランドGNDとの間に配置される。スイッチSWC13は、ノードND12とノードND13の間の経路を接続または遮断する。キャパシタC12は、ノードND13とグランドGNDとの間に配置される。ノードND13は、出力端子VOUT1と接続される。
図9(a)および(b)は、VBBGEN(p)26の動作を説明する図である。
まず、図9(a)に示すように、スイッチSWC11をg側とし、スイッチSWC12をオン、スイッチSWC13をオフにする。これによって、キャパシタC11の両端の間にはVDDの電圧が蓄えられる。
次に、図9(b)に示すように、スイッチSWC11をv側とし、スイッチSWC12をオフ、スイッチSWC13をオンにする。これによって、キャパシタC11の負側端子(−)の電圧がVDDとなるので、キャパシタC11の正側端子(+)の電圧が2*VDDとなる。つまり、入力電圧VDDの2倍の電圧が出力端子VOUT1から出力される。
図8の回路は、入力電圧VDDから2*VDDの電圧を発生させる場合の回路である。VBB>VDDの場合には、この回路を複数個直列接続することによって、3*VDD、4*VDDといった高い電圧が発生可能である。VBB<VDDである場合には、この回路の出力電圧を降圧することで、所望のVBB+VDDを発生させることができる。
図10は、VBBGEN(n)24に含まれる回路の構成を表わす図である。
VBBGEN(n)24は、一般的なチャージポンプ回路であり、入力電圧VDDから負電圧(−VBB)を生成し、出力端子VOUT2から負電圧(−VBB)が出力される。
VBBGEN(n)24は、スイッチSWC21,SWC22,SWC23と、キャパシタC21と、C22と、電圧VDDを供給するVDD供給源22とを備える。
スイッチSWC21は、ノードND21を端子gと端子vのいずれかと接続する。端子gはグランドGNDと接続される。端子vはVDD供給源22と接続される。キャパシタC21は、ノードND21とノードND22との間に配置される。スイッチSWC22は、ノードND22とグランドGNDの間の経路を接続または遮断する。VDD供給源22は、端子vとグランドGNDとの間に配置される。スイッチSWC23は、ノードND22とノードND23の間の経路を接続または遮断する。キャパシタC22は、ノードND23とグランドGNDとの間に配置される。ノードND23は、出力端子VOUT2と接続される。
図11(a)および(b)は、VBBGEN(n)24の動作を説明する図である。
まず、図11(a)に示すように、スイッチSWC21をv側とし、スイッチSWC22をオン、スイッチSWC23をオフにする。これによって、キャパシタC21の両端の間にはVDDの電圧が蓄えられる。
次に、図11(b)に示すように、スイッチSWC21をg側とし、スイッチSWC22をオフ、スイッチSWC23をオンにする。これによって、キャパシタC21の正側端子の電圧が0Vとなるので、キャパシタC21の負側端子の電圧が(−VDD)となる。つまり、入力電圧VDDの符号が逆の電圧が出力端子VOUT2から出力される。
図10の回路は、入力電圧VDDから(−1)*VDDの電圧を発生させる場合の回路である。VBB>VDDの場合には、この回路を複数個直列接続することによって、(−2)*VDD、(−3)*VDDといった高い電圧が発生可能である。VBB<VDDである場合には、この回路の出力電圧を降圧することで、所望の−VBBを発生させることができる。
図12は、第2の実施形態のNバイアス制御回路NC1およびPバイアス制御回路PC1の構成を表わす図である。
図12において、半導体装置の複数の回路ブロックに含まれる複数のPMOSトランジスタとNMOSトランジスタを代表する1つのPMOSトランジスタP1と、NMOSトランジスタN1が表されている。
VBBGEN(n)24とNMOSトランジスタN1の基板PSUBとの間にNバイアス制御回路NC1が配置される。VBBGEN(p)26とPMOSトランジスタP1の基板NSUBとの間にPバイアス制御回路PC1が配置される。Nバイアス制御回路NC1と、Pバイアス制御回路PC1とは、同時に動作する。
Nバイアス制御回路NC1は、スイッチSWN1と、キャパシタNCAPと、スイッチSWN2とを備える。
スイッチSWN1は、ノードvncapを端子aと端子bのいずれかと接続させる。端子aは、開放されている。端子bは、NMOS用バックバイアス発生回路24の出力と接続する。
キャパシタNCAPは、ノードvncapとグランドGNDとの間に配置される。
スイッチSWN2は、基板PSUBを端子p、q、rのいずれかと接続される。端子pは、VBBGEN(n)24の出力と接続する。端子qは、ノードvncapと接続する。端子rは、グランドGNDと接続する。
Pバイアス制御回路PC1は、スイッチSWP1と、キャパシタPCAPと、スイッチSWP2とを備える。
スイッチSWP1は、ノードvpcapを端子aと端子bのいずれかと接続させる。端子aは、開放されている。端子bは、PMOS用バックバイアス発生回路26の出力と接続する。
キャパシタPCAPは、ノードvpcapとグランドGNDとの間に配置される。
スイッチSWP2は、基板NSUBを端子p、q、rのいずれかと接続される。端子pは、PMOS用バックバイアス発生回路26の出力と接続する。端子qは、ノードvpcapと接続する。端子rは、グランドGNDと接続する。
ここで、簡単のためにキャパシタPCAPの容量は、基板NSUBの持つ寄生容量と同じとし、キャパシタNCAPの容量は、基板PSUBの持つ寄生容量と同じとする。キャパシタNCAPとキャパシタPCAPによって、基板PSUBと基板NSUBの電圧を高速に変化させることが出来る。
図13は、図12の回路の動作を説明するタイミング図である。
VBBGEN(n)24の出力電圧は常に−VBBとし、VBBGEN(p)26の出力電圧は常に(VDD+VBB)とする。
時刻t0の初期状態において、半導体装置内の回路ブロックが動作状態であるとし、基板PSUBとキャパシタNCAPの電圧は共にグランド電圧の0Vであり、基板NSUBとキャパシタPCAPの電圧は共に電源電圧のVDDとする。
CPUコア12が、スイッチSWN1とスイッチSWP1をb側とすることによって、VBBGEN(n)24とキャパシタNCAPとが接続され、VBBGEN(p)26とキャパシタPCAPとが接続される。CPUコア12が、スイッチSWN2とスイッチSWP2をr側とすることによって、基板PSUBとグランドGNDとが接続され、基板NSUBと電源VDDとが接続される。これによって、基板PSUBの電圧は0Vのままであるが、キャパシタNCAPは徐々に−VBBに向かって充電されるとともに、基板NSUBはVDDのままであるが、キャパシタPCAPは徐々に(VDD+VBB)に向かって充電される。この充電に要する時間はVBBGEN(n)24とVBBGEN(p)26の最大出力電流で律速される。
時刻t1において、キャパシタNCAPの電圧が−VBB、キャパシタPCAPの電圧が(VDD+VBB)となると、VBBGEN(n)24とVBBGEN(p)26は、自動的に停止して、充電が終了する。
時刻t2において、半導体装置は、外部から動作モードから待機モードへの遷移指示を受ける。この時に、CPUコア12が、スイッチSWN1とスイッチSWP1をa側、スイッチSWN2とスイッチSWP2はq側とする。これによって、VBBGEN(n)24とキャパシタNCAPとが切り離され、VBBGEN(p)26とキャパシタPCAPとが切り離され、基板PSUBとキャパシタNCAPとが接続され、基板NSUBとキャパシタPCAPとが接続される。これによって、キャパシタNCAPに蓄積された負電荷で基板PSUBは急速に充電され、基板PSUBとキャパシタNCAPは同電圧の(−1/2*VBB)となる。また、キャパシタPCAPに蓄積された正電荷で基板NSUBは急速に充電され、基板NSUBとキャパシタPCAPは同電圧の(VDD+1/2*VBB)となる。この動作に要する時間は、スイッチSWN2とスイッチSWP2のオン抵抗と基板PSUB、キャパシタNCAP、基板NSUB、キャパシタPCAPの容量で決まるが、スイッチSWN2とスイッチSWP2のオン抵抗を十分小さくすることによって、VBBGEN(n)24によって基板PSUBを充電し、VBBGEN(p)26によって基板NSUBを充電する場合よりも高速に基板PSUBと基板NSUBを充電できる。ここでは、基板PSUBの電圧は目標値の半分の(−1/2*VBB)までしか変化せず、基板NSUBの電圧も目標値の半分の(VDD+1/2*VBB)までしか変化しないが、前述のようにMOPSFETのリーク電流の基板電圧依存性0V近辺が最も変化量が大きいので、この変化量でもリーク電流低減効果が十分に得られる。
時刻t3において、さらに、CPUコア12が、スイッチSWN1とスイッチSWP1をa側、スイッチSWN2とスイッチSWP2をp側とすることによって、VBBGEN(n)24と基板PSUBとが接続され、VBBGEN(p)26と基板NSUBと接続される。これによって、基板PSUBが(−VBB)まで徐々に充電され、基板NSUBが(VDD+VBB)まで徐々に充電される。
時刻t4において、基板PSUBが(−VBB)、基板NSUBが(VDD+VBB)となると、VBBGEN(n)24とVBBGEN(p)26は自動的に停止して、充電が終了し、回路ブロックは待機状態となる。
時刻t5において、半導体装置は、外部から動作モードから待機モードへの遷移指示を受ける。CPUコア12が、スイッチSWN1とスイッチSWP1をa側、スイッチSWN2とスイッチSWP2をq側とすることによって、基板PSUBとキャパシタNCAPが再び接続され、基板NSUBとキャパシタPCAPとが再び接続される。これによって、基板PSUBの負電荷がキャパシタNCAPに急速に回生され、基板PSUBとキャパシタNCAPは同電圧(−3/4*VBB)となる。これとともに、基板NSUBの正電荷がキャパシタPCAPに急速に回生され、基板NSUBとキャパシタPCAPは同電圧の(VDD+3/4*VBB)となる。この回生動作の時間はスイッチSWN2とスイッチSWP2のオン抵抗と基板PSUB、基板NSUB、キャパシタNCAP、キャパシタPCAPの容量で決まるので時刻t2の動作と同様に高速である。
時刻t6において、さらに、CPUコア12が、スイッチSWN1とスイッチSWP1をb側、スイッチSWN2とスイッチSWP2をr側とする。
これによって、基板PSUBは急速0Vまで放電され、基板NSUBは急速にVDDまで放電される。この放電の動作もスイッチSWN2とスイッチSWP2のオン抵抗と基板PSUBと基板NSUBの容量で決まるので高速である。また、キャパシタNCAPは、VBBGEN(n)24と再び接続して(−VBB)まで徐々に充電され、キャパシタPCAPは、VBBGEN(p)26と再び接続して(VDD+VBB)まで徐々に充電される。
時刻t7において、基板PSUBが0Vまで、基板NSUBがVDDまで放電されると、回路ブロックは動作状態となる。
時刻t8において キャパシタNCAPが(−VBB)、キャパシタPCAPが(VDD+VBB)となると、VBBGEN(n)24とVBBGEN(p)26は自動的に停止して、充電が終了する。
時刻t8の状態は、時刻t1の状態と同じとなる。以降はt1〜t8の状態を1サイククルとして、処理が繰り返される。
時刻t5のタイミングにおいて、基板PSUBからキャパシタNCAP、基板NSUBからキャパシタPCAPへの電荷の回生を行っている。ここで、たとえばモータで発電した電力をキャパシタに回生する場合と比較する。この場合、モータには起電力があるので、モータとキャパシタの間に電位差が無くとも電荷を回生することができる。しかし、本実施の形態では、基板PSUBおよび基板NSUBは、受動素子であり、起電力が無い。そこで、時刻t3〜t5の期間において、基板PSUBとキャパシタNCAP、基板NSUBとキャパシタPCAPを切り離して両者に電位差を発生させることによって、回生を可能としている。
以上のように、本実施の形態では、時刻t2における待機状態への遷移での基板PSUBと基板NSUBへの充電をVBBGEN(n)24とVBBGEN(p)26ではなくキャパシタNCAPとキャパシタPCAPで行なう。これによって、VBBGEN(n)24とVBBGEN(p)26の電流駆動能力に関係なく高速に充電することができる。また、時刻t5において、基板PSUBの電荷をキャパシタNCAPに、基板NSUBの電荷をキャパシタPCAPに回生することによって、VBBGEN(n)24とVBBGEN(p)26の消費電力を低減できる。
次に、VBBGEN(n)24の電力について説明する。
VBBGEN(n)24が、一般的なチャージポンプ回路とすると、VBBGEN(n)24の内部電圧は、充電される対象(例えば、キャパシタNCAP)の電圧に関わりなく常に(−VBB)である。そのため、内部電圧とキャパシタNCAPの電圧差分のエネルギーは、両者をつなぐスイッチSWN1で消費される。例えば、キャパシタNCAPを0Vから(−VBB)まで充電する場合、キャパシタNCAPの容量をCcapとすると、VBBGEN(n)24が出力する電力P1と、キャパシタNCAPで蓄積される電力P2は以下の式で表される。
P1=Ccap*VBB2
P2=(1/2)*Ccap*VBB2
VBBGEN(n)24が出力する電力は、キャパシタNCAPに蓄積される電力の2倍となる。VBBGEN(n)24が出力する電力の1/2は、キャパシタNCAPと、VBBGEN(n)24との間の配線抵抗で消費される。
VBBGEN(n)24の電力効率Effbは一定、つまり内部の損失は、出力する電力に比例するものとする。図13のタイミングで動作したときのVBBGEN(n)24の消費電力は、時刻t0〜t1においてP3、時刻t3〜t4においてP4、時刻t6〜t8においてP5となる。
P3=Ccap*VBB2/Effb
P4=(1/2)*Ccap*VBB2/Effb
P5=(1/4)*Ccap*VBB2/Effb
つまり、本実施の形態では、最初のt0〜t1の期間に、P3の電力を消費するが、その後のt1〜t8のサイクルで、P6だけ電力を消費する。
P6=(3/4)*Ccap*VBB2/Effb
これに対して、従来の方式では毎サイクルP3の電力を消費する。したがって、本実施の形態の方式のVBBGEN(n)24の消費電力は、従来方式の消費電力の3/4に減る。この原因は、時刻t5において、回生動作を行うためである。
VBBGEN(p)26の消費電力も、従来方式の消費電力の3/4に減らすことができる。
[第3の実施形態]
以降では、NMOSトランジスタN1のバックバイアス電圧の制御のみを示すが、PMOSトランジスタP1も、同様にして制御することができる。
図14は、第3の実施形態のNバイアス制御回路NC1の構成を表わす図である。
図14において、半導体装置に含まれる複数の回路ブロックに含まれる複数のNMOSトランジスタを代表する1つのNMOSトランジスタN1が表されている。
VBBGEN(n)24とNMOSトランジスタN1の基板PSUBとの間にNバイアス制御回路NC1が配置される。
Nバイアス制御回路NC1は、スイッチSWN1と、キャパシタNCAPと、スイッチSWN2と、スイッチSWN3とを備える。
スイッチSWN1は、ノードvncapを端子aと端子bと端子cのいずれかと接続させる。端子aは、開放されている。端子bは、VBBGEN(n)24の出力と接続される。端子cはグランドGNDと接続される。
キャパシタNCAPは、ノードvncapとノードvncapbとの間に配置される。
スイッチSWN2は、基板PSUBを端子p、q、rのいずれかと接続される。端子pは、VBBGEN(n)24の出力と接続される。端子qは、ノードvncapと接続される。端子rは、グランドGNDと接続される。
スイッチSWN3は、ノードvncapbを端子xと端子yのいずれかと接続させる。端子xは、VDD供給源22と接続される。端子yは、グランドGNDと接続される。
ここで、簡単のために、キャパシタNCAPの容量は、基板PSUBの持つ寄生容量と同じとする。ノードvncapbの電圧をグランドGNDとVDDの間で遷移させることによって、キャパシタNCAP自身が、VBBGEN(n)24の代わりのチャージポンの働きをする。
図15は、図14の回路の動作の一例を説明するタイミング図である。
VBBGEN(n)24の出力電圧(−VBB)は(−VDD)と等しいとする。
時刻t0の初期状態において、半導体装置内の回路ブロックが動作状態であるとし、基板PSUBとキャパシタNCAPの電圧は共にグランド電圧の0Vとする。
CPUコア12が、スイッチSWN1をc側、スイッチSWN2をr側、スイッチSWN3をx側とすることによって、キャパシタNCAPは、VDD供給源22と接続され、基板PSUBとグランドGNDとが接続される。これによって、基板PSUBの電圧は0Vのままであるが、キャパシタNCAPは徐々にVDDに向かって充電される。この充電に要する時間はVBBGEN(n)24とVBBGEN(p)26の最大出力電流で律速される。この充電に要する時間はVDD供給源22の出力電流で律速される。一般的に正バイアスのVDD供給源22は、負バイアスのVBBGEN(n)24よりも電流供給能力が大きく、電力効率も高い。よって、本実施の形態では、第2の実施形態よりも高速かつ低電力でキャパシタNCAPを充電できる。
時刻t1において、ノードvncapbの電圧がVDDとなると充電が終了する。
時刻t2において、CPUコア12が、スイッチSWN1をa側、スイッチSWN2をr側、スイッチSWN3をy側とする。これによって、キャパシタNCAPの電荷を保ったまま、ノードvncapbの電圧を0V、ノードvncapの電圧を(−VBB)とすることができる。
時刻t3において、半導体装置は、外部から動作モードから待機モードへの遷移指示を受ける。この時、CPUコア12が、スイッチSWN1をa側、スイッチSWN2をq側、スイッチSWN3をy側とすることによって、基板PSUBと、キャパシタNCAPとが接続される。これによって、キャパシタNCAPの負電荷によって基板PSUBは急速に充電され、基板PSUBとキャパシタNCAPの電圧は、(−1/2)*VBBとなる。この動作に要する時間は、スイッチSWN2のオン抵抗と基板PSUBとキャパシタNCAPの容量で決まるが、スイッチSWN2のオン抵抗を十分小さくすることによって、VBBGEN(n)によって、基板PSUBを充電する場合よりも高速に基板PSUBを充電できる。ここでは、基板PSUの電圧は目標値の半分の(−1/2)*VBBまでしか変化しないが、MOSFETのリーク電流の基板PSUBの電圧依存性は、0V近辺が最も変化量が大きいので、この変化量でもリーク電流低減効果が十分に得られる。
時刻t4において、CPUコア12が、スイッチSWN1をa側、スイッチSWN2をp側、スイッチSWN3をy側とすることによって、VBBGEN(n)24と基板PSUBとが接続される。これによって、基板PSUBは、(−VBB)まで徐々に充電される。
時刻t5において、基板PSUBの電圧が(=VBB)となると、VBBGEN(n)24は、自動的に停止して、充電が終了し、回路ブロックは、待機状態となる。
時刻t6において、半導体装置は、外部から待機モードから動作モードへの遷移指示を受ける。CPUコア12が、スイッチSWN1をa側、スイッチSWN2をq側、スイッチSWN3をy側とすると、基板PSUBと、キャパシタNCAPが再度接続される。これによって、基板PSUBの負電荷がキャパシタNCAPに急速に回生され、基板PSUBとキャパシタNCAPは、同電圧の(−3/4)*VBBとなる。この回生動作の時間はスイッチSWN2のオン抵抗と基板PSUBとキャパシタNCAPの容量で決まるので時刻t2の動作と同様に高速である。
時刻t7において、CPUコア12は、さらに、スイッチSWN1をc側、スイッチSWN2をr側、スイッチSWN3をx側とする。これによって、基板PSUBは急速に0Vまで放電される。この放電の動作もスイッチSWN2のオン抵抗と基板PSUBの容量で決まるので高速である。また、ノードvncapは、グランドGNDと接続され、ノードvncapbがVDD供給源22と接続され、ノードvncapbが再度VDDまで充電される。
時刻t8において、基板PSUBが0Vまで放電されると、半導体装置内の回路ブロックは動作状態となる。
時刻t9において、ノードvncapbの電圧がVDDとなると、キャパシタNCAPの充電が終了する。
時刻t10において、CPUコア12は、さらに、スイッチSWN1をa側、スイッチSWN2をr側、スイッチSWN3をy側とする。これによって、再びキャパシタNCAPの電荷を保ったまま、ノードvncapbの電圧は0V、ノードvncapの電圧は(−VBB)とできる。
時刻t10の状態は、時刻t2の状態と同じとなる。以降はt2〜t10の状態を1サイククルとして、処理が繰り返される。
次に、第2の実施形態と同様に、バックバイアス電圧の電力について説明する。ここでは、VBBGEN(n)24の電力に加えて、VDD供給源22の電力も考慮する。ここで、正バイアスを供給するVDD供給源22は、VBBGEN(n)よりも高効率である。ここでは、VDD供給源22の効率をEffdとする。Effd>Effbである。
図15のタイミングで動作したときのVBBGEN(n)24およびVDD供給源22の消費電力は、時刻t0〜t1においてP7、時刻t4〜t5においてP8、時刻t7〜t9においてP9となる。
P7=Ccap*VDD2/Effd
P8=(1/2)*Ccap*VBB2/Effb
P9=(1/4)*Ccap*VDD2/Effd
つまり、Effd>Effb、VDD=VBBなので、最初の時刻t0〜t1において、P7は、第2の実施形態のP1よりも小さい、次に、t2〜t10のサイクルで、消費電力P10は、第2の実施形態のP6よりも小さい。
P10=Ccap*VBB2*((1/2)*Effb+(1/4)*Effd)
以上より、本実施の形態では、高効率なVDD供給源による充電が可能なため、第2の実施形態よりも、消費電力を低減できる。
[第4の実施形態]
図16は、図14の回路の動作の別の例を説明するタイミング図である。
ここで、第3の実施形態と同様に、VBBGEN(n)24の出力電圧(−VBB)は(−VDD)と等しいとする。
時刻t0において、半導体装置内の回路ブロックが動作状態であるとし、基板PSUBとキャパシタNCAPの電圧は共にグランド電圧の0Vとする。
CPUコア12が、スイッチSWN1をc側、スイッチSWN2をr側、スイッチSWN3をx側とすることによって、VDD供給源22とキャパシタNCAPとが接続され、基板PSUBは、グランドGNDに接続される。これによって、基板PSUBの電圧は0Vのままで、ノードvncapbは徐々にVDDに向かって充電される。この充電に要する時間はVDD供給源22の最大出力電流で律速される。一般的に正バイアスのVDD供給源22は負バイアスのVNNGEN(n)よりも電流供給能力が大きく、電力効率も高い。よって、第2の実施形態よりも高速かつ低電力にキャパシタNCAPを充電できる。
時刻t1において、ノードvncapbの電圧がVDDとなると充電が終了する。
時刻t2において、CPUコア12が、スイッチSW1をb側とすることによって、ノードvncapを(−VBB)まで充電する。
時刻t3において、ノードvncapの電圧が(−VBB)となると充電が終了する。これによって、キャパシタNCAPの両端であるノードvncapbとノードvncapとの間には、2*VDDの電圧が蓄えられる。
時刻t4において、CPUコア12が、スイッチSWN1をa側に接続し、スイッチSWN3をy側に接続する。これによって、ノードvncapの電圧は(−2*VBB)となる。
時刻t5において、半導体装置は、外部から動作モードから待機モードへの遷移指示を受ける。この時、CPUコア12が、スイッチSWN1をa側に接続し、スイッチSWN2をq側に接続し、スイッチSWN3をy側に接続することによって、基板PSUBとキャパシタNCAPとが接続される。これによって、キャパシタNCAPの負電荷によって、基板PSUBが急速に充電され、基板PSUBとキャパシタNCAPは同電圧の(−VBB)となる。この動作に要する時間は、スイッチSWN2のオン抵抗と基板PSUBとキャパシタNCAPの容量で決まるが、スイッチSWN2のオン抵抗を十分小さくすることによって、VBBGEN(n)24によって基板PSUBを充電する場合よりも高速に基板PSUBを充電できる。ここで、第2および第3の実施形態と異なり、キャパシタNCAPからの電荷のみで基板PSUBの電圧を(−VBB)まで充電することができるので、さらに高速に基板PSUBの電圧を変化させることでき、大きなリーク電流低減効果が得られる。
時刻t6において、充電が完了すると、CPUコア12が、スイッチSWN1をa側に接続し、スイッチSW2Nをp側に接続し、スイッチSWN3をy側に接続することによって、基板PSUBとキャパシタNCAPが切り離され、基板PSUBがVBBGEN(n)24に接続される。
時刻t7において、半導体装置は、外部から待機モードから動作モードへの遷移指示を受ける。CPUコア12が、スイッチSWN1をb側に接続し、スイッチSWN2をr側に接続し、スイッチSWN3をx側に接続することによって、基板PSUBは急速に0Vまで放電されると同時に、ノードvncapbは徐々にVDDに向かって充電される。
時刻t8において、基板PSUBが0Vまで放電されると、半導体装置内の回路ブロックは動作状態となる。
時刻t9において、ノードvncapbは、VDDまで充電される。
時刻t10において、CPUコア12が、スイッチSWN1をa側に接続し、スイッチSWN2をr側に接続し、スイッチSWN3をy側に接続する。これによって、再びキャパシタNCAPの電荷を保ったまま、ノードvncapbの電圧は0V、ノードvncapの電圧は(−2*VBB)とできる。
時刻t10の状態は、時刻t4の状態と同じとなる。以降はt4〜t10の状態を1サイククルとして、処理が繰り返される。
本実施の形態では、第2および第3の実施形態と異なり、時刻t5で、キャパシタNCAPにVDDの2倍の電圧を蓄えることで、キャパシタNCAPの電荷のみで基板PSUBの電圧を(−VBB)まで変化させることができる。これによって、本実施の形態では、第2および第3の実施形態よりも大きなリーク電流低減効果が得られる。
[第5の実施形態]
図17は、第5の実施形態のバイアス制御回路を表わす図である。
第5の実施形態では、半導体チップ内部の機能ブロックごとに、キャパシタを含むバイアス制御回路が設けられる。機能ブロックは、たとえば、CPUコア12、SRAM14、フラッシュメモリ16、タイマ18などである。
CPUコア12、SRAM14、フラッシュメモリ16、タイマ18に対して、半導体装置は、それぞれ、バイアス制御回路NX1、NX2、NX3、NXnを備える。
バイアス制御回路NX1は、スイッチSWN11と、キャパシタNCAP11と、スイッチSW21とを備える。
スイッチSWN11は、ノードvncap1を端子aと端子bのいずれかと接続させる。端子aは、開放されている。端子bは、VBBGEN(n)24の出力と接続する。キャパシタNCAP11は、ノードvncap1とグランドGNDとの間に配置される。スイッチSWN21は、SRAM14内のNMOSトランジスタの基板PSUBを端子p、q、rのいずれかと接続される。端子pは、VBBGEN(n)24の出力と接続する。端子qは、ノードvncap1と接続する。端子rは、グランドGNDと接続する。
バイアス制御回路NX2は、スイッチSWN12と、キャパシタNCAP12と、スイッチSW22とを備える。
スイッチSWN12は、ノードvncap2を端子aと端子bのいずれかと接続させる。端子aは、開放されている。端子bは、VBBGEN(n)24の出力と接続する。キャパシタNCAP12は、ノードvncap2とグランドGNDとの間に配置される。スイッチSWN22は、CPUコア12内のNMOSトランジスタの基板PSUBを端子p、q、rのいずれかと接続される。端子pは、VBBGEN(n)24の出力と接続する。端子qは、ノードvncap2と接続する。端子rは、グランドGNDと接続する。
バイアス制御回路NX3は、スイッチSWN13と、キャパシタNCAP13と、スイッチSW23とを備える。
スイッチSWN13は、ノードvncap3を端子aと端子bのいずれかと接続させる。端子aは、開放されている。端子bは、VBBGEN(n)24の出力と接続する。キャパシタNCAP13は、ノードvncap3とグランドGNDとの間に配置される。スイッチSWN23は、フラッシュメモリ16内のNMOSトランジスタの基板PSUBを端子p、q、rのいずれかと接続される。端子pは、VBBGEN(n)24の出力と接続する。端子qは、ノードvncap3と接続する。端子rは、グランドGNDと接続する。
バイアス制御回路NXnは、スイッチSWN1nと、キャパシタNCAP1nと、スイッチSW2nとを備える。
スイッチSWN1nは、ノードvncapnを端子aと端子bのいずれかと接続させる。端子aは、開放されている。端子bは、VBBGEN(n)24の出力と接続する。キャパシタNCAP1nは、ノードvncapnとグランドGNDとの間に配置される。スイッチSWN2nは、フラッシュメモリ16内のNMOSトランジスタの基板PSUBを端子p、q、rのいずれかと接続される。端子pは、VBBGEN(n)24の出力と接続する。端子qは、ノードvncapnと接続する。端子rは、グランドGNDと接続する。
VBBGEN(n)24は、複数の機能ブロック16、12、14、18に共通に設けられ、バイアス電圧(−VBB)を出力する。
複数のバイアス制御回路NX〜NXnの各々は、対応する回路ブロックに対して、第2〜第4の実施形態で説明したような制御を行なう。当該制御には、少なくとも以下の処理が含まれる。
すなわち、複数のバイアス制御回路NX〜NXnの各々は、対応する回路ブロックが選択されたときに、対応する回路ブロックが動作モードの期間において、VBBGEN(n)24から供給される電荷を蓄積する。複数のバイアス制御回路NX〜NXnの各々は、対応する回路ブロックが動作モードから待機モードへ遷移するときに、蓄積した電荷を対応する回路ブロックに含まれるMOSFETの基板に供給し、その後、VBBGEN(n)24の出力を基板に供給させる。複数の回路ブロックNX1〜NX4の各々は、優先度を有し、優先度に基づいて選択される。
ここで、チップ内に複数の電源ドメインを持ち、電源ドメイン毎に電源のオン/オフおよび電源電圧を別箇に設定できる場合は、電源ドメイン毎に別のキャパシタとすることが望ましい。
図13において、時刻t0〜t1の期間に、VBBGEN(n)24およびVBBGEN(p)26によって、キャパシタNCAP、PCAPを充電しているが、VBBGEN(n)24およびVFFGEN(p)26の駆動能力の制限で充電に時間がかかる。図13において、キャパシタNCAP、PCAPが完全に充電出来ていないt1以前のタイミングにおいて、キャパシタNCAPと基板PSUBとを接続し、キャパシタPCAPと基板NSUBを接続しても、基板PSUB、NSUBの電圧の変化量が小さく、上述した実施の形態の効果を十分に発揮することはできない。
そこで、本実施の形態では、ブロック毎に個別のキャパシタCAPを用いることによって、動作モード時において、ブロックに優先度を付けて、優先度の高いブロックから順番にキャパシタの充電を行なう。これにより、優先度の高いブロックのみを高速に充電できる。基板の電荷をキャパシタに回生するときには、優先度に関係なく、同時に行われる。
チップ上の機能ブロックには、待機状態でのリーク電流が問題となるものと、問題とならないものがある。待機状態でのリーク電流が問題とならないブロックには、元々ブロック全体でのリーク電流が小さいもの、およびリーク電流は大きいが、ブロック全体の電源供給を遮断することが可能なため、待機状態にする必要がないものとがある。
図17の機能ブロックは、以下のような特性がある。
SRAM14は、データを保存するため遮断することができず、リーク電流が大きい。フラッシュメモリ16は、電源遮断が可能である。CPUコア12は、SRAMを少し含むが、大部分は電源遮断が可能である。タイマ18は、リーク電流が小さい。
以上より、SRAM14のリーク電流低減が最優先される。したがって、SRAM14に接続されるキャパシタNCAP11を優先的に充電すればよい。
図18は、全ブロック共通のキャパシタを充電するときのノードvcapnの電圧の時間変化を表わす図である。
すなわち、図18には、全ての機能ブロックと接続される1つのバイアス制御回路に含まれるキャパシタNCAPを充電するときの、キャパシタNCAPの一端と接続されるノードvncapの電圧の変化が表されている。
図19は、機能ブロックごとに順次、キャパシタを充電するときのノードvncapの電圧の時間変化を表わす図である。
すなわち、図19には、優先度の高い機能ブロックから順番に選択して、選択した機能ブロックと接続されるバイアス制御回路に含まれるキャパシタNCAPを充電するときの、キャパシタNCAPの一端と接続されるノードvncapの電圧の変化が表されている。
一般に、SRAMの基板の容量は、チップ全体の1/10以下なので、本実施の形態の方式でのSRAMに接続されるキャパシタの充電に要する時間は、全ブロックに共通に接続されるキャパシタの充電に要する時間の1/10以下にできる。
図20は、チップ内で、機能ブロック毎に異なるバイアス電圧を印加するための基板の断面構造の例を表わす図である。
支持基板はP型とし、その中に、機能ブロック毎に分離されている複数のDeep n Wellが配置される。
図20の左側ブロックでは、Deep n Wellには、(VDD+VBB)の電圧が印加される。NMOSトランジスタとPMOSトランジスタへのバックバイアス電圧は、それぞれ(−VBB)、(VDD+VBB)である。
図20の右側ブロックでは、Deep n Wellには、VDDの電圧が印加される。NMOSトランジスタとPMOSトランジスタへのバックバイアス電圧は、それぞれ、0V、VDDである。
このように、Deep n Wellを用いることで、同一支持基板上に異なるバックバイアス電圧の領域を設定することができる。
[第6の実施形態]
図21は、第6の実施形態のバイアス制御回路を表わす図である。
本実施の形態では、チップ内部の機能ブロッ毎に別箇のキャパシタCAPを配置すると共に、ブロック毎の基板を短絡する共通基板配線CSUB、および各基板PSUBiと共通基板配線CSUBとの間のスイッチSW4i(i=1〜n)を備える。チップ内部には種々の機能ブロックがあるが、全く使用されない機能ブロックが発生する場合がある。この場合、使用しない機能ブロックは電源が遮断されて消費電力には関与しないが、基板の容量は残る。そこで、使用しない機能ブロックの基板容量をキャパシタCAPとして使用する。
図21に示すように、スイッチSW4iによって、使用しない機能ブロックの基板PSUBiを共通基板配線CSUBに接続する。そして、この使用しない機能ブロックをバックバイアス電圧の制御の優先度の高い機能ブロックに対してキャパシタとして使用する。
このように、使用しない機能ブロックの基板容量をキャパシタとして使用すれば、バックバイアス電圧専用のキャパシタがない場合でも、キャパシタを利用した高速なバックバイアス電圧の制御が可能となる。また、これにより、バックバイアス電圧専用のキャパシタ分のチップ面積を節約することができる。
バイアス制御回路NLkは、対応する回路ブロックに含まれるMOSFETの基板と、VBBGEN(n)24とを接続するか、グランドGNDと接続するか、または開放状態となるかを切り替えることができる。
スイッチSW4kは、対応する回路ブロックに含まれるMOSFETの基板との間の経路上のノードLkと、共通基板配線CSUBとを接続するか、または接続しないかを切替ることができる。
使用しない回路ブロックのバイアス制御回路(NXiとする)は、使用する回路ブロックの動作モードにおいて、スイッチSWN3iによって、VBBGEN(n)の出力を使用しない回路ブロックのMOSFETの基板であるPSUBiに供給する。
使用する回路ブロックのバイアス制御回路(NXjとする)は、使用する回路ブロックが動作モードから待機モードへ遷移するときに、スイッチSWN4i、SWN4j、共通基板配線CSUBによって、PSUBiに蓄積された電荷を使用する回路ブロックに含まれるMOSFETの基板である第2の基板に供給する。
図22は、図21の回路の動作を説明するタイミング図である。VBBGEN(n)26の出力電圧は常に(−VBB)とし、基板PSUB1と基板PSUBnの容量が等しいものとする。SRAM14を使用回路ブロックと、タイマ18を使用しない回路ブロックとする。つまり、i=1、かつj=nする。
時刻t0の初期状態において、基板PSUB1の電圧vpsub1と、基板PSUBnの電圧vpsubnは、共にグランド電圧の0Vとする。
CPUコア12は、スイッチSWN31をc1側、スイッチSWN41をy1側、スイッチSWN3nをbn側、スイッチSWN4nをyn側とすることによって、VBBGEN(n)24と基板PSUBnは接続し、基板PSUB1は、グランドGNDと接続される。この期間は、SRAM14は、動作状態であり、基板PSUB1は0Vのままである。タイマ18は、充電モード状態であり、基板PSUBnは、徐々に(−VBB)に向かって充電される。この充電に要する時間は、VBBGEN(n)24の最大出力電流で律速される。
時刻t1において、基板PUBnの電圧が(−VBB)となると、VBBGEN(n)24は、自動的に停止して、充電が終了する。
時刻t2において、半導体装置は、SRAM14を動作状態から待機状態に遷移するように指示を受ける。この時、CPUコア12は、スイッチSWN31をa1側、スイッチSWN41をx1側、スイッチSWN3nをan側、スイッチSWN4nはxn側とする。これによって、VBBGEN(n)24と基板PSUBnとが切り離され、基板PSUB1と基板PSUBnとが、共通基板配線CSUBを介して接続される。これによって、基板PSUBnに蓄積された負電荷によって、基板PSUB1は急速に充電され、基板PSUB1の電圧vpsub1と、基板PSUBnの電圧vpsubnは、同電圧の(−1/2)*VBBとなる。この動作に要する時間は、スイッチSWN41と、スイッチSWN4nのオン抵抗と、基板PSUB1と基板PSUBnの容量で決まるが、オン抵抗を十分小さくすることによって、VBBGEN(n)24によって、基板PSUB1を充電する場合よりも高速に充電できる。
時刻t3において、CPUコア12は、さらに、スイッチSWN31をb1側、スイッチSWN41をy1側、スイッチSWN3nをan側、スイッチSWN4nをyn側とする。これによって、VBBGEN(N)24と基板PSUB1とが接続され、基板PSUB1を(−VBB)まで徐々に充電する。
時刻t4において、基板PSUB1の電圧が(−VBB)となると、VBBGEN(n)24は、自動的に停止して、充電が終了する。
時刻t5において、半導体装置は、SRAM14を待機状態から動作状態に遷移するように指示を受ける。CPUコア12は、スイッチSWN31をa1側、スイッチSWN41はx1側、スイッチSWN3nをan側、スイッチSWN4nをxn側とする。これによって、基板PSUB1と基板PSUBnとが再び接続される。これによって、基板PSUB1の負電荷が基板PSUBnに急速に回生され、基板PSUB1の電圧vpsub1と基板PSUBnの電圧vpsubnは同電圧の(−3/4)*VBBとなる。この回生動作の時間は、スイッチSWN41とスイッチSWN4nのオン抵抗と基板PSUB1と基板PSUBnの容量で決まるので、時刻t2の動作と同様に高速である。
時刻t6において、CPUコア12は、スイッチSWN31をc1側、スイッチSWN41をy1側、スイッチSWN3nをbn側、スイッチSWN4nをyn側とする。これによって、基板PSUB1は急速に0Vまで放電される。この放電の動作も、スイッチSWN41とスイッチSWN4nのオン抵抗と基板PSUB1の容量で決まるので高速である。基板PSUBnはVBBGEN(N)24とが接続され、再び(−VBB)まで徐々に充電される。
時刻t7において、基板PSUB1が0Vまで放電されると、回路ブロックは動作状態となる。
時刻t8において、 基板PSUBnが(−VBB)となると、VBBGEN(N)24は自動的に停止し充電が終了する。
時刻t8の状態は、時刻t1の状態と同じとなる。以降はt1〜t8の状態を1サイククルとして、処理が繰り返される。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。