(57)【特許請求の範囲】
【請求項１】
第１フリップフロップ、第２フリップフロップ及び第１組合せ回路を有する第１機能ブロックと、第３フリップフロップ、第４フリップフロップ及び第２組合せ回路を有する第２機能ブロックとを有する第１電源ブロックと、
前記第１フリップフロップ及び前記第２フリップフロップを含む第１スキャンチェインと、
前記第３フリップフロップ及び前記第４フリップフロップを含む第２スキャンチェインとを有し、
前記第１電源ブロックへの電源を遮断する第１モードと、
前記第1フリップフロップの前段の回路及び前記第２フリップフロップの前段の回路に依存しない第１ベクタを前記第１スキャンチェインを介して前記第１組合せ回路に入力しその後前記第１機能ブロックに入力される第１クロック信号の遮断を行う第２モードと、前記第１ベクタの入力を行わず前記第１クロック信号の遮断のみを行う第３モードのいずれかに設定可能であることを特徴とする半導体集積回路装置。
【請求項２】
請求項１記載の半導体集積回路装置において、
前記第１ベクタを入力するか入力しないかを設定するための第１ビットを有する第１レジスタと、
前記第１クロック信号を入力するか入力しないかを設定するための第２ビットを有する第２レジスタをさらに有し、
前記第１ビットを前記第１ベクタを入力することを示す値に設定した場合、その後前記第２ビットを前記第１クロック信号を入力する値に設定することを特徴とする半導体集積回路装置。
【請求項３】
請求項１記載の半導体集積回路装置において、
前記第3フリップフロップの前段の回路及び前記第4フリップフロップの前段の回路に依存しない第２ベクタを前記第２組合せ回路に入力するか入力しないかを設定するための第１ビットと、前記第１クロック信号を入力するか入力しないかを設定するための第２ビットとを有する第２レジスタをさらに有することを特徴とする半導体集積回路装置。
【請求項４】
請求項２記載の半導体集積回路装置において、
クロック制御部をさらに有し、
前記第２レジスタは、前記第１クロック信号の入力についての設定が変更されたことを示す第３ビットをさらに有し、
前記第３ビットが前記変更がなされたことを示す値に設定された場合に、前記クロック制御部が前記第１クロック信号の入力の遮断を行うことを特徴とする半導体集積回路装置。
【請求項５】
請求項４記載の半導体集積回路装置において、
ベクタ供給部をさらに有し、
前記第３ビットが前記変更がなされたことを示す値に設定された場合、前記クロック制御部が前記第１ベクタを入力可能とするための第１信号を前記第１機能ブロックに入力し、その後前記ベクタ供給部が前記第１ベクタを前記第１スキャンチェインを介して前記第１機能ブロックに入力し、前記第１ベクタの入力の終了後前記クロック制御部が前記第１クロック信号の入力を遮断することにより前記第２モードに遷移することを特徴とする半導体集積回路装置。
【請求項６】
請求項４記載の半導体集積回路装置において、
前記第３ビットが前記変更がなされたことを示す値に設定された場合、前記クロック制御部が前記第１クロック信号の入力を遮断することにより前記第３モードに遷移することを特徴とする半導体集積回路装置。
【請求項７】
請求項４記載の半導体集積回路装置において、
前記第２モード又は前記第３モードのいずれかを終了する場合は、前記第２ビットが前記第１クロック信号を入力することを示す値に設定されることを特徴とする半導体集積回路装置。
【請求項８】
請求項７記載の半導体集積回路装置において、
前記第２モード又は前記第３モードを終了する際に、前記第２ビットが前記第１クロック信号を入力することを示す値に設定された場合は、前記クロック制御部が前記第１クロック信号の供給を行うことを特徴とする半導体装置。
【請求項９】
第１フリップフロップ、第２フリップフロップ及び第１組合せ回路を有する第１機能ブロックと、第３フリップフロップ、第４フリップフロップ及び第２組合せ回路を有する第２機能ブロックとを有する第１電源ブロックと、
前記第１電源ブロックへ電源を供給するための第１スイッチと、
前記第１スイッチを制御するための第１レジスタと、
前記第１機能ブロックに対して第１クロック信号を入力するかしないかを設定するための第１ビットと、前記第２機能ブロックに対して第２クロック信号を入力するか入力しないかを設定するための第２ビットとを有する第２レジスタと、
前記第１フリップフロップ及び前記第２フリップフロップを含む第１スキャンチェインと、
前記第３フリップフロップ及び前記第４フリップフロップを含む第２スキャンチェインと、
前記第１フリップフロップの前段の回路及び前記第２フリップフロップの前段の回路に依存しない第１ベクタを前記第１スキャンチェインを介して前記第１組合せ回路に入力するか入力しないかを設定するための第３ビットと、前記第３フリップフロップの前段の回路及び前記第４フリップフロップの前段の回路に依存しない第２ベクタを前記第２スキャンチェインを介して前記第２組合せ回路に入力するか入力しないかを設定の入力の可否を制御するための第４ビットとを有する第３レジスタとを有することを特徴とする半導体集積回路装置。
【請求項１０】
請求項９記載の半導体集積回路装置において、
前記第２レジスタは、前記第１ビット又は前記第２ビットの一方若しくは前記第１ビット及び前記第２ビットの両方の値が変化したかことを示す第５ビットをさらに有することを特徴とする半導体集積回路装置。
【請求項１１】
請求項１０記載の半導体集積回路装置において、
クロック制御部をさらに有し、
前記第５ビットが前記変化をしたことを示す値に設定された際に、前記第１ビットが前記第１クロック信号を遮断することを示す値に設定されている場合は、前記クロック制御部が前記第１クロックの前記第１機能ブロックへの供給を遮断し、
前記第５ビットが前記変化をしたことを示す値に設定された際に、前記第２ビットが前記第２クロック信号を遮断することを示す値に設定されている場合は、前記クロック制御部によって前記第２クロック信号の前記第２機能ブロックへの供給が遮断されることを特徴とする半導体集積回路装置。
【請求項１２】
請求項１０記載の半導体装置において、
クロック制御部と、
ベクタ供給部とをさらに有し、
前記第５ビットが前記変化をしたことを示す値に設定された際に、前記第１ビットが前記第１クロック信号を遮断することを示す値に設定され、かつ前記第３ビットが前記第１ベクタの入力を行うことを示す値に設定されている場合は、前記クロック制御部が前記第１ベクタを入力可能とするための第１信号を前記第１機能ブロックに入力し、その後前記ベクタ供給部が前記第１ベクタを前記第１スキャンチェインを介して前記第１機能ブロックに入力し、その後前記クロック制御部が前記第１クロック信号の入力を遮断し、
前記第５ビットが前記変化をしたことを示す値に設定された際に、前記第２ビットが前記第２クロック信号を遮断することを示す値に設定され、かつ前記第４ビットが前記第２ベクタの入力を行うことを示す値に設定されている場合は、前記クロック制御部が前記第２ベクタを入力可能とするための第２信号を前記第２機能ブロックに入力し、その後前記ベクタ供給部が前記第２ベクタを前記第２スキャンチェインを介して前記第２機能ブロックに入力し、その後前記クロック制御部が前記第２クロック信号の入力を遮断することを特徴とする半導体装置。
【請求項１３】
請求項１０記載の半導体集積回路装置において、
前記第１電源ブロックは、第１バイパス回路、第２バイパス回路及び第３バイパス回路をさらに有し、
前記第１バイパス回路は、入力された信号を前記第１機能ブロック又は前記第２バイパス回路に出力し、
前記第２バイパス回路は、前記第１機能ブロック又は前記第１バイパス回路から入力された信号を前記第２機能ブロック又は前記第３バイパス回路に出力し、
前記第３バイパス回路は、前記第２機能ブロック又は前記第２バイパス回路から入力された信号を前記第１電源ブロックの外部へ出力することを特徴とする半導体集積回路装置。
【請求項１４】
請求項１３記載の半導体集積回路装置において、
前記第３ビットが前記第１ベクタを入力することを示す値に設定されている場合は、前記第１バイパス回路は信号を前記第１機能ブロックへ出力するように設定され、前記第２バイパス回路は前記第１機能ブロックからの信号を入力されるように設定され、前記第１機能ブロックは前記第１ベクタを入力されるように設定され、
前記第３ビットが前記第１ベクタを入力しないことを示す値に設定されている場合は、前記第１バイパス回路は信号を前記第２バイパス回路へ出力するように設定され、前記第２バイパス回路は前記第１バイパス回路からの信号を入力されるように設定され、
前記第４ビットが前記第２ベクタを入力することを示す値に設定されている場合は、前記第２バイパス回路は信号を前記第２機能ブロックへ出力するように設定され、前記第３バイパス回路は前記第２機能ブロックからの信号を入力されるように設定され、前記第２機能ブロックは前記第２ベクタを入力されるように設定され、
前記第４ビットが前記第２ベクタを入力しないことを示す値に設定されている場合は、前記第２バイパス回路は信号を前記第３バイパス回路に出力するように設定され、前記第３バイパス回路は前記第２バイパス回路からの信号を入力されるように設定されることを特徴とする半導体集積回路装置。
【請求項１５】
請求項１０記載の半導体集積回路装置において、
前記第１電源ブロックは、第５フリップフロップ、第６フリップフロップ及び第３組合せ回路を有し、第２クロック信号が入力されるか入力されないかを前記第２ビットにより設定される第３機能ブロックと、
第１バイパス回路、第２バイパス回路及び第３バイパス回路とをさらに有し、
前記第１バイパス回路は、前記第１電源ブロックの外部より入力された信号を前記第１機能ブロック又は前記第２バイパス回路に入力し、
前記第２バイパス回路は、前記第１機能ブロック又は前記第１バイパス回路から入力された信号を前記第２機能ブロック又は前記第３バイパス回路に出力し、
前記第３バイパス回路は、前記第２機能ブロックから前記第３機能ブロックを経由し入力された信号又は前記第２バイパス回路から入力された信号を出力することを特徴とする半導体集積回路装置。
【請求項１６】
請求項１５記載の半導体集積回路装置において、
前記第３ビットが前記第１ベクタを入力することを示す値に設定されている場合は、前記第１バイパス回路は信号を前記第１機能ブロックへ出力するように設定され、前記第２バイパス回路は前記第１機能ブロックからの信号を入力されるように設定され、前記第１機能ブロックは前記第１ベクタを入力されるように設定され、
前記第３ビットが前記第１ベクタを入力しないことを示す値に設定されている場合は、前記第１バイパス回路は信号を前記第２バイパス回路へ出力するように設定され、前記第２バイパス回路は前記第１バイパス回路からの信号を入力されるように設定され、
前記第４ビットが前記第２ベクタを入力することを示す値に設定されている場合は、前記第２バイパス回路は信号を前記第２機能ブロックへ出力するように設定され、前記第３バイパス回路は前記第３機能ブロックからの信号を入力されるように設定され、前記第２機能ブロック及び前記第３機能ブロックは前記第２ベクタを入力されるように設定され、
前記第４ビットが前記第２ベクタを入力しないことを示す値に設定されている場合は、前記第２バイパス回路は信号を前記第３バイパス回路に出力するように設定され、前記第３バイパス回路は前記第２バイパス回路からの信号を入力されるように設定されることを特徴とする半導体集積回路装置。
【請求項１７】
請求項１０記載の半導体集積回路装置において、
前記第１機能ブロックは、第５フリップフロップ、第６フリップフロップ及び第３組合せ回路をさらに有し、
前記第５フリップフロップ、第６フリップフロップを含む第３スキャンチェインをさらに有し、
前記第３レジスタは、３３前記第５フリップフロップの前段の回路及び前記第６フリップフロップの前段の回路に依存しない第３ベクタを前記第３スキャンチェインを介して前記第３組合せ回路に入力するか入力しないかを設定するための第６ビットをさらに有し、
前記第２レジスタは、前記第３機能ブロックに対する第３クロック信号の入力の可否を制御するための第７ビットと、前記第１ビット、前記第２ビット又は前記第７ビットのいずれか一つが変化していることを示す第８ビットとをさらに有することを特徴とする半導体集積回路装置。
【請求項１８】
請求項１０記載の半導体集積回路装置において、
外部より第３信号が入力された場合は、前記第１スキャンチェインを介して前記第１組合せ回路の動作をテストするための第１テスト信号が入力され、前記第２スキャンチェインを介して前記第２組合せ回路の動作をテストするための第２テスト信号が入力されることを特徴とする半導体集積回路装置。
【請求項１９】
第１フリップフロップ、第２フリップフロップ及び第１組合せ回路を有する第１機能ブロックと、第３フリップフロップ、第４フリップフロップ及び第２組合せ回路を有する第２機能ブロックとを有する第１電源ブロックと、
前記第１電源ブロックへの電源供給の可否を設定するための第１スイッチと、
前記第１スイッチを制御するための第１レジスタと、
前記第１フリップフロップ及び前記第２フリップフロップを含む第１スキャンチェインと、
前記第３フリップフロップ及び前記第４フリップフロップを含む第２スキャンチェインと、
前記第１機能ブロックに対して第１クロック信号を入力するか入力しないかを設定するための第１ビットと、前記第２機能ブロックに対する第２クロック信号の入力の可否を制御するための第２ビットと、前記第１フリップフロップの前段の回路及び前記第２フリップフロップの前段の回路に依存せず前記第１スキャンチェインを介して前記第１組合せ回路に入力される第１ベクタ及び前記第３フリップフロップの前段の回路及び前記第４フリップフロップの前段の回路に依存せず前記第２スキャンチェインを介して前記第２組合せ回路に入力される第２ベクタを入力するか入力しないかを設定するための第３ビットとを有する第２レジスタを有することを特徴とする半導体集積回路装置。
【請求項２０】
請求項１９記載の半導体集積回路装置において、
前記第１機能ブロック及び前記第２機能ブロックが動作していないときに、前記第３ビットが前記第１ベクタ及び前記第２ベクタの入力を行うことを示す値に設定されている場合は、前記第１ベクタを前記第１スキャンチェインを介して入力し、かつ前記第２ベクタを前記第２スキャンチェインを介して入力し、その後前記第１クロック信号及び前記第２クロック信号を遮断し、
前記第１機能ブロック及び前記第２機能ブロックが動作していないときに、前記第３ビットが前記第１ベクタ及び前記第２ベクタを入力しないことを示す値に設定されている場合は、前記第１ベクタ及び前記第２ベクタの入力は行わず前記第１クロック信号及び前記第２クロック信号の遮断のみを行う第２操作を行うことを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置に関し、特に、携帯機器向けシステムＬＳＩ又はマイクロプロセッサに適用して有効な技術に関する。
【背景技術】
【０００２】
近年、半導体プロセス技術の向上により、最小加工寸法の微細化がますます進展している。この結果、１つのチップに搭載されるトランジスタ数は増大し、コンピュータの主要機能が１つのチップに埋め込まれたＳｏＣ（Ｓｙｓｔｅｍ  Ｏｎ  ａ  Ｃｈｉｐ）が一般的になってきた。ＳｏＣとは、マイクロプロセッサ、インターフェースコントローラ、マルチメディア信号処理プロセッサ、メモリなどの機能ブロックが１チップに集積されたものである。このような集積化を進めることで、実装に必要な面積が縮小し、同等の機能を持つ複数チップから形成されるシステムに比べてコストも格段に抑えられる。その一方、高集積化が進んだＳｏＣでは、消費電力が増大する問題が発生している。消費電力の増加は、チップの熱発生量を増加させ、チップの信頼性を低下させる。また、携帯機器等では、バッテリー駆動時間を低下させる。チップに集積されるトランジスタ数が増加したことと、微細化に伴うトランジスタのリーク電流が増大したこと、さらに、動作周波数が向上したことが消費電力を増大させた大きな原因である。
【０００３】
消費電力の種類は、ＤＣ電力とＡＣ電力の２種類に分けることができる。ＤＣ電力は、リーク電流に起因し、回路が動作していない状態においても、電源電圧が供給されていれば消費される。一方、ＡＣ電力は、トランジスタの充放電電力であり、回路が動作をしているときに消費する電力（動作時電力）である。消費電力を削減するためには、DC電力とAC電力を共に削減することが重要であるが、以下では、DC電力に注目して、これまで提案されてきた削減手法について説明する。
【０００４】
ＳｏＣは、機能毎に分割された電源ブロックの集合体である。ある瞬間におけるＳｏＣの動作状態を見てみれば、すべての回路が動作しているわけではない。これは、アプリケーションが実行されるために必要な電源ブロックのみ動作していれば良いからである。そこで、使用していない電源ブロックに対する電源供給を遮断することで、その電源ブロックのリーク電流を無くすことができる。本手法は、例えば特許文献１で述べられている。
【０００５】
一方、電源遮断することなく、組み合わせ回路の入力値をある値に強制的に設定することでリーク電流を削減する手法も提案されている。本手法は、リーク電流が低減するように、スキャンチェインを利用して組み合わせ回路の入力値を設定するものである。これは、チップのリーク電流が、組合せ回路の入力端子に入力される信号の値に依存して変化することを利用した手法である。例えば、２入力のアンドゲートであれば、入力ベクタ（００、１０、０１、１１）に依存して、流れるリーク電流が異なる。つまり、スリープ時等において、リーク電流が低くなるような入力ベクタを組合せ回路に直接設定できれば、DC電力すなわちリーク電流を削減できる。
【０００６】
一方、組み合せ回路の入力値となる、順序回路のフリップフロップ出力値は、直接制御ができない。そこで、フリップフロップのデータ入力端子にマルチプレクサを付加し、通常のパスとは別にフリップフロップ同士を直列に繋げたパス（スキャンチェイン）を形成する。スキャン制御信号で、フリップフロップのデータ入力元を通常パスとスキャンチェインパスで切り替えることで、フリップフロップの値を直接制御可能にする。つまり、このスキャンチェインを利用して、通常パスに存在する組合せ回路の入力ベクタを設定して、リーク電流を削減する。スキャンチェインは通常、テスト容易性のために付加されるパスであるが、ここでは、それをリーク電流削減のために使用することが特徴である。本手法は、特許文献２、３、４で記載されている。
【０００７】
【特許文献１】特開２００３−２１８６８２号公報
【特許文献２】特開２００６−２２０４３３号公報
【特許文献３】特開２００５−２１０００９号公報
【特許文献４】特開２００５−０８６２１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、前記、特許文献２、３、４では、SoCの単体機能ブロックレベルでのスキャンチェインを利用したリーク電流制御方法及びその構成については記載されているが、SoC全体におけるスキャンチェインの構成及びその制御方法については言及していない。
【０００９】
すなわち、第１に多数の機能ブロックが搭載されているSoCにおいて、リーク電流削減のために利用するスキャンチェインの最適な構成が明らかにされていない。スキャンチェインへのベクタ入力時間は、1本のスキャンチェイン内のフリップフロップの段数に依存する。すなわち、フリップフロップの段数が多いほど、ベクタの入力時間が長くなる。ベクタ入力時間を短縮するためには、アプリケーション実行時において、非動作ブロックにのみ、ベクタを入力できるようなスキャンチェイン構成になっていることが望ましい。しかし、通常のスキャンチェインの構成は、そのようなアプリケーション実行時の機能ブロック間の動作／非動作状態を考慮していない。その場合、動作中の機能ブロックにもベクタを入力してしまうため、ベクタ入力のためのオーバヘッド時間が大きい。
【００１０】
第２に、他の低消費電力手法である、電源遮断制御、クロックゲーティング制御との使い分けが明らかにされていない。ここでも、アプリケーション実行時における機能ブロック間の動作／非動作状態を考慮して、各機能ブロックを適切な低消費電力状態に設定するべきである。そうすることで、最大のリーク電流削減効果が発揮できる。
【００１１】
以上のことから、本発明の目的は、多数の機能ブロックが搭載されたSoCにおいてベクタ入力によるリーク電流削減手法に最適化されたスキャンチェイン構成及び、その制御方法を提供することである。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１２】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１３】
すなわち、第１フリップフロップ、第２フリップフロップ及び第１組合せ回路を有する第１機能ブロックと、第３フリップフロップ、第４フリップフロップ及び第２組合せ回路を有する第２機能ブロックとを有する第１電源ブロックと、前記第１フリップフロップ及び前記第２フリップフロップを含む第１スキャンチェインと、前記第３フリップフロップ及び前記第４フリップフロップを含む第２スキャンチェインとを有し、前記第１電源ブロックへの電源を遮断する第１モードと、前記第１組合せ回路を入力しない状態と比較してリーク電流の少ない状態にするための第１ベクタを前記第１スキャンチェインを介して入力しその後前記第１機能ブロックに入力される第１クロック信号の遮断を行う第２モードと、前記第１ベクタの入力を行わず前記第１クロック信号の遮断のみを行う第３モードのいずれかに設定可能であることを特徴とする。
【００１４】
あるいは、第１フリップフロップ、第２フリップフロップ及び第１組合せ回路を有する第１機能ブロックと、第３フリップフロップ、第４フリップフロップ及び第２組合せ回路を有する第２機能ブロックとを有する第１電源ブロックと、前記第１電源ブロックへ電源供給するための第１スイッチと、前記第１スイッチを制御するための第１レジスタと、前記第１機能ブロックに対して第１クロック信号を入力するか入力しないかを設定するための第１ビットと、前記第２機能ブロックに対して第２クロック信号を入力するか入力しないかを設定するための第２ビットとを有する第２レジスタと、前記第１フリップフロップ及び前記第２フリップフロップを含む第１スキャンチェインと、前記第３フリップフロップ及び前記第４フリップフロップを含む第２スキャンチェインと、前記第１組合せ回路を入力しない状態と比較してリーク電流の少ない状態にするために前記第１スキャンチェインを介して入力される第１ベクタを入力するか入力しないかを設定するための第３ビットと、前記第２組合せ回路を入力しない状態と比較してリーク電流の少ない状態にするために前記第２スキャンチェインを介して入力される第２ベクタを入力するか入力しないかを設定するための第４ビットとを有する第３レジスタとを有することを特徴とする。
【００１５】
あるいは、第１フリップフロップ、第２フリップフロップ及び第１組合せ回路を有する第１機能ブロックと、第３フリップフロップ、第４フリップフロップ及び第２組合せ回路を有する第２機能ブロックとを有する第１電源ブロックと、前記第１電源ブロックへの電源供給の可否を設定するための第１スイッチと、前記第１スイッチを制御するための第１レジスタと、前記第１フリップフロップ及び前記第２フリップフロップを含む第１スキャンチェインと、前記第３フリップフロップ及び前記第４フリップフロップを含む第２スキャンチェインと、前記第１機能ブロックに対して第１クロック信号を入力するか入力しないかを設定するための第１ビットと、前記第２機能ブロックに対して第２クロック信号を入力するか入力しないかを設定するための第２ビットと、前記第１組合せ回路を低リーク電流状態にするために前記第１スキャンチェインを介して入力される第１ベクタ及び前記第２組合せ回路を低リーク電流状態にするために前記第２スキャンチェインを介して入力される第２ベクタを入力するかしないかを設定するための第３ビットとを有する第２レジスタを有することを特徴とする。
【発明の効果】
【００１６】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１７】
機能ブロックの集合体であるSoCにおいて、アプリケーション実行時におけるリーク電流を削減することが可能となる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。はじめに、個々の回路構成を説明した後、制御方法について述べる。
【００１９】
図１には本発明の第１の実施の形態に係る半導体集積回路の要部が示される。同図の回路は、特に制限されないが、公知のＣＭＯＳ（相補型ＭＯＳトランジスタ）やバイポーラトランジスタなどを形成する半導体集積回路技術によって、単結晶シリコンのような１個の半導体基板に形成される。
【００２０】
システムオンチップＳｏＣは、ベクタ供給部VEC、クロック制御部CLK、電源遮断制御部PWR、電源ブロックＡｒｅａ１〜ＡｒｅａＮ，スキャンベクタ入力セレクタＳＶＳ１〜ＳＶＳＮ、電源スイッチＰＳＷ１〜ＰＳＷＮ，タイマＴＭＲ、ランダムアクセスメモリＲＡＭ、リードオンリメモリＲＯＭ、バスアービタＡＲＢ、割込みコントローラＩＮＴＡ、内部バスＢＵＳ、スキャンイン用パッドＳＩ１〜ＳＩＮ，スキャンアウト用バッドＳＯ１〜ＳＯＮ，スキャンイネーブルパッドＳＥ，から構成される。また、ＶＯはベクタ供給部VECからの出力信号群、ＣＫはクロック制御部CLKからのクロック信号群、ＶＩＥはクロック制御部CLKからのベクタイネーブル信号群、ＰＳＳは電源遮断制御部PWRからの電源スイッチコントロール信号群、ＳＶＳ１Ｓ〜ＳＶＳＮＳはそれぞれスキャンベクタ入力セレクタＳＶＳ１〜ＳＶＳＮからの出力信号群である。ベクタ供給部VECには、各機能ブロックを低リーク電流状態に遷移させるベクタを各機能ブロックに供給することができる。ベクタ供給部VECは、RAM／ＲＯＭ／ヒューズ／不揮発性メモリ等で構成される。図１に示したように、スキャンチェインの単位を、電源ブロック毎に形成することで、短時間に低消費電力状態に遷移できることが、以降で明らかになる。
【００２１】
図２に本発明の第１の実施の形態に係る電源ブロックの回路構成を示す。なお、ここでは図１のＡｒｅａ１を例として説明するが、他の電源ブロックもＡｒｅａ１と同様の回路構成であることは言うまでもない。
【００２２】
電源ブロックＡｒｅａ１は、ＯＲゲート２１＿１〜２１＿３、バイパス回路Ｄ１、Ｄ２ａ、Ｄ２ｂ、Ｄ３，機能ブロックＢＬ＿Ａ，ＢＬ＿Ｂ，ＢＬ＿Ｃ，から構成される。また、ＶＩＥ１＿Ａ〜ＶＩＥ１＿Ｃはベクタイネーブル信号群ＶＩＥのうち、電源ブロックＡｒｅａ１に入力される信号、ＣＬＫ１＿Ａ〜ＣＬＫ１＿Ｃはクロック信号群ＣＫのうち、電源ブロックＡｒｅａ１に入力される信号である。ここで電源ブロックとは、電源遮断制御部ＰＷＲ内の当該電源ブロックに対応するビットにより、電源スイッチＰＳＷ１〜ＰＳＷＮのうち対応するものにより電源を制御される単位として規定される。また、機能ブロックとは、ＣＬＫ内に設けられたＣＬＫＳＴＰ＿ＲＥＧ内の当該機能ブロックに対応するビットにより、内部のクロックを遮断される単位として規定される。ここで、本願発明では対応するビットとしては１ビットを想定しているが、これに限定されるものではなく、同等の効果を発揮する他の構成を取ってもよい。例えば、各機能ブロックごとに２ビット以上を対応させても良い。このように電源ブロック内に複数の機能ブロックを設けることで、機能ブロックごとにＣＬＫを遮断することが可能となり、より粒度の小さい単位での制御が可能となり、より低消費電力とすることができるという利点がある。
【００２３】
Ｓ２１＿１〜Ｓ２１＿３は、それぞれ、ベクタイネーブル信号ＶＩＥ１＿Ａ〜ＶＩＥ１＿ＣとスキャンイネーブルパッドＳＥの論理和値である。なお、図２では、機能ブロックの数が３個となっているが３個に限定するものではなく、２個以上の複数個含まれる場合もある。また、スキャンベクタ入力セレクタＳＶＳ１からの出力信号群ＳＶＳ１Ｓは、図２では１本として図示されているが、複数本になっても良い。この構成により、本来はテストに用いるスキャンチェインを低リークベクタを入力するための回路として用いることができるため、面積を増加させずに低リークベクタ入力のパスを設けられるという利点がある。また、スキャンイネーブルパッドＳＥにより、テストモードと低リークベクタ入力のモードとを外部より容易に制御できるという利点もある。
【００２４】
図３にバイパス回路の別の回路構成を示す。ここでは、バイパス回路Ｄ２ｂを設けず、Ｄ２ａに入力された信号が機能ブロックＢＬ＿Ｂ又はバイパス回路Ｄ３に出力され、機能ブロックＢＬ＿Ｂに入力された回路は直接ＢＬ＿Ｃへ出力され、バイパス回路Ｄ３にはバイパス回路ＢＬ＿Ｂ又は機能ブロックＢＬ＿Ｃからの信号が出力される。このような回路構成では、ＢＬ＿Ｃへ低リークベクタを入力しなくてはならないため低消費電量状態へ遷移するまでのオーバーヘッド時間が長くなるという欠点はあるが、バイパス回路の個数が減る分面積の点で有利であるという効果がある。
【００２５】
図４に本発明の第１の実施の形態に係るバイパス回路Ｄ１の回路構成を示す。バイパス回路Ｄ１は、インバータＩＮＶＡ、パストランジスタＰＴＨＡ，ＰＴＨＢ，から構成される。Ｓ２１＿１が１'の時には、ＰＴＨＡがオン、ＰＴＨＢがオフして、ＳＶＳ１Ｓの信号はＳＤ１に出力される。Ｓ２１＿１が０'の時には、ＰＴＨＡがオフ、ＰＴＨＢがオンして、ＳＶＳ１Ｓの信号は、ＳＤ１Ｂにバイパスされる。  バイパス回路D1は、電源ブロックの初段のバイパス回路として設置される。
【００２６】
図５に本発明の第１の実施の形態に係るバイパス回路Ｄ２aの回路構成を示す。バイパス回路Ｄ１は、インバータＩＮＶＢ、ＩＮＶＣ、パストランジスタＰＴＨＣ〜ＰＴＨＦ，から構成される。Ｓ２１＿１が１'且つＳ２１＿２が１'の時には、ＳＢＬ＿Ａの信号がＳＤ２aに出力される。Ｓ２１＿１が１'且つＳ２１＿２が０'の時には、ＳＢＬ＿Ａの信号がＳＤ２aＢに出力される。Ｓ２１＿１が０'且つＳ２１＿２が１'の時には、ＳＤ１Ｂの信号がＳＤ２aに出力される。Ｓ２１＿１が０'且つＳ２１＿２が０'の時には、ＳＤ１Ｂの信号がＳＤ２aＢに出力される。なお機能ブロックの間に設置されるバイパス回路の場合、D２aと同じ回路構成を取る。すなわち、バイパス回路Ｄ２ｂはD２aと同様の回路構成である。
【００２７】
図６に本発明の第１の実施の形態に係るバイパス回路Ｄ３の回路構成を示す。バイパス回路Ｄ３は、インバータＩＮＶＤ、パストランジスタＰＴＨＧ，ＰＴＨＨ，から構成される。Ｓ２１＿３が１'の時には、ＳＢＬ＿Ｃの信号がＳＯ１に出力される。Ｓ２１＿３が０'の時には、ＳＤ２ｂＢの信号がＳＯ１に出力される。バイパス回路D３は、電源ブロックの最終段のバイパス回路として設置される。
【００２８】
ここで、図４〜図６のそれぞれのバイパス回路の構成は、上述した構成に限定されるものではなく、同等の効果を発揮できるものであれば他の構成も可能である。例えば、図７〜図９に示すように、対となるパストランジスタＰＴＨＡとＰＴＨＢ、ＰＴＨＣとＰＴＨＤ…を、CMOSゲートで置き換えても同じ機能を実現できる。しかし、本願発明のようにパストランジスタを用いると、入力信号が１'のときはＰＭＯＳが、入力信号が０'のときはＮＭＯＳが信号送達に適しているため、いずれの場合でもよりロスの少ない信号送達が可能となる。
【００２９】
図1０に本発明の第１の実施の形態に係る機能ブロックの回路構成を示す。本図では、機能ブロックの内、本発明に拘わる部分のみ図示しており、機能ブロックのすべての回路要素が示されているわけではない。また、ここでは図２のＢＬ＿Ａを例として説明するが、他の機能ブロックもＢＬ＿Ａと同様の回路構成であることは言うまでもない。
【００３０】
機能ブロックＢＬ＿Ａは、フリップフロップ３１＿１〜３１＿３、マルチプレクサ４１＿１〜４１＿３、組み合わせ回路Ｃｏｍｂ，から構成される。また、ＩＮ１〜ＩＮ３は図２では明示的に図示されていないが、機能ブロックＢＬ＿Ａの通常入力信号である。ＯＵＴ１〜ＯＵＴ３は図２では明示的に図示されていないが、機能ブロックＢＬ＿Ａの通常出力信号である。ＯＢＬ＿Ａは図２のＤ２ａに入力される信号である。
【００３１】
ここで、通常動作又はスキャンテスト及び低リークベクタを入力する動作における機能ブロックの動作について説明する。本発明においては、組合せ回路の前段に設けられるフリップフロップ（例えば、組合せ回路Ｃｏｍｂの前段のフリップフロップ３１＿１〜３１＿３）によって組合せ回路Ｃｏｍｂに入力される値をベクタとして定義する。
【００３２】
通常動作を行う場合、Ｓ２１＿１は０'となり、マルチプレクサ４１＿１〜４１＿３では、０'側の信号が選択され、フリップフロップ３１＿１〜３１＿３に入力される。フリップフロップ３１＿１〜３１＿３は、クロック信号ＣＬＫ１＿Ａが１'になるエッジにおいて、Ｄに入力されている信号を取り込み、Ｑに出力する。一方、スキャンテスト時や低リーク用ベクタを入力する場合は、Ｓ２１＿１は１'になっており、マルチプレクサ４１＿１〜４１＿３は、１'側の信号を選択する。フリップフロップ３１＿１は、ＳＤ１の信号をクロック信号ＣＬＫ１＿Ａが１'になるエッジにおいて、Ｄに入力されている信号を取り込み、Ｑに出力する。次のクロック信号ＣＬＫ１＿Ａが１'になるエッジにおいて、フリップフロップ３１＿２はフリップフロップ３１＿１の出力信号Ｑを取り込む。このように、クロック信号ＣＬＫ１＿Ａの１'になるエッジにおいて、順次、ＳＤ１の値が、フリップフロップ３１＿１〜３１＿３へシフトされていく。このような仕組みにより、組合せ回路Ｃｏｍｂの入力信号を制御できる。このように、フリップフロップの前段にマルチプレクサを設け、低リークベクタと通常信号との入力を切り替え可能とすることで、マルチプレクサの後段の回路構成を変更することなく、低リークベクタを入力するモードと、通常の動作のモードとを切り替えて動作させることが可能となる。
【００３３】
ここで、入出力の信号を３つとし、フリップフロップの数も３つとしたが、これに限定されるものではない。入出力の数は任意であり、フリップフロップの数も設計に応じて任意の数設けられる。
【００３４】
以上、図２〜図1０で示すスキャンチェイン構成を取れば、任意の機能ブロックのみに低リーク電流ベクタを入力することが可能になる。すなわち、機能ブロックＢＬ＿Ｂのみに、ベクタを入力したい場合、ＶＩＥ＿Ａ，ＶＩＥ＿Ｃは、０'に、ＶＩＥ＿Ｂを１'に設定する。ＳＥは通常動作時は０'となる。Ｄ１の出力先及びＤ２ａの入力元は、ＳＤ１Ｂに設定され、Ｄ２ａの出力先はＳＤ２aと設定され、SVS1S 信号値は、ＢＬ＿Ａを介すことなく、直接ＢＬ＿Ｂに入力できる。Ｄ２ｂの入力元はＢＬ＿Ｂの出力信号であり、Ｄ２ｂの出力先は、ＳＤ２ｂＢに設定される。つまり、低リーク電流ベクタをＢＬ＿Ｂに入力する際、ＢＬ＿Ａのフリップフロップの段数分のサイクル時間を低減でき、短時間にＢＬ＿Ｂを低リーク状態に遷移させることが可能である。
【００３５】
図１１にクロック信号の別の入力方式として、クロックＣＬＫ１＿Ｂ１とＣＬＫ１＿Ｂ２とが入力された機能ブロックＢＬ＿Ｂの回路構成を示す。
【００３６】
ここでは、機能ブロックＢＬ＿Ｂに対し、クロック信号ＣＬＫ１＿Ｂ１とＣＬＫ１＿Ｂ２とが入力されている。このように、単一の機能ブロックに対し、複数のクロック信号を入力し、それぞれのクロック信号ＣＬＫ１＿Ｂ１とＣＬＫ１＿Ｂ２に対してスキャンチェインを構成することも可能である。複数のクロックで動作する機能ブロックに対し単一のスキャンチェインが設けられている場合、最も遅いクロックに合わせてスキャンチェインを動作させなくてはならないが、このような回路構成により、それぞれのスキャンチェインが適した速度のクロックに合わせて動作可能となる。
【００３７】
図１２に本発明の第１の実施の形態に係るスキャンベクタ入力セレクタの回路構成を示す。また、ここでは図１のＳＶＳ１を例として説明するが、他のスキャンベクタ入力セレクタもＳＶＳ１と同様の回路構成であることは言うまでもない。
【００３８】
スキャンベクタ入力セレクタＳＶＳ１は、マルチプレクサ５１＿１、５１＿２、から構成される。また、ＶＩＯ１a、ＶＩＯ１ｂはベクタ供給部VECからの出力信号群のうち、電源ブロックＡｒｅａ１に入力される信号、ＳＳＩ１a、ＳＳＩ１bはスキャンイン用パッドＳＩ１から入力される信号である。ＶＩＥ１は、クロック制御部CLKからの出力信号群VIEのうち電源ブロックＡｒｅａ１に入力される信号群（ＶＩＥ１＿Ａ〜ＶＩＥ１＿Ｃ）の論理和である。つまり、ＶＩＥ１信号群のうち１つ以上１'になっていたら、言い換えれば、当該電源領域内の機能ブロックの一つ以上にベクタを入力する場合、マルチプレクサ５１＿１、５１＿２は、ベクタ供給部VECからの出力信号群を選択する。
【００３９】
図１３に本発明の第１の実施の形態に係る電源遮断制御部の回路構成を示す。本図では、電源遮断制御部の内、本発明に拘わる部分のみ図示しており、電源遮断制御部のすべての回路要素が示されているわけではない。
電源遮断制御部PWRは、電源制御レジスタＰＷＲ＿ＲＥＧを有し、内部バスＢＵＳとレジスタインタフェイスＲＥＧＩＦで接続される。ＰＷＲ＿ＲＥＧは少なくとも、電源ブロック数以上のビット数を持ったレジスタ構成を取る。各電源ブロックに対応したビットに１'を書き込むと、対応したＰＳＳ信号が０'となり、対応する電源スイッチＰＳＷがオフされる。よって、当該電源ブロックのリーク電流はほぼ０となる。
【００４０】
図１４に本発明の第１の実施の形態に係るクロック制御部の回路構成を示す。本図では、クロック制御部の内、本発明に拘わる部分のみ図示しており、電源遮断制御部のすべての回路要素が示されているわけではない。
【００４１】
クロック制御部CLKは、コントローラＣＴＬ，位相同期回路ＰＬＬ（Phase-locked loop）、分周器ＤＩＶa〜ＤＩＶｎ、アンドゲート６１＿a〜６１＿n、クロックゲーティング用レジスタＣＬＫＳＴＰ＿ＲＥＧ，低リークモードレジスタＬＯＷＬＥＡＫ＿ＲＥＧ、から構成される。外部クリスタル発振信号ＣＴＡＬは、ＰＬＬで逓倍され、各分周器ＤＩＶa〜ＤＩＶｎで分周され、アンドゲート６１＿a〜６１＿ｎに入力される。分周器及びアンドゲートは、最大でも、機能ブロックの数だけ存在する。各レジスタは、CTL及び、内部バスＢＵＳとレジスタインタフェイスＲＥＧＩＦで接続される。ＣＬＫＳＴＰ＿ＲＥＧは、少なくともＳｏＣ内のすべての機能ブロックの数とＫｉｃｋ用ビットがある。なぜなら、アプリケーションによって、動作／非動作する機能ブロックは異なり、それに応じて、きめ細かくクロックゲーティングすることで、クロック電流を削減できるからである。低リークモードレジスタＬＯＷＬＥＡＫ＿ＲＥＧは、機能ブロックの数と同じ数のビット数を持つ。低電力状態に移行する際、まず、ＬＯＷＬＥＡＫ＿ＲＥＧを設定する。その後、ＣＬＫＳＴＰ＿ＲＥＧを設定し、ＣＬＫＳＴＰ＿ＲＥＧの設定が変更されたことを示すＫｉｃｋ用ビットに“１”を設定する。すると、ＣＴＬは、Kick用ビットが“１”に設定されたことにより、該当する機能ブロックのＬＯＷＬＥＡＫ＿ＲＥＧが“１”ならば、当該機能ブロックのＶＩＥ信号（例えば図２における機能ブロックＢＬ＿ＢではＶＩＥ１＿Ｂ）をアサートして低リークベクタを入力する。入力が終了したらＶＩＥ信号をディアサートして、当該機能ブロックのＣＬＫをゲーティングする。一方、該当機能ブロックのＬＯＷＬＥＡＫ＿ＲＥＧビットが“０”ならば、即座にＣＬＫをゲーティングする。このような構成により、機能ブロック毎にＣＬＫ入力、低リークベクタ入力の可否が設定可能となり、きめ細かく低消費電力モードへの制御が可能となるため、従来の、電源遮断とＣＬＫ遮断のみを用いる場合と比較して、消費電力をより低減することが可能となる。また、ＣＬＫＳＴＰ＿ＲＥＧとＬＯＷＬＥＡＫ＿ＲＥＧを別個に設けたことにより、それぞれの機能ブロックに対して、低リークベクタを入力せず、ＣＬＫ遮断のみを行う低消費電力を選択することも可能となる。これにより、低リークベクタ入力に要するオーバーヘッド時間による遅延の影響が大きい場合に、ＣＬＫ遮断のみを選択することで、より高速に低消費電力状態へと移行することが可能となる。
【００４２】
図１５に、クロックゲーテリング用レジスタＣＬＫＳＴＰ＿ＲＥＧの別の構成例を示す。ここでは、ＬＯＷＬＥＡＫ＿ＲＥＧを設けず、ＣＬＫＳＴＰ＿ＲＥＧの内部にＶＩＥ信号を発信させるためのビットＬＬを設けたことが特徴である。このような構成により、全ての不使用の機能ブロックに対して共通にベクタ入力を行わなくてはならないので、きめ細かい制御ができなくなるが、レジスタの構成が簡単となるため、ソフトウェア側での制御が容易になるという利点がある。
【００４３】
図１６に本発明の第１の実施の形態に係るアプリケーション実施時における低リーク電流状態へ移行するフローチャートを示す。また、図１７には、そのタイミング図を示す。なお、図１７のタイミング図では、各低電力動作状態に遷移する代表機能ブロックの信号のみ図示する。
【００４４】
まず、各電源ブロック内の動作する機能ブロック数をチェックする。電源ブロック内のすべての機能ブロックが非使用の場合は、時刻Ｔ２においてＣＫ１＿ＳＴＰをアサートして、クロックＣＫ１をゲーティングする。その後、時刻Ｔ３において、当該電源ブロックに対応する電源をオフする信号ＰＳＳ１をアサートする。一方、電源ブロック内のすべての機能ブロックを使用する場合は当該電源ブロックに係わる設定事項はない。電源ブロック内の一部の機能ブロックを使用する場合における、低リーク状態への移行フローチャートについて詳しく説明する。
【００４５】
次に、使用しない機能ブロックに対し、低リークベクタ入力とＣＬＫゲーティングとを共に用いるモードについて説明する。使用しない機能ブロックに対応するＬＯＷＬＥＡＫ＿ＲＥＧのビットを１'にセットする。次に、使用しない機能ブロックに対応するＣＬＫＳＴＰ＿ＲＥＧのビットを１'にセットし、時刻Ｔ１において、Ｋｉｃｋビットを“１”にセットする。該当する機能ブロックのVIE信号（図１７ではＶＩＥ３）を時刻Ｔ２ににおいてアサートし、クロック信号の１'エッジのタイミングで、低リーク状態に遷移するベクタを、スキャンチェイン経由で機能ブロックのスキャンフリップフロップに入力していく（図１７ではＶＯ３）。この際、前でも述べたが、スキャンチェインパスは、低リークベクタを入力する機能ブロックのみ接続されているため、低リーク状態に遷移する時間を短縮可能である。さらに、ベクタを入力するためのクロックを、必要最小限の機能ブロックにのみ供給することで、無断なクロック電流が削減できる。例えば、図２のＢＬ＿Ｂ，ＢＬ＿Ｃにベクタを入力する際、まず、ＢＬ＿Ｂのみにクロックを供給し、その後、ＢＬ＿Ｃにクロックを供給する。こうすることで、ＢＬ＿Ｂにベクタを供給している際のＢＬ＿Ｃのクロック電流が削減できる。入力が完了すると、VIE３信号をディアサートすると同時に、当該機能ブロックのクロック信号ＣＫ３をゲーティングする。以上により、電源ブロック内の使用する機能ブロックはそのまま使用でき、使用しない機能ブロックは、クロック電流とリーク電流を共に低減可能な状態に遷移できる。すべての電源ブロックのチェックが終了した時点で、アプリケーションを実行する。
【００４６】
次に、使用しない機能ブロックに対し、低リークベクタ入力を行わず、ＣＬＫゲーティングのみを用いるモードについて説明する。使用しない機能ブロックに対応するＬＯＷＬＥＡＫ＿ＲＥＧのビットを０'にセットし、当該機能ブロックのＣＬＫＳＴＰ＿ＲＥＧビットを“１”にセットし、Ｋｉｃｋビットを１'にセットする。なお、この動作は、前述の低リークベクタを入力する動作と同時に行うことも可能である。この場合、該当機能ブロックに対する低リークベクタ入力は行わず、即座にＣＫ２＿ＳＴＰをアサートし、クロックＣＫ２をゲーティングすることで、低消費電力状態へと遷移する。この場合は、低リークベクタ入力を合わせて行う場合と比較して、消費電力の低減量は小さくなるが、低リークベクタ入力に要するオーバーヘッド時間が不要となるため、高速で低消費電力状態へと遷移可能であるという利点がある。
【００４７】
ここで、上記２つのモードへ遷移するための設定には、次の手法がが考えられる。
【００４８】
第１の実施の形態においては、ＬＯＷＬＥＡＫ＿ＲＥＧ及びＣＬＫＳＴＰ＿ＲＥＧの設定は、ともにソフトウェアによって行われる。すなわち、低リークベクタを入力する場合は低リークベクタの入力後に、一方、低リークベクタを入力しない場合は直ちに、ＣＬＫＳＴＰ＿ＲＥＧ内に設けられたKick用ビットを１'に設定し、クロック制御部ＣＴＬによって対応する機能ブロックへのクロックをゲーティングする。
【００４９】
それとは別の手法を採用する第２の実施の形態においては、ＬＯＷＬＥＡＫ＿ＲＥＧの設定はソフトウェアによって、ＣＬＫＳＴＰ＿ＲＥＧ内の各機能ブロックに対応したクロックゲーティング用ビットはハードウェアによって設定される。すなわち、低リークベクタを入力する場合には入力後に、一方、低リークベクタの入力が不要である場合には直ちに、ＣＬＫＳＴＯＰ＿ＲＥＧ内のＫｉｃｋビットを１'に設定する。その後、Ｋｉｃｋビットが設定されたことをトリガとして、クロック制御部ＣＴＬが対応する機能ブロックへのクロックゲーティングを行い、ＣＬＫＳＴＰ＿ＲＥＧ内の当該機能ブロックに対応するビットを１'に設定する。
【００５０】
このように動作させることで、第１、第２の実施の形態のいずれにおいても、ＣＬＫＳＴＰ＿ＲＥＧの値と、機能ブロック毎のクロック供給状態の間に整合性を取ることが可能となる。
【００５１】
しかし、第２の実施の形態においては、整合性を取るため、クロック制御部ＣＴＬがＣＬＫＳＴＰ＿ＲＥＧ内の当該機能ブロックに対応するビットを書き換えなくてはならない。この動作を行うためには、一度クロック制御部ＣＴＬ内にＣＬＫＳＴＰ＿ＲＥＧの設定を読み出して演算を行いＣＬＫＳＴＰ＿ＲＥＧ全体のビットを書き換えるか、あるいはＣＬＫＳＴＰ＿ＲＥＧ内の各ビットに配線を設けてそれぞれを書き換え可能にしなくてはならない。
【００５２】
これに対し第１の実施の形態においては、ソフトウェアで単にレジスタの登録をすればクロック信号とＣＬＫＳＴＰ＿ＲＥＧとの整合性を取ることが可能なため、クロック制御部ＣＴＬ内における不要な演算や、クロック制御部CTLとＣＬＫＳＴＰ＿ＲＥＧ間の配線が不要となるため、より望ましい実施の形態となる。また、上記２つのモードから通常動作の状態へ復帰する際には、クロック信号の入力の状態とＣＬＫＳＴＰ＿ＲＥＧの設定との間で整合性が取られていれば、ＣＬＫＳＴＰ＿ＲＥＧの当該機能ブロックに対応するビット及びKick用ビットを変更するだけで待機状態から通常状態へと復帰できるメリットもある。
【００５３】
次に、ＬＯＷＬＥＡＫ＿ＲＥＧの設定をダイナミックに行うか、スタティックに行うかについて、第３、第４の実施の形態を述べる。
【００５４】
第３の実施の形態においては、アプリケーション実行中にＬＯＷＬＥＡＫ＿ＲＥＧをダイナミックに設定する。この実施の形態は、例えば動画エンコード/デコード用ハードウェアアクセラレータ（VPU）のような、画像サイズによってフレーム毎の動作期間が大きく異なるような機能ブロックに適用することが考えられる。例えば、サイズの大きい画像を処理する際には、１フレーム内におけるVPU動作期間が長くなり、次フレームにおける処理開始までの待機時間が短いため、低消費電力状態への遷移が早く実施できるクロックゲーティングのみを行う。それに対し、サイズの小さい画像を処理する際には、１フレーム内の待機時間が長くなるため、低消費電力状態への遷移が多少長くかかろうとも、低リークベクタを入力しクロックゲーティングを行う。このように、動作毎にＬＯＷＬＥＡＫ＿ＲＥＧをダイナミックに設定することで、最も低消費電力とした実施が可能となる。
【００５５】
第４の実施の形態においては、ＬＯＷＬＥＡＫ＿ＲＥＧはスタティックに設定する。この場合は回路規模、アプリケーション等の構成により、それぞれの機能ブロックに対し低リークベクタを入力するか否かを事前に決定しておく。これにより、それぞれの機能ブロックに適した設定をしつつ、ソフトウェアによるレジスタの制御も容易となる。
【００５６】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００５７】
本発明は、半導体集積回路装置に関し、特に、携帯機器向けシステムＬＳＩ又はマイクロプロセッサに適用して有効である。
【図面の簡単な説明】
【００５８】
【図１】本発明の半導体集積回路装置に関する第１の実施の形態において、SoC構成の一例を示す図である。
【図２】本発明の半導体集積回路装置に関する第１の実施の形態において、電源ブロック内のスキャンチェイン構成の一例を示す図である。
【図３】本発明の半導体集積回路装置に関する第１の実施の形態において、バイパス回路構成の一例を示す図である。
【図４】本発明の半導体集積回路装置に関する第１の実施の形態において、バイパス回路構成の一例を示す図である。
【図５】本発明の半導体集積回路装置に関する第１の実施の形態において、バイパス回路構成の一例を示す図である。
【図６】本発明の半導体集積回路装置に関する第１の実施の形態において、機能ブロック回路構成の一例を示す図である。
【図７】本発明の半導体集積回路装置に関する第１の実施の形態において、セレクタ回路構成の一例を示す図である。
【図８】本発明の半導体集積回路装置に関する第１の実施の形態において、電源遮断制御部の一例を示す図である。
【図９】本発明の半導体集積回路装置に関する第１の実施の形態において、クロック制御部の一例を示す図である。
【図１０】本発明の半導体集積回路装置に関する第１の実施の形態において、低リーク電流状態へ移行するフローチャートの一例を示す図である。
【図１１】クロック信号の別の入力方式として、クロックＣＬＫ１＿Ｂ１とＣＬＫ１＿Ｂ２とが入力された機能ブロックＢＬ＿Ｂの回路構成を示す図面である。
【図１２】第１の実施の形態に係るスキャンベクタ入力セレクタの回路構成図である。
【図１３】第１の実施の形態に係る電源遮断制御部の回路構成図である。
【図１４】第１の実施の形態に係るクロック制御部の回路構成図である。
【図１５】クロックゲーテリング用レジスタＣＬＫＳＴＰ＿ＲＥＧの別の構成例を示す図面である。
【図１６】第１の実施の形態に係るアプリケーション実施時における低リーク電流状態へ移行する動作を示すフローチャートである。
【図１７】図１６の動作のタイミングチャートである。
【符号の説明】
【００５９】
ＳoC  システムオンチップ
VEC  ベクタ供給部
CLK  クロック制御部
PWR  電源遮断制御部
Ａｒｅａ１〜ＡｒｅａＮ  電源ブロック
ＳＶＳ１〜ＳＶＳＮ  スキャンベクタ入力セレクタ
ＰＳＷ１〜ＰＳＷＮ  電源スイッチ
ＴＭＲ  タイマ
ＲＡＭ  ランダムアクセスメモリ
ＲＯＭ  リードオンリメモリ
ＡＲＢ  バスアービタ
ＩＮＴＡ  割込みコントローラ
ＢＵＳ  内部バス
ＳＩ１〜ＳＩＮ  スキャンイン用パッド
ＳＯ１〜ＳＯＮ  スキャンアウト用バッド
ＳＥ  スキャンイネーブルパッド
ＶＩＯ  ベクタ供給部VECからの出力信号群
ＣＫ、ＣＬＫ１＿Ａ〜ＣＬＫ１＿Ｃ  クロック制御部CLKからのクロック信号群
ＶＩＥ、ＶＩＥ１＿Ａ〜ＶＩＥ１＿Ｃ  クロック制御部CLKからのベクタイネーブル信号群
ＰＳＳ  電源遮断制御部PWRからの電源スイッチコントロール信号群
ＳＶＳ１Ｓ〜ＳＶＳＮＳ  スキャンベクタ入力セレクタＳＶＳ１〜ＳＶＳＮからの出力信号群
２１＿１〜２１＿３  ＯＲゲート
Ｄ１、Ｄ２ａ、Ｄ２ｂ、Ｄ３  バイパス回路
ＢＬ＿Ａ，ＢＬ＿Ｂ，ＢＬ＿Ｃ  機能ブロック
ＩＮＶＡ〜ＩＮＶＤ  インバータ
ＰＴＨＡ〜ＰＴＨＨ  パストランジスタ
３１＿１〜３１＿３  フリップフロップ
４１＿１〜４１＿３、５１＿１、５１＿２  マルチプレクサ
ＲＥＧＩＦ  レジスタインタフェイス
ＣＴＬ  コントローラ
ＰＬＬ  位相同期回路
ＤＩＶa〜DIVn 分周器
６１＿a〜６１＿ｎ  クロックゲーティング用アンドゲート
ＣＴＡＬ  外部クリスタル発振信号
【図１】
0004954862.tif 000002
【図２】
0004954862.tif 000003
【図３】
0004954862.tif 000004
【図４】
0004954862.tif 000005
【図５】
0004954862.tif 000006
【図６】
0004954862.tif 000007
【図７】
0004954862.tif 000008
【図８】
0004954862.tif 000009
【図９】
0004954862.tif 000010
【図１０】
0004954862.tif 000011
【図１１】
0004954862.tif 000012
【図１２】
0004954862.tif 000013
【図１３】
0004954862.tif 000014
【図１４】
0004954862.tif 000015
【図１５】
0004954862.tif 000016
【図１６】
0004954862.tif 000017
【図１７】
0004954862.tif 000018