(57)【要約】【課題】確実にスリープモードに設定することが可能な半導体集積回路装置およびその制御方法を提供する。【解決手段】まず、第１の値に設定された第１のイネーブル信号を演算部に供給し、演算部を通常動作モードより消費電力が小さいスリープモードに設定する。次に、第１の期間経過後に第１のイネーブル信号が第１の値であるか否かを判定し、第１の値である場合、第２の値に設定された第２のイネーブル信号をメモリに供給し、メモリをスリープモードに設定する。次に、第２の期間経過後に第２のイネーブル信号が第２の値であるか否かを判定し、第２の値である場合、第３の値に設定された第３のイネーブル信号をアナログ回路に供給し、アナログ回路をスリープモードに設定する。次に、第３の期間経過後に第３のイネーブル信号が第３の値であるか否かを判定し、第３の値である場合、第４の値に設定された第４のイネーブル信号をレギュレータに供給し、レギュレータをスリープモードに設定する。【選択図】図９
2012203520.tif 000002
【特許請求の範囲】
【請求項１】
演算部と、
前記演算部により実行されるプログラムを記憶したメモリと、
外部の電源装置から供給される第１の電圧を監視するアナログ回路と、
前記第１の電圧を、これより低い第２の電圧に変換して、前記演算部、前記メモリおよび前記アナログ回路に供給するレギュレータと、
を備える半導体集積回路装置の制御方法であって、
第１の値に設定された第１のイネーブル信号を前記演算部に供給し、前記演算部を通常動作モードより消費電力が小さいスリープモードに設定するステップと、
第１の期間経過後に前記第１のイネーブル信号が前記第１の値であるか否かを判定し、前記第１の値である場合、第２の値に設定された第２のイネーブル信号を前記メモリに供給し、前記メモリをスリープモードに設定するステップと、
第２の期間経過後に前記第２のイネーブル信号が前記第２の値であるか否かを判定し、前記第２の値である場合、第３の値に設定された第３のイネーブル信号を前記アナログ回路に供給し、前記アナログ回路をスリープモードに設定するステップと、
第３の期間経過後に前記第３のイネーブル信号が前記第３の値であるか否かを判定し、前記第３の値である場合、第４の値に設定された第４のイネーブル信号を前記レギュレータに供給し、前記レギュレータをスリープモードに設定するステップと、を備えることを特徴とする半導体集積回路装置の制御方法。
【請求項２】
前記第１の値に設定された第１のイネーブル信号を前記演算部に供給するとともに、カウント値のインクリメント動作を開始し、
前記第２の値に設定された第２のイネーブル信号を前記メモリに供給するステップでは、前記カウント値に基づいて前記第１の期間が経過したことを判断し、
前記第３の値に設定された第３のイネーブル信号を前記アナログ回路に供給するステップでは、前記カウント値に基づいて前記第２の期間が経過したことを判断し、
前記第４の値に設定された第４のイネーブル信号を前記レギュレータに供給するステップでは、前記カウント値に基づいて前記第３の期間が経過したことを判断することを特徴とする請求項１に記載の半導体集積回路装置の制御方法。
【請求項３】
前記レギュレータをスリープモードに設定した後、スリープモード解除信号に同期して、第５の値に設定された前記第４のイネーブル信号を前記レギュレータに供給し、前記レギュレータを通常動作モードに設定するステップと、
第４の期間経過後に前記第４のイネーブル信号が前記第５の値であるか否かを判定し、前記第５の値である場合、第６の値に設定された前記第３のイネーブル信号を前記アナログ回路に供給し、前記アナログ回路を通常動作モードに設定するステップと、
第５の期間経過後に前記第３のイネーブル信号が前記第６の値であるか否かを判定し、前記第６の値である場合、第７の値に設定された前記第２のイネーブル信号を前記メモリに供給し、前記メモリを通常動作モードに設定するステップと、
第６の期間経過後に前記第２のイネーブル信号が前記第７の値であるか否かを判定し、前記第７の値である場合、第８の値に設定された前記第１のイネーブル信号を前記演算部に供給し、前記演算部を通常動作モードに設定するステップと、を備えることを特徴とする請求項１または２に記載の半導体集積回路装置の制御方法。
【請求項４】
前記レギュレータをスリープモードに設定した後に前記電源装置に流れる第１の電流値を測定し、前記第１の電流値と、予め定めた第１の期待値と、を比較して、前記半導体集積回路装置が正常であるか否かを判定するステップと、
前記演算部を通常動作モードに設定した後に前記電源装置に流れる第２の電流値を測定し、前記第２の電流値と、予め定めた第２の期待値と、を比較して、前記半導体集積回路装置が正常であるか否かを判定するステップと、のうち、少なくとも一方を備えることを特徴とする請求項３に記載の半導体集積回路装置の制御方法。
【請求項５】
前記第１の期間経過後に前記第１のイネーブル信号が前記第１の値でない場合、または、
前記第２の期間経過後に前記第２のイネーブル信号が前記第２の値でない場合、または、
前記第３の期間経過後に前記第３のイネーブル信号が前記第３の値でない場合、または、
前記第４の期間経過後に前記第４のイネーブル信号が前記第５の値でない場合、または、
前記第５の期間経過後に前記第３のイネーブル信号が前記第６の値でない場合、または、
前記第６の期間経過後に前記第２のイネーブル信号が前記第７の値でない場合、
前記半導体集積回路装置が異常であることを示す信号を出力するステップを備えることを特徴とする請求項３または４に記載の半導体集積回路装置の制御方法。
【請求項６】
演算部と、
前記演算部により実行されるプログラムを記憶したメモリと、
外部の電源装置から供給される第１の電圧を監視するアナログ回路と、
前記第１の電圧を、これより低い第２の電圧に変換して、前記演算部、前記メモリおよび前記アナログ回路に供給するレギュレータと、
第１のイネーブル信号を第１の値に設定して前記演算部に供給し、前記演算部を通常動作モードより消費電力が小さいスリープモードに設定する演算部制御回路と、
第１の期間経過後に前記第１のイネーブル信号が前記第１の値であるか否かを判定し、前記第１の値である場合、第２のイネーブル信号を第２の値に設定して前記メモリに供給し、前記メモリをスリープモードに設定するメモリ制御回路と、
第２の期間経過後に前記第２のイネーブル信号が前記第２の値であるか否かを判定し、前記第２の値である場合、第３のイネーブル信号を第３の値に設定して前記アナログ回路に供給し、前記アナログ回路をスリープモードに設定するアナログ回路制御回路と、
第３の期間経過後に前記第３のイネーブル信号が前記第３の値であるか否かを判定し、前記第３の値である場合、第４のイネーブル信号を第４の値に設定して前記レギュレータに供給し、前記レギュレータをスリープモードに設定するレギュレータ制御回路と、を備えることを特徴とする半導体集積回路装置。
【請求項７】
前記レギュレータ制御回路は、スリープモード解除信号に同期して、前記第４のイネーブル信号を第５の値に設定して前記レギュレータに供給し、前記レギュレータを通常動作モード設定し、
前記アナログ回路制御回路は、第４の期間経過後に前記第４のイネーブル信号が前記第５の値であるか否かを判定し、前記第５の値である場合、前記第３のイネーブル信号を第６の値に設定して前記アナログ回路制御回路に供給して、前記アナログ回路制御回路を通常動作モードに設定し、
前記メモリ制御回路は、第５の期間経過後に前記第３のイネーブル信号が前記第６の値であるか否かを判定し、前記第６の値である場合、前記第２のイネーブル信号を第７の値に設定して前記メモリ回路制御回路に供給して、前記メモリ回路制御回路を通常動作モードに設定し、
前記演算部制御回路は、第６の期間経過後に前記第２のイネーブル信号が前記第７の値であるか否かを判定し、前記第７の値である場合、前記第１のイネーブル信号を第８の値に設定して前記演算部制御回路に供給して、前記演算部を通常動作モードに設定することを特徴とする請求項６の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体集積回路装置およびその制御方法に関する。
【背景技術】
【０００２】
近年、半導体プロセスの微細化により、半導体回路は３Ｖあるいは１．５Ｖといった低電源電圧でも動作するようになってきている。一方、携帯電話に使用されるＳＩＭ（Subscriber Identity Module）カード用等の半導体集積回路装置には、外部から例えば５Ｖの電源電圧が供給される。この場合、半導体集積回路装置内に降圧レギュレータを設け、外部から供給される電源電圧を降圧して、各半導体回路で用いる。
【０００３】
ＳＩＭカード用の半導体集積回路装置は常時動作しているわけではないので、動作していないときはスリープモードに設定することで、消費電力を低減できる。ただし、内部の全ての半導体回路を一斉にスリープモードに突入させたり、通常モードに復帰させたりすると、消費電流が大きく変化し、レギュレータの出力電圧が変動することがある。
【０００４】
そのため、例えばシーケンサを設けて各半導体回路をタイミングをずらして順繰りにスリープモードに設定していく必要がある。このシーケンサの動作をテストするためには、テスト専用の回路を設けたり、各半導体回路の状態を確認する手段を設けたりしなければならならないという問題がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１３２３１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
確実にスリープモードに設定することが可能な半導体集積回路装置およびその制御方法を提供する。
【課題を解決するための手段】
【０００７】
実施形態によれば、演算部と、前記演算部により実行されるプログラムを記憶したメモリと、外部の電源装置から供給される第１の電圧を監視するアナログ回路と、前記第１の電圧を、これより低い第２の電圧に変換して、前記演算部、前記メモリおよび前記アナログ回路に供給するレギュレータと、を備える半導体集積回路装置の制御方法が提供される。この方法では、まず、第１の値に設定された第１のイネーブル信号を前記演算部に供給し、前記演算部を通常動作モードより消費電力が小さいスリープモードに設定する。次に、第１の期間経過後に前記第１のイネーブル信号が前記第１の値であるか否かを判定し、前記第１の値である場合、第２の値に設定された第２のイネーブル信号を前記メモリに供給し、前記メモリをスリープモードに設定する。次に、第２の期間経過後に前記第２のイネーブル信号が前記第２の値であるか否かを判定し、前記第２の値である場合、第３の値に設定された第３のイネーブル信号を前記アナログ回路に供給し、前記アナログ回路をスリープモードに設定する。次に、第３の期間経過後に前記第３のイネーブル信号が前記第３の値であるか否かを判定し、前記第３の値である場合、第４の値に設定された第４のイネーブル信号を前記レギュレータに供給し、前記レギュレータをスリープモードに設定する。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係る半導体集積回路装置の概略ブロック図。
【図２】カウンタ回路５１の内部構成の一例を示す概略ブロック図。
【図３】ＣＰＵ制御回路５２の内部構成の一例を示す概略ブロック図。
【図４】メモリ制御回路５３の内部構成の一例を示す概略ブロック図。
【図５】アナログ回路制御回路５４の内部構成の一例を示す概略ブロック図。
【図６】レギュレータ制御回路５５の内部構成の一例を示す概略ブロック図。
【図７】クロック制御回路５６の内部構成の一例を示す概略ブロック図。
【図８】半導体集積回路装置の動作タイミングの一例を示すタイミング図。
【図９】半導体集積回路装置が通常モードからスリープモードに突入する際の処理動作およびスリープモードの突入することをテストする手順を示すフローチャート。
【図１０】半導体集積回路装置がスリープモードから通常モードに復帰する際の処理動作および通常モードに復帰することをテストする手順を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、実施形態について、図面を参照しながら具体的に説明する。
【００１０】
図１は、一実施形態に係る半導体集積回路装置の概略ブロック図である。同図の半導体集積回路装置は、例えば携帯電話のＳＩＭカード用のＩＣである。
【００１１】
半導体集積回路装置は、電源端子ＶＤＤと、接地端子ＧＮＤと、クロック端子ＣＬＫと、クロックイネーブル回路１１と、リセット端子ＲＳＴと、入出力端子Ｉ／Ｏとを備えている。
【００１２】
電源端子ＶＤＤと接地端子ＧＮＤとの間には電源装置（不図示）が接続され、例えば５Ｖの電源電圧が供給される。クロック端子には外部からクロック信号が入力される。クロックイネーブル回路１１は、例えばＡＮＤ回路であり、クロック信号と、後述するイネーブル信号ＣＬＫ＿ＥＮが入力される。クロックイネーブル回路１１は、イネーブル信号ＣＬＫ＿ＥＮがハイの場合、システムクロック信号ＳＹＳ＿ＣＬＫを出力し、イネーブル信号ＣＬＫ＿ＥＮがロウの場合、システムクロック信号ＳＹＳ＿ＣＬＫを停止して、出力をロウに固定する。リセット端子ＲＳＴには外部からリセット信号が入力される。入出力端子Ｉ／Ｏは１ビットの信号を外部と送受信する。その他にも半導体集積回路装置１００は、種々の端子、例えば高速にデータ通信を行うためにアナログ信号を入出力するＳＷＰ端子（不図示）を備えていてもよい。
【００１３】
また、半導体集積回路装置は、メモリ１と、アナログ回路２と、レギュレータ３と、ＣＰＵ（Central Processing Unit、演算部）４と、ロジック回路５とを備えている。
【００１４】
メモリは、例えばＲＯＭ（Read Only Memory），ＲＡＭ（Random Access Memory）および不揮発性メモリを含む。ＲＯＭはＣＰＵ４により実行される種々のプログラムを記憶する。ＲＡＭはＣＰＵ４がプログラムを実行する際にデータを一時的に記憶するために用いられる。不揮発性メモリは携帯電話の電話番号や製造番号等に関連する情報を記憶する。メモリ１にはイネーブル信号ＭＥＭ＿ＥＮ（第２のイネーブル信号）が入力される。イネーブル信号ＭＥＮ＿ＥＮがロウに設定されると、メモリ１の機能が制限される代わりに、通常モードより消費電力が小さいスリープモードになる。
【００１５】
アナログ回路２は、例えば電源端子ＶＤＤから供給される電源電圧が正常であるか否か、クロック端子ＣＬＫから入力されるクロック信号の周波数が正常であるか否か、等の監視を行う。また、アナログ回路２はメモリ１に記憶されるデータがハイであるかロウであるかを識別するための参照電圧を生成する。アナログ回路２にはイネーブル信号ＡＮＬ＿ＥＮ（第３のイネーブル信号）が入力される。イネーブル信号ＡＮＬ＿ＥＮがロウに設定されると、アナログ回路２の機能が制限される代わりに、通常モードより消費電力が小さいスリープモードになる。
【００１６】
レギュレータ３は電源端子ＶＤＤから入力される電源電圧を、これより低い、例えば３Ｖあるいは１．５Ｖに降圧し、メモリ１、アナログ回路２、ＣＰＵ４およびロジック回路５に供給する。メモリ１等の動作に必要な電源電圧は電源端子ＶＤＤから供給される電圧より低いためである。レギュレータ３にはイネーブル信号ＲＥＧ＿ＥＮ（第４のイネーブル信号）が入力される。イネーブル信号ＲＥＧ＿ＥＮがロウに設定されると、レギュレータ３の駆動力が小さくなる代わりに、通常モードより消費電力が小さいスリープモードになる。
【００１７】
ＣＰＵ４はメモリ１に記憶されたプログラムを実行する。また、ＣＰＵ４はロジック回路５を制御し、各種イネーブル信号を生成させる。ＣＰＵ４にはイネーブル信号ＣＰＵ＿ＥＮ（第1のイネーブル信号）が入力される。イネーブル信号ＣＰＵ＿ＥＮがロウに設定されると、ＣＰＵ４の機能が制限される代わりに、通常モードより消費電力が小さいスリープモードになる。
【００１８】
ロジック回路５は、カウンタ回路５１と、イネーブル信号ＣＰＵ＿ＥＮを生成するＣＰＵ制御回路（ＣＰＵ＿ＣＯＮ）５２と、イネーブル信号ＭＥＭ＿ＥＮを生成するメモリ制御回路（ＭＥＭ＿ＣＯＮ）５３と、アナログ信号ＡＮＬ＿ＥＮを生成するアナログ回路制御回路（ＡＮＬ＿ＣＯＮ）５４と、イネーブル信号ＲＥＧ＿ＥＮを生成するレギュレータ制御回路（ＲＥＧ＿ＣＯＮ）５５と、イネーブル信号ＣＬＫ＿ＥＮを生成するクロック制御回路（ＣＬＫ＿ＣＯＮ）５６とを有する。各制御回路はＣＰＵ４により制御されるカウンタ回路５１に同期して動作する。
【００１９】
図２は、カウンタ回路５１の内部構成の一例を示す概略ブロック図である。カウンタ回路５１は、デコーダ（ＤＥＣ）５１ａ，５１ｂと、カウンタ部５１ｃとを有する。カウンタ部５１ｃの入力端子ＣＬＫにはシステムクロック信号ＳＹＳ＿ＣＬＫが入力される。デコーダ５１ａには、カウンタ部５１ｃが出力するカウント値ＣＮＴおよびイネーブル信号ＣＰＵ＿ＥＮが入力される。そして、デコーダ５１ａは、イネーブル信号ＣＰＵ＿ＥＮがロウである場合またはカウント値ＣＮＴが０でない場合、出力をハイに設定してカウンタ部５１ｃの入力端子ＳＴＡＲＴに供給する。これにより、カウンタ部５１ｃはカウントアップ動作、すなわち、システムクロックＳＹＳ＿ＣＬＫに同期してカウント値ＣＮＴを１ずつインクリメントする動作を開始する。一方、デコーダ５１ｂにはカウント値ＣＮＴが入力される。そして、デコーダ５１ｂはカウント値ＣＮＴが０ｘ６１（０ｘは１６進数であることを示す）である場合、カウント値ＣＮＴのカウントアップ動作を停止して、０にクリアする。
【００２０】
図３は、ＣＰＵ制御回路５２の内部構成の一例を示す概略ブロック図である。ＣＰＵ制御回路５２は、デコーダ５２ａ，５２ｂと、イネーブル信号生成部５２ｃとを有する。デコーダ５２ａにはＣＰＵ４へのスリープ命令ＣＰＵ＿ＳＬＰが入力される。そして、デコーダ５２ａは、スリープ命令ＣＰＵ＿ＳＬＰがスリープモードへ突入することを示す値に設定されると、出力をハイに設定して、イネーブル信号生成部５２ｃの入力端子ＣＬＲに供給する。これにより、イネーブル信号生成部５２ｃはイネーブル信号ＣＰＵ＿ＥＮをロウに設定する。一方、デコーダ５２ｂにはカウント値ＣＮＴおよびイネーブル信号ＭＥＭ＿ＥＮが入力される。そして、カウント値ＣＮＴが０ｘ６０であり、かつ、イネーブル信号ＭＥＭ＿ＥＮがハイである場合、デコーダ５２ｂはハイを出力して、イネーブル信号生成部５２ｃの入力端子ＳＥＴに供給する。これにより、イネーブル信号生成部５２ｃはイネーブル信号ＣＰＵ＿ＥＮをハイに設定する。
【００２１】
図４は、メモリ制御回路５３の内部構成の一例を示す概略ブロック図である。メモリ制御回路５３の構成は図３のＣＰＵ制御回路５２と類似しているので、簡略化して説明する。デコーダ５３ａは、カウント値ＣＮＴが０ｘ１０であり、かつ、イネーブル信号ＣＰＵ＿ＥＮがロウである場合、イネーブル信号生成部５３ｃの入力端子ＣＬＲにハイを供給する。これにより、イネーブル信号生成部５３ｃはイネーブル信号ＭＥＭ＿ＥＮをロウに設定する。一方、デコーダ５３ｂは、カウント値ＣＮＴが０ｘ５０であり、かつ、イネーブル信号ＡＮＬ＿ＥＮがハイである場合、イネーブル信号生成部５３ｃの入力端子ＳＥＴにハイを供給する。これにより、イネーブル信号生成部５３ｃはイネーブル信号ＭＥＭ＿ＥＮをハイに設定する。
【００２２】
図５は、アナログ回路制御回路５４の内部構成の一例を示す概略ブロック図である。デコーダ５４ａは、カウント値ＣＮＴが０ｘ２０であり、かつ、イネーブル信号ＭＥＭ＿ＥＮがロウである場合、イネーブル信号生成部５４ｃの入力端子ＣＬＲにハイを供給する。これにより、イネーブル信号生成部５４ｃはイネーブル信号ＡＮＬ＿ＥＮをロウに設定する。一方、デコーダ５４ｂは、カウント値ＣＮＴが０ｘ５０であり、かつ、イネーブル信号ＲＥＧ＿ＥＮがハイである場合、イネーブル信号生成部５４ｃの入力端子ＳＥＴにハイを供給する。これにより、イネーブル信号生成部５４ｃはイネーブル信号ＡＮＬ＿ＥＮをハイに設定する。
【００２３】
図６は、レギュレータ制御回路５５の内部構成の一例を示す概略ブロック図である。デコーダ５５ａは、カウント値ＣＮＴが０ｘ３０であり、かつ、イネーブル信号ＡＮＬ＿ＥＮがロウである場合、イネーブル信号生成部５５ｃの入力端子ＣＬＲにハイを供給する。これにより、イネーブル信号生成部５５ｃはイネーブル信号ＲＥＧ＿ＥＮをロウに設定する。一方、デコーダ５５ｂは、入出力端子Ｉ／Ｏから入力される信号がロウである場合、イネーブル信号生成部５５ｃの入力端子ＳＥＴにハイを供給する。これにより、イネーブル信号生成部５５ｃはイネーブル信号ＲＥＧ＿ＥＮをハイに設定する。
【００２４】
図７は、クロック制御回路５６の内部構成の一例を示す概略ブロック図である。デコーダ５６ａは、カウント値ＣＮＴが０ｘ３０であり、かつ、イネーブル信号ＡＮＬ＿ＥＮがロウである場合、イネーブル信号生成部５６ｃの入力端子ＣＬＲにハイを供給する。これにより、イネーブル信号生成部５６ｃはイネーブル信号ＣＬＫ＿ＥＮをロウに設定する。一方、デコーダ５６ｂは、入出力端子Ｉ／Ｏから入力される信号がロウである場合、イネーブル信号生成部５６ｃの入力端子ＳＥＴにハイを供給する。これにより、イネーブル信号生成部５６ｃはイネーブル信号ＣＬＫ＿ＥＮをハイに設定する。
【００２５】
なお、図６のレギュレータ制御回路５５および図７のクロック制御回路５６は同様の構成であるので、どちらか一方のみを設けて、その出力信号をイネーブル信号ＲＥＧ＿ＥＮ，ＣＬＫ＿ＥＮとして用いてもよい。
【００２６】
図８は、半導体集積回路装置の動作タイミングの一例を示すタイミング図である。また、図９は、半導体集積回路装置が通常モードからスリープモードに突入する際の処理動作およびスリープモードの突入することをテストする手順を示すフローチャートである。図８の時刻ｔ０までは各種イネーブル信号はすべてハイであり、各回路はスリープモードではなく通常モードであると仮定する。
【００２７】
また、図８および図９では、消費電流が大きく変化してレギュレータ３の出力電圧が変動してしまわないよう、メモリ１、アナログ回路２、ＣＰＵ４を同時にスリープモードに突入させるのではなく、１つずつスリープモードに設定することを念頭に置いている。
【００２８】
時刻ｔ０で、スリープモードへ突入することを示すスリープ命令ＣＰＵ＿ＳＬＰを受信すると（ステップＳ１）、図３のＣＰＵ制御回路５２はイネーブル信号ＣＰＵ＿ＥＮをロウ（第1の値）に設定する（ステップＳ２）。これにより、ＣＰＵ４がスリープモードに突入する。時刻ｔ０では、ＣＰＵ４の他にメモリ１やアナログ回路５４が同時にスリープモードに突入するわけではないので、消費電力の変化は小さく、レギュレータの出力電圧の変動を抑制できる。なお、スリープ命令ＣＰＵ＿ＳＬＰは、例えばメモリ１内のＲＯＭに記憶されるプログラムにより、ＣＰＵ４が予め定められたタイミングで生成する。
【００２９】
また、図２のカウンタ回路５１はカウントアップ動作を開始し、カウント値がシステムクロック信号ＳＹＳ＿ＣＬＫに同期して１ずつインクリメントする（ステップＳ３）。
【００３０】
所定期間（第１の期間）経過後の時刻ｔ１でカウント値ＣＮＴが０ｘ１０になると（ステップＳ４のＹＥＳ）、図４のデコーダ５３ａはイネーブル信号ＣＰＵ＿ＥＮがロウであるか否かを確認する（ステップＳ５）。ロウであれば、カウンタ回路５１やＣＰＵ制御回路５２は正常であると判断され、メモリ制御回路５３はイネーブル信号ＭＥＭ＿ＥＮをロウ（第２の値）に設定する（ステップＳ６）。
【００３１】
これにより、メモリ１はスリープモードに突入する。なお、仮にＣＰＵ４より先にメモリ１をスリープモードに設定すると、ＣＰＵ４はメモリ１に記憶されたプログラムを読み出せなくなるために誤動作するおそれがあるが、本実施形態ではメモリ１より先にＣＰＵ４をスリープモードに設定するため、誤動作する可能性は低い。時刻ｔ１では、既にＣＰＵ４はスリープモードであり、かつ、メモリ１の他にアナログ回路２が同時にスリープモードに突入するわけではないので、やはりレギュレータ３の出力電圧の変動を抑制できる。
【００３２】
次に、所定期間（第２の期間）経過後の時刻ｔ２でカウント値ＣＮＴが０ｘ２０になると（ステップＳ７のＹＥＳ）、図５のデコーダ５４ａはイネーブル信号ＭＥＭ＿ＥＮがロウであるか否かを確認する（ステップＳ８）。ロウであれば、メモリ制御回路５３は正常であると判断され、アナログ回路制御回路５４はイネーブル信号ＡＮＬ＿ＥＮをロウ（第３の値）に設定する（ステップＳ９）。
【００３３】
これにより、アナログ回路２はスリープモードに突入する。アナログ回路２は外部から供給される電源電圧やクロック信号の周波数を監視するものであるため、ＣＰＵ４やメモリ１より後にスリープモードに設定するのがよい。
【００３４】
さらに、所定期間（第３の期間）経過後の時刻ｔ３でカウント値ＣＮＴが０ｘ３０になると（ステップＳ１０のＹＥＳ）、図６のレギュレータ制御回路５５のデコーダ５５ａおよび図７のクロック制御回路５６のデコーダ５６ａは、イネーブル信号ＡＮＬ＿ＥＮがロウであるか否かを確認する（ステップＳ１１）。ロウであれば、アナログ回路制御回路５４は正常であると判断され、レギュレータ制御回路５５はイネーブル信号ＲＥＧ＿ＥＮを、クロック制御回路５６はイネーブル信号ＣＬＫ＿ＥＮをそれぞれロウ（第４の値）に設定する（ステップＳ１２）。
【００３５】
これにより、レギュレータ３はスリープモードに突入する。ＣＰＵ４、メモリ１およびアナログ回路２が既に消費電力が小さいスリープモードに突入しているため、レギュレータ３を駆動力が小さいスリープモードに設定することができる。また、クロックイネーブル回路１１の出力はロウに固定されるため、カウンタ回路５１のカウントアップ動作が停止する（ステップＳ１３）。
【００３６】
このようにして各回路がスリープモードとなり、半導体集積回路装置全体がスリープモードとなる（ステップＳ１４）。すなわち、半導体集積回路装置が出荷されて携帯電話に搭載されると、半導体集積回路装置はステップＳ１〜Ｓ１４によりスリープモードに設定される。ステップＳ５，Ｓ８，Ｓ１１がＮＯである場合、いずれかの回路が異常であるので、その旨を入出力端子Ｉ／Ｏから出力してもよい。
【００３７】
さらに、半導体集積回路装置の出荷時等に、正常にスリープモードに突入したことをテストするためには、時刻ｔ３以降で、電源端子ＶＤＤおよび接地端子ＧＮＤ間に接続された電源装置に流れる消費電流（第１の電流値）を、半導体集積回路装置の外部に設けられる電流計（不図示）で測定する（ステップＳ１５）。
【００３８】
そして、測定した消費電流が予め定めたスリープモードでの消費電流の期待値（第２の電流値）と一致する（あるいは誤差が許容範囲内である）場合、半導体集積回路装置が正常にスリープモードに突入したことが分かる（ステップＳ１７）。
【００３９】
一方、一致しない場合、図２〜図７の各回路のいずれかに異常があり、スリープモードに突入していないことが分かる（ステップＳ１８）。仮に図２〜図７の各回路のいずれかに異常があると、次のイネーブル信号がロウに設定されず、結果として、半導体集積回路装置がスリープモードに突入しない。そのため、消費電流を測定することにより、簡易に半導体集積回路装置のテストを行うことができる。異常と判定された場合、例えば各回路の動作を確認することにより、いずれのイネーブル信号が異常であるかを判断できる。
【００４０】
図１０は、半導体集積回路装置がスリープモードから通常モードに復帰する際の処理動作および通常モードに復帰することをテストする手順を示すフローチャートである。図８および図１０を用いて、通常モードへの復帰について説明する。図８および図１０では、消費電流が大きく変化してレギュレータ３の出力電圧が変動してしまわないよう、メモリ１、アナログ回路２、ＣＰＵ４を同時に通常モードに復帰させるのではなく、１つずつ通常モードに設定することを念頭に置いている。
【００４１】
半導体集積回路装置を通常モードに復帰させるため、図８の時刻ｔ１０で入出力端子Ｉ／Ｏがロウ（スリープモード解除信号）に設定される（ステップＳ２１）と、図７のクロック制御回路５６はイネーブル信号ＣＬＫ＿ＥＮを、図６のレギュレータ制御回路５５はイネーブル信号ＲＥＧ＿ＥＮをそれぞれハイ（第５の値）に設定する（ステップＳ２２）。これにより、クロックイネーブル回路１１はシステムクロックＳＹＳ＿ＣＬＫを生成し、図２のカウンタ回路５１がカウントアップ動作を開始する（ステップＳ２３）。また、レギュレータ３は通常モードに復帰し、スリープモード時より大きな駆動力を持って電圧を生成し、ＣＰＵ４等に供給する。
【００４２】
所定期間（第４の期間）経過後の時刻ｔ１１でカウント値ＣＮＴが０ｘ４０になると（ステップＳ２４のＹＥＳ）、図５のアナログ回路制御回路５４はイネーブル信号ＣＬＫ＿ＥＮ，ＲＥＧ＿ＥＮがともにハイであるか否かを確認する（ステップＳ２５）。ともにハイであれば、クロック制御回路５６およびレギュレータ制御回路５５は正常であると判断され、アナログ回路制御回路５４はイネーブル信号ＡＮＬ＿ＥＮをハイ（第６の値）に設定する（ステップＳ２６）。これにより、アナログ回路２は通常モードに復帰する。
【００４３】
次に、所定期間（第５の期間）経過後の時刻ｔ１２でカウント値ＣＮＴが０ｘ５０に設定されると（ステップＳ２７のＹＥＳ）、図４のメモリ制御回路５３はイネーブル信号ＡＮＬ＿ＥＮがハイであるか否かを確認する（ステップＳ２８）。ハイであれば、アナログ制御回路は正常であると判断され、メモリ制御回路５３はイネーブル信号ＭＥＭ＿ＥＮをハイ（第７の値）に設定する（ステップＳ２９）。これにより、メモリ１は通常モードに復帰する。
【００４４】
さらに、所定期間（第６の期間）経過後の時刻ｔ１３でカウント値ＣＮＴが０ｘ６０に設定されると（ステップＳ３０のＹＥＳ）、図３のＣＰＵ制御回路５２はイネーブル信号ＭＥＭ＿ＥＮがハイであるか否かを確認する（ステップＳ３１）。ハイであれば、メモリ制御回路５３は正常であると判断され、ＣＰＵ制御回路５２はイネーブル信号ＣＰＵ＿ＥＮをハイ（第８の値）に設定する（ステップＳ３２）。これにより、ＣＰＵ４は通常モードに復帰する。既にメモリ１が通常モードであるため、ＣＰＵ４はメモリ１に記憶されたプログラムを実行することができる。
【００４５】
その後、カウント値ＣＮＴが０ｘ６１になると（ステップＳ３３のＹＥＳ）、図２のカウンタ回路５１はカウントアップ動作を停止し、カウント値ＣＮＴを０にクリアする（ステップＳ３４）。
【００４６】
以上により、各回路が通常モードとなり、半導体集積回路装置全体が通常モードとなる（ステップＳ３５）。そして、携帯電話とデータ通信等を行う。その後、一定期間が経過すると、ＣＰＵ４は再びスリープ命令ＣＰＵ＿ＳＬＰを生成し、図９の処理動作を経てスリープモードに突入する。
【００４７】
半導体集積回路装置が出荷されて携帯電話に搭載されると、半導体集積回路装置はステップＳ２１〜Ｓ３５により通常モードに設定される。ステップＳ２５，Ｓ２８，Ｓ３１がＮＯである場合、いずれかの回路が異常であるので、その旨を入出力端子Ｉ／Ｏから出力してもよい。
【００４８】
さらに、半導体集積回路装置の出荷時等に、正常に通常モードに復帰したことをテストするためには、時刻ｔ１３以降で、電源端子ＶＤＤおよび接地端子ＧＮＤ間に接続された電源装置に流れる消費電流（第２の電流値）を、半導体集積回路装置の外部に設けられる電流計（不図示）で測定する（ステップＳ３６）。そして、測定した消費電流が予め定めた通常モードでの消費電流の期待値（第２の期待値）と一致する（あるいは誤差が許容範囲内である）場合、半導体集積回路装置が正常にスリープモードに突入したことが分かる（ステップＳ３８）。
【００４９】
一方、一致しない場合、図２〜図７の各回路のいずれかに異常があり、スリープモードに突入していないことが分かる（ステップＳ３９）。仮に図２〜図７の各回路のいずれかに異常があると、次のイネーブル信号がロウに設定されず、結果として、半導体集積回路装置が通常モードに復帰しない。そのため、消費電流を測定することにより、簡易に半導体集積回路装置のテストを行うことができる。
【００５０】
なお、本実施形態では、カウント値ＣＮＴが０ｘ１増えるごとではなく、０ｘ１０増えるごとに次のイネーブル信号を設定している。それは、各回路をスリープモードあるいは通常モードに設定させるのにある程度の時間がかかるためである。この時間を考慮して、カウント値ＣＮＴがいくつ増えるごとにイネーブル信号を設定するかを定めればよい。
【００５１】
このように、本実施形態では、レギュレータ３の出力電圧が変動するのを抑制するために、メモリ１、ＣＰＵ４およびアナログ回路２を１つずつ順にスリープモードに設定する。その際、１つのイネーブル信号の状態を確認して、次のイネーブル回路を設定する。そのため、半導体集積回路装置を確実にスリープモードに設定できる。また、ＣＰＵ制御回路５２、メモリ制御回路５３およびアナログ回路制御回路５４に異常があるとスリープモードあるいは通常モードに設定されない。そのため、テスト専用の回路や、各制御回路の状態を確認する手段を設ける必要がなく、各モードでの消費電流を測定することで、半導体集積回路が正常であるか否かを簡易にテストできる。
【００５２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００５３】
１  メモリ。  ２  アナログ回路。  ３  レギュレータ。  ４  ＣＰＵ。  ５  ロジック回路。  ５１  カウンタ回路。  ５２  ＣＰＵ制御回路。  ５３  メモリ制御回路。  ５４  アナログ回路制御回路。  ５５  レギュレータ制御回路。  ５６  クロック制御回路。
【図１】
2012203520.tif 000003
【図２】
2012203520.tif 000004
【図３】
2012203520.tif 000005
【図４】
2012203520.tif 000006
【図５】
2012203520.tif 000007
【図６】
2012203520.tif 000008
【図７】
2012203520.tif 000009
【図８】
2012203520.tif 000010
【図９】
2012203520.tif 000011
【図１０】
2012203520.tif 000012