(57)【特許請求の範囲】
【請求項１】
複数のラッチ回路をそれぞれ含む複数の機能ブロック部と、
前記複数の機能ブロック部がそれぞれ消費する電流の変動量を予測する電流予測部と、
前記電流予測部が予測した各変動量のいずれかが閾値を超える場合、前記複数の機能ブロック部のうち、動作を停止していた機能ブロック部のうち、所定数の対象機能ブロック部に含まれる複数のラッチ回路を所定期間動作させる動作制御部と、
前記所定期間の経過後、前記所定数の対象機能ブロック部に含まれる複数のラッチ回路が保持する情報を、前記所定期間動作させる前の情報に復帰させる復帰制御部を有することを特徴とする半導体装置。
【請求項２】
前記復帰制御部は、
前記電流予測部が予測した各変動量のいずれかが前記閾値を超える場合、前記複数のラッチ回路を環状に接続する接続部を有し、
前記所定期間は、
前記環状に接続された複数のラッチ回路に保持される情報が、前記所定期間動作させる前の情報に戻るまでの周期に基づいて設定されることを特徴とする請求項１記載の半導体装置。
【請求項３】
前記動作制御部は、
各変動量のいずれかが前記閾値を超えた場合、前記環状に接続された複数のラッチ回路の数を計数する計数部を有し、
前記所定期間の終了時期は、
前記計数部が前記環状に接続された複数のラッチ回路の数を計数し終える時期に設定されることを特徴とする請求項２記載の半導体装置。
【請求項４】
前記複数のラッチ回路は、
前記機能ブロック部のそれぞれの機能を実現する通常モード中にデータを保持し、前記複数の機能ブロック部のそれぞれを試験する試験モード中に試験パターンを保持する第１のラッチ部と、
前記第１のラッチ部に保持されたデータが退避される第２のラッチ部と、
前記第１のラッチ部と前記第２のラッチ部との間でデータを転送する転送部を含み、
直列に接続されたリテンションフリップフロップであり、
前記復帰制御部は、
前記複数のラッチ回路が前記所定期間動作する前に、前記第１のラッチ部に保持されたデータを前記第２のラッチ部に退避させ、前記所定時間後に、前記第２のラッチ部に退避されたデータを前記第１のラッチ部に戻すことを特徴とする請求項１記載の半導体装置。
【請求項５】
前記所定期間中に前記複数のラッチ回路に入力するパターンを生成するパターン生成部を有することを特徴とする請求項４記載の半導体装置。
【請求項６】
前記電流予測部は、
前記複数の機能ブロック部のそれぞれの動作状態を示す情報に基づいて、前記複数の機能ブロック部のそれぞれが消費する電流を求める電流算出部を有し、
前記電流予測部は、
前記電流算出部が求めた電流に基づいて前記変動量を予測することを特徴とする請求項１ないし請求項５のいずれか１項記載の半導体装置。
【請求項７】
前記複数の機能ブロック部が消費する電流を測定する複数の電流測定部を有し、
前記電流予測部は、
前記複数の電流測定部が測定する電流に基づいて前記変動量を予測することを特徴とする請求項１ないし請求項５のいずれか１項記載の半導体装置。
【請求項８】
演算を実行する複数の演算器と、
前記演算器が実行する命令を示す命令コードをデコードするデコーダを有し、
前記複数の機能ブロック部は、前記複数の演算器であり、
前記電流予測部は、
前記デコーダがデコードする命令コードに基づいて、前記変動量を予測し、
前記動作制御部は、
前記デコーダがデコードする命令コードに基づいて、前記対象機能ブロック部を検出することを特徴とする請求項１ないし請求項５のいずれか１項記載の半導体装置。
【請求項９】
前記半導体装置の温度を測定する温度測定部を有し、
前記電流予測部は、
前記温度測定部が測定した温度に基づいて前記変動量を補正することを特徴とする請求項１ないし請求項８のいずれか１項記載の半導体装置。
【請求項１０】
複数のラッチ回路をそれぞれ含む複数の機能ブロック部を有する半導体装置の制御方法において、
前記半導体装置が有する電流予測部が、前記複数の機能ブロック部が消費する電流の変動量をそれぞれ予測し、
前記半導体装置が有する動作制御部が、前記電流予測部が予測した各変動量のいずれかが閾値を超える場合、前記複数の機能ブロック部のうち、動作を停止していた機能ブロック部のうち、所定数の対象機能ブロック部に含まれる複数のラッチ回路を所定期間動作させ、
前記半導体装置が有する復帰制御部が、前記所定期間の経過後、前記所定数の対象機能ブロック部に含まれる複数のラッチ回路が保持する情報を、前記所定期間動作させる前の情報に復帰させることを特徴とする半導体装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置および半導体装置の制御方法に関する。
【背景技術】
【０００２】
半導体装置では、複数の回路ブロックが動作を開始または停止することで電源電流が急激に変化すると、電源ノイズが発生する場合がある。そこで、電源電流の変動に応じて、半導体装置の動作に寄与しない未使用のラッチ回路を動作させ、半導体装置の消費電力を一定にすることで、電源ノイズの発生を抑制する手法が提案されている（例えば、特許文献１参照）。また、クロック同期回路へのクロックの供給時または停止時に、クロックの周波数を徐々に変化させることで、電源電流が急激に変化することを抑制し、電源ノイズの発生を抑制する手法が提案されている（例えば、特許文献２、３参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２９６２６８号公報
【特許文献２】特開平４−３２１３１８号公報
【特許文献３】特開２００４−１３８２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、未使用のラッチ回路の数は、半導体装置の設計に依存して決まるため、未使用のラッチ回路を用いて電源ノイズの発生を抑制する手法を適用可能な半導体装置は限られてしまう。
【０００５】
本件開示の半導体装置および半導体装置の制御方法は、半導体装置の機能を実現するために使用されるラッチ回路を利用して電源ノイズの発生を抑制することを目的とする。
【課題を解決するための手段】
【０００６】
一つの観点によれば、半導体装置は、複数のラッチ回路をそれぞれ含む複数の機能ブロック部と、複数の機能ブロック部がそれぞれ消費する電流の変動量を予測する電流予測部と、電流予測部が予測した各変動量のいずれかが閾値を超える場合、複数の機能ブロック部のうち、動作を停止していた機能ブロック部のうち、所定数の対象機能ブロック部に含まれる複数のラッチ回路を所定期間動作させる動作制御部と、所定期間の経過後、所定数の対象機能ブロック部に含まれる複数のラッチ回路が保持する情報を、所定期間動作させる前の情報に復帰させる復帰制御部を有する。
【０００７】
別の観点によれば、複数のラッチ回路をそれぞれ含む複数の機能ブロック部を有する半導体装置の制御方法は、半導体装置が有する電流予測部が、複数の機能ブロック部が消費する電流の変動量をそれぞれ予測し、半導体装置が有する動作制御部が、電流予測部が予測した各変動量のいずれかが閾値を超える場合、複数の機能ブロック部のうち、動作を停止していた機能ブロック部のうち、所定数の対象機能ブロック部に含まれる複数のラッチ回路を所定期間動作させ、半導体装置が有する復帰制御部が、所定期間の経過後、所定数の対象機能ブロック部に含まれる複数のラッチ回路が保持する情報を、所定期間動作させる前の情報に復帰させる。
【発明の効果】
【０００８】
本件開示の半導体装置および半導体装置の制御方法は、半導体装置の機能を実現するために使用されるラッチ回路を利用して電源ノイズの発生を抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】半導体装置および半導体装置の制御方法の一実施形態を示す図である。
【図２】半導体装置および半導体装置の制御方法の別の実施形態を示す図である。
【図３】図２に示す機能ブロック部ＦＢＬＫ１の例を示す図である。
【図４】図３に示すチェーン制御回路の例を示す図である。
【図５】図４に示すチェーン制御回路の動作の例を示す図である。
【図６】図２に示す機能ブロック部ＦＢＬＫ２の例を示す図である。
【図７】図３および図６に示すスキャンフリップフロップの例を示す図である。
【図８】図２に示す動作制御部の動作の例を示す図である。
【図９】図２に示す半導体装置におけるノイズ対策モード中の電源電流の変化の例を示す図である。
【図１０】図２に示す半導体装置においてノイズ対策モードが起動されない場合の電源電流の変化の例を示す図である。
【図１１】半導体装置および半導体装置の制御方法の別の実施形態における機能ブロック部の例を示す図である。
【図１２】図１１に示すリテンションフリップフロップの例を示す図である。
【図１３】図１１に示すチェーン制御回路の例を示す図である。
【図１４】図１３に示すチェーン制御回路の動作の例を示す図である。
【図１５】半導体装置および半導体装置の制御方法の別の実施形態における機能ブロック部の例を示す図である。
【図１６】半導体装置および半導体装置の制御方法の別の実施形態を示す図である。
【図１７】半導体装置および半導体装置の制御方法の別の実施形態を示す図である。
【図１８】半導体装置および半導体装置の制御方法の別の実施形態を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を用いて実施形態を説明する。信号が伝達される信号線には、信号名と同じ符号を使用する。
【００１１】
図１は、半導体装置および半導体装置の制御方法の一実施形態を示す。図１に示す半導体装置ＳＥＭ０は、複数の機能ブロック部１０（１０ａ、１０ｂ、１０ｃ）、電流予測部２０、動作制御部３０および復帰制御部４０を有する。各機能ブロック部１０は、複数のラッチ回路ＬＴを有する。電流予測部２０は、機能ブロック部１０ａ、１０ｂ、１０ｃがそれぞれ消費する電流に基づいて、機能ブロック部１０ａ、１０ｂ、１０ｃが消費する電流の変動量ＩＩＮＦ（すなわち、半導体装置ＳＥＭ０の電源電流の変動量）を予測する。電流予測部２０は、各機能ブロック部１０ａ、１０ｂ、１０ｃの動作状態を示す情報に基づいて電流の変動量ＩＩＮＦを予測してもよく、各機能ブロック部１０ａ、１０ｂ、１０ｃがそれぞれ消費する電流の測定結果に基づいて電流の変動量ＩＩＮＦを予測してもよい。
【００１２】
動作制御部３０は、電流予測部２０が予測した変動量ＩＩＮＦが閾値ＶＴを超える場合、機能ブロック部１０のうち、動作を停止していた機能ブロック部１０の所定数を対象機能ブロック部として選択する。そして、動作制御部３０は、選択した対象機能ブロック部に含まれる複数のラッチ回路ＬＴを所定期間動作させる。ラッチ回路ＬＴの動作による電流の消費により、半導体装置ＳＥＭ０の電源電流の変化は緩やかになり、電源ノイズの発生が抑制される。
【００１３】
復帰制御部４０は、ラッチ回路ＬＴが所定期間動作した後、動作制御部３０が選択した対象機能ブロック部に含まれるラッチ回路ＬＴが保持する情報（すなわち、論理）を、所定期間動作させる前の元の情報に復帰させる。これにより、半導体装置ＳＥＭ０は、変動量ＩＩＮＦが閾値ＶＴを超えることを検出する前の状態に復帰することができ、動作を継続することができる。
【００１４】
以上、図１に示した実施形態では、動作を停止していた機能ブロック部１０のラッチ回路ＬＴを用いて、所定期間電流を消費させた後に、ラッチ回路ＬＴが保持する情報を元に戻す。これにより、半導体装置ＳＥＭ０の機能を実現するために使用されるラッチ回路ＬＴを利用して電源ノイズの発生を抑制することができる。
【００１５】
図２は、半導体装置および半導体装置の制御方法の別の実施形態を示す。図２に示す半導体装置ＳＥＭ１は、ｎ個の機能ブロック部ＦＢＬＫ（ＦＢＬＫ１、ＦＢＬＫ２、ＦＢＬＫ３、...、ＦＢＬＫｎ）、電流予測部ＩＦＵ１および動作制御部ＯＣＮＴを有する。例えば、半導体装置ＳＥＭ１は、ＳｏＣ（System on a Chip）の形態を有するシステムＬＳＩ（Large Scale Integration）等である。各機能ブロック部ＦＢＬＫは、ＡＤＣ（Analog to Digital Converter）、ビデオデコーダ、オーディオデコーダ等の周辺機能ブロック部であり、各機能の試験時に直列に接続される複数のスキャンフリップフロップＳＦＦを有する。スキャンフリップフロップＳＦＦは、スキャン入力端子とスキャン出力端子との間に直列に接続されたフリップフロップの一例である。
【００１６】
各機能ブロック部ＦＢＬＫは、動作状態を示す動作状態情報ＯＰＳＴ（ＯＰＳＴ１、ＯＰＳＴ２、ＯＰＳＴ３、...、ＯＰＳＴｎ）を出力する機能を有する。動作状態情報ＯＰＳＴは、各機能ブロック部ＦＢＬＫの動作モードを示す情報または各機能ブロック部ＦＢＬＫが内蔵するステートマシン等の遷移状態を示す情報であり、各機能ブロック部ＦＢＬＫの消費電流と相関関係を有する。動作状態情報ＯＰＳＴは、電流予測部ＩＦＵ１において、各機能ブロック部ＦＢＬＫの消費電流を判断するために使用され、動作制御部ＯＣＮＴにおいて、機能ブロック部ＦＢＬＫが動作中であるか否かを判断するために使用される。
【００１７】
機能ブロック部ＦＢＬＫ１、ＦＢＬＫ３、ＦＢＬＫｎは、スキャンフリップフロップＳＦＦの接続を制御するチェーン制御回路ＣＣＮＴ１を有する。チェーン制御回路ＣＣＮＴ１を有する機能ブロック部ＦＢＬＫ１、ＦＢＬＫ３、ＦＢＬＫｎは、電流を意図的に増加させるノイズ対策モードに移行可能である。なお、チェーン制御回路ＣＣＮＴ１は、各機能ブロック部ＦＢＬＫ１、ＦＢＬＫ３、ＦＢＬＫｎの外部に配置されてもよい。
【００１８】
機能ブロック部ＦＢＬＫ１、ＦＢＬＫ３、ＦＢＬＫｎは、機能ブロック部ＦＢＬＫ１、ＦＢＬＫ３、ＦＢＬＫｎの機能を実現する動作を停止している期間に、ノイズ対策信号ＮＲ（ＮＲ１、ＮＲ３、ＮＲｎ）を受け、ノイズ対策モードに移行する。ノイズ対策モードに移行中、機能ブロック部ＦＢＬＫ１、ＦＢＬＫ３、ＦＢＬＫｎは、スキャンフリップフロップＳＦＦのスキャン動作を実行し、電流を消費する。スキャン動作は、スキャンフリップフロップＳＦＦに擬似的なスキャンパターンを印加することで実行される。
【００１９】
一方、機能ブロック部ＦＢＬＫ２は、例えば、動作を停止することなく、機能ブロック部ＦＢＬＫ２の機能を実現し続けるため、チェーン制御回路ＣＣＮＴ１を持たず、ノイズ対策モードに移行しない。機能ブロック部ＦＢＬＫ１、ＦＢＬＫ３、ＦＢＬＫｎの例は、図３に示し、チェーン制御回路ＣＣＮＴ１の例は、図４に示し、機能ブロック部ＦＢＬＫ２の例は、図６に示す。
【００２０】
電流予測部ＩＦＵ１は、電流算出部ＣＡＬ、電流合計部ＳＵＭ、レジスタＲＥＧ１、ＩＭＡＸ、ＩＭＩＮおよび電流情報生成部ＩＩＮＦＧを有する。電流算出部ＣＡＬは、機能ブロック部ＦＢＬＫから出力される動作状態情報ＯＰＳＴに基づき、各機能ブロック部ＦＢＬＫが消費している電流を示す電流情報ＩＣ（ＩＣ１、ＩＣ２、ＩＣ３、...、ＩＣｎ）を求める。電流算出部ＣＡＬは、計算式に基づいて電流情報ＩＣを求めてもよく、動作状態情報ＯＰＳＴと電流情報ＩＣとの対応関係が格納されたテーブルに基づいて電流情報ＩＣを求めてもよい。電流算出部ＣＡＬを有する半導体装置ＳＥＭ１は、電流を検出する電流センサ等を搭載することなく、各機能ブロック部ＦＢＬＫが消費する電流を求めることができる。
【００２１】
電流合計部ＳＵＭは、電流算出部ＣＡＬが求めた電流情報ＩＣ１−ＩＣｎが示す電流値の合計ＩＳＵＭを求め、求めた合計ＩＳＵＭを、合計ＩＳＵＭを求めた時刻ＴとともにレジスタＲＥＧ１に格納する。電流合計部ＳＵＭは、例えば、数百マイクロ秒または数ミリ秒等の所定の頻度で電流値の合計ＩＳＵＭを求める。
【００２２】
レジスタＲＥＧ１は、電流値の合計ＩＳＵＭを求めた時刻Ｔ（Ｔ０、Ｔ１、Ｔ２、...）と、電流値の合計ＩＳＵＭ（ＩＳＵＭ０、ＩＳＵＭ１、ＩＳＵＭ２、...）とを格納する複数の領域を有する。レジスタＩＭＡＸは、半導体装置ＳＥＭ１が消費する最大の電流値を示す情報を保持する。レジスタＩＭＩＮは、半導体装置ＳＥＭ１が消費する最小の電流値を示す情報を保持する。以下では、レジスタＩＭＡＸが保持する情報が示す電流値は最大電流ＩＭＡＸと称され、レジスタＩＭＩＮが保持する情報が示す電流値は最小電流ＩＭＩＮと称される。例えば、最小電流ＩＭＩＮは、全ての機能ブロック部ＦＢＬＫの動作が停止した状態で消費するスタンバイ電流である。スタンバイ電流は、半導体装置ＳＥＭ１が有するトランジスタ等の素子を流れるリーク電流により消費される電流（電源電流）である。
【００２３】
電流情報生成部ＩＩＮＦＧは、レジスタＲＥＧ１に格納された時刻Ｔ毎の電流値の合計ＩＳＵＭに基づいて、半導体装置ＳＥＭ１の電源電流の変化の傾向を求める。電源電流が上昇傾向にある場合、電流情報生成部ＩＩＮＦＧは、電源電流が最大電流ＩＭＡＸに到達するまでの時間を予測し、最大電流ＩＭＡＸに到達した場合の電源電流の変動量を予測値として求める。電源電流が下降傾向にある場合、電流情報生成部ＩＩＮＦＧは、電源電流が最小電流ＩＭＩＮに到達するまでの時間を予測し、最小電流ＩＭＩＮに到達した場合の電源電流の変動量を予測値として求める。そして、電流情報生成部ＩＩＮＦＧは、予測した時間と、求めた変動量とを示す電流情報ＩＩＮＦとを動作制御部ＯＣＮＴに出力する。
【００２４】
動作制御部ＯＣＮＴは、レジスタＲＥＧ２、ＩＲＥＦを有する。レジスタＲＥＧ２は、可否情報と電流情報とを機能ブロック部ＦＢＬＫ毎に保持する領域を有する。可否情報の”１”は、電流を意図的に増加させるノイズ対策モードに機能ブロック部ＦＢＬＫを移行可能であることを示し、可否情報の”０”は、ノイズ対策モードへの移行が禁止されることを示す。電流情報Ｉａ、Ｉｂ、Ｉｃは、ノイズ対策モード中に意図的に消費される電流値を示す。レジスタＲＥＧ２において、ノイズ対策モードへ移行しない機能ブロック部ＦＢＬＫ２に対応する電流情報の”−”は、電流情報が格納されないことを示し、または電流情報が無効であることを示す。
【００２５】
レジスタＩＲＥＦは、機能ブロック部ＦＢＬＫのいずれかをノイズ対策モードに移行するか否かを判定する基準電流を示す情報を保持する。以下では、レジスタＩＲＥＦが保持する情報が示す電流値は、基準電流ＩＲＥＦと称される。
【００２６】
動作制御部ＯＣＮＴは、電流情報ＩＩＮＦに含まれる電源電流の変動量の予測値が、基準電流ＩＲＥＦを超える場合、機能ブロック部ＦＢＬＫのいずれかをノイズ対策モードに移行させる。基準電流ＩＲＥＦは、機能ブロック部ＦＢＬＫのいずれかをノイズ対策モードに移行させるか否かを判定する閾値の一例である。動作制御部ＯＣＮＴは、電流情報ＩＩＮＦに含まれる電源電流の変動量の予測値が、基準電流ＩＲＥＦ以下の場合、機能ブロック部ＦＢＬＫをノイズ対策モードに移行させない。
【００２７】
動作制御部ＯＣＮＴは、機能ブロック部ＦＢＬＫのいずれかをノイズ対策モードに移行させる場合、各機能ブロック部ＦＢＬＫから出力される動作状態情報ＯＰＳＴに基づき、動作を停止している機能ブロック部ＦＢＬＫである非動作機能ブロック部を検出する。そして、動作制御部ＯＣＮＴは、電源電流が電流情報ＩＩＮＦにしたがって変動した場合に発生する電源ノイズを抑制するためにノイズ対策モードに移行させる所定数の機能ブロック部ＦＢＬＫを、非動作機能ブロック部の中から選択する。動作制御部ＯＣＮＴは、選択した機能ブロック部ＦＢＬＫに対応するノイズ対策信号ＮＲ（ＮＲ１、ＮＲ３、ＮＲｎ）を所定期間出力する。そして、所定期間中、ノイズ対策信号ＮＲに基づいてノイズ対策モードに移行した機能ブロック部ＦＢＬＫ内のスキャンフリップフロップＳＦＦが動作することにより、電源ノイズを抑制するための電流が消費される。
【００２８】
なお、半導体装置ＳＥＭ１がＣＰＵ（Central Processing Unit）を含む場合、電流予測部ＩＦＵ１および動作制御部ＯＣＮＴは、ＣＰＵと、ＣＰＵが実行するプログラムとにより実現されてもよい。
【００２９】
図３は、図２に示す機能ブロック部ＦＢＬＫ１の例を示す。ノイズ対策モードを有する他の機能ブロック部ＦＢＬＫ３、ＦＢＬＫｎの構成は、ノイズ対策信号ＮＲ１の代わりにノイズ対策信号ＮＲ３、ＮＲｎを受けることを除き、図３と同様である。なお、図３では、図２に示す動作状態情報ＯＰＳＴを生成する回路は省略される。
【００３０】
機能ブロック部ＦＢＬＫ１は、チェーン制御回路ＣＣＮＴ１、セレクタＳＥＬ、ゲートクロックバッファＧＣＢ、複数の組み合わせ回路ＣＣ、および組み合わせ回路ＣＣの間に配置される複数のスキャンフリップフロップＳＦＦを有する。スキャンフリップフロップＳＦＦを環状に接続する太線で示した経路は、ノイズ対策モード中のスキャン動作により、スキャンパターンが伝達される経路を示す。
【００３１】
組み合わせ回路ＣＣは、機能ブロック部ＦＢＬＫ１の機能を実現するための回路を有する。図３では、初段の組み合わせ回路ＣＣは、ｊ＋１ビット（ｊは正の整数）のデータＤＩを受けて動作し、最終段の組み合わせ回路ＣＣは、ｋ＋１ビット（ｋは正の整数）のデータＤＯを出力する。
【００３２】
チェーン制御回路ＣＣＮＴ１は、機能ブロック部ＦＢＬＫ１の機能を実現する通常モード中にハイレベルのイネーブル信号ＥＮを受けた場合、ノイズ対策信号ＮＲ１ａをロウレベルに設定し、クロックＣＫに同期してクロックＣＫ１を出力する。同様に、チェーン制御回路ＣＣＮＴ１は、機能ブロック部ＦＢＬＫ１を試験する試験モード中にハイレベルのイネーブル信号ＥＮを受けた場合、ノイズ対策信号ＮＲ１ａをロウレベルに設定し、クロックＣＫに同期してクロックＣＫ１を出力する。チェーン制御回路ＣＣＮＴ１は、ノイズ対策モード中に、ノイズ対策信号ＮＲ１の立ち上がりエッジに基づいてノイズ対策信号ＮＲ１ａをハイレベルに設定し、クロックＣＫに同期してクロックＣＫ１を出力する。また、チェーン制御回路ＣＣＮＴ１は、ノイズ対策モード中に、ノイズ対策信号ＮＲ１の立ち下がりエッジに基づいて、スキャンフリップフロップＳＦＦがノイズ対策モード前に保持していた値を保持する。この後、チェーン制御回路ＣＣＮＴ１は、ノイズ対策信号ＮＲ１ａをロウレベルに設定し、クロックＣＫ１の出力を停止する。
【００３３】
セレクタＳＥＬは、ノイズ対策信号ＮＲ１ａがロウレベルの間、スキャン入力端子ＳＩＮを介して”０”を付した入力端子で受ける論理を出力端子Ｏから出力する。セレクタＳＥＬは、ノイズ対策信号ＮＲ１ａがハイレベルの間、”１”を付した入力端子で受ける論理を出力端子Ｏから出力する。
【００３４】
ゲートクロックバッファＧＣＢは、イネーブル信号ＥＮがハイレベルで、ノイズ対策信号ＮＲ１ａがロウレベルの間、クロックＣＫに同期してクロックＣＫ２を出力する。ゲートクロックバッファＧＣＢは、イネーブル信号ＥＮがロウレベルまたはノイズ対策信号ＮＲ１ａがハイレベルの間、クロックＣＫに同期したクロックＣＫ２の出力を停止する。ゲートクロックバッファＧＣＢは、図４に示すゲートクロックバッファＧＣＢ１、ＧＣＢ２と同様の回路構成を有する。
【００３５】
太線で示す経路に接続されるスキャンフリップフロップＳＦＦは、ノイズ対策信号ＮＲ１ａがハイレベルの間、またはスキャンモード信号ＳＭがハイレベルの間に、スキャンモード端子ＳＭでハイレベルを受けてスキャン動作を実行する。太線で示す経路に接続されないスキャンフリップフロップＳＦＦは、スキャンモード信号ＳＭがハイレベルの間に、スキャンモード端子ＳＭでハイレベルを受けてスキャン動作を実行し、シフトレジスタとして機能する。
【００３６】
機能ブロック部ＦＢＬＫを試験する試験モードでは、スキャン入力端子ＳＩを介して供給される直列の試験パターンがスキャンフリップフロップＳＦＦに順次に保持された後、組み合わせ回路ＣＣが動作する。そして、各組み合わせ回路ＣＣから出力される信号の論理は、各スキャンフリップフロップＳＦＦに保持され、スキャン出力端子ＳＯを介して直列の試験結果データが機能ブロック部ＦＢＬＫから出力される。
【００３７】
ノイズ対策モードでは、太線で示す経路を介して環状に接続されるスキャンフリップフロップＳＦＦは、フィードバックシフトレジスタとして機能し、保持している論理を、セレクタＳＥＬを介して巡回的に転送する。そして、環状に接続されるスキャンフリップフロップＳＦＦは、クロックＣＫ１に同期してラッチ動作を繰り返し、電流を消費する。また、スキャンフリップフロップＳＦＦの出力端子Ｑに接続された組み合わせ回路ＣＣは、出力端子Ｑから出力されるデータに応じて動作し、電流を消費する。ノイズ対策モードは、スキャンフリップフロップＳＦＦが保持する論理が一巡し、スキャンフリップフロップＳＦＦがノイズ対策モード前に保持していた論理を保持した時期で終了される。
【００３８】
各スキャンフリップフロップＳＦＦに保持される論理は、ノイズ対策モードの前後で変化しない。このため、半導体装置ＳＥＭ１の機能を実現する機能ブロック部ＦＢＬＫで使用中のスキャンフリップフロップＳＦＦと組み合わせ回路ＣＣとを利用して、電流を消費させることができる。また、ノイズ対策モードの終了後、スキャンフリップフロップＳＦＦの出力端子Ｑに接続された組み合わせ回路ＣＣは、ノイズ対策モード前に受けた論理と同じ論理を受け、ノイズ対策モード前に実行していた動作を継続することができる。
【００３９】
ノイズ対策モード中に、スキャンフリップフロップＳＦＦに保持された論理が、太線で示す経路を何周するかは、ノイズ対策信号ＮＲ１がハイレベルに設定される期間に基づいて決められる。図３では、ノイズ対策モード中に１６個のスキャンフリップフロップＳＦＦが環状に接続されるが、環状に接続されるスキャンフリップフロップＳＦＦの数は、１６個に限定されない。
【００４０】
図４は、図３に示すチェーン制御回路ＣＣＮＴ１の例を示す。チェーン制御回路ＣＣＮＴ１の動作の例は、図５に示す。なお、図４は、図２の機能ブロック部ＦＢＬＫ１に搭載されるチェーン制御回路ＣＣＮＴ１の例を示す。図２の機能ブロック部ＦＢＬＫ３、ＦＢＬＫｎに搭載されるチェーン制御回路ＣＣＮＴ１は、ノイズ対策信号ＮＲ１をノイズ対策信号ＮＲ３またはノイズ対策信号ＮＲｎに置き換えることで実現される。
【００４１】
チェーン制御回路ＣＣＮＴ１は、エッジ検出回路ＲＥＤＥＴ、カウンタＣＯＵＮＴ、レジスタＲＲＥＧ、比較器ＣＭＰ、フリップフロップＦＦ０、ゲートクロックバッファＧＣＢ１、ＧＣＢ２および種々の論理ゲートを有する。
【００４２】
エッジ検出回路ＲＥＤＥＴは、ノイズ対策信号ＮＲ１の立ち上がりエッジを検出し、ハイレベルのパルス信号ＮＲ１Ｐを生成する。カウンタＣＯＵＮＴは、パルス信号ＮＲ１Ｐまたは一致信号ＭＣＨに基づいて生成されるリセット信号ＣＲＳＴに応答してカウンタ値Ｃ１をリセットする。
【００４３】
カウンタＣＯＵＮＴは、ゲートクロックバッファＧＣＢ１から出力されるカウントアップ信号ＣＵＰに同期してカウント動作し、カウンタ値Ｃ１を”１”ずつ増加させる。比較器ＣＭＰは、カウンタ値Ｃ１がレジスタＲＲＥＧに保持される期待値ＣＥＸＰになった場合に一致信号ＭＣＨを出力する。ここで、期待値ＣＥＸＰは、図３に示した太線で接続されるスキャンフリップフロップＳＦＦの数（１６個）に対応する値（”１５”）に設定される。カウンタＣＯＵＮＴ、レジスタＲＲＥＧおよび比較器ＣＭＰは、電源電流の変動量の予測値が基準電流ＩＲＥＦを超えたことに基づいて、図３に示す太線で接続されるスキャンフリップフロップＳＦＦの数を繰り返し計数する計数部の一例である。
【００４４】
フリップフロップＦＦ０は、イネーブル信号ＥＮがロウレベルの期間に、ノイズ対策信号ＮＲ１のハイレベルへの変化に同期してハイレベルを出力する。また、フリップフロップＦＦ０は、ノイズ対策信号ＮＲ１がロウレベルに変化した後、一致信号ＭＣＨの出力に同期してロウレベルを出力する。ゲートクロックバッファＧＣＢ１は、フリップフロップＦＦ０がハイレベルを出力している期間、クロックＣＫの立ち下がりエッジに同期してカウントアップ信号ＣＵＰを出力する。
【００４５】
ノイズ対策信号ＮＲ１ａは、イネーブル信号ＥＮがハイレベルの期間にロウレベルに維持され、イネーブル信号ＥＮがロウレベルの期間にフリップフロップＦＦ０が出力する論理に設定される。ゲートクロックバッファＧＣＢ２は、イネーブル信号ＥＮがハイレベルの期間、またはフリップフロップＦＦ０がハイレベルを出力する期間に、クロックＣＫに同期してクロックＣＫ１を出力する。
【００４６】
図５は、図４に示すチェーン制御回路ＣＣＮＴ１の動作の例を示す。まず、図５の上側に示すように、図２に示す動作制御部ＯＣＮＴは、イネーブル信号ＥＮがロウレベルの間にノイズ対策信号ＮＲ１をハイレベルに変化させる。ノイズ対策信号ＮＲ１に基づいて、パルス信号ＮＲ１Ｐが出力され、リセット信号ＣＲＳＴが出力される（図５（ａ）、（ｂ）、（ｃ））。リセット信号ＣＲＳＴに基づいてカウンタＣＯＵＮＴのカウンタ値Ｃ１が”０”にリセットされる（図５（ｄ））。
【００４７】
また、ノイズ対策信号ＮＲ１のハイレベルへの変化に応答して、ノイズ対策信号ＮＲ１ａがハイレベルに変化し、機能ブロック部ＦＢＬＫは、ノイズ対策モードに移行する（図５（ｅ））。ノイズ対策信号ＮＲ１ａがハイレベルに変化した次のクロックサイクルで、クロックＣＫ１の出力が開始され、カウンタＣＯＵＮＴは、カウンタ値Ｃ１を”１”ずつ増加させる（図５（ｆ）、（ｇ））。クロックＣＫ１が出力されている期間、図３に示す太線で接続されたスキャンフリップフロップＳＦＦは、スキャン動作し、セレクタＳＥＬを介して、論理を巡回的にシフトする。
【００４８】
”１”ずつ増加するカウンタ値Ｃ１が図４に示す期待値ＣＥＸＰ（＝１５）と一致すると、比較器ＣＭＰは、一致信号ＭＣＨを出力する（図５（ｈ）、（ｉ））。一致信号ＭＣＨに基づいてリセット信号ＣＲＳＴが生成され、カウンタＣＯＵＮＴのカウンタ値Ｃ１は”０”にリセットされる（図５（ｊ）、（ｋ））。一致信号ＭＣＨは、図３に示す太線で接続されたスキャンフリップフロップＳＦＦに保持される論理が、ノイズ対策モード前の論理に戻ったことを示す。
【００４９】
この後、図５の下側に示すように、図２に示す動作制御部ＯＣＮＴは、ノイズ対策信号ＮＲ１をロウレベルに変化する（図５（ｌ））。しかしながら、一致信号ＭＣＨがロウレベルの間、図４に示すフリップフロップＦＦ０の出力はハイレベルに維持されるため、ノイズ対策信号ＮＲ１ａはロウレベルに変化しない（図５（ｍ））。これにより、図３の太線で接続されたスキャンフリップフロップＳＦＦが元の論理を保持する前に、ノイズ対策モードが終了することが抑止され、ノイズ対策モードが終了した後に機能ブロック部ＦＢＬＫが誤動作することが抑止される。
【００５０】
カウンタ値Ｃ１が期待値ＣＥＸＰと一致し、一致信号ＭＣＨが出力されると、リセット信号ＣＲＳＴが生成され、カウンタＣＯＵＮＴのカウンタ値Ｃ１が”０”にリセットされる（図５（ｎ）、（ｏ）、（ｐ））。そして、一致信号ＭＣＨの出力に基づいてフリップフロップＦＦ０がロウレベルを出力することで、ノイズ対策信号ＮＲ１ａがロウレベルに変化し、クロックＣＫ１の出力が停止され、ノイズ対策モードが終了する（図５（ｑ））。
【００５１】
このように、ノイズ対策モードの期間は、一致信号ＭＣＨの出力周期（すなわち、図２の太線で接続されたスキャンフリップフロップＳＦＦが元の論理を保持する周期）を単位として設定される。この結果、ノイズ対策モードが終了した時点で、スキャンフリップフロップＳＦＦが保持する論理は、ノイズ対策モードに移行する前の元の論理に戻っている。
【００５２】
図６は、図２に示す機能ブロック部ＦＢＬＫ２の例を示す。図３に示す機能ブロック部ＦＢＬＫ１と同一または同様の要素については、詳細な説明は省略する。
【００５３】
機能ブロック部ＦＢＬＫ２は、図３に示す機能ブロック部ＦＢＬＫ１からチェーン制御回路ＣＣＮＴ１、セレクタＳＥＬおよびノイズ対策信号ＮＲ１を受ける回路を削除している。そして、スキャン入力端子ＳＩは、初段のスキャンフリップフロップＳＦＦに直接接続され、イネーブル端子ＥＮは、ゲートクロックバッファＧＣＢに直接接続され、スキャンモード端子ＳＭは、各スキャンフリップフロップＳＦＦに直接接続される。
【００５４】
図７は、図３および図６に示すスキャンフリップフロップＳＦＦの例を示す。スキャンフリップフロップＳＦＦは、切り替え部ＳＷ１およびラッチ部ＬＴ１を有する。切り替え部ＳＷ１は、スキャンモード端子ＳＭで受ける信号がロウレベルの期間にデータ端子で受けるデータをラッチ部ＬＴ１に出力する。また、切り替え部ＳＷ１は、スキャンモード端子ＳＭで受ける信号がハイレベルの期間にスキャン入力端子ＳＩで受ける論理パターンをラッチ部ＬＴ１に出力する。ラッチ部ＬＴ１は、切り替え部ＳＷ１を介して受けるデータまたは論理パターンを保持する。
【００５５】
スキャンモード端子ＳＭに供給される信号は、機能ブロック部ＦＢＬＫが、半導体装置ＳＥＭ１の機能を実現するために動作する通常モード中にロウレベルに設定される。また、スキャンモード端子ＳＭに供給される信号は、機能ブロック部ＦＢＬＫを試験する試験モード中またはノイズ対策モード中に、チェーン接続されたスキャンフリップフロップＳＦＦのスキャン動作を実行するためにハイレベルに設定される。
【００５６】
ラッチ部ＬＴ１は、切り替え部ＳＷ１を介して受けるデータまたは論理パターンをクロック端子ＣＫで受けるクロックに同期してラッチし、ラッチしたデータまたは論理パターンを出力端子Ｑから出力する。
【００５７】
図８は、図２に示す動作制御部ＯＣＮＴの動作の例を示す。図８に示す動作は、ハードウェアにより実現されてもよく、ソフトウェアにより実現されてもよい。
【００５８】
まず、動作制御部ＯＣＮＴは、ステップＳ１０において、電流情報生成部ＩＩＮＦＧから電流情報ＩＩＮＦを受信するのを待つ。電流情報ＩＩＮＦを受信した場合、ステップＳ１２において、動作制御部ＯＣＮＴは、電流情報ＩＩＮＦが示す電源電流の変動量の予測値が基準電流ＩＲＥＦより大きいか否かを判定する。動作制御部ＯＣＮＴは、電流情報ＩＩＮＦが示す電源電流の変動量の予測値が基準電流ＩＲＥＦより大きい場合、ノイズ対策を実行するために、処理をステップＳ１４に移行する。動作制御部ＯＣＮＴは、電流情報ＩＩＮＦが示す電源電流の変動量の予測値が基準電流ＩＲＥＦ以下の場合、ノイズ対策を実行しないため、動作を終了する。動作の終了後、動作制御部ＯＣＮＴは、ステップＳ１０の処理を再び実行する。ノイズ対策を実行する場合の電源電流の波形の例は、図９に示され、ノイズ対策を実行しない場合の電源電流の波形の例は、図１０に示される。
【００５９】
ステップＳ１４において、動作制御部ＯＣＮＴは、電流情報ＩＩＮＦが示す情報に基づいて、ノイズ対策モード中に消費させる電流値を求める。次に、ステップＳ１６において、動作制御部ＯＣＮＴは、図２に示すレジスタＲＥＧ２を参照し、ステップＳ１４で求めた電流を消費するためにノイズ対策モードに移行させる機能ブロック部ＦＢＬＫを選択する。
【００６０】
次に、ステップＳ１８において、動作制御部ＯＣＮＴは、ステップＳ１６で選択した機能ブロック部ＦＢＬＫで消費させる電流が、ノイズ対策として十分か否かを判定する。動作制御部ＯＣＮＴは、電流が電源ノイズ対策として十分な場合、処理をステップＳ２２に移行し、電流が電源ノイズ対策として足りない場合、処理をステップＳ２０に移行する。
【００６１】
ステップＳ２０において、動作制御部ＯＣＮＴは、クロックＣＫの周波数を低くする等の他の電源ノイズ対策を実行する。一方、ステップＳ２２において、動作制御部ＯＣＮＴは、ノイズ対策モードに移行するために、ステップＳ１６で選択した機能ブロック部ＦＢＬＫに対応するノイズ対策信号ＮＲを所定期間出力する。ノイズ対策信号ＮＲの所定期間の出力後、動作制御部ＯＣＮＴは、ステップＳ１０の処理を再び実行する。
【００６２】
図９は、図２に示す半導体装置ＳＥＭ１におけるノイズ対策モード中の電源電流の変化の例を示す。図９において、太線は、図８のステップＳ２２による電源ノイズ対策を実行する場合の電源電流の変化を示す。一点鎖線は、ノイズ対策を実行しない場合の電流の変化を示し、二点鎖線は、図８のステップＳ２２による電源ノイズ対策の代わりに、半導体装置ＳＥＭ１の電源線に安定化容量を付加した場合の電源電流の変化を示す。
【００６３】
まず、時刻Ｔ１において、電流予測部ＩＦＵ１は、機能ブロック部ＦＢＬＫからの動作状態情報ＯＰＳＴに基づいて、電源電流が急峻に変動することを示す電流情報ＩＩＮＦを動作制御部ＯＣＮＴに出力する。動作制御部ＯＣＮＴは、電流情報ＩＩＮＦが示す電流の変動量が基準電流ＩＲＥＦより大きいため、時刻Ｔ２において、ノイズ対策信号ＮＲを出力し、所定数の機能ブロック部ＦＢＬＫをノイズ対策モードに移行させる。
【００６４】
そして、時刻Ｔ２から時刻Ｔ３までの期間に、ノイズ対策モードに移行した機能ブロック部ＦＢＬＫのチェーン制御回路ＣＣＮＴ１は、図５に示す動作を実行し、電流を消費する。これにより、電源電流は、安定化容量を追加した場合と同様に、緩やかに下降する。ノイズ対策モードの終了時刻Ｔ３は、電流情報生成部ＩＩＮＦＧが予測した電源電流が最小電流ＩＭＩＮに到達するまでの時間間隔に基づいて決められてもよく、電流情報ＩＩＮＦが示す電源電流の変動量の予測値に基づいて決められてもよい。
【００６５】
同様に、時刻Ｔ４において、電流予測部ＩＦＵ１は、機能ブロック部ＦＢＬＫからの動作状態情報ＯＰＳＴに基づいて、電源電流が急峻に変動することを予測し、電流の変動量を示す電流情報ＩＩＮＦを動作制御部ＯＣＮＴに出力する。動作制御部ＯＣＮＴは、電流情報ＩＩＮＦが示す電流の変動量が基準電流ＩＲＥＦより大きいため、時刻Ｔ５において、ノイズ対策信号ＮＲを出力し、所定数の機能ブロック部ＦＢＬＫをノイズ対策モードに移行させる。
【００６６】
そして、時刻Ｔ５から時刻Ｔ６までの期間に、ノイズ対策モードに移行した機能ブロック部ＦＢＬＫのチェーン制御回路ＣＣＮＴ１は、図５に示す動作を実行し、電流を消費する。これにより、電源電流は、安定化容量を追加した場合と同様に、緩やかに上昇する。なお、ノイズ対策モードの終了時刻Ｔ６は、電流情報生成部ＩＩＮＦＧが予測した電源電流が最大電流ＩＭＡＮに到達するまでの時間間隔に基づいて決められてもよく、電流情報ＩＩＮＦが示す電源電流の変動量の予測値に基づいて決められてもよい。
【００６７】
図１０は、図２に示す半導体装置ＳＥＭ１においてノイズ対策モードが起動されない場合の電源電流の変化の例を示す。図９と同様に、二点鎖線は、図８のステップＳ２２によるノイズ対策の代わりに、半導体装置ＳＥＭ１の電源線に安定化容量を付加した場合の電源電流の変化を示す。
【００６８】
図１０に示す例では、動作制御部ＯＣＮＴは、電流情報ＩＩＮＦが示す電流の変動量が基準電流ＩＲＥＦ以下のため、ノイズ対策信号ＮＲを出力しない。これにより、機能ブロック部ＦＢＬＫは、ノイズ対策モードに移行せず、電源電流は、ノイズ対策モードに移行しない場合と同様の波形になる。しかしながら、電流の変動量が基準電流ＩＲＥＦ以下の場合、電源電圧の波形は、電源線に安定化容量を付加した場合の電源電圧の波形と同様であり、半導体装置ＳＥＭ１の動作に影響を与える電源ノイズは発生しない。
【００６９】
以上、図２から図１０に示す実施形態においても、図１に示す実施形態と同様に、半導体装置ＳＥＭ１の機能を実現するために使用されるスキャンフリップフロップＳＦＦを利用して電源ノイズの発生を抑制することができる。さらに、図２から図１０に示す実施形態では、電流算出部ＣＡＬにより、各機能ブロック部ＦＢＬＫの動作状態を示す動作状態情報ＯＰＳＴに基づいて、各機能ブロック部ＦＢＬＫが消費する電流を求めることができる。すなわち、半導体装置ＳＥＭ１は、電流を検出する電流センサ等を搭載することなく、各機能ブロック部ＦＢＬＫが消費する電流を求めることができる。
【００７０】
また、チェーン制御回路ＣＣＮＴ１は、ノイズ対策モードを完了する時期を、カウンタＣＯＵＮＴが図３の太線で接続されたスキャンフリップフロップＳＦＦの数（＝１６）のカウントを完了する時期に合わせる。このため、動作制御部ＯＣＮＴからのノイズ対策信号ＮＲの出力期間に拘わらず、ノイズ対策モードの完了時に、スキャンフリップフロップＳＦＦに保持された論理を元の論理に戻すことができる。この結果、ノイズ対策モードからの復帰後に、機能ブロック部ＦＢＬＫが誤動作することを抑止することができる。
【００７１】
図１１は、半導体装置および半導体装置の制御方法の別の実施形態における機能ブロック部ＦＢＬＫ１ａの例を示す。半導体装置は、図２に示す機能ブロック部ＦＢＬＫ１の代わりに機能ブロック部ＦＢＬＫ１ａを有する。また、図２に示す機能ブロック部ＦＢＬＫ３、ＦＢＬＫｎは、図１１に示す機能ブロック部ＦＢＬＫ１ａと同様の構成を有し、ノイズ対策信号ＮＲ１の代わりにノイズ対策信号ＮＲ３、ＮＲｎを受ける。半導体装置のその他の構成は、図２と同様である。すなわち、図１１に示す機能ブロック部ＦＢＬＫ１ａを含む半導体装置の動作制御部の動作は、図８と同様であり、ノイズ対策モード中の電源電流の変化は、図９と同様である。
【００７２】
図１１に示す機能ブロック部ＦＢＬＫ１ａでは、太線が接続されたスキャンフリップフロップは、図３に示すスキャンフリップフロップＳＦＦでなく、リテンションフリップフロップＲＳＦＦである。リテンションフリップフロップＲＳＦＦは、ラッチ部ＬＴ１（図１２）に保持している論理をセーブ信号ＳＶに基づいて待避するシャドーラッチ部ＳＬＴ（図１２）を有する。シャドーラッチ部ＳＬＴに待避された論理は、リストア信号ＲＳに基づいて、ラッチ部ＬＴ１に復帰可能である。
【００７３】
チェーン制御回路ＣＣＮＴ２は、図３に示すチェーン制御回路ＣＣＮＴ１にセーブ信号ＳＶおよびリストア信号ＲＳを生成する機能を追加している。チェーン制御回路ＣＣＮＴ２の例は、図１３に示し、チェーン制御回路ＣＣＮＴ２の動作の例は、図１４に示す。機能ブロック部ＦＢＬＫ１ａのその他の構成は、図３に示す機能ブロック部ＦＢＬＫ１と同様である。
【００７４】
機能ブロック部ＦＢＬＫ１ａは、ノイズ対策モードに移行する前にセーブ信号ＳＶに基づいてシャドーラッチ部ＳＬＴに論理を待避する。また、機能ブロック部ＦＢＬＫ１ａは、ノイズ対策モードから通常モードに復帰後にリストア信号ＲＳに基づいてシャドーラッチ部ＳＬＴからラッチ部ＬＴ１に論理を戻す。これにより、太線で示す信号線を介してノイズ対策モード中に論理を巡回させたクロックサイクル数に拘わりなく、ノイズ対策モード後に、リテンションフリップフロップＲＳＦＦを元の状態に戻すことができる。換言すれば、ノイズ対策モードの期間を任意のクロックサイクル数に設定することができ、ノイズ対策モード中に消費する電流を図３に示すスキャンフリップフロップＳＦＦに比べて細かく設定することができる。
【００７５】
図１２は、図１１に示すリテンションフリップフロップＲＳＦＦの例を示す。リテンションフリップフロップＲＳＦＦは、図７に示すスキャンフリップフロップＳＦＦにスイッチＳＷ２およびシャドーラッチ部ＳＬＴを追加している。
【００７６】
スイッチＳＷ２は、セーブ信号ＳＶおよびリストア信号ＲＳのオア論理であるセーブリストア信号ＳＶＲＳに基づいてラッチ部ＬＴ１の記憶ノードとシャドーラッチ部ＳＬＴとを接続する。スイッチＳＷ２は、ラッチ部ＬＴ１とシャドーラッチ部ＳＬＴとの間でデータを転送する転送部の一例である。
【００７７】
シャドーラッチ部ＳＬＴは、入力と出力とが互いに接続された一対のインバータＩＶ１、ＩＶ２と、セーブ信号ＳＶの出力中にインバータＩＶ２からインバータＩＶ１への帰還経路を遮断するスイッチＳＷ３とを有する。スイッチＳＷ３により、ラッチ部ＬＴ１からシャドーラッチ部ＳＬＴに論理を待避する場合に、ラッチ部ＬＴ１からの論理とインバータＩＶ２から出力される論理とが衝突することが防止される。
【００７８】
図１３は、図１１に示すチェーン制御回路ＣＣＮＴ２の例を示す。図１３は、図１１の機能ブロック部ＦＢＬＫ１ａに搭載されるチェーン制御回路ＣＣＮＴ２の例を示す。図２の機能ブロック部ＦＢＬＫ３、ＦＢＬＫｎに搭載されるチェーン制御回路ＣＣＮＴ２は、ノイズ対策信号ＮＲ１をノイズ対策信号ＮＲ３またはノイズ対策信号ＮＲｎに置き換えることで実現される。
【００７９】
チェーン制御回路ＣＣＮＴ２は、フリップフロップＦＦａ、ＦＦｂ、ＦＦｃ、ゲートクロックバッファＧＣＢ２および種々の論理ゲートを有する。フリップフロップＦＦａ、ＦＦｂ、ＦＦｃは直列に接続されており、フリップフロップＦＦａのデータ入力端子Ｄは、ノイズ対策信号ＮＲ１を受ける。セーブ信号ＳＶ、ノイズ対策信号ＮＲ１ａおよびリストア信号ＲＳは、フリップフロップＦＦａ、ＦＦｂ、ＦＦｃのうち、２つの出力端子Ｑから出力される論理を用いて生成される。
【００８０】
図１４は、図１３に示すチェーン制御回路ＣＣＮＴ２の動作の例を示す。チェーン制御回路ＣＣＮＴ２は、ノイズ対策信号ＮＲ１がハイレベルに変化した後、ノイズ対策信号ＮＲ１ａがハイレベルに変化する前に、セーブ信号ＳＶを出力する（図１４（ａ））。これにより、リテンションフリップフロップＲＳＦＦをスキャン動作させるクロックＣＫ１が生成される前に、リテンションフリップフロップＲＳＦＦのラッチ部ＬＴ１に保持された論理がシャドーラッチ部ＳＬＴに退避される。
【００８１】
また、チェーン制御回路ＣＣＮＴ２は、ノイズ対策信号ＮＲ１ａがロウレベルに変化し、クロックＣＫ１の生成が停止された後、ロウレベルＬのリストア信号ＲＳをハイレベルに変化させる（図１４（ｂ））。これにより、ノイズ対策モードの終了後に、シャドーラッチ部ＳＬＴに待避されていた論理がラッチ部ＬＴ１に戻され、リテンションフリップフロップＲＳＦＦに保持される論理は、ノイズ対策モード前の値に戻される。
【００８２】
以上、図１１から図１４に示す実施形態においても、図１から図１０に示す実施形態と同様に、半導体装置の機能を実現するために使用されるリテンションフリップフロップＲＳＦＦを利用して電源ノイズの発生を抑制することができる。さらに、図１１から図１４に示す実施形態では、半導体装置は、リテンションフリップフロップＲＳＦＦを有する機能ブロック部ＦＢＬＫ１ａと、セーブ信号ＳＶおよびリストア信号ＲＳを生成するチェーン制御回路ＣＣＮＴ２とを有する。これにより、ノイズ対策モード中に動作する機能ブロック部ＦＢＬＫ１ａのスキャン動作の期間を、任意のクロックサイクル数に設定することができる。この結果、ノイズ対策モード中に消費する電流を図３に示すスキャンフリップフロップＳＦＦに比べて細かく設定することができる。
【００８３】
図１５は、半導体装置および半導体装置の制御方法の別の実施形態における機能ブロック部ＦＢＬＫ１ｂの例を示す。半導体装置は、図２に示す機能ブロック部ＦＢＬＫ１の代わりに機能ブロック部ＦＢＬＫ１ｂを有する。また、図２に示す機能ブロック部ＦＢＬＫ３、ＦＢＬＫｎは、図１５に示す機能ブロック部ＦＢＬＫ１ｂと同様の構成を有し、ノイズ対策信号ＮＲ１の代わりにノイズ対策信号ＮＲ３、ＮＲｎを受ける。半導体装置のその他の構成は、図２と同様である。すなわち、図１５に示す機能ブロック部ＦＢＬＫ１ｂを含む半導体装置の動作制御部は、図８と同様に動作し、ノイズ対策モード中の電源電流の変化は、図９と同様である。
【００８４】
図１５に示す機能ブロック部ＦＢＬＫ１ｂは、ノイズ対策モード中にセレクタＳＥＬに直列の論理パターンＰＴを供給するパターン生成器ＰＧＥＮを有する。論理パターンＰＴは、セレクタＳＥＬにおいて”１”を付した入力端子に供給され、ノイズ対策信号ＮＲ１がハイレベルに設定されるノイズ対策モード中に太線で示す経路を通ってリテンションフリップフロップＲＳＦＦに順次に転送される。
【００８５】
例えば、パターン生成器ＰＧＥＮは、論理１、論理０を繰り返す論理パターンＰＴを生成する。これにより、各リテンションフリップフロップＲＳＦＦは、ノイズ対策モード中に論理１、論理０を交互に保持することができ、同じ論理を保持し続ける場合に比べて、機能ブロック部ＦＢＬＫ１ｂの消費電流を増やすことができる。
【００８６】
機能ブロック部ＦＢＬＫ１ｂのその他の構成は、図１１に示す機能ブロック部ＦＢＬＫ１ａと同様である。なお、パターン生成器ＰＧＥＮは、ノイズ対策信号ＮＲ１のハイレベル期間に論理パターンＰＴを生成するが、ノイズ対策信号ＮＲ１ａのハイレベル期間に論理パターンＰＴを生成してもよい。機能ブロック部ＦＢＬＫ１ｂにおけるノイズ対策モード中の動作は、図１４と同様である。
【００８７】
以上、図１５に示す実施形態においても、図１から図１０に示す実施形態と同様に、半導体装置の機能を実現するために使用されるリテンションフリップフロップＲＳＦＦを利用して電源ノイズの発生を抑制することができる。さらに、図１１から図１４に示す実施形態と同様に、ノイズ対策モード中に動作する機能ブロック部ＦＢＬＫ１ｂのスキャン動作の期間を、任意のクロックサイクル数に設定することができる。
【００８８】
さらに、図１５に示す実施形態では、パターン生成器ＰＧＥＮが生成する論理パターンＰＴをリテンションフリップフロップＲＳＦＦに与えることで、同じ論理を保持し続ける場合に比べて、機能ブロック部ＦＢＬＫ１ｂの消費電流を増やすことができる。これにより、ノイズ対策モード中における電流の消費効率を向上することができるため、ノイズ対策モード中に動作させるリテンションフリップフロップＲＳＦＦの数または機能ブロック部ＦＢＬＫ１の数を削減することが可能になる。
【００８９】
図１６は、半導体装置および半導体装置の制御方法の別の実施形態を示す。図２に示す要素と同一または同様の要素については、同じ符号を付し、詳細な説明は省略する。図１６に示す半導体装置ＳＥＭ２は、図２に示す半導体装置ＳＥＭ１に温度センサＴＳＮＳを追加している。温度センサＴＳＮＳは、半導体装置ＳＥＭ２のチップ温度を測定し、測定した温度を示す温度情報ＴＩＮＦを電流予測部ＩＦＵ１の電流算出部ＣＡＬに出力する。温度センサＴＳＮＳは、温度測定部の一例である。
【００９０】
電流算出部ＣＡＬは、温度情報ＴＩＮＦに基づいて、半導体装置ＳＥＭ２に流れるリーク電流を推測するとともに、動作状態情報ＯＰＳＴから求められる各機能ブロック部ＦＢＬＫの消費電流（動作電流）の補正係数を求める。そして、電流算出部ＣＡＬは、推定したリーク電流と求めた補正係数を用いて、求めた電流情報ＩＣ（ＩＣ１、ＩＣ２、ＩＣ３、...、ＩＣｎ）を補正する。
【００９１】
電流合計部ＳＵＭは、補正された電流情報ＩＣの合計ＩＳＵＭを求め、レジスタＲＥＧ１に格納する。電流情報生成部ＩＩＮＦＧは、レジスタＲＥＧ１に格納された電流値の合計ＩＳＵＭに基づいて、電源電流の変化の傾向を求め、電源電流の変動量の予測を含む電流情報ＩＩＮＦを出力する。電流情報ＩＩＮＦは、温度に応じて補正された電流情報ＩＣに基づいて生成される。すなわち、電流予測部ＩＦＵ１は、温度センサＴＳＮＳが測定した温度に基づいて変動量ＩＩＮＦを補正する。これにより、電流算出部ＣＡＬが動作状態情報ＯＰＳＴに基づいて電流情報ＩＣを求める場合にも、各機能ブロック部ＦＢＬＫが実際に消費する電流を示す電流情報ＩＣに補正することができる。
【００９２】
以上、図１６に示す実施形態においても、図１から図１０に示す実施形態と同様に、半導体装置ＳＥＭ２の機能を実現するために使用されるスキャンフリップフロップＳＦＦを利用して電源ノイズの発生を抑制することができる。さらに、図１６に示す実施形態では、電流算出部ＣＡＬが、チップ温度を示す温度情報ＴＩＮＦを用いて電流情報ＩＣを補正するため、電流情報生成部ＩＩＮＦＧは、温度に依存して変化する電源電流に合わせて、電流情報ＩＩＮＦを生成することができる。この結果、温度情報ＴＩＮＦを用いない場合に比べて、電流情報ＩＩＮＦの精度を高くすることができ、ノイズ対策モード中の電源電流の波形を理想的な波形に近づけることが可能になる。
【００９３】
なお、温度センサＴＳＮＳが出力する温度情報ＴＩＮＦは、電流算出部ＣＡＬでなく、電流情報生成部ＩＩＮＦＧに出力されてもよい。この場合、電流情報生成部ＩＩＮＦＧが温度情報ＴＩＮＦに基づいて、電流情報ＩＩＮＦに含まれる電源電流の変動量を補正する。また、複数の温度センサＴＳＮＳが、半導体装置ＳＥＭ２に搭載されてもよい。さらに、図１１に示す機能ブロック部ＦＢＬＫ１ａを有する半導体装置または図１５に示す機能ブロック部ＦＢＬＫ１ｂを有する半導体装置に、温度センサＴＳＮＳが搭載されてもよい。
【００９４】
図１７は、半導体装置および半導体装置の制御方法の別の実施形態を示す。図２に示す要素と同一または同様の要素については、同じ符号を付し、詳細な説明は省略する。図１７に示す半導体装置ＳＥＭ３は、図２に示す電流予測部ＩＦＵ１の代わりに電流予測部ＩＦＵ２を有する。また、半導体装置ＳＥＭ３は、半導体装置ＳＥＭ３内の所定の回路領域で消費される電流を測定するｍ個の電流センサＩＳＮＳ（ＩＳＮＳ１、ＩＳＮＳ２、ＩＳＮＳ３、...、ＩＳＮＳｍ）を有する。電流センサＩＳＮＳは、電流測定部の一例である。
【００９５】
電流予測部ＩＦＵ２は、電流算出部ＣＡＬを持たないことを除き、図２に示す電流予測部ＩＦＵ１と同様である。電流予測部ＩＦＵ２の電流合計部ＳＵＭは、電流センサＩＳＮＳが測定した電流を示す電流情報ＩＣ（ＩＣ１、ＩＣ２、ＩＣ３、...、ＩＣｍ）の合計ＩＳＵＭを求め、レジスタＲＥＧ１に格納する。電流情報生成部ＩＩＮＦＧは、レジスタＲＥＧ１に格納された電流値の合計ＩＳＵＭに基づいて、電源電流の変化の傾向を求め、電源電流の変動量の予測を含む電流情報ＩＩＮＦとして出力する。すなわち、電流予測部ＩＦＵ２は、複数の電流センサＩＳＮＳ１−ＩＳＮＳｍが測定する電流に基づいて電流値の変動量を予測し、電流情報ＩＩＮＦとして出力する。
【００９６】
半導体装置ＳＥＭ３の動作は、図２に示す半導体装置ＳＥＭ１の動作と同様である。すなわち、機能ブロック部ＦＢＬＫ１、ＦＢＬＫ３、ＦＢＬＫｎが有するチェーン制御回路ＣＣＮＴ１の動作は、図５と同様であり、動作制御部ＯＣＮＴの動作は、図８と同様であり、ノイズ対策モード中の電源電流の変化は、図９と同様である。
【００９７】
電流情報生成部ＩＩＮＦＧは、電流センサＩＳＮＳが測定した電流に基づいて電流情報ＩＩＮＦを生成するため、電流算出部ＣＡＬ（図２）が動作状態情報ＯＰＳＴに基づいて電流を算出する場合に比べて、電流情報ＩＩＮＦの精度を高くすることができる。また、電流を算出することなく電流情報ＩＩＮＦを生成できるため、電流情報ＩＩＮＦを生成するまでの時間を、半導体装置ＳＥＭ１に比べて短縮することができる。この結果、ノイズ対策モード中の電源電流の波形を、電源ノイズの発生を抑制可能な理想的な波形に近づけることが可能になる。
【００９８】
以上、図１７に示す実施形態においても、図１から図１０に示す実施形態と同様に、半導体装置ＳＥＭ３の機能を実現するために使用されるスキャンフリップフロップＳＦＦを利用して電源ノイズの発生を抑制することができる。さらに、図１７に示す実施形態では、図２に示す半導体装置ＳＥＭ１に比べて、電流情報ＩＩＮＦの精度を高くすることができ、電流情報ＩＩＮＦを生成するまでの時間を短縮でき、ノイズ対策モード中の電源電流の波形を理想的な波形に近づけることが可能になる。
【００９９】
なお、図１１に示す機能ブロック部ＦＢＬＫ１ａを有する半導体装置または図１５に示す機能ブロック部ＦＢＬＫ１ｂを有する半導体装置に、電流センサＩＳＮＳが搭載されてもよい。さらに、図１１に示す機能ブロック部ＦＢＬＫ１ａを有する半導体装置または図１５に示す機能ブロック部ＦＢＬＫ１ｂを有する半導体装置に、電流センサＩＳＮＳと温度センサＴＳＮＳとが搭載されてもよい。電流センサＩＳＮＳと温度センサＴＳＮＳとの両方が半導体装置に搭載される場合、各機能ブロック部ＦＢＬＫの動作電流は、電流センサＩＳＮＳにより計測される。このため、電流計算部ＣＡＬは、各機能ブロック部ＦＢＬＫの動作電流を補正せず、温度に依存するリーク電流を補正する。
【０１００】
また、図１７に示す半導体装置ＳＥＭ３に、図１６に示す温度センサＴＳＮＳが搭載されてもよい。この場合、温度センサＴＳＮＳが出力する温度情報ＴＩＮＦは、電流合計部ＳＵＭまたは電流情報生成部ＩＩＮＦＧに出力され、温度に依存するリーク電流に応じた電流値の補正に使用される。
【０１０１】
図１８は、半導体装置および半導体装置の制御方法の別の実施形態を示す。図２に示す要素と同一または同様の要素については、同じ符号を付し、詳細な説明は省略する。図１８に示す半導体装置ＳＥＭ４は、ＣＰＵ等のプロセッサであり、図２に示す機能ブロック部ＦＢＬＫの代わりにコアＣＯＲＥを有する。電流予測部ＩＦＵ１および動作制御部ＯＣＮＴは、図２に示す動作状態情報ＯＰＳＴの代わりに、コアＣＯＲＥから命令情報ＩＮＳＩＮＦを受けて動作する。電流予測部ＩＦＵ１および動作制御部ＯＣＮＴは、命令情報ＩＮＳＩＮＦを受けて動作することを除き、図２に示す電流予測部ＩＦＵ１および動作制御部ＯＣＮＴと同様である。
【０１０２】
コアＣＯＲＥは、命令レジスタＩＲＥＧ、デコーダＤＥＣおよび演算部ＯＰＵを有する。命令レジスタＩＲＥＧは、コアＣＯＲＥが実行する命令コードＩＮＳを保持する。デコーダＤＥＣは、命令レジスタＩＲＥＧに保持された命令コードＩＮＳをデコードし、コアＣＯＲＥを動作させるための制御信号ＣＮＴを出力するととともに、デコードした命令コードＩＮＳを示す命令情報ＩＮＳＩＮＦを出力する。
【０１０３】
演算部ＯＰＵは、浮動小数点演算器、固定小数点演算器等のｉ個の演算器ＥＸ（ＥＸ１、ＥＸ２、ＥＸ３、...、ＥＸｉ）を有する。各演算器ＥＸは、試験時に直列に接続される複数のスキャンフリップフロップＳＦＦを有する。また、演算器ＥＸ１、ＥＸ３、ＥＸｉは、チェーン制御回路ＣＣＮＴ１を有する。演算器ＥＸ１、ＥＸ３、ＥＸｉは、図３と同様の構成を有し、演算器ＥＸ２は、図６と同様の構成を有する。各演算器ＥＸは、機能ブロック部の一例である。
【０１０４】
電流予測部ＩＦＵ１の電流算出部ＣＡＬは、命令情報ＩＮＳＩＮＦに基づいて、デコーダＤＥＣによりデコードされた命令コードＩＮＳを演算部ＯＰＵが実行する場合の電流を演算器ＥＸ毎に求め、電流情報ＩＣ（ＩＣ１、ＩＣ２、ＩＣ３、...、ＩＣｉ）として出力する。なお、デコーダＤＥＣは、演算部ＯＰＵが命令コードＩＮＳを実行する前に、命令情報ＩＮＳＩＮＦを出力する。電流算出部ＣＡＬを除く電流予測部ＩＦＵ１の動作は、図２の電流予測部ＩＦＵ１の動作と同様である。すなわち、電流予測部ＩＦＵ１は、デコーダＤＥＣがデコードする命令コードＩＮＳに基づいて、電源電流の変動量を予測し、電流情報ＩＩＮＦとして出力する。
【０１０５】
動作制御部ＯＣＮＴは、可否情報と電流情報とを演算器ＥＸ毎に保持する領域をレジスタＲＥＧ２が有することを除き、図２に示す動作制御部ＯＣＮＴと同様である。動作制御部ＯＣＮＴは、命令情報ＩＮＳＩＮＦに基づいて、動作が停止している演算器ＥＸである非動作機能ブロック部を検出し、ノイズ対策モードに移行させる演算器ＥＸを、動作を停止している演算器ＥＸの中から選択する。そして、動作制御部ＯＣＮＴは、選択した演算器ＥＸに対応するノイズ対策信号ＮＲ（ＮＲ１、ＮＲ３、ＮＲｉ）を出力する。
【０１０６】
半導体装置ＳＥＭ４において、チェーン制御回路ＣＣＮＴ１の動作は、図５と同様であり、動作制御部ＯＣＮＴの動作は、図８と同様であり、ノイズ対策モード中の電源電流の変化は、図９と同様である。
【０１０７】
以上、図１８に示す実施形態においても、図１から図１０に示す実施形態と同様に、動作していない演算器ＥＸのスキャンフリップフロップＳＦＦをスキャン動作させる。これにより、半導体装置ＳＥＭ４の機能を実現するために使用されるスキャンフリップフロップＳＦＦを利用して電源ノイズの発生を抑制することができる。
【０１０８】
なお、演算器ＥＸは、スキャンフリップフロップＳＦＦの代わりに、図１１に示すリテンションフリップフロップＲＳＦＦを有してもよい。この場合、演算器ＥＸは、図１５に示すパターン生成器ＰＧＥＮを有してもよい。また、半導体装置ＳＥＭ４は、図１６に示す温度センサＴＳＮＳを有してもよく、図１７に示す電流センサＩＳＮＳを有してもよい。さらに、半導体装置ＳＥＭ４が、ＳｏＣの形態を有し、コアＣＯＲＥと機能ブロック部ＦＢＬＫとを有する場合、電流算出部ＣＡＬは、コアＣＯＲＥからの命令情報ＩＮＳＩＮＦと、機能ブロック部ＦＢＬＫからの動作状態情報ＯＰＳＴとを受けてもよい。この場合、電流予測部ＩＦＵ１は、命令情報ＩＮＳＩＮＦと動作状態情報ＯＰＳＴとに基づいて、電流情報ＩＩＮＦを生成する。動作制御部ＯＣＮＴは、電流情報ＩＩＮＦに基づいて、チェーン制御回路ＣＣＮＴ１を有する演算器ＥＸまたは機能ブロック部ＦＢＬＫの少なくともいずれかにノイズ対策信号ＮＲを出力する。
【０１０９】
以上の実施形態において説明した発明を整理して、付記として開示する。
（付記１）
複数のラッチ回路をそれぞれ含む複数の機能ブロック部と、
前記複数の機能ブロック部がそれぞれ消費する電流の変動量を予測する電流予測部と、
前記電流予測部が予測した各変動量のいずれかが閾値を超える場合、前記複数の機能ブロック部のうち、動作を停止していた機能ブロック部のうち、所定数の対象機能ブロック部に含まれる複数のラッチ回路を所定期間動作させる動作制御部と、
前記所定期間の経過後、前記所定数の対象機能ブロック部に含まれる複数のラッチ回路が保持する情報を、前記所定期間動作させる前の情報に復帰させる復帰制御部を有することを特徴とする半導体装置。
（付記２）
前記復帰制御部は、
前記電流予測部が予測した各変動量のいずれかが前記閾値を超える場合、前記複数のラッチ回路を環状に接続する接続部を有し、
前記所定期間は、
前記環状に接続された複数のラッチ回路に保持される情報が、前記所定期間動作させる前の情報に戻るまでの周期に基づいて設定されることを特徴とする請求項１記載の半導体装置。
（付記３）
前記動作制御部は、
各変動量のいずれかが前記閾値を超えた場合、前記環状に接続された複数のラッチ回路の数を計数する計数部を有し、
前記所定期間の終了時期は、
前記計数部が前記環状に接続された複数のラッチ回路の数を計数し終える時期に設定されることを特徴とする請求項２記載の半導体装置。
（付記４）
前記複数のラッチ回路は、
前記機能ブロック部のそれぞれの機能を実現する通常モード中にデータを保持し、前記複数の機能ブロック部のそれぞれを試験する試験モード中に試験パターンを保持する第１のラッチ部と、
前記第１のラッチ部に保持されたデータが退避される第２のラッチ部と、
前記第１のラッチ部と前記第２のラッチ部との間でデータを転送する転送部を含み、
直列に接続されたリテンションフリップフロップであり、
前記復帰制御部は、
前記複数のラッチ回路が前記所定期間動作する前に、前記第１のラッチ部に保持されたデータを前記第２のラッチ部に退避させ、前記所定時間後に、前記第２のラッチ部に退避されたデータを前記第１のラッチ部に戻すことを特徴とする付記１記載の半導体装置。
（付記５）
前記所定期間中に前記複数のラッチ回路に入力するパターンを生成するパターン生成部を有することを特徴とする付記４記載の半導体装置。
（付記６）
前記電流予測部は、
前記複数の機能ブロック部のそれぞれの動作状態を示す情報に基づいて、前記複数の機能ブロック部のそれぞれが消費する電流を求める電流算出部を有し、
前記電流予測部は、
前記電流算出部が求めた電流に基づいて前記変動量を予測することを特徴とする付記１ないし付記５のいずれか１項記載の半導体装置。
（付記７）
前記複数の機能ブロック部が消費する電流を測定する複数の電流測定部を有し、
前記電流予測部は、
前記複数の電流測定部が測定する電流に基づいて前記変動量を予測することを特徴とする付記１ないし付記５のいずれか１項記載の半導体装置。
（付記８）
演算を実行する複数の演算器と、
前記演算器が実行する命令を示す命令コードをデコードするデコーダを有し、
前記複数の機能ブロック部は、前記複数の演算器であり、
前記電流予測部は、
前記デコーダがデコードする命令コードに基づいて、前記変動量を予測し、
前記動作制御部は、
前記デコーダがデコードする命令コードに基づいて、前記対象機能ブロック部を検出することを特徴とする付記１ないし付記５のいずれか１項記載の半導体装置。
（付記９）
前記半導体装置の温度を測定する温度測定部を有し、
前記電流予測部は、
前記温度測定部が測定した温度に基づいて前記変動量を補正することを特徴とする付記１ないし付記８のいずれか１項記載の半導体装置。
（付記１０）
前記複数のラッチ回路は、前記機能ブロック部のそれぞれの機能を実現する通常モード中にデータを保持し、前記複数の機能ブロック部のそれぞれを試験する試験モード中に試験パターンを保持するラッチ部を含むスキャンフリップフロップであることを特徴とする付記１ないし付記３、付記６ないし付記９のいずれか１項記載の半導体装置。
（付記１１）
複数のラッチ回路をそれぞれ含む複数の機能ブロック部を有する半導体装置の制御方法において、
前記半導体装置が有する電流予測部が、前記複数の機能ブロック部が消費する電流の変動量をそれぞれ予測し、
前記半導体装置が有する動作制御部が、前記電流予測部が予測した各変動量のいずれかが閾値を超える場合、前記複数の機能ブロック部のうち、動作を停止していた機能ブロック部のうち、所定数の対象機能ブロック部に含まれる複数のラッチ回路を所定期間動作させ、
前記半導体装置が有する復帰制御部が、前記所定期間の経過後、前記所定数の対象機能ブロック部に含まれる複数のラッチ回路が保持する情報を、前記所定期間動作させる前の情報に復帰させることを特徴とする半導体装置の制御方法。
【０１１０】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【０１１１】
１０ａ、１０ｂ、１０ｃ…機能ブロック部；２０…電流予測部；３０…動作制御部；４０…復帰制御部；ＣＡＬ…電流算出部；ＣＣ…組み合わせ回路；ＣＣＮＴ１、ＣＣＮＴ２…チェーン制御回路；ＣＭＰ…比較器；ＣＯＲＥ…コア；ＣＯＵＮＴ…カウンタ；ＤＥＣ…デコーダ；ＥＸ…演算器；ＦＢＬＫ、ＦＢＬＫ１、ＦＢＬＫ１ａ、ＦＢＬＫ１ｂ…機能ブロック部；ＧＣＢ、ＧＣＢ１、ＧＣＢ２…ゲートクロックバッファ；ＩＣ…電流情報；ＩＦＵ１…電流予測部；ＩＩＮＦＧ…電流情報生成部；ＩＭＡＸ、ＩＭＩＮ…レジスタ；ＩＮＳＩＮＦ…命令情報；ＩＲＥＦ…レジスタ；ＩＲＥＧ…命令レジスタ；ＩＳＮＳ…電流センサ；ＩＳＵＭ…合計；ＬＴ…ラッチ回路；ＬＴ１…ラッチ部；ＮＲ、ＮＲ１、ＮＲ１ａ…ノイズ対策信号；ＯＣＮＴ…動作制御部；ＯＰＳＴ…動作状態情報；ＯＰＵ…演算部；ＰＧＥＮ…パターン生成器；ＰＴ…論理パターン；ＲＥＤＥＴ…エッジ検出回路；ＲＥＧ１、ＲＥＧ２…レジスタ；ＲＲＥＧ…レジスタ；ＲＳＦＦ…リテンションフリップフロップ；ＳＥＬ…セレクタ；ＳＥＭ０、ＳＥＭ１、ＳＥＭ２、ＳＥＭ３、ＳＥＭ４…半導体装置；ＳＦＦ…スキャンフリップフロップ；ＳＬＴ…シャドーラッチ部；ＳＵＭ…電流合計部；ＳＷ１…切り替え部；ＳＷ２、ＳＷ３…スイッチ；ＴＳＮＳ…温度センサ
【図１】
0006323267.tif 000002
【図２】
0006323267.tif 000003
【図３】
0006323267.tif 000004
【図４】
0006323267.tif 000005
【図５】
0006323267.tif 000006
【図６】
0006323267.tif 000007
【図７】
0006323267.tif 000008
【図８】
0006323267.tif 000009
【図９】
0006323267.tif 000010
【図１０】
0006323267.tif 000011
【図１１】
0006323267.tif 000012
【図１２】
0006323267.tif 000013
【図１３】
0006323267.tif 000014
【図１４】
0006323267.tif 000015
【図１５】
0006323267.tif 000016
【図１６】
0006323267.tif 000017
【図１７】
0006323267.tif 000018
【図１８】
0006323267.tif 000019