(57)【特許請求の範囲】
【請求項１】
テストモード時にスキャンイネーブル信号に対応してスキャンパスとしてスキャンシフト動作およびキャプチャ動作を交互にそれぞれ行う複数のスキャンフリップフロップを備えるスキャンパス回路において、スキャンシフト動作時にスキャンフリップフロップの出力を取り込みキャプチャ動作時に保持し組み合わせ回路の入力信号として出力するレベルラッチを備えることを特徴とするスキャンパス回路。
【請求項２】
スキャンフリップフロップ間の出力端子とセット端子またはリセット端子との間に、前記レベルラッチ，前記組み合わせ回路と、この組み合わせ回路の出力を入力しキャプチャ動作時にゲート出力するゲート回路とを備える、請求項１記載のスキャンパス回路。
【請求項３】
互いに位相の異なるクロック信号によりそれぞれ動作するスキャンフリップフロップ間の出力端子とデータ入力端子との間に、前記レベルラッチ，前記組み合わせ回路を備える、請求項１記載のスキャンパス回路。
【請求項４】
テストモード時を示すテストモード信号および前記スキャンイネーブル信号に対応して前記レベルラッチのラッチイネーブル信号を生成するラッチイネーブル信号生成回路を備える、請求項２，３記載のスキャンパス回路。
【請求項５】
前記ラッチイネーブル信号生成回路が、複数の前記レベルラッチを制御する、請求項４記載のスキャンパス回路。
【請求項６】
前記ラッチイネーブル信号生成回路が、前記スキャンイネーブル信号を入力し反転するインバータと、このインバータの出力および前記テストモード信号を入力し前記ラッチイネーブル信号を出力するゲート回路とを備える請求項４または５記載のスキャンパス回路。
【請求項７】
テストモード時にスキャンイネーブル信号に対応してスキャンパスとしてスキャンシフト動作およびキャプチャ動作を交互にそれぞれ行う複数のスキャンフリップフロップを備えるスキャンパス回路の生成方法において、スキャンフリップフロップのセット端子またはリセット端子をそれぞれトレースし、組み合わせ回路とスキャンフリップフロップのセット端子またはリセット端子との間に、前記組み合わせ回路の出力を入力しキャプチャ動作時にゲート出力するゲート回路をそれぞれ挿入し、挿入された各ゲート回路に出力する前記組み合わせ回路の入力信号をそれぞれトレースし、これら入力信号を出力するスキャンフリップフロップをそれぞれリストアップし、リストアップされた各スキャンフリップフロップと前記組み合わせ回路との間に、スキャンシフト動作時にスキャンフリップフロップの出力を取り込みキャプチャ動作時に保持し前記組み合わせ回路の入力信号として出力するレベルラッチをそれぞれ挿入し、これらレベルラッチのラッチイネーブル信号を生成するラッチイネーブル信号生成回路を挿入することを特徴とする、スキャンパス回路の生成方法。
【請求項８】
テストモード時にスキャンイネーブル信号に対応してスキャンパスとしてスキャンシフト動作およびキャプチャ動作を交互にそれぞれ行う複数のスキャンフリップフロップを備えるスキャンパス回路の生成方法において、組み合わせ回路の入力信号をそれぞれトレースし、前記組み合わせ回路の出力信号をデータ入力するスキャンフリップフロップと異なる位相のクロック信号で動作し前記入力信号を出力するスキャンフリップフロップをそれぞれリストアップし、リストアップされた各スキャンフリップフロップと前記組み合わせ回路との間に、スキャンシフト動作時にスキャンフリップフロップの出力を取り込みキャプチャ動作時に保持し前記組み合わせ回路の入力信号として出力するレベルラッチをそれぞれ挿入し、これらレベルラッチのラッチイネーブル信号を生成するラッチイネーブル信号生成回路を挿入することを特徴とする、スキャンパス回路の生成方法。
【請求項９】
テストモード時にスキャンイネーブル信号に対応してスキャンパスとしてスキャンシフト動作およびキャプチャ動作を交互にそれぞれ行う複数のスキャンフリップフロップを備えるスキャンパス回路の生成処理をコンピュータに実行させる、スキャンパス回路の生成用プログラムを記録した記録媒体において、スキャンフリップフロップのセット端子またはリセット端子をそれぞれトレースし、組み合わせ回路とスキャンフリップフロップのセット端子またはリセット端子との間に、前記組み合わせ回路の出力を入力しキャプチャ動作時にゲート出力するゲート回路をそれぞれ挿入し、挿入された各ゲート回路に出力する前記組み合わせ回路の入力信号をそれぞれトレースし、これら入力信号を出力するスキャンフリップフロップをそれぞれリストアップし、リストアップされた各スキャンフリップフロップと前記組み合わせ回路との間に、スキャンシフト動作時にスキャンフリップフロップの出力を取り込みキャプチャ動作時に保持し前記組み合わせ回路の入力信号として出力するレベルラッチをそれぞれ挿入し、これらレベルラッチのラッチイネーブル信号を生成するラッチイネーブル信号生成回路を挿入することを特徴とする、スキャンパス回路の生成用プログラムを記録した記録媒体。
【請求項１０】
テストモード時にスキャンイネーブル信号に対応してスキャンパスとしてスキャンシフト動作およびキャプチャ動作を交互にそれぞれ行う複数のスキャンフリップフロップを備えるスキャンパス回路の生成処理をコンピュータに実行させる、スキャンパス回路の生成用プログラムを記録した記録媒体において、組み合わせ回路の入力信号をそれぞれトレースし、前記組み合わせ回路の出力信号をデータ入力するスキャンフリップフロップと異なる位相のクロック信号で動作し前記入力信号を出力するスキャンフリップフロップをそれぞれリストアップし、リストアップされた各スキャンフリップフロップと前記組み合わせ回路との間に、スキャンシフト動作時にスキャンフリップフロップの出力を取り込みキャプチャ動作時に保持し前記組み合わせ回路の入力信号として出力するレベルラッチをそれぞれ挿入し、これらレベルラッチのラッチイネーブル信号を生成するラッチイネーブル信号生成回路を挿入することを特徴とする、スキャンパス回路の生成用プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はスキャンパス回路に関し、特に、テストモード時にスキャンシフト動作とキャプチャ動作とを交互に行うスキャンパス回路に関する。
【０００２】
【従来の技術】
この種のスキャンパス回路は、順序回路におけるフリップフロップをスキャンフリップフロップと呼ばれるものに置き換えることでスキャンパスを構成し、テストパタン生成が困難である順序回路をテストパタン生成が容易な組み合わせ回路化してテストを行うために用いられている。
【０００３】
このスキャンパス回路において、スキャンパスを構成する複数のスキャンフリップフロップは、通常動作モード時に、組み合わせ回路の入力信号または出力信号を出力または入力するフリップフロップとしてそれぞれ動作し、テストモード時に、スキャンイネーブル信号に対応してスキャンパスとしてスキャンシフト動作およびキャプチャ動作を交互にそれぞれ行う。このとき、スキャンシフト動作により、全てのスキャンフリップフロップのデータが外部からスキャンインされて直接設定され、同時に、全てのスキャンフリップフロップに設定されていたデータが外部にスキャンアウトされて直接観測される。また、キャプチャ動作により、スキャンフリップフロップは、１クロックサイクル動作し、スキャンシフト動作によりスキャンインされたデータを組み合わせ回路の入力信号とし且つ組み合わせ回路の出力信号をデータ入力して取り込む。
【０００４】
このようなスキャンパス回路において、一般的に、スキャンシフト動作中のスキャンフリップフロップのデータにより、スキャンフリップフロップのセット／リセット信号がアクティブとなり、キャプチャ動作により設定されたデータがスキャンシフト動作中に破壊されることを防ぐ必要があり、また、キャプチャ動作中においても、キャプチャ動作によりスキャンフリップフロップが取り込んだデータにより、スキャンフリップフロップのセット／リセット信号が非同期にアクティブとなり、キャプチャ動作により設定されたデータが破壊されることを防ぐ必要があり、テストモード時には、スキャンフリップフロップのセット／リセット信号を常にインアクティブにする必要がある。
【０００５】
このため、スキャンパス回路を利用する場合、記録媒体に記録されたスキャンパス回路およびテストパタンの生成用プログラムをコンピュータに実行させることにより、スキャンフリップフロップのセット／リセット端子を自動認識して、テストモード時にスキャンフリップフロップのセット／リセット信号をインアクティブ値に固定するゲート回路を挿入するツールが用意され、このツールによりゲート回路が挿入されたスキャンパス回路に対し、スキャンシフト動作により外部から設定したデータを元にしたテストパタンの自動生成が行われている。
【０００６】
また、上述した従来のスキャンパス回路と異なる他の従来例として、キャプチャ動作によりスキャンフリップフロップが取り込んだ後のデータが他の影響を受けないようにして、スキャンフリップフロップのセット／リセット信号部のテストをするスキャンパス回路が提案されている。たとえば、図８は、特許番号第２５５０８３７号に開示されているスキャンパス回路を示すブロック図であり、図９は、この従来のスキャンパス回路の動作例を示すタイミング図である。
【０００７】
図８を参照すると、この従来のスキャンパス回路は、制御信号生成回路７０，スキャンスキャンフリップフロップ７１，７２と、ゲート回路７３〜７４，インバータ７５，リセット信号生成回路７６とを備える。
【０００８】
制御信号生成回路７０は、クロック信号，テストモード信号，スキャンイネーブル信号を入力し、図９に示されるように、テストモード時に３つのタイミング信号ＣＬ１，ＣＬ２，ＣＴＬを生成し、テストモード時にスキャンスキャンフリップフロップ７１，７２またはゲート回路７３〜７４を制御している。タイミング信号ＣＬ１，ＣＬ２は、立ち上がりタイミングがそれぞれ分離され、スキャンスキャンフリップフロップ７１，７２のデータ取り込みタイミングまたはデータ出力タイミングをそれぞれ示し、タイミング信号ＣＴＬは、キャプチャ動作時のタイミング信号ＣＬ１の立ち上がり前後のみ“１”になり、他の期間は全て“０”である。
【０００９】
スキャンフリップフロップ７１，７２は、出力端子またはデータ入力端子に図示の組み合わせ回路７６以外のテスト対象組み合わせ回路を出力端子またはデータ入力端子に接続し、通常動作モード時に、その入力信号または出力信号を出力または入力するフリップフロップとして、クロック信号と同相のタイミング信号ＣＬ１でそれぞれ動作し、テストモード時には、スキャンイネーブル信号に対応してスキャンパスとしてスキャンシフト動作およびキャプチャ動作を交互にそれぞれ行い、２つのタイミング信号ＣＬ１，ＣＬ２で動作し、タイミング信号ＣＬ１でデータを取り込み、取り込んだデータをタイミング信号ＣＬ２で出力する。
【００１０】
ゲート回路７３〜７４は、スキャンフリップフロップ７１，７２のリセット端子を自動認識する自動生成ツールによりリセット信号生成回路７６とスキャンフリップフロップ７１，７２との間に挿入されたゲート回路であり、リセット信号生成回路７６の出力を入力しタイミング信号ＣＴＬによりゲート制御し、スキャンフリップフロップ７１，７２に出力する。また、インバータ７５はタイミング信号ＣＴＬを反転出力する。
【００１１】
リセット信号生成回路７６は、テスト対象の組み合わせ回路であり、スキャンフリップフロップ７１，７２のリセット信号を生成し、ゲート回路７３〜７４に出力する。
【００１２】
この従来のスキャンパス回路では、タイミング信号ＣＴＬまたはその反転信号を入力するゲート回路７３〜７４により、スキャンフリップフロップ７１，７２のリセット信号が、キャプチャ動作時のタイミング信号ＣＬ１の立ち上がり前後のみアクティブになり、スキャンシフト動作中はインアクティブになり、キャプチャ動作中のデータ出力のタイミング信号ＣＬ２でインアクティブになる。このため、テストモード時に、キャプチャ動作によりスキャンフリップフロップが取り込んだ後のデータが他の影響を受けないで、スキャンフリップフロップのセット／リセット部をテストすることができる。
【００１３】
【発明が解決しようとする課題】
上述したように、従来の一般的なスキャンパス回路において、テストモード時には、スキャンフリップフロップのセット／リセット端子に繋がっている組み合わせ回路からの信号は、インアクティブ値に固定する信号によって遮断され、スキャンフリップフロップのセット／リセット端子、およびセット／リセット端子に繋がっている組み合わせ回路のテストが不可能である。また、近年の回路の大規模化に伴い、スキャンパス回路ではテストが不可能な箇所も増え、その不可能となる箇所をテストするために手作業にてテストパタンを作成する工数が膨大となり、テストパタンを自動生成することが要求されている。
【００１４】
また、この要求に応えるために、図８に示した従来のスキャンパス回路のように、キャプチャ動作によりスキャンフリップフロップが取り込んだ後のデータが他の影響を受けないで、スキャンフリップフロップのセット／リセット部のテストをすることが提案された。
【００１５】
しかし、図８に示した従来のスキャンパス回路では、異なる位相の２相クロック信号により動作するスキャンフリップフロップを必要とし、単相クロック信号により動作するスキャンフリップフロップと比較して、スキャンパス回路の面積オーバーヘッドが大きくなるという欠点がある。また、テストモード時に、スキャンフリップフロップが２クロックサイクル単位で動作し、テスト時間が長いという問題もある。
【００１６】
したがって、本発明の目的は、手作業にてテストパタンを作成する工数を削減し、且つ、スキャンパス回路の面積オーバーヘッドを小さくし、テスト時間を短縮することにある。
【００１７】
【課題を解決するための手段】
そのため、本発明は、テストモード時にスキャンイネーブル信号に対応してスキャンパスとしてスキャンシフト動作およびキャプチャ動作を交互にそれぞれ行う複数のスキャンフリップフロップを備えるスキャンパス回路において、スキャンシフト動作時にスキャンフリップフロップの出力を取り込みキャプチャ動作時に保持し組み合わせ回路の入力信号として出力するレベルラッチを備えている。
【００１８】
また、スキャンフリップフロップ間の出力端子とセット端子またはリセット端子との間に、前記レベルラッチ，前記組み合わせ回路と、この組み合わせ回路の出力を入力しキャプチャ動作時にゲート出力するゲート回路とを備えている。
【００１９】
また、互いに位相の異なるクロック信号によりそれぞれ動作するスキャンフリップフロップ間の出力端子とデータ入力端子との間に、前記レベルラッチ，前記組み合わせ回路を備えている。
【００２０】
また、テストモード時を示すテストモード信号および前記スキャンイネーブル信号に対応して前記レベルラッチのラッチイネーブル信号を生成するラッチイネーブル信号生成回路を備えている。
【００２１】
また、前記ラッチイネーブル信号生成回路が、複数の前記レベルラッチを制御している。
【００２２】
また、前記ラッチイネーブル信号生成回路が、前記スキャンイネーブル信号を入力し反転するインバータと、このインバータの出力および前記テストモード信号を入力し前記ラッチイネーブル信号を出力するゲート回路とを備えている。
【００２３】
また、本発明は、テストモード時にスキャンイネーブル信号に対応してスキャンパスとしてスキャンシフト動作およびキャプチャ動作を交互にそれぞれ行う複数のスキャンフリップフロップを備えるスキャンパス回路の生成方法において、組み合わせ回路とスキャンフリップフロップのセット端子またはリセット端子との間に、前記組み合わせ回路の出力を入力しキャプチャ動作時にゲート出力するゲート回路をそれぞれ挿入し、挿入されたゲート回路に出力する前記組み合わせ回路の入力信号をそれぞれトレースし、これら入力信号を出力するスキャンフリップフロップをそれぞれリストアップし、リストアップされたスキャンフリップフロップと前記組み合わせ回路との間に、スキャンシフト動作時にスキャンフリップフロップの出力を取り込みキャプチャ動作時に保持し前記組み合わせ回路の入力信号として出力するレベルラッチをそれぞれ挿入し、これらレベルラッチのラッチイネーブル信号を生成するラッチイネーブル信号生成回路を挿入している。
【００２４】
また、本発明は、テストモード時にスキャンイネーブル信号に対応してスキャンパスとしてスキャンシフト動作およびキャプチャ動作を交互にそれぞれ行う複数のスキャンフリップフロップを備えるスキャンパス回路の生成方法において、組み合わせ回路の入力信号をそれぞれトレースし、前記組み合わせ回路の出力信号をデータ入力するスキャンフリップフロップと異なる位相のクロック信号で動作し前記入力信号を出力するスキャンフリップフロップをそれぞれリストアップし、リストアップされたスキャンフリップフロップと前記組み合わせ回路との間に、スキャンシフト動作時にスキャンフリップフロップの出力を取り込みキャプチャ動作時に保持し前記組み合わせ回路の入力信号として出力するレベルラッチをそれぞれ挿入し、これらレベルラッチのラッチイネーブル信号を生成するラッチイネーブル信号生成回路を挿入している。
【００２５】
【発明の実施の形態】
次に、本発明について図面を参照して説明する。図１は、本発明のスキャンパス回路の実施形態１を示すブロック図である。図１を参照すると、本実施形態のスキャンパス回路は、組み合わせ回路２０，インバータ２１，ゲート回路２２〜２３，スキャンフリップフロップ３０〜３２，レベルラッチ４１，ラッチイネーブル信号生成回路４２とを備える。
【００２６】
組み合わせ回路２０は、テストモード時におけるテスト対象回路であり、レベルラッチ４１の出力を入力してスキャンフリップフロップ３１，３２のリセット信号またはその反転信号を生成し、ゲート回路２２，２３に出力する。また、この組み合わせ回路２０の入力信号は、被テスト回路によっては複数となる。
【００２７】
インバータ２１はスキャンイネーブル信号を反転出力し、ゲート回路２２〜２３は、組み合わせ回路２０の出力を入力し、テストモード時のスキャンシフト動作およびキャプチャ動作を制御するスキャンイネーブル信号に対応してスキャンシフト動作時にインアクティブに固定しスキャンシフト動作時にゲート出力し、スキャンフリップフロップ３１，３２のリセット端子に出力する。このゲート回路２２〜２３は、スキャンパス回路を利用する場合、記録媒体に記録されたスキャンパス回路およびテストパタンの生成用プログラムをコンピュータに実行させることにより、スキャンフリップフロップのセット信号またはリセット信号をインアクティブ制御するため、スキャンフリップフロップのセット／リセット端子を自動認識して、挿入される。
【００２８】
スキャンフリップフロップ３０〜３２は、出力端子またはデータ入力端子に図示の組み合わせ回路２０以外のテスト対象組み合わせ回路を出力端子またはデータ入力端子に接続し、通常動作モード時に、その入力信号または出力信号を出力または入力するフリップフロップとしてそれぞれ動作し、テストモード時に、スキャンイネーブル信号に対応してスキャンパスとしてスキャンシフト動作およびキャプチャ動作を交互にそれぞれ行う。また、通常動作モード時も、テストモード時も、単相のクロック信号で動作する。ここで、スキャンフリップフロップ３１，３２は、リセットの極性の異なった２つのスキャンフリップフロップ例として示し、スキャンフリップフロップ３０，３１，３２の内部構成または各端子機能などについては、当業者に周知であり、その詳細な説明は省略する。
【００２９】
レベルラッチ４１は、スキャンフリップフロップ３０の出力を入力し、ラッチイネーブル信号により制御され、スキャンシフト動作時にスキャンフリップフロップの出力を取り込み、キャプチャ動作時に保持し、組み合わせ回路２０の入力信号として出力する。この実施形態では、ラッチイネーブル信号が“１”の時は、入力端子に伝搬された信号をそのまま出力端子に出力し、“０”の時は、入力端子に伝搬された信号を出力端子に出力せずに、ラッチイネーブル信号に“１”が設定されていた時に伝搬させていた信号を出力端子に出力する。
【００３０】
ラッチイネーブル信号生成回路４２は、テストモード時を示すテストモード信号およびスキャンイネーブル信号に対応して、レベルラッチ４１を制御するラッチイネーブル信号を生成する。さらに、このラッチイネーブル信号生成回路４２は、インバータ４３，ゲート回路４４からなり、インバータ４３は、スキャンイネーブル信号を入力し反転し、ゲート回路４４は、インバータ４３の出力およびテストモード信号を入力しラッチイネーブル信号を出力する。
【００３１】
図２は、このラッチイネーブル信号生成回路４２の入出力を説明するための説明図であり、テストモード信号，スキャンイネーブル信号が共に“０”または“１”であるとき、ラッチイネーブル信号は“１”となり、テストモード信号，スキャンイネーブル信号がが“１”，“０”であるとき、ラッチイネーブル信号は“０”となる。尚、テストモード信号，スキャンイネーブル信号が“０”，“１”となる入力組み合わせは許容されていない。
【００３２】
図３は、本実施形態のスキャンパス回路の動作例を示すタイミング図である。次に、図３を参照して、本実施形態のスキャンパス回路の動作について説明する。
【００３３】
図３に示されるように、このスキャンパス回路は、図２に示したテストモード信号，スキャンイネーブル信号の入力組み合わせにより制御される。
【００３４】
テストモード信号，スキャンイネーブル信号が共に“０”である場合、スキャンパス回路は通常動作モードになり実装時の動作を行う。このとき、ラッチイネーブル信号は“１”となるため、スキャンフリップフロップ３０から出力された信号がそのままレベルラッチ４１の出力端子に伝搬され、後段の組み合わせ回路２０に伝搬される。そして、ゲート回路２２〜２３は、スキャンイネーブル信号が“０”であることから、組み合わせ回路２０からの信号をインアクティブ固定とせず、そのまま、スキャンフリップフロップ３１，３２のリセット端子Ｒ，ＲＢに伝搬する。このため、本発明を適用しても、適用する以前の動作に影響を与えずに動作できる。
【００３５】
次に、テストモード信号，スキャンイネーブル信号が“１”，“１”である場合、スキャンパス回路はテストモードになりスキャンシフト動作を行う。すなわち、クロック信号の立ち上がり変化の時点で、スキャンフリップフロップ３０，３１，３２はスキャンイン端子から信号を取り込み出力端子にシフト出力する。
【００３６】
このとき、ラッチイネーブル信号は“１”となり、スキャンフリップフロップ３０から出力された信号がそのままレベルラッチ４１の出力端子に伝搬され、後段の組み合わせ回路２０に伝搬される。しかし、ゲート回路２２，２３は、スキャンイネーブル信号が“１”であることから、組み合わせ回路２０からの信号をインアクティブ値“０”，“１”に固定し、スキャンフリップフロップ３１，３２のリセット端子Ｒ，ＲＢに出力する。このため、キャプチャ動作によりスキャンフリップフロップ３１，３２に設定されたデータがシフト動作中に破壊されることを防止できる。
【００３７】
次に、テストモード信号が“１”であり、スキャンイネーブル信号が１クロックサイクル期間“０”である場合、スキャンパス回路はテストモードになりキャプチャ動作を行う。すなわち、クロック信号の立ち上がり変化の時点でスキャンフリップフロップ３０，３１，３２はデータ入力端子から信号を取り込む。
【００３８】
このとき、ラッチイネーブル信号は“０”となり、キャプチャ動作に移る前のスキャンシフト動作時にスキャンフリップフロップ３０に設定されたデータが、キャプチャ動作中レベルラッチ４１に保持され、後段の組み合わせ回路２０に伝搬し、この組み合わせ回路２０からの信号が、キャプチャ動作時にインアクティブにマスクされることがなく、スキャンフリップフロップ３１，３２のリセット端子Ｒ，ＲＢまで伝搬されるため、スキャンフリップフロップ３１，３２のリセット端子Ｒ，ＲＢ自身、およびリセット端子Ｒ，ＲＢに繋がっている組み合わせ回路２０のテストも可能となる。
【００３９】
また、このキャプチャ動作自身によりスキャンフリップフロップ３０に取り込まれたデータは、レベルラッチ４１により後段の組み合わせ回路２０に伝搬されず、キャプチャ動作時に、スキャンフリップフロップ３１，３２のリセット信号が非同期に生成されることを防止できる。
【００４０】
上述のように、本実施形態のスキャンパス回路では、スキャンシフト動作時にスキャンフリップフロップに設定されたデータにより、スキャンフリップフロップのリセット端子自身、およびリセット端子に繋がっている組み合わせ回路を安定してテストでき、手作業にてテストパタンを作成する工数が削減されて、テスト費用が削減され、スキャンパステストの品質も向上する。また、スキャンフリップフロップが単相のクロック信号で動作し、スキャンパス回路の面積オーバーヘッドが小さくなり、テスト時間が短縮する。
【００４１】
図４は、図１に示した実施形態１のスキャンパス回路の変形例を示すブロック図である。この変形例のスキャンパス回路は、図１に示したスキャンパス回路と比較すると、複数のレベルラッチ４１を備え、組み合わせ回路２０が複数のレベルラッチ４１の出力を入力信号とし、レベルラッチイネーブル信号生成回路４２が複数のレベルラッチ４１を制御する点のみが異なる。各ブロックの構成および動作は、図１に示したスキャンパス回路と同じであるので、重複説明を省略する。
【００４２】
この変形例のスキャンパス回路のように、複数のレベルラッチ４１に対し、レベルラッチイネーブル信号生成回路４２は、全体で１つでよく、スキャンパス回路の面積オーバーヘッドを少なくできる。
【００４３】
なお、上述した実施形態１のスキャンパス回路またはその変形例では、スキャンフリップフロップ３１，３２がリセット端子付きである場合を示し説明したが、スキャンフリップフロップ３１，３２がセット端子付きである場合も、スキャンフリップフロップ３１，３２のセット端子自身、およびセット端子に繋がっている組み合わせ回路のテストも可能となることは明らかである。
【００４４】
上述した実施形態１のスキャンパス回路およびテストパタンは、スキャンパス回路を利用する場合、記録媒体に記録されたスキャンパス回路およびテストパタンの生成用プログラムをコンピュータに実行させることにより、自動生成される。次に、このスキャンパス回路およびテストパタンの生成方法について図面を参照し説明する。図５は、上述した実施形態１のスキャンパス回路およびそのテストパタンの生成方法における手順例を示す流れ図である。
【００４５】
まず、ステップＡ１で、回路内部のスキャンフリップフロップのセット／リセット端子をそれぞれトレースし、組み合わせ回路とスキャンフリップフロップのセット端子／リセット端子との間に、スキャンシフト動作時にインアクティブ値に固定するゲート回路をそれぞれ挿入する。
【００４６】
ステップＡ２で、挿入された各ゲート回路に出力する組み合わせ回路の全入力信号をトレースし、これら入力信号を出力するスキャンフリップフロップをそれぞれリストアップする。ステップＡ３で、リストアップした各スキャンフリップフロップと後段の組み合わせ回路との間にレベルラッチをそれぞれ挿入し、ラッチイネーブル信号生成回路を挿入する。これらレベルラッチ，ラッチイネーブル信号生成回路は、予め用意して挿入しても良いし、ソフトマクロ化して挿入しても良い。
【００４７】
その後、ステップＡ４で、レベルラッチ，ラッチイネーブル信号生成回路が挿入されたスキャンパス回路に対しテストパタン自動生成を行う。ここで、レベルラッチ４１の役割は、通常動作モード時では入力端子に伝搬された信号をそのまま出力端子に出力し、テストモード時のキャプチャ動作の間に、シフト動作によりスキャンフリップフロップ３０に設定された値を保持することである。このため、ＡＴＰＧ実行時は、レベルラッチ４１をバッファモデルに置き換えてパタン生成を行う。このバッファモデルの置き換えは、既存のＡＴＰＧツールにて行われ、また、レベルラッチ４１のラッチイネーブル信号については、テストモード信号とスキャンイネーブル信号を入力信号とするため、新たに制御用パタンを追加する必要はない。
【００４８】
従来、スキャンテストにて、スキャンフリップフロップのセット端子自身、およびセット端子に繋がっている組み合わせ回路をテストするため、手作業にてテストパタンを作成する工数が必要であった。しかし、本実施形態のスキャンパス回路およびテストパタンの自動生成により、ゲート回路２１〜２３，レベルラッチ４１，ラッチイネーブル信号生成回路４２が挿入されたスキャンパス回路が生成され、そのテストパタンが生成される。このため、手作業にてテストパタンを作成する工数が削減されて、テスト費用が削減され、スキャンテストの品質も向上する。
【００４９】
図６は、本発明のスキャンパス回路の実施形態２を示すブロック図である。図６を参照すると、本実施形態のスキャンパス回路は、組み合わせ回路２０，スキャンフリップフロップ３０および３４，レベルラッチ４１，ラッチイネーブル信号生成回路４２とを備える。図１に示したスキャンパス回路と比較すると、組み合わせ回路２０，スキャンフリップフロップ３４以外の各ブロック３０，４１，４２の構成および動作は、図１に示したスキャンパス回路と同じであるので、重複説明を省略する。
【００５０】
組み合わせ回路２０は、テストモード時におけるテスト対象回路であり、レベルラッチ４１の出力を入力してスキャンフリップフロップ３４のデータ入力端子に出力に出力する。
【００５１】
スキャンフリップフロップ３４は、組み合わせ回路２０の出力信号をデータ入力端子にデータ入力し、スキャンフリップフロップ３０と異なり、クロック信号の立ち下がり変化の時点でフリップフロップ動作する。
【００５２】
図７は、本実施形態のスキャンパス回路の動作例を示すタイミング図である。次に、図７を参照して、本実施形態のスキャンパス回路の動作について説明する。
【００５３】
図７に示されるように、このスキャンパス回路は、図２に示したテストモード信号，スキャンイネーブル信号の入力組み合わせにより制御される。
【００５４】
テストモード信号，スキャンイネーブル信号が共に“０”である場合、スキャンパス回路は通常動作モードになり実装時の動作を行う。このとき、ラッチイネーブル信号は“１”となるため、クロック信号の立ち上がり変化の時点でスキャンフリップフロップ３０から出力された信号がそのままレベルラッチ４１の出力端子に伝搬され、後段の組み合わせ回路２０に伝搬され、スキャンフリップフロップ３４のデータ入力端子に伝搬され、スキャンフリップフロップ３４はクロック信号の立ち下がり変化の時点でフリップフロップ動作する。このため、本発明を適用しても、適用する以前の動作に影響を与えずに動作できる。
【００５５】
次に、テストモード信号，スキャンイネーブル信号が“１”，“１”である場合、スキャンパス回路はテストモードになりスキャンシフト動作を行う。すなわち、スキャンフリップフロップ３０は、クロック信号の立ち上がり変化の時点で、スキャンイン端子から信号を取り込み出力端子にシフト出力し、スキャンフリップフロップ３４は、クロック信号の立ちさがり変化の時点で、スキャンイン端子から信号を取り込み出力端子にシフト出力する。
【００５６】
このとき、ラッチイネーブル信号は“１”となり、クロック信号の立ち上がり変化の時点で、スキャンフリップフロップ３０から出力された信号がそのままレベルラッチ４１の出力端子に伝搬され、後段の組み合わせ回路２０に伝搬され、組み合わせ回路２０からの信号がスキャンフリップフロップ３４のデータ入力端子に出力される。しかし、スキャンフリップフロップ３４は、クロック信号の立ちさがり変化の時点で、データ入力端子から入力せず、キャプチャ動作によりスキャンフリップフロップ３４に設定されたデータがシフト動作中に破壊されることはない。
【００５７】
次に、テストモード信号が“１”であり、スキャンイネーブル信号が１クロックサイクル期間“０”である場合、スキャンパス回路はテストモードになりキャプチャ動作を行う。すなわち、クロック信号の立ち上がり変化の時点でスキャンフリップフロップ３０はデータ入力端子から信号を取り込む。このとき、ラッチイネーブル信号は“０”であり、スキャンフリップフロップ３０に取り込まれたデータは、レベルラッチ４１により後段の組み合わせ回路２０に伝搬されず、キャプチャ動作に移る前のスキャンシフト動作時にスキャンフリップフロップ３０に設定されたデータが、キャプチャ動作中レベルラッチ４１に保持され、後段の組み合わせ回路２０に伝搬し、この組み合わせ回路２０からの信号が、スキャンフリップフロップ３４のデータ入力端子に伝搬され、クロック信号の立ち下がり変化の時点で、スキャンフリップフロップ３４は、データ入力端子から信号を取り込み、組み合わせ回路２０のテストも可能となる。
【００５８】
従来は、スキャンフリップフロップ３０，３４のように、互いに位相の異なるクロック信号で動作するスキャンフリップフロップ間の組み合わせ回路をスキャンパステストすることが不可能であった。しかし、本実施形態のスキャンパス回路では、レベルラッチの挿入により、互いに位相の異なるクロック信号で動作するスキャンフリップフロップ間の組み合わせ回路も、スキャンパステストが可能となり、手作業にてテストパタンを作成する工数がさらに削減される。
【００５９】
なお、本実施形態のスキャンパス回路およびそのテストパタンの自動生成が、たとえば、組み合わせ回路の入力信号をそれぞれトレースし、組み合わせ回路の出力信号をデータ入力するスキャンフリップフロップと異なる位相のクロック信号で動作し入力信号を出力するスキャンフリップフロップをそれぞれリストアップし、リストアップされた各スキャンフリップフロップと組み合わせ回路との間にレベルラッチをそれぞれ挿入し、ラッチイネーブル信号生成回路を挿入することにより、実現できることは明らかである。
【００６０】
【発明の効果】
以上説明したように、本発明によるスキャンパス回路は、レベルラッチの挿入により、スキャンフリップフロップのリセット端子自身、およびリセット端子に繋がっている組み合わせ回路を安定してスキャンパステストでき、手作業にてテストパタンを作成する工数が削減され、且つ、スキャンパス回路の面積オーバーヘッドが小さくなり、テスト時間が短縮する。
【００６１】
また、従来、互いに位相の異なるクロック信号で動作するスキャンフリップフロップ間の組み合わせ回路をスキャンパステストすることが不可能であったが、本発明のスキャンパス回路では、レベルラッチの挿入により、スキャンパステストが可能となり、手作業にてテストパタンを作成する工数がさらに削減される。
【００６２】
さらには、手作業にてテストパタンを作成する工数が大きく削減されるため、テスト費用が大きく削減され、スキャンパステストの品質も著しく向上するなどの効果がある。
【図面の簡単な説明】
【図１】本発明のスキャンパス回路の実施形態１を示すブロック図である。
【図２】図１のスキャンパス回路におけるラッチイネーブル信号生成回路４２の入出力を説明するための説明図である。
【図３】図１のスキャンパス回路の動作例を示すタイミング図である。
【図４】図１のスキャンパス回路の変形例を示すブロック図である。
【図５】実施形態１のスキャンパス回路およびそのテストパタンの生成方法における手順例を示す流れ図である。
【図６】本発明のスキャンパス回路の実施形態２を示すブロック図である。
【図７】図６のスキャンパス回路の動作例を示すタイミング図である。
【図８】従来のスキャンパス回路の例を示すブロック図である。
【図９】図８のスキャンパス回路の動作例を示すタイミング図である。
【符号の説明】
２０    組み合わせ回路
２１，４３，７５    インバータ
２２〜２３，４４，７３〜７４    ゲート回路
３０〜３２，３４，７１〜７２    スキャンフリップフロップ
４１    レベルラッチ
４２    ラッチイネーブル信号生成回路
７０    制御信号生成回路
７６    リセット信号生成回路
Ａ１〜Ａ４    ステップ
【図１】
0003573692.tif 000002
【図２】
0003573692.tif 000003
【図３】
0003573692.tif 000004
【図４】
0003573692.tif 000005
【図５】
0003573692.tif 000006
【図６】
0003573692.tif 000007
【図７】
0003573692.tif 000008
【図８】
0003573692.tif 000009
【図９】
0003573692.tif 000010