(57)【要約】【課題】テストパタン数を低減するスキャンチェーンの構築方法を提供する【解決手段】ＳｃａｎＦＦ１０〜１５それぞれのデータ入力端に接続する組合せ回路２４，２５のテストに必要なテストパターン数をそれぞれ算出し、算出テストパターン数に対応してグループ化するグループ化処理ステップＳ１〜Ｓ３と、それぞれのグループ内のＳｃａｎＦＦ１０〜１５をグループ単位にそれぞれバイパスさせるセレクタ３０，３１を、グループ間にそれぞれ挿入してスキャンチェーンを構築するスキャンチェーン構築処理ステップＳ４〜Ｓ７とを有する。【選択図】　　　図１
2004077356.tif 000002
【特許請求の範囲】
【請求項１】
１入力のバッファまたは複数入力の論理回路で構成する組合せ回路およびスキャンフリップフロップを縦続接続したスキャンチェーンのテストを行うためのスキャンチェーン構築方法において、前記スキャンフリップフロップそれぞれのデータ入力端に接続された前記組合せ回路のテストに必要なテストパターン数をそれぞれ算出し、算出テストパターン数に対応してグループ化し、それぞれのグループ内の前記スキャンフリップフロップを前記グループ単位にそれぞれバイパスさせるセレクタを、前記グループ間にそれぞれ挿入して前記スキャンチェーンを構築することを特徴とするスキャンチェーン構築方法。
【請求項２】
１入力のバッファまたは複数入力の論理回路で構成する組合せ回路およびスキャンフリップフロップを縦続接続したスキャンチェーンのテストを行うためのスキャンチェーン構築方法において、前記スキャンチェーンをグループ化してテストするためのスキャンチェーングループ化の前処理として、前記スキャンフリップフロップそれぞれのデータ入力端に接続された前記組合せ回路のテストパタン数を算出するためのステップを含むことを特徴とするスキャンチェーン構築方法。
【請求項３】
前記スキャンチェーングループ化の前処理として、前記組合せ回路の算出テストパタン数を、前記組合せ回路の出力を受ける前記スキャンフリップフロップのグループ番号に設定する請求項２記載のスキャンチェーン構築方法。
【請求項４】
前記スキャンチェーングループ化の前処理として、前記組合せ回路の入力端および出力端に接続されるスキャンフリップフロップそれぞれに設定された前記グループ番号を比較して大小関係のデータを取得する請求項２または３記載のスキャンチェーン構築方法。
【請求項５】
前記スキャンチェーングループ化の前処理として、取得した前記大小関係のデータを基に、前記組合せ回路の入力端および出力端のうち前記入力端に接続された第１のスキャンフリップフロップのグループ番号が、前記出力端に接続された第２のスキャンフリップフロップの番号よりも小さいとき、前記第１のスキャンフリップフロップのグループ番号を前記第２のスキャンフリップフロップの番号と同じ番号に書き変えて同一グループ内に属する前記第１および前記第２のスキャンフリップフロップのグループ番号を共通化する請求項２または３記載のスキャンスキャンチェーン構築方法。
【請求項６】
前記スキャンチェーングループ化に係わる前処理を全て終了後、前記算出テストパタン数を基に設定された前記グループ番号の小さい方から順番にスキャンチェーンを構築するとともに、前記スキャンチェーン内の前記グループ番号が異なるスキャンフリップフロップ間には、スキャンイン端子からの信号と前段のグループ内の第１および第２のスキャンフリップフロップのうち前記第２のスキャンフリップフロップからの信号を選択端子の信号で選択するセレクタを、前記前段に続く後段のグループ内の第１および第２のスキャンフリップフロップのうち前記第１のスキャンフリップフロップの入力端にそれぞれ挿入しスキャンチェーンを構築する請求項２，３，４または５記載のスキャンチェーン構築方法。
【請求項７】
前記組合せ回路のテストパタン数に代えて前記組合せ回路の入力端子数を用いる請求項２または３記載のスキャンチェーン構築方法。
【請求項８】
１入力のバッファまたは複数入力の論理回路で構成する組合せ回路およびスキャンフリップフロップを縦続接続したスキャンチェーンのテストを行うためのスキャンチェーン構築方法において、前記スキャンフリップフロップそれぞれのデータ入力端に接続された前記組合せ回路のテストに必要なテストパターン数をそれぞれ算出し、算出テストパターン数に対応してグループ化するグループ化処理ステップと、それぞれのグループ内の第１および第２のスキャンフリップフロップを前記グループ単位にそれぞれバイパスさせるセレクタを、前記グループ間にそれぞれ挿入して前記スキャンチェーンを構築するスキャンチェーン構築処理ステップとを有することを特徴とするスキャンチェーン構築方法。
【請求項９】
前記グループ化処理ステップは、前記組合せ回路をテストするのに必要なパタン数を算出するパタン数算出処理ステップと、前記パタン数算出処理ステップで算出した算出テストパタン数を前記第１および前記第２のスキャンフリップフロップそれぞれのグループ番号として割り当てるグループ番号処理ステップと、前記グループ番号処理ステップで割り当てた、テスト対象の前記組合せ回路の入力端に接続された前記第１のスキャンフリップフロップおよび出力端に接続された前記第２のスキャンフリップフロップそれぞれの前記グループ番号を比較する比較処理ステップと、前記第１のスキャンフリップフロップのグループ番号が、前記第２のスキャンフリップフロップのグループ番号より小さいかを解析するグループ番号解析処理ステップとを有する請求項８記載のスキャンチェーン構築方法。
【請求項１０】
前記スキャンチェーン構築処理ステップは、前記グループ番号解析処理ステップでの処理結果に基づき、前記第２のスキャンフリップフロップのグループ番号が前記第１のスキャンフリップフロップのグループ番号よりも小さかった場合に、前記第２のスキャンフリップフロップのグループ番号を前記第１のスキャンフリップフロップのグループ番号に置き換えるグループ番号置き換え処理ステップと、全ての前記スキャンフリップフロップにおける前記比較処理ステップおよび前記グループ番号解析処理ステップステップのチェックが終了していなければ前記比較処理ステップへ戻り、終了していれば次の処理ステップへ進むチェック終了確認処理ステップと、前記算出テストパタン数を基に設定された前記グループ番号の小さい方から順番にスキャンチェーンを構築するとともに、縦続接続された複数のグループうち前段のグループ内の前記第２のスキャンフリップフロップおよび前記前段に続く後段のグループ内の前記第１のスキャンフリップフロップの間には、スキャンイン端子からの信号または前記前段のグループ内の前記第２のスキャンフリップフロップからの信号を選択端子の信号で選択するセレクタ挿入しスキャンチェーンを構築するセレクタ挿入処理ステップとを有する請求項８記載のスキャンチェーン構築方法。
【請求項１１】
１入力のバッファまたは複数入力の論理回路で構成する組合せ回路およびスキャンフリップフロップを縦続接続したスキャンチェーンのテストを行うためのスキャンチェーン構築方法において、前記スキャンフリップフロップそれぞれのデータ入力端に接続した前記組合せ回路の入力端子数をそれぞれ算出し、算出入力端子数に対応してグループ化し、それぞれのグループ内の前記スキャンフリップフロップを前記グループ単位にそれぞれバイパスさせるセレクタを、前記グループ間にそれぞれ挿入して前記スキャンチェーンを構築することを特徴とするスキャンチェーン構築方法。
【請求項１２】
１入力のバッファまたは複数入力の論理回路で構成する組合せ回路およびスキャンフリップフロップを縦続接続したスキャンチェーンのテストを行うためのスキャンチェーン構築方法において、前記スキャンフリップフロップそれぞれのデータ入力端に接続された前記組合せ回路の入力端子数をそれぞれ算出し、算出入力端子数に対応してグループ化する端子数によるグループ化処理ステップと、それぞれのグループ内の前記スキャンフリップフロップを前記グループ単位にそれぞれバイパスさせるセレクタを、前記グループ間にそれぞれ挿入して前記スキャンチェーンを構築する端子数によるスキャンチェーン構築処理ステップとを有することを特徴とするスキャンチェーン構築方法。
【請求項１３】
前記端子数によるグループ化処理ステップは、前記組合せ回路の入力端子数を算出する入力端子数算出処理ステップと、前記入力端子数算出処理ステップで算出した算出端子数を前記スキャンフリップフロップそれぞれのグループ番号として割り当てるグループ番号処理ステップと、前記グループ番号処理ステップで割り当てた、テスト対象の前記組合せ回路の入力端に接続された第１のスキャンフリップフロップおよび出力端に接続された第２のスキャンフリップフロップそれぞれの前記グループ番号を比較する比較処理ステップと、前記第１のスキャンフリップフロップの前記グループ番号が、前記第２のスキャンフリップフロップの前記グループ番号より小さいかを解析するグループ番号解析処理ステップとを有する請求項１２記載のスキャンチェーン構築方法。
【請求項１４】
前記端子数によるスキャンチェーン構築処理ステップは、前記グループ番号解析処理ステップで、前記第２のスキャンフリップフロップのグループ番号が前記第１のスキャンフリップフロップのグループ番号よりも小さかった場合に、前記第２のスキャンフリップフロップのグループ番号を前記第１のスキャンフリップフロップのグループ番号に置き換えるグループ番号置き換え処理ステップと、全ての前記スキャンフリップフロップにおける前記比較処理ステップおよび前記グループ番号解析処理ステップステップのチェックが終了していなければ前記比較処理ステップへ戻り、終了していれば次の処理ステップへ進むチェック終了確認処理ステップと、前記算出テストパタン数を基に設定された前記グループ番号の小さい方から順番にスキャンチェーンを構築するとともに、縦続接続された複数のグループのうち前段のグループ内の前記第２のスキャンフリップフロップおよび前記前段に続く後段のグループ内の前記第１のスキャンフリップフロップの間には、スキャンイン端子からの信号または前記前段のグループ内の前記第２のスキャンフリップフロップからの信号を選択端子の信号で選択するセレクタ挿入しスキャンチェーンを構築するセレクタ挿入処理ステップとを有する請求項１２記載のスキャンチェーン構築方法。
【請求項１５】
テストをするのに必要なテストパタン数が少ないグループの順番にスキャンチェーンを構築し、異なるグループ間である、第ｎ＋１（ｎは整数）番目のグループの前記組合せ回路のテストが終了した時点で、第ｎ＋１番目のグループ出力側の前記セレクタにスキャン端子からの信号を選択させることにより、前記第ｎ番目および前記ｎ＋１番目のグループ内それぞれの前記第１および前記第２のスキャンフリップフロップのシフト動作を行なわずに、第ｎ＋２番目のグループの前記第１のスキャンフリップフロップに外部から直接値を設定して第ｎ＋２番目のグループの前記組合せ回路のテストを行う請求項２，３，４または５記載のスキャンチェーン構築方法。
【請求項１６】
所定の前記グループ内の組合せ回路部のテストが終了した時点で、後続する次段のグループとの間に設けた前記セレクタに前記所定のブロックの入力端に設けたセレクタからの信号を選択させることにより、初段のブロックから前記所定のブロックまでの全てのスキャンフリップフロップへのシフト動作を行なわずに前記次段のグループのスキャンフリップフロップに直接データ値を設定して残りの組合せ回路部をテストしテストパタンのシフト動作を減少させる請求項６記載のスキャンチェーンテスト構築方法。
【請求項１７】
１入力のバッファまたは複数入力の論理回路で構成する組合せ回路およびスキャンフリップフロップを縦続接続したスキャンチェーンのテストを行うためのスキャンチェーン構築方法において、前記スキャンフリップフロップそれぞれのデータ入力端に接続された前記組合せ回路のテストに必要なテストパターン数をそれぞれ算出し、算出テストパターン数に対応してグループ化し、それぞれのグループ内の前記スキャンフリップフロップを前記グループ単位にそれぞれバイパスさせるセレクタを、前記グループ間にそれぞれ挿入して前記スキャンチェーンを構築し、前記セレクタの制御を外部端子から直接行なわずに、制御回路を用いて行ない、前記制御回路は、セレクタ制御信号とセレクタクロック信号と制御回路リセット信号とを入力し、前記リセット信号で初期化した後、前記セレクタ制御信号およびセレクタ端子をアクティブにして順次各セレクタをアクティブにすることを特徴とするスキャンチェーン構築方法。
【請求項１８】
１入力のバッファまたは複数入力の論理回路で構成する組合せ回路およびスキャンフリップフロップを縦続接続したスキャンチェーンのテストを行うためのスキャンチェーン構築方法において、前記スキャンフリップフロップそれぞれのデータ入力端に接続された前記組合せ回路のテストに必要なテストパターン数をそれぞれ算出し、算出テストパターン数に対応してグループ化し、それぞれのグループ内の前記スキャンフリップフロップを前記グループ単位にそれぞれバイパスさせるセレクタを、前記グループ間にそれぞれ備えることを特徴とするスキャンチェーン回路。
【請求項１９】
１入力のバッファまたは複数入力の論理回路で構成する組合せ回路およびスキャンフリップフロップを縦続接続したスキャンチェーンのテストを行うためのスキャンチェーン構築方法において、前記スキャンフリップフロップそれぞれのデータ入力端に接続された組合せ回路のテストに必要なテストパターン数をそれぞれ算出し、算出テストパターン数に対応してグループ化し、それぞれのグループ内の前記スキャンフリップフロップを前記グループ単位にそれぞれバイパス用に前記グループ間にそれぞれ挿入されるセレクタと、前記セレクタを制御する制御回路とを備え、前記制御回路は、セレクタ制御信号とセレクタクロック信号と制御回路リセット信号とを入力し、前記リセット信号で初期化した後、前記セレクタ制御信号およびセレクタ端子をアクティブにして順次各セレクタをアクティブにする機能を有することを特徴とするスキャンチェーン回路。
【請求項２０】
縦続接続された前記各グループうち前段のグループの出力をバイパスさせる前記セレクタの個数に関わらず、前記セレクタの制御を行なう外部端子はセレクタ制御信号、セレクタクロック信号およびセレクタリセット信号の３端子を備える請求項１９記載のスキャンチェーン回路。
【請求項２１】
１入力のバッファまたは複数入力の論理回路で構成する組合せ回路およびスキャンフリップフロップを縦続接続したスキャンチェーンのテストを行うためのスキャンチェーン構築方法において、前記スキャンフリップフロップそれぞれのデータ入力端に接続された前記組合せ回路のテストに必要なテストパターン数をそれぞれ算出し、算出テストパターン数に対応してグループ化するグループ化処理ステップと、それぞれのグループ内の第１および第２のスキャンフリップフロップを前記グループ単位にそれぞれバイパスさせるセレクタを、前記グループ間にそれぞれ挿入して前記スキャンチェーンを構築するスキャンチェーン構築処理ステップとを、コンピュータに実行させるプログラム。
【請求項２２】
前記グループ化処理ステップは、前記組み合せ回路をテストするのに必要なパタン数を算出するパタン数算出処理ステップと、前記パタン数算出処理ステップで算出した算出テストパタン数を前記第１および前記第２のスキャンフリップフロップそれぞれのグループ番号として割り当てるグループ番号処理ステップと、前記グループ番号処理ステップで割り当てた、テスト対象の前記組合せ回路の入力端および出力端に接続された前記第１および前記第２のスキャンフリップフロップの前記グループ番号を比較する比較処理ステップと、前記入力端に接続された第１のスキャンフリップフロップのグループ番号が、前記出力端に接続された第２のスキャンフリップフロップのグループ番号より小さいかを解析するグループ番号解析処理ステップとを、コンピュータに実行させるプログラム。
【請求項２３】
前記スキャンチェーン構築処理ステップは、前記グループ番号解析処理ステップでの処理結果に基づき、前記第２のスキャンフリップフロップのグループ番号が前記第１のスキャンフリップフロップのグループ番号よりも小さかった場合に、前記第２のスキャンフリップフロップのグループ番号を前記第１のスキャンフリップフロップのグループ番号に置き換えるグループ番号置き換え処理ステップと、全ての前記スキャンフリップフロップにおける前記比較処理ステップおよび前記グループ番号解析処理ステップステップのチェックが終了していなければ前記比較処理ステップへ戻り、終了していれば次の処理ステップへ進むチェック終了確認処理ステップと、前記算出テストパタン数を基に設定された前記グループ番号の小さい方から順番にスキャンチェーンを構築するとともに、縦続接続された前記各グループうち前段のグループ内の前記第２のスキャンフリップフロップおよび前記前段に続く後段のグループ内の前記第１のスキャンフリップフロップの間には、スキャンイン端子からの信号と前記前段のグループ内の前記第２のスキャンフリップフロップからの信号を選択端子の信号で選択するセレクタ挿入しスキャンチェーンを構築するセレクタ挿入処理ステップとを、コンピュータに実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はスキャンチェーンの構築方法およびスキャンチェーン回路に係わり、特に順序レジスタを数珠繋ぎにシフトレジスタ化することでシフト動作により各順序レジスタに外部端子から直接値を設定したり値を観測することで被テスト対象回路のテストを容易にするスキャンチェーンの構築方法およびスキャンチェーン回路に関する。
【０００２】
【従来の技術】
この種の従来のスキャンチェーン回路を用いて行なうスキャンパステスト手法は、一般的に、外部から順序レジスタに直接にデータ値を設定したり、順序レジスタが取り込んだデータ値を、外部から観測することが出来るように構成されている。
【０００３】
しかし、データ値を設定／観測する毎に、スキャンチェーンに接続されている順序レジスタ数に対応したシフト動作回数が必要なため、チェーンをテストするために要するテストパタン数のうちで、シフト動作させるためのパタン数が大きな割合を占めてしまうという問題がある。
【０００４】
さらに、近年では、テスト対象回路の大規模化によりテストパタン数が膨大な数となり、テスト時間が長くなってきている。そのため、テスト効率を向上させるためにもテストパタン数を少なくすることが要請されている。
【０００５】
この要請に応えるためのスキャンチェーン構成手段の例が特許第２７３８３５１号公報に記載されている。従来のスキャンチェーン回路の構成図を示した図６を参照すると、同公報記載のスキャンチェーン構成手段は、スキャンチェーンの途中にセレクタを挿入し、前段の回路の出力信号をバイパスさせることでシフトの動作回数を低減している。
【０００６】
すなわち、スキャンフリップフロップ（以下、ＳｃａｎＦＦと称す）を縦属接続して構成するスキャンチェーンのＳｃａｎＦＦ（１）〜ＳｃａｎＦＦ（ｎ）（ｎはｎ＞１の整数）と、ＳｃａｎＦＦ（ｎ＋１）〜ＳｃａｎＦＦ（ｍ）（ｍはｍ＞ｎ＋１の整数）は、ＳｃａｎＦＦ（ｎ）とＳｃａｎＦＦ（ｎ＋１）との間に挿入されたセレクタ６３とＳｃａｎＦＦ（ｍ）の出力に挿入されたセレクタ６４を介してスキャンパステスト時にシフトレジスタ構成となる。
【０００７】
ＳｃａｎＦＦ（１）〜ＳｃａｎＦＦ（ｎ）のクロック入力端子はラッチ回路６１の出力端に共通接続され、ＳｃａｎＦＦ（ｎ＋１）からＳｃａｎＦＦ（ｍ）のクロック入力端子はラッチ回路６２の出力端に共通接続され、ラッチ回路６１とラッチ回路６２のデータ入力端子はともにクロック端子６６からクロック信号６６が与えられる。
【０００８】
セレクタ６３の選択制御信号は、ラッチ回路６１のゲート信号とともにバイパス信号が与えられる。同様に、セレクタ６４の選択制御信号は、ラッチ回路６２のゲート信号とともに、バイパス信号６９が与えられる。
【０００９】
この従来例によれば、ＡＮＤ回路７９の１テストは、クロック信号２ｎ＋１回で行なえることになるとし、スキャンイン端子６５からＡＮＤ回路７９の２つの入力端に同時にテストデータ入力ｄ７４とテストデータ入力ｂ７２を印加するためのｎクロックを要し、ＡＮＤ回路７９の出力端からのテストデータ出力ａ７１をスキャンアウトに出力するまでに（ｎ＋１）クロックを要するため、１テストは（２ｎ＋１）クロック・サイクルとされる。
【００１０】
この構成により、フリップフロップ回路の動作を抑制し試験対象以外の組合せ回路の動作を回避するとともに、スキャンイン端子からスキャンテストパターンを入力し、スキャンパスを介して組合せ回路にテスト信号を加え、その組合せ回路からの出力信号を、スキャンパスを介してスキャンアウト端子に出力するまでに要するクロック数を削減する。このクロック数の削減により、スキャンテストパターン長を削減することができるというものである。
【００１１】
【発明が解決しようとする課題】
上述したように従来のスキャンチェーン回路によれば、複数のＳｃａｎＦＦ間にバイパス用のセレクタ回路を挿入して分割し、各ＳｃａｎＦＦのクロック信号に所定のラッチ回路を挿入する。ラッチ回路を介して分割されたＳｃａｎＦＦ群へのクロック供給を制御して、ＳｃａｎＦＦの動作を抑制し試験対象以外の組合せ回路の動作を回避するが、後述する本発明の一実施の形態の構成例との比較からも明らかなように、複数のＳｃａｎＦＦ間にバイパス用のセレクタ回路を挿入してスキャンチェーンを分割するに際し、分割のグループ分けおよび配置順序を、複数の組合せ回路部をテストするのに必要なテストパタン数に基づき決定するという、スキャンチェーン構築の技術思想は見られない。
【００１２】
本発明の目的は、スキャンチェーンテスト時に、従来は組合せ回路部のテストが終了した前段のＳｃａｎＦＦに対しても、余計なシフト動作を必要としたが、本発明では、前段の組合せ回路部のテストが終了した時点でその組合せ回路部の入力および出力端に接続されたＳｃａｎＦＦをバイパスさせることで、次段のスキャングループのＳｃａｎＦＦのテスト時には前段のスキャングループのシフト動作をパスさせてテストパタン数を低減するスキャンチェーンの構築方法を提供することにある。
【００１３】
【課題を解決するための手段】
本発明のスキャンチェーン構築方法は、１入力のバッファまたは複数入力の論理回路で構成する組合せ回路およびスキャンフリップフロップを縦続接続したスキャンチェーンのテストを行うためのスキャンチェーン構築方法において、前記スキャンフリップフロップそれぞれのデータ入力端に接続された前記組合せ回路のテストに必要なテストパターン数をそれぞれ算出し、算出テストパターン数に対応してグループ化し、それぞれのグループ内の前記スキャンフリップフロップを前記グループ単位にそれぞれバイパスさせるセレクタを、前記グループ間にそれぞれ挿入して前記スキャンチェーンを構築することを特徴とする。
【００１４】
本発明のスキャンチェーン構築方法の他の特徴は、１入力のバッファまたは複数入力の論理回路で構成する組合せ回路およびスキャンフリップフロップを縦続接続したスキャンチェーンのテストを行うためのスキャンチェーン構築方法において、前記スキャンチェーンをグループ化してテストするためのスキャンチェーングループ化の前処理として、前記スキャンフリップフロップそれぞれのデータ入力端に接続された前記組合せ回路のテストパタン数を算出するためのステップを含むことにある。
【００１５】
また、前記スキャンチェーングループ化の前処理として、前記組合せ回路の算出テストパタン数を、前記組合せ回路の出力を受ける前記スキャンフリップフロップのグループ番号に設定することができる。
【００１６】
さらに、前記スキャンチェーングループ化の前処理として、前記組合せ回路の入力端および出力端に接続されるスキャンフリップフロップそれぞれに設定された前記グループ番号を比較して大小関係のデータを取得することもできる。
【００１７】
さらにまた、前記スキャンチェーングループ化の前処理として、取得した前記大小関係のデータを基に、前記組合せ回路の入力端および出力端のうち前記入力端に接続された第１のスキャンフリップフロップのグループ番号が、前記出力端に接続された第２のスキャンフリップフロップの番号よりも小さいとき、前記第１のスキャンフリップフロップのグループ番号を前記第２のスキャンフリップフロップの番号と同じ番号に書き変えて同一グループ内に属する前記第１および前記第２のスキャンフリップフロップのグループ番号を共通化してもよい。
【００１８】
また、前記スキャンチェーングループ化に係わる前処理を全て終了後、前記算出テストパタン数を基に設定された前記グループ番号の小さい方から順番にスキャンチェーンを構築するとともに、前記スキャンチェーン内の前記グループ番号が異なるスキャンフリップフロップ間には、スキャンイン端子からの信号と前段のグループ内の第１および第２のスキャンフリップフロップのうち前記第２のスキャンフリップフロップからの信号を選択端子の信号で選択するセレクタを、前記前段に続く後段のグループ内の第１および第２のスキャンフリップフロップのうち前記第１のスキャンフリップフロップの入力端にそれぞれ挿入しスキャンチェーンを構築することもできる。
【００１９】
さらに、前記組合せ回路のテストパタン数に代えて前記組合せ回路の入力端子数を用いることもできる。
【００２０】
本発明のスキャンチェーン構築方法のまた他の特徴は、１入力のバッファまたは複数入力の論理回路で構成する組合せ回路およびスキャンフリップフロップを縦続接続したスキャンチェーンのテストを行うためのスキャンチェーン構築方法において、前記スキャンフリップフロップそれぞれのデータ入力端に接続された前記組合せ回路のテストに必要なテストパターン数をそれぞれ算出し、算出テストパターン数に対応してグループ化するグループ化処理ステップと、それぞれのグループ内の第１および第２のスキャンフリップフロップを前記グループ単位にそれぞれバイパスさせるセレクタを、前記グループ間にそれぞれ挿入して前記スキャンチェーンを構築するスキャンチェーン構築処理ステップとを有することにある。
【００２１】
また、前記グループ化処理ステップは、前記組合せ回路をテストするのに必要なパタン数を算出するパタン数算出処理ステップと、前記パタン数算出処理ステップで算出した算出テストパタン数を前記第１および前記第２のスキャンフリップフロップそれぞれのグループ番号として割り当てるグループ番号処理ステップと、前記グループ番号処理ステップで割り当てた、テスト対象の前記組合せ回路の入力端に接続された前記第１のスキャンフリップフロップおよび出力端に接続された前記第２のスキャンフリップフロップそれぞれの前記グループ番号を比較する比較処理ステップと、前記第１のスキャンフリップフロップのグループ番号が、前記第２のスキャンフリップフロップのグループ番号より小さいかを解析するグループ番号解析処理ステップとを有する。
【００２２】
さらに、前記スキャンチェーン構築処理ステップは、前記グループ番号解析処理ステップでの処理結果に基づき、前記第２のスキャンフリップフロップのグループ番号が前記第１のスキャンフリップフロップのグループ番号よりも小さかった場合に、前記第２のスキャンフリップフロップのグループ番号を前記第１のスキャンフリップフロップのグループ番号に置き換えるグループ番号置き換え処理ステップと、全ての前記スキャンフリップフロップにおける前記比較処理ステップおよび前記グループ番号解析処理ステップステップのチェックが終了していなければ前記比較処理ステップへ戻り、終了していれば次の処理ステップへ進むチェック終了確認処理ステップと、前記算出テストパタン数を基に設定された前記グループ番号の小さい方から順番にスキャンチェーンを構築するとともに、縦続接続された複数のグループうち前段のグループ内の前記第２のスキャンフリップフロップおよび前記前段に続く後段のグループ内の前記第１のスキャンフリップフロップの間には、スキャンイン端子からの信号または前記前段のグループ内の前記第２のスキャンフリップフロップからの信号を選択端子の信号で選択するセレクタ挿入しスキャンチェーンを構築するセレクタ挿入処理ステップとを有する。
【００２３】
本発明のスキャンチェーン構築方法のさらに他の特徴は、１入力のバッファまたは複数入力の論理回路で構成する組合せ回路およびスキャンフリップフロップを縦続接続したスキャンチェーンのテストを行うためのスキャンチェーン構築方法において、前記スキャンフリップフロップそれぞれのデータ入力端に接続した前記組合せ回路の入力端子数をそれぞれ算出し、算出入力端子数に対応してグループ化し、それぞれのグループ内の前記スキャンフリップフロップを前記グループ単位にそれぞれバイパスさせるセレクタを、前記グループ間にそれぞれ挿入して前記スキャンチェーンを構築することにある。
【００２４】
本発明のスキャンチェーン構築方法のまたさらに他の特徴は、１入力のバッファまたは複数入力の論理回路で構成する組合せ回路およびスキャンフリップフロップを縦続接続したスキャンチェーンのテストを行うためのスキャンチェーン構築方法において、前記スキャンフリップフロップそれぞれのデータ入力端に接続された前記組合せ回路の入力端子数をそれぞれ算出し、算出入力端子数に対応してグループ化する端子数によるグループ化処理ステップと、それぞれのグループ内の前記スキャンフリップフロップを前記グループ単位にそれぞれバイパスさせるセレクタを、前記グループ間にそれぞれ挿入して前記スキャンチェーンを構築する端子数によるスキャンチェーン構築処理ステップとを有することにある。
【００２５】
また、前記端子数によるグループ化処理ステップは、前記組合せ回路の入力端子数を算出する入力端子数算出処理ステップと、前記入力端子数算出処理ステップで算出した算出端子数を前記スキャンフリップフロップそれぞれのグループ番号として割り当てるグループ番号処理ステップと、前記グループ番号処理ステップで割り当てた、テスト対象の前記組合せ回路の入力端に接続された第１のスキャンフリップフロップおよび出力端に接続された第２のスキャンフリップフロップそれぞれの前記グループ番号を比較する比較処理ステップと、前記第１のスキャンフリップフロップの前記グループ番号が、前記第２のスキャンフリップフロップの前記グループ番号より小さいかを解析するグループ番号解析処理ステップとを有することができる。
【００２６】
さらに、前記端子数によるスキャンチェーン構築処理ステップは、前記グループ番号解析処理ステップで、前記第２のスキャンフリップフロップのグループ番号が前記第１のスキャンフリップフロップのグループ番号よりも小さかった場合に、前記第２のスキャンフリップフロップのグループ番号を前記第１のスキャンフリップフロップのグループ番号に置き換えるグループ番号置き換え処理ステップと、全ての前記スキャンフリップフロップにおける前記比較処理ステップおよび前記グループ番号解析処理ステップステップのチェックが終了していなければ前記比較処理ステップへ戻り、終了していれば次の処理ステップへ進むチェック終了確認処理ステップと、前記算出テストパタン数を基に設定された前記グループ番号の小さい方から順番にスキャンチェーンを構築するとともに、縦続接続された複数のグループのうち前段のグループ内の前記第２のスキャンフリップフロップおよび前記前段に続く後段のグループ内の前記第１のスキャンフリップフロップの間には、スキャンイン端子からの信号または前記前段のグループ内の前記第２のスキャンフリップフロップからの信号を選択端子の信号で選択するセレクタ挿入しスキャンチェーンを構築するセレクタ挿入処理ステップとを有することもできる。
【００２７】
さらにまた、テストをするのに必要なテストパタン数が少ないグループの順番にスキャンチェーンを構築し、異なるグループ間である、第ｎ＋１（ｎは整数）番目のグループの前記組合せ回路のテストが終了した時点で、第ｎ＋１番目のグループ出力側の前記セレクタにスキャン端子からの信号を選択させることにより、前記第ｎ番目および前記ｎ＋１番目のグループ内それぞれの前記第１および前記第２のスキャンフリップフロップのシフト動作を行なわずに、第ｎ＋２番目のグループの前記第１のスキャンフリップフロップに外部から直接値を設定して第ｎ＋２番目のグループの前記組合せ回路のテストを行うことができる。
【００２８】
また、所定の前記グループ内の組合せ回路部のテストが終了した時点で、後続する次段のグループとの間に設けた前記セレクタに前記所定のブロックの入力端に設けたセレクタからの信号を選択させることにより、初段のブロックから前記所定のブロックまでの全てのスキャンフリップフロップへのシフト動作を行なわずに前記次段のグループのスキャンフリップフロップに直接データ値を設定して残りの組合せ回路部をテストしテストパタンのシフト動作を減少させることができる。
【００２９】
本発明のスキャンチェーン構築方法の他の特徴は、１入力のバッファまたは複数入力の論理回路で構成する組合せ回路およびスキャンフリップフロップを縦続接続したスキャンチェーンのテストを行うためのスキャンチェーン構築方法において、前記スキャンフリップフロップそれぞれのデータ入力端に接続された前記組合せ回路のテストに必要なテストパターン数をそれぞれ算出し、算出テストパターン数に対応してグループ化し、それぞれのグループ内の前記スキャンフリップフロップを前記グループ単位にそれぞれバイパスさせるセレクタを、前記グループ間にそれぞれ挿入して前記スキャンチェーンを構築し、前記セレクタの制御を外部端子から直接行なわずに、制御回路を用いて行ない、前記制御回路は、セレクタ制御信号とセレクタクロック信号と制御回路リセット信号とを入力し、前記リセット信号で初期化した後、前記セレクタ制御信号およびセレクタ端子をアクティブにして順次各セレクタをアクティブにすることにある。
【００３０】
本発明のスキャンチェーン回路は、１入力のバッファまたは複数入力の論理回路で構成する組合せ回路およびスキャンフリップフロップを縦続接続したスキャンチェーンのテストを行うためのスキャンチェーン構築方法において、前記スキャンフリップフロップそれぞれのデータ入力端に接続された前記組合せ回路のテストに必要なテストパターン数をそれぞれ算出し、算出テストパターン数に対応してグループ化し、それぞれのグループ内の前記スキャンフリップフロップを前記グループ単位にそれぞれバイパスさせるセレクタを、前記グループ間にそれぞれ備えることを特徴とする。
【００３１】
本発明のスキャンチェーン回路の他の特徴は、１入力のバッファまたは複数入力の論理回路で構成する組合せ回路およびスキャンフリップフロップを縦続接続したスキャンチェーンのテストを行うためのスキャンチェーン構築方法において、前記スキャンフリップフロップそれぞれのデータ入力端に接続された組合せ回路のテストに必要なテストパターン数をそれぞれ算出し、算出テストパターン数に対応してグループ化し、それぞれのグループ内の前記スキャンフリップフロップを前記グループ単位にそれぞれバイパス用に前記グループ間にそれぞれ挿入されるセレクタと、前記セレクタを制御する制御回路とを備え、前記制御回路は、セレクタ制御信号とセレクタクロック信号と制御回路リセット信号とを入力し、前記リセット信号で初期化した後、前記セレクタ制御信号およびセレクタ端子をアクティブにして順次各セレクタをアクティブにする機能を有することにある。
【００３２】
また、縦続接続された前記各グループうち前段のグループの出力をバイパスさせる前記セレクタの個数に関わらず、前記セレクタの制御を行なう外部端子はセレクタ制御信号、セレクタクロック信号およびセレクタリセット信号の３端子を備えることができる。
【００３３】
【発明の実施の形態】
本発明の第１の実施の形態を図面を参照しながら詳細に説明する。
【００３４】
図１は本発明の第１の実施の形態におけるスキャンチェーンを構築するためのフローチャートであり、図２は図１のフローチャートを基に構成されたスキャンチェーン回路図である。
【００３５】
図１を参照すると、本発明のスキャンチェーン構築方法は、まず、処理ステップＳ１で、各ＳｃａｎＦＦのデータ入力端子にそれぞれ接続されている組合せ回路部をテストするのに必要なテストパタン数を算出するための処理を行う。
【００３６】
この組合せ回路部に必要なテストパタン数の算出方法については、パタン作成アルゴリズムを用いて算出するが、これらは公知の技術であることからここでの説明を省略する。
【００３７】
次の処理ステップＳ２では、処理ステップＳ１で算出したテストパタン数をＳｃａｎＦＦそれぞれのグループ番号として割り当てる処理を行う。
【００３８】
処理ステップＳ３では、処理ステップＳ２で割り当てた、対象とするＳｃａｎＦＦ、これをＳｃａｎＦＦ＿Ａとし、ＳｃａｎＦＦ＿Ａのデータ入力側に接続されるＳｃａｎＦＦ、これをＳｃａｎＦＦ＿Ｂとすると、これらＳｃａｎＦＦ＿ＡおよびＳｃａｎＦＦ＿Ｂのグループ番号を比較する。すなわち、グループ番号の小さい順（昇順）に、対象とするＳｃａｎＦＦ＿ＡとこのＳｃａｎＦＦ＿Ａのデータ入力側に接続されている組合せ回路部それぞれの入力となっているＳｃａｎＦＦ＿Ｂとのグループ番号を調査するための処理を行う。
【００３９】
次の処理ステップ４では、処理ステップＳ３において比較したＳｃａｎＦＦ＿Ｂのグループ番号がＳｃａｎＦＦ＿Ａのグループ番号より小さいかを解析する。
【００４０】
処理ステップ５では、処理ステップＳ４で解析した結果、ＳｃａｎＦＦ＿Ｂのグループ番号がＳｃａｎＦＦ＿Ａのグループ番号より小さかった場合、ＳｃａｎＦＦ＿Ｂのグループ番号をＳｃａｎＦＦ＿Ａのグループ番号に書き換えるための処理を行う。
【００４１】
ここで、ＳｃａｎＦＦ＿ＡとＳｃａｎＦＦ＿Ｂとを同じグループ番号にするのは、入力側のＳｃａｎＦＦ＿Ｂのスキャンチェーンが、対象となるＳｃａｎＦＦ＿Ａより後で構築されている場合には、ＳｃａｎＦＦ＿Ａのデータ入力端子に接続されている組合せ回路部のテストが終了するまでＳｃａｎＦＦ＿Ｂにはスキャンシフト動作により値を設定することができるが、ＳｃａｎＦＦ＿Ａより前で構築されている場合は、ＳｃａｎＦＦ＿Ｂのデータ入力端子に接続されている組合せ回路部のテストが終了した時点でＳｃａｎＦＦ＿Ｂはバイパスされてしまい値の設定が出来なくなるためである。
【００４２】
すなわち、スキャンチェーンを用いてのテストの仕方は、例えば図２に対応させると、ＳｃａｎＦＦ＿Ｂ（１２）からＳｃａｎＦＦ＿Ａ（１３）間に存在する組合せ回路部（１）（２４）をテストするためには、組合せ回路部（１）（２４）の入力端子に繋がっているＳｃａｎＦＦ＿Ｂ（１２）にスキャンシフト動作によりある値を設定して組合せ回路部（１）（２４）に入力値を設定し、組合せ回路部（１）（２４）の出力端子に繋がっているＳｃａｎＦＦ＿Ａ（１３）にはそのＳｃａｎＦＦ＿Ｂ（１２）で設定した入力値を基に、組合せ回路部（１）（２４）から出力される値を取り込む必要がある。
【００４３】
これより、ＳｃａｎＦＦ＿ＢがＳｃａｎＦＦ＿Ａの属するグループよりも前のグループで構築されている場合は、ＳｃａｎＦＦ＿Ｂの入力に繋がる組み合わせ回路のテストが終わり次第本発明によりバイパスされてしまい、スキャンシフト動作によりＳｃａｎＦＦ＿Ａの入力に繋がる組合せ回路部（１）に入力値を設定することができなくなってしまう。
【００４４】
しかし、例えば図２のように、ＳｃａｎＦＦ＿Ｂ（１４）がＳｃａｎＦＦ＿Ａ（１３）よりも後ろで構築されている場合、少なくともＳｃａｎＦＦ＿Ａ（１３）の組合せ回路部（１）（２４）のテストが終了するまでバイパスされることがなく、スキャンシフト動作により値を設定することが可能であり、問題ない。
【００４５】
つまり、ＳｃａｎＦＦ＿Ａの入力側に繋がる組み合わせ回路（１）に入力信号を与えるＳｃａｎＦＦ＿ＢがＳｃａｎＦＦ＿Ａより後のグループに属するのであれば、組み合わせ回路（１）のテストが終了するまでバイパスされることがなく、ＳｃａｎＦＦ＿Ｂの組み合わせ回路にシフト動作により値を設定することが可能であるということになる。
【００４６】
したがって、ＳｃａｎＦＦ＿Ｂのグループ番号がＳｃａｎＦＦ＿Ａより小さい場合には、ＳｃａｎＦＦ＿Ｂに繋がる組み合わせ回路（２）のテストが終わり次第バイパスされてしまうので、それを防ぐために同じグループ番号にする必要がある。
【００４７】
また、ＳｃａｎＦＦのグループ番号を小さい順番から調査していくのは、あるＳｃａｎＦＦが複数の信号入力となっている場合、最後に調査したＳｃａｎＦＦよりグループ番号が大きいＳｃａｎＦＦがあったとしても最後に調査したＳｃａｎＦＦの方にグループ化されてしまい、上述したように、最後に調査したＳｃａｎＦＦのデータ入力端子に接続されている組合せ回路部のテストが終了した時点でバイパスされてしまう。
【００４８】
従ってさらにテストパタンが必要な組合せ回路部に値が設定できなくなってしまうため、最終的にパタン数が多いほうのＳｃａｎＦＦにグループ化させる必要があるためである。
【００４９】
すなわち、例えば図２のように、ＳｃａｎＦＦ＿Ｂ（１４）が、ＳｃａｎＦＦ＿Ａ（１３）の出力端子に繋がっている組合せ回路部（１）（２４）とＳｃａｎＦＦ＿Ｃ（１５）の出力端子に繋がっている組合せ回路部（２）（２５）の信号入力とし、ＳｃａｎＦＦ＿Ａ（１３）に繋がっている組合せ回路部（１）（２４）をテストするのに必要なパタン数が２パタンであるのに対し、ＳｃａｎＦＦ＿Ｃ（１５）に繋がっている組合せ回路部（２）（２５）をテストするのに必要なパタン数は１０００パタンとする。
【００５０】
この場合、ＳｃａｎＦＦ＿Ｂ（１４）には組合せ回路部（２）（２５）をテストするために１０００パタン分の入力値を設定する必要があるが、ＳｃａｎＦＦ＿Ａ（１３）と同じグループにまとめてしまうと、２パタンでＳｃａｎＦＦ＿Ａ（１３）およびＳｃａｎＦＦ＿Ｂ（１４）がバイパスされてしまい、その後の値をスキャンシフト動作により組み合わせ回路部（２）２５に設定することができなくなってしまう。
【００５１】
これより、最終的にはパタン数が多いほうのグループにまとめる必要があるので、小さい順番に調査していく必要がある。
【００５２】
次の処理ステップ６では、全てのＳｃａｎＦＦのチェックが終了していなければ処理ステップＳ３へ戻り、終了したら処理ステップＳ７へ進むための処理を行う。
【００５３】
処理ステップ７では、異なるグループ間、例えばグループが異なるＳｃａｎＦＦ１１とＳｃａｎＦＦ１２との間には、ＳＩＮ端子３からの信号とＳｃａｎＦＦ１１からの信号をＳＥＬ端子２によって選択的に出力するセレクタ３０を挿入接続し、また、例えばグループが異なるＳｃａｎＦＦ１３とＳｃａｎＦＦ１４の間には、セレクタ３０からの信号とＳｃａｎＦＦ１３からの信号とをＳＥＬ端子１によって選択的に出力するセレクタ３１を挿入し、スキャンチェーンの出力信号はＳＯ端子５から出力するスキャンチェーンを構築するための処理を行う。
【００５４】
上述した図１のフローチャートに示す本発明のスキャンチェーン構築方法により構築されたスキャンチェーン回路は、図２に示すように、ＳｃａｎＦＦのデータ入力に接続されている組合せ回路部をテストするのに必要なテストパタン数を考慮した上で、ＳｃａｎＦＦを、例えばＳｃａｎＦＦ１０とＳｃａｎＦＦ１１との間に組合せ回路部２４を接続して１つのグループの単位とし、組合せ回路のテストパタン数を基に、スキャンチェーンを複数のグループにグループ化して分割し、グループが異なるＳｃａｎＦＦ１１とＳｃａｎＦＦ１２の間には、スキャンイン端子（以下、ＳＩＮ端子と称す）３からの信号とＳｃａｎＦＦ１１からの信号をセレクト信号入力端子（以下、ＳＥＬ端子と称す）２によって選択するセレクタ３０を挿入接続する。
【００５５】
また、組合せ回路のテストパタン数を基に分割したグループが互いに異なるＳｃａｎＦＦ１３とＳｃａｎＦＦ１４の間には、セレクタ３０からの信号とＳｃａｎＦＦ１３からの信号をＳＥＬ端子１からの制御信号で選択的に出力するセレクタ３１を設けるように構成する。
【００５６】
すなわち、スキャンチェーン回路は、ＢＵＦ２１のテストをするＳｃａｎＦＦ１０およびＳｃａｎＦＦ１１と、ＢＵＦ２１をテストするのに必要なテストパタン数よりも多数のテストパタン数が必要な組合せ回路部２４のテストをするＳｃａｎＦＦ１２およびＳｃａｎＦＦ１３と、組合せ回路部２４をテストするのに必要なテストパタン数よりも多数のテストパタン数が必要な組合せ回路部２５のテストをするＳｃａｎＦＦ１４およびＳｃａｎＦＦ１５との、３つのグループに分割している。
【００５７】
これらの分割された３つのグループを、テストをするのに必要なテストパタン数が少ない順番（昇順）にスキャンチェーンを構築し、異なるグループ間であるＳｃａｎＦＦ１１とＳｃａｎＦＦ１２との間には、ＳＩＮ端子３からの信号とＳｃａｎＦＦ１１からの信号とを挿入接続する。
【００５８】
さらに、スキャンチェーン回路は、ＳＥＬ端子２からの制御信号によって前段のグループのＳｃａｎＦＦ１１の出力またはＳＩＮ端子３からの信号を選択出力するセレクタ３０と、ＳｃａｎＦＦ１３とＳｃａｎＦＦ１４との間には、セレクタ３０からの信号とＳｃａｎＦＦ１３からの信号とをＳＥＬ端子１からの制御信号で選択的に出力するセレクタ３１とを挿入接続し、スキャンチェーンの出力信号はＳＯ端子５から出力する。
【００５９】
また、データ入力端子４とＳｃａｎＦＦ１０のＤ端子との間にはＢＵＦ２０が接続され、ＳｃａｎＦＦ１１の出力端とＳｃａｎＦＦ１２のＤ端子との間にはＢＵＦ２１が接続され、ＳｃａｎＦＦ１２の出力端とＳｃａｎＦＦ１３のＤ端子との間には組合せ回路２４が接続され、ＳｃａｎＦＦ１４の出力端とＳｃａｎＦＦ１５のＤ端子との間には組合せ回路２５が接続されている。
【００６０】
上述した構成により、ＢＵＦ２１のテストが終了した時点で、セレクタ３０にＳＩＮ端子３からの信号を選択させることにより、ＳｃａｎＦＦ１０およびＳｃａｎＦＦ１１のシフト動作を行なわずに、ＳｃａｎＦＦ１２に直接、ＳＩＮ端子３からスキャンイン値を設定することができ、組合せ回路部２４のテストが行なえることになる。
【００６１】
さらに、組合せ回路部２４のテストが終了した時点で、セレクタ３１にセレクタ３０からの信号を選択させることにより、ＳｃａｎＦＦ１０およびＳｃａｎＦＦ１１へのシフト動作と，ＳｃａｎＦＦ１２およびＳｃａｎＦＦ１３へのシフト動作とをそれぞれ行なわずに、ＳｃａｎＦＦ１４に直接、ＳＩＮ端子３からスキャンイン値を設定することができ、残りの組合せ回路部２５をテストするテストパタンは少ないシフト動作に対応したテストパタンによりテストすることができるようになる。
【００６２】
以下に、図１および図２を参照しながら、スキャンチェーンの構築方法をさらに詳細に説明する。なお、本発明では組合せ回路部をテストするのに必要なパタン数が少ない順番に構築する例である。
【００６３】
処理ステップＳ１において、各ＳｃａｎＦＦ１１、１３，１５のデータ入力端子に接続されている組合せ回路部をテストするのに必要なパタン数を算出し、各ＳｃａｎＦＦ１０〜１５とパタン数とを対応させる。
【００６４】
組合せ回路部をテストするのに必要なパタン数を各ＳｃａｎＦＦに反映させた表１を参照すると、ＳｃａｎＦＦ１０、１１，１２はそれぞれパタン数が「２」，ＳｃａｎＦＦ１３はパタン数が「３２」，ＳｃａｎＦＦ１４はパタン数が「２」，ＳｃａｎＦＦ１５はパタン数が「１２８」である。
【００６５】
【表１】
2004077356.tif 000003
【００６６】
処理ステップＳ２において、処理ステップＳ１で算出したパタン数を表２のように各ＳｃａｎＦＦのグループ番号として割り当てる。
【００６７】
各ＳｃａｎＦＦに必要なパタン数をグループ番号として設定した表２を参照すると、ＳｃａｎＦＦ１０、１１，１２はそれぞれグループ番号がパタン数と同じ「２」，ＳｃａｎＦＦ１３はグループ番号がパタン数と同じ「３２」，ＳｃａｎＦＦ１４はグループ番号がパタン数と同じ「２」，ＳｃａｎＦＦ１５はグループ番号がパタン数と同じ「１２８」である。
【００６８】
ステップＳ３において、グループ番号が小さい順に、対象とするＳｃａｎＦＦ１１，１３，１５（ＳｃａｎＦＦ＿Ａ）のデータ入力端子に接続されているＳｃａｎＦＦ１０，１２，１４（ＳｃａｎＦＦ＿Ｂ）のグループ番号を調査する。
【００６９】
一例として、ＳｃａｎＦＦ１１を対象ＳｃａｎＦＦ（ＳｃａｎＦＦ＿Ａ）とした場合、ＳｃａｎＦＦ１１の入力に接続されている組合せ回路部２１（バッファ）の入力となっているＳｃａｎＦＦ１０（ＳｃａｎＦＦ＿Ｂ）のグループ番号を調査する。
【００７０】
処理ステップＳ４において、処理ステップＳ３で調査したグループ番号が小さい場合は、処理ステップＳ５へ進み、大きいかもしくは同数の場合は処理ステップＳ６へ移る。
【００７１】
一例として、ＳｃａｎＦＦ１１の入力に接続されている組合せ回路部の入力に接続されたＳｃａｎＦＦ１０のグループ番号は表２を参照すると、ＳｃａｎＦＦ１１と同じ「２」であるため第６の処理ステップに移る。
【００７２】
また、ＳｃａｎＦＦ１５の入力に接続されている組合せ回路部２５の入力に接続されたＳｃａｎＦＦ１４のグループ番号も表２を参照するとＳｃａｎＦＦ１５のグループ番号「１２８」より小さい「２」のため処理ステップＳ５に移る。
【００７３】
【表２】
2004077356.tif 000004
【００７４】
処理ステップＳ５において、対象とするＳｃａｎＦＦ１１，１３，１５（ＳｃａｎＦＦ＿Ａ）のデータ入力端子に接続されているＳｃａｎＦＦ１０，１２，１４（ＳｃａｎＦＦ＿Ｂ）のグループ番号をＳｃａｎＦＦ＿Ａのグループ番号に書き換える。
【００７５】
ここで、例えばＳｃａｎＦＦ１５のデータ入力に接続されている組合せ回路部２５の入力となっているＳｃａｎＦＦ１４のグループ番号は、表２を参照すると「２」であり、ＳｃａｎＦＦ１５の「１２８」より小さいため、ＳｃａｎＦＦ１５のグループ番号に書き換えられる。すなわち、各ＳｃａｎＦＦのグループ番号を書き換えた表３を参照するとＳｃａｎＦＦ１４のグループ番号も「１２８」となる。同様に、ＳｃａｎＦＦ１２のグループ番号は「３２」となる。
【００７６】
処理ステップＳ６で、全てのＳｃａｎＦＦ１０〜１５のチェックが終了していなければ処理ステップＳ３へ進み、終了したら処理ステップＳ７へ移る。
【００７７】
その結果、全てのＳｃａｎＦＦ１０〜１５のチェックが終了した時点でのグループ番号は表３のように変更される。
【００７８】
【表３】
2004077356.tif 000005
【００７９】
処理ステップＳ７において、グループが異なるＳｃａｎＦＦ１１とＳｃａｎＦＦ１２の間には、ＳＩＮ端子３からの信号かＳｃａｎＦＦ１１からの信号をＳＥＬ端子２にによって選択的に出力するセレクタ３０を挿入接続し、ＳｃａｎＦＦ１３とＳｃａｎＦＦ１４の間にはセレクタ３０からの信号かＳｃａｎＦＦ１３からの信号をＳＥＬ端子１によって選択的に出力するセレクタ３１を挿入し、スキャンチェーンを構築する。
【００８０】
上述した第１の実施の形態の効果を、図２を参照しながら説明する。
【００８１】
まず最初は、ＢＵＦ２０、ＢＵＦ２１を含め全ての組合せ回路部のテストを行なう必要がありバイパスさせずにテストを行なうため、ＳｃａｎＦＦ１０、ＳｃａｎＦＦ１１、ＳｃａｎＦＦ１２、ＳｃａｎＦＦ１３、ＳｃａｎＦＦ１４、ＳｃａｎＦＦ１５に値の設定／観測が必要である。ここでは、６回のシフト動作が必要となる。
【００８２】
最初の２パタンが終了した時点で、ＳｃａｎＦＦ１０とＳｃａｎＦＦ１１のデータ入力側に接続されたＢＵＦ２０とＢＵＦ２１のテストが終了するため、セレクタ３０にＳＩＮ端子３からの信号を選択させる。
【００８３】
ＳＩＮ端子３からの信号選択により、ＳｃａｎＦＦ１０およびＳｃａｎＦＦ１１をバイパスさせてＳｃａｎＦＦ１２、ＳｃａｎＦＦ１３、ＳｃａｎＦＦ１４、ＳｃａｎＦＦ１５にのみスキャン値の設定／観測を行なう。ここでは、４回のシフト動作で組合せ回路部２４および組合せ回路部２５のテストができる。
【００８４】
すなわち、ＳｃａｎＦＦ１０および１１、１２および１３間毎に配置される組合せ回路部２１，２４，２５は、それぞれ平行してテストを実施できることから、組合せ回路部２４をテストするパタン数は「３２」パタンである。
【００８５】
しかし、最初のグループであるＳｃａｎＦＦ１０および１１のテストにおいて２パタン分は既に実施しているので、（３２−２＝３０）の「３０」パタンでテストをすることになる。
【００８６】
次に、組合せ回路部２４のテストが終了次第、セレクタ３１のデータ入力にセレクタ３０からの信号を選択させて、ＳｃａｎＦＦ１０、ＳｃａｎＦＦ１１、ＳｃａｎＦＦ１２、ＳｃａｎＦＦ１３をそれぞれバイパスさせる。
【００８７】
このバイパスにより、残りのパタンは、（組合せ回路部２５をテストするのに必要なパタン数）−（セレクタ３１にＳＩＮ端子を選択する前まで実施したテストのパタン数）＝（１２８−３２）＝９６となり、この「９６」パタンについては、ＳｃａｎＦＦ１４、ＳｃａｎＦＦ１５にのみスキャンデータ値の設定／観測を行なえばよいので、結局、２回のシフト動作によりテストができる。
【００８８】
上述したバイパス動作により、本発明を適用した場合必要なパタン数は、
６×２＋（６−２）×（３２−２）＋（６−４）×（１２８−３２）
＝６×２＋４×３０＋２×９６＝１２＋１２０＋１９８＝３３０
と「３３０」パタンなる。
【００８９】
なお、従来の技術で説明したように、特許第２７３８３５１号に記載のスキャンチェーン回路は、上述したテストパタン数を削減する効果がないため、必要なテストパタン数は従来のスキャンテスト手法と同様となり６×１２８＝７６８の「７６８」パタンとなる。
【００９０】
上述したように、グループ化されたスキャンチェーンの組合せ回路部のテストをそれぞれ同時に行ない、テストが終了した組合せ回路部から順々にＳｃａｎＦＦをバイパスしているので、テストをするのに多数の入力パタンが必要な組合せ回路部への値の設定および観測を行なう際のシフト回数を減らすことができ、テスト対象回路にかかる総合でのテストパタン数を少なくすることができる。
【００９１】
つまり、組合せ回路部のテストが終了したグループのＳｃａｎＦＦを順次バイパスさせることによって、無駄なシフト動作を行なわないようにするので、テストパタン数の削減効果が得られる。
【００９２】
次に、本発明の第２の実施の形態を説明する。
【００９３】
第２の実施の形態におけるスキャンチェーン回路を構築するフローチャートの一例を示した図３を参照すると、上述した第１の実施の形態との相違点は、第１の実施の形態ではＳｃａｎＦＦのグループ番号とスキャンチェーンの順序を決定する際、組合せ回路部に必要なテストパタン数を基準に採用したが、ここではテストパターンに代わり、組合せ回路部の端子数で算出することである。
【００９４】
テストパタンを考える場合、一般的に、ＢＵＦ等の入力端子が１端子の回路については、“０”“１”の「２」パタン、２入力のＡＮＤ回路等の入力端子が２端子ある回路については、（０，０）、（０，１）、（１，０）、（１，１）の「４」パタン、３入力のＡＮＤ回路等の入力端子が３端子ある回路については（０，０，０）、（０，０，１）、（０，１，０）、（０，１，１）、（１，０，０）、（１，０，１）、（１，１，０）、（１，１，１）の「８」パタンというように、組合せ回路部に必要なパタン数の最大値は２の入力端子乗で算出することができる。
【００９５】
このことから、本発明の第１の実施の形態であるスキャンチェーン構築フローチャートに対し、処理ステップＳ１において、各ＳｃａｎＦＦ１１，１３，１５のデータ入力端子に接続されている組合せ回路部２１，２４，２５の入力端子数を算出し、処理ステップＳ２においてその入力端子数をグループ番号として採用する。
【００９６】
処理ステップＳ３以降のフローについては、第１の実施の形態と同様であるから、ここでのフローチャートの説明は省略する。
【００９７】
グループ番号に組合せ回路の端子数を採用する第２の実施の形態では、組合せ回路の回路内部を解析し、テストパタン数を算出する代わりに、回路内部は解析せず端子数情報だけを取り出せばよいので、容易にグループ化ができ、テストパタン数の低減効果が得られる。
【００９８】
本発明の第３の実施の形態を説明する。
【００９９】
第３の実施の形態におけるスキャンチェーン回路の構成を示した図４を参照すると、スキャン信号をバイパスさせるセレクタの制御を外部端子から直接行なうのではなく、制御回路４０を用いて行なっている。
【０１００】
図５は制御回路４０の回路構成である。図５を参照すると、この制御回路４０は、ＲＥＳＥＴ付きＦＦ５０〜５ｎを備える。ＲＥＳＥＴ付きＦＦ５０〜５ｎのクロック入力端は、ＳＥＬ＿ＣＬＫ端子４２にそれぞれ共通接続されている。
【０１０１】
ＲＥＳＥＴ入力端は、ＳＥＬ＿ＲＳＴ端子４３に接続されている。初段のＲＥＳＥＴ付きＦＦ５０のＤ端子にはＳＥＬ端子４１が接続され、それ以降のＲＥＳＥＴ付きＦＦ５１〜５ｎのＤ端子は、前段のＲＥＳＥＴ付きＦＦの出力端が接続されている。各々セレクタを制御する信号はＲＥＳＥＴ付きＦＦ５０〜５ｎの出力端４４，４５，４６に接続されている。
【０１０２】
上述した構成において、セレクタ３０およびセレクタ３１の制御信号が“０”の時に、前段からのＳｃａｎＦＦの信号を選択し、“１”の時に外部ＳＩＮ端子３を選択するとした場合、まず制御回路内部のＦＦ５０〜５ｎをＳＥＬ＿ＲＳＴ端子４３から全て初期化する。全てのＦＦ５０〜５ｎに“０”を設定することにより、通常のシフト動作が行われる。
【０１０３】
テストが終了した時点でＳＥＬ端子４１に“１”を設定し、ＳＥＬ＿ＣＬＫ端子４２をアクティブにすれば、ＳＥＬ端子４１には“１”が設定され、セレクタ３０は外部ＳＩＮ端子３からの信号を選択し、ＳｃａｎＦＦ１０、ＳｃａｎＦＦ１１はバイパスされる。
【０１０４】
次に、組合せ回路部２４のテストが終了した時点で、ＳＥＬ＿ＣＬＫ端子をアクティブにすれば、図５のＳＥＬ＿２（４５）にも“１”が設定され、ＳＥＬ＿２（４５）の信号で制御される図４のセレクタ３１はＳｃａｎＦＦ１２、ＳｃａｎＦＦ１３をバイパスしてセレクタ３０からの信号を選択し、結局、ＳｃａｎＦＦ１０、ＳｃａｎＦＦ１１、ＳｃａｎＦＦ１２、ＳｃａｎＦＦ１３をバイパスさせる。
【０１０５】
上述したように、ＳＥＬ端子４１に“１”を設定しＳＥＬ＿ＣＬＫ端子４２をアクティブにすれば、そのアクティブクロックに同期して順次セレクタの制御信号に“１”が設定され順次に対応するセレクタが前段のセレクタ出力を選択し、前段までのＳｃａｎＦＦをバイパスすることができる。
【０１０６】
従って、バイパスさせるセレクタが多数存在しても、セレクタの制御を行なう外部端子はＳＥＬ信号とＳＥＬ＿ＣＬＫ信号、およびＳＥＬ＿ＲＳＴ信号の計３端子で済むというメリットがある。
【０１０７】
上述したスキャンチェーンを構築するフローチャートのプログラムは、スキャンチェーンを制御するＣＰＵの周辺記憶装置に内蔵され、ＣＰＵの制御により順次読み出されて制御動作する。
【０１０８】
【発明の効果】
上述したように、本発明のスキャンチェーン回路、スキャンチェーン構築方法およびそのプログラムは、ＳｃａｎＦＦそれぞれのデータ入力端に接続する組合せ回路のテストに必要なテストパターン数をそれぞれ算出し、算出テストパターン数に対応してグループ化し、それぞれのグループ内のＳｃａｎＦＦをグループ単位にそれぞれバイパスさせるセレクタを、グループ間にそれぞれ挿入してスキャンチェーンを構築するので、テストをするのに多数の入力パタンが必要な組合せ回路部への値の設定および観測を行なう際のシフト回数を減らすことができる。従って、テスト対象回路にかかる総合でのテストパタン数を少なくすることができる。
【０１０９】
また、テストパタン数を算出する代わりに、回路内部は解析せず端子数情報だけを取り出せばよいので、容易にグループ化ができ、テストパタン数の低減効果が得られる。
【０１１０】
また、スキャン信号をバイパスさせるセレクタの制御を外部端子から直接行なうのではなく、制御回路を備える場合は、バイパスさせるセレクタが多数存在しても、セレクタの制御を行なう外部端子はＳＥＬ信号とＳＥＬ＿ＣＬＫ信号、およびＳＥＬ＿ＲＳＴ信号の計３端子でいいというメリットがある。
【図面の簡単な説明】
【図１】本発明の第１の実施形態のスキャンチェーン構築のフローチャートである。
【図２】本発明を適用し手構築したたスキャンチェーン回路の構成図である。
【図３】第２の実施例として、グループ番号を各組合せ回路部に必要なパタン数の代わりに組合せ回路部の入力端子数としてスキャンチェーンを構築するフロー図である。
【図４】第３の実施の形態として、バイパスさせるセレクタの制御信号に制御回路を設けたスキャンチェーン回路の構成図である。
【図５】図５の制御回路の回路図である。
【図６】従来のスキャンチェーン回路の一例を示す構成図である。
【符号の説明】
１，２，４１　　ＳＥＬ端子
３　　ＳＩＮ端子
４　　データ入力端子
５　　ＳＯ端子
１０，１１，１２，１３，１４，１５　　ＳｃａｎＦＦ
２０，２１　　バッファ
２４，２５　　組合せ回路部
３０，３１，６３，６４　　セレクタ
４０　　制御回路
４２　　ＳＥＬ＿ＣＬＫ端子
４３　　ＳＥＬ＿ＲＳＴ端子
６１，６２　　ラッチ回路
７９　　ＡＮＤ回路
６５　　スキャンイン端子
６６　　クロック端子
７１　　テストデータ出力ａ
７２　　テストデータ入力ｂ
７４　　テストデータ入力ｄ
【図１】
2004077356.tif 000006
【図２】
2004077356.tif 000007
【図３】
2004077356.tif 000008
【図４】
2004077356.tif 000009
【図５】
2004077356.tif 000010
【図６】
2004077356.tif 000011