(57)【要約】【課題】従来のクロックゲーティング技術を採用した半導体集積回路装置では、スキャンテストに対応することができなかった。【解決手段】本発明の半導体集積回路装置は、モード制御信号ＳＭＣに基づきスキャンデータＳＩＮと入力データＤＩＮとのいずれか一方の値を保持する複数のフリップフロップＳＦＦａ〜ＳＦＦｃと、複数のフリップフロップＳＦＦａ〜ＳＦＦｃのデータ入力端子及びデータ出力端子の値を監視してデータ転送状態を感知し、データ転送が行われている期間はクロック制御信号ＣＣＳａをイネーブル状態とするデータ転送感知回路３２と、クロック制御信号ＣＣＳａに応じて複数のフリップフロップＳＦＦａ〜ＳＦＦｃに対するクロック信号の供給を行うクロックゲーティング回路１６と、モード制御信号ＳＭＣがイネーブル状態の期間にクロック制御信号ＣＣＳａをイネーブル状態とする動作モード判別回路と、を有する。【選択図】図１
2010256262.tif 000002
【特許請求の範囲】
【請求項１】
モード制御信号に基づきスキャンデータと入力データとのいずれか一方の値をクロック信号に応じて保持する複数のフリップフロップと、
前記複数のフリップフロップのデータ入力端子及びデータ出力端子の値を監視して前記複数のフリップフロップのいずれかを介したデータ転送状態を感知し、前記データ転送が行われている期間はクロック制御信号をイネーブル状態とするデータ転送感知回路と、
前記クロック制御信号がイネーブル状態である期間に前記複数のフリップフロップに対する前記クロック信号の供給を行うクロックゲーティング回路と、
前記モード制御信号がイネーブル状態の期間に前記クロック制御信号をイネーブル状態とする動作モード判別回路と、
を有する半導体集積回路装置。
【請求項２】
前記クロック信号に応じて前記クロック制御信号の値を出力するクロック制御信号観測回路を有する請求項１に記載の半導体集積回路装置。
【請求項３】
前記動作モード判別回路は、前記データ転送感知回路が出力する前記クロック制御信号と前記モード制御信号とが入力され、前記モード制御信号がイネーブル状態の期間は前記データ転送感知回路の出力にかかわらず前記クロック制御信号をイネーブル状態とする請求項１又は２に記載の半導体集積回路装置。
【請求項４】
前記データ転送感知回路は、
前記フリップフロップの前記データ入力端子及び前記データ出力端子を監視して前記データ転送状態を感知してデータ転送感知信号を出力する第１の転送感知部と、
前記データ転送検知信号に基づき前記クロック制御信号が示す状態を切り替えるクロック制御信号切替部と、を有し、
前記動作モード判別回路は、
前記フリップフロップのスキャンデータ入力端子及び前記データ出力端子を監視して前記フリップフロップを介したスキャンデータ転送状態を検知してスキャンデータ転送感知信号を出力する第２の転送感知部と、
前記データ転送感知信号と前記スキャンデータ転送感知信号とが入力され、前記モード制御信号に応じて前記データ転送感知信号と前記スキャンデータ転送感知信号とのいずれか一方を選択して、選択した信号を切替信号として前記クロック制御信号切替部に与えるセレクタと、を有し、
前記クロック制御信号切替部は、前記切替信号に応じて前記クロック制御信号が示す状態を切り替える請求項１又は２に記載の半導体集積回路装置。
【請求項５】
前記動作モード判定回路は、前記複数のフリップフロップの少なくとも１つに対して設けられる請求項４に記載の半導体集積回路装置。
【請求項６】
前記複数のフリップフロップは、スキャン動作に対応したフリップフロップである請求項１乃至５のいずれか１項に記載の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路装置に関し、特にスキャンテスト時にスキャンチェーンを構成するフリップフロップを備える半導体集積回路装置に関する。
【背景技術】
【０００２】
半導体集積回路装置では、近年、消費電力の低減が望まれている。特に、携帯電話端末等のバッテリー駆動の機器に搭載される半導体集積回路装置では、機器の利用時間を延ばすために、消費電力の低減は大きな課題となっている。近年の半導体集積回路装置では、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）トランジスタが多く用いられている。ＣＭＯＳトランジスタにより構成された回路では、電力の消費が回路内の論理レベルの変化時にのみ発生するため電力低減を実現することができる。
【０００３】
また、ＣＭＯＳトランジスタを用いた回路は、クロック信号に同期して動作する同期回路（例えば、トリガ回路、フリップフロップなど）が多く用いられる。そのため、フリップフロップ等に供給されるクロック信号の周波数を低減することでも半導体集積回路装置の消費電力を低減することができる。そこで、クロック信号を制御することにより半導体集積回路装置の消費電力を低減する技術の一例が特許文献１に開示されている。
【０００４】
特許文献１に記載の半導体集積回路装置１００のブロック図を図３に示す。図３に示すように半導体集積回路装置１００は、データ入力端子１０１、クロック入力端子１０２、データ出力端子１０３、１０４、Ｄラッチ回路１１０、組合せ回路１２０ａ〜１２０ｃ、フリップフロップ１２１ａ〜１２１ｃ、データ転送感知回路１２２、転送検出部１２３ａ〜１２３ｃを有する。
【０００５】
半導体集積回路装置１００では、データ入力端子１０１から入力される入力データＤＩＮを組合せ回路１２０ａ〜１２０ｃにおいて処理し、処理結果を出力端子１０３、１０４から出力データＤＯＵＴとして出力する。また、半導体集積回路装置１００では、フリップフロップ１２１ａ〜１２１ｃが組合せ回路１２０ａ〜１２０ｃの出力側に設けられる。つまり、半導体集積回路装置１００では、フリップフロップ１２１ａ〜１２１ｃにより組合せ回路間のデータ転送をクロック信号に同期して行う。
【０００６】
このとき、フリップフロップ１２１ａ〜１２１ｃにはＤラッチ回路１１０を介してクロック信号が与えられる。Ｄラッチ回路１１０にはクロック制御信号及びクロック信号が入力される。Ｄラッチ回路１１０は、クロック制御信号がイネーブル状態（例えば、ロウレベル）である場合にクロック信号をフリップフロップ１２１ａ〜１２１ｃに供給し、クロック制御信号がディスイネーブル状態（例えば、ハイレベル）である場合はフリップフロップ１２１ａ〜１２１ｃへのクロック信号の供給を停止する。
【０００７】
半導体集積回路装置１００では、データ転送感知回路１３２によりクロック制御信号を生成する。データ転送感知回路１３２は、転送検出部１２３ａ〜１２３ｃによりデータの転送が検出された場合に、クロック制御信号をイネーブル状態とする。つまり、半導体集積回路装置１００では、フリップフロップ１２１ａ〜１２１ｃのいずれかにおいてデータの転送が行われる状態を検出した場合にのみフリップフロップ１２１ａ〜１２１ｃにクロック信号を与える。これにより、フリップフロップ１２１ａ〜１２１ｃに供給されるクロック信号のクロック数を低減することで半導体集積回路装置１００は消費電力を低減する。このようにクロック信号の出力及び停止を他の信号に応じて行う技術をクロックゲーティング技術と称す。
【０００８】
このようなクロックゲーティング技術の応用例が特許文献２に開示されている。特許文献２に開示されている論理回路２００を図４に示す。図４に示すように論理回路２００は、第１のフリップフロップ回路２５１、制御回路２５３、ゲーテッドクロック手段、ゲーテッドクロック解除手段、第２のフリップフロップ回路２６１を有する。第１のフリップフロップ回路２５１は、クロックに同期してデータ信号が入力される。制御回路２５３は、クロックイネーブル信号ＥＮを生成する。ゲーテッドクロック手段は、フリップフロップ回路２５４、ＡＮＤ回路２５５により構成される。そして、ゲーテッドクロック手段は、クロックイネーブル信号ＥＮに応じて第１のフリップフロップ回路２５１に供給されるクロックをゲートする。ゲーテッドクロック解除手段は、ＯＲ回路２５６を有する。ゲーテッドクロック解除手段は、スキャンテストモード信号ＳＣＡＮに応じてゲーテッドクロック手段によるクロックのゲートを解除する。また、論理回路２００では、クロックに同期して制御回路２５３から出力されるクロックイネーブル信号ＥＮが入力される観測用の第２のフリップフロップ回路２６１を有し、第２のフリップフロップ回路２６１を用いて制御回路２５３の出力信号を観測する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−２２９７４５号公報
【特許文献２】特開２００６−３２４９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
近年、ＡＳＩＣ（Application Specific Integrated Circuit）等の半導体集積回路装置では、プリミティブブロックをＡＳＩＣベンダー側が予め準備し、ユーザーが用途に合わせてプリミティブブロックを組み合わせる。これにより、ＡＳＩＣベンダーは、大規模かつ複雑な回路を容易に実現できる環境をユーザーに提供している。
【００１１】
このようなＡＳＩＣの設計フローでは、一般的に、ＲＴＬ（Resister Transfer Level：言語記述設計）により回路設計を行い、プリミティブブロックを用いたネットリストを作成する。その後、ＲＴＬに基づき生成されたネットリストに対してスキャンチェーンなどのテスト回路を構成する。このようなテスト回路を予め回路に組み込む設計をＤＦＴ（Design For Test）と称す。ＤＦＴにより、半導体集積回路装置の製造後のテストによる故障検出率を高めることができる。
【００１２】
しかし、ＡＳＩＣでは、様々な設計形態に対応するために、ＤＦＴで用いるスキャンフリップフロップとして様々な入出力形態のものが準備される。スキャンフリップフロップは、ＲＴＬに基づき生成されたネットリストのフリップフロップを適宜置き換えることで配置される。そして、スキャンフリップフロップは、通常動作においては、ＲＴＬにおいて定義された動作を行い、スキャンテスト時はシフトレジスタを構成するように設計がなされる。
【００１３】
このようなＡＳＩＣにおいて、上記特許文献１に記載のクロックゲーティング技術を適用した場合、スキャンテスト時にスキャンフリップフロップにクロック信号が供給されない問題がある。スキャンフリップフロップのスキャンデータに対応したデータ転送感知回路がないためである。この課題を説明する図を図５に示す。図５に示す例は、スキャンフリップフロップＳＦＦに対して特許文献１に記載のデータ転送感知回路１３２の転送検出部１３３を適用したものである。図５に示すように、スキャンフリップフロップに転送検出部１３３を接続した場合、スキャンデータＳＩＮと出力データＤＯＵＴとの値をモニタできずスキャンテスト時にスキャンフリップフロップにおけるデータ転送を検出できない。
【００１４】
また、ＡＳＩＣでは、スキャンフリップフロップのそれぞれにスキャンデータに対応したデータ転送感知回路を設けることは回路規模の制約から困難である問題がある。この課題を説明するための図を図６に示す。図６に示すように、スキャンフリップフロップＳＦＦにおいてスキャンデータＳＩＮと出力データＤＯＵＴとのデータ転送を検出するためには、各スキャンフリップフロップにセレクタＳＥＬを設ける必要がある。つまり、特許文献１に記載のクロックゲーティング技術は、スキャンフリップフロップを有する半導体集積回路装置に対応できない問題がある。
【００１５】
また、ＡＳＩＣにおいて特許文献２に記載のクロックゲーティング技術を適用した場合、キャンテスト用フリップフロップのそれぞれにゲーテッドクロック手段及びゲーテッドクロック解除手段を設けなければならない。しかし、ＡＳＩＣでは、回路素子数及び回路規模に制限があるため、ゲーテッドクロック手段及びゲーテッドクロック解除手段を全てのスキャンフリップフロップに対して設けることができない問題がある。つまり、特許文献２に記載のクロックゲーティング技術においても、スキャンフリップフロップを有する半導体集積回路装置に対応できない問題がある。
【課題を解決するための手段】
【００１６】
本発明にかかる半導体集積回路装置の一態様は、モード制御信号に基づきスキャンデータと入力データとのいずれか一方の値をクロック信号に応じて保持する複数のフリップフロップと、前記複数のフリップフロップのデータ入力端子及びデータ出力端子の値を監視して前記複数のフリップフロップのいずれかを介したデータ転送状態を感知し、前記データ転送が行われている期間はクロック制御信号をイネーブル状態とするデータ転送感知回路と、前記クロック制御信号がイネーブル状態である期間に前記複数のフリップフロップに対する前記クロック信号の供給を行うクロックゲーティング回路と、前記モード制御信号がイネーブル状態の期間に前記クロック制御信号をイネーブル状態とする動作モード判別回路と、を有する。
【００１７】
本発明にかかる半導体集積回路装置によれば、複数のフリップフロップに対するクロック信号の供給及び停止を制御するクロックゲーティング回路に入力されるクロック制御信号のイネーブル状態及びディスイネーブル状態を動作モード判別回路により制御する。つまり、複数のフリップフロップに対するクロック信号の供給及び停止の切り替えを１つの動作モード判別回路（又は１つのモード制御信号）により制御できる。これにより、本発明にかかる半導体集積回路装置では、回路規模又は回路素子数に制限のある半導体集積回路装置においてもスキャンフリップフロップの動作の保証とクロックゲーティング回路による消費電力の低減効果とを実現することができる。
【発明の効果】
【００１８】
本発明にかかる半導体集積回路装置によれば、スキャンフリップフロップを有する半導体集積回路装置においてクロックゲーティング技術による消費電力の低減を実現することができる。
【図面の簡単な説明】
【００１９】
【図１】実施の形態１にかかる半導体集積回路装置のブロック図である。
【図２】実施の形態２にかかる半導体集積回路装置のブロック図である。
【図３】特許文献１に記載の半導体集積回路装置のブロック図である。
【図４】特許文献２に記載の論理回路のブロック図である。
【図５】図３に示す半導体集積回路の課題を説明するブロック図である。
【図６】図３に示す半導体集積回路の課題を説明するブロック図である。
【発明を実施するための形態】
【００２０】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。まず、図１に実施の形態１にかかる半導体集積回路装置１のブロック図を示す。図１に示すように、実施の形態１にかかる半導体集積回路装置１は、入力端子２〜４、８、出力端子５〜７、バッファ回路１０〜１５、クロックゲーティング回路１６、クロック制御信号観測回路１７、動作モード判別回路１８、複数の組合せ回路３０ａ〜３０ｃ、データ転送感知回路３２、複数のフリップフロップ（例えば、スキャンフリップフロップＳＦＦａ〜ＳＦＦｃ）を有する。
【００２１】
入力端子２は、組合せ回路３０ａに対する入力データＤＩＮの入力端子である。入力端子３は、クロック信号ＣＬＫの入力端子である。入力端子４は、半導体集積回路装置１に対してスキャンテストを行う場合に用いられるスキャンデータＳＩＮの入力端子である。入力端子８は、半導体集積回路装置１の動作モードを指定するモード制御信号ＳＭＣの入力端子である。出力端子５は、組合せ回路３０ｂから出力される出力データの出力端子である。なお、出力端子５から出力される出力データは、スキャンフリップフロップＳＦＦｂを介して出力されるものである。出力端子６は、組合せ回路３０ｃから出力される出力データの出力端子である。また、出力端子６からはスキャンテスト時にスキャンテスト結果データが出力される。なお、出力端子６から出力される出力データは、スキャンフリップフロップＳＦＦｃを介して出力されるものである。出力端子７は、クロック制御信号観測回路１７が出力するクロック観測信号の出力端子である。
【００２２】
バッファ回路１０、１１、１５は入力バッファである。バッファ回路１０は、入力端子２と組合せ回路３０ａとの間に設けられ、入力端子２に入力される入力データＤＩＮを組合せ回路３０ａに伝達する。バッファ回路１１は、入力端子３とクロックゲーティング回路１６との間に設けられ、入力端子３に入力されるクロック信号ＣＬＫをクロックゲーティング回路１６に伝達する。バッファ回路１５は、入力端子４とスキャンフリップフロップＳＦＦａとの間に設けられ、入力端子４に入力さえるスキャンデータＳＩＮをスキャンフリップフロップＳＦＦａに伝達する。
【００２３】
バッファ回路１４は、インピーダンス変換を目的としたバッファ回路である。バッファ回路１４は、クロックゲーティング回路１６が出力するゲーティングクロック信号ＧＣＬＫを複数のスキャンフリップフロップＳＦＦａに分配する。バッファ回路１２、１３は、出力バッファである。バッファ回路１２は、スキャンフリップフロップＳＦＦｂと出力端子５との間に設けられ、スキャンフリップフロップＳＦＦｂが出力する出力データを出力端子５に伝達する。バッファ回路１３は、スキャンフリップフロップＳＦＦｃと出力端子７との間に設けられスキャンフリップフロップＳＦＦｃが出力するデータを出力端子６に伝達する。
【００２４】
クロックゲーティング回路１６は、クロック制御信号ＣＣＳａがイネーブル状態である期間にフリップフロップＳＦＦａ〜ＳＦＦｃに対するクロック信号（本実施の形態におけるゲーティングクロック信号ＧＣＬＫ）の供給を行う。本実施の形態では、クロックゲーティング回路１６としてＤラッチ回路を用いる。Ｄラッチ回路のデータ入力端子には、入力端子３及びバッファ回路１１を介して入力されるクロック信号ＣＬＫが入力され、クロック入力端子にはクロック制御信号ＣＣＳａが入力される。クロックゲーティング回路１６は、クロック制御信号ＣＣＳａがイネーブル状態（例えば、ロウレベルであって、ゲーティングクロック信号ＧＣＬＫの出力を指示する状態）である場合にクロック信号ＣＬＫをゲーティングクロック信号ＧＣＬＫとして出力する。一方、クロックゲーティング回路１６は、クロック制御信号ＣＣＳａがディスイネーブル状態（例えば、ハイレベルであって、ゲーティングクロック信号ＧＣＬＫの停止を指示する状態）である場合は、出力信号をロウレベルで固定（又はゲーティングクロック信号ＧＣＬＫを停止）する。なお、クロック制御信号ＣＣＳａの詳細については後述する。
【００２５】
クロック制御信号観測回路１７は、データ転送感知回路３２が出力するクロック制御信号の値を観測して、その観測値を出力端子７に出力する。本実施の形態では、クロック制御信号は、クロック制御信号ＣＣＳａと事前クロック制御信号ＣＣＳｂを含むが、実施の形態１では、事前クロック制御信号ＣＣＳｂを観測するものとする。本実施の形態では、クロック制御信号観測回路１７としてフリップフロップＦＦを用いる。フリップフロップＦＦは、データ入力端子に事前クロック制御信号ＣＣＳｂが入力され、クロック入力端子にはゲーティングクロック信号ＧＣＬＫが入力される。そして、フリップフロップＦＦは、ゲーティングクロック信号ＧＣＬＫの立ち上がりエッジに応じて事前クロック制御信号ＣＣＳｂの値を取り込み、その値を出力する。なお、フリップフロップＦＦには、ゲーティングクロック信号ＧＣＬＫに代えてクロック信号ＣＬＫを入力することもできる。
【００２６】
動作モード判別回路１８は、モード制御信号ＳＭＣがイネーブル状態の期間にクロック制御信号ＣＣＳａをディスイネーブル状態とする。より具体的には、動作モード判別回路１８は、モード制御信号がイネーブル状態（例えば、ロウレベルであって、スキャンテストのシフトモードを示す状態）である場合、事前クロック制御信号ＣＣＳｂの値にかかわらずクロック制御信号ＣＣＳａをイネーブル状態（例えば、ロウレベル）とする。
【００２７】
本実施の形態では、動作モード判別回路１８として反転入力付きＡＮＤ回路２０を有する。反転入力付きＡＮＤ回路２０は、通常入力端子に事前クロック制御信号ＣＣＳｂが入力され、反転入力端子にモード制御信号ＳＭＣが入力される。そして、反転入力付きＡＮＤ回路２０は、事前クロック制御信号ＣＣＳｂの値と、モード制御信号ＳＭＣの反転値との論理積演算結果をクロック制御信号ＣＣＳａとして出力する。
【００２８】
組合せ回路３０ａ〜３０ｃは、非同期回路である。図１に示す例では、組合せ回路３０ａが入力データＤＩＮを処理した結果が組合せ回路３０ｂ、３０ｃに伝達される。そして組合せ回路３０ｂ、３０ｃは、組合せ回路３０ａが出力したデータをそれぞれ処理して対応する出力端子に出力データとして出力する。そして、組合せ回路３０ａ〜３０ｂは、スキャンテストにおけるテスト対象回路である。
【００２９】
スキャンフリップフロップＳＦＦａ〜ＳＦＦｃは、モード制御信号ＳＭＣに基づきスキャンデータＳＩＮと入力データＤＩＮとのいずれか一方の値をゲーティングクロック信号ＧＣＬＫに応じて保持する。スキャンフリップフロップＳFＦａ〜ＳFＦｃは、スキャンデータ入力端子（図中のＳＩＮで示す端子）、データ入力端子（図中のＤで示す端子）、クロック入力端子（図中のＣで示す端子）、モード制御信号入力端子（図中のＳＭＣで示す端子）、出力端子（図中のＱで湿す端子）を有する。
【００３０】
スキャンフリップフロップＳＦＦａ〜ＳＦＦｃは、組合せ回路３０ａ〜３０ｃの間に設けられる。より具体的には、スキャンフリップフロップＳＦＦａは、組合せ回路３０ａの出力信号がデータ入力端子に入力され、出力端子が組合せ回路３０ｂの入力端子及び組合せ回路３０ｃの入力端子に接続される。スキャンフリップフロップＳＦＦｂは、組合せ回路３０ｂの出力信号がデータ入力端子に入力され、出力端子がバッファ回路１２を介して出力端子５に接続される。スキャンフリップフロップＳＦＦｃは、組合せ回路３０ｃの出力信号がデータ入力端子に入力され、出力端子がバッファ回路１３を介して出力端子６に接続される。
【００３１】
また、スキャンフリップフロップＳＦＦａは、スキャンデータ入力端子がバッファ回路１５を介して入力端子４に接続され、モード制御信号入力端子にはモード制御信号ＳＭＣが入力される。スキャンフリップフロップＳＦＦｂは、スキャンデータ入力端子がスキャンフリップフロップＳＦＦｂの出力端子に接続され、モード制御信号入力端子にはモード制御信号ＳＭＣが入力される。スキャンフリップフロップＳＦＦｃは、スキャンデータ入力端子がスキャンフリップフロップＳＦＦｂの出力端子に接続され、モード制御信号入力端子にはモード制御信号ＳＭＣが入力される。
【００３２】
ここで、スキャンフリップフロップＳＦＦａ〜ＳＦＦｃの動作について説明する。スキャンフリップフロップＳＦＦａ〜ＳＦＦｃは、モード制御信号ＳＭＣの値に応じて異なるデータを伝達する。まず、モード制御信号ＳＭＣがディスイネーブル状態（例えば、ハイレベル）の場合、スキャンフリップフロップＳＦＦａ〜ＳＦＦｃは、スキャンテストのキャプチャモード又は通常動作モードとなる。キャプチャモード又は通常動作モードでは、スキャンフリップフロップＳＦＦａ〜ＳＦＦｃはデータ入力端子に入力されるデータをゲーティングクロック信号ＧＣＬＫに応じて保持し、保持した値を出力する。一方、モード制御信号ＳＭＣがイネーブル状態（例えば、ハイレベル）の場合、スキャンフリップフロップＳＦＦａ〜ＳＦＦｃは、スキャンテストのシフトモードとなる。シフトモードでは、スキャンフリップフロップＳＦＦａ〜ＳＦＦｃは、スキャンデータ入力端子に入力されたデータをゲーティングクロック信号ＧＣＬＫに応じて保持し、保持したデータを出力する。このシフトモードでは、スキャンフリップフロップＳＦＦａ〜ＳＦＦｃは、シフトレジスタと同等の接続形態となる。
【００３３】
なお、スキャンフリップフロップＳＦＦａ〜ＳＦＦｃは、様々な回路形態のものを用いることができる。例えば、フリップフロップとセレクタとを有し、モード制御信号ＳＭＣに応じてフリップフロップに与えるデータをセレクタで切り替える回路形態や、２つのフリップフロップを有し、モード制御信号ＳＭＣに応じていずれか一方のフリップフロップを活性化させる回路形態が考えられる。
【００３４】
データ転送感知回路３２は、スキャンフリップフロップＳＦＦａ〜ＳＦＦｃのデータ入力端子及びデータ出力端子の値を監視してスキャンフリップフロップＳＦＦａ〜ＳＦＦｃのいずれかを介したデータ転送状態を感知し、データ転送が行われている期間はクロック制御信号（例えば、事前クロック制御信号ＣＣＳｂ）をイネーブル状態とする。データ転送感知回路３２は、抵抗Ｒ、監視部３３ａ〜３３ｃを有する。ここで、本実施の形態にかかるデータ転送感知回路３２は、スキャンフリップフロップＳＦＦａ〜ＳＦＦｃのいずれか１つでデータの転送が行われていれば事前クロック制御信号ＣＣＳｂをイネーブル状態とするため、スキャンフリップフロップＳＦＦａ〜ＳＦＦｃのそれぞれに対して監視部３３ａ〜３３ｃを設ける。例えば、監視部３３ａは、スキャンフリップフロップＳＦＦａに対応するものであり、監視部３３ｂは、スキャンフリップフロップＳＦＦｂに対応するものであり、監視部３３ｃはスキャンフリップフロップＳＦＦｃに対応するものである。
【００３５】
抵抗Ｒは、一方の端子が電源端子ＶＤＤに接続され、他方の端子が監視部３３ａ〜３３ｃの出力端子に接続される。監視部３３ａ〜３３ｃは、ＥｘＯＲ回路４１ａ〜４１ｃ及びＮＭＯＳトランジスタＭＮａ〜ＭＮｃを有する。ＥｘＯＲ回路４１ａ〜４１ｃは、スキャンフリップフロップＳＦＦａ〜ＳＦＦｃのうち対応するスキャンフリップフロップのデータ入力端子及びデータ出力端子を監視してデータ転送状態を感知してデータ転送感知信号を出力する転送感知部として機能する。また、ＮＭＯＳトランジスタＭＮａ〜ＭＮｃは、データ転送検知信号に基づきクロック制御信号（例えば、事前クロック制御信号ＣＣＳｂ）が示す状態を切り替えるクロック制御信号切替部として機能する。ＮＭＯＳトランジスタＭＮａ〜ＭＮｃは、抵抗Ｒを負荷とするオープンドレイン回路を構成する。そして、ＮＭＯＳトランジスタＭＮａ〜ＭＮｃのいずれかがオンすると抵抗Ｒに電流が流れ事前クロック制御信号ＣＣＳｂがロウレベルとなる。
【００３６】
ここで、実施の形態１にかかる半導体集積回路装置１の動作について説明する。まず、モード制御信号ＳＭＣがディスイネーブル状態（例えば、ロウレベル）となる通常動作モードの動作について説明する。通常動作モードでは、組合せ回路３０ａ〜３０ｃの出力データのいずれかに変化が生じると、スキャンフリップフロップのデータ入力端子とデータ出力端子とに論理レベルの差が生じる。この論理レベルの差に基づき監視部３３ａ〜３３ｃの少なくとも１つのＥｘＯＲ回路４１がデータ転送検知信号をハイレベルとする。そして、ハイレベルのデータ転送検知信号が入力されたＮＭＯＳトランジスタＭＮａ〜ＭＮｃは、オン状態となる。これにより、データ転送感知回路３２は、事前クロック制御信号ＣＣＳｂをロウレベルとする。そして、通常動作モードではモード制御信号ＳＭＣがロウレベルであるため、動作モード判別回路１８は、事前クロック制御信号ＣＣＳｂの論理レベルと同じ論理レベルを有するクロック制御信号ＣＣＳａを出力する。つまり、通常動作モードは、事前クロック制御信号ＣＣＳｂがそのままクロック制御信号ＣＣＳａとして用いられる。
【００３７】
ここで、クロックゲーティング回路１６は、クロック制御信号ＣＣＳａがロウレベルである場合はゲーティングクロック信号ＧＣＬＫを出力する。そのため、通常動作モードでは、スキャンフリップフロップＳＦＦａ〜ＳＦＦｃのいずれかを介したデータ転送が行われる状態ではスキャンフリップフロップＳＦＦａ〜ＳＦＦｃにゲーティングクロック信号ＧＣＬＫが供給され、スキャンフリップフロップＳＦＦａ〜ＳＦＦｃが動作する状態となる。
【００３８】
続いて、スキャンテスト時の半導体集積回路装置１の動作について説明する。スキャンテストでは、まずシフトモードにおいてスキャンフリップフロップＳＦＦａ〜ＳＦＦｃにスキャンデータを設定し、スキャンモードにおいて設定したスキャンデータに基づき組合せ回路３０ａ〜３０ｃが出力するデータをスキャンフリップフロップＳＦＦａ〜ＳＦＦｃに取り込む。そして、再度シフトモードに切り替え、スキャンフリップフロップＳＦＦａ〜ＳＦＦｃに取り込まれたテスト結果データを読み出す。
【００３９】
そこで、まず、スキャンテストのシフトモードでの半導体集積回路装置１の動作について説明する。シフトモードでは、モード制御信号ＳＭＣがイネーブル状態（例えば、ハイレベル）となる。そのため、動作モード判別回路１８は、事前クロック制御信号ＣＣＳｂの値にかかわらずクロック制御信号ＣＣＳａをロウレベルとする。そして、クロック制御信号ＣＣＳｂがロウレベルである場合、クロックゲーティング回路１６は、クロック信号ＣＬＫに応じてゲーティングクロック信号ＧＣＬＫを出力する。つまり、シフトモードでは、半導体集積回路装置１は、ゲーティングクロック信号ＧＣＬＫを生成し、スキャンフリップフロップＳＦＦａ〜ＳＦＦｃをシフトレジスタとして動作させてスキャンデータを設定する。
【００４０】
続いて、スキャンテスト時にモード制御信号ＳＭＣがディスイネーブル状態（例えば、ロウレベル）となるスキャンモードの動作について説明する。スキャンモードは、スキャンテストのテスト結果の取り込みに要する動作であって、その動作は通常動作モードのときの動作に等しい。スキャンテストでは、組合せ回路３０ａ〜３０ｃを構成するトランジスタを動作せること（トグルさせること）を目的としているため、スキャンフリップフロップＳＦＦａ〜ＳＦＦｃのデータ入力端子とデータ出力端子との値は多くの場合異なる論理レベルとなる。従って、スキャンモードでは、ゲーティングクロック信号ＧＣＬＫが生成され、通常動作と同じ動作が行われる。また、スキャンモードの動作は、おおよそ１クロックで動作が完了するため、スキャンモードの前に行われるシフトモードにおいて出力されたゲーティングクロック信号ＧＣＬＫにより通常動作モードと同等の動作することができる。
【００４１】
なお、通常動作モード、スキャンモード及びシフトモードのいずれのモードにおいてもクロック制御信号監視回路１７がゲーティングクロック信号ＧＣＬＫに応じて事前クロック制御信号ＣＣＳｂの値を保持して、クロック監視信号として出力する。このクロック監視信号を観測することで、半導体集積回路装置１の事前クロック制御信号ＣＣＳｂの状態を知ることができる。
【００４２】
上記説明より、実施の形態１にかかる半導体集積回路装置１では、動作モード判別回路１８がモード制御信号に応じてクロック制御信号ＣＣＳａの値を制御する。これにより、半導体集積回路装置１は、通常動作モード時にはクロックゲーティング回路１６によるクロック信号の制御による省電力効果を得ることができる。また、半導体集積回路装置１は、スキャンテスト時にはクロックゲーティング回路１６によるクロック信号の制御を実質的に無効化してスキャンテスト時にゲーティングクロック信号ＧＣＬＫが停止することによる誤動作を防止することができる。
【００４３】
また、半導体集積回路装置１では、クロック制御信号ＣＣＳａの値を制御する動作モード判別回路１８を１つの論理ゲート（本実施の形態では、反転入力付きＡＮＤ回路２０）により実現する。そのため、実施の形態１にかかる半導体集積回路装置１は、従来の半導体集積回路装置のようにスキャンテスト時の誤動作を防止するために多くの回路素子を追加する必要がない。つまり、実施の形態１にかかる半導体集積回路装置１は、ＡＳＩＣ等の回路素子の追加に制限のある半導体集積回路装置においてもスキャンテスト時の誤動作を防止し、かつ、クロックゲーティング技術を採用することができる。言い換えると、実施の形態１にかかる半導体集積回路装置１は、ＡＳＩＣ等の回路素子の追加に制限のある半導体集積回路装置において低消費電力と高い信頼性を実現することができる。
【００４４】
また、実施の形態１にかかる半導体集積回路装置１では、クロック制御信号監視回路１７により事前クロック制御信号ＣＣＳｂの状態を監視することで、回路動作をより高い精度で監視することができる。これにより、実施の形態１にかかる半導体集積回路装置１はより高い信頼性を確保することができる。
【００４５】
実施の形態２
実施の形態２にかかる半導体集積回路装置１ａのブロック図を図２に示す。なお、実施の形態２にかかる半導体集積回路装置１ａの説明において、実施の形態１にかかる半導体集積回路装置１と同じ構成要素については実施の形態１の説明で用いた符号と同一の符号を付して説明を省略する。
【００４６】
図２に示すように、半導体集積回路装置１ａは、動作モード判別回路１８に代えて動作モード判別回路１８ａを有する。動作モード判別回路１８ａは、データ転送感知回路３２の複数の監視部のうち１つに組み込まれる。実施の形態２の説明では、動作モード判別回路１８ａを有する監視部を監視部３４と称す。図２に示す例では、監視部３３ａに代えて監視部３４が設けられる。ここで、実施の形態２にかかる半導体集積回路装置１ａでは、複数の監視部のうち１つのみを監視部３４とする。
【００４７】
また、図２に示すように、実施の形態２にかかる半導体集積回路装置１ａでは、データ転送感知回路３２がクロックゲーティング回路１６に入力されるクロック制御信号ＣＣＳａを直接出力する。
【００４８】
監視部３４は、ＥｘＯＲ回路４１ａ、ＮＭＯＳトランジスタＭＮａ、動作モード判別回路１８ａを有する。動作モード判別回路１８ａは、ＥｘＯＲ回路２１ａ及びセレクタ２２ａを有する。ＥｘＯＲ回路２１ａは、スキャンフリップフロップＳＦＦａのスキャンデータ入力端子及びデータ出力端子の値を監視してスキャンフリップフロップＳＦＦａを介したスキャンデータ転送状態を検知してスキャンデータ転送感知信号を出力する第２の転送感知部として機能する。ここで、実施の形態２の説明では、ＥｘＯＲ回路４１ａを第１の転送感知部と称す。セレクタ２２ａは、ＥｘＯＲ回路４１ａが出力するデータ転送感知信号とＥｘＯＲ回路２１ａが出力するスキャンデータ転送感知信号とが入力される。そしてセレクタ２２ａは、モード制御信号ＳＭＣに応じてデータ転送感知信号とスキャンデータ転送感知信号とのいずれか一方を選択して、選択した信号を切替信号としてクロック制御信号切替部（例えば、ＮＭＯＳトランジスタＭＮａ）に与える。
【００４９】
つまり、監視部３４は、モード制御信号ＳＭＣが通常動作モード又はスキャンモードを示している場合（例えば、ロウレベルであって、ディスイネーブル状態を示す場合）、スキャンフリップフロップＳＦＦａにおいて入力データの転送が行われていることを感知してＮＭＯＳトランジスタＭＮａをオン状態とする。また、監視部３４は、モード制御信号ＳＭＣがシフトモードを示している場合（例えば、ハイレベルであって、イネーブル状態を示す場合）、スキャンフリップフロップＳＦＦａにおいてスキャンデータが転送されていることを感知してＮＭＯＳトランジスタＭＮａをオン状態とする。
【００５０】
上記説明より、実施の形態２にかかる半導体集積回路装置１ａでは、複数の監視部のうち１つを動作モード判別回路１８ａを有する監視部３４とする。これにより、通常動作モードでは、実施の形態１と同様にクロック制御信号ＣＣＳａ及びクロックゲーティング回路１６による消費電力の低減を行うことができる。また、スキャンテスト時においてもスキャンフリップフロップＳＦＦａを介したスキャンデータの転送に基づきクロックゲーティング回路１６を無効化してスキャンテストのシフトモード時の誤動作を防止することができる。
【００５１】
また、実施の形態２にかかる半導体集積回路装置１ａでは、複数の監視部のうち１つを動作モード判別回路１８ａを有する監視部３４とするため、スキャンテスト時の誤動作を防止するために追加する回路はごくわずかである。つまり、実施の形態２にかかる半導体集積回路装置１ａにおいても、ＡＳＩＣ等の回路素子の追加に制限のある半導体集積回路装置において低消費電力と高い信頼性を実現することができる。なお、監視部３４は、少なくとも１つが設けられていれば良く、監視部３４が複数設けられていても構わない。
【００５２】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、スキャンフリップフロップは、モード制御信号ＳＭＣに応じて２つの入力のいずれを入出力するかを切り替えられるフリップフロップであれば良く、その回路形態に制限はない。また、クロック制御信号監視回路１７として用いられるフリップフロップＦＦは、スキャンフリップフロップを用い、スキャンチェーンの一部を構成する回路であっても構わない。
【符号の説明】
【００５３】
１、１ａ    半導体集積回路装置
２〜４、８    入力端子
５〜７    出力端子
１０〜１５    バッファ回路
１６    クロックゲーティング回路
１７    クロック制御信号観測回路
１８、１８ａ    動作モード判別回路
２０    反転入力付きＡＮＤ回路
２２ａ    セレクタ
３０ａ〜３０ｃ    組合せ回路
３２    データ転送感知回路
３３ａ〜３３ｃ、３４    監視部
４１ａ〜４１ｃ、２１ａ    ＥｘＯＲ回路
Ｒ    抵抗
ＭＮａ〜ＭＮｃ    ＮＭＯＳトランジスタ
ＳＦＦａ〜ＳＦＦｃ    スキャンフリップフロップ
ＣＬＫ    クロック信号
ＤＩＮ    入力データ
ＳＩＮ    スキャンデータ
ＳＭＣ    モード制御信号
ＧＣＬＫ    ゲーティングクロック信号
【図１】
2010256262.tif 000003
【図２】
2010256262.tif 000004
【図３】
2010256262.tif 000005
【図４】
2010256262.tif 000006
【図５】
2010256262.tif 000007
【図６】
2010256262.tif 000008