(57)【要約】【課題】半導体集積回路のスキャンテストにおける消費電力を削減する。【解決手段】本発明による半導体集積回路は、スキャンテスト時にスキャンチェーンを構成する複数のスキャンフリップフロップと、クロック入力と複数のスキャンフリップフロップとの間に接続された複数のクロックゲーティング回路とを具備する。複数のクロックゲーティング回路は直列にチェーン接続され、チェーン接続を介してゲーティング設定データがシリアル入力される。複数のクロックゲーティング回路のそれぞれは、入力されたゲーティング設定データに応じて、クロック入力とスキャンフリップフロップとの接続を制御する。【選択図】図３
2010276479.tif 000002
【特許請求の範囲】
【請求項１】
スキャンテスト時にスキャンチェーンを構成する複数のスキャンフリップフロップと、
クロック入力と前記複数のスキャンフリップフロップとの間に接続された複数のクロックゲーティング回路と
を具備し、
前記複数のクロックゲーティング回路は直列にチェーン接続され、前記チェーン接続を介してゲーティング設定データがシリアル入力され、
前記複数のクロックゲーティング回路のそれぞれは、前記ゲーティング設定データに応じて、クロック入力とスキャンフリップフロップとの接続を制御する
半導体集積回路。
【請求項２】
請求項１に記載の半導体集積回路において、
前記複数のクロックゲーティング回路のそれぞれは、
ラッチ回路と、
第１マルチプレクサと、
論理演算素子と、
を備え、
前記マルチプレクサは、前記ゲーティング設定データと、前記ラッチ回路の出力であるクロックゲーティングイネーブル出力との一方を選択して前記ラッチ回路に出力し、
前記論理演算素子は、前記クロックゲーティングイネーブル出力と前記クロック入力とに応じたゲーテッドクロック信号を前記複数のスキャンフリップフロップのいずれかに出力する論理演算素子と
を備える
半導体集積回路。
【請求項３】
請求項２に記載の半導体集積回路において、
前記複数のスキャンフリップフロップのそれぞれは、スキャンモード制御信号に応じて、スキャンシフトモードとキャプチャモードとが切り換えられ、スキャンシフトモード時、前段のスキャンフリップフロップから入力されたテストパタンデータと、前記ゲーテッドクロック信号に応じてフリップフロップに取り込まれたテストパタンデータの一方を、前記クロックゲーティングイネーブル信号の信号レベルに応じて選択し、データ出力と次段のスキャンフリップフロップとに出力する第２マルチプレクサを備える
半導体集積回路。
【請求項４】
請求項３に記載の半導体集積回路において、
キャプチャモード時、前記第２マルチプレクサは、前記ゲーテッドクロック信号に応じてフリップフロップに取り込まれたデータを前記データ出力に出力する
半導体集積回路。
【請求項５】
スキャンチェーンを構成する複数のスキャンフリップフロップのそれぞれに対するクロック入力の導通又は遮断を設定するステップと、
前記クロック入力の導通又は遮断が設定されたスキャンチェーンにテストパタンデータを入力するステップと
を具備する
半導体集積回路のテスト方法。
【請求項６】
請求項５に記載の半導体集積回路のテスト方法において、
前記設定するステップは、
直列にチェーン接続された複数のクロックゲーティング回路に対し前記チェーン接続を介してゲーティング設定データをシリアル入力するステップと、
前記複数のクロックゲーティング回路のそれぞれが、前記ゲーティング設定データに応じて、クロック入力と前記複数のスキャンフリップフロップのいずれかとの接続を制御するステップと
を備える
半導体集積回路のテスト方法。
【請求項７】
請求項６に記載の半導体集積回路のテスト方法において、
前記スキャンチェーンにテストパタンデータを入力ステップは、
前記クロック入力と前記複数のフリップフロップのうち第１フリップフロップとの間に接続を遮断するステップと、
前記第１フリップフロップが、前記テストパタンを次段のフリップフロップにスルー出力するステップと
を備える
半導体集積回路のテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路、及びそのテスト方法に関し、特にスキャン回路、及びスキャンテスト方法に関する。
【背景技術】
【０００２】
半導体集積回路の製造後、又は製品中に遅延故障（ｄｅｌａｙ  ｆａｕｌｔ）や縮退故障（ｓｔｕｃｋ−ａｔ  ｆａｕｌｔ）が発生しているか否かを確認するため、テスト回路を設計段階で予め組み込んでおく設計技術が知られている。例えば、予め組み込んだスキャン回路によってスキャンチェーンのスキャンテストが行われる。スキャンテストでは、スキャンチェーンのシフト動作によって、テストパタンデータを組み合わせ回路に入力し、キャプチャ動作によって組み合わせ回路の出力データがスキャンセル（フリップフロップ）に取り出される。次に、スキャンセルに取り出された出力データは、シフト動作によって外部に出力される。このように外部に取り出されたデータ（スキャンアウトデータ）とその期待値とを比較することにより、テスト対象回路内の論理回路の良否を判定することができる。
【０００３】
一方、半導体集積回路において、電源供給能力を超えた動作電流が流れた場合、電源は、集積回路が正しく動作可能な電源電圧を維持できなくなり誤動作が発生する場合がある。特に、半導体集積回路の大規模化と高速化による消費電力の増大に伴い、スキャンテスト実施時における消費電力の増大は顕著である。このため、スキャンテスト時における消費電力の増大を抑制するテスト回路の要求が高まっている。
【０００４】
スキャン回路に関する技術が、例えば特開２００７−２４８１３５に記載されている（特許文献１参照）。図１は、特許文献１に記載のスキャン回路の構成を示す図である。図２は、特許文献１に記載のスキャンテスト動作を示すタイミングチャートである。
【０００５】
図１及び図２を参照して、スキャンシフト動作期間（ＳＣＡＮ＿Ｓｈｉｆｔ）中、テストクロック制御回路ＴＣ１１、ＴＣ１２、ＴＣ１３に内蔵されるスキャンフリップフロップに対して、スキャンシフト動作の最終値が入力される。例えば、テストクロック制御回路ＴＣ１１に“０”、テストクロック制御回路ＴＣ１２“１”、テストクロック制御回路ＴＣ１３に“０”が入力される。この状態で、スキャンイネーブル信号ＳＥＮがＬＯＷレベルに設定されることで、スキャンキャプチャ動作モードに切り替えられる。
【０００６】
スキャンキャプチャ期間（ＳＣＡＮ＿Ｃａｐｔｕｒｅ）中、テストクロック制御回路ＴＣ１１、ＴＣ１３のクロック出力信号ＭＣＯＵＴ１、ＭＣＯＵＴ３は、シフト動作において入力された値“０”に応じて“０”に固定され、クロックパルスとして動作しない。これにより、レジスタ群ＳＦＦＧ１ａ〜ＳＦＦＧ１ｚやレジスタ群ＳＦＦＧ３ａ〜ＳＦＦＧ３ｚに対するキャプチャ動作は実行されず、スキャン出力端子ＳＯＴ２、ＳＯＴ４からはデータが取り出されない。
【０００７】
一方、スキャンキャプチャ期間中、テストクロック制御回路ＴＣ１２のクロック出力信号ＭＣＯＵＴ２は、シフト動作において入力された値“１”に応じてテストクロックＳＣＬＫと同じクロックパルスとなる。これにより、シフト動作によってレジスタ群ＳＦＦＧ２ａ〜ＳＦＦＧ２ｚにシフト入力されたデータはスキャン出力端子ＳＯＴ３から取り出される。
【０００８】
このように、特許文献１に記載のスキャン回路は、所望のクロックドメインのみクロックを供給するように制御することにより、特定のクロックドメインのみクロック供給を停止し、スキャンテスト実行中の消費電力を抑制することが可能になる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−２４８１３５
【発明の概要】
【発明が解決しようとする課題】
【００１０】
スキャンテスト時において任意のクロックドメインもしくはスキャンチェーンへのクロック供給を停止することは、テスト中の消費電力を抑制する効果がある。しかし、特許文献１では、スキャンテストにおけるシフト動作時に、クロックの供給対象となるクロックドメインを設定している。この場合、スキャンシフト期間中、スキャンチェーン上の全てのスキャンフリップフロップにクロックが供給され、全てのスキャンフリップフロップがシフト動作を行うこととなる。このため、キャプチャ期間中のみならずシフト動作中も消費電力を低減できるスキャン回路及びスキャンテスト方法が求められている。
【課題を解決するための手段】
【００１１】
上記の課題を解決するために、本発明は、以下に述べられる手段を採用する。その手段を構成する技術的事項の記述には、［特許請求の範囲］の記載と［発明を実施するための形態］の記載との対応関係を明らかにするために、［発明を実施するための形態］で使用される番号・符号が付加されている。但し、付加された番号・符号は、［特許請求の範囲］に記載されている発明の技術的範囲を限定的に解釈するために用いてはならない。
【００１２】
本発明による半導体集積回路は、スキャンテスト時にスキャンチェーンを構成する複数のスキャンフリップフロップ（ＳＦ００〜ＳＦｘｚ）と、クロック入力（ＣＬＫ０）と複数のスキャンフリップフロップ（ＳＦ００〜ＳＦｘｚ）との間に接続された複数のクロックゲーティング回路（ＧＣ０〜ＧＣｘ）とを具備する。複数のクロックゲーティング回路（ＧＣ０〜ＧＣｘ）は直列にチェーン接続され、チェーン接続を介してゲーティング設定データがシリアル入力される。複数のクロックゲーティング回路（ＧＣ０〜ＧＣｘ）のそれぞれは、入力されたゲーティング設定データに応じて、クロック入力（ＣＬＫ０）とスキャンフリップフロップとの接続を制御する。
【００１３】
このような構成により、スキャンテストにおいてテストパタンデータを入力するスキャンシフトモードの前に、クロック供給を停止するスキャンフリップフロップを設定することができる。このため、スキャンテストの全期間において、任意のスキャンフリップフロップの動作を停止し電力消費を抑制することができる。
【００１４】
又、本発明による半導体集積回路のテスト方法は、スキャンチェーンを構成する複数のスキャンフリップフロップ（ＳＦ００〜ＳＦｘｚ）のそれぞれに対するクロック入力（ＣＬＫ）の導通又は遮断を設定するステップと、クロック入力（ＣＬＫ）の導通又は遮断が設定されたスキャンチェーンにテストパタンデータを入力するステップとを具備する。
【発明の効果】
【００１５】
本発明によれば、スキャンテストにおける消費電力を削減することができる。
【００１６】
又、スキャンテストにおける誤判定が減少する。
【図面の簡単な説明】
【００１７】
【図１】図１は、従来技術によるスキャン回路の構成の一例を示す図である。
【図２】図２は、従来技術によるスキャンテスト動作の一例を示すタイミングチャートである。
【図３】図３は、本発明によるスキャン回路の構成を示す図である。
【図４】図４は、本発明によるクロックゲーティング回路の構成を示す図である。
【図５】図５は、本発明に係るスキャンフリップフロップの構成の一例を示す図である。
【図６】図６は、本発明によるクロックゲーティング設定動作の一例を示すタイミングチャートである。
【図７】図７は、本発明によるスキャンテスト動作の一例を示すタイミングチャートである。
【発明を実施するための形態】
【００１８】
以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示している。
【００１９】
（構成）
図３から図５を参照して、本発明による半導体集積回路（スキャン回路）の構成を説明する。図３は、本発明によるスキャン回路の全体構成を示す図である。図３を参照して、本発明によるスキャン回路は、複数のクロックゲーティング回路ＧＣ０〜ＧＣｘ、複数のスキャンフリップフロップＳＦ００〜ＳＦｚ０、ＳＦ１０〜ＳＦ１ｚ、ＳＦ２０〜ＳＦ２ｚ、ＳＦｘ０〜ＳＦｘｚを具備する。尚、ｘ、ｚは整数である。
【００２０】
本発明によるスキャン回路は、クロック入力ＣＬＫ０、スキャン入力ＳＩＮ００、スキャン出力ＳＯＵＴｘｚ、ゲーティング制御入力ＧＳＩＮ０、クロックゲーティングイネーブル出力ＧＳＯＵＴｘ、テストモード制御信号入力ＡＭＣ０、スキャンモード制御信号入力ＳＭＣ０、クロックゲーティング回路設定制御入力ＧＣＣ０を端子として持つ。以下、クロックゲーティングイネーブル出力ＧＳＯＵＴｘをイネーブル出力ＧＳＯＵＴｘ、テストモード制御信号入力ＡＭＣ０をモード制御入力ＡＭＣ０、スキャンモード制御信号入力ＳＭＣ０をモード制御入力ＳＭＣ０、クロックゲーティング回路設定制御入力ＧＣＣ０を設定制御入力ＧＣＣ０と称す。
【００２１】
クロックゲーティング回路ＧＣ０〜ＧＣｘのそれぞれは、通常動作用クロックゲーティングイネーブル信号入力ＥＮ、スキャン用クロックゲーティングイネーブル信号入力ＧＳＩＮ、テストモード制御信号入力ＡＭＣ、クロックゲーティング回路設定制御入力ＧＣＣ、ゲーテッドクロック出力ＧＣＬＫ、クロックゲーティングイネーブル出力ＧＳＯＵＴ、クロック入力ＣＬＫを端子として持つ。以下、通常動作用クロックゲーティングイネーブル信号入力ＥＮをイネーブル信号入力ＥＮ、スキャン用クロックゲーティングイネーブル信号入力ＧＳＩＮをイネーブル信号入力ＧＳＩＮ、テストモード制御信号入力ＡＭＣを制御信号入力ＡＭＣ、クロックゲーティング回路設定制御入力ＧＣＣを設定制御入力ＧＣＣを設定制御入力ＧＣＣ、クロックゲーティングイネーブル出力ＧＳＯＵＴをイネーブル出力ＧＳＯＵＴと称す。
【００２２】
スキャンフリップフロップＳＦ００〜ＳＦｚ０、ＳＦ１０〜ＳＦ１ｚ、ＳＦ２０〜ＳＦ２ｚ、ＳＦｘ０〜ＳＦｘｚのそれぞれは、データ入力ＤＩＮ、スキャン入力ＳＩＮ、スキャン用クロックゲーティングイネーブル信号入力ＧＣＥＮ、スキャンモード制御入力ＳＭＣ、クロック入力ＣＬＫ、データ出力ＤＯＵＴ、スキャン出力ＳＯＵＴを端子として持つ。以下、スキャン用クロックゲーティングイネーブル信号入力ＧＣＥＮをイネーブル信号入力ＧＣＥＮ、スキャンモード制御入力ＳＭＣをモード制御入力ＳＭＣと称す。
【００２３】
クロック入力ＣＬＫ０は、全てのクロックゲーティング回路ＧＣ０〜ＧＣｘのクロック入力ＣＬＫに接続される。設定制御入力ＧＣＣ０は、全てのクロックゲーティング回路ＧＣ０〜ＧＣｘの設定制御入力ＧＣＣに接続される。モード制御入力ＡＭＣ０は、全てのクロックゲーティング回路ＧＣ０〜ＧＣｘのモード制御入力ＡＭＣに接続される。
【００２４】
ゲーティング制御入力ＧＳＩＮ０は、クロックゲーティング回路ＧＣ０のイネーブル信号入力ＧＳＩＮに接続される。クロックゲーティング回路ＧＣ０のイネーブル出力ＧＳＯＵＴ（ＧＳＯＵＴ０）はクロックゲーティング回路ＧＣ１のイネーブル信号入力ＧＳＩＮに接続され、クロックゲーティング回路ＧＣ１のイネーブル出力ＧＳＯＵＴ（ＧＳＯＵＴ１）はクロックゲーティング回路ＧＣ２のイネーブル信号入力ＧＳＩＮに接続され、以下同様に、クロックゲーティング回路ＧＣｘまで順次直列にチェーン接続される。
【００２５】
又、クロックゲーティング回路ＧＣ０のイネーブル出力ＧＳＯＵＴ（ＧＳＯＵＴ０）は、スキャンフリップフロップＳＦ００〜ＳＦ０ｚのイネーブル信号入力ＧＣＥＮに接続される。クロックゲーティング回路ＧＣ１のイネーブル出力ＧＳＯＵＴ（ＧＳＯＵＴ１）は、スキャンフリップフロップＳＦ１０〜ＳＦ１ｚのイネーブル信号入力ＧＣＥＮに接続される。クロックゲーティング回路ＧＣ２のイネーブル出力ＧＳＯＵＴ（ＧＳＯＵＴ２）は、スキャンフリップフロップＳＦ２０〜ＳＦ２ｚのイネーブル信号入力ＧＣＥＮに接続される。以下同様に、クロックゲーティング回路ＧＣｘのイネーブル出力ＧＳＯＵＴ（ＧＳＯＵＴｘ）は、スキャンフリップフロップＳＦｘ０〜ＳＦｘｚのイネーブル信号入力ＧＣＥＮに接続される。
【００２６】
クロックゲーティング回路ＧＣ０のゲーテッドクロック出力ＧＣＬＫ（ＧＣＬＫ０）は、スキャンフリップフロップＳＦ００〜Ｆ０ｚのクロック入力ＣＬＫに接続される。クロックゲーティング回路ＧＣ１のゲーテッドクロック出力ＧＣＬＫ（ＧＣＬＫ１）は、スキャンフリップフロップＳＦ１０〜Ｆ１ｚのクロック入力ＣＬＫに接続される。クロックゲーティング回路ＧＣ２のゲーテッドクロック出力ＧＣＬＫ（ＧＣＬＫ２）は、スキャンフリップフロップＳＦ２０〜Ｆ２ｚのクロック入力ＣＬＫに接続される。以下同様に、クロックゲーティング回路ＧＣｘのゲーテッドクロック出力ＧＣＬＫ（ＧＣＬＫｘ）は、スキャンフリップフロップＳＦｘ０〜Ｆｘｚのクロック入力ＣＬＫに接続される。
【００２７】
スキャン入力ＳＩＮ００は、スキャンフリップフロップＳＦ００のスキャン入力ＳＩＮに接続され、スキャンフリップフロップＳＦ００のスキャン出力ＳＯＵＴ（ＳＯＵＴ００）はスキャンフリップフロップＳＦ１０のスキャン入力ＳＩＮに接続され、スキャンフリップフロップＳＦ００のスキャン出力ＳＯＵＴ（ＳＯＵＴ０１）はスキャンフリップフロップＳＦ２０のスキャン入力ＳＩＮに接続される。以下同様に、スキャン出力ＳＯＵＴ及びスキャン入力ＳＩＮを介してスキャンフリップフロップがチェーン接続され、スキャンフリップフロップＳＦ００を入力段（初段）、スキャンフリップフロップＳＦｘｚを最終段としたスキャンチェーンが構成される。
【００２８】
スキャンモード制御信号入力ＳＭＣ０は、全てのスキャンフリップフロップＳＦ００〜ＳＦｘｚのモード制御入力ＳＭＣに接続される。
【００２９】
次に、図４を参照して、本発明によるクロックゲーティング回路ＧＣ０〜ＧＣｘの構成の詳細を説明する。図４は、本発明によるクロックゲーティング回路ＧＣ０の構成の一例を示す図である。他のクロックゲーティング回路ＧＣ１〜ＧＣｘｚの構成は、クロックゲーティング回路ＧＣ０と同様であるのでその説明は省略する。
【００３０】
クロックゲーティング回路ＧＣ０は、マルチプレクサＭＸ１とクロックゲーティングセルＬＴ１を備える。マルチプレクサＭＸ１は、入力端子として、データ入力Ｄ０〜Ｄ２、制御信号入力Ｓ０、Ｓ１を備え、出力端子として出力Ｙを備える。データ入力Ｄ０はイネーブル出力ＧＳＯＵＴに接続され、データ入力Ｄ１はイネーブル信号入力ＧＳＩＮに接続され、データ入力Ｄ２はイネーブル信号入力ＥＮに接続される。制御信号入力Ｓ０はモード制御入力ＡＭＣに接続され、制御信号入力Ｓ１は設定制御入力ＧＣＣに接続される。又、出力Ｙは、クロックゲーティングセルＬＴ１の制御入力ＧＴに接続される。
【００３１】
マルチプレクサＭＸ１は、制御信号入力Ｓ０、Ｓ１に入力されるモード制御入力ＡＭＣ、設定制御入力ＧＣＧの信号レベル（論理値）に応じてデータ入力Ｄ０〜Ｄ２のいずれかを選択して出力ＹからクロックゲーティングセルＬＴ１に出力する。詳細には、ＨＩＧＨレベルのモード制御入力ＡＭＣによって、クロックゲーティング回路ＧＣ０はテストモードとなる。テストモード時、出力Ｙは、ＨＩＧＨレベルの設定制御入力ＧＣＣに応じてデータ入力Ｄ１（イネーブル信号入力ＧＳＩＮ）となり、ＬＯＷレベルの設定制御入力ＧＣＣに応じてデータ入力Ｄ０（イネーブル出力ＧＳＯＵＴ）となる。一方、ＬＯＷレベルのモード制御入力ＡＭＣによって、クロックゲーティング回路ＧＣ０は通常モードとなる。通常モード時、出力Ｙは常時データ入力Ｄ２（イネーブル信号入力ＥＮ）となる。
【００３２】
クロックゲーティングセルＬＴ１は、マルチプレクサＭＸ１によって選択されたイネーブル信号（出力Ｙ）に応じてスキャンフリップフロップに対するクロックの導通（供給）と遮断（供給停止）を制御する。クロックゲーティングセルＬＴ１は、入力端子として制御信号入力ＧＴとクロック入力ＣＬＫを備え、出力端子としてイネーブル出力ＧＳＯＵＴとゲーテッドクロック出力ＧＣＬＫを備える。クロックゲーティングセルＬＴ１は、ラッチ回路ＬＴ１ＡとＡＮＤ素子ＬＴ１Ｂを備える。ラッチ回路ＬＴ１Ａは、クロック入力ＣＬＫに応じて、制御信号入力ＧＴに入力されたイネーブル信号をラッチし、イネーブル出力ＧＳＯＵＴに出力する。ＡＮＤ素子ＬＴ１Ｂは、クロック入力ＣＬＫとイネーブル出力ＧＳＯＵＴとの論理積をゲーテッドクロック出力ＧＬＫに出力する。ＡＮＤ素子ＬＴ１Ｂは、他の論理演算によっても実現しても良い。
【００３３】
テストモード時、ＨＩＧＨレベルの設定制御入力ＧＣＣに応じて、データ入力Ｄ１（イネーブル信号入力ＧＳＩＮ）がクロックゲーティングセルＬＴ１に入力される。この際、ゲーテッドクロック出力ＧＣＬＫは、イネーブル信号入力ＧＳＩＮに応じた信号レベルを示す。ここで、設定制御入力ＧＣＣがＬＯＷレベルになると、イネーブル出力ＧＳＯＵＴは、クロックゲーティングセルＬＴ１にラッチされたデータの信号レベルに固定される。すなわち、クロックゲーティング回路ＧＣ０に対して、ゲートクロック出力ＧＣＬＫの導通及び遮断を決定するデータ（イネーブル出力ＧＳＯＵＴ）が設定される。例えば、クロックゲーティング回路ＧＣ０が、ＨＩＧＨレベルのイネーブル出力ＧＳＯＵＴに設定（固定）された場合、ゲーテッドクロック出力ＧＣＬＫはクロック入力ＣＬＫに応じた信号レベルとなる。すなわち、ゲートクロック出力ＧＣＬＫが導通状態となり、クロック入力ＣＬＫからのクロック信号が、スキャンフリップフロップＳＦ００〜０ｚに供給される（クロック導通）。あるいは、クロックゲーティング回路ＧＣ０が、ＬＯＷレベルのイネーブル出力ＧＳＯＵＴに設定（固定）された場合、ゲーテッドクロック出力ＧＣＬＫがＬＯＷレベルに固定される（クロック遮断）。
【００３４】
一方、通常モード時、データ入力Ｄ２（イネーブル信号入力ＥＮ）がクロックゲーティングセルＬＴ１に入力される。この際、ゲーテッドクロック出力ＧＣＬＫは、イネーブル信号入力ＥＮに応じた信号レベルを示す。すなわち、クロックゲーティング回路ＧＣ０に対して、ゲートクロック出力ＧＣＬＫの導通及び遮断を決定するデータ（イネーブル出力ＧＳＯＵＴ）が設定される。例えば、クロックゲーティング回路ＧＣ０が、ＨＩＧＨレベルのイネーブル出力ＧＳＯＵＴに設定（固定）された場合、クロック入力ＣＬＫに応じた信号レベルのゲーテッドクロック出力ＧＣＬＫが出力される（クロック導通）。あるいは、クロックゲーティング回路ＧＣ０が、ＬＯＷレベルのイネーブル出力ＧＳＯＵＴに設定（固定）された場合、ゲーテッドクロック出力ＧＣＬＫはＬＯＷレベルに固定される（クロック遮断）。
【００３５】
図５は、本発明によるスキャン回路に用いられるスキャンフリップフロップＳＦ００の構成を示す図である。他のスキャンフリップフロップＳＦ０１〜ＳＦｘｚの構成は、スキャンフリップフロップＳＦ００と同様であるのでその説明は省略する。図３を参照して、スキャンフリップフロップＳＦ００は、フリップフロップＦＦ１とマルチプレクサＭＸ２を備える。又、スキャンフリップフロップＳＦ００は、入力端子として、データ入力ＤＩＮ、スキャン入力ＳＩＮ、イネーブル信号入力ＧＣＥＮ、モード制御入力ＳＭＣ、クロック入力ＣＬＫを備え、出力端子としてデータ出力ＤＯＵＴ、スキャン出力ＳＯＵＴを備える。
【００３６】
フリップフロップＦＦ１は、データ入力ＤＩＮ、スキャン入力ＳＩＮ、モード制御入力ＳＭＣのそれぞれに接続されるセレクタＳＬ１と、セレクタの出力とクロック入力ＣＬＫに接続され、出力Ｑを有するフリップフロップＦＦ１Ａを備える。フリップフロップＦＦ１の出力ＱはマルチプレクサＭＸ２のデータ入力Ｄ１に接続される。セレクタＳＬ１は、モード制御入力ＳＭＣの信号レベルに応じてデータ入力ＤＩＮとスキャン入力ＳＩＮの一方を選択してフリップフロップＦＦ１Ａに出力する。フリップフロップＦＦ１Ａは、セレクタＳＬ１の出力をクロックＣＬＫに応じて取り込み、出力ＱからマルチプレクサＭＸ２に出力する。
【００３７】
マルチプレクサＭＸ２は、制御信号入力Ｓ０、Ｓ１に入力されるモード制御入力ＳＭＣ及びイネーブル信号入力ＧＣＥＮの信号レベルに応じてデータ入力Ｄ０、Ｄ１の一方を選択してデータ出力ＤＯＵＴ及びスキャン出力ＳＯＵＴに出力する。詳細には、ＨＩＧＨレベルのモード制御入力ＳＭＣによって、スキャンフリップフロップＦＳ００はスキャンシフトモードとなり、フリップフロップＦＦ１Ａはクロック入力ＣＬＫに応じてスキャン入力ＳＩＮを取り込む。ここで、マルチプレクサＭＸ２は、イネーブル信号入力ＧＣＥＮがＨＩＧＨレベルのときデータ入力Ｄ１（出力Ｑ）を選択して出力Ｙとし（スキャンシフト）、ＬＯＷレベルのときデータ入力Ｄ０（スキャン入力ＳＩＮ）を選択して出力Ｙとする（スルー出力）。一方、ＬＯＷレベルのモード制御入力ＳＭＣによって、スキャンフリップフロップＦＳ００はキャプチャモード又は通常モードとなり、フリップフロップＦＦ１Ａはクロック入力ＣＬＫに応じてデータ入力ＤＩＮを取り込む。ここで、マルチプレクサＭＸ２は、イネーブル信号入力ＧＣＥＮの信号レベルに関係なくデータ入力Ｄ１（出力Ｑ）を選択して出力Ｙとする。
【００３８】
（動作）
次に、図６及び図７を参照して、本発明によるスキャンテスト動作の一例を説明する。本発明では、スキャンテストを行なう前に、クロックゲーティング回路ＧＣ０〜ＧＣｘのそれぞれに対し、クロックを導通させるか遮断するかを設定する。この設定動作を行なうモードをクロックゲーティング設定モードと称す。
【００３９】
図６は、本発明によるクロックゲーティング設定動作の一例を示すタイミングチャートである。図６を参照して、先ずＨＩＧＨレベルのモード制御入力ＡＭＣ０によって、図３に示すスキャン回路はテストモードに切り替わる。この状態において、設定制御入力ＧＣＣ０がＨＩＧＨレベルである期間Ｔ１、スキャン回路はクロックゲーティング設定モードとなる。
【００４０】
期間Ｔ１において、ゲーティング制御入力ＧＳＩＮ０からクロックゲーティング回路ＧＣ０〜ＧＣｘに対して、所望の状態（クロックの導通または遮断）に設定するデータ（ゲーティング設定データ）を、クロック入力ＣＬＫ０と同期してシリアルに入力する。ゲーティング制御入力ＧＳＩＮ０からシリアルに入力されたゲーティング設定データは、イネーブル信号入力ＧＳＩＮとイネーブル出力ＧＳＯＵＴとを介して、クロックゲーティング回路ＧＣ０〜ＧＣｘのそれぞれに入力される。この際、導通状態としたいクロックゲーティング回路に対してはＨＩＧＨレベル、遮断状態としたいクロックゲーティング回路に対してはＬＯＷレベルのゲーティング設定データが入力される。又、期間Ｔ１では、ゲーテッドクロック出力ＧＣＬＫ０〜ＧＬＫｘの値は確定せず、それぞれのイネーブル出力ＧＳＯＵＴに応じた値（Ｘ）を示す。
【００４１】
全てのクロックゲーティング回路ＧＣ０〜ＧＣｘに対し所望のゲーティング設定データが入力された時点で設定制御入力ＧＣＣ０をＬＯＷレベルとし、クロックゲーティング設定モードを解除する（期間Ｔ２）。このとき、クロックゲーティング回路ＧＣ０〜ＧＣｘは、ＬＯＷレベルの設定制御入力ＧＣＣ０に応じて、ゲーティング制御入力ＧＳＩＮに入力されたゲーティング設定データを保持する。これにより、クロックゲーティング回路ＧＣ０〜ＧＣｘのそれぞれのイネーブル出力ＧＳＯＵＴの値とともに、クロックを導通するか遮断するかが設定され、スキャンテストを開始することが可能になる。
【００４２】
図６に示す一例では、上述のクロックゲーティング設定動作によって、クロックゲーティング回路ＧＣ０、ＧＣ２には、ＨＩＧＨレベルのゲーティング設定データが設定され、クロックゲーティング回路ＧＣ１には、ＬＯＷレベルのゲーティング設定データが設定される。この場合、クロックゲーティング回路ＧＣ０、ＧＣ２のイネーブル出力ＧＳＯＵＴ０、ＧＳＯＵＴ２はＨＩＧＨレベルとなり、ゲーテッドクロック出力は、クロック入力ＣＬＫに従う信号レベルとなる。すなわち、クロックゲーティング回路ＧＣ０、ＧＣ２はクロック導通に設定される。一方、クロックゲーティング回路ＧＣ１のイネーブル出力ＧＳＯＵＴ１はＬＯＷレベルとなり、ゲーテッドクロック出力は、ＬＯＷレベルに固定される。すなわち、クロックゲーティング回路ＧＣ１はクロック遮断に設定される。同様に他のクロックゲーティング回路に対してもクロック導通又はクロック遮断が設定される。
【００４３】
以上のように、本発明によれば、スキャンテストを行なう前に、クロックゲーティング回路ＧＣ１のそれぞれに対しクロック導通又はクロック遮断を設定することができる。
【００４４】
図７は、本発明によるスキャンテスト動作の一例を示すタイミングチャートである。図７を参照して、本発明によるスキャンテストにおけるスキャンシフト動作（期間ＴＳ０、ＴＳ１）とキャプチャ動作（期間ＴＣ０）の詳細を説明する。ここでは、予めクロックゲーティング回路設定モードにおいて、図３に示す全てのクロックゲーティング回路ＧＣ０〜ＧＣｘに対して「クロック導通」又は「クロック遮断」が設定された状態となっている。本一例では、クロックゲーティング回路ＧＣ１が「クロック遮断」に設定され、その他のクロックゲーティング回路は「クロック導通」に設定されている。
【００４５】
スキャンテストを行なう際、クロックゲーティング回路ＧＣ０〜ＧＣｘのモード制御入力ＡＭＣはＨＩＧＨレベル、設定制御入力ＧＣＣはＬＯＷレベルに設定される。これにより、スキャンテストが行われる間（ＴＳ０、ＴＣ０、ＴＳ１）、クロックゲーティング回路ＧＣ０〜ＧＣｘのそれぞれは、クロックゲーティング設定に応じたイネーブル出力ＧＳＯＵＴ（ＧＳＯＵＴ０〜ＧＳＯＵＴｘ）及びゲーティングクロック出力ＧＣＬＫ（ＧＣＬＫ０〜ＧＣＬＫｘ）を出力する。本一例では、クロックゲーティング回路ＧＣ０、ＧＣ２〜ＧＣｘのイネーブル出力ＧＳＯＵＴ０、ＧＳＯＵＴ２〜ＧＳＯＵＴｘはＨＩＧＨレベルに設定され、ゲーティングクロック出力ＧＣＬＫ０、ＧＣＬＫ２〜ＧＣＬＫｘはクロック入力ＣＬＫに応じた周期のクロック信号となる。又、クロックゲーティング回路ＧＣ１のイネーブル出力ＧＳＯＵＴ１はＬｏｗレベル、ゲーティングクロック出力ＧＣＬＫ１の出力は遮断される。
【００４６】
このように、ゲーテッドクロック出力ＧＣＬＫ１がスキャンテスト全体を通じて遮断され停止している。この場合、クロック入力ＣＬＫがクロックゲーティング回路ＧＣ１に接続されたスキャンフリップフロップＳＦ１０〜ＳＦ１ｚはスキャンテスト全体を通じてクロック入力ＣＬＫに応じた動作を行なわない。
【００４７】
スキャンテストでは、スキャンシフトによるテストパタンデータの入力（スキャンシフトモード（スキャンイン）：期間ＴＳ０）、キャプチャ動作によるデータの書き込み（キャプチャモード：期間ＴＣ０）、スキャンシフトによる外部へのキャプチャデータの読み出し（スキャンシフトモード（スキャンアウト）：期間ＴＳ１）が行なわれる。
【００４８】
先ず、スキャンシフトモード（スキャンイン：期間ＴＳ０）の動作を説明する。スキャンシフトモード（期間ＴＳ０）では、ＨＩＧＨレベルのモード制御入力ＳＭＣによってスキャンフリップフロップ群によるスキャンチェーン（シフトレジスタ）が形成される。この間、スキャンチェーンのシフト動作によって、テストパタンデータＳ０〜Ｓｎをスキャンフリップフロップに入力する。
【００４９】
一方、スキャンシフトモードにおいて、スキャンフリップフロップＳＦ１０〜ＳＦ１ｚは、ＬＯＷレベルのイネーブル信号入力ＧＣＥＮに応じてスキャン入力ＳＩＮをそのままスルー出力する。又、クロック入力ＣＬＫが停止されているため、スキャンフリップフロップＳＦ１０〜ＳＦ１ｚは、スキャン入力ＳＩＮをラッチしない。例えば、期間ＴＳ０において、スキャンフリップフロップＳＦ１０のスキャン出力ＳＯＵＴは、スキャン入力ＳＩＮをそのままスルー出力する。従って、スキャンフリップフロップＳＦ２０は、前段のスキャン出力ＳＯＵＴ１０よりさらに１段前のスキャン出力ＳＯＵＴ００から値を入力するよう動作する。同様に、スキャンフリップフロップＳＦ１１のスキャン出力ＳＯＵＴはスキャン入力ＳＩＮをそのままスルー出力する状態にあるので、スキャンフリップフロップＳＦ０１は、前段のスキャン出力ＳＯＵＴ１１よりさらに１段前のスキャン出力ＳＯＵＴ２１から値を入力するよう動作する。
【００５０】
次に、スキャンチェーンの全てにテストデータが入力されると、モード制御入力ＳＭＣがＬＯＷレベルに遷移し、キャプチャモードに移行する（期間ＴＣ０）。スキャンフリップフロップＳＦ００〜０ｚ、ＳＦ２０〜ｘｚは、クロック入力ＣＬＫに応じてデータ入力Ｄｉｎをラッチし、ラッチしたデータ（キャプチャデータ）をデータ出力ＤＯＵＴ及びスキャン出力ＳＯＵＴに出力する。図７に示す一例では、期間ＴＣ０において、２回のクロックパルスがクロック入力ＣＬＫに入力される。１回目のクロックパルスによって、スキャンフリップフロップはキャプチャ動作を開始する。２回目のクロックパルスによって、スキャンフリップフロップから検証対象となるデータを読み出す。例えば、スキャンフリップフロップＳＦ００、ＳＦ２０、ＳＦ２１、ＳＦ０１はそれぞれ、期間ＴＣ０において最初のクロック入力ＣＬＫに応じてデータＬ００、Ｌ２０、Ｌ２１、Ｌ０１を出力する。例えば、スキャンフリップフロップＳＦ００、ＳＦ２０、ＳＦ２１、ＳＦ０１のそれぞれは、次のクロック入力に応じて、テストデータＳｎ、データＬ００、Ｌ２０、Ｌ２１に応じたキャプチャデータＣ００、Ｃ２０、Ｃ２１、Ｃ０１を出力する。
【００５１】
キャプチャモードにおいても、ゲーテッドクロックＧＣＬＫ１が遮断状態のため、スキャンフリップフロップＳＦ１０〜ＳＦ１ｚにクロック信号は供給されない。このため、キャプチャ動作期間ＴＣ０中、スキャンフリップフロップＳＦ１０〜ＳＦ１ｚのスキャン出力ＳＯＵＴは、フリップフロップＦＦ１の初期値であるＬＯＷレベルに固定される。
【００５２】
スキャンフリップフロップにデータがキャプチャされると、モード制御入力ＳＭＣがＨＩＧＨレベルに遷移し、スキャンシフトモード（スキャンアウト）に移行する（期間ＴＳ１）。期間ＴＳ１において、キャプチャデータがスキャンチェーンをシフトし、最終段のスキャンフリップフロップＳＦｘｚのスキャン出力ＳＯＵＴｘｚから取り出される。この間、スキャンインと同様に、スキャンフリップフロップＳＦ１０〜ＳＦ１ｚは、ＬＯＷレベルのイネーブル信号入力ＧＣＥＮに応じてスキャン入力ＳＩＮをそのままスルー出力する。
【００５３】
本発明では、スキャンテストの前のクロックゲーティング設定モードにおいて、クロックゲーティング回路ＧＣ０〜ＧＣｘに対するクロック導通と遮断の設定を行なっている。このため、スキャンシフト動作期間においてクロックゲーティング回路ＧＣ０〜ＧＣｘのクロック導通・遮断状態は変化せず、スキャンテスト全体を通じて任意のクロックゲーティング回路を遮断した状態で動作する。また個々のスキャンフリップフロップは、スキャンシフト動作においてクロック供給が停止されるとスキャン入力をスキャン出力にそのままスルー出力するため、スキャンシフト動作中に任意のクロックゲーティング回路を遮断してもスキャンシフト動作は問題なく可能である。従って、スキャンキャプチャ動作だけでなくスキャンシフト動作においても、任意のクロックゲーティング回路の制御でクロック遮断を行って電力消費の抑制が可能になる。
【００５４】
すなわち、本発明によれば、スキャンテストの全期間を通じてクロック供給を停止した分だけ消費電流を抑制することができる。スキャンシフト期間中に電力抑制できない場合、回路に誤動作が発生し、テスタが誤判定する場合がある。本発明では、スキャンシフト期間中も電力抑制できるため、回路の誤動作を防止でき、テスタによる誤判定を減少させることができる。
【００５５】
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【符号の説明】
【００５６】
ＧＣ０、ＧＣ１、ＧＣ２、ＧＣｘ：クロックゲーティング回路
ＳＦ００、ＳＦ０１、ＳＦ１０、ＳＦ１１、ＳＦ２０、ＳＦ２１、ＳＦ０ｚ０、ＳＦ１ｚ１、ＳＦ２ｚ２、ＳＦｘ０、ＳＦｘ１、ＳＦｘｚ：スキャンフリップフロップ
ＧＳＩＮ０：ゲーティング制御入力
ＳＩＮ００：スキャン入力
ＣＬＫ、ＣＬＫ０：クロック入力
ＧＣＣ、ＧＣＣ０：クロックゲーティング回路設定制御入力
ＡＭＣ、ＡＭＣ０：テストモード制御信号入力
ＳＭＣ０：スキャンモード制御信号入力
ＧＣＬＫ０、ＧＣＬＫ１、ＧＣＬＫ２、ＧＣＬＫｘ：ゲーテッドクロック出力
ＧＳＯＵＴ０、ＧＳＯＵＴ１、ＧＳＯＵＴ２、ＧＳＯＵＴｘ：クロックゲーティングイネーブル出力
ＳＯＵＴ００、ＳＯＵＴ０１、ＳＯＵＴ１０、ＳＯＵＴ１１、ＳＯＵＴ２０、ＳＯＵＴ２１、ＳＯＵＴ０ｚ０、ＳＯＵＴ１ｚ１、ＳＯＵＴ２ｚ２、ＳＯＵＴｘ０、ＳＯＵＴｘ１、ＳＯＵＴｘｚ：スキャン出力
ＭＸ１：マルチプレクサ
ＬＴ１：クロックゲーティングセル
ＬＴ１Ａ：ラッチ
ＬＴ１Ｂ：ＡＮＤ素子
ＧＳＩＮ：スキャン用クロックゲーティングイネーブル信号入力
ＥＮ：通常動作用クロックゲーティングイネーブル信号入力
ＧＳＯＵＴ：クロックゲーティングイネーブル出力
ＧＣＬＫ：ゲーテッドクロック出力
ＦＦ１、ＦＦ１Ａ：フリップフロップ
ＳＬ１：セレクタ
ＭＸ２：マルチプレクサ
ＧＣＥＮ：スキャン用クロックゲーティングイネーブル信号入力
ＤＩＮ：データ入力
ＳＩＮ：スキャン入力
ＤＯＵＴ：データ出力
ＳＯＵＴ：スキャン出力
ＳＦＦＧ１ａ〜ＳＦＦＧ１ｚ：レジスタ群（スキャンフリップフロップ群）
ＳＦＦＧ２ａ〜ＳＦＦＧ２ｚ：レジスタ群（スキャンフリップフロップ群）
ＳＦＦＧ３ａ〜ＳＦＦＧ３ｚ：レジスタ群（スキャンフリップフロップ群）
ＴＣ１１〜ＴＣ１３：テストクロック制御回路
ＴＣＬＫＣＴＬ：テストクロック制御回路
ＭＵＸＧ：クロック選択回路
ＣＧＣ、ＳＣＧＣ：クロックゲーティングセル
ＳＦＦ：スキャンフリップフロップ
【図１】
2010276479.tif 000003
【図２】
2010276479.tif 000004
【図３】
2010276479.tif 000005
【図４】
2010276479.tif 000006
【図５】
2010276479.tif 000007
【図６】
2010276479.tif 000008
【図７】
2010276479.tif 000009