(57)【要約】【課題】  スタンバイモード中に、入力信号に応じた出力信号を生成することができる半導体集積回路を提供することを目的とする。【解決手段】  フルタイムコア１２１への電源供給中にパートタイムコア１２２への電源供給を一時的に遮断することができる半導体集積回路であって、パートタイムコア１２２は、多数のレジスタ１６３を含む同期回路１６１を有し、フルタイムコア１２１は、外部入力されるコアゲート信号Ｇｃに基づいて、パートタイムコア１２２に対する入出力信号をローレベルに固定するコアゲート回路１５１と、コアゲート回路１５１を介して同期回路１６１からの出力信号が入力され、外部入力されるラッチ信号Ｌに基づいて、入力信号の通過及び保持を選択的に行うラッチ回路１５２と、外部入力信号及びラッチ回路１５２の出力信号に基づいて、外部出力信号を生成する非同期回路１６２とを有する。【選択図】  図３
2010011226.tif 000002
【特許請求の範囲】
【請求項１】
独立して電源供給される回路領域としてのフルタイムコア及びパートタイムコアと、外部入力及び外部出力を行うための多数の外部端子とを備え、上記フルタイムコアへの電源供給中に上記パートタイムコアへの電源供給を一時的に遮断することができる半導体集積回路において、
上記パートタイムコアは、多数のレジスタを含む同期回路を有し、
上記フルタイムコアは、外部入力されるコアゲート信号に基づいて、上記パートタイムコアに対する入出力信号を所定レベルに固定して遮断するコアゲート回路と、
上記コアゲート回路を介して上記同期回路からの出力信号が入力され、外部入力されるラッチ信号に基づいて、入力信号の通過及び保持を選択的に行うラッチ回路と、
論理素子の組み合わせ回路であって、外部入力される第１信号及び上記ラッチ回路からの出力信号に基づいて、外部出力される第２信号を生成する非同期回路とを有することを特徴とする半導体集積回路。
【請求項２】
独立して電源供給される回路領域としてのＩ／Ｏセルブロックを備え、
上記Ｉ／Ｏセルブロックは、上記フルタイムコア及び上記外部端子を接続するＩ／Ｏセルを有し、
上記Ｉ／Ｏセルは、外部入力されるＩ／Ｏゲート信号に基づいて、上記フルタイムコア及び外部端子間の入出力信号を所定レベルに固定して遮断する第１のＩ／Ｏゲート回路とを有することを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
上記Ｉ／Ｏセルブロックは、上記パートタイムコア及び上記外部端子を接続するＩ／Ｏセルを有し、
上記Ｉ／Ｏセルは、上記コアゲート信号に基づいて、上記パートタイムコア及び上記外部端子間の入出力信号を所定レベルに固定して遮断する第２のＩ／Ｏゲート回路とを有することを特徴とする請求項２に記載の半導体集積回路。
【請求項４】
上記第１信号及び第２信号は、上記Ｉ／Ｏセルを介して上記外部端子から入出力され、
上記第１信号が入力されるＩ／Ｏセルは、上記同期回路が生成する出力制御信号に基づいて入出力方向が制御され、
上記出力制御信号は、上記コアゲート回路及び上記ラッチ回路を介して上記Ｉ／Ｏセルに入力されることを特徴とする請求項２に記載の半導体集積回路。
【請求項５】
上記レジスタをリセットするためのリセット信号が、上記コアゲート回路又は上記第２のＩ／Ｏゲート回路を介して、上記パートタイムコアへ上記外部端子から入力され、
上記レジスタに対する書込信号及び読出信号が、上記コアゲート回路又は上記第２のＩ／Ｏゲート回路を介して、上記パートタイムコアへ上記外部端子から入力され、
上記レジスタから読み出されたデータが、上記コアゲート回路又は上記第２のＩ／Ｏゲート回路を介して、上記ラッチ回路を介在させることなく、上記外部端子へ出力されることを特徴とする請求項２又は３に記載の半導体集積回路。
【請求項６】
上記パートタイムコアは、上記Ｉ／Ｏセルブロックよりも電源電圧が低く、
上記コアゲート信号は、電圧変換を行うレベルシフタを介して、上記Ｉ／Ｏセルブロックから上記パートタイムコアへ出力されることを特徴とする請求項３に記載の半導体集積回路。
【請求項７】
請求項５に記載した半導体集積回路を初期化するための制御方法であって、
上記コアゲート回路、第１のＩ／Ｏゲート回路及び第２のＩ／Ｏゲート回路を遮断状態、上記ラッチ回路を通過状態、上記レジスタをリセット状態にそれぞれ維持するステップと、
上記フルタイムコア及びＩ／Ｏセルブロックに対する電源供給を開始するステップと、
上記フルタイムコア及びＩ／Ｏセルブロックの電源電圧の安定化後に、上記第１のＩ／Ｏゲート回路を遮断状態から通過状態へ切り替えるステップと、
上記Ｉ／Ｏゲート回路の導通後に、上記パートタイムコアに対する電源供給を開始するステップと、
上記パートタイムコアの電源電圧の安定化後に、上記コアゲート回路及び第２のＩ／Ｏゲート回路を遮断状態から通過状態へそれぞれ切り替えるステップと、
上記コアゲート回路及び第２のＩ／Ｏゲート回路の導通後に、上記リセット状態を解除するステップとを備えたことを特徴とする半導体集積回路の制御方法。
【請求項８】
請求項５に記載した半導体集積回路を上記パートタイムコアへの電源供給が遮断されたスタンバイモードへ移行させるための制御方法であって、
上記フルタイムコア、パートタイムコア及びＩ／Ｏセルブロックへの電源供給中に、上記ラッチ回路を通過状態から保持状態へ切り替えるステップと、
上記ラッチ回路の保持状態への切り替え後に、上記コアゲート回路及び第２のＩ／Ｏゲートを通過状態から遮断状態へ切り替えるステップと、
上記コアゲート回路及び第２のＩ／Ｏゲート回路の遮断後に、上記パートタイムコアに対する電源供給を遮断するステップとを備えたことを特徴とする半導体集積回路の制御方法。
【請求項９】
半導体集積回路を上記スタンバイモードから復帰させるための制御方法であって、
上記パートタイムコアに対する電源供給を開始するステップと、
上記パートタイムコアの電源電圧の安定化後、かつ、上記レジスタをリセット状態に維持した後に、上記コアゲート回路及び第２のＩ／Ｏゲート回路を遮断状態から通過状態へ切り替えるステップと、
上記コアゲート回路及び第２のＩ／Ｏゲート回路の導通後に、上記レジスタに対する書き込み及び読き出しを行って、上記レジスタをスタンバイモードへの移行直前の状態に復帰させるステップと、
上記レジスタの復帰後に、上記ラッチ回路を保持状態から通過状態へ切り替えるステップとを備えたことを特徴とする請求項８に記載の半導体集積回路の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路及びその制御方法に係り、更に詳しくは、独立して電源供給される回路領域としてのフルタイムコア及びパートタイムコアを備え、フルタイムコアへの電源供給中にパートタイムコアへの電源供給を一時的に遮断して消費電力を低減させるスタンバイモードを有する半導体集積回路、例えば、マイコンシステムにおいて使用される半導体集積回路に関する。
【背景技術】
【０００２】
近年、半導体の微細化プロセスが進化してトランジスタのサイズが小さくなり、その動作速度が向上するとともに、半導体集積回路内部の低電圧化によるトランジスタの消費電力が低減されている。ところが、低電圧化によって、電源電圧がトランジスタのスレッショルド電圧に近づき、回路停止状態でのリーク電流が大きくなる傾向にある。また、トランジスタの高速化に伴って、同期回路のクロック周波数が高くなり、回路設計時におけるタイミング調整が難しくなっている。このため、タイミング調整のための遅延バッファが同期回路内に多数配置され、トランジスタ数が増大することによりリーク電流の増大を加速させている。
【０００３】
このようなリーク電流は、例えば、携帯電話のように低消費電力化が強く求められる機器では無視することができない。従って、機器の動作状態に応じて、半導体集積回路内の停止している回路領域への電源供給を動的にオン／オフ制御する必要性が高まっている。
【０００４】
図１２及び図１３を用いて、半導体集積回路への電源供給を動的にオン／オフする従来の方法について説明する。図１２は、半導体集積回路内部における電源分離の一例を示した図である。この半導体集積回路は、多数のＩ／Ｏセルが５つのＩ／Ｏセルブロック１０１〜１０５に区分されており、それぞれ異なる電源電圧VDD_B1，VDD_B2，VDD_B3，VDD_B4，VDD_B5が供給されている。また、主要な回路領域であるコア１２０には電源電圧VDD_Cが供給され、Ｉ／Ｏセルブロック１０１〜１０５の電源とは分離されている。
【０００５】
各Ｉ／Ｏセルブロック１０１〜１０５は、コア１２０に対する電源分離素子として、Ｉ／Ｏゲート回路１１１〜１１５をそれぞれ備えている。Ｉ／Ｏゲート回路１１１〜１１５は、外部入力されるＩ／Ｏゲート信号Ｇ１〜Ｇ５によって制御され、コア１２０に対する入出力信号を所定レベルに固定することができる。
【０００６】
図１３には、図１２のＩ／Ｏセルブロック１０１の詳細構成が示されている。Ｉ／Ｏセルブロック１０１及びコア１２０は、供給される電源電圧が異なっており、電圧レベルを変換するためのレベルシフタＬＳを介して接続されている。Ｉ／Ｏセルブロック１０１は、多数のＩ／Ｏセル１３０によって構成されている。各Ｉ／Ｏセル１３０は、データ出力用のトライステートバッファ１３１、プルアップ用のトランジスタ１３２、プルダウン用のトランジスタ１３３及びＩ／Ｏゲート回路１１１からなる。Ｉ／Ｏゲート回路１１１は、ゲート信号Ｇ１をローレベルにすることにより、コア１２０に対する入出力信号をローレベルに固定することができる。
【０００７】
コア１２０から各Ｉ／Ｏセル１３０へは、プルアップ用トランジスタ１３２をオン／オフ制御するプルアップ制御信号ＰＵと、出力バッファ１３１をオン／オフ制御する入出力切替信号ＥＮ、外部端子Ｔから出力させる出力データ信号ＤＯと、プルダウン用トランジスタ１３３をオン／オフ制御するプルダウン制御信号ＰＤが出力されている。また、Ｉ／Ｏセル１３０からコア１２０へは、外部端子Ｔ１から入力された入力データ信号ＤＩが入力される。
【０００８】
この半導体集積回路が動作状態の場合、ゲート信号Ｇ１をハイレベルにすることによって、コア１２０からＩ／Ｏセルブロック１０１への信号、Ｉ／Ｏセルブロック１０１からコア１２０への信号をともに伝搬させることができる。一方、半導体集積回路内部の動作が一時不要になり、コア１２０の電源を遮断したい場合には、Ｉ／Ｏゲート信号Ｇ１をローレベルとすることによって、コア１２０からＩ／Ｏセルブロック１０１への信号は、Ｉ／Ｏセル１３０を初期状態にするためのレベルに各信号が固定される。また、Ｉ／Ｏセルブロック１０１からコア１２０への信号は、すべてローレベルに固定される。ここでは、Ｉ／Ｏセルブロック１０１について説明したが、他のＩ／Ｏブロック１０２〜１０５も全く同様に構成されている。
【０００９】
このようにして、Ｉ／Ｏゲート信号Ｇ１〜Ｇ５をローレベルにし、Ｉ／Ｏセルブロック１０１〜１０５からの入力信号の全てをローレベルに固定した上で、コア１２０への電源供給を遮断すれば、コア１２０内で信号から電源に向かって流れる電流経路がなくなり、コア１２０の電源を安全に遮断することができる。従って、半導体集積回路内の不要な回路部分への電源供給を動的にオン／オフすることができる。
【００１０】
しかしながら、コア１２０への電源供給を遮断すると、半導体集積回路の外部端子Ｔは全て初期状態となり、初期状態とは異なる端子状態を保持させておくことはできないという問題があった。つまり、外部端子Ｔを任意の出力状態に維持したままで、コア１２０への電源供給を遮断することができないという問題があった。例えば、初期状態ではローレベルが出力される外部端子Ｔから、他の半導体集積回路に対し、ローアクティブのリセット信号を供給している場合、コア１２０への電源供給を遮断するためにＩ／Ｏゲート回路１１１〜１１５を遮断すれば、当該外部端子Ｔからはローレベルの信号が出力され、上記他の半導体集積回路がリセット状態になってしまう。
【００１１】
そこで、出力端子のレベルを予めラッチしておき、コア１２０への電源供給を遮断した後も、任意の端子状態を維持する技術が既に提案されている（例えば、特許文献１、特許文献２）。このような半導体集積回路を用いれば、コア１２０への電源遮断中における外部端子Ｔの出力状態を任意の状態に保持させることができ、上記問題を解決することができる。
【００１２】
しかしながら、このような半導体集積回路では、コア１２０への電源遮断中に出力端子のレベルを固定しておくことしかできず、入力端子として使用される外部端子Ｔの端子設定情報を保持しておくことや、出力端子の出力レベルを変化させることができないという問題があった。すなわち、コア１２０への電源遮断中に、入力端子として機能させるように、入出力切替信号ＥＮ、プルアップ制御信号ＰＵ、プルダウン制御信号ＰＤ、などを保持しておくことができなかった。また、コア１２０への電源遮断中に、入力端子への入力レベルに基づいて論理回路を動作させ、出力端子の出力レベルを変化させることはできないという問題があった。例えば、割り込み受付用の外部端子Ｔに対し、他の周辺回路から割り込み信号ＩＮＴ１が入力された場合に、当該割り込み信号ＩＮＴ１に対するマスク設定や極性設定を考慮して割り込み信号ＩＮＴを生成し、割り込み出力用の外部端子Ｔからマイコンへ出力するというような動作を行わせることができなかった。
【特許文献１】特開２００３−２１５２１４号公報
【特許文献２】特開２００５−１９７４７８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明は、上記の事情に鑑みてなされたものであり、回路領域の一部への電源供給を遮断し消費電力を低減させるスタンバイモード中であっても、入出力動作を行うことができる半導体集積回路を提供することを目的とする。特に、スタンバイモード中に、入力信号に応じた出力信号を生成することができる半導体集積回路を提供することを目的とする。
【００１４】
また、スタンバイモード中における入出力動作が、スタンバイモードへの移行時に決定される半導体集積回路を提供することを目的とする。
【００１５】
また、スタンバイモードの移行及び復帰、すなわち、回路領域の一部への電源遮断及び電源投入を安全に行うことができる半導体集積回路を提供することを目的とする。
【００１６】
また、スタンバイモードからの復帰時に、回路領域の一部に含まれるレジスタの内容をスタンバイモードへの移行前の状態に復元することができる半導体集積回路を提供することを目的とする。
【００１７】
また、上記半導体集積回路の端子数を削減することを目的とする。
【課題を解決するための手段】
【００１８】
第１の本発明による半導体集積回路は、独立して電源供給される回路領域としてのフルタイムコア及びパートタイムコアと、外部入力及び外部出力を行うための多数の外部端子とを備え、上記フルタイムコアへの電源供給中に上記パートタイムコアへの電源供給を一時的に遮断することができる半導体集積回路であって、上記パートタイムコアが、多数のレジスタを含む同期回路を有する。また、上記フルタイムコアが、外部入力されるコアゲート信号に基づいて、上記パートタイムコアに対する入出力信号を所定レベルに固定して遮断するコアゲート回路と、上記コアゲート回路を介して上記同期回路からの出力信号が入力され、外部入力されるラッチ信号に基づいて、入力信号の通過及び保持を選択的に行うラッチ回路と、論理素子の組み合わせ回路であって、外部入力される第１信号及び上記ラッチ回路の出力信号に基づいて、外部出力される第２信号を生成する非同期回路とを有する。
【００１９】
この様な構成により、コアゲート信号を用いて外部からコアゲート回路を制御することによって、フルタイムコアのパートタイムコアに対する入出力信号を所定レベルに固定することができる。従って、フルタイムコアへの電源供給中に、パートタイムコアへの電源投入及び電源遮断を安全に行うことができる。
【００２０】
また、ラッチ信号を用いて外部からラッチ回路を制御することによって、パートタイムコアへの電源供給が遮断されているスタンバイモード中であっても、同期回路から非同期回路へ入力される信号を保持しておくことができる。しかも、非同期回路は、外部入力される第１信号及びラッチ回路の出力信号に基づいて第２信号を生成している。このため、スタンバイモード中であっても、第１信号に応じて第２信号を生成する動作を行わせることができるとともに、この動作をスタンバイモード移行直前の同期回路の出力信号に応じて決定することができる。従って、スタンバイモード中に、第１信号から第２信号を生成する所望の動作を行わせることができる。つまり、スタンバイモード中であっても、外部から見て最小限の機能を維持しておくことができる。
【００２１】
第２の本発明による半導体集積回路は、上記構成に加えて、独立して電源供給される回路領域としてのＩ／Ｏセルブロックを備え、上記Ｉ／Ｏセルブロックが、上記フルタイムコア及び上記外部端子を接続するＩ／Ｏセルを有し、上記Ｉ／Ｏセルが、外部入力されるＩ／Ｏゲート信号に基づいて、上記フルタイムコア及び外部端子間の入出力信号を所定レベルに固定して遮断する第１のＩ／Ｏゲート回路とを有する。
【００２２】
この様な構成により、コアゲート信号を用いて外部からコアゲート回路を制御することによって、Ｉ／Ｏセルブロックのフルタイムコアに対する入出力信号を所定レベルに固定することができる。従って、Ｉ／Ｏセルブロックへの電源供給中に、フルタイムコアへの電源投入及び電源遮断を安全に行うことができる。
【００２３】
第３の本発明による半導体集積回路は、上記構成に加えて、上記Ｉ／Ｏセルブロックが、上記パートタイムコア及び上記外部端子を接続するＩ／Ｏセルを有し、上記Ｉ／Ｏセルが、上記コアゲート信号に基づいて、上記パートタイムコア及び上記外部端子間の入出力信号を所定レベルに固定して遮断する第２のＩ／Ｏゲート回路とを有する。
【００２４】
この様な構成により、同じコアゲート信号を用いて、コアゲート回路及び第２のＩ／Ｏゲート回路を制御することができる。このため、コアゲート回路及び第２のＩ／Ｏゲート回路のそれぞれについて整合信号用の外部端子を用意する必要がなく、半導体集積回路の外部端子の数を削減することができる。
【００２５】
第４の本発明による半導体集積回路は、上記構成に加えて、上記第１信号及び第２信号が、上記Ｉ／Ｏセルを介して上記外部端子から入出力され、上記第１信号が入力されるＩ／Ｏセルが、上記同期回路が生成する出力制御信号に基づいて入出力方向が制御され、上記出力制御信号が、上記コアゲート回路及び上記ラッチ回路を介して上記Ｉ／Ｏセルに入力される。
【００２６】
この様な構成により、同期回路からの出力制御信号によって、入出力方向が制御される双方向のＩ／Ｏセルであっても、この出力制御信号をラッチ回路が保持することによって、スタンバイモード中であっても入出力方向を制御することができる。従って、当該Ｉ／Ｏを介して第１信号を入力させることができる。
【００２７】
第５の本発明による半導体集積回路は、上記構成に加えて、上記レジスタをリセットするためのリセット信号が、上記コアゲート回路又は上記第２のＩ／Ｏゲート回路を介して、上記パートタイムコアへ上記外部端子から入力され、また、上記レジスタに対する書込信号及び読出信号が、上記コアゲート回路又は上記第２のＩ／Ｏゲート回路を介して、上記パートタイムコアへ上記外部端子から入力され、また、上記レジスタから読み出されたデータが、上記コアゲート回路又は上記第２のＩ／Ｏゲート回路を介して、上記ラッチ回路を介在させることなく、上記外部端子へ出力されるように構成される。
【００２８】
この様な構成により、スタンバイモードから復帰させる際、ラッチ回路を保持状態から通過状態へ切り替える前に、同期回路中のレジスタをリセットし、所望のデータの書き込み及び読み出しを行うことができる。このため、例えば、スタンバイモードへの移行前の状態を復元させた後にラッチ回路を通過状態へ切り替えることができるので、スタンバイモードからの復帰を安全かつ簡単に行うことができる。
【００２９】
第６の本発明による半導体集積回路は、上記構成に加えて、上記パートタイムコアは、上記Ｉ／Ｏセルブロックよりも電源電圧が低く、上記コアゲート信号は、電圧変換を行うレベルシフタを介して、上記Ｉ／Ｏセルブロックから上記パートタイムコアへ出力されるように構成される。
【００３０】
このような構成により、パートタイムコア及びＩ／Ｏセルブロックの電源電圧が異なる場合であっても、同じコアゲート信号を用いて、コアゲート回路及び第２のＩ／Ｏゲート回路を制御することができる。
【００３１】
第７の本発明による半導体集積回路の制御方法は、上記半導体集積回路を初期化するための制御方法であって、上記コアゲート回路、第１のＩ／Ｏゲート回路及び第２のＩ／Ｏゲート回路を遮断状態、上記ラッチ回路を通過状態、上記レジスタをリセット状態にそれぞれ維持するステップと、上記フルタイムコア及びＩ／Ｏセルブロックに対する電源供給を開始するステップと、上記フルタイムコア及びＩ／Ｏセルブロックの電源電圧の安定化後に、上記第１のＩ／Ｏゲート回路を遮断状態から通過状態へ切り替えるステップと、上記Ｉ／Ｏゲート回路の導通後に、上記パートタイムコアに対する電源供給を開始するステップと、上記パートタイムコアの電源電圧の安定化後に、上記コアゲート回路及び第２のＩ／Ｏゲート回路を遮断状態から通過状態へそれぞれ切り替えるステップと、上記コアゲート回路及び第２のＩ／Ｏゲート回路の導通後に、上記リセット状態を解除するステップとを備えて構成される。このような構成により、半導体集積回路への電源投入を安全に行うことができる。
【００３２】
第８の本発明による半導体集積回路の制御方法は、半導体集積回路を上記パートタイムコアへの電源供給が遮断されたスタンバイモードへ移行させるための制御方法であって、上記フルタイムコア、パートタイムコア及びＩ／Ｏセルブロックへの電源供給中に、上記ラッチ回路を通過状態から保持状態へ切り替えるステップと、上記ラッチ回路の保持状態への切り替え後に、上記コアゲート回路及び第２のＩ／Ｏゲートを通過状態から遮断状態へ切り替えるステップと、上記コアゲート回路及び第２のＩ／Ｏゲート回路の遮断後に、上記パートタイムコアに対する電源供給を遮断するステップとを備えて構成される。このような構成により、安全にスタンバイ状態に移行することができるとともに、スタンバイ状態への移行後に所望の動作を行わせることができる。
【００３３】
第９の本発明による半導体集積回路の制御方法は、上記構成に加えて、半導体集積回路を上記スタンバイモードから復帰させるための制御方法であって、上記パートタイムコアに対する電源供給を開始するステップと、上記パートタイムコアの電源電圧の安定化後、かつ、上記レジスタをリセット状態に維持した後に、上記コアゲート回路及び第２のＩ／Ｏゲート回路を遮断状態から通過状態へ切り替えるステップと、上記コアゲート回路及び第２のＩ／Ｏゲート回路の導通後に、上記レジスタに対する書き込み及び読き出しを行って、上記レジスタをスタンバイモードへの移行直前の状態に復帰させるステップと、上記レジスタの復帰後に、上記ラッチ回路を保持状態から通過状態へ切り替えるステップとを備えて構成される。このような構成により、安全かつ簡単にスタンバイ状態から復帰することができる。
【発明の効果】
【００３４】
本発明によれば、回路領域の一部への電源供給を遮断し消費電力を低減させるスタンバイモード中であっても、入出力動作を行うことができる半導体集積回路を提供することができる。特に、スタンバイモード中に、入力信号に応じた出力信号を生成することができる半導体集積回路を提供することができる。
【００３５】
また、スタンバイモード中における入出力動作が、スタンバイモードへの移行時に決定される半導体集積回路を提供することができる。
【００３６】
また、スタンバイモードの移行及び復帰、すなわち、回路領域の一部への電源遮断及び電源投入を安全に行うことができる半導体集積回路を提供することができる。
【００３７】
また、スタンバイモードからの復帰時に、回路領域の一部に含まれるレジスタの内容をスタンバイモードへの移行前の状態に復元することができる半導体集積回路を提供することができる。
【００３８】
また、上記半導体集積回路の端子数を削減することができる。
【発明を実施するための最良の形態】
【００３９】
実施の形態１．
図１は、本発明の実施の形態１による半導体集積回路の概略構成例を示した図であり、半導体チップ上におけるレイアウトが示されている。この半導体集積回路は、薄いシリコン単結晶からなる半導体チップ上に形成され、外部端子を露出させたパッケージ内に封入された状態で使用される。
【００４０】
［Ｉ／Ｏセルブロック１０１〜１０５］
矩形からなる半導体チップの周縁部には、多数のＩ／Ｏセルが配置されており、これらのＩ／Ｏセルは５つのＩ／Ｏセルブロック１０１〜１０５に区分され、電源が分離されている。各Ｉ／Ｏセルブロック１０１〜１０５には、電源電圧VDD_B1，VDD_B2，VDD_B3，VDD_B4，VDD_B5がそれぞれ供給され、個別にオン／オフすることができる。上記電源電圧はＩ／Ｏセルブロック１０１〜１０５を構成するデバイスに応じて選択される。例えば、VDD_B1＝１．８Ｖ，VDD_B2＝３．０Ｖ，VDD_B3=VDD_B4＝VDD_B5＝２．６Vとすることができる。なお、本実施の形態では、５つのＩ／Ｏセルブロック１０１〜１０５に区分したが、電源電圧が同一であれば分割することなく１つのＩ／Ｏセルブロックとすることもできるし、更に分割数を多くすることもできる。
【００４１】
［コア１２１，１２２］
Ｉ／Ｏセル以外の主要な回路領域であるコアは、フルタイムコア１２１とパートタイムコア１２２に区分され、電源が分離されている。各コア１２１，１２２には、電源電圧VDD_C1，VDD_C2がそれぞれ供給され、個別にオン／オフすることができる。近年、半導体プロセスの微細化に伴って、コアの供給電源電圧は低下しており、一般にＩ／Ｏセルへの供給電圧よりも低くなってきている。例えば、VDD_C1＝VDD_C2＝１．２Ｖとすることができる。なお、本実施の形態では、２つのコアに分離しているが、機能的にさらに分割して、独立に電源をオン／オフできるようにさらに分割数を多くしてもよい。
【００４２】
［Ｉ／Ｏゲート回路１１１〜１１６］
各Ｉ／Ｏセルブロック１０１〜１０５には、電源分離素子としてＩ／Ｏゲート回路１１１〜１１６が設けられ、フルタイムコア１２１及びパートタイムコア１２２に対する入出力信号は、このＩ／Ｏゲート回路１１１〜１１６を介して入出力される。Ｉ／Ｏゲート回路１１１〜１１５は、外部入力されるＩ／Ｏゲート信号Ｇ１〜Ｇ５によってそれぞれ制御される。また、Ｉ／Ｏゲート回路１１６は、外部入力されるコアゲート信号Ｇ６によって制御される。これらのＩ／Ｏゲート回路１１１〜１１６は、Ｉ／Ｏゲート信号Ｇ１〜Ｇ５又はコアゲート信号Ｇｃがハイレベルであれば信号を通過させ、ローレベルであればコア１２２に対する入出力信号を所定の信号レベルに固定することができる。
【００４３】
本実施の形態では、Ｉ／Ｏゲート信号Ｇ１〜Ｇ５、コアゲート信号Ｇｃがローレベルであれば、Ｉ／Ｏセル側及びコア側への出力信号をいずれもローレベルに固定し、Ｉ／Ｏセルブロック１０１〜１０５へ電源を供給し、フルタイムコア１２１又はパートタイムコア１２２への電源供給を遮断しても、信号線から電源遮断中の回路領域へ電流が流入しないようにするとともに、電源遮断中の回路領域の電源電圧よりも高い電圧が印加されないようにして、ラッチアップ等が発生するのを防止している。
【００４４】
Ｉ／Ｏゲート回路１１１〜１１６は、Ｉ／Ｏセルブロック１０１〜１０５に配置されており、Ｉ／Ｏセルブロック１０１〜１０５の電源によって動作している。このため、各Ｉ／Ｏゲート信号Ｇ１〜Ｇ５及びコアゲート信号Ｇｃは、それぞれが入力されるＩ／Ｏセルブロック１０１〜１０５の電源電圧VDD_B1，VDD_B2，VDD_B3，VDD_B4，VDD_B5に応じた信号となっている。各Ｉ／Ｏセルブロック１０１〜１０５への電源供給を独立してオン／オフさせる場合には、Ｉ／Ｏゲート信号Ｇ１〜Ｇ５を個別の制御信号として外部入力する必要があるが、本実施の形態では、互いに異なる電源電圧VDD_B1，VDD_B3及びVDD_B4のオン／オフ制御をまとめて行っている。
【００４５】
VDD_B1のレベルで入力されたＩ／Ｏゲート信号Ｇ１は、Ｉ／Ｏセルブロック１０１及び１０４間のレベルシフタＬＳにおいてVDD_B4のレベルへ変換され、Ｉ／Ｏゲート信号Ｇ４となる。さらに、Ｉ／Ｏゲート信号Ｇ４は、Ｉ／Ｏセルブロック１０３及び１０４間のレベルシフタＬＳにおいてVDD_B3のレベルへ変換され、Ｉ／Ｏゲート信号Ｇ３となる。従って、外部入力される１つのゲート信号Ｇ１を用いて、３つのＩ／Ｏゲート回路１１１、１１３及び１１４を制御することができる。一方、電源電圧VDD_B2及びVDD_B5は、独立してオン／オフ制御されるものとし、独立したＩ／Ｏゲート信号Ｇ２、Ｇ５として、それぞれ外部入力される。
【００４６】
なお、本実施の形態では、まとめてオン／オフ制御されるＩ／Ｏセルブロック用のＩ／Ｏゲート信号をチップ内部でレベルシフタＬＳを用いて作成することにより、Ｉ／Ｏゲート信号を入力するための外部端子を削減しているが、それぞれを外部端子から入力するように構成してもよいことは言うまでもない。また、独立してオン／オフ制御されるＩ／Ｏセルブロック用のＩ／Ｏゲート信号であっても、他のＩ／Ｏゲート信号に基づいてチップ内部で生成させることができる場合には、当該他のＩ／Ｏゲート信号をレベル変換して利用することもできる。例えば、VDD_B1レベルのゲート信号Ｇ１をレベル変換して、VDD_B2レベルのゲート信号Ｂ２や、VDD_B5レベルのゲート信号Ｂ５をチップ内部で生成してもよい。このようにすれば、全てのＩ／Ｏゲート信号を外部から制御する際、１つの電源レベルの信号のみで制御することができるので望ましい。
【００４７】
［コアゲート回路１５１］
フルタイムコア１２１には、電源分離素子としてのコアゲート回路１５１が設けられ、パートタイムコア１２２に対する入出力信号は、このコアゲート回路１５１を介して入出力される。コアゲート回路１５１を制御するコアゲート信号Ｇｃｃは、コアゲート信号Ｇｃとして外部端子からＩ／Ｏセルブロック１０１へ入力され、レベルシフタＬＳを介してフルタイムコア１２１に入力されている。コアゲート回路１５１及びＩ／Ｏゲート回路１１６の制御信号は、個別の信号として外部入力してもよいが、本実施の形態のように、同じコアゲート信号Ｇｃを用いることにより、外部端子の数を削減することができる。
【００４８】
コアゲート回路１５１は、コアゲート信号Ｇｃｃがハイレベルであれば信号を通過させ、ローレベルであればパートタイムコア１２２に対する入出力信号を所定の信号レベルに固定している。これにより、フルタイムコア１２１への電源供給中に、パートタイムコア１２２の電源を遮断しても、信号線を介して電源遮断中のパートタイムコア１２２へ電流が流入しないようにするとともに、電源遮断中のパートタイムコア１２２の電源電圧VDD_C2よりも高い電圧が印加されないようにして、ラッチアップ等が発生するのを防止している。
【００４９】
なお、パートタイムコア１２２は、さらに複数のコア部に分離されていてもよい。その場合には、分離されたパートタイムコア１２２間をコアゲート回路を介して接続すればよい。また、これらのコアゲート回路の制御信号は、フルタイムコア１２１又は他のパートタイムコア１２２内に配置されているレジスタからの信号を用いることができる。
【００５０】
［書き戻し端子］
パートタイムコア１２２及びＩ／Ｏセルブロック１０１〜１０５間の入出力信号は、その全てが、フルタイムコア１２１を介して入出力されているわけではない。すなわち、パートタイムコア１２２及びＩ／Ｏセルブロック１０１〜１０５間の入出力信号の一部は、フルタイムコア１２１を介在させることなく、パートタイムコア１２２及びＩ／Ｏセルブロック１０１〜１０５間で直接入出力されている。
【００５１】
Ｉ／Ｏセルブロック１０１には、フルタイムコア１２１に接続されているＩ／Ｏセルと、パートタイムコア１２２に接続されているＩ／Ｏセルとが存在している。一方、Ｉ／Ｏセルブロック１０３及び１０４は、すべてのＩ／Ｏセルがフルタイムコア１２１に接続され、Ｉ／Ｏセルブロック１０２及び１０５は、すべてのＩ／Ｏセルがパートタイムコア１２２に接続されている。
【００５２】
上述した通り、Ｉ／Ｏセルブロック１０１は、２つのＩ／Ｏゲート回路１１１及び１１６を有しており、Ｉ／Ｏゲート回路１１１は、Ｉ／Ｏゲート信号Ｇ１に基づいて、フルタイムコア１２１に対する入出力信号を遮断し、Ｉ／Ｏゲート回路１１６は、コアゲート信号Ｇｃに基づいて、パートタイムコア１２２に対する入出力信号を遮断する。
【００５３】
［Ｉ／Ｏセル１３０の詳細構成］
図２は、図１のＩ／Ｏセルブロック１０１及びフルタイムコア１２１の一構成例を示した回路図である。Ｉ／Ｏセルブロック１０１内には、多数のＩ／Ｏセル１３０が配置されているが、説明の便宜上、フルタイムコア１２１及びパートタイムコア１２２にそれぞれ接続された２つのＩ／Ｏセル１３０のみを図示している。
【００５４】
Ｉ／Ｏセル１３０は、ワイヤボンディングあるいはバンプによるフリップチップ接続によって外部端子Ｔと接続され、パッケージ外と電気的に導通させている。各Ｉ／Ｏセル１３０は、外部出力を駆動するトライステートバッファ１３１、プルアップ用のＰｃｈトランジスタ１３２、プルダウン用のＮｃｈトランジスタ１３３を備え、Ｉ／Ｏセル１３０を制御するための端子制御信号ＰＵ，ＤＯ，ＥＮ，ＰＤが、コア１２１，１２２側から入力され、入力データ信号ＤＩがコア１２１，１２２側へ出力される。
【００５５】
入出力切替信号ＥＮがローレベルの場合、トライステートバッファ１３１の出力端子がハイインピーダンスとなって入力状態となる一方、ハイレベルの場合には、トライステートバッファ１３１の出力端子から出力データ信号ＤＯが出力される。プルアップ制御信号ＰＵがローレベルの場合、Ｐｃｈトランジスタ１３２がオンして外部端子Ｔにプルアップ抵抗が付加される一方、ハイレベルの場合には、Ｐｃｈトランジスタ１３２がオンして外部端子Ｔからプルアップ抵抗が切り離される。プルダウン制御信号ＰＤがハイレベルの場合、Ｎｃｈトランジスタ１３３がオンして外部端子Ｔにプルダウン抵抗が付加される一方、ローレベルの場合には、Ｎｃｈトランジスタ１３３がオンして外部端子Ｔからプルダウン抵抗が切り離される。外部端子からの入力信号は、入力データ信号ＤＩとしてコア１２１，１２２へ出力される。
【００５６】
［Ｉ／Ｏゲート回路１１１，１１６の詳細構成］
フルタイムコア１２１に接続されているＩ／Ｏセル１３０は、Ｉ／Ｏゲート回路１１１を備え、パートタイムコア１２２に接続されているＩ／Ｏセル１３０は、Ｉ／Ｏゲート回路１１６を備えている。
【００５７】
Ｉ／Ｏゲート回路１１１，１１６は、複数のアンド素子１３４によって構成される。これらのアンド素子１３４の一方の入力端子には、フルタイムコア１２１に対する入出力信号がそれぞれ入力され、他方の入力端子は共通接続されている。Ｉ／Ｏゲート回路１１１の場合、他方の入路端子にＩ／Ｏゲート信号Ｇ１が入力され、各入出力信号とＩ／Ｏゲート信号Ｇ１との論理積が求められている。Ｉ／Ｏゲート回路１１６の場合、他方の入路端子にコアゲート信号Ｇｃが入力され、各入出力信号とＩ／Ｏゲート信号Ｇｃとの論理積が求められている。
【００５８】
つまり、Ｉ／Ｏゲート信号Ｇ１がローレベルの場合、フルタイムコア１２１に対する入出力信号の全てを所定レベル、この例ではローレベルに固定される。一方、Ｉ／Ｏゲート信号Ｇ１をハイレベルにすると、フルタイムコア１２１に対する入出力信号をそのまま通過させることができる。同様にして、コアゲート信号Ｇｃがローレベルの場合、パートタイムコア１２２に対する入出力信号の全てが所定のレベル、この例ではローレベルに固定される一方、コアゲート信号Ｇｃをハイレベルにすると、パートタイムコア１２２に対する入出力信号をそのまま通過させることができる。
【００５９】
このようにして、ゲート信号Ｇ１、Ｇｃをローレベルにすることによって、Ｉ／Ｏゲート回路１１１、１１６の出力信号を初期値に固定し、外部端子Ｔを初期状態（Ｇａｔｅ状態）にすることができる。図２に示された例では、端子制御信号ＰＵ，ＥＮ及びＰＤの初期値が、いずれもローレベルであるため、外部端子Ｔの初期状態は、入力プルアップ状態となる。
【００６０】
外部端子Ｔの初期状態を異ならせるには、端子制御信号ＰＵ，ＥＮ，ＰＤ及びＤＯが入力されるアンド素子１３４の論理を変更し、各信号の初期値を変更すればよい。例えば、各初期値がＰＵ＝Ｈｉｇｈ，ＥＮ＝ＰＤ＝Ｌｏｗとすれば、外部端子Ｔの初期状態は、入力ハイインピーダンス状態となる。また、各初期値がＰＵ＝Ｈｉｇｈ，ＥＮ＝Ｌｏｗ，ＰＤ＝Ｈｉｇｈとすれば、外部端子Ｔの初期状態は入力プルダウン状態となり、ＰＵ＝ＥＮ＝Ｈｉｇｈ，ＰＤ＝Ｌｏｗ，ＤＯ＝Ｌｏｗとすれば、外部端子Ｔの初期状態はローレベル出力状態となり、ＰＵ＝ＥＮ＝Ｈｉｇｈ，ＰＤ＝Ｌｏｗ，ＤＯ＝Ｈｉｇｈとすれば、外部端子Ｔの初期状態はハイレベル出力状態となる。
【００６１】
また、ゲート信号Ｇ１及びＧｃをローレベルにすれば、コア１２１，１２２へ出力する入力データ信号ＤＩをローレベルに固定することができる。このため、コア１２１，１２２への電源遮断中に、Ｉ／Ｏセルブロック１０１からの入力信号の全てをローレベルにすることができ、Ｉ／Ｏセルブロック１０１から信号線を通じてコア１２１，１２２へ電流が流入するのを防止することができ、コア１２１，１２２への電源供給の遮断を安全に行うことができる。また、ゲート回路１１１，１１６内のアンド素子１３４は、入力レベルがフローティング状態であっても、貫通電流が流れない構造となっており、コア１２１，１２２への電源供給が遮断され、Ｉ／Ｏゲート回路１１１，１１６への入力信号がフローティング状態となっても、アンド素子１３４に異常な電流が流れることはない。
【００６２】
[レベルシフタＬＳ]
Ｉ／Ｏセルブロック１０１と、コア１２１，１２２との間には、レベルシフタＬＳが配置されており、両者にまたがる信号の電圧変換を行っている。Ｉ／Ｏゲート回路１１１を有するＩ／Ｏセル１３０は、Ｉ／Ｏセルブロック１０１内で隣り合うように配置され、Ｉ／Ｏゲート信号Ｇ１が、これらのＩ／Ｏセル１３０に順次接続されている。Ｉ／Ｏゲート回路１１６を有するＩ／Ｏセル１３０も隣り合うように配置され、コアゲート信号Ｇｃが、これらのＩ／Ｏセル１３０に順次接続されている。また、コアゲート信号Ｇｃは、レベルシフタＬＳによって電圧変換され、コアゲート信号Ｇｃｃとしてフルタイムコア１２１へ入力される。ラッチ信号Ｌも、レベルシフタＬＳによって電圧変換され、フルタイムコア１２１へ入力される。
【００６３】
［コアゲート回路１５１］
Ｉ／Ｏゲート回路１１１を有するＩ／Ｏセル１３０は、フルタイムコア１２１を介して、パートタイムコア１２２と接続されている。パートタイムコアからの出力信号は、フルタイムコア１２１内のコアゲート回路１５１及びラッチ回路１５２を介して、端子制御信号ＰＵ，ＥＮ，ＰＤとしてＩ／Ｏセルブロック１０１へ出力される。一方、Ｉ／Ｏセルブロック１０１からの入力データ信号ＤＩは、フルタイムコア１２１内のコアゲート回路１５１を介して、パートタイムコア１２２へ出力される。
【００６４】
コアゲート回路１５１は、Ｉ／Ｏゲート回路と同様にして、複数のアンド素子１５３によって構成される。これらのアンド素子１５３の一方の入力端子には、パートタイムコア１２２に対する入出力信号がそれぞれ入力され、他方の入力端子は共通接続されている。この他方の端子は、コアゲート信号Ｇｃを電圧変換した信号Ｇｃｃと接続されており、各入出力信号とコアゲート信号Ｇｃとの論理積が求められている。
【００６５】
つまり、コアゲート信号Ｇｃがローレベルの場合、パートタイムコア１２２に対する入出力信号の全てが所定レベル、この例ではローレベルに固定される。一方、コアゲート信号Ｇｃをハイレベルにすると、パートタイムコア１２２に対する入出力信号をそのまま通過させることができる。なお、Ｉ／Ｏゲート回路１１１の場合と同様、アンド素子１５３の論理を変更することにより、パートタイムコア１２２からの出力信号の初期値（ＳＴＢＹ値）を変更することができる。従って、Ｉ／Ｏゲート回路１１１が通過状態である場合における、外部端子Ｔの初期状態を決定することができる。
【００６６】
［ラッチ回路１５２］
端子制御信号ＰＵ，ＥＮ，ＰＤ，ＤＯは、パートタイムコア１２２によって生成され、フルタイムコア１２１や、Ｉ／Ｏセルブロック１０１〜１０５へ出力される。パートタイムコア１２２は、その内部に多数のレジスタを有しており、これらのレジスタに基づいて所定の動作を行って、端子制御信号を生成している。パートタイムコア１２２からフルタイムコア１２１へ出力された端子制御信号は、コアゲート回路１５１を介して、ラッチ回路１５２へ入力される。
【００６７】
ラッチ回路１５２は、複数のラッチ素子１５４からなる。各ラッチ素子１５４は、ゲート端子Ｇへ入力されるゲート信号に基づいて、入力端子Ｄへの入力信号の通過及び保持を選択することができる。すなわち、ゲート信号がハイレベルであれば、入力端子Ｄの入力信号がそのまま出力端子Ｑから出力され（通過状態）、ゲート信号がローレベルであれば、ゲート信号の立ち下がり時における入力信号を保持し、この入力信号が出力端子Ｑから出力される（ラッチ状態）。
【００６８】
これらのラッチ素子１５４は、ゲート端子Ｇが共通接続され、ラッチ制御信号Ｌｃが入力される。ラッチ制御信号Ｌｃは、レベルシフタＬＳで電圧変換し、さらに論理を反転させたラッチ信号Ｌである。従って、ラッチ信号Ｌがローレベルであれば、ラッチ制御信号Ｌｃがハイレベルとなり、コアゲート回路１５１を通過したパートタイムコア１２２からの出力信号は、ラッチ回路１５２をそのまま通過する。一方、ラッチ信号Ｌがハイレベルであれば、ラッチ制御信号Ｌｃがローレベルとなり、ラッチ回路１５２が保持している過去の出力信号が出力される。
【００６９】
ラッチ信号Ｌを用いて、パートタイムコア１２２が生成した端子制御信号ＰＵ，ＥＮ，ＰＤ，ＤＯをラッチ回路１５２に保持させることにより、外部端子Ｔの入出力方向、出力レベル、プルアップ抵抗のオン／オフ、プルダウン抵抗のオン／オフなどの端子状態を保持することができる。このような保持状態において、コアゲート信号Ｇｃを用いて、コアゲート回路１５１を遮断すれば、外部端子Ｔの端子状態を保持したまま、パートタイムコア１２２の電源供給を遮断することができる。
【００７０】
実施の形態２．
実施の形態１では、フルタイムコア１２１が、コアゲート回路１５１及びラッチ回路１５２を有する場合の例について説明した。これに対し、本実施の形態では、フルタイムコア１２１が、Ｉ／Ｏセル１３０の端子制御信号を生成する論理回路を更に有する場合について説明する。
【００７１】
図３は、本発明の実施の形態２による半導体集積回路の要部について一構成例を示した説明図である。半導体チップ上におけるレイアウトは、図１と同様であり、Ｉ／Ｏセルブロック１０１，１０５、フルタイムコア１２１及びパートタイムコア１２２の要部が示されている。なお、この図は、基本的な構成及び動作を説明するための概念図であり、説明に直接関係のない構成要素は省略されている。
【００７２】
Ｉ／Ｏセルブロック１０１は、多数のＩ／Ｏセル１３０を有している。これらのＩ／Ｏセル１３０のうち、Ｉ／Ｏゲート信号Ｇ１が入力されるＩ／Ｏセル１３０は、フルタイムコア１２１に接続されている。一方、コアゲート信号Ｇｃが入力されるＩ／Ｏセル１３０は、パートタイムコア１２２に接続されている。また、Ｉ／Ｏセルブロック１０５も多数のＩ／Ｏセル１３０を有しており、これらのＩ／Ｏセル１３０には、Ｉ／Ｏゲート信号Ｇ５が入力されるとともに、パートタイムコア１２２に接続されている。
【００７３】
［同期回路１６１］
パートタイムコア１２２は、クロック信号に同期して動作する同期回路１６１を有している。クロック信号は外部端子Ｔから入力される。また、同期回路１６１は多数のレジスタ１６３を有しており、これらのレジスタ１６３が保持するデータに基づいて動作し、出力信号を生成している。この出力信号は、フルタイムコア１２１及びＩ／Ｏセルブロック１０１〜１０５へ出力される。
【００７４】
この同期回路１６１は、リセット信号ＲＳＴを外部入力することによって、半導体集積回路の外部からリセットすることができる。また、書込信号及び書込データを外部入力することにより、同期回路１６１内のレジスタ１６３へデータを書き込むことができる。さらに、読出信号を外部入力することにより、同期回路１６１内のレジスタ１６３からデータを読み出すことができる。これらの各信号は、Ｉ／Ｏセルブロック１０１〜１０５のいずれを介して入力されるものであってもよい。また、Ｉ／Ｏセルブロック１０１を介して入力される場合には、更にフルタイムコア１２１を介して、パートタイムコア１２２に入力されるものであってもよい。
【００７５】
一方、レジスタ１６３から読み出された読出データは、ラッチ回路１５２を介在させることなく、外部端子へ出力される。すなわち、Ｉ／Ｏセルブロック１０１〜１０５のいずれを介して外部端子へ出力され、更にフルタイムコア１２１を介してもよいが、フルタイムコア１２１内においてラッチ回路１５２を通ることなく出力される。このため、各信号が通過するＩ／Ｏゲート回路１１１〜１１６やコアゲート回路１５１を通過状態にしておけば、ラッチ回路１５２が保持状態であっても、同期回路１６１をリセットし、レジスタ１６３へのデータ書き込みやデータ読み出しを行うことができる。特に、ラッチ回路１５２を保持状態に維持したまま、レジスタ読み出しを可能とすることによって、スタンバイモードからの復帰手順において、同期回路１６１の内部状態を確認することができ、スタンバイモードからの復帰を迅速に行うことができる。
【００７６】
［非同期回路１６２］
フルタイムコア１２１は、コアゲート回路１５１、ラッチ回路１５２及び非同期回路１６２を備えている。非同期回路１６２は、論理回路の一例であり、２以上の論理素子からなる組み合わせ回路であって、同期回路１６１からの信号ｓ１と、外部端子Ｔ１からの信号ｓ２が入力され、信号ｓ３を出力している。入力信号ｓ１は、同期回路１６１によって生成され、フルタイムコア１２１へ入力された後、コアゲート回路１５１及びラッチ回路１５２を介して、非同期回路１６２に入力される。一方、入力信号ｓ２は、外部端子Ｔ１からＩ／Ｏセルブロック１０１へ入力された後、フルタイムコア１２１内の非同期回路１６２へ入力される。一方、非同期回路１６２で生成された信号ｓ３は、Ｉ／Ｏセルブロック１０１を介して、外部端子Ｔ２へ出力される。
【００７７】
つまり、非同期回路１６２は、同期回路１６１で生成された信号ｓ１と、外部入力された信号ｓ２に基づいて、外部出力される信号ｓ３を生成している。このため、パートタイムコア１２２に電源が供給されている場合には、同期回路１６１の制御下で、外部入力に応じて外部出力を行う種々の動作を実現することができる。
【００７８】
これに加えて、パートタイムコア１２２へ電源が供給されないスタンバイモード時であっても、外部入力に応じて外部出力を行うことができる。非同期回路１６２の信号ｓ２は、フルタイムコア１２１内のラッチ回路１５２を介して非同期回路に入力されているため、スタンバイモード中であっても、ラッチ回路１５２が保持しているデータが、信号ｓ２として、非同期回路１６２へ入力される。このため、パートタイムコア１２２への電源供給中のように、複雑な動作を行わせることはできないが、外部入力に応じて外部出力を行わせることができる。
【００７９】
また、その動作は、非同期回路１６２の構成のみによって決まるのではなく、スタンバイモード移行時に非同期回路１６２によって指定又は選択することができる。従って、スタンバイモード中であっても、外部から見て最小限の機能を維持しておくことができる。
【００８０】
また、非同期回路１６２は、同期回路に比べて、少ないゲート数で実現することができリーク電流も少ない。このため、回路規模を顕著に増大させず。また、消費電力も顕著に増大させずに実現することができる。
【００８１】
なお、本実施の形態では、非同期回路１６２に入力される信号ｓ１，ｓ２がそれぞれ１つであり、非同期回路１６２から出力される信号ｓ３も１つの場合について説明したが、いずれも２以上とすることができることは言うまでもない。また、フルタイムコア１２１内には同期回路が含まれていないことが望ましいが、一部に同期回路が含まれていてもよい。
【００８２】
実施の形態３．
本実施の形態では、フルタイムコア１２１内の非同期回路１６２を用いて、スルー割り込み機能、セレクタ機能、レベルシフタ機能を実現する場合について説明する。
【００８３】
図４は、本発明の実施の形態３による半導体集積回路の要部について一構成例を示した図である。この半導体集積回路は、パートタイムコア１２２への電源遮断中も動作させることができるスルー割り込み機能、セレクタ機能、レベルシフタ機能を実現している。スルー割り込みとは、内部に保持しているマスク設定及び極性反転設定などに基づいて、外部端子から入力された割込信号を他の外部端子から出力する機能である。例えば、２以上の割り込み信号に基づいて、１つの割り込み信号を生成するような場合に使用される。
【００８４】
［スルー割り込み］
外部端子Ｔ２ａは、割り込み信号ＩＮＴの出力端子であり、Ｉ／Ｏゲート回路１１１の遮断中における初期値（Ｉ／Ｏゲート状態）は、ローレベル出力状態である。パートタイムコア１２２は、ハイアクティブの割り込み信号ＩＮＴ０を生成している。この割り込み信号ＩＮＴ０は、出力極性設定レジスタの値ＰＯＬに基づいて極性反転され、外部端子Ｔ２ａから出力される。ここでは、出力極性設定ＰＯＬがローレベルであれば、ハイアクティブの割り込み信号ＩＮＴ０をそのまま割り込み信号ＩＮＴとして、外部端子Ｔ２ａから出力する。一方、出力極性設定がハイレベルであれば、信号ＩＮＴ０はＥＸＯＲゲートによって反転され、ローアクティブの割り込み信号ＩＮＴとして外部端子Ｔ２ａから出力される。
【００８５】
外部端子Ｔ１ａには、割り込み信号ＩＮＴ１が入力される。このため、ローレベルの入出力切替信号ＥＮを外部端子Ｔ１ａのＩ／Ｏセル１３０に入力すれば、外部端子Ｔ１ａを入力端子として用いることができる。この場合、外部端子Ｔ１ａの入力信号は、Ｉ／Ｏセル１３０の入力データ信号ＤＩとして、フルタイムコア１２１へ入力される。この入力データ信号ＤＩは、更にパートタイムコア１２２へ入力されるとともに、フルタイムコア１２１内の非同期回路１６２を介して、外部端子Ｔ２ａへも伝達される。
【００８６】
割り込み信号ＩＮＴ１が、ハイアクティブ、ローアクティブのいずれであるのかは、パートタイムコア１２２からの極性設定ＰＯＬ１によって指定される。極性設定ＰＯＬ１がローレベルであれば、割り込み信号ＩＮＴ１はハイアクティブであるため、ＥＸＯＲゲートをそのまま通過させる。一方、極性設定ＰＯＬ１がハイレベルであれば、割り込み信号ＩＮＴ１はローアクティブであるため、ＥＸＯＲゲートにおいて反転させる。
【００８７】
割り込み信号ＩＮＴ１をマスクするか否かは、パートタイムコア１２２からのマスク設定ＭＳＫ１によって指定される。マスク設定ＭＳＫ１がローレベルであれば、割り込み信号ＩＮＴ１はマスクされており、マスク設定ＭＳＫ１との論理積を求めるＡＮＤゲートにおいて遮断される。一方、マスク設定ＭＳＫ１がハイレベルであれば、割り込み信号ＩＮＴ１が許可されており、上記素子ＡＮＤゲートを通過することができる。上記ＡＮＤゲートを通過した割り込み信号ＩＮＴ１は、ＯＲゲートにおいて、他の割り込み信号と束ねられて、外部端子Ｔ２ａへ伝達される。
【００８８】
同様にして、外部端子Ｔ１ｂには、割り込み信号ＩＮＴ２が入力される。このため、外部端子Ｔ１ｂが入力端子となるように、そのＩ／Ｏセル１３０には、ローレベルの入出力切替信号ＥＮが入力されている。このため、外部端子Ｔ１ｂの入力信号は、Ｉ／Ｏセル１３０の入力データ信号ＤＩとして、フルタイムコア１２１へ入力される。この入力データ信号ＤＩは、更にパートタイムコア１２２へ入力されるとともに、フルタイムコア１２１内の非同期回路１６２を介して、外部端子Ｔ２ａへも伝達される。
【００８９】
割り込み信号ＩＮＴ２が、ハイアクティブ、ローアクティブのいずれであるのかは、パートタイムコア１２２からの極性設定ＰＯＬ２によって指定される。極性設定ＰＯＬ２がローレベルであれば、割り込み信号ＩＮＴ２はハイアクティブであるため、ＥＸＯＲゲートをそのまま通過させる。一方、極性設定ＰＯＬ２がハイレベルであれば、割り込み信号ＩＮＴ２はローアクティブであるため、ＥＸＯＲゲートにおいて反転させる。
【００９０】
割り込み信号ＩＮＴ２をマスクするか否かは、パートタイムコア１２２からのマスク設定ＭＳＫ２によって指定される。マスク設定ＭＳＫ２がローレベルであれば、割り込み信号ＩＮＴ２はマスクされており、マスク設定ＭＳＫ２との論理積を求めるＡＮＤゲートにおいて遮断される。一方、マスク設定ＭＳＫ２がハイレベルであれば、割り込み信号ＩＮＴ２が許可されており、上記素子ＡＮＤゲートを通過することができる。上記ＡＮＤゲートを通過した割り込み信号ＩＮＴ２は、ＯＲゲートにおいて、他の割り込み信号と束ねられて、外部端子Ｔ２ａへ伝達される。
【００９１】
この様な構成によって、パートタイムコア１２２が動作状態であっても、パートタイムコア１２２の電源を遮断してフルタイムコア１２１のみ動作している状態であっても、極性設定ＰＯＬ１，ＰＯＬ２及びマスク設定ＭＳＫ１，ＭＳＫ２を考慮して、外部端子Ｔ１ａ、Ｔ１ｂに入力された割り込み信号ＩＮＴ１、ＩＮＴ２を外部端子Ｔ２ａへ伝達し、割り込み信号ＩＮＴとして出力することができる。
【００９２】
［セレクタ・レベルシフタ］
また、外部端子Ｔ１ａのＩ／Ｏセル１３０には、セレクタの出力信号が出力データ信号ＤＯとして入力されている。従って、このＩ／Ｏセル１３０に対し、ハイレベルの入出力切替信号ＥＮを入力すれば、外部端子Ｔ１ａを出力端子とし、セレクタの出力信号を外部端子Ｔ１ａへ出力することができる。
【００９３】
上記セレクタが４つの入力信号の中から、いずれを選択して出力信号とするのかは、パートタイムコア１２２から出力される２ビットのセレクト信号ＳＥＬ１，ＳＥＬ２によって指定される。セレクト信号ＳＥＬ１，ＳＥＬ２が「００」であれば、パートタイムコア１２２からの出力信号が選択される。「０１」であれば、外部端子Ｔ１ｂのＩ／Ｏセル１３０の入力データ信号ＤＩが選択され、「１０」、「１１」であれば、図示しない他の外部端子からの入力信号がそれぞれ選択される。
【００９４】
この様な構成によって、パートタイムコア１２２が動作状態であっても、パートタイムコア１２２の電源を遮断してフルタイムコア１２１のみ動作している状態であっても、Ｉ／Ｏセル１３０の入出力切替信号ＥＮや、セレクト信号ＳＥＬ１，ＳＥＬ２をラッチすることによって、他の入力端子からの入力信号を選択して、出力信号として伝達することができ、セレクタとして機能させることができる。
【００９５】
また、セレクタに入力される信号が、他のＩ／Ｏセルブロックの外部端子からの入力信号であり、レベルシフタを介して接続されている電源電圧の異なるＩ／Ｏセルブロックをまたいで伝達された信号であれば、入力信号及び出力信号の電圧を異ならせることができ、外部から見ればレベルシフタとして機能させることができる。
【００９６】
実施の形態４．
本実施の形態では、フルタイムコア１２１内の非同期回路１６２を用いて、アドレスデコーダを実現する場合について説明する。
【００９７】
図５は、本発明の実施の形態４による半導体集積回路の要部について一構成例を示した図である。この半導体集積回路は、パートタイムコア１２２への電源遮断中も動作させることができるアドレスデコーダを実現している。
【００９８】
［アドレスデコーダ］
外部端子Ｔ１ｃは、チップセレクト信号ＣＳが入力される入力端子であり、対応するＩ／Ｏセル１３０のＩ／Ｏゲート回路１１１が遮断されている状態では、入力状態となっている。チップセレクト入力信号ＣＳは、この半導体集積回路を外部から活性化させるためのローアクティブの信号である。
【００９９】
パートタイムコア１２２から出力されるＣＳ設定１及びＣＳ設定２がともにローレベルであれば、外部端子Ｔ１ｃに入力されたチップセレクト入力信号ＣＳは、内部ＣＳ信号として、パートタイムコア１２２へそのまま伝達される。一方、ＣＳ設定１及びＣＳ設定２がともにハイレベルであれば、フルタイムコア１２１内の２つのセレクタは、ともに「１」側を選択する。その結果、外部端子Ｔ１ｃ、Ｔ１ｄに入力されるチップセレクト入力信号ＣＳ及びアドレス信号に従って、パートタイムコア１２２へ入力する内部ＣＳ及び外部端子Ｔ２ｂから出力されるチップセレクト出力信号ＣＳが生成される。
【０１００】
図６は、ＣＳ設定１及びＣＳ設定２がともにハイレベルの場合の動作の一例を示した表示である。アドレス入力信号が「０」で、チップセレクト入力信号ＣＳがアクティブ（＝０）であれば、内部ＣＳ信号をアクティブ（＝０）とし、チップセレクト出力信号ＣＳを非アクティブ（＝１）とする。アドレス入力信号が「１」で、チップセレクト入力信号ＣＳがアクティブ（＝０）になれば、内部ＣＳ信号を非アクティブ（＝１）とし、チップセレクト出力信号ＣＳをアクティブ（＝０）とする。
【０１０１】
すなわち、上位アドレス信号をアドレス入力用の外部端子Ｔ１ｄへ入力しておけば、１つのＣＳアドレス空間を２つに分割して、本半導体集積回路の内部ＣＳ空間と、チップセレクト出力信号ＣＳが入力される他の半導体集積回路のＣＳ空間とに分割することができる。また、このアドレスデコーダ機能は、本半導体集積回路のパートタイムコアが動作状態であっても、パートタイムコアが電源遮断状態であっても、ラッチ回路１５２が、ＣＳ設定１及びＣＳ設定２をラッチすることによって、動作させることができる。
【０１０２】
実施の形態５．
図７は、本発明の実施の形態５による半導体集積回路を含むマイコンシステムの一例を示したブロック図である。
【０１０３】
このマイコンシステムは、マイコンチップ２００、複数の電源回路２０１、本実施の形態による半導体集積回路２０２、メモリ２０３、ＬＣＤ２０４、カメラ２０５及びメモリカード２０６により構成される。マイコンチップ２００は、ＣＰＵ（Central Processing Unit）２１０、汎用ポート２１１、割り込みコントローラ２１２及びメモリＩ／Ｆ２１３を内蔵しており、互いに内部バスを介して接続されている。
【０１０４】
汎用ポート２１１は、７つの電源回路のオン／オフ制御を行っている。これらの電源回路は、互いに独立して電源を供給する回路であり、Ｉ／Ｏセルブロック１０１〜１０５、フルタイムコア１２１及びパートタイムコア１２２に対応する電源電圧VDD_B1〜VDD_B5，VDD_C1，VDD_C2をそれぞれ供給している。なお、同時にオン／オフ制御される電源は、同一の汎用ポートで制御することもできる。また、汎用ポート２１１は、半導体集積回路２０２に入力されるＩ／Ｏゲート信号Ｇ１，Ｇ２，Ｇ５、コアゲート信号Ｇｃ、ラッチ信号Ｌ及びリセット信号ＲＳＴを出力している。
【０１０５】
割り込みコントローラ２１２は、半導体集積回路２０２に出力される割り込み信号ＩＮＴを受け付けて処理している。この割り込み信号ＩＮＴがアクティブになると、ＣＰＵ２１０は割り込み処理を実行する。また、メモリＩ／Ｆ２１３にはメモリバスが接続されており、当該メモリバスにはメモリ２０３が接続されるととともに、半導体集積回路２０２のバスＩ／Ｆも接続されており、半導体集積回路２０２内のレジスタ１６３等の書き込みや読出しは、このメモリバスを介して行なわれる。
【０１０６】
更に、半導体集積回路２０２には、周辺装置としてのＬＣＤ２０４、カメラ２０５、メモリカード２０６が接続されている。これらの周辺装置は一例であり、半導体集積回路２０２には、様々な周辺装置を接続することができる。
【０１０７】
この実施の形態では、メモリバスとリセット信号が、半導体集積回路２０２内のＩ／Ｏセルブロック１０１に対応する外部端子Ｔと接続されており、フルタイムコア１２１を介することなく、Ｉ／Ｏセルブロック１０１及びパートタイムコア１２２間で入出力されているものとする。
【０１０８】
図８〜図１０は、本発明の実施の形態５による半導体集積回路２０２の各信号を示したタイミングチャートであり、図７のマイコンシステム上で半導体集積回路２０２を制御する手順を説明するための図である。図中のVDD_B1，VDD_B2，VDD_B5，VDD_C1，VDD_C2は、それぞれＩ／Ｏセルブロック１０１，１０２，１０５、フルタイムコア１２１，パートタイムコア１２２への供給電源である。また、ＲＳＴはリセット信号、Ｇ１，Ｇ２，Ｇ５は、それぞれＩ／Ｏゲート回路１１１，１１２，１１５のＩ／Ｏゲート信号、Ｇｃはコアゲート信号、Ｌはラッチ信号である。「Ｂ１→Ｃ１」は、Ｉ／Ｏセルブロック１０１からフルタイムコア１２１への入力信号、「Ｃ１→Ｂ１」は、フルタイムコア１２１からＩ／Ｏセルブロック１０１への出力信号、「Ｃ１→Ｃ２」は、フルタイムコア１２１からパートタイムコア１２２への入力信号である。
【０１０９】
［初期化手順］
VDD_B2、VDD_B5が供給されるＩ／Ｏセルブロック１０２、１０５は、フルタイムコア１２１とは接続されていない。また、VDD_B5は、VDD_B1、VDD_B3、VDD_B4と同時にオン／オフ制御され、VDD_B2は、独立に制御され、かつ、パートタイムコア１２２が動作状態である場合に限りオンされる。
【０１１０】
まず、半導体集積回路への電源投入前は、すべての外部端子がローレベルになっている。この状態から、Ｉ／Ｏ電源VDD_B1、VDD_B3、VDD_B4及びVDD_B5と、フルタイムコア電源VDD_CORE1を投入し、電源電圧が安定した後、Ｉ／Ｏゲート信号Ｇ１をローレベルからハイレベルへ変化させる。
【０１１１】
この時、Ｉ／Ｏゲート回路１１１のＩ／Ｏセル１３０側が、Ｉ／Ｏゲート回路１１１の遮断状態で決まる端子の初期状態（Ｇａｔｅ状態）から、コアゲート回路１５１の遮断状態で決まる端子の初期状態（ＳＴＢＹ状態）に遷移する。Ｉ／Ｏゲート回路１１１のフルタイムコア１２１側は、ロー固定状態から入力データ信号ＤＩがフルタイムコア１２１に入力される状態に変化する。フルタイムコア１２１のコアゲート回路１５１のフルタイムコア１２１側は、ＳＴＢＹ状態のままで、コアゲート回路１５１のパートタイムコア１２２側は、ロー固定状態のままである。
【０１１２】
その後、パートタイムコア１２２の電源を投入し、電源電圧が安定した後、Ｉ／Ｏゲート信号Ｇ５と、コアゲート信号Ｇｃをローレベルからハイレベルに変化させる。この時、Ｉ／Ｏゲート回路１１１もコアゲート回路１５１も通過状態となり、パートタイムコア１２２はリセット状態であるため、すべての外部端子Ｔは、パートタイムコア１２２のリセット状態で決まる初期状態（Ｒｅｓｅｔ状態）となる。この間、異常な電流や端子の異常な状態を経由することなく、安全に電源投入することができる。その後、リセット信号ＲＳＴをローレベルからハイレベルに変化させ、パートタイムコア１２２の動作を開始する。
【０１１３】
Ｉ／Ｏセルブロック１０２の外部端子Ｔを使う場合、パートタイムコア１２２の動作開始後に、VDD_B2の電源を投入し、電源電圧が安定した後、ゲート信号Ｇ２をローレベルからハイレベルに変化させ、Ｉ／Ｏゲート回路１１２を通過状態とし、Ｉ／Ｏセルブロック１０２の外部端子Ｔの動作を開始する。その後、これらの外部端子Ｔの動作が必要なくなった時には、ゲート信号Ｇ２をローレベルに下げてＩ／Ｏゲート回路１１２を遮断状態とした後、VDD_B2電源を遮断する。
【０１１４】
［スタンバイ投入手順］
主要な回路部分であるパートタイムコア１２２の動作が一時必要なくなった時は、リーク電流を削減するために、パートタイムコア１２２の電源を遮断することができる。パートタイムコア１２２の回路の動作を停止させ、外部端子Ｔの状態を所望の状態に設定した後、ラッチ信号Ｌをローレベルからハイレベルに変化させる。これにより、フルタイムコア１２１内のラッチ回路１５２に端子制御信号が保持され、その後も現在の端子状態を保持させることができる。ラッチ回路１５２は、外部端子Ｔの出力レベルを固定するだけでなく、外部端子Ｔの端子設定情報、すなわち、プルアップ制御信号ＰＵ、入出力切替信号ＥＮ、プルダウン制御信号ＰＤも保持される。さらに、フルタイムコア１２１内の論理回路に入力される外部端子Ｔの端子制御情報に付随する設定情報、例えば、スルー割り込みのマスク設定等も含めて保持される。
【０１１５】
その後、リセット信号ＲＳＴをハイレベルからローレベルに変化させる。この時、パートタイムコア１２２はリセット状態になるが、ラッチ回路１５２によって、端子制御信号が保持されたままであるので、端子状態はラッチ信号Ｌを立ち上げる直前の状態が保持されている。
【０１１６】
その後、コアゲート信号Ｇｃ、Ｉ／Ｏゲート信号Ｇ５をハイレベルからローレベルへ変化させ、パートタイムコア１２２の外側全体をゲート回路で固定し、パートタイムコア電源VDD_CORE2を遮断する。この時も、パートタイムコア１２２の電源はなくなるが、端子状態はフルタイムコア１２１内のラッチ回路１５２で保持している状態に基づいて、ラッチ信号を立ち上げた時の直前の状態を保持したままである。この間も、異常な電流や端子の異常な状態を経由することなく、安全にスタンバイ状態に投入することができる。
【０１１７】
［スタンバイ復帰手順］
スタンバイ状態からパートタイムコア１２２を動作させたい時は、まずパートタイムコア電源VDD_CORE2を投入し、電源電圧が安定した後、Ｉ／Ｏゲート信号Ｇ５、コアゲート信号Ｇｃをローレベルからハイレベルに変化させる。リセット信号ＲＳＴは、フルタイムコア１２１を介在させることなく、Ｉ／Ｏセルブロック１０１からパートタイムコア１２２へ直接伝達される。ここで、リセット信号ＲＳＴを立ち上げて、パートタイムコア１２２のリセットを解除する。また、メモリバスの信号群も、フルタイムコア１２１を介在させることなく、コアゲート信号Ｇｃを立ち上げることにより、Ｉ／Ｏセルブロック１０１からパートタイムコア１２２へ直接伝達されるので、この状態にてメモリバスからパートタイムコア１２２のレジスタ等の書き込み及び読み出しを行なうことができる。
【０１１８】
ラッチ信号Ｌを立ち下げる前に、メモリバスを経由して端子関連情報を前回スタンバイ状態に投入した直前の状態に書き戻す。これら書き戻すべきレジスタ設定値は、半導体集積回路２０２の内部には記憶されていない。このため、マイコンシステム内のメモリ２０３等に予め記憶しておく。端子制御情報をすべて前回スタンバイに投入した直前の状態に書き戻したら、ラッチ信号Ｌを立ち下げ、ラッチ回路１５２を通過状態とする。この時、端子状態はパートタイムコア１２２の回路状態に依存した状態になるが、前回スタンバイに投入した直前と同じ状態であり、端子状態が連続してスタンバイ状態から復帰される。
【０１１９】
ここでは、ラッチ状態にて端子制御信号をパートタイムコア１２２内部に書き戻すために必要な外部端子をフルタイムコアを介在させないように構成し、また、リセット信号及びメモリバス信号を用いたが、この様な場合に限らず、設定情報を書き戻すために必要な信号群であればよく、例えばシリアル通信にてレジスタ設定する場合にはそのシリアル通信関連端子がフルタイムコア１２１を介在させずに、パートタイムコア１２２に伝達されればよい。
【０１２０】
［電源遮断手順］
パートタイムコア１２２の動作状態において、半導体集積回路２０２全体の電源を遮断する時には、まずリセット信号ＲＳＴを立ち下げて、パートタイムコア１２２の動作をリセットし、Ｉ／Ｏゲート信号Ｇ５、コアゲート信号Ｇｃを下げてパートタイムコア１２２の外側全体をゲート回路で固定し、パートタイムコア電源VDD_CORE2を遮断する。次に、Ｉ／Ｏゲート信号Ｇ１を立ち下げて、Ｉ／Ｏセルブロック１０１のＩ／Ｏゲート回路１１１を固定して、フルタイムコア電源VDD_CORE1を遮断し、Ｉ／Ｏ電源VDD_B1、VDD_B3、VDD_B4、VDD_B5を遮断し、全ての電源を遮断する。この間も、異常な電流や端子の異常な状態を経由することなく、安全に電源を遮断することができる。
【０１２１】
［スルー割り込み処理手順］
図１１は、スルー割り込みの制御手順を示したフローチャートである。スルー割り込み信号ＩＮＴ１の入力端子には、すべて汎用ポートの機能が多重されているものとする。スルー割り込みをイネーブルするには、まず、割り込み信号ＩＮＴ１の入力端子を入力状態、すなわち、入出力切替信号ＥＮがローレベルとなるように設定し、スルー割り込みの極性設定ＰＯＬ１を適切に設定し、マスク設定ＭＳＫ１を許可側に設定する。この時点で、所望の割り込み入力端子からアクティブレベルが入力されると、パートタイムコア１２２が動作状態であっても、スタンバイ状態であっても、割り込み出力端子に割り込みが伝達される。
【０１２２】
スタンバイモードに移行する時には、パートタイムコア１２２内のレジスタ１６３等はすべて電源をオフすることで内容が消えてしまう。このため、マイコンシステム上のメモリ２０３等に予め記憶させておく。特に、スルー割り込みの極性設定ＰＯＬ１，ＰＯＬ２、マスク設定ＭＳＫ１，ＭＳＫ２、多重されている汎用ポートのレジスタ設定、端子機能切換機能のある端子であればその切換設定を記憶しておく。
【０１２３】
マイコンシステムのＣＰＵ２１０に、本実施の形態の半導体集積回路２０２からの割り込みが発生すると、まず、現在スタンバイ状態か否かをソフトウエア制御で管理しておき、もしスタンバイ状態でなければ、通常動作時のパートタイムコア１２２内にある割り込み要因を示すレジスタを読み出し、その内容に従った割り込み処理を行なう。いずれの割り込み要因もフラグが立っていなかったら、スルー割り込みと判断し、スルー割り込み処理を行なう。あるいは、現在スタンバイ状態であった場合には、スタンバイ復帰手順にてパートタイムコア１２２を立ち上げた後、スルー割り込み処理を行なう。
【０１２４】
スルー割り込み処理は、まずスルー割り込み信号ＩＮＴ１が入力される外部端子を汎用ポート入力に切り換えて、スルー割り込み信号ＩＮＴ１のレベルをレジスタに保持させた後、当該汎用ポートのレジスタを読み出すことによって、スルー割り込み用の外部端子への入力状態を取得する。予め記憶しておいたスルー割り込みの極性設定ＰＯＬ１、マスク設定ＭＳＫ１と、今読み出した端子入力状態とにより、マスク設定ＭＳＫ１が許可状態で、極性設定ＰＯＬ１がハイアクティブで、端子入力状態がハイレベルであった場合、該当端子のハイアクティブ割り込みが発生したと判断し、その割り込み処理を行なう。また、マスク設定ＭＳＫ１が許可状態で、極性設定ＰＯＬ１はローアクティブで、端子入力状態がローレベルであった場合、該当端子のローアクティブ割り込みが発生したと判断し、その割り込み処理を行なう。
【０１２５】
いずれの割り込み要因も検出されなかった場合には、スルー割り込み入力端子にチャタリングが発生したと判断する。すなわち、アクティブレベルの割り込み入力が発生したが、スタンバイ復帰手順等の間に割り込み入力端子状態が逆レベルに変化してしまい、汎用ポート入力レジスタから端子入力状態がアクティブレベルではないと判断されてしまったと判断する。この場合、もしチャタリングであれば、再度割り込みが発生することを期待して、何もしないで割り込み処理を終了する。
【０１２６】
上記実施の形態による半導体集積回路は、Ｉ／Ｏゲート信号Ｇ１〜Ｇ５及びコアゲート信号Ｇｃを用いて、Ｉ／Ｏゲート回路１１１〜１１５を外部から制御することによって、半導体集積回路への電源の投入及び遮断を安全に行うことができる。また、コアゲート信号Ｇｃを用いて、Ｉ／Ｏゲート回路１１６及びコアゲート回路１５１を外部から制御することにより、フルタイムコア１２１への電源供給中に、パートタイムコア１２２への電源供給の遮断及び再開を安全に行うことができる。
【０１２７】
また、ラッチ信号Ｌを用いて、ラッチ回路１５２を外部から制御することにより、スタンバイモード中も外部端子Ｔの端子制御信号ＥＮ，ＰＵ，ＤＯ，ＰＤを保持し、その制御状態を維持することができる。特に、入力端子として使用される外部端子Ｔの制御状態を維持することができる。さらにフルタイムコア１２１内に非同期回路１６２を設け、この非同期回路１６２に入力される信号、例えば入出力端子周辺回路の設定情報の保持をすることができる。このため、スタンバイモード中であっても、外部から見た最低限の動作状態を維持することができる。さらに、リセット信号ＲＳＴ、レジスタ１６３への書込信号、書込データ及び読出信号を用いることにより、スタンバイモードからの復帰前に、パートタイムコア１２２の内部状態を所望の状態に変更することができるため、スタンバイモードからの復帰を安全にかつ簡単に行なうことができる。
【０１２８】
また、初期起動時にリセット信号ＲＳＴにより初期化されたパートタイムコア１２２の出力する端子制御信号をラッチ回路１５２に同時に設定して動作状態とする手順にて初期化を行なうことにより、安全にかつ端子状態を連続した状態として電源投入することができる。
【０１２９】
また、スタンバイ状態に移行する手順により、外部から見た最低限の動作状態を保持したままパートタイムコアの電源を遮断することができる。
【０１３０】
また、スタンバイ状態から復帰する手順により、安全にかつ端子状態を連続した状態としてスタンバイ状態からの復帰を行なうことができる。
【０１３１】
また、複数のＩ／Ｏゲート信号Ｇ１，Ｇ３，Ｇ４を電圧変換して共通化して外部から入力することにより、複数の電源電圧で動作する複数のＩ／Ｏセルブロックに対して、個別にＩ／Ｏゲート信号を用意する必要がなくなり、端子数の増大を防ぐことができる。
【０１３２】
また、Ｉ／Ｏセルブロック１０１内のＩ／Ｏゲート回路１１６を制御するコアゲート信号Ｇｃが、レベルシフタＬＳにおいて電圧変換され、フルタイムコア１２１内のコアゲート回路１５１のゲート信号として用いられている。このため、Ｉ／Ｏセルブロック１０１及びパートタイムコア１２２を分離するＩ／Ｏゲート回路１１６と、フルタイムコア１２１及びパートタイムコア１２２を分離するコアゲート回路１５１とを単一の外部入力で制御することができ、端子数の増大を防ぐことができる。
【０１３３】
また、フルタイムコア１２１に非同期回路１６２を備え、この非同期回路１６２は、パートタイムコア１２２への電源供給中でも電源遮断中であっても動作可能であり、ラッチ回路１５２の出力信号及び外部端子Ｔからの入力信号に基づいて動作している。このため、入力端子及び出力端子を連携させる機能を実現する論理回路をパートタイムコアの電源遮断時であっても動作させることができ、これらの外部端子の端子制御情報と、論理回路の設定情報も合わせて保持することができる。
【０１３４】
また、外部端子Ｔからの入力信号及びパートタイムコア１２２からの出力信号のいずれかを選択して出力するセレクタと、上記セレクタによる信号選択を指示する信号選択情報をラッチするラッチ回路１５２と、出力信号のレベルを反転するか否かの信号反転情報をラッチするラッチ回路１５２とをフルタイムコア１２１に備えることにより、パートタイムコア１２２が動作状態であっても電源遮断状態であっても、ある外部端子Ｔの入力状態を別の外部端子Ｔの出力状態に選択的に伝えることができる。また、これらの外部端子Ｔが、レベルシフタＬＳを介して接続された異なるＩ／Ｏセルブロック１０１〜１０５に接続されている場合には、当該半導体集積回路をレベルシフタとして利用することができる。
【０１３５】
また、外部端子Ｔから入力されるアドレス信号及びチップセレクト信号に基づいて、新たなチップセレクト信号を生成するアドレスデコーダと、パートタイムコア１２２及び上記アドレスデコーダの出力信号のいずれかを選択して出力するセレクタと、上記セレクタによる信号選択を指示する信号選択情報をラッチするラッチ回路１５２をフルタイムコアに備えることにより、パートタイムコア１２２が動作状態であっても電源遮断状態であっても、新たなチップセレクト信号を外部端子Ｔへ出力することができ、別の半導体集積回路のチップセレクトとして常時使用することができる。
【０１３６】
また、パートタイムコア１２２が動作状態であっても電源遮断状態であっても、他の半導体集積回路が発生する割り込み信号を複数束ねてマイコン部に割り込みとして伝えることができる。
【０１３７】
また、パートタイムコアが動作状態であっても電源遮断状態であっても伝えられる割り込みを、どの状態であっても正常に処理できるマイコンシステムを提供できる。
【０１３８】
本実施の形態では、パートタイムコアを１つのコアブロックとしたが、さらに複数のパートタイムコアに分割して、動作機能ごとに電源遮断することにより、さらなる消費電力の最適化をすることができる。
【０１３９】
なお、上記実施の形態では、外部端子Ｔの端子制御信号が、プルアップ制御信号ＰＵ、入出力切替信号ＥＮ、プルダウン制御信号ＰＤ、出力データＤＯである場合の例について説明したが、出力バッファの駆動能力切換信号や、シュミットトリガ入力機能のオン／オフ制御信号や、プルアップ抵抗やプルダウン抵抗の抵抗値切換信号等を含めることもできる。
【０１４０】
また、上記実施の形態では、Ｉ／ＯセルがデジタルＣＭＯＳ入出力端子である場合の例について説明したが、本発明は、アナログバッファが含まれている半導体集積回路にも適用可能である。例えば、水晶発振用やＣＲ発振用の発振バッファが含まれる場合であれば、その発振オン／オフ設定等を端子制御信号とすることもできる。また、差動出力バッファが含まれる場合であれば、差動振幅や差動オフセット電圧の設定、差動バッファのオン／オフ等を制御する信号を端子制御信号とすることもできる。また、差動入力バッファが含まれる場合であれば、差動入力スレッショールド電圧の設定や、差動バッファのオン／オフ等を制御する信号を端子制御信号とすることもできる。また、アナログ電圧入出力バッファが含まれる場合であれば、Ｉ／Ｏゲート回路に代えて、パストランジスタでその経路を切断してもよい。
【０１４１】
また、上記実施の形態では、フルタイムコア１２１に内蔵する論理回路として、組み合わせ回路のみを例としたが、クロックを必要とする順序回路を内蔵することもできる。しかし、フルタイムコア１２１のリーク電流を低減するためには、フルタイムコア１２１の回路規模すなわちトランジスタ数を極力減らすことが有効であり、近年、同期設計される順序回路をフルタイムコア１２１に内蔵すると、クロックツリーおよびパスのタイミング調整用ゲート等がフルタイムコア１２１に含まれてしまうことから、フルタイムコア１２１の規模に注意する必要がある。
【０１４２】
また、上記実施の形態では、フルタイムコア１２１とパートタイムコア１２２を同じ電圧レベルで動作するコアとしたが、異なる電源電圧で動作するものとしても良い。コア電圧を上げれば動作電流は上がるが、リーク電流は下がる傾向にある。このため、フルタイムコア１２１は高めの電圧を供給し、パートタイムコア１２２よりも、さらにリーク電流を低減させることも可能である。また、フルタイムコア１２１をＩ／Ｏセルブロック１０１〜１０５の電源電圧で動作させるよう設計すれば、さらに高耐圧トランジスタを用いた回路にて設計でき、さらにリーク電流を低減することも可能である。
【０１４３】
また、上記実施の形態では、Ｉ／Ｏゲート信号Ｇ１〜Ｇ５、コアゲート信号Ｇｃ、ラッチ信号Ｌを、すべて外部からの端子入力信号としたが、これらをフルタイムコア１２１やＩ／Ｏセルブロック１０１〜１０５で生成し、マイコンチップからの制御はシリアル通信等を用いれば、さらに端子数を低減することができる。
【０１４４】
また、上記実施の形態では、電源回路を外部に置き、それらの出力のオン／オフ制御をマイコンの汎用ポートで行っている場合の例について説明したが、電源回路自体を本実施の形態の半導体集積回路内部に配置してもよい。また、電源回路からの供給電源を伝えるか否かを制御することができるパストランジスタを上記実施の形態による半導体集積回路に内蔵してもよい。これらの場合には、電源供給のオン／オフ制御を汎用ポートでなく、シリアル通信にて制御することもできる。
【図面の簡単な説明】
【０１４５】
【図１】本発明の実施の形態１による半導体集積回路の概略構成例を示した図である。
【図２】図１のＩ／Ｏセルブロック１０１及びフルタイムコア１２１の一構成例を示した回路図である。
【図３】本発明の実施の形態２による半導体集積回路の要部について一構成例を示した説明図である。
【図４】本発明の実施の形態３による半導体集積回路の要部について一構成例を示した図である。
【図５】本発明の実施の形態４による半導体集積回路の要部について一構成例を示した図である。
【図６】ＣＳ設定１及びＣＳ設定２がともにハイレベルの場合の動作の一例を示した表示である。
【図７】本発明の実施の形態５による半導体集積回路を含むマイコンシステムの一例を示したブロック図である。
【図８】本発明の実施の形態５による半導体集積回路２０２の各信号を示したタイミングチャートである。
【図９】本発明の実施の形態５による半導体集積回路２０２の各信号を示したタイミングチャートである。
【図１０】本発明の実施の形態５による半導体集積回路２０２の各信号を示したタイミングチャートである。
【図１１】スルー割り込みの制御手順を示したフローチャートである。
【図１２】従来の半導体集積回路内部における電源分離の一例を示した図である。
【図１３】図１２のＩ／Ｏセルブロック１０１の詳細構成が示されている。
【符号の説明】
【０１４６】
１０１〜１０６  Ｉ／Ｏセルブロック
１１１〜１１６  Ｉ／Ｏゲート回路
１０１〜１０５  Ｉ／Ｏセルブロック
１１１〜１１５  ゲート回路
１２１    フルタイムコア
１２２    パートタイムコア
１３０    Ｉ／Ｏセル
１３１    出力バッファ
１３２    プルアップ用トランジスタ
１３３    プルダウン用トランジスタ
１３４    アンド素子
ＬＳ      レベルシフタ
１５１    コアゲート回路
１５２    ラッチ回路
１５３    アンド素子
１５４    ラッチ素子
１６１    同期回路
１６２    非同期回路
１６３    レジスタ
２００    マイコンチップ
２０１    電源回路
２０２    半導体集積回路
２０３    メモリ
２１１    汎用ポート
２１２    割り込みコントローラ
Ｂ１〜Ｂ５  ゲート信号
ＣＳ      チップセレクト信号
ＤＩ      入力データ信号
ＤＯ      出力データ信号
ＥＮ      入出力切替信号
ＰＤ      プルダウン制御信号
ＰＵ      プルアップ制御信号
Ｇ１〜Ｇ５  Ｉ／Ｏゲート信号
Ｇｃ，Ｇｃｃ  コアゲート信号
Ｌ        ラッチ信号
Ｌｃ      ラッチ制御信号
ＬＳ      レベルシフタ
ＰＯＬ１，ＰＯＬ２  極性設定
ＭＳＫ１，ＭＳＫ２  マスク設定
ＲＳＴ    リセット信号
ＳＥＬ１，ＳＥＬ２  セレクト信号
ＲＳＴ    リセット信号
Ｔ，Ｔ１，Ｔ１ａ〜Ｔ１ｄ，Ｔ２，Ｔ２ａ，Ｔ２ｂ  外部端子
VDD_B1〜VDD_B5  Ｉ／Ｏセルブロックの電源電圧
VDD_C1    フルタイムコアの電源電圧
VDD_C2    パートタイムコアの電源電圧
【図１】
2010011226.tif 000003
【図２】
2010011226.tif 000004
【図３】
2010011226.tif 000005
【図４】
2010011226.tif 000006
【図５】
2010011226.tif 000007
【図６】
2010011226.tif 000008
【図７】
2010011226.tif 000009
【図８】
2010011226.tif 000010
【図９】
2010011226.tif 000011
【図１０】
2010011226.tif 000012
【図１１】
2010011226.tif 000013
【図１２】
2010011226.tif 000014
【図１３】
2010011226.tif 000015