(57)【特許請求の範囲】
【請求項１】
シフトスキャン方式で設計された半導体集積回路であって、
少なくとも２つのテストデータ入力端子と、
前記テストデータ入力端子よりも数の多い複数のスキャンチェーンと、
選択された１つの前記スキャンチェーンにデータを供給するために、前記少なくとも２つのテストデータ入力端子を選択的に結線し、第１のテストモードと第２のテストモードの両方において、前記少なくとも２つのテストデータ入力端子の各々を、選択された１つの前記スキャンチェーンに結線する結線変更回路と、を有し、
前記第１のテストモードにおいて前記少なくとも２つのテストデータ入力端子の各々が結線されるスキャンチェーンの組は、前記第２のテストモードにおいて少なくとも２つの入力端子の各々が結線されるスキャンチェーンの組と異なる半導体集積回路。
【請求項２】
請求項１の半導体集積回路であって、
前記スキャンチェーンの各々は、シフトレジスタとして動作する複数のフリップフロップ回路を有し、
前記結線変更回路は、少なくとも２つの前記スキャンチェーンを１つの入力端子にて相互に結線し、
全ての前記スキャンチェーンは、シフトレジスタとして同時に動作する機能を有し、
前記結線変更回路は、少なくとも２つの前記スキャンチェーンの組を変更する機能を有し、前記変更する動作は、前記結線変更回路に入力されるフェーズ信号の値に応じて実行される半導体集積回路。
【請求項３】
請求項１の半導体集積回路であって、
前記スキャンチェーンの各々は、シフトレジスタとして動作する複数のフリップフロップ回路を有し、
前記結線変更回路は、少なくとも２つの前記スキャンチェーンを１つの入力端子にて相互に結線し、
前記スキャンチェーンからデータを読み出すための出力端子の数は、前記スキャンチェーンの数よりも少なく、
全ての前記スキャンチェーンは、シフトレジスタとして同時に動作する機能を有し、
前記結線変更回路は、少なくとも２つの前記スキャンチェーンの組を変更する機能を有し、前記変更する動作は、前記結線変更回路に入力されるフェーズ信号の値に応じて実行される半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、シフトスキャン方式で設計されたテスト回路を有する半導体集積回路及び記憶媒体に関する。
【０００２】
【従来の技術】
半導体集積回路のテストを容易にする技術として、全てのフリップフロップ（以下、ＦＦと略す）に値を設定及び読み出しを可能とする回路を付加するスキャン方式がある。スキャン方式により、内部状態をもつためにテストパターン生成の難しい順序回路を、内部状態をもたない組合せ回路として扱うことができる。スキャン方式は、シフトレジスタを用いてチェーン状に接続されたＦＦに次々と値を設定，読み出しをするシフトスキャン方式と、各ＦＦに固有のアドレスを決めておき、このアドレスにより選択されたＦＦに値を設定，読み出しするアドレススキャン方式に大別される。一般に、シフトスキャン方式の方が単純な回路で設計可能であるが、アドレススキャン方式では、必要なＦＦの値のみ設定，読み出しが可能である。
【０００３】
シフトスキャン方式では、チェーン状に接続されたＦＦ群（以下、スキャンチェーンと呼ぶ）の一部のＦＦのみ値を設定，読み出しする場合でも、シフトレジスタとして動作するためスキャンチェーンに含まれる全ＦＦの値を設定，読み出しする場合と同じになる。このため、シフトスキャン方式では、テストに必要なデータ量（テストデータ量）が大きい、テストに要する時間（テスト時間）がかかるといった問題があった。これに対する改良策として、特開平9−5403 号の「半導体集積回路」がある。これは、スキャンチェーンに含まれるＦＦを複数の群に分割し、夫々の群を選択的にバイパスするために分割した場所にバイパス用セレクタ回路を挿入し、バイパスされた群に属するＦＦを作動させないように制御する回路を挿入する。これにより、ＦＦに不必要な値を設定する必要が減るため、テストデータ量やテスト時間を削減できる。
【０００４】
【発明が解決しようとする課題】
一般に、シフトスキャン方式では、上記に述べたように、テストデータ量が大きい、テストに要する時間がかかるといった問題がある。これを回避する案である、特開平9−5403 号の「半導体集積回路」では、バイパスするための信号線や制御回路による回路面積のオーバーヘッドが大きいという問題がある。
【０００５】
本発明の目的は上記問題点に鑑み、シフトスキャン方式におけるテストデータ量やテスト時間を削減し、回路面積のオーバーヘッドを抑えた半導体集積回路を提供することにある。
【０００６】
【課題を解決するための手段】
上記目的を達成するために本発明は、シフトスキャン方式で設計された半導体集積回路において、シフトレジスタとして動作する複数のフリップフロップ回路と、各前記フリップフロップ回路を接続するスキャンチェーンからなる少なくとも２つの部分回路を有し、前記少なくとも２つの部分回路は、１つの入力端子にて結線されている構成とする。
【０００７】
このように２つ以上の部分回路への入力のための入力端子を共用することにより、端子数が削減でき、また、入力するテストデータ量が削減できるので、回路面積のオーバーヘッドを抑えた半導体集積回路を提供できる。
【０００８】
【発明の実施の形態】
図１に、本発明の一実施例に係わる半導体集積回路の構成を示す。本半導体集積回路１０１は、被検査回路１０２と、スキャンデータ入力端子１５１，１５２と、スキャンデータ出力端子１６１，１６２と、結線変更回路１０３と、符号圧縮回路１０４とから構成される。被検査回路１０２は、複数のスキャンチェーン１１０，１２０，１３０，１４０をもち、それぞれ、スキャン機能付ＦＦ１１１〜１１３，１２１〜１２３，１３１〜１３３，１４１〜１４３がスキャンデータの入力，出力が可能なように接続されている。なお、被検査回路１０２は組合せ回路的に独立した部分回路１７１，１７２をもち、スキャンチェーン１１０，１２０は部分回路１７１に、スキャンチェーン１３０，１４０は部分回路１７２に属する。結線変更回路１０３は、スキャンデータ入力端子１５１が分岐点153でスキャンチェーン１１０と１３０に分岐し、スキャンデータ入力端子１５２が分岐点１５４でスキャンチェーン１２０と１４０に分岐する。符号圧縮回路104は、スキャンチェーン１１０と１３０の排他的論理和を排他的論理和回路１６３にてとりスキャンデータ出力端子１６１に出力し、スキャンチェーン１２０と１４０の排他的論理和を排他的論理和回路１６４にてとりスキャンデータ出力端子１６２に出力する。
【０００９】
尚、スキャンチェーン１１０は、スキャン機能付きＦＦ群１１１〜１１３、及びそれらのスキャンアウトピン（ＳＯ）とスキャンインピン（ＳＩ）を接続する信号線、及びスキャン入力端子１５１と、最初のスキャン機能付きＦＦ１１１に接続する信号線、及びスキャン出力端子１６１と、最後のスキャン機能付きＦＦ１１３から接続する信号線から構成される部分回路をいいます。このスキャンチェーンは、スキャン機能付きＦＦ群に入力するクロックを制御する（図２のスキャン機能付きＦＦの例では、図５の時刻１，２のように、システムクロックを０に固定してマスタークロックとスレーブクロックに交互に１を与える）ことにより、シフトレジスタとして動作します。スキャンチェーン１２０，１３０，１４０も同様です。
【００１０】
ここで、スキャン機能付ＦＦの一構成例とその動作について、図２を用いて説明する。
【００１１】
スキャン機能付ＦＦ２０１は、マスターＦＦ２０２とスレーブＦＦ２０３の２つのＦＦから構成される。マスターＦＦ２０２は、スキャンインピン（ＳＩ)211，データ入力ピン（Ｄ）２１２，システムクロックピン（ＣＫ）２１３，マスタークロックピン（ＭＣ）２１４を入力とし、状態をスレーブＦＦ２０３への信号線２１６に出力する。状態の値は、ＣＫ＝１，ＭＣ＝０のときＤの値、ＣＫ＝０，ＭＣ＝１のときＳＩの値、ＣＫ＝０，ＭＣ＝０のとき前の状態の値、ＣＫ＝１，ＭＣ＝１のとき不定とする。スレーブＦＦ２０３は、マスターＦＦ２０２への信号線２１６，スレーブクロックピン（ＳＣ）２１５を入力とし、状態をスキャンアウトピン（ＳＯ）２１７とＦＦ出力ピン（Ｑ）２１８に出力する。状態の値は、ＳＣ＝１のとき信号線２１６の値、ＳＣ＝０のとき前の状態の値とする。なお、図１におけるスキャン機能付ＦＦ１１１〜１１３，１２１〜１２３，１３１〜１３３，１４１〜１４３の夫々はスキャン機能付ＦＦ２０１と同じであり、クロック関連ピン（ＣＫ，ＭＣ，ＳＣ）は省略している。
【００１２】
スキャン機能付ＦＦ２０１の動作について説明する。通常動作時には、ＭＣ＝０，ＳＣ＝１に固定することにより、システムクロックピン（ＣＫ）２１３，データ入力ピン（Ｄ）２１２のＦＦとして動作する。テスト時には、シフトレジスタの１つのＦＦとして動作するために、マスタークロック（ＭＣ）入力によりスキャンデータ入力端子の値をマスターＦＦ２０２へ取り込み、スレーブクロック（ＳＣ）入力によりマスターＦＦ２０２の状態をスレーブＦＦ２０３へ値を取り込む。そしてその値をスキャンアウトピン（ＳＯ）２１７及びＦＦ出力ピン(Ｑ)２１８に出力する。また、組合せ回路による応答パターンの取り込みでは、システムクロックピン（ＣＫ）２１３入力によりデータ入力ピン（Ｄ）２１２の値をマスターＦＦ２０２へ取り込み、スレーブクロックピン（ＳＣ）２１５入力によりマスターＦＦ２０２の状態をスレーブＦＦ２０３へ値を取り込む。
【００１３】
図１の実施例における、テスト時の動作の概略を説明する。まず、テストパターン設定のために、スキャンデータ入力端子１５１，１５２への信号印加，マスタークロックピン（ＭＣ）２１４入力，スレーブクロックピン（ＳＣ）２１５入力の処理をスキャンチェーンの長さ分繰り返す。この結果、スキャンデータ入力端子１５１から入力された信号列が、結線変更回路１０３により複数のスキャンチェーンに分配され、スキャンチェーン１１０に含まれるスキャン機能付FF111〜１１３とスキャンチェーン１３０に含まれるスキャン機能付ＦＦ１３１〜133に設定される。スキャンチェーン１１０，１３０で対応するスキャン機能付ＦＦ（例えば１１１と１３１）には同じ値が設定される。スキャンデータ入力端子１５２から入力された信号列についても同様に、スキャンチェーン１２０に含まれるスキャン機能付ＦＦ１２１〜１２３とスキャンチェーン１４０に含まれるスキャン機能付ＦＦ１４１〜１４３に設定される。テストパターンを全スキャン機能付ＦＦに設定した後、システムクロックピン（ＣＫ）２１３とスレーブクロックピン（ＳＣ）２１５入力を入力して、組合せ回路で計算された応答パターンの値を各スキャン機能付ＦＦデータ入力ピン（Ｄ）２１２から取り込む。以降は、マスタークロックピン（ＭＣ）２１４入力，スレーブクロックピン(ＳＣ)２１５入力の処理をスキャンチェーンの長さ分繰り返し、応答パターンを符号圧縮回路１０４により複数のスキャンチェーンの値を圧縮した後、順次スキャンデータ出力端子１６１，１６２に出力する。スキャンチェーン１１０，１３０は排他的論理和ゲート１６３を通るため、スキャンデータ出力端子１６１には対応するスキャン機能付ＦＦ（例えば１１１と１３１）で取り込まれた値の排他的論理和が出力される。以上の処理をテストパターンの数ほど繰り返す。
【００１４】
テスト時の動作の具体的な例を図４(１)，図５を用いて説明する。
【００１５】
図４(１)は、図１の実施例において、スキャンチェーン数を４、スキャンチェーンの長さを２とした例で、組合せ回路部分４５０がわかるように図を変更している。被検査回路１０２は、４本のスキャンチェーン４１０，４２０，４３０，４４０をもち、それぞれ、２つのスキャン機能付ＦＦ４１１と４１２，４２１と４２２，４３１と４３２，４４１と４４２をもつ。４５０は被検査回路１０２の組合せ回路部分で、その出力である信号線４１３，４１４，４２３，４２４，４３３，４３４，４４３，４４４はそれぞれ、スキャン機能付ＦＦ４１１，412,４２１，４２２，４３１，４３２，４４１，４４２のデータ入力ピン(Ｄ)２１２に接続するとする。結線変更回路１０３は、スキャンデータ入力端子１５１からの信号線がスキャンチェーン４１０と４３０に分岐し、スキャンデータ入力端子１５２からの信号線がスキャンチェーン４２０と４４０に分岐する。そのため、同じスキャンデータ入力端子から入力されるスキャンチェーンで対応するスキャン機能付ＦＦ、すなわち、４１１と４３１，４１２と４３２，４２１と４４１，４２２と４４２に同じ値を設定する。符号圧縮回路１０４は、スキャンチェーン４１０と４３０の排他的論理和をとりスキャンデータ出力端子１６１に出力し、スキャンチェーン４２０と４４０の排他的論理和をとりスキャンデータ出力端子１６１に出力する。なお、スキャンチェーン４１０，４２０の含まれる部分回路と、スキャンチェーン４３０，４４０の含まれる部分回路は独立に動作するとする。
【００１６】
図５は、図４(１)の回路における、テスト時のタイムチャートの例である。テストパターンとして、スキャン機能付ＦＦの組（４１１，４１２,４２１,４２２，４３１，４３２，４４１，４４２）に対し、（ａ１１，ａ１２,ｂ１１,ｂ１２，Ｘ，Ｘ，Ｘ，Ｘ）と（Ｘ，Ｘ，Ｘ，Ｘ，ａ２１，ａ２２，ｂ２１，ｂ２２）の２つのパターンを与えるとする。なお、ａ１１，ａ１２，ｂ１１,ｂ１２,ａ２１，ａ２２，ｂ２１，ｂ２２は０または１のいずれかの論理値、Ｘは不定値（０でも１でもよい）を表す。第１のパターンはスキャンチェーン４１０，４２０の含まれる部分回路内の仮定故障に対するものであり、第２のパターンはスキャンチェーン４３０，４４０の含まれる部分回路内の仮定故障に対するものである。図５の中で、１行目は時刻を表し、ＣＫ，ＭＣ，ＳＣは、それぞれ、図２で示したスキャン機能付ＦＦのシステムクロックピン２１３，マスタークロックピン214,スレーブクロックピン２１５への入力信号の波形である。１列目の項目で１５１，１５２はスキャンデータ入力端子へ印加する値、４１１，４１２，４２１，４２２，４３１，４３２，４４１，４４２は、スキャン機能付ＦＦの出力値（図２のＱ及びＳＯ）、１６１，１６２はスキャンデータ出力端子の出力値である。まず、１〜３時刻目で第１のテストパターンをスキャン機能付ＦＦに設定する。スキャンデータ入力端子１５１へ信号値ａ１２，ａ１１スキャンデータ入力端子１５２へ信号値ｂ１２，ｂ１１を印加し、マスタークロック（ＭＣ）入力，スレーブクロック（ＳＣ）入力の処理を２回繰り返す。この結果、信号値ａ１２，ａ１１がスキャンチェーン４１０及び４３０をシフトし、スキャン機能付FF412と４３２に信号値ａ１２が設定され、スキャン機能付ＦＦ４１１と４３１に信号値ａ１１が設定される。また、信号値ｂ１２，ｂ１１がスキャンチェーン４２０及び４４０をシフトし、スキャン機能付ＦＦ４２２と４４２に信号値ｂ１２が設定され、スキャン機能付ＦＦ４２１と４４１に信号値ｂ１１が設定される。テストパターンを全スキャン機能付ＦＦに設定した後、システムクロック（ＣＫ）及びスレーブクロック（ＳＣ）を入力して、組合せ回路で計算された応答パターンの信号値（ｐ１１，ｐ１２，ｑ１１，ｑ１２，ｒ１１，ｒ１２，ｓ１１，ｓ１２とする）を各スキャン機能付ＦＦデータ入力ピン（Ｄ）から取り込む。４，５時刻目が第１の応答パターン取り出しで、マスタークロック（ＭＣ）入力，スレーブクロック（ＳＣ）入力により、応答パターンをシフトする。符号圧縮回路104によりｐ１２とｒ１２，ｑ１２とｓ１２，ｐ１１とｒ１１，ｑ１１とｓ１１の排他的論理和を計算した後、スキャンデータ出力端子１６１，１６２に出力する。第２のパターンについても同様で、４〜６時刻目がパターン設定（第１の応答パターン取り出しと重なっている）、７，８時刻目が応答パターン取り出しである。
【００１７】
上記の実施例における、テストパターン生成処理の一方法を図６を用いて説明する。図１のように、被検査回路１０２は組合せ回路的に独立な部分回路に分割可能で、各部分回路にＩＤとして１からの通し番号を与えておく。まず、ステップ６０１で、部分回路のＩＤであるｎを１に初期化する。ステップ６０２で、部分回路ｎ内の未検出の仮定故障に対しするテストパターンを生成する。ステップ６０３で部分回路のＩＤであるｎを１増加させる。ステップ６０４で、部分回路ｎに対して、既に生成しているパターンの故障シミュレーションを行う。ステップ６０５で、ｎが部分回路数でなかったら、ステップ６０２に戻って、部分回路ｎ内の未検出の仮定故障に対しテストパターン生成を行う。
【００１８】
なお、図１，図４(１)のように、組合せ回路的に独立な部分回路間でスキャンチェーンを共用する場合は、それを共用しない場合に比べて、単一縮退故障モデルにおける故障検出率の低下はない。理由は信号を設定する能力，信号を観測する能力が変わらないためである。前者について、１つの仮定故障に対するテストパターンはそれの属する部分回路内のスキャン機能付ＦＦのみを設定すればよく、スキャンデータ入力端子１５１，１５２により可能である。後者について、例えばスキャン機能付ＦＦ１１１と１３１の応答パターンの値が圧縮される訳だが、故障は組合せ回路的に独立な部分回路１７１と１７２のいずれか一方にしか存在しないと仮定しているため、スキャン機能付ＦＦ１１１と１３１の両方に故障信号が伝わって排他的論理和ゲート１６３により故障信号が消失するということは生じない。
【００１９】
この実施例では、スキャンチェーンのスキャンデータ入力端子を共用しているため、１つのテストパターンについて、全スキャン機能付ＦＦの値設定に必要なスキャンデータ入力端子より入力する値の総数（テストデータ量と呼ぶ）は、全スキャン機能付ＦＦの数より削減できる。特定の仮定故障の集合を検出するテストパターンの集合に対するテストデータ量に関しても、本実施例はスキャンチェーンを共用しない従来のシフトスキャン方式と比べて、多くの場合削減できる。理由は、本実施例によるテストデータ量の上限は、従来シフトスキャン方式で１つのテストパターンに独立な部分回路毎に故障を検出するテストパターンを埋め込んだ場合(この場合テストパターン長は従来シフトスキャン方式の方が小さい)であるためで、本実施例は部分回路毎に故障を検出するテストパターン同士で共通なものがあれば、さらにテストデータ量を削減できる。
【００２０】
さらに、スキャンデータ入出力に必要な端子数とテスト時間に関して述べる。従来シフトスキャン方式と比べてスキャンチェーンの長さを同じにすると、テスト時間は変わらないが、本実施例のようにスキャンチェーンの入出力を共用することでスキャンデータ入出力に必要な端子数を削減できる。本実施例で、従来シフトスキャン方式とスキャンデータ入出力に必要な端子数を同じにすると、スキャンチェーンの長さを削減できるため、テスト時間を削減できる。これは、１つのテストパターンあたりのマスタークロック入力とスレーブクロック入力の繰り返し数を減らし、スキャンデータ入出力に要する時間を削減できるためである。
このように、本実施例によれば、シフトスキャン方式において、組合せ回路的に独立な部分回路に含まれるスキャンチェーン間でスキャンデータ入出力端子を共用することにより、故障検出率を落とさずにテストデータ量を削減できる。また、その端子数の削減、あるいはテスト時間の短縮という効果がある。
【００２１】
なお、本実施例で、スキャンデータ入出力端子を共用する条件である、組合せ回路的に独立な部分回路内のスキャンチェーンという条件をはずしても、テストデータ量の削減、また、スキャンデータ入出力端子数の削減あるいはテスト時間の短縮という効果は得られる。ただし、故障検出率低下の可能性があることを覚悟しなければならない。この故障検出率低下の問題を回避あるいは緩和する方法を述べる。
【００２２】
例えば、図３(１)のように、結線変更回路１０３を改良する方法である。スキャンデータ入力端子に接続する３１１，３１２を信号線３１４〜３１７に結線する回路で、Phase信号３１３の値によって、結線方法を変える。Phase＝０のとき、セレクタ３２１は信号線３１２の値を信号線３１５に出力し、セレクタ３２２は信号線３１１の値を信号線３１６に出力するため、信号線３１１が信号線314,３１６に結線され信号線３１２が信号線３１５，３１７に結線される。Phase＝１のとき、セレクタ３２１は信号線３１１の値を信号線３１５に出力し、セレクタ３２２は信号線３１２の値を信号線３１６に出力するため、信号線３１１が信号線３１４,３１５に結線され信号線３１２が信号線３１６,３１７に結線される。この結果、全スキャン機能付ＦＦに設定できる値の組合せを図１の結線変更回路１０３に比べて２倍にでき、テストパターンにおける同じ値しか設定できないスキャン機能付ＦＦ間の条件を緩和できる。
【００２３】
また、符号圧縮回路１０４については、図３(２)に示すような線形フィードバックシフトレジスタを用いることで、スキャンチェーン間の依存関係により故障信号が消失する問題を回避できる。ＦＦ３３６〜３３９はシフトレジスタとして動作し、信号線３５１，３５２はフィードバックループを作る。スキャンチェーから入力される値は、信号線３３１〜３３５を通り排他的論理和ゲート３４１〜３４６に入力し、線形フィードバックシフトレジスタにより圧縮される。信号線３４７は線形フィードバックシフトレジスタの初期化のために用意され、信号線３４６は線形フィードバックシフトレジスタのパターンを取り出すために用いる。詳しい動作は、IEEE Design and Test of Computers(１９９３年３月７９頁〜８１頁）などに記載されている。
【００２４】
次に、スキャンデータ入出力端子を共用する条件を、組合せ回路的に独立な部分回路内のスキャンチェーンという条件から、組合せ回路的に信号を伝播できる領域を用いた条件に緩めても、故障検出率を低下させない例を示す。
【００２５】
図４(２)(３)は、図４(１)における半導体集積回路の組合せ回路部分４５０について、スキャン機能付ＦＦから信号が伝播する領域を示した図である。図４(２)は、同一のスキャンチェーン毎に、スキャン機能付ＦＦ４１１，４１２，４２１，４２２，４３１，４３２，４４１，４４２のＦＦ出力ピン（Ｑ）から信号が組合せ回路的に伝播する領域を示している。すなわち、スキャン機能付ＦＦ４１１，４１２は領域４５１，４５２を伝播し、信号線４１３，４１４，４２３のいずれかに到達する。同様に、スキャン機能付ＦＦ４２１，４２２は領域452,４５３，４５４を伝播し、スキャン機能付ＦＦ４３１，４３２は領域４５４，４５５，４５６を伝播し、スキャン機能付ＦＦ４４１，４４２は領域４５６，４５７を伝播する。したがって、スキャンチェーン４１０と４３０は、組合せ回路的に信号を伝播できる領域（ハッチ部分）がお互いに交わらないので、スキャン機能付ＦＦに信号を設定する能力はかわらない。同様にスキャンチェーン420と４４０についてもスキャン機能付ＦＦに信号を設定する能力はかわらない。
【００２６】
一方、図４(３)は、同一のスキャンチェーン毎に、信号線４１３，４１４，４２３，４２４，４３３，４３４，４４３，４４４のデータ入力ピン（Ｄ）へ信号が組合せ回路的に伝播する領域を示している。すなわち、スキャン機能付ＦＦ４１１，４１２は領域４６１，４６２を伝播し、信号線４１３，４１４，４２３のいずれかに到達する。同様に、スキャン機能付ＦＦ４２１，４２２は領域462,４６３，４６４を伝播し、スキャン機能付ＦＦ４３１，４３２は領域４６４，４６５，４６６を伝播し、スキャン機能付ＦＦ４４１，４４２は４６６，４６７を伝播する。したがって、スキャンチェーン４１０と４３０は、組合せ回路的に信号を伝播できる領域（ハッチ部分）がお互いに交わらないので、スキャン機能付ＦＦで信号を観測する能力はかわらない。同様にスキャンチェーン４２０と４４０についてもスキャン機能付ＦＦで信号を観測する能力はかわらない。
【００２７】
このように、本実施例によれば、シフトスキャン方式において、組合せ回路的に信号を伝播できる領域が互いに交わらないスキャンチェーン間でスキャンデータ入出力端子を共用することにより、故障検出率を落とさずにテストデータ量を削減できる。また、その端子数の削減、あるいはテスト時間の短縮という効果がある。
【００２８】
最後の実施例では、ＢＩＳＴ（組込み自己テスト）方式を用いた半導体集積回路に対して、パターン発生器７２１から被検査回路１０２へ信号線を共用し、被検査回路１０２からパターン圧縮器７４１への信号線を共用したもので図７に示す。
【００２９】
被検査回路１０２，結線変更回路１０３，符号圧縮回路１０４は図１と同様である。セレクタ７０１によって、パターン印加モードとＢＩＳＴモードを分ける。パターン印加モードのとき、スキャンデータ入力端子７１１，７１２から印加された信号は、信号線７１５，７１６に伝播し、結線変更回路１０３にて分岐後スキャンチェーンに設定され、出力されたデータは、それぞれ符号圧縮回路104にて排他的論理和されてスキャンデータ出力端子７３３，７３４から出力される。一方、ＢＩＳＴモードのとき、パターン発生器７２１により発生された信号７１３，７１４は、信号線７１５，７１６に伝播し、結線変更回路１０３にて分岐後スキャンチェーンに設定され、排他的論理和ゲート７３５，７３６でパターン圧縮器７４１により圧縮され、パターン圧縮後出力される。尚、パターン発生器は、予め発生させるパターンを設定しておいてもいいし、ランダム的にパターンを発生させても良い。また、テストされる被試験体である論理回路のテストは、そのパターン発生器７２１から発生させるパターンと、被検査回路１０２から出力されたパターンとを比較して、その論理回路が故障しているかどうか等の検査を行う。
【００３０】
このように、本実施例によれば、ＢＩＳＴを用いたシフトスキャン方式において、組合せ回路的に独立な部分回路に含まれるスキャンチェーン間でスキャンデータ入出力を共用することにより、パターン発生器やパターン圧縮器を共用することになり、ゲート数や配線の物量を削減できるという効果がある。
【００３１】
更に、上記各実施例は、回路的なハード構成の半導体集積回路について述べましたが、本発明は、これらの機能を有するソフトウェアでも適応できるものである。
【００３２】
上記ソフトウェアの本実施例としては、ＣＤ−ＰＯＭ等の記憶媒体に実施例の機能を有する回路情報プログラムを記憶することで、このソフトウェアの製作企業外の方々や、ユーザ自身が集積回路、またはその中の論理回路等の試験を容易に実行できる効果がある。
【００３３】
【発明の効果】
本発明によれば、シフトスキャン方式におけるテストデータ量やテスト時間を削減し、回路面積のオーバーヘッドを抑えた半導体集積回路を提供できる。
【図面の簡単な説明】
【図１】本発明に係る半導体集積回路の一実施例を示す図である。
【図２】本発明のスキャン機能付ＦＦ回路の一例を示す図である。
【図３】本発明の結線変更回路（１）及び符号圧縮回路（２）の一実施例を示す図である。
【図４】本発明のスキャンチェーンの信号伝播領域を説明する図である。
【図５】本発明に係る半導体集積回路のタイミングチャートを示す図である。
【図６】本発明に係るテストパターン生成のフローチャートを示す図である。
【図７】本発明に係る半導体集積回路のＢＩＳＴ回路の一実施例を示す図である。
【符号の説明】
１０１…半導体集積回路、１０２…被検査回路、１０３…結線変更回路、104…符号圧縮回路、１１０，１２０，１３０，１４０，４１０，４２０，４３０，４４０…スキャンチェーン、１１１〜１１３，１２１〜１２３，１３１〜１３３，１４１〜１４５，４１１，４１２，４２１，４２２，４３１，４３２，４４１，４４２…スキャン機能付ＦＦ、１５１，１５２，７１１，７１２…スキャンデータ入力端子、１５３，１５４…分岐点、１６１，１６２，７３３，７３４…スキャンデータ出力端子、１６３，１６４，３４１〜３４５，７３５，７３６…排他的論理和ゲート、１７１，１７２…部分回路、２０２…マスターＦＦ、２０３…スレーブＦＦ、２１１…スキャンインピン（ＳＩ）、２１２…データ入力ピン（Ｄ）、２１３…システムクロックピン（ＣＫ）、２１４…マスタークロックピン（ＭＣ）、２１５…スレーブクロックピン（ＳＣ）、２１６，３１１，３１２，３１４〜３１７，３３１〜３３５，３４７，３５１，３５２，４１３，４１４，４２３，４２４，４３３，４３４，４４３，４４４，７１５，７１６…信号線、２１７…スキャンアウトピン(ＳＯ)、２１８…ＦＦ出力ピン（Ｑ）、３１３…Phase 信号、３２１，３２２…セレクタ、３３６〜３３９…ＦＦ、４５０…組合せ回路部分、４５１〜４５７，４６１〜４６７…領域、７１３，７１４，７３１，７３２…信号、７２１…パターン発生器、７４１…パターン圧縮器。
【図１】
0004283369.tif 000002
【図２】
0004283369.tif 000003
【図３】
0004283369.tif 000004
【図４】
0004283369.tif 000005
【図５】
0004283369.tif 000006
【図６】
0004283369.tif 000007
【図７】
0004283369.tif 000008