(57)【特許請求の範囲】
【請求項１】
スキャンフリップフロップと、
スキャンテスト時に前記スキャンフリップフロップにクロック信号を継続的に供給すると共に、通常動作時には第１の制御信号が示す論理レベルに応じて前記クロック信号を前記スキャンフリップフロップに供給するクロック制御回路と、
前記第１の制御信号および組合せ論理回路から出力されるデータ入力信号に結合され、前記通常動作時には前記データ入力信号を前記スキャンフリップフロップに出力し、前記スキャンテスト時には前記第１の制御信号と前記データ入力信号とにより表される状態を示す第２の制御信号を前記スキャンフリップフロップに出力する信号生成回路と
を有するスキャンテスト回路。
【請求項２】
通常動作とスキャンテスト動作とを切替える第１の制御信号に結合され、前記スキャンテスト動作時にはクロック信号を継続的に出力すると共に、前記通常動作時には第２の制御信号が示す論理レベルに応じて前記クロック信号を出力するクロック制御回路と、
組合せ論理回路から出力されるデータ入力信号と前記第１の制御信号と前記第２の制御信号とに結合され、前記通常動作時には前記データ入力信号を出力すると共に、前記スキャンテスト時には前記第２の制御信号と前記データ入力信号とにより表される状態を示す第３の制御信号を出力する信号生成回路と、
前記クロック制御回路および前記信号生成回路に結合され、前記スキャンテスト時に前記第２の制御信号の故障の状態を取得するスキャンフリップフロップと
を有するスキャンテスト回路。
【請求項３】
前記信号生成回路が、
前記第１の制御信号と前記第２の制御信号との論理積をとるＡＮＤゲートと、
前記ＡＮＤゲートの出力と前記データ入力信号との排他的論理和をとるＥＸＯＲゲートと
を備える請求項２に記載のスキャンテスト回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、スキャンテスト用回路、特に、ゲーテッド・クロック方式が採用されたスキャンテスト用回路に関する。
【０００２】
【従来の技術】
同期回路を形成するフリップフロップ回路やラッチ回路（以下、レジスタと総称する）にはクロック信号を供給する必要があるが、レジスタの数が多くなるほど、そのクロック信号の負荷容量は大きくなる。そこで、クロック信号の負荷を分散させるために、クロック信号の供給源とレジスタとの間に、比較的低駆動なバッファセルをツリー状に形成して介在させることがある。このような場合、半導体集積回路の機能仕様上クロック信号を必要としないクロック期間にはクロック信号をマスクするゲート機能をクロックツリーに付加したゲーテッド・クロック方式が採用されることが多い。
【０００３】
ところで、半導体集積回路のレジスタをシリアルに接続してシフトレジスタとして動作させ、レジスタが保持するデータを外部端子から制御し・観測することによって、半導体集積回路のテストを容易化したスキャンテスト方法が知られている。このスキャンテスト用回路にゲーテッド・クロック方式を採用した従来例を図５に示す。
【０００４】
図５を参照すると、このスキャンテスト用回路は、スキャン用レジスタとしてのマルチプレクサ型フリップフロップ（以下、「スキャンＦＦ」と記す）１と、SCANTEST信号の否定とCLK信号の論理積をとるＡＮＤゲート４と、ＡＮＤゲート４の否定でゲートされたEnable信号をラッチするホールドタイム保証用トランスペアレント・ラッチ手段としてのレベルラッチ２と、SCANTEST信号とレベルラッチ２との論理和をとるＯＲゲート３と、CLK信号をＯＲゲート３の出力でゲートするＡＮＤゲート５とを有する。
【０００５】
レベルラッチ２は、CLK信号に対して位相が前後にづれ得るEnable信号を、通常動作時にCLK信号の立下りでラッチすることにより、CLK信号のハイレベル期間では決してレベル遷移しない出力Ｑ１をＡＮＤゲート５に供給する。この結果、スキャンＦＦ１のCLK端子にグリッジののらないゲーテッド・クロック信号を与えることができるようになる。ＯＲゲート３とＡＮＤゲート５は、通常動作時にはレベルラッチ２の出力Ｑ１でマスクして、また、スキャンテスト時にはそのままの状態で、それぞれCLK信号をスキャンＦＦ１のCLK端子に供給する。
【０００６】
【発明が解決しようとする課題】
上述した従来のスキャンテスト用回路では、スキャンテスト時には、CLK信号は常時スキャンＦＦ１に供給されるので、ScanEnable信号を切り替えることによって、組合せ回路から出力されるDATAIN信号を受け取るキャプチャー動作と、スキャンチェーンの１つ前段のレジスタから出力されたSCANIN信号を受け取るシフト動作を行うことができる。
【０００７】
しかし、組合せ回路から出力されるEnable信号はクロック信号と組み合わされて使用されキャプチャーされるルートがないため、スキャンＦＦ１にてデータとしてラッチされず、スキャンパスを介して外部出力端子に伝搬されない。したがって、Enable信号を生成する論理回路の故障は検出されないので、その分だけ組合せ回路の検出率が低下しているという問題点がある。
【０００８】
この問題を通常動作時にEnable信号を回路の出力端子にまで導き出すことにより解決しようとすれば、回路の構成は複雑化し、テストパターンは長大化し、ＬＳＩテスタの搭載メモリの容量は増るが、その割には故障検出率が向上せず、設計期間とコストも嵩むことになる。
【０００９】
したがって、本発明の目的は、Enable信号の故障検出ができるスキャンテスト用回路を提供することにある。
【００１０】
【課題を解決するための手段】
本発明は、ゲーテッド・クロック方式が採用されたスキャンテスト用回路において、組合せ回路からのデータまたはスキャンチェーン上のスキャンデータを切り替えて入力するスキャンＦＦ（図１の１）と、機能上必要な期間のみスキャンフＦＦにクロック信号を供給するように制御するために組合せ回路から入力するイネーブル信号を、組合せ回路から入力するデータと切り替えてスキャンＦＦに入力するイネーブル信号供給回路（図１の６および７）とを有することを特徴とする。
【００１１】
具体的には、本発明のスキャンテスト用回路は、機能上必要な期間のみレジスタへクロック信号を供給するように制御するために組合せ回路から入力するイネーブル信号に基づくゲーテッド・クロック方式が採用されたスキャンテスト用回路において、組合せ回路からのデータまたはスキャンチェーン上のスキャンデータを切り替えて入力するスキャンＦＦ（図１の１）と、通常動作とスキャンテストとのモードを切り替えるためにテスタから入力するスキャンテスト信号の否定とクロック信号との論理積をとる第１のＡＮＤゲート（図１の４）と、該第１のＡＮＤゲートの否定でゲートされたイネーブル信号をラッチするホールドタイム保証用トランスペアレント・ラッチ手段としてのレベルラッチ（図１の２）と、スキャンテスト信号とレベルラッチの出力との論理和をとるＯＲゲート（図１の３）と、クロック信号をＯＲゲートの出力でゲートしてスキャンＦＦに供給する第２のＡＮＤゲート（図１の５）と、スキャンテスト信号とレベルラッチの出力との論理積をとるを第３のＡＮＤゲート（図１の６）と、該第３のＡＮＤゲートの出力と組合せ回路から出力されるデータとの排他的論理和をとってスキャンＦＦに供給する排他的論理和回路（図１の７）とで構成されたことを特徴とする。
【００１２】
【発明の実施の形態】
本発明のスキャンテスト用回路は、機能上必要な期間のみレジスタへクロック信号を供給するように制御するために組合せ回路から入力するイネーブル信号を前記レジスタが受け取るための手段を設けたことを特徴とするものである。
【００１３】
より詳しくは、ゲーテッド・クロック方式が採用されたスキャンテスト用回路において、組合せ回路からのデータまたはスキャンチェーン上のスキャンデータを切り替えて入力するスキャンＦＦと、機能上必要な期間のみスキャンＦＦにクロック信号を供給するように制御するために組合せ回路から入力するイネーブル信号を、組合せ回路から入力するデータと切り替えてマルチスキャンフリップフロップに入力するイネーブル信号供給回路とを有することを特徴とする。
【００１４】
【実施例】
次に、本発明の実施例について図面を参照しながら説明する。
【００１５】
図１は、本発明の第１の実施例を示す回路図である。図１を参照すると、このスキャンテスト用回路は、スキャン用レジスタとしてのスキャンＦＦ１と、SCANTEST信号の否定とCLK信号の論理積をとるＡＮＤゲート４と、ＡＮＤゲート４の否定でゲートされたEnable信号をラッチするホールドタイム保証用トランスペアレント・ラッチ手段としてのレベルラッチ２と、SCANTEST信号とレベルラッチ２との論理和をとるＯＲゲート３と、CLK信号をＯＲゲート３の出力でゲートするＡＮＤゲート５と、スキャンテスト時にEnable信号をキャプチャーするためのルートを形成するＡＮＤゲート６および排他的論理和回路７とで構成されている。
【００１６】
図１において、DATAIN信号は通常動作時またはスキャンテスト時におけるキャプチャー対象となるデータであり、Enable信号はゲーテッド・クロックのための制御信号であって、いずれも１つ前段の組合せ回路から出力される。Enable信号がアクティブになると、スキャンＦＦ１にクロック信号CLKが供給されるようになる。通常動作時にはInValidであるSCANIN信号はスキャンチェーンの１つ前段のレジスタから出力されるデータである。ScanEnable信号は“０”ならDATAIN信号、“１”ならSCANIN信号をスキャンＦＦ１に読み取らせるための信号、SCANTEST信号はスキャンテスト時にアクティブ（“１”）となる信号であって、いずれもクロック信号CLKと共に１つ前段の組合せ回路から出力される。
【００１７】
ＡＮＤゲート４は、SCANTEST信号の否定とクロック信号CLKとの論理積を出力する。つまり、通常動作時にCLK信号をレベルラッチ２へ供給する。レベルラッチ２は、ＡＮＤゲート４の出力を反転してG端子に入力することにより、D端子に入力するEnable信号をCLK信号の立下りでラッチする。これにより、Enable信号はCLK信号に対して位相が前後にづれ得るが、CLK信号のハイレベル期間では決してレベル遷移しないように保証されたEnable信号を出力Ｑ１としてＯＲゲート３に供給できる。
【００１８】
しかしながら、スキャンテスト時においては、ＡＮＤゲート４とレベルラッチ２の使命はEnable信号のＡＮＤゲート６への供給となる。この場合には、SCANTEST信号が“１”となるため、ＡＮＤゲート４は常に“０”を出力する。レベルラッチ２ではその反転信号、すなわち“１”をG端子に入力するため、Enable信号をそのままの位相でラッチして出力Ｑ１としてＡＮＤゲート６へ供給する。
【００１９】
ＯＲゲート３は、SCANTEST信号が“０”となる通常動作時には、レベルラッチ２の出力Ｑ１をＡＮＤゲート５へ出力する。ＡＮＤゲート５は、ＯＲゲート３の出力とCLK信号との論理積をマルチスキャンＦＦ１のCLK端子へ供給する。この結果、マルチスキャンＦＦ１のCLK端子にはグリッジののらないゲーテッド・クロックされたCLK信号を与えることができるようになる。なお、スキャンテスト時には“１”となるSCANTEST信号がレベルラッチ２の出力Ｑ１をマスクするため、ゲーテッド・クロック機能はスポイルされ、CLK信号は常時スキャンＦＦ１のCLK端子に供給される。
【００２０】
また、レベルラッチ２の出力Ｑ１はＡＮＤゲート６にも導かれ、SCANTEST信号との論理積結果が排他的論理和回路７を経てマルチスキャンＦＦ１のD端子に入力している。このルートによって、スキャンＦＦ１のD端子には、通常動作時はDATAIN信号、スキャンテスト時にはDATAIN信号に加えてEnable信号をも供給できるようになる。
【００２１】
スキャンＦＦ１は、SCANIN端子に供給されるSCANIN信号と、排他的論理和回路７からD端子に供給されるデータとを、SMC端子に入力するScanEnable信号によって切り替え、ＡＮＤゲート５からCKL端子に供給されるクロック信号に応答して受け入れる。すなわち、マルチプレクサタイプのスキャン用レジスタである。スキャンＦＦ１の出力Ｑ２は、スキャンチェーンの次段のレジスタへ供給される。
【００２２】
次に、図２および図３に示すタイムチャートを参照しながら本実施例の動作について説明する。
【００２３】
図２は、図１に示した実施例の通常動作時におけるタイムチャートである。この場合は、SCANTEST信号およびScanEnable信号は“０”、SCANIN信号はInValidである。ScanEnable信号が“０”であるため、スキャンＦＦ１はD端子に入力するデータを受け入れることになる。このとき、SCANTEST信号も“０”であるためＡＮＤゲート６の出力は“０”であり、排他的論理和回路７はDATAIN信号を受け入れ、結局、スキャンＦＦ１のD端子にはDATAIN信号が供給される。
【００２４】
この場合は図２に図示すようにゲーテッド・クロックが行われる。SCANTEST信号が“０”であるためＡＮＤゲート４はCLK信号をレベルラッチ２に出力する。レベルラッチ２は、D端子に入力するEnable信号がアクティブになると、CLK信号の立下りでラッチした出力Ｑ１を生成する。出力Ｑ１は、SCANTEST信号も“０”であるためＯＲゲート３をスルー状態で通過し、ＡＮＤゲート５においてCLK信号の通過を制御する。つまり、出力Ｑ１がアクティブな期間のみCLK信号をスキャンＦＦ１のCLK端子に供給する。
【００２５】
スキャンＦＦ１は、CLK端子上のCLK信号の立上りに応答してD端子上のDATAIN信号をキャプチャーし、出力Ｑ２をスキャンチェーンの次段のスキャンＦＦ１に供給する。CLK信号は、このキャプチャーに必要な期間のみスキャンＦＦ１のCLK端子に供給されたことになる。
【００２６】
次に、図３は、図１に示した実施例のスキャンテスト時におけるタイムチャートである。この場合は、SCANTEST信号は“１”固定であるが、ScanEnable信号は“０”のフェーズと“１”のフェーズとがある。ScanEnable信号が“０”のフェーズではSCANIN信号はInValidである。
【００２７】
SCANTEST信号が“１”固定の状態の下では、ＡＮＤゲート４は“０”を出力し、レベルラッチ２の端子には“１”固定が入力する。したがって、レベルラッチ２はEnable信号をラッチして出力Ｑ１をＡＮＤゲート６に供給する。排他的論理回路７は、ＡＮＤゲート６の出力である出力Ｑ１（Enable信号）とDATAIN信号とを受け入れてスキャンＦＦ１のD端子に供給する。そして、ScanEnable信号が“０”であるため、スキャンＦＦ１はD端子に入力するデータを受け入れることになる。このようにして、スキャンテスト時に、DATAIN信号と共にEnable信号もキャプチャーされるのである。
【００２８】
ScanEnable信号が“１”のフェーズになると、上述のキャプチャーデータがマルチスキャンＦＦ１のＱ２出力となる。また、SCANIN信号はValidとなり、スキャンチェーンの前段レジスタからのSCANIN信号がスキャンＦＦ１のSCANIN端子にシフトデータとして供給され、スキャンＦＦ１のＱ２出力となる。
【００２９】
次に、本発明の第２の実施例について説明する。
【００３０】
図５は、本発明の第２の実施例を示す回路図である。図５を参照すると、このスキャンテスト用回路は、スキャン用レジスタとしてのスキャンＦＦ１と、スキャンＦＦ１のクロック端子CLKに供給されるCLK信号を通常動作時にマスクするＯＲゲート３およびＡＮＤゲート５と、通常動作時におけるホールドタイム保証用トランスペアレント・ラッチ手段としてのレベルラッチ２およびＡＮＤゲート４と、スキャンテスト時にEnable信号をキャプチャーするためのルートを形成する２つのＡＮＤゲート８，９およびＯＲゲート１０とで構成されている。
【００３１】
この実施例では、テスタから供給されるEnableCaptureという信号を第１の実施例に追加している。ＡＮＤゲート８ではEnableCapture信号の反転入力とDATAIN信号との論理積をとり、またＡＮＤゲート９ではEnableCapture信号とEnable信号との論理積をとり、ＡＮＤゲート８の出力とＡＮＤゲート９の出力の論理和をスキャンＦＦ１のD端子に供給している。
【００３２】
通常動作時にはEnableCapture信号は“０”に固定される。SCANTEST信号が“1”、ScanEnable信号が“０”になると、スキャンテストのキャプチャー動作が行われ、EnableCapture信号は“０”と“１”に切り替わる。“０”の場合はDATAIN信号がスキャンＦＦ１のD端子に入力し、“１”の場合にはEnable信号がスキャンＦＦ１のD端子に入力する。SCANTEST信号が“1”、ScanEnable信号が“１”になると、スキャンテストのシフト動作が行われ、SCANIN信号がスキャンＦＦ１のSCANIN端子に入力する。
【００３３】
なお、以上に説明した実施例は、レベルラッチ２，ＯＲゲート３および２つのＡＮＤゲート４，５から成るゲーテッド・クロック回路を伴っているが、これはゲーテッド・クロック方式の採用とEnable信号のマルチスキャンＦＦ１への供給ルートとを明示するためでもある。したがって、このゲーテッド・クロック回路は、クロックツリー上の他の部分へ移し、スキャンテスト用回路には含めないようにしてもよい。
【００３４】
【発明の効果】
以上に説明したように、本発明によれば、ゲーテッド・クロック方式が採用されたスキャンテスト用回路において、組合せ回路から出力されるEnable信号をキャプチャーするためのルートを設けたためEnable信号の故障検出ができるという効果を得ることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施例を示す回路図
【図２】図１に示した実施例の通常動作を示すタイムチャート
【図３】図１に示した実施例のスキャンテスト動作を示すタイムチャート
【図４】本発明の第２の実施例を示す回路図
【図５】従来例を示す回路図
【符号の説明】
１                      スキャンＦＦ
２                      レベルラッチ
３，１０                ＯＲゲート
４，５，６，８，９      ＡＮＤゲート
７                      排他的論理和回路
【図１】
0004627118.tif 000002
【図２】
0004627118.tif 000003
【図３】
0004627118.tif 000004
【図４】
0004627118.tif 000005
【図５】
0004627118.tif 000006