(57)【要約】【課題】アプリケーションプログラムの完成前に、システム全体の電源回路の最適化が可能なマイクロコンピュータを提供すること。【解決手段】本発明に係るマイクロコンピュータ１００は、ＣＰＵ１０１と、ＣＰＵ１０１に接続されたバス１０７と、バス１０７に接続される通常動作モードと、バス１０７と遮断される擬似動作モードと、を備える機能ブロック１０３Ａ〜１０３Ｃと、通常動作モードと前記擬似動作モードとのいずれかを選択するための制御信号を出力する選択回路１０２と、を備え、機能ブロック１０３Ａ〜１０３Ｃが、擬似動作モードにおいて消費電流を生成する擬似動作回路１０５Ａ〜１０５Ｃと、を備えるものである。【選択図】図１
2012212359.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、
前記ＣＰＵに接続されたバスと、
前記バスに接続される通常動作モードと、前記バスと遮断される擬似動作モードと、を備える機能ブロックと、
前記通常動作モードと前記擬似動作モードとのいずれかを選択するための制御信号を出力する選択回路と、を備え、
前記機能ブロックが、
前記擬似動作モードにおいて消費電流を生成する擬似動作回路と、を備えるマイクロコンピュータ。
【請求項２】
前記機能ブロックが、
前記制御信号に応じて、前記バスに対する接続と遮断とを制御する入出力制御回路をさらに備えることを特徴とする請求項１に記載のマイクロコンピュータ。
【請求項３】
前記擬似動作回路が、
機能ブロックが前記通常動作モードにおいて消費する電流量を、前記擬似動作モードにおいて模擬するための電流調整回路を更に備えることを特徴とする請求項１又は２に記載のマイクロコンピュータ。
【請求項４】
前記制御信号が入力され、前記擬似動作モードにおいて前記電流調整回路を駆動し、前記通常動作モードにおいて前記電流調整回路を停止するためのスイッチを更に備えることを特徴とする請求項１〜３のいずれか一項に記載のマイクロコンピュータ。
【請求項５】
前記選択回路は、前記制御信号が格納されたレジスタであることを特徴とする請求項１〜４のいずれか一項に記載のマイクロコンピュータ。
【請求項６】
前記機能ブロックを複数備え、
前記レジスタには、前記機能ブロックの数に応じた１又は複数ビットで構成される制御信号群が格納されていることを特徴とする請求項５に記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータに関する。
【背景技術】
【０００２】
近年、携帯電話や音楽プレーヤー等、バッテリ駆動のシステムが増加している。これに伴い、バッテリ駆動の長時間化を実現するため、システム全体の低消費電力化が強く求められている。従って、各部品の消費電力を下げる必要があるが、特に、システムの心臓部であるマイクロコンピュータの消費電力の削減が効果的である。ところが、システムの開発段階では、マイクロコンピュータの消費電力の測定は非常に困難である。特に、多くの動作モードを有するシステムでは、アプリケーション毎に消費される電流が異なる。そのため、システムのデバッグ時に、どの機能を動作させた時にどれだけの消費電流になるかということを簡単に測定し、消費電流の改善を図りたいという要求があった。
【０００３】
図５は、特許文献１の図１である。特許文献１は、チップ製造後における機能ブロック毎の電流測定を可能とすることを目的としている。図５のシステムオンチップ（ＳｏＣ）１は、それぞれ所定の機能を実現する機能ブロック（ＦＢ）２Ａ、２Ｂ、２Ｃ、２Ｄ、クロック信号を生成するＰＬＬ（Phase Locked Loop）３、制御部（ＣＴＬ）４、機能ブロック間を接続するための内部バス９、内部バス制御部（ＢＣ）５から構成される。
【０００４】
内部バス制御部５は、上記内部バス９のスイッチ制御を行う。電源端子１１、１２が設けられ、この電源端子１１、１２からそれぞれ電源電圧ＶＤＤ、ＶＳＳの取り込みが行われる。ＰＬＬ３は、ユーザクロック信号ｕｓｒ＿ｃｋと、テストクロック信号ｔｓｔ＿ｃｋとを出力する。
【０００５】
機能ブロック２Ａ、２Ｂ、２Ｃ、２Ｄのテスト時の入力クロック信号ｃｋは、機能ブロック２Ａ、２Ｂ、２Ｃ、２Ｄのテスト時と、テスト以外の動作（通常動作）時とで異なる。
【０００６】
すなわち、テスト時には、セレクタＳＥＬによってテストクロック信号ｔｓｔ＿ｃｋが選択的に機能ブロック２Ａ、２Ｂ、２Ｃ、２Ｄ及び制御部４に伝達される。通常動作時には、セレクタＳＥＬによってユーザクロック信号ｕｓｒ＿ｃｋが選択的に機能ブロック２Ａ、２Ｂ、２Ｃ、２Ｄ及び制御部４に伝達される。
【０００７】
セレクタＳＥＬの動作制御は制御部４によって行われる。制御部４は、セレクタＳＥＬの動作制御信号ｃｎｔ、クロック信号の有効性を示すクロックイネーブル信号ｃｋｅｎ、テスト関連信号ｔｅｔ＿ｓｉｇを出力する。クロックイネーブル信号ｃｋｅｎ、及びテスト関連信号ｔｅｔ＿ｓｉｇは、機能ブロック２Ａ、２Ｂ、２Ｃ、２Ｄに供給される。
【０００８】
また、本発明に関連する特許文献として、特許文献２〜６を挙げることができる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００８−２０９２０１号公報
【特許文献２】特開２０１０−１８５６７７号公報
【特許文献３】特開２００９−０８５８７７号公報
【特許文献４】特開２０１０−１３９４４２号公報
【特許文献５】特開２００３−０９８２２９号公報
【特許文献６】特開平０７−１９３１９２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１では、アプリケーションプログラムを介して通常動作させる機能ブロックと、擬似動作させる機能ブロックと、を同時に制御した状態での消費電流を測定することができない。そのため、アプリケーションプログラムの動作に依存した電流消費の測定は、アプリケーションプログラムの完成後でないと行えなかった。従って、システム全体の電源回路の最適化が困難であった。
【課題を解決するための手段】
【００１１】
本発明に係るマイクロコンピュータは、
ＣＰＵと、
前記ＣＰＵに接続されたバスと、
前記バスに接続される通常動作モードと、前記バスと遮断される擬似動作モードと、を備える機能ブロックと、
前記通常動作モードと前記擬似動作モードとのいずれかを選択するための制御信号を出力する選択回路と、を備え、
前記機能ブロックが、
前記擬似動作モードにおいて消費電流を生成する擬似動作回路と、を備えるものである。
【００１２】
本発明では、機能ブロックが、擬似動作モードにおいて消費電流を生成する擬似動作回路を備えているため、アプリケーションプログラムの完成前に、システム全体の電源回路の最適化が可能である。
【発明の効果】
【００１３】
本発明によれば、アプリケーションプログラムの完成前に、システム全体の電源回路の最適化が可能なマイクロコンピュータを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１に係るマイクロコンピュータのブロック図である。
【図２】実施の形態１に係る擬似動作制御レジスタ（ＥＲＧ）のブロック図である。
【図３】実施の形態１に係る擬似動作回路（ＥＢ）のブロック図である。
【図４】実施の形態１に係る消費電流測定の模式図である。
【図５】特許文献１の図１である。
【発明を実施するための形態】
【００１５】
本発明は、マイクロコンピュータの消費電力測定時において、プログラム動作対象外にしたい複数の機能ブロックを個別に擬似動作状態にするための選択回路と、選択した機能ブロックの入出力を切り離すための入出力制御回路と、選択回路において選択された機能ブロックで擬似的な消費電流を作るための擬似動作回路とを備えている。アプリケーション開発者がプログラム上で実際に機能ブロックを動作させるための一連の設定に代わり、選択回路（擬似動作制御レジスタ等）を制御することで、機能ブロック毎の擬似動作回路が動作し、所定の電流を消費する。これにより、アプリケーションプログラム全体が完成する前の段階でも、マイクロコンピュータ全体の消費電流の測定が可能となる。
【００１６】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。ただし、本発明が以下の実施の形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。
【００１７】
（実施の形態１）
図１を参照して本発明の第１の実施の形態に係るマイクロコンピュータについて説明する。図１は、実施の形態１に係るマイクロコンピュータのブロック図である。図１に示すように、実施の形態１に係るマイクロコンピュータ（ＭＣＵ）１００は、中央処理装置（ＣＰＵ）１０１、擬似動作制御レジスタ（ＥＲＧ）１０２、機能ブロック（ＦＢ）１０３Ａ〜１０３Ｃ、内部バス１０７、ＶＤＤ端子１０８、ＶＳＳ端子１０９を備えている。
【００１８】
ＣＰＵ１０１は、内部バス１０７を介してＥＲＧ１０２、ＦＢ１０３Ａ〜１０３Ｃとデータの入出力を行なう。
ＥＲＧ１０２は、ＣＰＵ１０１からの制御によりＦＢ１０３Ａ〜１０３Ｃに制御信号ｃｎｔＡ〜ｃｎｔＣをそれぞれ出力する。
【００１９】
ＦＢ１０３Ａは、各機能ブロックを実現する通常回路に加え、Ｉ／Ｏ制御回路（ＩＯＣ）１０４Ａ、１０４Ｄ、擬似動作回路（ＥＢ）１０５Ａを備えている。同様に、ＦＢ１０３Ｂは、各機能ブロックを実現する通常回路に加え、Ｉ／Ｏ制御回路（ＩＯＣ）１０４Ｂ、１０４Ｅ、擬似動作回路（ＥＢ）１０５Ｂを備えている。同様に、ＦＢ１０３Ｃは、各機能ブロックを実現する通常回路に加え、Ｉ／Ｏ制御回路（ＩＯＣ）１０４Ｃ、１０４Ｆ、擬似動作回路（ＥＢ）１０５Ｃを備えている。
【００２０】
ＩＯＣ１０４Ａ〜１０４Ｆのうち、ＩＯＣ１０４Ａ〜１０４Ｃが内部バス１０７にそれぞれ接続され、ＩＯＣ１０４Ｄ〜１０４Ｆは外部バス（不図示）にそれぞれ接続されている。ここで、ＩＯＣ１０４Ａ〜１０４Ｃは、それぞれＥＲＧ１０２から入力される制御信号ｃｎｔＡ〜ｃｎｔＣに基づいて、内部バス１０７との接続/遮断を制御する。一方、ＩＯＣ１０４Ｄ〜１０４Ｆは、それぞれＥＲＧ１０２から入力される制御信号ｃｎｔＡ〜ｃｎｔＣに基づいて、外部バスとの接続/遮断を制御する。
【００２１】
ＥＢ１０５Ａ〜１０５Ｃは、それぞれＶＤＤ端子１０８およびＶＳＳ端子１０９と接続されている。ここで、ＥＢ１０５Ａは、ＥＲＧ１０２から入力される制御信号ｃｎｔＡに基づいて擬似動作し、ＦＢ１０３Ａにおける擬似的な電流消費を行う。同様に、ＥＢ１０５Ｂは、ＥＲＧ１０２から入力される制御信号ｃｎｔＢに基づいて擬似動作し、ＦＢ１０３Ｂにおける擬似的な電流消費を行う。ＥＢ１０５Ｃは、ＥＲＧ１０２から入力される制御信号ｃｎｔＣに基づいて擬似動作し、ＦＢ１０３Ｃにおける擬似的な電流消費を行う。
【００２２】
なお、図１のＭＣＵ１００も、図５のＰＬＬ１に該当するクロック生成回路やＢＣ５に該当するバスコントローラを備えているが、図１には示されていない。なお、クロック生成回路はＰＬＬである必要はなく、各ブロックにクロックを供給できればよい。また、バスコントローラも、一般的な内部バス制御を行なうものであればよい。
【００２３】
ここで、図２は、本実施の形態に係る擬似動作制御レジスタ（ＥＲＧ）１０２の構成を示したブロック図である。ＥＲＧ１０２は、制御対象である機能ブロックＦＢ１０３Ａ〜１０３Ｃと同数のレジスタｒｅｇＡ〜ｒｅｇＣ（つまり、本実施の形態では１ビット構成であるが、複数ビット構成としてもよい。）を、備えている。このＥＲＧ１０２に対し、ＣＰＵ１０１が内部バス１０７を介してアクセスする。
【００２４】
ＣＰＵ１０１により設定されたデータは、ＥＲＧ１０２のレジスタｒｅｇＡ〜ｒｅｇＣに保持される。ＥＲＧ１０２は、レジスタｒｅｇＡに格納された上記データを制御信号ｃｎｔＡとして、ＦＢ１０３Ａに対し出力する。同様に、レジスタｒｅｇＢに格納された上記データを制御信号ｃｎｔＢとして、ＦＢ１０３Ｂに対し出力する。レジスタｒｅｇＣに格納された上記データを制御信号ｃｎｔＣとして、ＦＢ１０３Ｃに対し出力する。このように、ＥＲＧ１０２には、機能ブロックの数に応じた１又は複数ビットで構成される制御信号群が格納されている。
【００２５】
図３は、本発明の擬似動作回路（ＥＢ）の構成を示したものである。図３に示すように、ＥＢ１０５Ａは、スイッチ１１１と電流調整回路１１２を備えている。電流調整回路１１２は、抵抗やスキャン回路等から構成することができる。また、ＥＲＧ１０２内のレジスタのビット数を２ビットあるいはそれ以上に増やし、機能ブロック毎のスイッチと電流調整回路１１２をビット数分持たせることで消費電流量を可変にすることも可能である。ＥＢ１０５Ａは、ＥＲＧ１０２から入力された制御信号ｃｎｔＡに基づいて、スイッチ１１１のオンオフを切り替える。スイッチ１１１がオンになると、電流調整回路１１２がＶＤＤ端子１０８に接続され、所望の電流値を発生する。ＥＢ１０５Ｂ、１０５Ｃについても、ＥＢ１０５Ａと同様である。
【００２６】
図４は、本実施の形態に係る消費電流測定の模式図である。図４を用いて、本実施の形態に係るマイクロコンピュータの動作を説明する。図４は、プログラムの実行イメージ、プログラムの実行による機能ブロックＦＢ１０３Ａ〜１０３Ｃの動作状況、マイクロコンピュータの消費電流の求め方の３つのブロックに分けて説明していく。
【００２７】
まず、ＣＰＵ１０１がプログラムを実行し始めると、プログラムの最初でＥＲＧ１０２を初期化する（ステップＳ０）。本実施の形態での初期化により、ｒｅｇＡ〜ｒｅｇＣに０が書き込まれる。これにより、制御信号ｃｎｔＡ〜ｃｎｔＣが、いずれも０となる。そして、制御信号ｃｎｔＡが、ＩＯＣ１０４Ａ及び１０４Ｄに入力され、ＦＢ１０３Ａは内部バス１０７及び外部バスと接続状態となる。同時に、ＥＢ１０５Ａのスイッチ１１１はオフとなり、ＥＢ１０５ＡはＶＤＤ端子１０８と未接続状態となる。同様に、制御信号ｃｎｔＢが、ＩＯＣ１０４Ｂ及び１０４Ｅに入力され、ＦＢ１０３Ｂは、内部バス１０７及び外部バスと接続状態となる。同時に、ＥＢ１０５Ｂのスイッチ１１１はオフとなり、ＥＢ１０５ＢはＶＤＤ端子１０８と未接続状態となる。制御信号ｃｎｔＣが、ＩＯＣ１０４Ｃ及び１０４Ｆに入力され、ＦＢ１０３Ｃは、内部バス１０７及び外部バスと接続状態となる。同時に、ＥＢ１０５Ｃのスイッチ１１１はオフとなり、ＥＢ１０５ＣはＶＤＤ端子１０８と未接続状態となる。つまり、ＦＢ１０３Ａ〜１０３Ｃが、いずれも通常動作モードとなり、擬似動作による消費電流が測定されない。
【００２８】
プログラム処理が進行し、機能ブロックを擬似動作モードで動作させたいプログラム位置にきた場合、動作させたい機能ブロックに対応するＥＲＧ１０２内のレジスタを設定する。最初に、ｒｅｇＡを０から１に書き換え、ｒｅｇＢ、ｒｅｇＣを０に保持する（ステップＳ１）。これにより、制御信号ｃｎｔＡが０から１に遷移し、ＦＢ１０３Ａは、内部バス１０７及び外部バスと未接続状態となる。同時に、ＥＢ１０５Ａのスイッチ１１１はオンとなり、ＥＢ１０５ＡはＶＤＤ端子１０８と接続状態となる。つまり、ＦＢ１０３Ａが消費電流検出のための擬似的な動作モードに切り換わる。一方、ＦＢ１０３Ｂ、１０３Ｃは初期状態と同じ動作となる。この場合、ＦＢ１０３Ａの擬似動作による消費電流が測定される。
【００２９】
次に、ｒｅｇＢを０から１に書き換え、ｒｅｇＡは１に、ｒｅｇＣは０に保持する（ステップＳ２）。これにより、制御信号ｃｎｔＢが０から１に遷移し、ＦＢ１０３Ｂは、内部バス１０７及び外部バスと未接続状態となる。同時に、ＥＢ１０５Ｂのスイッチ１１１はオンとなり、ＥＢ１０５ＢはＶＤＤ端子１０８と接続状態となる。つまり、ＦＢ１０３Ｂが消費電流検出のための擬似的な動作モードに切り換わる。一方、１０３Ｃは初期状態と同じ動作となる。この場合、ＦＢ１０３Ａ＋ＦＢ１０３Ｂの擬似動作による消費電流が測定される。
【００３０】
次に、ｒｅｇＣを０から１に書き換え、ｒｅｇＡ、ｒｅｇＢは１に保持する（ステップＳ３）。これにより、制御信号ｃｎｔＣが０から１に遷移し、ＦＢ１０３Ｃは、内部バス１０７及び外部バスと未接続状態となる。同時に、ＥＢ１０５Ｃのスイッチ１１１はオンとなり、ＥＢ１０５ＣはＶＤＤ端子１０８と接続状態となる。つまり、ＦＢ１０３Ｃが消費電流検出のための擬似的な動作モードに切り換わる。この場合、ＦＢ１０３Ａ＋ＦＢ１０３Ｂ＋ＦＢ１０３Ｃの擬似動作の消費電流が測定される。
【００３１】
次に、ｒｅｇＡを１から０に書き換え、ｒｅｇＢ、ｒｅｇＣは１に保持する（ステップＳ４）。これにより、制御信号ｃｎｔＡが１から０に遷移し、ＦＢ１０３Ａは、内部バス１０７及び外部バスと接続状態となる。同時に、ＥＢ１０５Ａのスイッチ１１１はオフとなり、ＥＢ１０５ＡはＶＤＤ端子１０８と未接続状態となる。つまり、ＦＢ１０３Ａが初期状態と同じ通常動作モードに切り換わる。この場合、ＦＢ１０３Ｂ＋ＦＢ１０３Ｃの擬似動作の消費電流が測定される。
【００３２】
次に、ｒｅｇＢを１から０に書き換え、ｒｅｇＡは０に、ｒｅｇＣは１に保持する（ステップＳ５）。これにより、制御信号ｃｎｔＢが１から０に遷移し、ＦＢ１０３Ｂは、内部バス１０７及び外部バスと接続状態となる。同時に、ＥＢ１０５Ｂのスイッチ１１１はオフとなり、ＥＢ１０５ＢはＶＤＤ端子１０８と未接続状態となる。つまり、ＦＢ１０３Ｂが、初期状態と同じ通常動作モードに切り換わる。この場合、ＦＢ１０３Ｃのみの擬似動作の消費電流が測定される。
【００３３】
次に、ｒｅｇＡを０から１に書き換え、ｒｅｇＢは０に、ｒｅｇＣは１に保持する（ステップＳ６）。これにより、制御信号ｃｎｔＡが０から１に遷移し、ＦＢ１０３Ａは、内部バス１０７及び外部バスと未接続状態となる。同時に、ＥＢ１０５Ａのスイッチ１１１はオンとなり、ＥＢ１０５ＡはＶＤＤ端子１０８と接続状態となる。つまり、ＦＢ１０３Ａが、再度、消費電流検出のための擬似的な動作モードに切り換わる。この場合、ＦＢ１０３Ａ＋ＦＢ１０３Ｃの擬似動作の消費電流が測定される。
【００３４】
最後に、ｒｅｇＣを１から０に書き換え、ｒｅｇＡは１に、ｒｅｇＢは０に保持する（ステップＳ７）。これにより、制御信号ｃｎｔＣが１から０に遷移し、ＦＢ１０３Ｃは、内部バス１０７及び外部バスと接続状態となる。同時に、ＥＢ１０５Ｃのスイッチ１１１はオフとなり、ＥＢ１０５ＣはＶＤＤ端子１０８と未接続状態となる。つまり、ＦＢ１０３Ｃが、初期状態と同じ通常動作モードに切り換わる。この場合、ＦＢ１０３Ａのみの擬似動作の消費電流が測定される。
【００３５】
以上、図４を用いて説明した通り、本実施の形態では、アプリケーションプログラム全体が完成する前であって、任意の機能ブロックの制御記述ができていない場合でも、システム全体の電源回路の最適化を図ることができる。具体的には、擬似動作レジスタ（ＥＲＧ）内の対象となる機能ブロックに対応する１ビットの設定を実行するのみで、擬似動作回路（ＥＢ）を動作させ、その消費電流を測定することができる。従って、アプリケーションプログラムが完成する前段階で、消費電流測定が可能となる。
【００３６】
ここで、擬似動作回路（ＥＢ）の動作時には、内部バスや外部回路との接続は遮断する。そのため、対象となる機能ブロックの擬似動作が他の機能ブロックや外部回路に影響を与えることはない。そのため、擬似動作記述と各機能ブロックの制御記述は容易に差し替え可能となる。従って、アプリケーションプログラム全体が完成するまでの間、アプリケーションプログラムの完成度に関わらず、常に消費電流の測定が可能となる。
【００３７】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００３８】
１００  マイクロコンピュータ
１０１  中央処理装置（ＣＰＵ）
１０２  擬似動作制御レジスタ（ＥＲＧ）
１０３Ａ〜１０３Ｃ  機能ブロック（ＦＢ）
１０４Ａ〜１０４Ｆ  Ｉ/Ｏ制御回路（ＩＯＣ）
１０５Ａ〜１０５Ｃ  擬似動作回路（ＥＢ）
１０７  内部バス
１０８  ＶＤＤ
１０９  ＶＳＳ
ｒｅｇＡ〜ｒｅｇＣ  レジスタ
１１１  スイッチ
１１２  電流調整回路
【図１】
2012212359.tif 000003
【図２】
2012212359.tif 000004
【図３】
2012212359.tif 000005
【図４】
2012212359.tif 000006
【図５】
2012212359.tif 000007