(57)【要約】 【課題】内部電源電圧の急激な変化に追従し、安定した内部電源電圧を供給することができる電源部を備えた半導体装置を提供する。【解決手段】半導体装置は、集積回路からなるコア回路と、内部電源からの電圧および外部電源からの電圧を受け、コア回路から転送されるデジタルデータを出力するドライバと、コア回路からのデータを一時的に保持し、前記ドライバに該デジタルデータを転送するフェッチ部とを含む周辺回路と、ドライバに電源線を介して内部電圧を供給する第１の電源部と、外部電源と電源線との間に直列に接続された電流駆動素子およびスイッチング素子をそれぞれ含む複数の電流駆動列を備え、複数の電流駆動列を駆動することによって第１の電源部とは別に電源線に電流を供給する第２の電源部と、デジタルデータの連続するビット間で論理が遷移するときに複数の電流駆動列の少なくとも１つを駆動させるように第２の電源部を制御する電源制御部とを備える。【選択図】図１
2011129195.tif 000002
【特許請求の範囲】
【請求項１】
集積回路からなるコア回路と、
内部電源からの電圧および外部電源からの電圧を受け、前記コア回路から転送されるデジタルデータを出力するドライバと、前記コア回路からのデータを一時的に保持し、前記ドライバに該デジタルデータを転送するフェッチ部とを含む周辺回路と、
前記ドライバに電源線を介して前記内部電圧を供給する第１の電源部と、
前記外部電源と前記電源線との間に直列に接続された電流駆動素子およびスイッチング素子をそれぞれ含む複数の電流駆動列を備え、前記複数の電流駆動列を駆動することによって前記第１の電源部とは別に前記電源線に電流を供給する第２の電源部と、
前記デジタルデータの連続するビット間で論理が遷移するときに前記複数の電流駆動列の少なくとも１つを駆動させるように前記第２の電源部を制御する電源制御部とを備えた半導体装置。
【請求項２】
前記電源制御部は、前記デジタルデータのうち前記フェッチ部に保持された前記デジタルデータの連続するビット間で、あるいは、前記フェッチ部に保持されるべき前記デジタルデータの連続するビット間で異なるときに、前記複数の電流駆動列の少なくとも１つを駆動させることを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記電源制御部は、前記フェッチ部へ同じタイミングで取り込まれる前記デジタルデータの連続するビット間の遷移を検出し、該連続するビット間の論理が遷移しているときに前記複数の電流駆動列の少なくとも１つを駆動させることを特徴とする請求項１または請求項２に記載の半導体装置。
【請求項４】
前記デジタルデータの連続する３ビットにおいて論理が１回遷移しているときに、前記第２の電源部は第１の電流を前記電源線へ供給し、
前記デジタルデータの連続する３ビットにおいて論理が２回遷移しているときに、前記第２の電源部は前記第１の電流よりも大きな第２の電流を前記電源線へ供給することを特徴とする請求項１または請求項２に記載の半導体装置。
【請求項５】
前記デジタルデータのうち前記フェッチ部へ取り込まれるタイミングが異なるビットを含む連続する複数のビットにおいて、論理の遷移回数に応じて、前記第２の電源部は前記複数の電流駆動列の駆動数を変更させて前記電源線へ電流を供給することを特徴とする請求項１または請求項２に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関する。
【背景技術】
【０００２】
半導体メモリ等の半導体装置は、デジタルデータをチップの外部へ出力するＯＣＤ（Off Chip Driver）を備えている。例えば、ＯＣＤは、内部電源電圧ＶＩＮＴおよび外部電源電圧ＶＤＤＱを受け、メモリセルから読み出したデータを増幅して外部へ出力する。
【０００３】
内部電源電圧ＶＩＮＴは、ＯＣＤに加えて、半導体装置の内部のコア回路（例えば、メモリセルアレイ）およびコア回路の周辺回路を駆動するために用いられる。内部電源電圧ＶＩＮＴは、例えばフィードバック電源回路によって供給される。フィードバック電源回路は、内部電源電圧ＶＩＮＴをモニタし、内部電源電圧ＶＩＮＴの変動に応じて、ＯＣＤ等の内部回路への電流供給量を変化させる。半導体装置の内部回路の消費電流が増加し、それにより内部電源電圧ＶＩＮＴが設定値よりも低下すると、フィードバック電源回路は内部回路への電流供給量を増加させる。内部電源電圧ＶＩＮＴが設定値よりも上昇すると、フィードバック電源回路は内部回路への電流供給量を減少させる。このように、フィードバック電源回路は、内部電源電圧ＶＩＮＴを安定化させる。
【０００４】
しかしながら、フィードバック電源回路は、内部電源電圧ＶＩＮＴの変化に対する応答速度には限界がある。急激に消費電流が増加すると、内部電源電圧ＶＩＮＴが急激に低下する。このとき、フィードバック電源回路による電流供給が間に合わず、内部電源電圧ＶＩＮＴが設定値を下回ると、半導体装置の不良動作が起こる可能性がある。例えば、高速にデータを出力する場合、出力データの遷移頻度が多いと、ＯＣＤにおける消費電流が急激に増加する。このとき、フィードバック電源回路はＯＣＤにおける消費電流を充分に補うことができない場合がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−２９５０８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
データ出力動作に伴う内部電源電圧の急激な変化に追従し、安定した内部電源電圧を供給することができる電源部を備えた半導体装置を提供する。
【課題を解決するための手段】
【０００７】
本発明に係る実施形態に従った半導体装置は、集積回路からなるコア回路と、内部電源からの電圧および外部電源からの電圧を受け、前記コア回路から転送されるデジタルデータを出力するドライバと、前記コア回路からのデータを一時的に保持し、前記ドライバに該デジタルデータを転送するフェッチ部とを含む周辺回路と、前記ドライバに電源線を介して前記内部電圧を供給する第１の電源部と、前記外部電源と前記電源線との間に直列に接続された電流駆動素子およびスイッチング素子をそれぞれ含む複数の電流駆動列を備え、前記複数の電流駆動列を駆動することによって前記第１の電源部とは別に前記電源線に電流を供給する第２の電源部と、前記デジタルデータの連続するビット間で論理が遷移するときに前記複数の電流駆動列の少なくとも１つを駆動させるように前記第２の電源部を制御する電源制御部とを備えている。
【発明の効果】
【０００８】
本発明による半導体装置は、データ出力動作に伴う内部電源電圧の急激な変化に追従し、安定した内部電源電圧を供給することができる電源部を備える。
【図面の簡単な説明】
【０００９】
【図１】本発明に係る第1の実施形態に従った半導体装置の構成を示すブロック図。
【図２】プリフェッチ回路ＰＦＣおよびオフチップドライバＯＣＤの構成を示す図。
【図３】キッカー電源回路ＫＰＳの構成を示す回路図。
【図４】第１の実施形態によるキッカー制御回路ＫＣＣの構成を示す回路図。
【図５】第１の実施形態による半導体装置のデータ出力動作を示すタイミング図。
【図６】キッカー制御回路ＫＣＣの動作を示すタイミング図。
【図７】本発明に係る第２の実施形態に従ったキッカー制御回路ＫＣＣの構成を示す回路図。
【図８】第２の実施形態による半導体装置の動作を示すタイミング図。
【図９】本発明に係る第３の実施形態に従ったキッカー制御回路ＫＣＣの構成を示す回路図。
【図１０】第３の実施形態による半導体装置の動作を示すタイミング図。
【図１１】本発明に係る第４の実施形態に従ったキッカー制御回路ＫＣＣの構成を示す回路図。
【図１２】第４の実施形態による半導体装置の動作を示すタイミング図。
【図１３】第４の実施形態による半導体装置の動作を示すタイミング図。
【図１４】本発明に係る第５の実施形態に従ったキッカー制御回路ＫＣＣの構成を示す回路図。
【図１５】ハイインピーダンス状態におけるオフチップドライバＯＣＤの様子を示す図。
【図１６】第５の実施形態による半導体装置の動作を示すタイミング図。
【図１７】本発明に係る第６の実施形態に従ったキッカー制御回路ＫＣＣの構成を示す回路図。
【図１８】第６の実施形態による半導体装置の動作を示すタイミング図。
【図１９】本発明に係る第７の実施形態に従ったキッカー制御回路ＫＣＣおよびキッカー電源回路ＫＰＳの構成を示すブロック図。
【図２０】キッカー制御回路の後段部分ＫＣＣｂ＿０１〜ＫＣＣｂ＿６７の構成を示す回路図。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。
【００１１】
（第１の実施形態）
図１は、本発明に係る第1の実施形態に従った半導体装置の構成を示すブロック図である。本実施形態による半導体装置は、コア回路ＣＣと、周辺回路ＰＣと、第１の電源部としてのフィードバック電源回路ＦＰＳと、第２の電源部としてのキッカー電源回路ＫＰＳと、電源制御部としてのキッカー制御回路ＫＣＣとを備えている。コア回路ＣＣは、内部電源電圧ＶＩＮＴの供給を受けて動作する集積回路装置である。コア回路ＣＣは、特に限定はしないが、例えば、メモリセルおよびそれを駆動する回路を含む。尚、図１の実線は電源電圧の流れを示し、破線はデータの流れを示す。
【００１２】
周辺回路ＰＣは、外部から命令を受けてコア回路ＣＣを制御し、あるいは、外部から入力されたデータをコア回路ＣＣへ格納するように構成されている。さらに、周辺回路ＰＣは、コア回路ＣＣからのデータを外部へ出力するように構成されている。周辺回路ＰＣは、内部電源電圧ＶＩＮＴを受けて動作する。
【００１３】
図２は、プリフェッチ回路ＰＦＣおよびオフチップドライバＯＣＤの構成を示す図である。周辺回路ＰＣは、プリフェッチ回路ＰＦＣおよびオフチップドライバＯＣＤを備えている。プリフェッチ回路ＰＦＣは、コア回路ＣＣまたは周辺回路ＰＣからのデータを入力部ＰＦｉｎ０およびＰＦｉｎ１で受け取る。プリフェッチ回路ＰＦＣは、データを一時的に保持するプリフェッチ部ＰＦ０〜ＰＦ３を備えている。プリフェッチ部ＰＦ０〜ＰＦ３は、直列に接続された入力側のクロックトインバータＩＮＩ、中間インバータＩＮｍ  および、出力側のクロックトインバータＩＮＯをそれぞれ含む。プリフェッチ部ＰＦ０、ＰＦ１およびＰＦ２、ＰＦ３は、クロック信号ＰＩ０およびＰＩ１に従って、それぞれクロックトインバータＩＮＩとクロックトインバータＩＮＯとの間のノードＡ０〜Ａ３にデータを一旦取り込み保持することができる。プリフェッチ回路ＰＦＣは、プリフェッチ部ＰＦ０〜ＰＦ３の出力部のそれぞれに接続されたクロックトインバータＩＮＰをさらに備えている。クロック信号Ｐ０〜Ｐ３に従って、ノードＡ０〜Ａ３のデータをクロックトインバータＩＮＯとクロックトインバータＩＮＰとの間のノードＢ０〜Ｂ３にもデータを一旦取り込み保持することができる。
【００１４】
クロックトインバータＩＮＰの共通の出力部ＰＦｏｕｔは、オフチップドライバＯＣＤに接続されている。これにより、プリフェッチ回路ＰＦＣは、オフチップドライバＯＣＤにデータを転送する。プリフェッチ回路ＰＦＣから出力されるデータは、Ａ０、Ａ１、Ａ２、Ａ３、Ａ０、Ａ１、Ａ２、Ａ３・・・と連続するデジタルデータである。ここで、ノードＡｉ（ｉは整数）のデータを単に“Ａｉ”と示している。以下、同様に、ノードＡｉのデータを“Ａｉ”と示す場合がある。
【００１５】
ノードＡ０〜Ａ３は、キッカー制御回路ＫＣＣにも接続されている。これにより、プリフェッチ回路ＰＦＣは、キッカー制御回路ＫＣＣにもデータＡ０〜Ａ３を出力する。
【００１６】
プリフェッチ回路ＰＦＣは、入力部ＰＦｉｎ０およびＰＦｉｎ１に入力されたデータを倍速で出力する。即ち、プリフェッチ回路ＰＦＣは、ＤＤＲ（Double Data Rate）でデータを転送する。
【００１７】
オフチップドライバＯＣＤは、プリフェッチ回路ＰＦＣの出力部ＰＦｏｕｔからのデータを入力し、内部電源電圧ＶＩＮＴを用いてこのデータを制御・転送する第１のドライバＯＣＤ＿ＶＩＮＴと、データの信号電圧レベルを内部電源電圧ＶＩＮＴ−ＶＳＳから外部電源電圧ＶＤＤＱ−ＶＳＳＱ（ＶＤＤＱ＞ＶＩＮＴ、一般的にＶＳＳＱ＝ＶＳＳ）に増幅させるレベルシフタＬ／Ｓと、外部電源電圧ＶＤＤＱ、ＶＳＳＱを用いて最終的にデータを出力する第２のドライバＯＣＤ＿ＶＤＤＱとを含む。第２のドライバＯＣＤ＿ＶＤＤＱは、増幅されたデータを出力する。オフチップドライバＯＣＤから出力されたデータは、Ｉ／Ｏパッド（図示せず）を介して外部を出力される。
【００１８】
図１を再度参照すると、内部電源電圧ＶＩＮＴは、フィードバック電源回路ＦＰＳおよびキッカー電源回路ＦＰＳによってコア回路ＣＣおよび周辺回路ＰＣへ供給される。主に、フィードバック電源回路ＦＰＳが、内部電源電圧ＶＩＮＴを供給する。フィードバック電源回路ＦＰＳは、内部電源電圧ＶＩＮＴをフィードバックして内部電源電圧ＶＩＮＴの変化に追従するように構成されている。
【００１９】
データの遷移頻度が多いと、第１のドライバＯＣＤ＿ＶＩＮＴにおける消費電流が大きくなる。データの遷移とは、デジタルデータの連続する複数のビット間の論理が“０”から“１”へあるいは“１”から“０”へと遷移することである。従って、出力データが“００００・・・”あるいは“１１１１・・・”と同じデジタル値が連続する場合には、オフチップドライバＯＣＤの消費電流は小さいが、出力データが“０１０１０１・・・”と遷移頻度が多い場合には、オフチップドライバＯＣＤの消費電流は大きい。
【００２０】
さらに、ＤＤＲのように高速にデータを出力する場合、第１のドライバＯＣＤ＿ＶＩＮＴにおける消費電流がさらに大きくなる。このような場合、フィードバック電源回路ＦＰＳは、内部電源電圧ＶＩＮＴの急激な変化に追従することができず、内部電源電圧ＶＩＮＴが低下することがある。
【００２１】
そこで、本実施形態では、内部電源電圧ＶＩＮＴの変化に対処するために、フィードバック電源回路ＦＰＳに加えてキッカー電源回路ＫＰＳが、出力データに基づいて、ノードＮｉｎｔを介してコア回路ＣＣおよび周辺回路ＰＣへ電流を供給する。
【００２２】
図３は、キッカー電源回路ＫＰＳの構成を示す回路図である。キッカー電源回路ＫＰＳは、トランジスタＴｒ０に流れる電流ＩａをＫ倍にして供給するように構成されている。より詳細には、キッカー電源回路ＫＰＳは、電流駆動素子としてのトランジスタＴｒ０〜Ｔｒ２ｎと、スイッチング素子ＳＷ０〜ＳＷｎとを備えている。スイッチング素子ＳＷ０〜ＳＷｎは、それぞれトランジスタＴｒ１〜Ｔｒ２ｎに対応している。スイッチング素子ＳＷｉ（０≦ｉ≦ｎ）とトランジスタＴｒ２ｉとは、外部電圧源ＶＤＤとオフチップドライバＯＣＤ（ノードＮｉｎｔ）との間に直列に接続されており、電流駆動列ＣＤＳを構成している。複数の電流駆動列ＣＤＳが外部電圧源ＶＤＤとノードＮｉｎｔとの間に並列に接続されている。よって、トランジスタＴｒ１〜Ｔｒ２ｎは、それぞれスイッチング素子ＳＷ０〜ＳＷｎを介してノードＮｉｎｔに接続されている。トランジスタＴｒ１〜Ｔｒ２ｎの各他端は、外部電源ＶＤＤに接続されている。トランジスタＴｒ１〜Ｔｒ２ｎのゲートは、トランジスタＴｒ０のゲートに共通に接続されている。
【００２３】
トランジスタＴｒ２ｎの電流駆動能力は、トランジスタＴｒ０のそれの２ｎ倍である。トランジスタＴｒ２ｎの電流駆動能力は、サイズを変更することによって調節すればよい。例えば、チャネル長を一定とした場合、トランジスタＴｒ２ｎの電流駆動能力は、チャネル幅を変更することによって設定され得る。
【００２４】
トランジスタＴｒ０は、外部電源ＶＤＤと定電流源ＣＣＳと間に接続され、定電流源ＣＣＳを介して接地電位ＶＳＳに接続されている。トランジスタＴｒ０のゲートはソースと共に定電流源ＣＣＳに接続されている。定電流源ＣＣＳは、設定された内部電源電圧ＶＩＮＴに比例した電流Ｉａを流し、トランジスタＴｒ０のゲートの電圧も決まる。このため、Ｔｒ０と共通に接続されたゲートを持つＴｒ１〜Ｔｒ２ｎの電流駆動能力も単位ゲート幅当たりで理想的には等しくなり、Ｉａに比例する。
【００２５】
このような構成により、キッカー電源回路ＫＰＳは、スイッチング素子ＳＷ０〜ＳＷｎの制御によって供給電流Ｉｂ（Ｉｂ＝Ｋ×Ｉａ）を決定し、供給電流ＩｂをノードＮｉｎｔへ供給する。例えば、Ｔｒ０とＴｒ１の電流駆動能力比をＬとするとスイッチング素子ＳＷ２のみがオンしている場合、キッカー電源回路ＫＰＳは、４Ｌ×Ｉａ（Ｋ＝４Ｌ）の電流Ｉｂを供給電流ＩｂとしてノードＮｉｎｔへ供給する。即ち、キッカー電源回路ＫＰＳは、元の電流Ｉａをミラーリングすることによって、電流Ｉａに比例した電流ＩｂをノードＮｉｎｔへ供給する。
【００２６】
図４は、第１の実施形態によるキッカー制御回路ＫＣＣの構成を示す回路図である。キッカー制御回路ＫＣＣは、プリフェッチ回路ＰＦＣとキッカー電源回路ＫＰＳとの間に接続され、プリフェッチ回路ＰＦＣのノードＡ０〜Ａ３に保持されたデータに基づいてキッカー電源回路ＫＰＳ内のスイッチング素子ＳＷ０〜ＳＷｎの導通状態を制御する。これにより、キッカー制御回路ＫＣＣは、複数の電流駆動列ＣＤＳのそれぞれの駆動状態（起動／停止）を制御することができる。
【００２７】
キッカー制御回路ＫＣＣは、ＥＸＯＲゲートＧ０、Ｇ１と、入力側クロックトインバータＩＮａと、インバータＩＮ１０、ＩＮ１１と、出力側クロックトインバータＩＮｂと、ＮＡＮＤゲートＧ１０〜Ｇ１ｎと、ＲＯＭとを備えている。ゲートＧ１は、図２に示すプリフェッチ回路ＰＦＣからノードＡ０およびＡ１に保持されたデータを受け取り、これらの排他的論理和をＥＸＯＲ０１として出力する。ゲートＧ１は、ノードＡ２およびＡ３に保持されたデータを受け取り、これらの排他的論理和をＥＮＸＯＲ２３として出力する。
【００２８】
クロックトインバータＩＮａ、インバータＩＮ１０（またはＩＮ１１）およびクロックトインバータＩＮｂは、直列に接続されており、ゲートＧ０、Ｇ１の各出力とインバータＩＮｃｎｔとの間に接続されている。ゲートＧ０、Ｇ１に接続された各クロックトインバータＩＮａは、データＥＸＯＲ０１およびＥＸＯＲ２３をそれぞれ別々のタイミングで、ノードＣ０およびＣ１に転送する。ノードＣ０およびＣ１は、データＥＸＯＲ０１およびＥＸＯＲ２３をそれぞれ保持する。ノードＣ０およびＣ１に接続された各クロックトインバータＩＮｂは、ノードＣ０およびＣ１に一旦取り込まれたデータをそれぞれ別々のタイミングで、インバータＩＮｃｎｔに転送する。インバータＩＮｃｎｔは、クロックトインバータＩＮｂから転送されたデータを反転して制御信号ＫＣＮＴＬとしてゲートＧ１０〜１ｎへ出力する。すなわち、ノードＣ０およびＣ１に取り込まれた時点のデータＥＸＯＲ０１およびＥＸＯＲ２３と同じ論理のデータが制御信号ＫＣＮＴＬとして転送される。
【００２９】
第１の実施形態のキッカー制御回路ＫＣＣは、ノードＡ０およびＡ１のデータが異なる場合、および、ノードＡ２およびＡ３のデータが異なる場合に、制御信号ＫＣＮＴＬを論理ハイに活性化させる。例えば、ノードＡ０およびＡ１がそれぞれ“０”および“１” あるいは“０”および“１”を保持する場合、キッカー制御回路ＫＣＣは、ゲートＧ０の出力信号ＥＸＯＲ０１を論理ハイに活性化させる。ノードＡ２およびＡ３がそれぞれ“０”および“１” あるいは“０”および“１”を保持する場合、キッカー制御回路ＫＣＣは、ゲートＧ１の出力信号ＥＸＯＲ２３を論理ハイに活性化させる。
【００３０】
出力信号ＥＸＯＲ０１は、キッカークロック信号ＫＩ０が活性化されるタイミングでノードＣ０に保持される。出力信号ＥＸＯＲ２３は、キッカークロック信号ＫＩ１が活性化されるタイミングでノードＣ１に保持される。
【００３１】
キッカークロック信号ＫＩ０で取り込まれたデータＥＸＯＲ０１は、キッカークロック信号ＫＯ０が活性化されるタイミングで制御信号ＫＣＮＴＬとしてゲートＧ１０〜Ｇ１ｎへ出力される。キッカークロック信号ＫＩ１で取り込まれたデータＥＸＯＲ２３は、キッカークロック信号ＫＯ１が活性化されるタイミングで制御信号ＫＣＮＴＬとしてゲートＧ１０〜Ｇ１ｎへ出力される。
【００３２】
ゲートＧ１０〜Ｇ１ｎは、制御信号ＫＣＮＴＬと、スイッチイネーブル信号ＳＷ０＿ＥＮ〜ＳＷｎ＿ＥＮとをそれぞれ受け取り、これらのＮＡＮＤ結果をスイッチ制御信号ＳＷ０＿ＣＮＴ〜ＳＷｎ＿ＣＮＴとして出力する。スイッチ制御信号ＳＷ０＿ＣＮＴ〜ＳＷｎ＿ＣＮＴは、図３に示すスイッチング素子ＳＷ０〜ＳＷｎのゲートにそれぞれ入力され、スイッチング素子ＳＷ０〜ＳＷｎをオン／オフ制御する。
【００３３】
制御信号ＫＣＮＴＬが論理ハイに活性化されている場合、ゲートＧ１０〜Ｇ１ｎは、スイッチイネーブル信号ＳＷ０＿ＥＮ〜ＳＷｎ＿ＥＮに基づいてスイッチ制御信号ＳＷ０＿ＣＮＴ〜ＳＷｎ＿ＣＮＴの少なくとも１つを論理ロウに活性化させる。例えば、スイッチイネーブル信号ＳＷ２＿ＥＮのみが論理ハイに活性化されており、その他のスイッチイネーブル信号ＳＷ０＿ＥＮ、ＳＷ１＿ＥＮ、ＳＷ３＿ＥＮ・・・ＳＷｎ＿ＥＮが論理ロウに不活性化されているとする。この場合、ゲートＧ１２のみが制御信号ＫＣＮＴＬが論理ハイとなる期間にスイッチ制御信号ＳＷ２＿ＣＮＴを論理ロウに活性化し、その他のゲートＧ１０、Ｇ１１、Ｇ１３・・・Ｇ１ｎは、論理ハイに不活性化されている。その結果、図３に示すスイッチング素子ＳＷ２のみが導通し、トランジスタＴｒ４が電源ＶＤＤからノードＮｉｎｔへ電流を供給する。この場合、Ｋ＝４Ｌであり、Ｉｂは、４Ｌ×Ｉａになる。尚、キッカー制御回路ＫＣＣは、スイッチング素子ＳＷ０〜ＳＷｎのうち複数のスイッチング素子を導通させてもよい。
【００３４】
スイッチイネーブル信号ＳＷ０＿ＥＮ〜ＳＷｎ＿ＥＮのデータは、予めＲＯＭ（Read Only Memory）に格納されている。スイッチイネーブル信号ＳＷｉ＿ＥＮ（ｉ：０〜ｎ）は、製品によって必要とされるキッカー電源回路ＫＰＳの電流駆動能力によって予め設定されたデジタル値である。例えば、スイッチイネーブル信号ＳＷ０＿ＥＮは、本実施形態による半導体装置の設計段階で設定されもよく、あるいは、半導体装置の製造後に測定された内部電源電圧ＶＩＮＴよって設定されてもよい。上記の例のように、スイッチング素子ＳＷ２のみを導通させる場合、スイッチイネーブル信号ＳＷ０＿ＥＮ〜ＳＷｎ＿ＥＮは、“００１００・・・０”となる。また、上述したＲＯＭに格納されているデータを入力として、何らかの動作制御信号と論理をとりスイッチイネーブル信号ＳＷｉとしても良い。
【００３５】
図５は、本実施形態による半導体装置の出力動作を示すタイミング図である。取込みクロック信号ＰＩ０、ＰＩ１は、図２のクロックトインバータＩＮＩに入力される信号であり、交互に活性化される。よって、図２のプリフェッチ回路ＰＦ０、ＰＦ１と、プリフェッチ回路ＰＦ２、ＰＦ３が交互にデータを取り込む。例えば、ｔ１〜ｔ２において、ＰＩ０が活性化されているので、プリフェッチ回路ＰＦ０が入力部ＰＦｉｎ０から論理ハイ（“１”）を受け取り、同時に、プリフェッチ回路ＰＦ１が入力部ＰＦｉｎ１から論理ロウ（“０”）を受け取る。これらのデータは、プリフェッチ回路ＰＦ０およびＰＦ１内のノードＡ０およびＡ１にそれぞれ保持される。この時点で出力クロック信号ＰＯ０〜ＰＯ３は、論理ロウに不活性状態であるので、図２に示すクロックトインバータＩＮＯは、データをノードＡ０〜Ａ３に保持した状態にあり、それらを出力しない。
【００３６】
ｔ３〜ｔ４において、取込みクロック信号ＰＩ１が活性化されているので、プリフェッチ回路ＰＦ２が入力部ＰＦｉｎ０から論理ハイ（“１”）を受け取り、プリフェッチ回路ＰＦ３が入力部ＰＦｉｎ１から論理ロウ（“０”）を受け取る。この例では、プリフェッチ回路ＰＦ２、ＰＦ３は、それぞれＰＦ０、ＰＦ１と同じデータを取り込んでいるが、プリフェッチ回路ＰＦ２、ＰＦ３は、ＰＦ０、ＰＦ１と異なるデータを取り込んでもよい。この場合、ＰＦｉｎ０、ＰＦｉｎ１のデータはｔ２で取り込みクロック信号ＰＩ０が不活性化された後からｔ４で取り込みクロック信号ＰＩ１が不活性化される前までに遷移する。これらのデータは、プリフェッチ回路ＰＦ２およびＰＦ３内のノードＡ２およびＡ３にそれぞれ保持される。この時点で、ノードＡ０〜Ａ３は、それぞれ“１０１０”を保持していることになる。ノードＡ０〜Ａ３に保持されたデータ“１０１０”は、キッカー制御回路ＫＣＣにも転送される。
【００３７】
ｔ２において取込みクロック信号ＰＩ０が不活性化された直後、ｔ１１、ｔ１２において出力クロック信号ＰＯ０、ＰＯ１が順次活性化される。これにより、ノードＡ０およびＡ１に格納されたデータが順次ノードＢ０およびＢ１に転送される。さらに、ｔ４において取込みクロック信号ＰＩ１が不活性化された直後、ｔ１３、ｔ１４において出力クロック信号ＰＯ２、ＰＯ３が順次活性化される。これにより、ノードＡ２およびＡ３に格納されたデータが順次ノードＢ２およびＢ３に転送される。ノードＢ２およびＢ３は、ノードＡ２およびＡ３のデータを反転した状態で保持するので、ノードＢ０〜Ｂ３は、“０１０１”を保持する。
【００３８】
ｔ２１〜ｔ２４において、倍速出力クロックＦＩＦＯＣＬＫ０〜ＦＩＦＯＣＬＫ３が順次活性化される。これにより、クロックトインバータＩＮＰがノードＢ０〜Ｂ３に格納されたデータ“０１０１”を順番に出力部ＰＦｏｕｔから反転出力する。よって、出力部ＰＦｏｕｔは、入力部ＰＦｉｎ０、ＰＦｉｎ１から並列で入力されたデータと同じ論理のデータ“１０１０”を出力する。倍速出力クロックＦＩＦＯＣＬＫ０〜ＦＩＦＯＣＬＫ３は、取込みクロックＰＩ０，ＰＩ１の２倍の動作周波数で立ち上がる。よって、プリフェッチ回路ＰＦＣは、取込みクロック信号ＰＩ０、ＰＩ１の２倍速（ダブルデータレート）で入力部ＰＦｉｎ０、ＰＦｉｎ１からのデータをオフチップドライバＯＣＤへ転送する。
【００３９】
ｔ５〜ｔ８の動作は、ｔ１〜ｔ４の動作の繰り返しである。ただし、入力部ＰＦｉｎ０、ＰＦｉｎ１から入力されるデータは、“１１００”である。これに従って、ｔ５〜ｔ８において、プリフェッチ部ＰＦ０〜ＰＦ３は、ノードＡ０〜Ａ３のそれぞれに“１１００”を保持する。ｔ１５〜ｔ１８において、プリフェッチ部ＰＦ０〜ＰＦ３は、ノードＢ０〜Ｂ３のそれぞれに“００１１”を保持する。ｔ２５〜ｔ２８において、プリフェッチ部ＰＦ０〜ＰＦ３は、出力部ＰＦｏｕｔからデータ“１１００”を出力する。
【００４０】
以上の動作を繰り返し実行することによって、プリフェッチ回路ＰＦＣはデータを内部のデータ転送速度の２倍速でオフチップドライバＯＣＤへ転送する。
【００４１】
尚、活性化とは素子または回路をオンまたは駆動させることを意味し、不活性化とは素子または回路をオフまたは停止させることを意味する。従って、ＨＩＧＨ（高電位レベル）の信号が活性化信号である場合もあり、ＬＯＷ（低電位レベル）の信号が活性化信号である場合もある。例えば、ＮＭＯＳトランジスタは、ゲートをＨＩＧＨにすることによって活性化する。一方、ＰＭＯＳトランジスタは、ゲートをＬＯＷにすることによって活性化する。
【００４２】
オフチップドライバＯＣＤは、プリフェッチ回路ＰＦＣからの出力データを受け取り、内部電源電圧ＶＩＮＴ等を用いてこの出力データを制御し、信号電圧レベルを増幅する。さらに、オフチップドライバＯＣＤは、増幅されたデータをチップの外部へ出力する。
【００４３】
図６は、キッカー制御回路ＫＣＣの動作を示すタイミング図である。取込みクロックＰＩ０、ＰＩ１、入力部ＰＦｉｎ０、ＰＦｉｎ１のデータ、ノードＡ０〜Ａ３のデータの各動作は、図５に示すそれらと同様である。
【００４４】
キッカー制御回路ＫＣＣは、ノードＡ０〜Ａ３に保持されたデータを受け取る。キッカー制御回路ＫＣＣは、ノードＡ０およびＡ１のデータの排他的論理和（ＥＸＯＲ０１）を入力側キッカークロックＫＩ０の活性化時（ｔ１１）にノードＣ０に転送し、ノードＡ２およびＡ３のデータの排他的論理和（ＥＸＯＲ２３）を入力側キッカークロックＫＩ１の活性化時（ｔ１３）にノードＣ１に転送する。ノードＡ０およびＡ１のデータが互いに異なる場合に、出力信号ＥＸＯＲ０１は、論理ハイに活性化される信号である。また、ノードＡ２およびＡ３のデータが互いに異なる場合に、出力信号ＥＸＯＲ２３は、論理ハイに活性化される信号である。入力側キッカークロックＫＩ０、ＫＩ１は、それぞれ取込みクロックＰＩ０、ＰＩ１の不活性化直後に活性化される信号である。
【００４５】
ｔ１３の時点で、ノードＣ０およびＣ１のデータは、論理ハイに活性化されている。
【００４６】
入力側キッカークロックＫＩ０の不活性化後、出力側キッカークロック信号ＫＯ０が活性化され（ｔ２２）、ノードＣ０のデータがキッカー制御信号ＫＣＮＴＬとしてゲートＧ１０〜Ｇ１ｎに出力される。このとき、ノードＣ０は論理ハイであるので、キッカー制御信号ＫＣＮＴＬは論理ハイに活性化される。従って、ゲートＧ１０〜Ｇ１ｎは、スイッチイネーブル信号ＳＷ０＿ＥＮ〜ＳＷｎ＿ＥＮに応じたスイッチ制御信号ＳＷ０＿ＣＮＴ〜ＳＷｎ＿ＣＮＴを出力する。例えば、スイッチイネーブル信号ＳＷ２＿ＥＮのみが論理ハイ（活性）に設定され、その他のイネーブル信号ＳＷｉ＿ＥＮ（ｉ≠２）が論理ロウ（不活性）に設定されている場合には、キッカー制御回路ＫＣＣは、ｔ２２において、スイッチ制御信号ＳＷ２＿ＣＮＴのみを論理ロウに活性化させる。ＳＷ２＿ＣＮＴ以外のスイッチ制御信号は、論理ハイを維持する。これにより、図３に示すキッカー電源回路ＫＰＳは、電流４Ｌ×ＩａをノードＮｉｎｔへ供給する。
【００４７】
入力側キッカークロックＫＩ１の不活性化後、出力側キッカークロックＫＯ１が立ち上がったとき（ｔ２４）、ノードＣ１は論理ハイであるので、キッカー制御信号ＫＣＮＴＬは論理ハイを維持する。従って、スイッチ制御信号ＳＷ２＿ＣＮＴが論理ロウに維持され、図３に示すキッカー電源回路ＫＰＳは、電流４Ｌ×ＩａをノードＮｉｎｔへ供給し続ける。このように、キッカー制御回路ＫＣＣは出力信号ＰＦｏｕｔの論理値の遷移を検出し、キッカー電源回路ＫＰＳがそのデータの遷移に応じて電流を供給している。
【００４８】
さらに、ｔ１５において、入力側キッカークロックＫＩ０が立ち上がり、出力信号ＥＸＯＲ０１（論理ロウ）がノードＣ０に取込まれる。ｔ１７において、入力側キッカークロックＫＩ１が立ち上がり、出力信号ＥＸＯＲ２３（論理ロウ）がノードＣ１に取込まれる。
【００４９】
ｔ１５の後、出力側キッカークロックＫＯ０が立ち上がったとき（ｔ２６）、ノードＣ０は論理ロウであるので、キッカー制御信号ＫＣＮＴＬは論理ロウに遷移する。従って、スイッチ制御信号ＳＷ２＿ＣＮＴが論理ハイに不活性化され、キッカー電源回路ＫＰＳは停止状態となる。つまり、ｔ２６では、出力信号ＰＦｏｕｔのデータの遷移がないため、キッカー電源回路ＫＰＳは電流を供給しない。
【００５０】
ｔ１７の後、出力側キッカークロックＫＯ１が立ち上がったとき（ｔ２８）、ノードＣ１は論理ロウであるので、キッカー制御信号ＫＣＮＴＬは論理ロウのままである。従って、スイッチ制御信号ＳＷ２＿ＣＮＴが論理ハイを維持し、キッカー電源回路ＫＰＳは停止状態のままである。つまり、ｔ２８でも、出力信号ＰＦｏｕｔのデータの遷移がないため、キッカー電源回路ＫＰＳは電流を供給しない。
【００５１】
尚、入力側キッカークロックＫＩ０およびＫＩ１の立ち上がりは、それぞれ図５の出力クロックＰＯ０およびＰＯ２の立ち上がりと同じタイミングとしているが、ＥＸＯＲ０１およびＥＸＯＲ２３の取り込みに問題がなければ前後しても良い。また、出力側キッカークロックＫＯ０およびＫＯ１の立ち上がりは、それぞれ図５の倍速出力クロックＦＩＦＯＣＬＫ０およびＦＩＦＯＣＬＫ１の立下りと同じタイミングとしているが、内部電源電圧ＶＩＮＴの変動に問題がなければ前後しても良い。
【００５２】
このように本実施形態では、キッカー制御回路ＫＣＣがオフチップドライバＯＣＤに転送されるデータの遷移に基づいてキッカー電源回路ＫＰＳを駆動する。キッカー電源回路ＫＰＳは、キッカー制御回路ＫＣＣの制御を受けて、ノードＮｉｎｔへ電流Ｉｂを供給する。プリフェッチ回路ＰＦＣの出力部ＰＦｏｕｔからのデータが遷移する際の消費電流が大きくフィードバック電源回路ＦＰＳからの電流供給では不十分である場合に、キッカー電源回路ＫＰＳが、オフチップドライバＯＣＤによる消費電流分を補うために電流Ｉｂを供給することによって、フィードバック電源回路ＦＰＳをサポートする。これにより、ノードＮｉｎｔにおける電圧がＶｉｎｔから大きく変動することを防止することができる。その結果、本実施形態によるフィードバック電源回路ＦＰＳおよびキッカー電源回路ＫＰＳは、内部電源電圧Ｖｉｎｔの急激な変化に追従し、安定した内部電源電圧Ｖｉｎｔを供給することができる。
【００５３】
キッカー制御回路ＫＣＣがノードＡ０、Ａ１、Ａ２、Ａ３、Ａ０、Ａ１、Ａ２、Ａ３・・・の順番に各データを受け取る場合、キッカー制御回路ＫＣＣは、Ａ０のデータからＡ１のデータへの遷移を検出しているものの、その次のＡ１のデータからＡ２のデータへの遷移を検出していない。同様に、キッカー制御回路ＫＣＣは、Ａ２のデータからＡ３のデータへの遷移を検出しているものの、Ａ３のデータからＡ０のデータへの遷移を検出していない。即ち、キッカー制御回路ＫＣＣは、ノードＡ０、Ａ１、Ａ２、Ａ３・・・の連続するビット間の遷移を間欠的（１つ置き）に検出している。これにより、キッカー制御回路ＫＣＣの回路規模を小さくすることができる。
【００５４】
第１の実施形態では、図２に示すように、１つのプリフェッチ回路ＰＦＣに含まれているプリフェッチ部の数は４つ（ＰＦ０〜ＰＦ３）であった。しかし、１つのプリフェッチ回路ＰＦＣに含まれるプリフェッチ部の数は、２つでも、６つ以上の偶数でもよい。この場合、図４に示すキッカー制御回路ＫＣＣの排他的論理和ゲートＧｉ（ｉは整数）およびクロックトインバータＫＣＬＫｉの個数は、ノードＡｊ（ｊは偶数）に応じて増加させればよい。
【００５５】
第１の実施形態によるキッカー制御回路ＫＣＣは、出力部ＰＦｏｕｔのデータの遷移を検出するために、プリフェッチ回路ＰＦＣ内のデータを用いている。しかし、キッカー制御回路ＫＣＣは、プリフェッチ回路ＰＦＣよりも上流の回路において出力データをラッチしてもよい。即ち、キッカー制御回路ＫＣＣは、プリフェッチ回路ＰＦＣに入力される以前のデータを取り込んで、そのデータの遷移を検出してもよい。これにより、キッカー制御回路ＫＣＣおよびキッカー電源回路ＫＰＳは電流をオフチップドライバＯＣＤによる消費電流分を供給するために充分な時間をとることができる。
【００５６】
図４に示すキッカー制御回路ＫＣＣの構成はあくまでも一例であり、それと同様の動作を行う他の論理回路を第１の実施形態に用いても差し支えない。
【００５７】
（第２の実施形態）
図７は、本発明に係る第２の実施形態に従ったキッカー制御回路ＫＣＣの構成を示す回路図である。第２の実施形態では、キッカー制御回路ＫＣＣは、コア回路ＣＣから連続して出力されるデジタルデータの遷移を全て検出する。第１の実施例では、同じタイミングでプリフェッチ回路に取り込まれる２つの連続するデータの遷移を検知してキッカー電源回路を駆動した。本実施例では、異なるタイミングでプリフェッチ回路ＰＦＣに取り込まれるデータを含む３つの連続するデータにおいて、データの遷移が１回の場合と２回の場合とでキッカー電源回路ＫＰＳの出力電流を変更する。第２の実施形態において、キッカー制御回路ＫＣＣ以外の構成は、第１の実施形態のキッカー制御回路ＫＣＣ以外の構成と同様でよい。
【００５８】
第２の実施形態によるキッカー制御回路ＫＣＣは、排他的論理和ゲートＧ２０〜Ｇ２３、Ｇ３０、Ｇ３１と、ＡＮＤゲートＧ３２、Ｇ３３と、ゲート回路Ｇ４０〜Ｇ４ｎと、クロックトインバータＩＮｅ、ＩＮｆと、インバータＩＮ２０〜ＩＮ２３、ＩＮ３０，ＩＮ３１とを備えている。ゲート回路Ｇ４０〜Ｇ４ｎは、２つのＮＡＮＤゲートとそれらの出力を受けるＮＯＲゲートを含む。
【００５９】
ゲートＧ２０〜Ｇ２３は、それぞれノードＡ０およびＡ１、ノードＡ１およびＡ２、ノードＡ３およびＡ０、ノードＡ２およびＡ３のデータを受け取る。ゲートＧ２０〜Ｇ２３は、それぞれの入力データの排他的論理和を出力する。ここで、Ａ０からＡ１へのデータ遷移はＥＸＯＲ０１で示され、Ａ１からＡ２へのデータ遷移はＥＸＯＲ１２で示され、Ａ２からＡ３へのデータ遷移はＥＸＯＲ２３で示され、並びに、Ａ３からＡ０へのデータ遷移はＥＸＯＲ２３で示される。
【００６０】
ゲートＧ３０およびＧ３２は、それぞれ出力信号ＥＸＯＲ０１およびＥＸＯＲ３０の両方を受け取る。ゲートＧ３０は、出力信号ＥＸＯＲ０１またはＥＸＯＲ３０のいずれか一方が論理ハイに活性化されていることを検出する。ゲートＧ３２は、出力信号ＥＸＯＲ０１およびＥＸＯＲ０１の両方が論理ハイに活性化されていることを検出する。
【００６１】
ノードＡ０とＡ１との間、あるいは、ノードＡ３とＡ０との間のいずれか一方でデータ遷移がある場合、ゲートＧ３０が論理ハイを出力する。即ち、Ａ３、Ａ０、Ａ１のデータのように３つ連続するデジタルデータにおいて１回データが遷移する場合（例えば、１００、１１０、００１あるいは０１１）にゲートＧ３０が論理ハイを出力する。この場合、ゲートＧ３２は論理ロウを出力する。ゲートＧ３０の出力は、クロックトインバータＩＮｅ、インバータＩＮ２０およびクロックトインバータＩＮｆを介してキッカー制御信号ＫＣＮＴＬ＿ＡとしてゲートＧ４０〜Ｇ４ｎへ入力される。ゲートＧ４０〜Ｇ４ｎは、キッカー制御信号ＫＣＮＴＬ＿Ａを受けて、スイッチイネーブル信号ＳＥ０＿ＥＮ＿Ａ〜ＳＥｎ＿ＥＮ＿Ａに基づいてスイッチ制御信号ＳＷ０＿ＣＮＴ〜ＳＷｎ＿ＣＮＴを出力する。例えば、スイッチ制御信号ＳＷ２＿ＣＮＴのみを論理ロウに活性化させる場合、スイッチイネーブル信号ＳＥ０＿ＥＮ＿Ａ〜ＳＥｎ＿ＥＮ＿Ａのデジタルデータは、それぞれ００１０００・・・とすればよい。スイッチイネーブル信号ＳＥ０＿ＥＮ＿Ａ〜ＳＥｎ＿ＥＮ＿Ａのデジタルデータは、図４を参照して説明したように、ＲＯＭに格納すればよい。この場合、キッカー電源回路ＫＰＳは、４Ｌ×Ｉａの電流をノードＮｉｎｔへ供給する。
【００６２】
ノードＡ０とＡ１との間およびノードＡ３とＡ０との間の両方でデータ遷移がある場合、ゲートＧ３２が論理ハイを出力する。即ち、Ａ３、Ａ０、Ａ１のデータのように３つ連続するデジタルデータにおいて２回データが遷移する場合（例えば、１０１あるいは０１０）にゲートＧ３２が論理ハイを出力する。この場合、ゲートＧ３０は論理ロウを出力する。ゲートＧ３２の出力は、クロックトインバータＩＮｅ、インバータＩＮ２２およびクロックトインバータＩＮｆを介してキッカー制御信号ＫＣＮＴＬ＿ＢとしてゲートＧ４０〜Ｇ４ｎへ入力される。ゲートＧ４０〜Ｇ４ｎは、キッカー制御信号ＫＣＮＴＬ＿Ｂを受けて、スイッチイネーブル信号ＳＥ０＿ＥＮ＿Ｂ〜ＳＥｎ＿ＥＮ＿Ｂに基づいてスイッチ制御信号ＳＷ０＿ＣＮＴ〜ＳＷｎ＿ＣＮＴを出力する。例えば、スイッチ制御信号ＳＷ３＿ＣＮＴのみを論理ロウに活性化させる場合、スイッチイネーブル信号ＳＥ０＿ＥＮ＿Ｂ〜ＳＥｎ＿ＥＮ＿Ｂのデジタルデータは、それぞれ０００１０００・・・とすればよい。スイッチイネーブル信号ＳＥ０＿ＥＮ＿Ｂ〜ＳＥｎ＿ＥＮ＿Ｂのデジタルデータは、ＲＯＭに格納すればよい。この場合、キッカー電源回路ＫＰＳは、８Ｌ×Ｉａの電流をノードＮｉｎｔへ供給する。
【００６３】
同様に、ノードＡ１とＡ２との間、あるいは、ノードＡ２とＡ３との間のいずれか一方でデータ遷移がある場合、ゲートＧ３１が論理ハイを出力し、ゲートＧ３３が論理ロウを出力する。即ち、Ａ１、Ａ２、Ａ３のデータのように３つ連続するデジタルデータにおいて１回データが遷移する場合（例えば、１００、１１０、００１あるいは０１１）にゲートＧ３１が論理ハイを出力する。これにより、ゲートＧ４０〜Ｇ４ｎは、キッカー制御信号ＫＣＮＴＬ＿Ａを受けて、スイッチイネーブル信号ＳＥ０＿ＥＮ＿Ａ〜ＳＥｎ＿ＥＮ＿Ａに基づいてスイッチ制御信号ＳＷ０＿ＣＮＴ〜ＳＷｎ＿ＣＮＴを出力する。
【００６４】
ノードＡ１とＡ２との間およびノードＡ２とＡ３との間の両方でデータ遷移がある場合、ゲートＧ３３が論理ハイを出力し、ゲートＧ３１が論理ロウを出力する。即ち、Ａ１、Ａ２、Ａ３のデータのように３つ連続するデジタルデータにおいて２回データが遷移する場合（例えば、１０１あるいは０１０）にゲートＧ３３が論理ハイを出力する。これにより、ゲートＧ４０〜Ｇ４ｎは、キッカー制御信号ＫＣＮＴＬ＿Ｂを受けて、スイッチイネーブル信号ＳＥ０＿ＥＮ＿Ｂ〜ＳＥｎ＿ＥＮ＿Ｂに基づいてスイッチ制御信号ＳＷ０＿ＣＮＴ〜ＳＷｎ＿ＣＮＴを出力する。
【００６５】
ここで、３つ連続するデジタルデータにおいてデータの遷移が２回である場合に、キッカー電源回路ＫＰＳの供給電流Ｉｂ２（Ｉｂ２＝８Ｌ×Ｉａ）は、それが１回である場合のキッカー電源回路ＫＰＳの供給電流Ｉｂ１（Ｉｂ１＝４Ｌ×Ｉａ）と比べて２倍の電流を供給する。これにより、出力データの遷移が多い場合であっても、キッカー電源回路ＫＰＳは、オフチップドライバＯＣＤにおける消費電流分を補うのに充分な電流を供給することができる。
【００６６】
電流Ｉｂ２は、電流Ｉｂ１の２倍に限定しない。オフチップドライバＯＣＤの消費電流に応じて、電流Ｉｂ２は、電流Ｉｂ１よりも大きい任意の電流に設定され得る。
【００６７】
尚、図７に示すキッカー制御回路ＫＣＣの構成はあくまでも一例であり、それと同様の動作を行う他の論理回路を第２の実施形態に用いても差し支えない。
【００６８】
図８は、第２の実施形態による半導体装置の動作を示すタイミング図である。取込みクロックＰＩ０、ＰＩ１、入力部ＰＦｉｎ０、ＰＦｉｎ１のデータ、および、ノードＡ０〜Ａ３のデータの各動作は、図５に示すそれらの動作と同様である。図８では、入力部ＰＦｉｎ０、ＰＦｉｎ１のデータの動作を省略する。
【００６９】
信号ＥＸＯＲ０１〜ＥＸＯＲ３０は、ノードＡ０〜Ａ３のデータの論理に基づいて決定される。
【００７０】
ｔ１〜ｔ２において、入力側キッカークロックＫＩ０の活性化によって、ゲートＧ３０およびＧ３２の出力が図７に示すノードＤ０およびＤ２にそれぞれ保持される。ノードＡ０、Ａ１およびＡ３、Ａ０のデータは、それぞれ“１０”および“０１”である。従って、ＥＸＯＲ０１、ＥＸＯＲ３０は論理ハイであり、ノードＤ０、Ｄ２は、それぞれ論理ロウおよび論理ハイを保持する。
【００７１】
ｔ２の後、キッカークロックＫＯ０が活性化され（ｔ２２）、ノードＤ０、Ｄ２に保持されていたデータが制御信号ＫＣＮＴＬ＿ＡおよびＫＣＮＴＬ＿Ｂとして出力される。従って、制御信号ＫＣＮＴＬ＿Ａが論理ロウに不活性化され、制御信号ＫＣＮＴＬ＿Ｂは論理ハイに活性化される。その結果、キッカー制御回路ＫＣＣは、ｔ２２〜ｔ２４においてスイッチ制御信号ＳＷ３＿ＣＮＴのみを論理ロウに活性化する。これに応じて、キッカー電源回路ＫＰＳは、８Ｌ×Ｉａの電流をノードＮｉｎｔへ供給する。このように、ノードＡ３、Ａ０、Ａ１の３つの連続する論理データが、“０１０”のように２回遷移している場合、キッカー電源回路ＫＰＳは、比較的大きな電流をノードＮｉｎｔへ供給する。
【００７２】
ｔ３〜ｔ４において、入力側キッカークロックＫＩ１の活性化によって、ゲートＧ３１およびＧ３３の出力が図７に示すノードＤ１およびＤ３にそれぞれ保持される。ｔ４の後、キッカークロックＫＯ１が活性化され（ｔ２４）、ノードＤ１、Ｄ３に保持されたデータが制御信号ＫＣＮＴＬ＿ＡおよびＫＣＮＴＬ＿Ｂとして出力される。ｔ３〜ｔ４において、ノードＡ１、Ａ２およびＡ２、Ａ３のデータは、それぞれ“０１”および“１０”である。即ち、ノードＡ１、Ａ２、Ａ３の３つの連続する論理データが、“１０１”であり、２回遷移している。よって、ｔ２４〜ｔ２６においても、ｔ２２〜ｔ２４のときと同様に、キッカー電源回路ＫＰＳは、８Ｌ×Ｉａの電流をノードＮｉｎｔへ供給する。
【００７３】
ｔ５〜ｔ６において、ノードＡ０、Ａ１およびＡ３、Ａ０のデータは、それぞれ“１１”および“０１”である。従って、ＥＸＯＲ０１が論理ロウであり、ＥＸＯＲ３０は論理ハイである。ノードＤ０、Ｄ２は、それぞれ論理ハイおよび論理ロウを保持する。
【００７４】
ｔ６の後、キッカークロックＫＯ０が活性化され（ｔ２６）、ノードＤ０、Ｄ２に保持されていたデータが制御信号ＫＣＮＴＬ＿ＡおよびＫＣＮＴＬ＿Ｂとして出力される。従って、制御信号ＫＣＮＴＬ＿Ａが論理ハイに活性化され、制御信号ＫＣＮＴＬ＿Ｂは論理ロウに不活性化される。その結果、キッカー制御回路ＫＣＣは、ｔ２６〜ｔ２８においてスイッチ制御信号ＳＷ２＿ＣＮＴのみを論理ロウに活性化する。これに応じて、キッカー電源回路ＫＰＳは、４Ｌ×Ｉａの電流をノードＮｉｎｔへ供給する。このように、ノードＡ３、Ａ０、Ａ１の３つの連続する論理データが、“０１１”のように１回だけ遷移している場合、キッカー電源回路ＫＰＳは、比較的小さい電流をノードＮｉｎｔへ供給する。
【００７５】
ｔ７〜ｔ８において、入力側キッカークロックＫＩ１の活性化によって、ゲートＧ３１およびＧ３３の出力がノードＤ１およびＤ３にそれぞれ保持される。ｔ８の後、キッカークロックＫＯ１が活性化され（ｔ２８）、ノードＤ１、Ｄ３に保持されたデータが制御信号ＫＣＮＴＬ＿ＡおよびＫＣＮＴＬ＿Ｂとして出力される。ｔ７〜ｔ８において、ノードＡ１、Ａ２およびＡ２、Ａ３のデータは、それぞれ“１０”および“００”である。即ち、ノードＡ１、Ａ２、Ａ３の３つの連続する論理データが、“１００”であり、１回だけ遷移している。よって、ｔ２８〜ｔ３０においても、ｔ２６〜ｔ２８のときと同様に、キッカー電源回路ＫＰＳは、４Ｌ×Ｉａの電流をノードＮｉｎｔへ供給する。
【００７６】
図示はしないが、ノードＡ０、Ａ１、Ａ２、Ａ３、Ａ０、Ａ１、Ａ２、Ａ３・・・のデータ（出力信号ＰＦｏｕｔ）のうち任意の３つの連続データに遷移が無い場合、キッカー制御回路ＫＣＣは、制御信号ＫＣＴＮＬ＿ＡおよびＫＣＴＮＬ＿Ｂはともに論理ロウに不活性化され、スイッチ制御信号ＳＷ２＿ＣＮＴおよびＳＷ３＿ＣＮＴをともに不活性化させ、キッカー電源回路ＫＰＳを停止させる。
【００７７】
第２の実施形態によれば、キッカー制御回路ＫＣＣは、連続するデジタルデータＰＦｏｕｔの全ての遷移を検出し、その遷移回数に応じてキッカー電源回路ＫＰＳから出力される電流を変更することができる。例えば、出力データＰＦｏｕｔが“００１１００１１・・・０１０１０１０１・・・”の場合、データの遷移回数は、当初、３連続データごとに１回であり、その後、３連続データごとに２回になる。従って、キッカー電源回路ＫＰＳは、当初、４Ｌ×Ｉａの電流を供給するが、その後、８Ｌ×Ｉａの電流を供給する。
【００７８】
これにより第２の実施形態によるフィードバック電源回路ＦＰＳおよびキッカー電源回路ＫＰＳは、さらに安定した内部電源電圧Ｖｉｎｔを維持することができる。
【００７９】
（第３の実施形態）
図９は、本発明に係る第３の実施形態に従ったキッカー制御回路ＫＣＣの構成を示す回路図である。第３の実施形態では、キッカー制御回路ＫＣＣは、コア回路ＣＣから連続して出力されるデジタルデータの遷移方向を検出し、この遷移方向に応じてキッカー電源回路ＫＰＳが供給する電流を変更するように構成されている。デジタルデータの遷移方向には、“１”から“０”へ遷移する第１の遷移方向と、“０”から“１”へ遷移する第２の遷移方向とがある。第３の実施形態において、キッカー制御回路ＫＣＣ以外の構成は、第１の実施形態のキッカー制御回路ＫＣＣ以外の構成と同様でよい。
【００８０】
第３の実施形態によるキッカー制御回路ＫＣＣは、ＡＮＤゲートＧ５０〜Ｇ５３と、クロックトインバータＩＮｇ、ＩＮｈと、インバータＩＮ４０〜ＩＮ４３、ＩＮ５０、ＩＮ５１と、ゲート回路Ｇ４０〜Ｇ４ｎとを備えている。
【００８１】
ゲートＧ５０は、ノードＡ０のデータの反転信号およびノードＡ１のデータを受け取り、これらのデータの論理和を出力する。ゲートＧ５１は、ノードＡ２のデータの反転信号およびノードＡ３のデータを受け取り、これらのデータの論理和を出力する。ゲートＧ５２は、ノードＡ０のデータおよびノードＡ１のデータの反転信号を受け取り、これらのデータの論理和を出力する。ゲートＧ５３は、ノードＡ２のデータおよびノードＡ３のデータの反転信号を受け取り、これらのデータの論理和を出力する。
【００８２】
Ａ０からＡ１へのデータ遷移が第１の遷移方向（“０”から“１”）である場合、信号ＤＥＣ０１＿０１が論理ハイに活性化される。信号ＤＥＣ０１＿０１は、ノードＥ０に格納される。Ａ２からＡ３へのデータ遷移が第１の遷移方向である場合、信号ＤＥＣ０１＿２３が論理ハイに活性化される。信号ＤＥＣ０１＿２３は、ノードＥ１に格納される。Ａ０からＡ１へのデータ遷移が第２の遷移方向（“１”から“０”）である場合、信号ＤＥＣ１０＿０１が論理ハイに活性化される。信号ＤＥＣ１０＿０１は、ノードＥ２に格納される。Ａ２からＡ３へのデータ遷移が第２の遷移方向である場合、信号ＤＥＣ１０＿２３が論理ハイに活性化される。信号ＤＥＣ１０＿２３は、ノードＥ３に格納される。
【００８３】
ノードＥ０、Ｅ１のデータは、異なるタイミングで制御信号ＫＣＮＴＬ＿Ｃとしてゲート回路Ｇ４０〜Ｇ４ｎに転送される。ノードＥ２、Ｅ３のデータは、異なるタイミングで制御信号ＫＣＮＴＬ＿Ｄとしてゲート回路Ｇ４０〜Ｇ４ｎに転送される。即ち、制御信号ＫＣＮＴＬ＿Ｃは、第１の遷移方向を示す制御信号であり、制御信号ＫＣＮＴＬ＿Ｄは、第２の遷移方向を示す制御信号である。
【００８４】
ゲートＧ４０〜Ｇ４ｎは、キッカー制御信号ＫＣＮＴＬ＿Ｃを受けて、スイッチイネーブル信号ＳＥ０＿ＥＮ＿Ｃ〜ＳＥｎ＿ＥＮ＿Ｃに基づいてスイッチ制御信号ＳＷ０＿ＣＮＴ〜ＳＷｎ＿ＣＮＴを出力する。ゲートＧ４０〜Ｇ４ｎは、キッカー制御信号ＫＣＮＴＬ＿Ｄを受けて、スイッチイネーブル信号ＳＥ０＿ＥＮ＿Ｄ〜ＳＥｎ＿ＥＮ＿Ｄに基づいてスイッチ制御信号ＳＷ０＿ＣＮＴ〜ＳＷｎ＿ＣＮＴを出力する。
【００８５】
ここで、出力データＰＦｏｕｔが第２の遷移方向（“１”から“０”）へ遷移するときのオフチップドライバＯＣＤの消費電流は、第１の遷移方向（“０”から“１”）へ遷移するときのそれよりも大きいものと仮定している。従って、制御信号ＫＣＮＴＬ＿Ｄが活性化されたときにキッカー電源回路ＫＰＳが供給する電流Ｉｂ＿１０は、制御信号ＫＣＮＴＬ＿Ｃが活性化されたときにキッカー電源回路ＫＰＳが供給する電流Ｉｂ＿０１よりも大きいことが好ましい。第３の実施形態では、電流Ｉｂ＿１０が電流Ｉｂ＿０１よりも大きくなるように、スイッチイネーブル信号ＳＥ０＿ＥＮ＿Ｃ〜ＳＥｎ＿ＥＮ＿Ｃ、および、ＳＷ０＿ＥＮ＿Ｄ〜ＳＷｎ＿ＥＮ＿Ｄを設定する。
【００８６】
例えば、スイッチイネーブル信号ＳＷ０＿ＥＮ＿Ｃ〜ＳＷｎ＿ＥＮ＿ＣのうちＳＷ２＿ＥＮ＿Ｃのみを論理ハイに設定する。この場合、データが第１の遷移方向に遷移したときに、スイッチ制御信号ＳＷ２＿ＣＮＴのみが論理ロウに活性化される。その結果、キッカー電源回路ＫＰＳは、電流Ｉｂ＿０１として４Ｌ×ＩａをノードＮｉｎｔへ供給する。
【００８７】
スイッチイネーブル信号ＳＷ０＿ＥＮ＿Ｄ〜ＳＥｎ＿ＥＮ＿ＤのうちＳＷ０＿ＥＮ＿ＤおよびＳＷ２＿ＥＮ＿Ｄを論理ハイに設定する。この場合、データが第２の遷移方向に遷移したときに、スイッチ制御信号ＳＷ０＿ＣＮＴおよびＳＷ２＿ＣＮＴが論理ロウに活性化される。その結果、キッカー電源回路ＫＰＳは、電流Ｉｂ＿１０として５Ｌ×Ｉａを供給する。
【００８８】
この例では、電流Ｉｂ＿１０は、電流Ｉｂ＿０１よりも２５％大きい。しかし、これに限定されず、オフチップドライバＯＣＤの消費電流に応じて、電流Ｉ＿１０は、電流Ｉ＿０１よりも大きい任意の電流に設定され得る。
【００８９】
尚、図９に示すキッカー制御回路ＫＣＣの構成はあくまでも一例であり、それと同様の動作を行う他の論理回路を第３の実施形態に用いても差し支えない。また、第３の実施形態では、データが“１”から“０”へ遷移するときに、“０”から“１”へ遷移するときよりもオフチップドライバＯＣＨの消費電流が大きいものと仮定した。しかし、このデータの遷移方向と消費電流との関係は逆であってもよい。この場合、電流Ｉｂ＿０１は、電流Ｉｂ＿１０よりも大きい電流に設定される。
【００９０】
図１０は、第３の実施形態による半導体装置の動作を示すタイミング図である。取込みクロックＰＩ０、ＰＩ１、入力部ＰＦｉｎ０、ＰＦｉｎ１のデータ、および、ノードＡ０〜Ａ３のデータの各動作は、図６に示すそれらの動作と同様である。図１０では、入力部ＰＦｉｎ０、ＰＦｉｎ１のデータの動作の図示を省略する。
【００９１】
信号ＤＥＣ０１＿０１〜ＤＥＣ１０＿２３は、ノードＡ０〜Ａ３のデータの論理に基づいて決定される。
【００９２】
ｔ１〜ｔ２において、ノードＡ０、Ａ１のデータはそれぞれ“１”、“０” （第２の遷移方向）であるので、ゲートＧ５２の出力信号ＤＥＣ１０＿０１が論理ハイに活性化される。出力信号ＤＥＣ０１＿０１は不活性状態である。
【００９３】
ｔ２の直後、ｔ１１において、キッカークロックＫＩ０が活性化されることによって、信号ＤＥＣ０１＿０１およびＤＥＣ１０＿０１がそれぞれノードＥ０、Ｅ２に転送される。これにより、ノードＥ０、Ｅ２のデータは、それぞれ論理ロウおよび論理ハイになる。
【００９４】
ｔ３〜ｔ４において、ノードＡ２、Ａ３のデータはそれぞれ“１”、“０” （第２の遷移方向）であるので、ゲートＧ５３の出力信号ＤＥＣ１０＿２３が論理ハイに活性化される。出力信号ＤＥＣ０１＿２３は不活性状態である。
【００９５】
ｔ４の直後、ｔ１３において、キッカークロックＫＩ１が活性化されることによって、出力信号ＤＥＣ０１＿２３およびＤＥＣ１０＿２３がそれぞれノードＥ１、Ｅ３に転送される。これにより、ノードＥ１、Ｅ３のデータは、論理ロウおよび論理ハイになる。
【００９６】
ｔ１１の後、ｔ２２において、キッカークロックＫＯ０が活性化される。これにより、ノードＥ０、Ｅ２のデータがキッカー制御信号ＫＣＮＴＬ＿Ｃ、ＫＣＮＴＬ＿Ｄとして伝達される。従って、キッカー制御信号ＫＣＮＴＬ＿Ｄのみが論理ハイに活性化される。キッカー制御信号ＫＣＮＴＬ＿Ｃは不活性状態である。
【００９７】
キッカー制御信号ＫＣＮＴＬ＿Ｄの活性化に応じて、ゲート回路Ｇ４０〜Ｇ４ｎは、スイッチイネーブル信号ＳＷ０＿ＥＮ＿Ｄ〜ＳＷｎ＿ＥＮ＿Ｄに基づいたスイッチ制御信号ＳＷ０＿ＣＮＴ〜ＳＷｎ＿ＣＮＴを出力する。第３の実施形態では、ゲート回路Ｇ４０〜Ｇ４ｎは、スイッチ制御信号ＳＷ０＿ＣＮＴおよびＳＷ２＿ＣＮＴを論理ロウに活性化し、キッカー電源回路ＫＰＳのスイッチＳＷ０およびＳＷ２を導通させる。その結果、キッカー電源回路ＫＰＳは、５Ｌ×Ｉａの電流をノードＮｉｎｔへ供給する。
【００９８】
第３の実施形態は、第１の実施形態と同様にノードＡ１からＡ２へのデータ遷移は考慮していない。従って、ｔ２３〜ｔ２４において、キッカー制御回路ＫＣＣおよびキッカー電源回路ＫＰＳは、ｔ２２〜ｔ２３におけるそれらの動作を継続する。
【００９９】
ｔ１３の後、ｔ２４において、キッカークロックＫＯ１が活性化される。これにより、ノードＥ１、Ｅ３のデータがキッカー制御信号ＫＣＮＴＬ＿Ｃ、ＫＣＮＴＬ＿Ｄとして転送される。ここで、ノードＡ２、Ａ３のデータは第２の遷移方向に遷移しているので、ｔ２４〜ｔ２６におけるキッカー制御回路ＫＣＣおよびキッカー電源回路ＫＰＳの動作は、ｔ２２〜ｔ２４におけるそれらの動作と同様である。
【０１００】
取込みクロックＰＩ０が活性化されるｔ５〜ｔ６において、ノードＡ０、Ａ１のデータはそれぞれ“１”、“１”であるので、出力信号ＤＥＣ０１＿０１、ＤＥＣ１０＿０１（ノードＥ０、Ｅ２）は、ともに不活性状態である。
【０１０１】
ｔ１５の後、ｔ２６において、キッカークロックＫＯ０が活性化される。これによって、ノードＥ０、Ｅ２のデータがキッカー制御信号ＫＣＮＴＬ＿Ｃ、ＫＣＮＴＬ＿Ｄに伝達される。従って、キッカー制御信号ＫＣＮＴＬ＿Ｃ、ＫＣＮＴＬ＿Ｄはともに不活性状態である。この場合、キッカー電源回路ＫＰＳは電流を供給しない。第３の実施形態は、第１の実施形態と同様にノードＡ３からＡ０へのデータ遷移は考慮していない。従って、ｔ２７〜ｔ２８において、キッカー制御回路ＫＣＣおよびキッカー電源回路ＫＰＳは、ｔ２６〜ｔ２７におけるそれらの動作を継続する。
【０１０２】
取込みクロックＰＩ１が活性化されるｔ７〜ｔ８において、ノードＡ２、Ａ３のデータはそれぞれ“０”、“１”（第１の遷移方向）であるので、ゲートＧ５１の出力信号ＤＥＣ０１＿２３（ノードＥ１）が論理ハイに活性化される。出力信号ＤＥＣ１０＿２３（ノードＥ３）は不活性状態である。
【０１０３】
ｔ１７の後、ｔ２８において、キッカークロックＫＯ１が活性化されることによって、ノードＥ１、Ｅ３のデータがキッカー制御信号ＫＣＮＴＬ＿Ｃ、ＫＣＮＴＬ＿Ｄに伝達される。従って、キッカー制御信号ＫＣＮＴＬ＿Ｃのみが論理ハイに活性化される。キッカー制御信号ＫＣＮＴＬ＿Ｄは不活性状態である。
【０１０４】
キッカー制御信号ＫＣＮＴＬ＿Ｃの活性化に応じて、ゲート回路Ｇ４０〜Ｇ４ｎは、スイッチイネーブル信号ＳＷ０＿ＥＮ＿Ｃ〜ＳＷｎ＿ＥＮ＿Ｃに基づいたスイッチ制御信号ＳＷ０＿ＣＮＴ〜ＳＷｎ＿ＣＮＴを出力する。第３の実施形態では、ゲート回路Ｇ４０〜Ｇ４ｎは、スイッチ制御信号ＳＷ２＿ＣＮＴのみを論理ロウに活性化し、キッカー電源回路ＫＰＳのスイッチＳＷ２のみを導通させる。その結果、キッカー電源回路ＫＰＳは、４Ｌ×Ｉａの電流をノードＮｉｎｔへ供給する。
【０１０５】
第３の実施形態は、第１の実施形態と同様にノードＡ１からＡ２へのデータ遷移は考慮していない。従って、ｔ２９〜ｔ３０において、キッカー制御回路ＫＣＣおよびキッカー電源回路ＫＰＳは、ｔ２８〜ｔ２９におけるそれらの動作を継続する。
【０１０６】
このように第３の実施形態は、データＰＦｏｕｔの遷移方向に応じてキッカー電源回路ＫＰＳのスイッチＳＷ０〜ＳＷｎの導通状態を切り替える。これにより、キッカー制御回路ＫＣＣは、キッカー電源回路ＫＰＳから供給される電流量を変更することができる。第３の実施形態は、さらに、第１の実施形態の効果も得ることができる。
【０１０７】
（第４の実施形態）
図１１は、本発明に係る第４の実施形態に従ったキッカー制御回路ＫＣＣの構成を示す回路図である。第４の実施形態は、３つの連続するデータにおいてデータの遷移が１回の場合と２回の場合とでキッカー電源回路ＫＰＳの出力電流を変更する点で第２の実施形態と同様である。さらに、３つの連続するデータにおいてデータの遷移が１回の場合に、キッカー制御回路ＫＣＣは、データの遷移方向を検出し、この遷移方向に応じてキッカー電源回路ＫＰＳが供給する電流を変更する点で第３の実施形態と同様である。即ち、第４の実施形態は、第２および第３の実施形態の組合せである。第４の実施形態において、キッカー制御回路ＫＣＣ以外の構成は、第１の実施形態のキッカー制御回路ＫＣＣ以外の構成と同様でよい。
【０１０８】
第４の実施形態によるキッカー制御回路ＫＣＣは、ＥＸＯＲゲートＧ６０〜Ｇ６３、Ｇ７０、およびＧ７１と、ＡＮＤゲートＧ８０〜Ｇ８５と、クロックトインバータＩＮｉ、ＩＮｊと、インバータＩＮ６０〜ＩＮ６５、ＩＮ７０〜ＩＮ７２と、ゲート回路Ｇ９０〜Ｇ９ｎとを備えている。
【０１０９】
ゲートＧ６０は、ノードＡ０およびＡ１のデータを受け取り、これらの排他的論理和を信号ＥＸＯＲ０１として出力する。ゲートＧ６１は、ノードＡ１およびＡ２のデータを受け取り、これらの排他的論理和を信号ＥＸＯＲ１２として出力する。ゲートＧ６２は、ノードＡ３およびＡ０のデータを受け取り、これらの排他的論理和を信号ＥＸＯＲ３０として出力する。ゲートＧ６３は、ノードＡ２およびＡ３のデータを受け取り、これらの排他的論理和を信号ＥＸＯＲ２３として出力する。ゲートＧ７０は、信号ＥＸＯＲ０１およびＥＸＯＲ３０を受け取り、これらの排他的論理和を信号ＥＸＯＲ３０＿０１として出力する。ゲートＧ７１は、信号ＥＸＯＲ１２およびＥＸＯＲ２３を受け取り、これらの排他的論理和を信号ＥＸＯＲ１２＿２３として出力する。
【０１１０】
さらに、ゲートＧ８０は、信号ＥＸＯＲ３０＿０１およびノードＡ３の反転データを受け取り、これらの論理和を出力する。ゲートＧ８０の出力データは、入力キッカークロックＫＩ０が活性化されるタイミングでノードＦ０に格納される。ゲートＧ８１は、信号ＥＸＯＲ１２＿２３およびノードＡ１の反転データを受け取り、これらの論理和を出力する。ゲートＧ８１の出力データは、入力キッカークロックＫＩ１が活性化されるタイミングでノードＦ１に格納される。ゲートＧ８２は、信号ＥＸＯＲ３０＿０１およびノードＡ３のデータを受け取り、これらの論理和を出力する。ゲートＧ８２の出力データは、入力キッカークロックＫＩ０が活性化されるタイミングでノードＦ２に格納される。ゲートＧ８３は、信号ＥＸＯＲ１２＿２３およびノードＡ１のデータを受け取り、これらの論理和を出力する。ゲートＧ８３の出力データは、入力キッカークロックＫＩ１が活性化されるタイミングでノードＦ３に格納される。ゲートＧ８４は、信号ＥＸＯＲ０１および信号ＥＸＯＲ３０を受け取り、これらの論理和を出力する。ゲートＧ８４の出力データは、入力キッカークロックＫＩ０が活性化されるタイミングでノードＦ４に格納される。ゲートＧ８５は、信号ＥＸＯＲ１２および信号ＥＸＯＲ２３を受け取り、これらの論理和を出力する。ゲートＧ８５の出力データは、入力キッカークロックＫＩ１が活性化されるタイミングでノードＦ５に格納される。
【０１１１】
ノードＦ０、Ｆ２およびＦ４のデータは、出力キッカークロックＫＯ０が活性化されるタイミングで、それぞれキッカー制御信号ＫＣＮＴＬ＿Ｈ、ＫＣＮＴＬ＿ＩおよびＫＣＮＴＬ＿Ｊに出力される。ノードＦ１、Ｆ３およびＦ５のデータは、出力キッカークロックＫＯ１が活性化されるタイミングで、それぞれキッカー制御信号ＫＣＮＴＬ＿Ｈ、ＫＣＮＴＬ＿ＩおよびＫＣＮＴＬ＿Ｊに出力される。これにより、キッカー制御回路ＫＣＣは、予め設定されたイネーブル信号ＳＷ０＿ＥＮ＿Ｈ〜ＳＷｎ＿ＥＮ＿Ｈ、ＳＷ０＿ＥＮ＿Ｉ〜ＳＷｎ＿ＥＮ＿ＩまたはＳＷ０＿ＥＮ＿Ｊ〜ＳＷｎ＿ＥＮ＿Ｊに基づいた信号を出力する。
【０１１２】
以下、より詳細に説明する。ノードＡ０〜Ａ３のうち３つの連続データが全て論理ハイまたは論理ロウのとき、即ち、３つの連続データにおいてデータの遷移が無い場合、ノードＦ０〜Ｆ５は全て論理ロウである。従って、キッカー制御信号ＫＣＮＴＬ＿Ｈ、ＫＣＮＴＬ＿ＩおよびＫＣＮＴＬ＿Ｊは、全て不活性状態であるので、キッカー制御回路ＫＣＣはキッカー電源回路ＫＰＳを駆動しない。
【０１１３】
ノードＡ０〜Ａ３のうち３つの連続データにおいてデータが１回遷移する場合、例えば、Ａ３とＡ０との間、Ａ０とＡ１との間のいずれか一方においてデータが遷移している場合、信号ＥＸＯＲ３０＿０１が論理ハイに活性化される。このようにＡ３、Ａ０、Ａ１の連続データにおいてデータの遷移が１回だけの場合、ノードＡ１およびＡ３のデータは互いに異なるはずである。
【０１１４】
もし、ノードＡ３のデータが論理ロウ“０”の場合、ノードＡ１のデータは論理ハイ“１”である。この場合、Ａ３、Ａ０、Ａ１の連続データにおいて“０”から“１”への遷移がある。よって、ノードＦ０に論理ハイのデータが格納される。この場合、キッカークロックＫＯ０の活性化のタイミングで、キッカー制御信号ＫＣＮＴ＿Ｈが活性化される。それに従いキッカー制御回路ＫＣＣは、イネーブル信号ＳＷ０＿ＥＮ＿Ｈ〜ＳＷｎ＿ＥＮ＿Ｈに従った信号を出力する。例えば、イネーブル信号ＳＷ０＿ＥＮ＿Ｈ〜ＳＷｎ＿ＥＮ＿Ｈのうちイネーブル信号ＳＷ２＿ＥＮ＿Ｈのみが論理ハイに設定されている場合、キッカー電源回路ＫＰＳのスイッチＳＷ２のみが駆動される。よって、キッカー電源回路ＫＰＳは、４Ｌ×Ｉａの電流をノードＮｉｎｔへ供給する。
【０１１５】
もし、ノードＡ３のデータが “１”の場合、ノードＡ１のデータは “０”である。この場合、Ａ３、Ａ０、Ａ１の連続データにおいて“１”から“０”への遷移がある（第２の遷移方向）。よって、ノードＦ２に論理ハイのデータが格納される。この場合、キッカークロックＫＯ０の活性化のタイミングで、キッカー制御信号ＫＣＮＴ＿Ｉが活性化される。それに従いキッカー制御回路ＫＣＣは、イネーブル信号ＳＷ０＿ＥＮ＿Ｉ〜ＳＷｎ＿ＥＮ＿Ｉに従った信号を出力する。例えば、イネーブル信号ＳＷ０＿ＥＩ＿Ｉ〜ＳＷｎ＿ＥＮ＿Ｉのうちイネーブル信号ＳＷ０＿ＥＮ＿ＩおよびＳＷ２＿ＥＮ＿Ｉのみが論理ハイに設定されている場合、キッカー電源回路ＫＰＳのスイッチＳＷ０およびＳＷ２が駆動される。よって、キッカー電源回路ＫＰＳは、５Ｌ×Ｉａの電流をノードＮｉｎｔへ供給する。
【０１１６】
同様に、例えば、Ａ１とＡ２との間、Ａ２とＡ３との間のいずれか一方においてデータが遷移している場合、信号ＥＸＯＲ１２＿２３が論理ハイに活性化される。Ａ１、Ａ２、Ａ３の連続データにおいてデータの遷移が１回だけの場合、ノードＡ１およびＡ３のデータは互いに異なるはずである。
【０１１７】
もし、ノードＡ１のデータが論理ロウ“０”の場合、ノードＡ３のデータは論理ハイ“１”である。この場合、Ａ１、Ａ２、Ａ３の連続データにおいて“０”から“１”への遷移がある（第１の遷移方向）。よって、ノードＦ１に論理ハイのデータが格納される。この場合、キッカークロックＫＯ１の活性化のタイミングで、キッカー制御信号ＫＣＮＴ＿Ｈが活性化される。それに従いキッカー制御回路ＫＣＣは、イネーブル信号ＳＷ０＿ＥＮ＿Ｈ〜ＳＷｎ＿ＥＮ＿Ｈに従った信号を出力する。よって、キッカー電源回路ＫＰＳは、４Ｌ×Ｉａの電流をノードＮｉｎｔへ供給する。
【０１１８】
もし、ノードＡ１のデータが “１”の場合、ノードＡ３のデータは “０”である。この場合、Ａ１、Ａ２、Ａ３の連続データにおいて“１”から“０”への遷移がある（第２の遷移方向）。よって、ノードＦ３に論理ハイのデータが格納される。この場合、キッカークロックＫＯ１の活性化のタイミングで、キッカー制御信号ＫＣＮＴ＿Ｉが活性化される。それに従いキッカー制御回路ＫＣＣは、イネーブル信号ＳＷ０＿ＥＮ＿Ｉ〜ＳＷｎ＿ＥＮ＿Ｉに従った信号を出力する。よって、キッカー電源回路ＫＰＳは、５Ｌ×Ｉａの電流をノードＮｉｎｔへ供給する。
【０１１９】
ノードＡ０〜Ａ３のうち３つの連続データにおいてデータが２回遷移する場合、信号ＥＸＯＲ０１およびＥＸＯＲ３０の両方が論理ハイになるか、あるいは、信号ＥＸＯＲ１２およびＥＸＯＲ２３の両方が論理ハイになる。よって、ノードＦ４またはＦ５に論理ハイのデータが格納される。この場合、キッカークロックＫＯ１０またはＫＯ１の活性化のタイミングで、キッカー制御信号ＫＣＮＴ＿Ｊが活性化される。それに従いキッカー制御回路ＫＣＣは、イネーブル信号ＳＷ０＿ＥＮ＿Ｊ〜ＳＷｎ＿ＥＮ＿Ｊに従った信号を出力する。例えば、イネーブル信号ＳＷ０＿ＥＩ＿Ｊ〜ＳＷｎ＿ＥＮ＿Ｊのうちイネーブル信号ＳＷ０＿ＥＮ＿ＪおよびＳＷ３＿ＥＮ＿Ｊが論理ハイに設定されている場合、キッカー電源回路ＫＰＳのスイッチＳＷ０およびＳＷ３が駆動される。よって、キッカー電源回路ＫＰＳは、９Ｌ×Ｉａの電流をノードＮｉｎｔへ供給する。
【０１２０】
このように、第４の実施形態によるキッカー制御回路ＫＣＣは、出力信号ＰＦｏｕｔの遷移頻度および遷移方向を考慮してキッカー電源回路ＫＰＳの出力電流を調節することができる。
【０１２１】
図１２および図１３は、第４の実施形態による半導体装置の動作を示すタイミング図である。取込みクロックＰＩ０、ＰＩ１、入力部ＰＦｉｎ０、ＰＦｉｎ１のデータ、および、ノードＡ０〜Ａ３のデータの各動作は、図６に示すそれらの動作と同様である。
【０１２２】
図１２のｔ１〜ｔ４において、ノードＡ０〜Ａ３のデータが“１０１０”である。連続する３つのデータ（Ａ３、Ａ０、Ａ１）は２回の遷移を含む。また、連続する３つのデータ（Ａ１、Ａ２、Ａ３）も２回の遷移を含む。従って、入力側キッカークロックＫＩ０の活性化時（ｔ１１）に、ノードＦ４が論理ハイを保持し、入力側キッカークロックＫＩ１の活性化時（ｔ１３）に、ノードＦ５が論理ハイを保持する。
【０１２３】
ｔ１３の後、図１３のｔ２２において、出力側キッカークロックＫＯ０が活性化され、ノードＦ０、Ｆ２およびＦ４のデータが、それぞれキッカー制御信号ＫＣＯＮＴＬ＿Ｈ、ＫＣＯＮＴＬ＿ＩおよびＫＣＯＮＴＬ＿Ｊとして出力される。ｔ２２〜ｔ２３において、ノードＦ４のみが論理ハイに活性化されているため、キッカー制御信号ＫＣＯＮＴＬ＿Ｊが論理ハイに活性化される。その結果、ｔ２２〜ｔ２３において、キッカー制御回路ＫＣＣは、イネーブル信号ＳＷ０＿ＥＮ＿Ｊ〜ＳＷｎ＿ＥＮ＿Ｊに従った信号を出力する。例えば、上述のようにイネーブル信号ＳＷ０＿ＥＮ＿ＪおよびＳＷ３＿ＥＮ＿Ｊが論理ハイに設定されている場合、キッカー電源回路ＫＰＳは、９Ｌ×Ｉａの電流をノードＮｉｎｔへ供給する。
【０１２４】
ｔ２３において、出力側キッカークロックＫＯ０が立ち下がるが、キッカー制御信号ＫＣＯＮＴＬ＿Ｊは論理ハイに維持されている。従って、ｔ２３〜ｔ２４において、キッカー制御回路ＫＣＣは、イネーブル信号ＳＷ０＿ＥＮ＿Ｊ〜ＳＷｎ＿ＥＮ＿Ｊに従った出力を維持する。
【０１２５】
その後、ｔ２４において、出力側キッカークロックＫＯ１が活性化され、ノードＦ１、Ｆ３およびＦ５のデータが、それぞれキッカー制御信号ＫＣＯＮＴＬ＿Ｈ、ＫＣＯＮＴＬ＿ＩおよびＫＣＯＮＴＬ＿Ｊとして出力される。ｔ２４〜ｔ２５において、ノードＦ５のみが論理ハイに活性化されているため、キッカー制御信号ＫＣＯＮＴＬ＿Ｊが論理ハイに維持される。その結果、ｔ２４〜ｔ２５においても、キッカー制御回路ＫＣＣは、イネーブル信号ＳＷ０＿ＥＮ＿Ｊ〜ＳＷｎ＿ＥＮ＿Ｊに従った信号を出力する。
【０１２６】
ｔ２５において、出力側キッカークロックＫＯ１が立ち下がるが、キッカー制御信号ＫＣＯＮＴＬ＿Ｊは論理ハイに維持されている。従って、ｔ２５〜ｔ２６において、キッカー制御回路ＫＣＣは、イネーブル信号ＳＷ０＿ＥＮ＿Ｊ〜ＳＷｎ＿ＥＮ＿Ｊに従った出力を維持する。
【０１２７】
図１２を再度参照する。ｔ５〜ｔ６において、ノードＡ０〜Ａ３のデータが“１１１０”である。連続する３つのデータ（Ａ３、Ａ０、Ａ１）は１回の遷移を含む。この場合のデータの遷移方向は、“０”から“１”である。また、連続する３つのデータ（Ａ１、Ａ２、Ａ３）も１回の遷移を含む。この場合のデータの遷移方向は、“１”から“０”である。従って、入力側キッカークロックＫＩ０の活性化時（ｔ１５）に、ノードＦ０が論理ハイを保持し、入力側キッカークロックＫＩ１の活性化時（ｔ１７）に、ノードＦ３が論理ハイを保持する。
【０１２８】
ｔ１７の後、図１３のｔ２６において、出力側キッカークロックＫＯ０が活性化され、ノードＦ０、Ｆ２およびＦ４のデータが、それぞれキッカー制御信号ＫＣＯＮＴＬ＿Ｈ、ＫＣＯＮＴＬ＿ＩおよびＫＣＯＮＴＬ＿Ｊとして出力される。ｔ２６〜ｔ２７において、ノードＦ０のみが論理ハイに活性化されているため、キッカー制御信号ＫＣＯＮＴＬ＿Ｈが論理ハイに活性化される。その結果、ｔ２６〜ｔ２７において、キッカー制御回路ＫＣＣは、イネーブル信号ＳＷ０＿ＥＮ＿Ｈ〜ＳＷｎ＿ＥＮ＿Ｈに従った信号を出力する。例えば、上述のようにイネーブル信号ＳＷ２＿ＥＮ＿Ｈのみが論理ハイに設定されている場合、キッカー電源回路ＫＰＳは、４Ｌ×Ｉａの電流をノードＮｉｎｔへ供給する。
【０１２９】
ｔ２７において、出力側キッカークロックＫＯ０が立ち下がるが、キッカー制御信号ＫＣＯＮＴＬ＿Ｈは論理ハイに維持されている。従って、ｔ２７〜ｔ２８において、キッカー制御回路ＫＣＣは、イネーブル信号ＳＷ０＿ＥＮ＿Ｈ〜ＳＷｎ＿ＥＮ＿Ｈに従った出力を維持する。
【０１３０】
その後、ｔ２８において、出力側キッカークロックＫＯ１が活性化され、ノードＦ１、Ｆ３およびＦ５のデータが、それぞれキッカー制御信号ＫＣＯＮＴＬ＿Ｈ、ＫＣＯＮＴＬ＿ＩおよびＫＣＯＮＴＬ＿Ｊとして出力される。ｔ２８〜ｔ２９において、ノードＦ３のみが論理ハイに活性化されているため、キッカー制御信号ＫＣＯＮＴＬ＿Ｉが論理ハイに活性化される。その結果、ｔ２８〜ｔ２９において、キッカー制御回路ＫＣＣは、イネーブル信号ＳＷ０＿ＥＮ＿Ｉ〜ＳＷｎ＿ＥＮ＿Ｉに従った信号を出力する。例えば、上述のようにイネーブル信号ＳＷ０＿ＥＮ＿ＩおよびＳＷ２＿ＥＮ＿Ｉが論理ハイに設定されている場合、キッカー電源回路ＫＰＳは、５Ｌ×Ｉａの電流をノードＮｉｎｔへ供給する。
【０１３１】
ｔ２９において、出力側キッカークロックＫＯ１が立ち下がるが、キッカー制御信号ＫＣＯＮＴＬ＿Ｉは論理ハイに維持されている。従って、ｔ２８〜ｔ２９において、キッカー制御回路ＫＣＣは、イネーブル信号ＳＷ０＿ＥＮ＿Ｉ〜ＳＷｎ＿ＥＮ＿Ｉに従った出力を維持する。
【０１３２】
このように、第４の実施形態は、出力信号ＰＦｏｕｔの遷移頻度および遷移方向に基づいてキッカー電源回路ＫＰＳから供給される電流量を変更することができる。第４の実施形態は、さらに、第１の実施形態の効果も得ることができる。
【０１３３】
（第５の実施形態）
図１４は、本発明に係る第５の実施形態に従ったキッカー制御回路ＫＣＣの構成を示す回路図である。図１５は、出力ハイインピーダンス状態におけるオフチップドライバＯＣＤの様子を示す図である。第５の実施形態によるキッカー制御回路ＫＣＣは、出力ハイインピーダンス状態の終了直後に、ノードＡ０に最初に保持されたデータに基づいてキッカー電源回路ＫＰＳの出力電流を変更する。即ち、出力動作開始後、最初のノードＡ０のデータが“０”である場合と、それが“１”である場合とで、キッカー制御回路ＫＣＣは供給する電流量を変更する。
【０１３４】
以下、オフチップドライバＯＣＤの出力ハイインピーダンス状態について説明する。
【０１３５】
通常、Ｉ／Ｏパッドからデータを出力しない場合には、オフチップドライバＯＣＤの出力、すなわちＩ／Ｏパッドはハイインピーダンス状態になっており、ハイ側電源ＶＤＤＱおよびロウ側電源ＶＳＳＱの両方から切断している。よって、オフチップドライバＯＣＤは論理ハイも論理ロウも出力していない状態（不定状態）である。
【０１３６】
図１５に示すように一般的にオフチップドライバＯＣＤは、ハイ側電源ＶＤＤＱとロウ側電源ＶＳＳＱとの間に接続されたインバータＩＮｏｃｄを備えている。インバータＩＮｏｃｄは、ハイ側電源ＶＤＤＱとロウ側電源ＶＳＳＱのいずれかを、信号ＰＦｏｕｔの論理に基づいて出力する。オフチップドライバＯＣＤが“１”を出力するときには、インバータＩＮｏｃｄのＰＭＯＳがオンし、ＮＭＯＳがオフになる。これにより、オフチップドライバＯＣＤは、論理ハイ（電源ＶＤＤＱ）を出力する。オフチップドライバＯＣＤが“０”を出力するときには、インバータＩＮｏｃｄのＮＭＯＳがオンし、ＰＭＯＳがオフになる。これにより、オフチップドライバＯＣＤは、論理ロウ（ＶＳＳＱ）を出力する。
【０１３７】
一方、ハイインピーダンス信号ＤＨｉＺは、出力信号ＰＦｏｕｔを無効にし、ハイ側電源ＶＤＤＱおよびロウ側電源ＶＳＳＱの両方をオフチップドライバＯＣＤの出力から切断させる信号である。従って、図１５に示すように、出力ハイインピーダンス信号ＤＨｉＺが論理ハイに活性化されているときに、インバータＩＮｏｃｄのＮＭＯＳおよびＰＭＯＳがともにオフになっている。このように、出力ハイインピーダンス状態では、オフチップドライバＯＣＤは、“０”も“１”も出力せず、回路内の各ノードは“０”、“１”出力時の中間状態にある。このため、出力ハイインピーダンス状態からデータ出力動作を開始した直後にオフチップドライバＯＣＤ内の各ノードの状態遷移に伴う消費電流は、通常のデータ出力動作におけるデータの遷移時（“１”から“０”、あるいは、“０”から“１”）においてオフチップドライバＯＣＤで消費される電流よりも小さい。また、第３の実施形態と同様に、オフチップドライバＯＣＤの消費電流がデータの遷移方向によって異なる場合、データ出力動作を開始した直後の信号ＰＦｏｕｔの論理によって、キッカー電源回路ＫＰＳが供給する電流量を変更する必要がある。
【０１３８】
そこで、第５の実施形態によるキッカー制御回路ＫＣＣは、ハイインピーダンス状態の終了直後に、ノードＡ０に最初に保持されたデータに基づいてキッカー電源回路ＫＰＳの出力電流を変更する。
【０１３９】
このキッカー制御回路ＫＣＣは、ノードＡ０に最初に保持されるデータのみに基づいて動作し、その後、停止する。ハイインピーダンス状態から抜けた後の動作は、第１から第４の実施形態のいずれかの動作と同様でよい。即ち、第５の実施形態によるキッカー制御回路ＫＣＣは、データ出力動作を開始した直後のキッカー電源回路ＫＰＳの動作を、その後の動作とは独立して制御する。
【０１４０】
尚、入力側キッカークロックＫＩ０が最初に立ち上がるときには、ハイインピーダンス信号ＤＨｉＺはまだ論理ハイに活性化されている。つまり、プリフェッチ回路ＰＦＣが動作を開始し、最初の出力データを取込んでいる時点では、オフチップドライバＯＣＤは、まだハイインピーダンス状態にある。この段階で、キッカー制御回路ＫＣＣは、ノードＡ０のデータに応じてキッカー電源回路ＫＰＳの供給電流を決定する。従って、オフチップドライバＯＣＤがハイインピーダンス状態から出力動作にエントリする時点において、キッカー電源回路ＫＰＳは遅滞無く電流を供給することができる。
【０１４１】
図１４のキッカー制御回路ＫＣＣは、ＡＮＤゲートＧ１００、Ｇ１０１と、クロックトインバータＩＮｋ、ＩＮｍと、インバータＩＮ８０、ＩＮ８１、ＩＮ９０、ＩＮ９１と、ゲート回路Ｇ１１０〜Ｇ１１４とを備えている。ハイインピーダンス信号ＤＨｉＺは、オフチップドライバＯＣＤがハイインピーダンス状態にあるときに、論理ハイに活性化されている。
【０１４２】
ゲートＧ１００は、ノードＡ０の反転データおよび信号ＤＨｉＺを受け取り、これらのデータの論理和を出力する。ゲートＧ１０１は、ノードＡ０および信号ＤＨＩＺの反転信号を受け取り、これらのデータの論理和を出力する。ゲートＧ１００がノードＡ０の最初のデータを受け取る時点では、信号ＤＨｉＺは、まだ、論理ハイに活性化されている。従って、ノードＡ０の最初のデータが“０”である場合、信号ＤＥＣ０＿０が論理ハイに活性化される。信号ＤＥＣ０＿０は、入力側キッカークロックＫＩ０の活性化時にノードＨ０に保持される。一方、ノードＡ０の最初のデータが“１”に遷移する場合、信号ＤＥＣ１＿０が論理ハイに活性化される。信号ＤＥＣ１＿０は、入力側キッカークロックＫＩ０の活性化時にノードＨ１に保持される。
【０１４３】
ノードＨ０、Ｈ１のデータは、出力側キッカークロックＫＯ０の活性化時にキッカー制御信号ＫＣＮＴＬ＿ＬおよびＫＣＮＴＬ＿Ｍとして出力される。ノードＨ０が論理ハイである場合、キッカー制御回路ＫＣＣは、スイッチイネーブル信号ＳＥ０＿ＥＮ＿Ｌ〜ＳＥｎ＿ＥＮ＿Ｌに基づいてスイッチ制御信号ＳＷ０＿ＣＮＴ〜ＳＷｎ＿ＣＮＴを出力する。ノードＨ１が論理ハイである場合、キッカー制御回路ＫＣＣは、スイッチイネーブル信号ＳＥ０＿ＥＮ＿Ｍ〜ＳＥｎ＿ＥＮ＿Ｍに基づいてスイッチ制御信号ＳＷ０＿ＣＮＴ〜ＳＷｎ＿ＣＮＴを出力する。
【０１４４】
例えば、データ出力動作の開始後、ノードＡ０の最初のデータが “０”である場合、スイッチイネーブル信号ＳＷ０＿ＥＮ＿Ｌ〜ＳＷｎ＿ＥＮ＿ＬのうちＳＷ０＿ＥＮ＿ＬおよびＳＷ１＿ＥＮ＿Ｌを論理ハイに設定する。この場合、キッカー電源回路ＫＰＳは、３Ｌ×ＩａをノードＮｉｎｔへ供給する。一方、ノードＡ０の最初のデータが “１”である場合、スイッチイネーブル信号ＳＷ０＿ＥＮ＿Ｍ〜ＳＷｎ＿ＥＮ＿ＭのうちＳＷ１＿ＥＮ＿Ｍのみを論理ハイに設定する。この場合、キッカー電源回路ＫＰＳは、２Ｌ×ＩａをノードＮｉｎｔへ供給する。
【０１４５】
尚、スイッチイネーブル信号ＳＷ０＿ＥＮ＿Ｌ〜ＳＷｎ＿ＥＮ＿ＬおよびＳＷ０＿ＥＮ＿Ｍ〜ＳＷｎ＿ＥＮ＿Ｍのデータは、ＲＯＭに予め格納しておけばよい。また、ＲＯＭに格納されているデータを入力として、何らかの動作制御信号と論理をとりスイッチイネーブル信号としても良い。
【０１４６】
この例では、第３の実施形態に適合するように、キッカー電源回路ＫＰＳは、データが“１”から“０”へ遷移する場合に、データが“０”から“１”へ遷移する場合よりも大きな電流をノードＮｉｎｔへ供給すると仮定している。また、第３の実施形態では、キッカー電源回路ＫＰＳは、データが“１”から“０”へ遷移する場合に、５Ｌ×Ｉａを出力し、データが“０”から“１”へ遷移する場合に、４Ｌ×Ｉａを出力している。
【０１４７】
一方、第５の実施形態では、キッカー電源回路ＫＰＳは、ハイインピーダンス状態から“０”へ遷移する場合に、３Ｌ×Ｉａを出力し、ハイインピーダンス状態から“１”へ遷移する場合に、２Ｌ×Ｉａを出力している。このように、ハイインピーダンス状態からデータ出力状態にエントリした後に最初にデータを出力するときにキッカー電源回路ＫＰＳが出力する電流は、通常のデータ出力動作においてデータが遷移するときにキッカー電源回路ＫＰＳが出力する電流よりも小さく設定されている。
【０１４８】
これにより、キッカー制御回路ＫＣＣおよびキッカー電源回路ＫＰＳは、オフチップドライバＯＣＤによる消費電流分を過不足無く電流を供給することができる。
【０１４９】
図１６は、第５の実施形態による半導体装置の動作を示すタイミング図である。取込みクロックＰＩ０、ＰＩ１、入力部ＰＦｉｎ０、ＰＦｉｎ１のデータ、および、ノードＡ０〜Ａ３のデータの各動作は、図６に示すそれらの動作と同様である。
【０１５０】
信号ＤＥＣ０＿０〜ＤＥＣ１＿０は、ノードＡ０〜Ａ３のデータの論理に基づいて決定される。尚、図１６に示す例では、ハイインピーダンス状態からデータ出力動作へエントリして最初にノードＡ０に保持されるデータは、“１”である。
【０１５１】
出力ハイインピーダンス信号ＤＨｉＺは、出力側キッカークロックＫＯ０の活性化される（ｔ２２）まで（信号ＰＦｏｕｔの出力直前まで）、活性状態を維持している。出力ハイインピーダンス状態のもとで、入力側キッカークロックＫＩ０が活性化される（ｔ１１）。これにより、信号ＤＥＣ０＿０およびＤＥＣ１＿０がそれぞれノードＨ０、Ｈ１に伝達される。これにより、ノードＨ０、Ｈ１のデータは、それぞれ論理ロウおよび論理ハイになる。
【０１５２】
ｔ２２において、ハイインピーダンス状態が終了し、出力側キッカークロックＫＯ０が活性化される。これにより、ノードＨ０、Ｈ１のデータは、キッカー制御クロックＫＣＮＴＬ＿Ｌ、ＫＣＮＴＬ＿Ｍとしてゲート回路Ｇ１１０〜Ｇ１１ｎへ出力される。図１６の例では、キッカー制御クロックＫＣＮＴＬ＿Ｍが活性化されるので、キッカー制御回路ＫＣＣは、イネーブル信号ＳＷ０＿ＥＮ＿Ｍ〜ＳＷｎ＿ＥＮ＿Ｍに基づいたスイッチ制御信号ＳＷ０＿ＣＮＴ〜ＳＷｎ＿ＣＮＴを出力する。第５の実施形態では、イネーブル信号ＳＷ０＿ＥＮ＿Ｍ〜ＳＷｎ＿ＥＮ＿Ｍのうち信号ＳＷ１＿ＥＮ＿Ｍのみが論理ハイに設定されている。よって、キッカー電源回路ＫＰＳは、ｔ２２において、２Ｌ×Ｉａの電流をノードＮｉｎｔへ供給する。
【０１５３】
尚、図１６では、図示しないが、ノードＡ０の最初のデータが“０”である場合には、信号ＤＥＣ０＿０、ノードＨ０のデータおよびキッカー制御クロックＫＣＮＴＬ＿Ｌが論理ハイに活性化され、スイッチＳＷ０およびＳＷ１がオンする。従って、キッカー電源回路ＫＰＳは、ｔ２２において、３Ｌ×Ｉａの電流をノードＮｉｎｔへ供給する。
【０１５４】
このように、第５の実施形態によるキッカー制御回路ＫＣＣおよびキッカー電源回路ＫＰＳは、ハイインピーダンス状態からデータ出力状態へエントリする際に、最初の出力データに応じた電流をノードＮｉｎｔへ供給することができる。これにより、データ出力動作の開始時に、オフチップドライバＯＣＤの消費電流が大きい場合であっても、キッカー電源回路ＫＰＳは適切な電流を供給し、内部電源電圧ＶＩＮＴの変動を抑制することができる。
【０１５５】
第５の実施形態は、第１から第４の実施形態のいずれにも適用することができる。この場合、第１から第４の実施形態のいずれかに従ったキッカー制御回路ＫＣＣに第５の実施形態によるキッカー制御回路ＫＣＣを組み合わせればよい。これにより、第５の実施形態は、第１から第４の実施形態のいずれかの効果をも得ることができる。
【０１５６】
（第６の実施形態）
図１７は、本発明に係る第６の実施形態に従ったキッカー制御回路ＫＣＣの構成を示す回路図である。第６の実施形態は、インバータＩＮｃｎｔとゲートゲートＧ１０〜Ｇ１ｎとの間に設けられたパルス発生回路ＰＧをさらに備えている。第６の実施形態のキッカー制御回路ＫＣＣのその他の構成は、図４に示す第１の実施形態のキッカー制御回路ＫＣＣの構成と同様でよい。
【０１５７】
これまで、プリフェッチ回路ＰＦＣの動作周波数一定の下でキッカー電源回路ＫＰＳは“電流”を供給するという前提で述べてきたが、一般にメモリは複数の動作周波数をサポートし、動作周波数に応じて各クロックの幅は変化する。しかしながら、出力データの遷移１回当たりにオフチップドライバＯＣＤで消費される電荷量は変化しないので、キッカー電源回路ＫＰＳは動作周波数によらず一定の電荷を供給することが好ましい。キッカー電源回路ＫＰＳが供給する電荷が、オフチップドライバＯＣＤで消費される電荷よりも多ければ、内部電源電圧ＶＩＮＴは上昇し、少なければ、内部電源電圧ＶＩＮＴは低下するからである。
【０１５８】
しかし、第１の実施形態では、図６に示すように、キッカー制御信号ＫＣＮＴＬの活性化時間は、出力側キッカークロックＫＯ０、ＫＯ１で制御されている。出力側キッカークロックＫＯ０、ＫＯ１を含むプリフェッチ回路ＰＦＣの動作周波数は、取込みクロックＰＩ０、ＰＩ１によって決定される。出力信号ＰＦｏｕｔの周波数が変化すると、それに伴い出力側キッカークロックＫＯ０、ＫＯ１の周波数および出力信号ＰＦｏｕｔの周波数も変化する。このため、キッカー電源回路ＫＰＳから供給される電荷量は、出力側キッカークロックＫＯ０、ＫＯ１の動作周波数、すなわち活性化時間に依存して変化する。
【０１５９】
そこで、第６の実施形態では、パルス発生回路ＰＧを設けることによって、キッカー電源回路ＫＰＳは、出力側キッカークロックＫＯ０、ＫＯ１の動作周波数に依存することなく、出力信号ＰＦｏｕｔの遷移回数に応じた電荷をノードＮｉｎｔに供給する。図１７の構成において、パルス発生回路ＰＧは、インバータＩＮｃｎｔの出力が活性化されたときに（キッカー制御信号ＫＣＮＴＬを活性化すべきときに）、動作周波数によらず一定幅のパルス信号を生成し、そのパルス信号をキッカー制御信号ＫＣＮＴＬとしてゲートＧ１０〜Ｇ１ｎに送信する。即ち、第６の実施形態では、キッカー制御信号ＫＣＮＴＬは、一定幅のパルス信号となる。キッカー制御回路ＫＣＣは、キッカー制御信号ＫＣＮＴＬが活性化されている期間だけキッカー電源回路ＫＰＳを駆動させ、電流を供給する。従って、動作周波数によらず、キッカー電源回路ＫＰＳは一定の電荷量を供給することができる。
【０１６０】
図１８は、第６の実施形態による半導体装置の出力動作を示すタイミング図である。ｔ２２において、ノードＣ０のデータはパルス発生回路ＰＧへ転送され、キッカー制御信号ＫＣＮＴＬが活性化される。その後、パルス発生回路ＰＧは一定時間出力し続け、ｔ２２０まで活性状態を持続する。また、ｔ２４において、ノードＣ１のデータはパルス発生回路ＰＧへ転送され、キッカー制御信号ＫＣＮＴＬ。パルス信号の幅は、１回のデータ遷移によってオフチップドライバＯＣＤで消費される電荷量に応じて決定される。
【０１６１】
図１８では、キッカー制御信号ＫＣＮＴＬおよびスイッチ制御信号ＳＷｉ＿ＣＮＴがパルス状に制御されている。図１８に示すその他の信号動作は、図６に示す信号動作と同様である。
【０１６２】
このように、第６の実施形態は、プリフェッチ回路ＰＦＣの動作周波数に依存することなく、出力信号ＰＦｏｕｔのデータ遷移回数に応じた電荷をノードＮｉｎｔに供給することができる。
【０１６３】
第６の実施形態は、第１の実施形態だけでなく、第２〜第５の実施形態に適用することができる。この場合、パルス発生回路ＰＧは、キッカー制御信号に対応して設けられる。従って、パルス発生回路ＰＧは、キッカー制御信号ＫＣＮＴＬ＿Ａ〜ＫＣＮＴＬ＿Ｍのそれぞれに対応して設ければよい。
【０１６４】
これにより、第６の実施形態は、第１〜第５の実施形態のいずれかの効果をも得ることができる。
【０１６５】
（第７の実施形態）
第１〜第６の実施形態において、キッカー電源回路ＫＰＳは複数のＩ／Ｏパッドに対して１つ設けられてもよい。
【０１６６】
例えば、図１９は、本発明に係る第７の実施形態に従ったキッカー制御回路ＫＣＣおよびキッカー電源回路ＫＰＳの構成を示すブロック図である。第７の実施形態では、８つのＩ／Ｏパッドに対して４つのキッカー電源回路ＫＰＳが設けられている。つまり、２つのＩ／Ｏパッドごとに１つのキッカー電源回路ＫＰＳが設けられている。キッカー電源回路ＫＰＳ＿０１〜ＫＰＳ＿６７は、それぞれ図３に示す構成と同様でよい。
【０１６７】
キッカー制御回路の後段部分ＫＣＣｂ＿０１〜ＫＣＣｂ＿６７は、図４に示すキッカー制御回路ＫＣＣの後段部分ＫＣＣｂを変更した構成を有し、図２０に示されている。キッカー制御回路ＫＣＣｂ＿０１〜ＫＣＣｂ＿６７の前段部分は、図４に示すキッカー制御回路ＫＣＣの前段部分ＫＣＣｆと同じ構成でよい。よって、キッカー制御回路ＫＣＣｂ＿０１〜ＫＣＣｂ＿６７の前段部分ＫＣＣｆは、それぞれＩ／Ｏパッドごとに（例えば、８つ）設けられており、一方、キッカー制御回路ＫＣＣｂ＿０１〜ＫＣＣｂ＿６７の後段部分ＫＣＣｂ＿０１〜ＫＣＣｂ＿６７は、２つのＩ／Ｏパッド（２つの前段部分ＫＣＣｆ）に対して１つ設けられている。前段部分ＫＣＣｆは、図４に示すＫＣＣｆと同様であるので、その図示を省略している。
【０１６８】
例えば、キッカー制御回路の後段部分ＫＣＣｂ＿０１は、２つのＩ／ＯパッドＩＯ０、ＩＯ１に対応する前段部分からキッカー制御信号ＫＣＮＴＬ＿０、ＫＣＮＴＬ＿１を受け取る。後段部分ＫＣＣｂ＿０１は、キッカー制御信号ＫＣＮＴＬ＿０、ＫＣＮＴＬ＿１を論理演算し、キッカー電源回路ＫＰＳ＿０１を制御する。２つのＩ／ＯパッドＩＯ０、ＩＯ１の両方においてデータの遷移が生じている場合、後段部分ＫＣＣｂ＿０１は、大きな電流ＩｍａｘをノードＮｉｎｔに供給するようにキッカー電源回路ＫＰＳ＿０１を制御する。２つのＩ／ＯパッドＩＯ０、ＩＯ１の一方においてデータの遷移が生じている場合、後段部分ＫＣＣｂ＿０１は、Ｉｍａｘの２分の１の電流をノードＮｉｎｔに供給するようにキッカー電源回路ＫＰＳ＿０１を制御する。２つのＩ／ＯパッドＩＯ０、ＩＯ１の両方においてデータの遷移が生じていない場合、後段部分ＫＣＣｂ＿０１は、電流をノードＮｉｎｔに供給しないようにキッカー電源回路ＫＰＳ＿０１を制御する。
【０１６９】
キッカー制御回路の後段部分ＫＣＣｂ＿２３〜ＫＣＣｂ＿６７も、それぞれに対応する２つのＩ／Ｏパッド（ＩＯ２，ＩＯ３）、（ＩＯ４，ＩＯ５）および（ＩＯ６，ＩＯ７）のデータの遷移に基づいて、後段部分ＫＣＣｂ＿０１と同様に動作する。
【０１７０】
図２０は、キッカー制御回路の後段部分ＫＣＣｂ＿０１〜ＫＣＣｂ＿６７の構成を示す回路図である。キッカー制御回路の後段部分ＫＣＣｂ＿ｘｙ（ｘｙ＝０１、２３、４５または６７）は、Ｉ／ＯパッドＩＯｘ、ＩＯｙに対応する前段部分ＫＣＣｆ＿ｘｙからキッカー制御信号ＫＣＮＴＬ＿ｘおよびＫＣＮＴＬ＿ｙを受け取る。
【０１７１】
キッカー制御回路の後段部分ＫＣＣｂ＿ｘｙは、ＥＸＯＲゲートＧ２０１、ＡＮＤゲートＧ２０２、ゲート回路Ｇ２１０〜Ｇ２１ｎを備えている。ＥＸＯＲゲートＧ２０１は、キッカー制御信号ＫＣＮＴＬ＿０およびＫＣＮＴＬ＿１の排他的論理和をキッカー制御信号ＫＣＮＴＬ＿Ｓ＿ｘｙとして出力する。ＥＸＯＲゲートＧ２０１は、Ｉ／ＯパッドＩＯｘ、ＩＯｙのいずれか一方から出力されるデータが遷移する場合に、キッカー制御信号ＫＣＮＴＬ＿Ｓ＿ｘｙを論理ハイに活性化させる。
【０１７２】
ＡＮＤゲートＧ２０２は、キッカー制御信号ＫＣＮＴＬ＿０およびＫＣＮＴＬ＿１の論理和をキッカー制御信号ＫＣＮＴＬ＿Ｔ＿ｘｙとして出力する。ＥＸＯＲゲートＧ２０１は、Ｉ／ＯパッドＩＯｘ、ＩＯｙの両方から出力されるデータが遷移する場合に、キッカー制御信号ＫＣＮＴＬ＿Ｔ＿ｘｙを論理ハイに活性化させる。
【０１７３】
キッカー制御信号ＫＣＮＴＬ＿Ｓ＿ｘｙが活性化されると、ゲート回路Ｇ２１０〜Ｇ２１ｎは、イネーブル信号ＳＷｉ＿ＥＮ＿Ｓをスイッチ制御信号ＳＷｉ＿ＣＮＴ＿ｘｙとして出力する。例えば、イネーブル信号ＳＷｉ＿ＥＮ＿ＳのうちＳＷ２＿ＥＮ＿Ｓのみが論理ハイに設定されているものとする。この場合、スイッチ制御信号ＳＷ２＿ＣＮＴ＿ｘｙのみが活性化され、第１の実施形態と同様に、キッカー電源回路ＫＰＳは、４×Ｉａの電流をノードＮｉｎｔへ供給する。
【０１７４】
一方、キッカー制御信号ＫＣＮＴＬ＿Ｔ＿ｘｙが活性化されると、ゲート回路Ｇ２１０〜Ｇ２１ｎは、イネーブル信号ＳＷｉ＿ＥＮ＿Ｔをスイッチ制御信号ＳＷｉ＿ＣＮＴ＿ｘｙとして出力する。例えば、イネーブル信号ＳＷｉ＿ＥＮ＿ＴのうちＳＷ３＿ＥＮ＿Ｔのみが論理ハイに設定されているものとする。この場合、スイッチ制御信号ＳＷ３＿ＣＮＴ＿ｘｙのみが活性化され、キッカー電源回路ＫＰＳは、８×Ｉａの電流をノードＮｉｎｔへ供給する。
【０１７５】
さらに、Ｉ／ＯパッドＩＯｘ、ＩＯｙの両方から出力されるデータが遷移しない場合、キッカー制御信号ＫＣＮＴＬ＿Ｓ＿ｘｙおよびＫＣＮＴＬ＿Ｔ＿ｘｙは活性化されないので、キッカー電源回路ＫＰＳは電流を供給しない。
【０１７６】
このように、第７の実施形態によるキッカー制御回路（ＫＣＣ＿ｆおよびＫＣＣ＿ｂ＿ｘｙ）は、複数のＩ／Ｏパッドのそれぞれから出力されるデータの遷移に応じてノードＮｉｎｔへ供給する電流量を調節することができる。例えば、キッカー制御回路の後段部分ＫＣＣ＿ｂ＿ｘｙは、データ遷移が生じているＩ／Ｏパッド数に比例した電流量をノードＮｉｎｔへ供給するようにキッカー電源回路ＫＰＳを制御することができる。
【０１７７】
第７の実施形態は、第１の実施形態以外の第２から第６の実施形態に適用することができる。１つのＩ／Ｏパッドに対して複数のキッカー制御信号ＫＣＮＴＬ＿Ａ〜ＫＣＮＴＬ＿Ｍが生成される場合（第２〜第５の実施形態の場合）、各キッカー制御信号(ＫＣＮＴＬ＿Ａ〜ＫＣＮＴＬ＿Ｍ)に対してゲートＧ２０１およびＧ２０２が設けられる。各キッカー制御信号(ＫＣＮＴＬ＿Ａ〜ＫＣＮＴＬ＿Ｍ)に対応するゲートＧ２０１およびＧ２０２は、それぞれ複数のＩ／Ｏパッドに対応するキッカー制御信号ＫＣＮＴＬ＿ｘ、ＫＣＮＴＬ＿ｙを受ける。従って、１つのキッカー制御回路の後段部分は、第２から第５の実施形態におけるキッカー制御信号(ＫＣＮＴＬ＿Ａ〜ＫＣＮＴＬ＿Ｍ)の数に、対応するＩ／Ｏパッドの数を乗算した個数Ｚの信号を受け取る。例えば、第２の実施形態では、１つのキッカー制御回路の後段部分は、各Ｉ／Ｏパッドに対応したキッカー制御信号（ＫＣＮＴＬ＿Ａ、ＫＣＮＴＬ＿Ｂ）を受け取る。このように、第２の実施形態に第７の実施形態を適用すると、１つのキッカー制御回路の後段部分は、合計４つのキッカー制御信号を受け取る。
【０１７８】
また、ゲート回路Ｇ２１０〜Ｇ２１ｎは、１つのＮＯＲゲートを含む点で、第７の実施形態と変わらない。しかし、ゲート回路Ｇ２１０〜Ｇ２１ｎは、各ＮＯＲゲートに個数ＺのＡＮＤゲートを対応させる。例えば、第２の実施形態に第７の実施形態を適用すると、ゲート回路Ｇ２１０〜Ｇ２１ｎの各ＮＯＲゲートは、４つのＡＮＤゲートの出力を入力し、それらのＮＯＲ演算結果を出力する。即ち、第２の実施形態と第７の実施形態との組合せでは、キッカー電源回路ＫＰＳは、４段階の異なる電流をノードＮｉｎｔへ供給することができる。
【０１７９】
同様に、第４の実施形態と第７の実施形態との組合せでは、キッカー電源回路ＫＰＳは、６段階の異なる電流をノードＮｉｎｔへ供給することができる。
【０１８０】
このように、各Ｉ／Ｏパッドに対応するキッカー制御信号の数をαとし、各キッカー制御回路の後段部分に対応するＩ／Ｏパッドの数をβとすると、第７の実施形態では、キッカー電源回路ＫＰＳは、Ｚ（Ｚ＝α×β）段階の異なる電流をノードＮｉｎｔへ供給することができる。
【０１８１】
さらに、この場合、第７の実施形態は、第１〜第６の実施形態のいずれかの効果をも得ることができる。
【符号の説明】
【０１８２】
ＯＣＤ…オフチップドライバ
ＦＰＳ…フィードバック電源回路
ＫＰＳ…キッカー電源回路
ＫＣＣ…キッカー制御回路
ＰＦＣ…プリフェッチ回路
ＣＤＳ…電流駆動列
ＳＷ０〜ＳＷｎ…スイッチング素子
Ｔｒ１〜Ｔｒｎ…電流駆動素子
【図１】
2011129195.tif 000003
【図２】
2011129195.tif 000004
【図３】
2011129195.tif 000005
【図４】
2011129195.tif 000006
【図５】
2011129195.tif 000007
【図６】
2011129195.tif 000008
【図７】
2011129195.tif 000009
【図８】
2011129195.tif 000010
【図９】
2011129195.tif 000011
【図１０】
2011129195.tif 000012
【図１１】
2011129195.tif 000013
【図１２】
2011129195.tif 000014
【図１３】
2011129195.tif 000015
【図１４】
2011129195.tif 000016
【図１５】
2011129195.tif 000017
【図１６】
2011129195.tif 000018
【図１７】
2011129195.tif 000019
【図１８】
2011129195.tif 000020
【図１９】
2011129195.tif 000021
【図２０】
2011129195.tif 000022