(57)【特許請求の範囲】
【請求項１】
ＩＯ電源系で動作し、常時ＯＮ電源領域および電源遮断可能領域の周囲に配置された複数のＩＯバッファと、
前記ＩＯ電源系で動作し、前記ＩＯバッファの各々を分離するように配置された少なくとも１以上のカットセルと、
省電力モード時に電源遮断を行う前記電源遮断可能領域のＩＯ出力状態を省電力モード時に前記ＩＯバッファに保持させるか否かを指示するＩＯ出力保持信号を出力するスタンバイ制御部と、
前記ＩＯバッファ及び前記カットセルを巡回するように配線されており、かつ前記スタンバイ制御部と接続された少なくとも１以上の配線と、を有し、
前記スタンバイ制御部は、前記ＩＯ出力保持信号を前記配線に出力し、
前記カットセルは、前記ＩＯ電源系で動作するレベルシフタを備え、隣接する前記電源遮断可能領域に対応づけられた前記配線から前記ＩＯ出力保持信号を取り出し、当該ＩＯ出力保持信号を隣接する前記ＩＯバッファの動作する電源系にレベルシフトし、さらにレベルシフトした当該信号をＩＯ出力状態の保持を行うか否かの指示をするラッチ許可信号として隣接する前記ＩＯバッファに供給し、
前記ＩＯバッファは、前記ラッチ許可信号に基づいて隣接する前記電源遮断可能領域のＩＯ出力状態を保持する、マイクロコンピュータ。
【請求項２】
前記ＩＯバッファは、
内部ロジックレベルを前記ＩＯバッファの出力信号電圧に応じた信号レベルにレベルシフトするコア電源−ＩＯ電源レベルシフタと、
前記コア電源−ＩＯ電源レベルシフタからの出力信号を保持するＩＯバッファラッチと、を備え、
前記コア電源−ＩＯ電源レベルシフタは、前記電源遮断可能領域のＩＯ出力状態をレベルシフトした信号を前記ＩＯバッファラッチに出力することを特徴とする請求項１に記載のマイクロコンピュータ。
【請求項３】
前記配線の数は、前記電源遮断可能領域の領域数と同数であることを特徴とする請求項１または請求項２に記載のマイクロコンピュータ。
【請求項４】
前記カットセルが備える前記レベルシフタは、常時電源が遮断されない前記ＩＯ電源系からの配線と接続し、
省電力モード移行時に、ＩＯ出力状態の保持が不要な前記電源遮断可能領域と隣接している前記ＩＯバッファに対して電源供給を行っているＩＯ電源を遮断し、
省電力モードからの復帰時に、電源遮断を行った前記電源遮断可能領域の電源投入を行い、前記ＩＯバッファに供給している前記ラッチ許可信号をＩＯ出力状態の保持を行わない旨を示すようにした後に、電源遮断を行った前記ＩＯ電源の電源投入を行うことを特徴とする請求項１乃至請求項３のいずれかに記載のマイクロコンピュータ。
【請求項５】
前記カットセルは、前記電源遮断可能領域から前記カットセルに出力されるＩＯ出力状態の保持を行うか否かを指示する指示信号を保持するための指示信号保持ラッチを備え、
前記指示信号保持ラッチは、常時電源が遮断されない前記ＩＯ電源系からの電源供給により動作し、
前記カットセルは、前記ラッチ許可信号にかわり、前記指示信号保持ラッチの保持する値に基づいてＩＯ出力状態の保持の指示を行う信号を隣接する前記ＩＯバッファに供給する、請求項１乃至３のいずれかに記載のマイクロコンピュータ。
【請求項６】
前記電源遮断可能領域は、前記指示信号保持ラッチに対して出力する前記指示信号を保持するレジスタを備えることを特徴とする請求項５に記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマイクロコンピュータに関し、特に省電力機能を有するマイクロコンピュータに関する。
【背景技術】
【０００２】
マイクロコンピュータにおいて、省電力化のためにスタンバイモード（省電力モード）が設けられ、スタンバイモード時には、ＣＰＵのクロック周波数の低下、電源電圧の低下、ＣＰＵへのクロック供給の停止、またはＣＰＵへの電源供給の停止等が行われる。
【０００３】
ここで、特許文献１には、低消費電力実現のためのマイクロコンピュータが記載されている。このマイクロコンピュータの構成を図９に示す。このマイクロコンピュータ３００は、通常動作モードに加えて、内部電源１を遮断して、ＣＰＵ３１０のクロックを停止させるディープスタンバイモードを有する。
【０００４】
電源回路３３０は、電力制御部３４０の指示に従って、ＬＳＩ外部から供給される電源を降圧して２種類の内部電源を生成し、ＬＳＩ内部に供給する。内部電源１は、ディープスタンバイ時には電源が遮断される。内部電源２は、ディープスタンバイ時にも電源が供給される。ＩＯバッファ３２０ａ、３２０ｂは、 ＬＳＩ内部の信号をＬＳＩ外部に出力したり、ＬＳＩ外部からの入力信号をＬＳＩ内部に供給したりする。ＩＯバッファ３２０ａ、３２０ｂは複数のグループに分かれており、グループ毎にディープスタンバイ中とディープスタンバイからの復帰直後の端子状態を制御可能である。ＩＯバッファ３２０ａ、３２０ｂにおけるディープスタンバイ中の端子状態は、「端子保持あり」の場合は直前の状態（入力/出力、出力値）を保持し、「端子保持なし」の場合はハイインピーダンス（HiZ）となる。ＩＯバッファ３２０ａ、３２０ｂにおけるディープスタンバイから復帰時の状態は、「端子保持あり」の場合は所定の操作を行うまでは端子保持を継続し、「端子保持なし」の場合はリセット時の状態に移行する。ディープスタンバイモード時は、内部電源１を遮断するので、リーク電流の削減が可能となる。
【０００５】
ＩＯバッファ３２０内には、データラッチ（ＬＡＴ）３２１が設けられている。ＩＯバッファ３２０の構成図を図１０に示す。ディープスタンバイモードからの復帰時まで、データラッチ３２１がＩＯ出力状態を保持する。これにより、ディープスタンバイモードから復帰する際に、ブート処理やその後の一連の処理をデータラッチ３２１に保持された情報を用いて行うことができる。昇圧回路３２２と、降圧回路３２３は、信号の電圧レベルを変換するための回路である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−５９３００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１ではレベルシフタ（昇圧回路３２２、降圧回路３２３）への電源供給に関しては詳しい記載がない。
【０００８】
図１０から直接読み取れるようにレベルシフタ（昇圧回路３２２、降圧回路３２３）の電源が内部電源１から供給されるとする。この場合、昇圧回路３２２が停止してしまうので、ＬＡＴ３２１に供給される信号が不定となってしまう。そのため、ディープスタンバイモード時に、ＩＯ出力の保持動作を保証することができない。また、常時ＯＮされている電源（内蔵電源２）からレベルシフタに電源供給する場合であっても、以下の問題を生じる。図１１は、マイクロコンピュータにおいてレベルシフタ（Ｌ／Ｓ）の電源を常時ＯＮ電源（内蔵電源２）から供給した場合の構成を示す概念図である。図１１を用いて、詳細を説明する。
【０００９】
図１１においてＬＳＩ４００の中に常時ＯＮ電源領域４０１と、電源遮断可能領域４０２、４０３が設けられている。そして、ディープスタンバイモード時であってもＩＯバッファ４０５に常時電源を供給するためには、電源が遮断されない常時ＯＮ電源領域４０１から各ＩＯバッファ４０５に電源供給を行わなければならない。すると、図１１に示すように、電源遮断可能領域４０２、４０３を環囲するように常時ＯＮ電源領域４０１を設け、ＩＯバッファ内のレベルシフタ４０６に電源を供給できるようにする必要がある。
【００１０】
チップ規模や電源領域の分割の方法にも依存するが、一般に常時ＯＮ電源領域４０１は、消費電力低減のため、必要最小限の回路で構成されることが望ましい。この常時ＯＮ電源領域４０１は、最小限の回路で構成されることに伴い、チップ内部に占める面積割合が小さくなることが期待される。また、常時ＯＮ電源領域４０１への電源供給能力も可能な限り絞られるべきである。しかし、図１１のよう電源遮断可能領域４０２、４０３を囲むように常時ＯＮ電源領域４０１を設けると、常時ＯＮ電源領域４０１の面積が大きくなってしまう。さらに、この場合、常時ＯＮ電源領域４０１の増大に伴い、電源配線上に生じるＩＲ積の電圧降下（ＩＲドロップ）が発生し得る。ＩＲドロップが発生し得ることにより、チップ設計が困難となる。
【課題を解決するための手段】
【００１１】
本発明にかかるマイクロコンピュータは、ＩＯ電源系で動作し、常時ＯＮ電源領域および電源遮断可能領域の周囲に配置された複数のＩＯバッファと、前記ＩＯ電源系で動作し、前記ＩＯバッファの各々を分離するように配置された少なくとも１以上のカットセルと、省電力モード時に電源遮断を行う電源遮断可能領域のＩＯ出力値を省電力モード時に前記ＩＯバッファに保持させるか否かを指示するＩＯ出力保持信号を出力するスタンバイ制御部と、前記ＩＯバッファ及び前記カットセルを巡回するように配線されており、かつ前記スタンバイ制御部と接続された少なくとも１以上の配線と、を有し、前記スタンバイ制御部は、前記ＩＯ出力保持信号を前記配線に出力し、前記カットセルは、前記ＩＯ電源系で動作するレベルシフタを備え、隣接する電源遮断可能領域に対応づけられた前記配線から前記ＩＯ出力保持信号を取り出し、当該ＩＯ出力保持信号を隣接するＩＯバッファの動作する電源系にレベルシフトし、さらにレベルシフトした当該信号をＩＯ出力値の保持を行うか否かの指示をするラッチ許可信号として隣接する前記ＩＯバッファに供給し、前記ＩＯバッファは、前記ラッチ許可信号に基づいて隣接する前記電源遮断可能領域のＩＯ出力状態を保持する、ものである。
【００１２】
本発明は、スタンバイモードに移行する前に、ＩＯ出力保持信号が電源遮断可能領域の周辺に配置されたＩＯバッファ群に巡回するようにして供給される。ＩＯバッファは、ＩＯ電源系で動作するため、ＩＯバッファの配置は常時ＯＮ電源領域の配置の影響を受けない。そのため、ＩＯバッファ及び常時ＯＮ電源領域の配置の自由度が増加する。
【発明の効果】
【００１３】
本発明により、スタンバイモード時であってもＩＯ出力を保持することができ、かつ常時ＯＮ電源領域、及びＩＯバッファについて制約の少ないマイクロコンピュータを提供することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１にかかるマイクロコンピュータの構成図である。
【図２】実施の形態１にかかるマイクロコンピュータにおける、ＩＯバッファ１１０等を示すブロック図である。
【図３】実施の形態２にかかるマイクロコンピュータにおける、ＩＯバッファ１１０等を示すブロック図である。
【図４】実施の形態２にかかるスタンバイモード移行時の動作を示すタイミングチャートである。
【図５】実施の形態３にかかるマイクロコンピュータにおける、ＩＯバッファ１１０等を示すブロック図である。
【図６】実施の形態３にかかるマイクロコンピュータにおける、ＩＯ出力保持の関係を示す図である。
【図７】実施の形態３にかかるスタンバイモード移行時の動作を示すタイミングチャートである。
【図８】実施の形態３にかかるスタンバイモード移行時の動作を示すタイミングチャートである。
【図９】従来のマイクロコンピュータの構成図である。
【図１０】従来のマイクロコンピュータにおけるＩＯバッファを示すブロック図である。
【図１１】従来のマイクロコンピュータにおいてレベルシフタの電源を常時ＯＮされている電源から供給した場合の構成を示す概念図である。
【発明を実施するための形態】
【００１５】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。図１は、本実施の形態にかかるマイクロコンピュータの構成を示す図である。図２は、図１中の破線領域の部分拡大図である。
【００１６】
常時ＯＮ電源領域１００は、内部電源系で動作する領域である。常時ＯＮ電源領域１００は、スタンバイモード時であっても、内部電源（コア電源）が供給され、電源が遮断されない領域である。電源遮断可能領域１０１、１０２も、常時ＯＮ電源領域１００と同様に、内部電源系で動作する領域である。電源遮断可能領域は、スタンバイモード時に、内部電源が供給されず、電源が遮断される領域である。電源遮断可能領域の領域数は、任意の数とすることが可能である。スタンバイモード時に、電源遮断が行われるか否かは、電源遮断可能領域の領域毎に設定可能である。以下の記載において、内部ロジックとは常時電源ＯＮ領域１００、または電源遮断可能領域１０１、１０２を指すものとする。
【００１７】
ＩＯバッファ１１０は、常時ＯＮ電源領域１００、電源遮断可能領域１０１、及び電源遮断可能領域１０２の周囲に複数配置されている。ＩＯバッファ１１０は、内部電源とは電圧の異なるＩＯ電源系（ＩＯＶＤＤ）で動作する。ＩＯバッファ１１０は、電源端子間において、異なる電圧で動作する。ＩＯバッファ１１０は、異なる電圧で動作するグループに分けられる。図１の例では、ＩＯバッファ１１０は、５Ｖまたは３．３Ｖの電圧を持つＩＯ電源で動作する。ＩＯバッファ１１０には、図1で示すようにＩＯ電源系の電源ピン（ＩＯＶＤＤ＿ＡＷＯ＿ｎ、 ＩＯＶＤＤ＿ＩＳＯ０＿ｎ、 ＩＯＶＤＤ＿ＩＳＯ１＿ｎ）から電源が供給される。図２に示すように、ＩＯバッファ１１０は、内部にラッチ１８０を備え、当該ラッチによりスタンバイモード時に電源遮断可能領域１０１、１０２のＩＯ出力の保持を行う。すなわち、ラッチ１８０のデータ入力端子には電源遮断可能領域１０１、１０２からの出力信号が入力される。
【００１８】
コア電源−ＩＯ電源レベルシフタ１２０は、ＩＯバッファ１１０の内部に配置されるレベルシフタである。コア電源−ＩＯ電源レベルシフタ１２０は、内部ロジックから出力される信号をＩＯ電源系の電圧に合うようにレベルシフトする。また、コア電源−ＩＯ電源レベルシフタ１２０は、ＩＯバッファ１１０から内部ロジックに出力される信号を内部ロジックの動作電圧に合うようにレベルシフトする。
【００１９】
カットセル１３０は、常時ＯＮ電源領域１００、電源遮断可能領域１０１、及び電源遮断可能領域１０２の周囲に配置される。カットセル１３０は、ＩＯバッファ１１０、及びＶＤＤバッファ１６０を分離するようにして配置される。カットセル１３０も、ＩＯバッファ１１０と同様に、ＩＯ電源系の電圧で動作する。カットセル１３０は、内部にＩＯ電源系で動作するＩＯ電源−ＩＯ電源レベルシフタ１４０を備える。このＩＯ電源−ＩＯ電源レベルシフタ１４０には、３．３Ｖの電圧と、５Ｖの電圧と、がそれぞれ供給されている。ＩＯ電源−ＩＯ電源レベルシフタ１４０は、隣接するＩＯバッファ１１０間の電圧の差を埋めるように、カットセル１３０内を流れる信号をレベルシフトする。
【００２０】
ドメインカットセル１５０、１５１は、カットセル１３０の一種であり、電源遮断可能領域同士の境界または、常時ＯＮ電源領域１００と各電源遮断可能領域との境界に対応して配置される。電源遮断可能領域同士の境界に対応するドメインカットセル１５１は、巡回するＩＯＨＯＬＤ信号を遮断する。常時ＯＮ電源領域（ＡＷＯ）１００と電源遮断可能領域との間に配置されたドメインカットセル１５０は、内部にＩＯ電源系で動作するＩＯ電源−ＩＯ電源レベルシフタ１４０を備える。
【００２１】
配線ＨＬＤｎＦＧは、ＩＯバッファ１１０及びカットセル１３０等を巡回するようにして配線され、かつスタンバイ制御マクロ１０３と接続された配線である。配線ＨＬＤｎＦＧは、電源遮断可能領域の領域数と同数だけ設けられている。各々の配線ＨＬＤｎＦＧは、電源遮断可能領域の各々と対応づけられる。たとえば、ＨＬＤ０ＦＧは、電源遮断可能領域１０１と対応付けられた配線である。同様に、ＨＬＤ１ＦＧは、電源遮断可能領域１０２と対応付けられた配線である。
【００２２】
常時ＯＮ電源領域１００内部には、スタンバイ制御マクロ１０３が配置されている。スタンバイ制御マクロ１０３は、スタンバイモード移行前に、ＩＯバッファ１１０にＩＯ出力の保持を指示する為のＩＯ出力保持信号（以下、ＩＯＨＯＬＤ信号とも記載する。）を出力する。出力されたＩＯＨＯＬＤ信号は、ドメインカットセル１５０内のコア電源−ＩＯ電源レベルシフタ１２０によって、ＩＯ電源系の電圧にレベルシフトされる。レベルシフトされたＩＯＨＯＬＤ信号は、各電源遮断可能領域に対応する配線（ＨＬＤｎＦＧ）に供給される。例えば、スタンバイモード時において、電源遮断可能領域１０１の内部電源を遮断する場合、スタンバイ制御マクロ１０３は電源遮断可能領域１０１のＩＯ出力保持を指示するＩＯＨＯＬＤ０（ＩＯＨＯＬＤ０＝１）を配線ＨＬＤ０ＦＧへ出力する。同様に、スタンバイモード時において、電源遮断可能領域１０２の内部電源を遮断する場合、スタンバイ制御マクロ１０３は電源遮断可能領域１０２のＩＯ出力保持を指示するＩＯＨＯＬＤ１（ＩＯＨＯＬＤ１＝１）を配線ＨＬＤ１ＦＧへ出力する。また、コア電源−ＩＯ電源レベルシフタ１２０によってレベルシフトされた信号は、ＩＯ電源―ＩＯ電源レベルシフタ１４０によって隣接するＩＯバッファ１１０の電圧に合わせてレベルシフトされる。ＩＯ電源―ＩＯ電源レベルシフタ１４０によりレベルシフトされた信号は、隣接するＩＯバッファ１１０に配線ＩＯＨＬＤＧを介して供給される。
【００２３】
配線ＩＯＨＬＤＧは、ＩＯバッファ１１０、ＶＤＤバッファ１６０、コーナーセル１７０を巡るようにして配線されている。ここで、配線ＩＯＨＬＤＧは、ＩＯバッファ１１０が隣接する電源遮断可能領域１０１、１０２に対応した配線ＨＬＤｎＦＧとカットセル１３０内で接続される。例えば、配線ＩＯＨＬＤＧは、電源遮断可能領域０と隣接するカットセル１３０内では、ＨＬＤ０ＦＧと接続されている。配線ＩＯＨＬＤＧは、各ＩＯバッファ１１０に対し、ＩＯ出力を保持する為のラッチ許可信号（配線ＩＯＨＬＤＧに供給される信号）を供給する為に使用される。配線ＩＯＨＬＤＧは、配線ＨＬＤｎＦＧと接続されたカットセル１３０から、別のカットセルと隣接するＩＯバッファ１１０までの各ＩＯバッファ１１０等を接続する。
【００２４】
ＶＤＤバッファ１６０は、ＩＯ電源ピンから電源を供給されるバッファである。ＶＤＤバッファ１６０は、供給された電源を周囲のＩＯバッファ１１０、カットセル１３０、及びコーナーセル１７０に配線を通じて供給する。コーナーセル１７０は、マイクロコンピュータのチップの四隅に配置されるセルである。コーナーセル１７０には、ＶＤＤバッファ１６０からの配線により電源が供給される。
【００２５】
ＩＯＶＤＤ＿ＡＷＯ＿ｎは、常時ＯＮ電源領域１００に隣接するＩＯバッファ１１０、カットセル１３０等に電源を供給する電源ピンである。ＩＯＶＤＤ＿ＩＳＯ０＿ｎは、電源遮断可能領域１０１に隣接するＩＯバッファ１１０、カットセル１３０等に電源を供給する電源ピンである。ＩＯＶＤＤ＿ＩＳＯ１＿ｎは、電源遮断可能領域１０２に隣接するＩＯバッファ１１０、カットセル１３０等に電源を供給する電源ピンである。こられの電源ピンは、ＩＯ電源系（図中では、５Ｖまたは３．３Ｖ）の電圧をＩＯバッファ１１０等に供給する。ＩＯＶＤＤ＿ＡＷＯ＿ｎ、ＩＯＶＤＤ＿ＩＳＯ０＿ｎ、及びＩＯＶＤＤ＿ＩＳＯ１＿ｎはスタンバイモード時でもＯＮとなっている電源である。
【００２６】
続いて、図１および図２を用いて、本実施の形態にかかるマイクロコンピュータにおける、スタンバイモード移行時の動作について説明する。以下の説明では、スタンバイモード移行時に、電源遮断可能領域１０１の電源を遮断することを想定する。
【００２７】
スタンバイモード移行前に、スタンバイ制御マクロ１０３は、電源遮断可能領域１０１のＩＯ出力の保持を指示するためのＩＯＨＯＬＤ０（ＩＯＨＯＬＤ０＝１）を出力する。ＩＯＨＯＬＤ０は、コア電源−ＩＯ電源レベルシフタ１２０によって、ＩＯ電源系の電圧にレベルシフトされた後に、配線ＨＬＤ０ＦＤに出力される。また当該レベルシフトされた信号は、ドメインカットセル１５０内のＩＯ電源−ＩＯ電源レベルシフタ１４０により、隣接するＩＯバッファ１１０の電圧に合わせてレベルシフトされる。ＩＯ電源−ＩＯ電源レベルシフタ１４０によりレベルシフトされた信号は、配線ＩＯＨＬＤＧに供給される。
【００２８】
配線ＩＯＨＬＤＧに供給される信号は、隣接する電源遮断可能領域のＩＯ出力保持を行うか否かをラッチ１８０に指示する信号である（以下、配線ＩＯＨＬＤＧに供給される当該信号をラッチ許可信号とも記載する。）。
【００２９】
ＩＯバッファ１１０にＩＯ出力の保持を指示するラッチ許可信号がラッチ１８０に入力されると、ラッチ１８０は電源遮断可能領域１０１のＩＯ出力の値をラッチする。
【００３０】
スタンバイモードに移行した後には、電源遮断可能領域１０の電源は、遮断される。しかし、電源遮断可能領域１０１に隣接するＩＯバッファ１１０は、スタンバイモード時でも遮断されないＩＯ電源系の電圧で動作する。そのため、スタンバイモードから通常モードに復帰する際にも、ＩＯバッファ１１０内のラッチ１８０によってＩＯ出力値が保持されている。スタンバイモードからの復帰時に、本実施の形態にかかるマイクロコンピュータは、このＩＯ出力を使用して、ブート処理やその後の一連の処理を行う。
【００３１】
次に、実施の形態１にかかるマイクロコンピュータの効果について説明する。上述のように、ＩＯ出力保持を指示する為のＩＯ出力保持信号（ＩＯＨＯＬＤ信号）は、ＩＯバッファ１１０を巡回するようにして供給される。ＩＯバッファ１１０は、ＩＯ電源系で動作するので、ＩＯ電源ピン（ＩＯＶＤＤ＿ＩＳＯｎ＿ｎ）さえ配置すれば、常時ＯＮ電源領域１００からＩＯバッファに電源を供給する必要がなくなる。これにより、常時ＯＮ電源領域１００を大きくしなくてもよく、チップサイズの縮小にも寄与する。また、本実施の形態にかかるマイクロコンピュータでは、常時ＯＮ電源領域１００を電源遮断可能領域１０１、１０２に巡回させる必要がないため、上述のＩＲドロップの問題も生じない。
【００３２】
さらに、カットセル１３０内のＩＯ電源―ＩＯ電源レベルシフタ１４０は常時ＯＮとなっているＩＯ電源系で動作する。これにより、スタンバイモード移行時であっても、ＩＯ出力保持信号が不定となることはなく、適切にＩＯ出力の保持動作を実行することが可能となる。
【００３３】
実施の形態２
本発明の実施の形態２におけるマイクロコンピュータは、ＩＯ電源を巡回させ、そのＩＯ電源からカットセル及びドメインカットセル内のＩＯ電源―ＩＯ電源レベルシフタに電源を供給することを特徴とする。本構成では、ＩＯ出力を保持する必要がない電源遮断可能領域と隣接したＩＯバッファに電源を供給しているＩＯ電源を、スタンバイモード時に遮断する。ここで、スタンバイモードからの復帰時に、ＩＯ電源の投入により不定となるＩＯバッファ内のラッチの値の影響を受けることなく、電源遮断可能領域がリセット状態から動作することが望ましい。この構成におけるマイクロコンピュータのＩＯ出力保持について、実施の形態１と異なる部分を以下に説明する。
【００３４】
図３は、本実施の形態にかかるマイクロコンピュータにおける、ＩＯバッファ１１０、カットセル１３０、ドメインカットセル１５０、及びＶＤＤバッファ１６０を示すブロック図である。本実施の形態では、常時ＯＮ電源領域１００に隣接するＩＯバッファ１１０等に電源を供給していた電源ＩＯＡＷＯ＿ｎからの配線が巡回し、電源遮断可能領域１０１、１０２に隣接するＩＯバッファ１１０等に対しても電源を供給する。
【００３５】
ドメインカットセル１５０及びカットセル１３０内のＩＯ電源―ＩＯ電源レベルシフタ１４０は、電源ＩＯＶＤＤ＿ＡＷＯ＿ｎと接続された周回配線から電源が供給される。
【００３６】
続いて、本実施の形態にかかるマイクロコンピュータのスタンバイモード移行時、及びスタンバイモードからの復帰時の動作について説明する。図４は、スタンバイモード移行時に電源を遮断するＩＯ電源と接続されたＩＯバッファ１１０の動作を示すタイミングチャートである。図４では、スタンバイモード時に電源遮断可能領域１０１の電源を遮断することを想定している。図１、図３、及び図４を参照して、本実施の形態にかかるマイクロコンピュータのスタンバイモードへの移行及びスタンバイモードからの復帰の動作について説明する。
【００３７】
スタンバイ制御マクロ１０３は、スタンバイモード移行前に電源遮断可能領域１０１のＩＯ出力保持を指示するためのＩＯＨＯＬＤ０（ＩＯＨＯＬＤ０＝１）を出力する（Ｔ１）。当該信号ＩＯＨＯＬＤ０（ＩＯＨＯＬＤ０＝１）が入力された各ＩＯバッファ１１０は、ＩＯバッファ１１０内のラッチ１８０によってＩＯ出力値の保持を行う。ここで、内部ＩＯ制御状態（内部ロジックの状態）は"入力"であるため、ラッチ１８０は、この値（"入力"）をＩＯ出力状態として保持する。また、ＩＯＨＯＬＤ０（ＩＯＨＯＬＤ０＝１）が入力された各ＩＯバッファ１１０は、ラッチ制御状態が"入力"であるため、ハイインピーダンス状態（ＨＩ−Ｚ）となる。その後に、電源遮断可能領域１０１の電源（コア電源（ＩＳＯ０））が遮断される（Ｔ２）。
【００３８】
電源遮断可能領域１０１の電源が遮断されたのち、電源遮断可能領域１０１に隣接するＩＯバッファ１１０等に電源を供給するＩＯ電源のうち、電源供給不要なＩＯバッファ１１０等に電源を供給しているＩＯ電源が遮断される（Ｔ３）。電源供給不要なＩＯバッファ１１０等とは、スタンバイモード時に、隣接する内部ロジックのＩＯ出力を保持する必要がないポートグループを指す。図４の例では、ＩＯＶＤＤ＿ＩＳＯ０＿１を遮断している。
【００３９】
スタンバイモードから通常モードへの移行時には、最初に電源遮断可能領域１０１の電源が投入される（Ｔ４）。また、電源遮断可能領域１０１の内部ＩＯ制御状態は、リセット処理により"入力"状態から開始される。電源遮断可能領域１０１の電源が投入された場合、スタンバイ制御マクロ１０３は、ＩＯ出力保持のクリア（ＩＯ出力保持を行わない）を指示するＩＯＨＯＬＤ０信号（ＩＯＨＯＬＤ＝００）を出力する（Ｔ５）。
【００４０】
ＩＯ出力保持のクリア（ＩＯ出力保持を行わない）を指示するＩＯＨＯＬＤ０信号（ＩＯＨＯＬＤ０＝０）がＩＯバッファ１１０に供給された後、ＩＯＶＤＤ＿ＩＳＯ０＿１の電源が投入される。ＩＯＶＤＤ＿ＩＳＯ０＿１と接続されているＩＯバッファ１１０内のラッチ１８０は、ＩＯＶＤＤ＿ＩＳＯ０＿１が落ちている状態であったため、値を保持していない。ここで、ＩＯ出力保持のクリア（ＩＯ出力保持を行わない）を指示するＩＯＨＯＬＤ０信号（ＩＯＨＯＬＤ０＝０）が出力されているため、ラッチ１８０がＩＯＶＤＤ＿ＩＳＯ０＿１の電源投入後に電源遮断可能領域１０１のＩＯ出力値の保持を行うことはない。ラッチ１８０がＩＯ出力保持を行うことがないため、電源遮断を行っていた電源遮断可能領域１０１の内部ＩＯ制御状態はラッチ１８０の値に応じて"入力"状態から変更されない。各ＩＯバッファ１１０は、ハイインピーダンス状態（ＨＩ−Ｚ）となる。
【００４１】
上記一連の処理では、上述のＩＯ電源の遮断により、実施の形態１の構成に比べ、更なる低消費電力化が実現される。
【００４２】
また、ＩＯＨＯＬＤのクリアが行われた後に、ＩＯ電源を投入することによりＩＯバッファ１１０内のラッチ１８０は、誤った値を保持することがない。これにより、電源遮断を行っていた電源遮断可能領域の内部ＩＯ制御状態を誤った値に設定されることがない。すなわち、スタンバイモードからの復帰時に、ＩＯ電源供給を行っていなかったＩＯバッファ１１０等に隣接する電源遮断可能領域は、リセット状態から動作を実行することが保証される。
【００４３】
なお、本実施の形態では、ＩＯ電源を巡回させているため、ＩＲドロップの影響について考察する。ＩＯＨＯＬＤ信号は、交流的に遅い周波数で実現できる。一方、内部ロジック側のレベルシフタ等は交流的に速い周波数で動作する必要がある。たとえば、内部ロジック側のレベルシフタは、８０ＭＨｚで動作する必要がある。また、ＩＯ電源系では電源マージンが大きい。一方、内部ロジック側の電源マージンは小さい。たとえば、内部ロジック側の電源は１．２±０．１Ｖ程度で動作する必要がある。よって、内部ロジック電源を巡回させる場合と比べ、上述の構成はＩＲドロップの影響を受けることが少ない。
【００４４】
実施の形態３
本発明の実施の形態３におけるマイクロコンピュータは、カットセルが電源遮断可能領域から出力される信号を保持するためのラッチを備え、当該信号を隣接するＩＯバッファに対するＩＯ出力保持の指示命令信号として使用する点を特徴とする。実施の形態２と同様に、実施の形態３にかかるマイクロコンピュータは、スタンバイモード時に電源供給が不要なＩＯバッファ１１０等に電源供給するＩＯ電源を遮断しておくことができる。この構成におけるマイクロコンピュータのＩＯ出力保持について、実施の形態１、及び実施の形態２と異なる部分を以下に説明する。
【００４５】
図５は、本実施の形態にかかるマイクロコンピュータにおける、ＩＯバッファ１１０、カットセル１３０、ドメインカットセル１５０、及びＶＤＤバッファ１６０を示すブロック図である。実施の形態２にかかるマイクロコンピュータと比べ、本実施の形態にかかるマイクロコンピュータは、カットセル１３０が、ラッチ１９０と、コア電源−ＩＯ電源レベルシフタ１２０と、を備える。また内部ロジックがレジスタ２００を備える。以下に、図１、及び図５を参照し、本実施の形態にかかるマイクロコンピュータの構成について説明する。
【００４６】
レジスタ２００は、スタンバイモード時にＩＯバッファ１１０にＩＯ出力を保持させるか否かを指示する指令値を保持する。内部ロジックはレジスタ２００が保持する値を信号（ＤＭＨＬＤ）としてカットセル１３０に出力する。カットセル１３０内のコア電源―ＩＯ電源レベルシフタ１２０は、内部ロジックから出力された信号（ＤＭＨＬＤ）をＩＯ電源系の電圧にレベルシフトし、レベルシフトした信号をラッチ１９０に出力する。ラッチ１９０は、コア電源―ＩＯ電源レベルシフタ１２０から出力された信号の値を保持する。
【００４７】
例えば、図１の例では、内部ロジックは、領域（１）〜（６）の各々に対し、その領域に対応した信号ＤＭＨＬＤをカットセル１３０に出力することにより、スタンバイモード時にＩＯ出力を保持する否かを指示する。ＤＭＨＬＤの値は、スタンバイモード時に、ＩＯ出力保持を行う指示を与える値（ＤＭＨＬＤ＝１）、または、ＩＯ出力保持を行わない指示を与える値（ＤＭＨＬＤ＝０）の２値のいずれかをとる。実施の形態２と同様に、スタンバイモード時にＩＯバッファ１１０がＩＯ出力保持を行わない場合、当該ＩＯバッファ１１０に電源供給するＩＯ電源はスタンバイモード時に遮断可能である。
【００４８】
ラッチ１９０は、信号ＤＭＨＬＤの値を保持し、スタンバイモード移行前に当該値をカットセル１３０内のＩＯ電源−ＩＯ電源レベルシフタ１４０に出力する。ここで、信号ＤＭＨＬＤがＩＯ出力保持のクリア（ＩＯ出力保持を行わない）を指示する値である場合（ＤＭＨＬＤ＝０）、カットセル１３０内のＩＯ電源−ＩＯ電源レベルシフタ１４０からの出力信号は、ＩＯＨＯＬＤ信号がＩＯ出力の保持を指示する信号（ＩＯＨＯＬＤ＝１）であっても、ＩＯ出力を保持しないことを指示する信号となる。すなわち、カットセル１３０内のＩＯ電源−ＩＯ電源レベルシフタ１４０からの出力信号は、ラッチ１９０が出力する値を優先して定まる。
【００４９】
スタンバイモードからの復帰時に、ＩＯバッファ１１０内のラッチ１８０に、カットセル１３０内のＩＯ電源−ＩＯ電源レベルシフタ１４０からＩＯ出力の保持を指示する信号が入力された場合、ラッチ１８０は内部ロジックからのＩＯ出力保持の処理を行う。
【００５０】
図６は、本実施の形態にかかるマイクロコンピュータにおいて、電源遮断可能領域１０１をスタンバイモード時に遮断する場合のＩＯ出力保持の関係を示す図である。図６は、各領域（図１の領域（１）、（２））のカットセル１３０に対し、ＩＯＨＯＬＤ０信号と、ＤＭＨＬＤ信号と、が入力された場合、ＩＯバッファ１１０のＩＯ出力保持動作を示す。ＩＯＨＯＬＤ０の値がＩＯ出力の保持を指示するための値（ＩＯＨＯＬＤ０＝１）である場合であっても、ＤＭＨＬＤの値がＩＯ出力を保持しないことを示す値（ＤＭＨＬＤ＝０）である場合、ＩＯバッファ１１０はＩＯ出力保持動作を行わない。例えば、領域（１）にＩＯＨＯＬＤ０＝１が入力された場合であっても、ＤＭＨＬＤ＝０である場合、スタンバイモードからの復帰時にＩＯバッファ１１０はＩＯ出力保持動作を行わない。
【００５１】
続いて、本実施の形態にかかるマイクロコンピュータのスタンバイモード移行及びスタンバイモードからの復帰の動作について説明する。図７及び図８は、スタンバイモード移行及びスタンバイモードからの復帰の動作を示すタイミングチャートである。図７及び図８では、スタンバイモード時に電源遮断可能領域１０１の電源を遮断することを想定している。
【００５２】
図７は、電源遮断可能領域１０１の電源遮断時に、電源供給不要なＩＯバッファ１１０、すなわち隣接する電源遮断可能領域１０１のＩＯ出力状態を保持しないＩＯバッファ１１０の動作に関するタイミングチャートを示す。図７では、スタンバイモード時に電源遮断可能領域１０１の電源を遮断することを想定している。以下に、図７を用いてスタンバイモード時に電源供給不要なＩＯバッファ１１０にかかる動作を説明する。
【００５３】
スタンバイ制御マクロ１０３は、スタンバイモード移行前に電源遮断可能領域１０１のＩＯ出力保持を指示するためのＩＯＨＯＬＤ０（ＩＯＨＯＬＤ０＝１）を出力する（Ｔ３０）。内部ロジックは、ＩＯバッファ１１０内のラッチ１８０がＩＯ出力を保持しないことを示す信号ＤＭＨＬＤ（ＤＭＨＬＤ＝０）を出力する（Ｔ３１）。そのため、カットセル１３０内のラッチ１９０は、ＩＯ出力を保持しないことを示す値（ＤＭＨＬＤ＝０）を保持する。ラッチ１９０は、常時電源が投入されているＩＯＶＤＤ＿ＡＷＯ＿ｎから電源が供給されるので、後にＩＯＶＤＤ＿ＩＳＯ０＿ｎ、及びコア電源（ＩＳＯ０）が遮断された場合であっても値を保持する。ＩＯバッファ１１０内のラッチ１８０は、内部ＩＯ制御状態である"入力"を保持する。その後に、コア電源（ＩＳＯ０）、及びＩＯＶＤＤ＿ＩＳＯ０＿１を遮断する（Ｔ３２、Ｔ３３）。
【００５４】
スタンバイモードから通常モードへの移行時には、ＩＯＶＤＤ＿ＩＳＯ０＿１、またはコア電源（ＩＳＯ０）の電源を投入する（Ｔ３４、Ｔ３５）。ここで、これらのどちらの電源を先に投入してもよい。たとえば、ＩＯＶＤＤ＿ＩＳＯ０＿１を先に投入した場合、ラッチ１９０からＩＯ電源―ＩＯ電源レベルシフタ１４０を介してラッチ１８０にＩＯ出力を保持しない指示を示す値（ＤＭＨＬＤ＝０）が入力される。本実施の形態にかかるマイクロコンピュータの構成では、ＩＯＨＯＬＤ信号の値よりも、ラッチ１９０が出力する値が優先される。ラッチ１９０から入力される値がＩＯ出力を保持しない指示を示す値（ＤＭＨＬＤ＝０）であるため、ラッチ１８０は、隣接する電源遮断可能領域１０１のＩＯ出力を保持しない状態のまま動作する。また、コア電源（ＩＳＯ０）を先に投入した場合であっても、ラッチ１９０からＩＯ電源―ＩＯ電源レベルシフタ１４０を介してラッチ１８０にＩＯ出力を保持しない指示を示す値（ＤＭＨＬＤ＝０）が入力される。このため、ラッチ１８０は隣接する電源遮断可能領域１０１のＩＯ出力保持を行わない。
【００５５】
コア電源（ＩＳＯ０）が投入された際に、電源遮断可能領域１０１の内部ＩＯ制御状態は、リセット処理により初期状態である"入力"状態となる。ラッチ１８０がＩＯ出力保持を行うことがないため、電源遮断を行っていた電源遮断可能領域の内部ＩＯ制御状態はラッチ１８０の値に応じて"入力"状態から変更されない。ＩＯバッファ１１０は、ＩＯＶＤＤ＿ＩＳＯ０＿１がＯＮになった時点で、ＨＩ−Ｚから動作する。
【００５６】
図８は、電源遮断可能領域１０１の電源遮断時にもＩＯ電源の供給を行うＩＯバッファ１１０、すなわち隣接する電源遮断可能領域１０１のＩＯ状態を保持するＩＯバッファ１１０の動作に関するタイミングチャートを示す。図８では、スタンバイモード時に電源遮断可能領域１０１の電源を遮断することを想定している。以下に、図８を用いて電源供給不要なＩＯバッファ１１０にかかる動作を説明する。
【００５７】
スタンバイ制御マクロ１０３は、スタンバイモード移行前に電源遮断可能領域１０１のＩＯ出力保持を指示するためのＩＯＨＯＬＤ０（ＩＯＨＯＬＤ０＝１）を出力する（Ｔ３６）。ここで、カットセル１３０内のラッチ１９０は、ＩＯ出力を保持することを示す値（ＤＭＨＬＤ＝１）を保持するものとする（Ｔ３７）。ＩＯバッファ１１０のラッチ１８０は、内部ＩＯ制御状態の値である"出力"を保持する。ＩＯＶＤＤ＿ＩＳＯ０＿１は、スタンバイモード時であっても遮断されないため、ＩＯバッファ１１０内のラッチ１８０はこの値（"出力"）を保持し続ける。その後に、コア電源（ＩＳＯ０）を遮断し（Ｔ３８）、スタンバイモードに移行する。
【００５８】
スタンバイモードから通常モードへの移行時には、コア電源（ＩＳＯ０）の電源を投入する（Ｔ３９）。コア電源（ＩＳＯ０）が投入された際に、電源遮断可能領域０（１０１）の内部ＩＯ制御状態は、リセット処理により"入力"状態となる。ここで、ＩＯバッファ１１０内のラッチ１８０は、"出力"を保持している。そのため、本実施の形態にかかるマイクロコンピュータは、内部ＩＯ制御状態の値をラッチ１８０の値と同じ値に設定する。すなわち、当該内部ＩＯ制御状態の値を"入力"から"出力"に設定変更する（Ｔ４０）。上記の設定が終了した後に、スタンバイ制御マクロ１０３は、ＩＯＨＯＬＤ０をクリア（ＩＯＨＯＬＤ０＝０）する。
【００５９】
上記の一連の処理により、スタンバイモード移行時に、内部ロジック側がカットセル１３０で区切られたＩＯバッファ１１０領域毎にＩＯ出力を保持するか否かを指示することが可能となる。これにより、カットセル１３０で区切られたＩＯバッファ１１０の領域毎に、ＩＯ出力を保持することが可能となる。また、上述の構成によれば、実施の形態１の構成と比べ、カットセル１３０にラッチ１９０を備えるのみでＩＯバッファ１１０の領域毎にＩＯ出力を保持できるという効果を奏する。すなわち、ＩＯバッファ１１０及びＩＯＨＯＬＤ信号の設計を変更することなく、上記の効果を実現することができる。
【００６０】
また、カットセル１３０がラッチ１９０を備え、当該ラッチ１９０に隣接するＩＯバッファ１１０のＩＯ出力保持の指示信号を保持する。ラッチ１９０は、常時電源ＯＮとなっているＩＯＶＤＤ＿ＡＷＯ＿ｎから電源を供給されている。この指示信号により、スタンバイモード時に電源供給が不要なＩＯバッファ１１０内のラッチ１８０が、スタンバイモードからの復帰時にＩＯ出力を保持しない状態で動作することが可能になる。そのため、スタンバイモードからの復帰時に、コア電源（ＩＳＯｎ）と、ＩＯＶＤＤ＿ＩＳＯｎ＿ｎのどちらを先に投入しても、ＩＯ電源供給を行っていなかったＩＯバッファ１１０等に隣接する電源遮断可能領域は、リセット状態から動作を実行することが保証される。すなわち、実施の形態２と比べ、電源を投入する順序の制約がない。
【００６１】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【００６２】
１００  常時ＯＮ領域（ＡＷＯ）
１０１  電源遮断可能領域０
１０２  電源遮断可能領域１
１０３  スタンバイ制御マクロ
１１０  ＩＯバッファ
１２０  コア電源−ＩＯ電源レベルシフタ
１３０  カットセル
１４０  ＩＯ電源―ＩＯ電源レベルシフタ
１５０  領域カットセル
１６０  ＶＤＤバッファ
１７０  コーナーセル
【図１】
0005466485.tif 000002
【図２】
0005466485.tif 000003
【図３】
0005466485.tif 000004
【図４】
0005466485.tif 000005
【図５】
0005466485.tif 000006
【図６】
0005466485.tif 000007
【図７】
0005466485.tif 000008
【図８】
0005466485.tif 000009
【図９】
0005466485.tif 000010
【図１０】
0005466485.tif 000011
【図１１】
0005466485.tif 000012