(57)【要約】【課題】スキャンパスからの出力が圧縮格納される場合や、スキャンパス数が多い場合であっても、集積回路の製造不良（故障）を検出するだけでなく、その発生位置の特定を可能にする。【解決手段】集積回路１Ａ中に組み込まれて試験パターンを発生するパターン発生器２と、集積回路１Ａ内部の順序回路素子Ｆ／Ｆにより並列的に形成され、パターン発生器２により発生された試験パターンをそれぞれシフトインされる複数のシフトレジスタと、これらのシフトレジスタからそれぞれシフトアウトされた複数の出力を、ハミング符号の検査ビットを用いて圧縮して集積回路１Ａの外部へ出力する出力圧縮器１０とをそなえて構成する。【選択図】　　　　図１
2004012420.tif 000002
【特許請求の範囲】
【請求項１】
集積回路中に組み込まれて試験パターンを発生するパターン発生器と、
該集積回路内部の順序回路素子により並列的に形成され、該パターン発生器により発生された試験パターンをそれぞれシフトインされる複数のシフトレジスタと、
該複数のシフトレジスタからそれぞれシフトアウトされた複数の出力を、ハミング符号の検査ビットを用いて圧縮して該集積回路の外部へ出力する出力圧縮器とをそなえて構成されたことを特徴とする、集積回路の診断装置。
【請求項２】
予め得られた出力期待値と該出力圧縮器からの出力とを比較して故障診断を行なう診断手段をさらにそなえて構成されたことを特徴とする、請求項１記載の集積回路の診断装置。
【請求項３】
該診断手段が、前記比較の結果、故障箇所が１箇所だけであると診断した場合、当該故障の存在するシフトレジスタを特定することを特徴とする、請求項２記載の集積回路の診断装置。
【請求項４】
集積回路中に組み込まれて試験パターンを発生するパターン発生器と、
該集積回路内部の順序回路素子により並列的に形成され、該パターン発生器により発生された試験パターンをそれぞれシフトインされる複数のシフトレジスタと、
該複数のシフトレジスタからそれぞれシフトアウトされた複数の出力を圧縮して該集積回路の外部へ出力する、少なくとも一つのＥＯＲ（排他的論理和）木回路と、
該ＥＯＲ木回路に入力される該複数の出力のうちの一つを有効にしうる制御回路とをそなえて構成されたことを特徴とする、集積回路の診断装置。
【請求項５】
予め得られた出力期待値と該ＥＯＲ木回路からの出力とを比較して故障診断を行なう診断手段をさらにそなえて構成されたことを特徴とする、請求項４記載の集積回路の診断装置。
【請求項６】
該制御回路が、該複数の出力を一つずつ有効化し、
該ＥＯＲ木回路が、該制御回路によって有効化された出力を圧縮して該集積回路の外部へ順次出力し、
該診断手段が、該ＥＯＲ木回路からの出力に基づいて、該複数のシフトレジスタにおける前記故障診断を一つずつ行ない、故障の存在するシフトレジスタを特定することを特徴とする、請求項５記載の集積回路の診断装置。
【請求項７】
集積回路中に組み込まれたパターン発生器で試験パターンを発生し、
該パターン発生器により発生された試験パターンを、該集積回路内部の順序回路素子により並列的に形成された複数のシフトレジスタに、それぞれシフトインし、
該複数のシフトレジスタからそれぞれシフトアウトされた複数の出力を、ハミング符号の検査ビットを用いて圧縮して該集積回路の外部へ出力し、
予め得られた出力期待値と該集積回路からの出力とを比較して故障診断を行なうことを特徴とする、集積回路の診断方法。
【請求項８】
集積回路中に組み込まれたパターン発生器で試験パターンを発生し、
該パターン発生器により発生された試験パターンを、該集積回路内部の順序回路素子により並列的に形成された複数のシフトレジスタに、それぞれシフトインし、
該複数のシフトレジスタからそれぞれシフトアウトされた複数の出力を、一つずつ有効化し、
有効化された出力を、ＥＯＲ（排他的論理和）木回路により圧縮して該集積回路の外部へ順次出力し、
予め得られた出力期待値と該ＥＯＲ木回路からの出力とを比較して故障診断を行なうことを特徴とする、集積回路の診断方法。
【請求項９】
順序回路素子を含んで構成される集積回路であって、
試験パターンを発生するパターン発生器と、
該順序回路素子により並列的に形成され、該パターン発生器により発生された試験パターンをそれぞれシフトインされる複数のシフトレジスタと、
該複数のシフトレジスタからそれぞれシフトアウトされた複数の出力を、ハミング符号の検査ビットを用いて圧縮して該集積回路の外部へ出力する出力圧縮器とが組み込まれたことを特徴とする、集積回路。
【請求項１０】
順序回路素子を含んで構成される集積回路であって、
試験パターンを発生するパターン発生器と、
該順序回路素子により並列的に形成され、該パターン発生器により発生された試験パターンをそれぞれシフトインされる複数のシフトレジスタと、
該複数のシフトレジスタからそれぞれシフトアウトされた複数の出力を圧縮して該集積回路の外部へ出力する、少なくとも一つのＥＯＲ（排他的論理和）木回路と、
該ＥＯＲ木回路に入力される該複数の出力のうちの一つを有効にしうる制御回路とが組み込まれたことを特徴とする、集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＬＳＩ（Ｌａｒｇｅ　Ｓｃａｌｅ　Ｉｎｔｅｇｒａｔｉｏｎ）等の集積回路の製造不良（故障）を検出するとともにその発生位置を特定しうる故障診断を行なうための装置および診断方法、並びに、その故障診断を実現するための機能を有する集積回路に関する。
【０００２】
【従来の技術】
集積回路、例えばＬＳＩの製造不良の検出は、テスタ（ＡＴＥ；Ａｕｔｏｍａｔｉｃ　Ｔｅｓｔ　Ｅｑｕｉｐｍｅｎｔ）を用いてＬＳＩの入力ピンに適当な信号値を印加し、その出力ピンに現れる信号値を期待される結果と比較することで行なわれる。入力ピンに印加される信号値と出力ピンに現れるべき期待値とを合わせてテストパターン（試験パターン）と呼ぶ。
【０００３】
ＬＳＩの製造不良によりＬＳＩの内部に生じる欠陥は故障と呼ばれ、ＬＳＩ内部で起こりうる全ての故障について検証を行なうためには、多くのテストパターンが必要となる。また、ＬＳＩ内部に仮定される全故障数に対する、あるテストパターンによって検証できる故障の数の割合は、診断率（または検出率）と呼ばれ、テストパターンの品質を計るときの尺度として使われている。ＬＳＩが順序回路素子〔フリップフロップ（Ｆ／Ｆ），ラッチおよびＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）〕を含む場合、テストパターン作成の複雑さは飛躍的に増大する。
【０００４】
そこで、ＬＳＩでは、スキャン設計が一般的に行なわれている。スキャン設計を施されたＬＳＩでは、ＬＳＩ内部の順序回路素子（主にＦ／Ｆ）を用いてシフトレジスタ〔スキャンパス（Ｓｃａｎ　Ｐａｔｈ）と呼ばれる〕が形成され、試験時にそのシフトレジスタに所望の値がシフトインされ、クロック印加後にシフトレジスタの値が外部に読み出される。
【０００５】
このような回路において、ディターミニスティックストアードパターンテスト〔以下、ＤＳＰＴ（Ｄｅｔｅｒｍｉｎｉｓｔｉｃ　Ｓｔｏｒｅｄ　Ｐａｔｔｅｒｎ　Ｔｅｓｔ）という〕が広く採用されている。このＤＳＰＴは、自動テストパターン発生器〔以下、ＡＴＰＧ（Ａｕｔｏｍａｔｉｃ　Ｔｅｓｔ　Ｐａｔｔｅｒｎ　Ｇｅｎｅｒａｔｏｒ）という〕で作成したテストパターンをテスタ（ＡＴＥ）に格納して行なわれる。
【０００６】
図６は従来のスキャン設計を説明するための図で、この図６では、スキャン設計の概念がブロック図として示されている。この図６に示すように、スキャン設計を施されたＬＳＩでは、このＬＳＩをテストするための道筋である複数本のスキャンパス（シフトレジスタ）が形成されている。各スキャンパスは、それぞれ記憶素子である複数個のＦ／Ｆを用いて形成されている。そして、各スキャンパスの一端側（図６の左側）からテストパターンがシフトインされ、他端側（図６の右側）からテスト結果が出力される。なお、図６では、４本のスキャンパスが図示され、各スキャンパスは、８個のＦ／Ｆを直列接続して形成されている。
【０００７】
しかし、近年、ＬＳＩの集積度の増大に伴い、内部に含まれる順序回路素子の数が非常に多くなってきているため、上述のようなＤＳＰＴにより、スキャンパスを構成する全ての順序回路素子において、テストパターン毎に設定と読出とを繰り返し実行すると、試験時間が増大するだけでなく、テストデータ量の増大によるテスタのメモリ容量が逼迫するなどの問題が生じている。従って、ＤＳＰＴによる試験の実行は困難なものとなってきている。特に、テストデータ量の増大によるテスタのメモリ容量の逼迫は、メモリの増強やテスタのアップグレードなどテストコストを大幅に引き上げることになる。
【０００８】
このような問題を解決するために、組込み自己試験〔以下、ＢＩＳＴ（Ｂｕｉｌｔ−Ｉｎ　Ｓｅｌｆ　Ｔｅｓｔ）という〕が行なわれるようになってきている。ＢＩＳＴでは、図７に示すように、擬似乱数パターン発生器２で発生されたパターンがＬＳＩの内部回路（スキャンパス）に印加され、その内部回路からの出力結果が出力検証器７で検証・格納される。擬似乱数パターン発生器２および出力検証器７としては、リニアフィードバックシフトレジスタ（以下、ＬＦＳＲという）が使用されることが多く、特に、出力検証器７は、出力結果をシグネチャとして圧縮格納するため、マルチインプットシグネチャレジスタ（以下、ＭＩＳＲという）と呼ばれる。なお、図７は、従来のＢＩＳＴ回路を説明するための図である。また、図７では、擬似乱数パターン発生器２と出力検証器７との間に８本のスキャンパスが図示され、各スキャンパスは、４個のＦ／Ｆを直列接続して形成されている。
【０００９】
ＢＩＳＴ回路では、擬似乱数パターン発生器がＬＳＩ内部に搭載されているため、極めて多数のテストパターンを短時間で発生することができ、外部のテスタに入力テストパターンを格納しておく必要はない。また、ＭＩＳＲにより試験結果を圧縮して格納するため、テスタにロードするデータ量を圧倒的に削減することができる。さらに、ＢＩＳＴ回路では、スキャンパスの数を多くしてスキャンパスへのシフトイン／シフトアウト動作を高速化して、試験時間を短縮することもできる。
【００１０】
【発明が解決しようとする課題】
上述のようにＢＩＳＴを採用することにより、上記ＤＳＰＴの問題点を改善することはできるが、いくつかの課題も有している。
つまり、ＢＩＳＴでは、擬似乱数パターンが用いられるため、試験の品質（診断率，故障の検出率）に問題がある。診断率を高めるためには、追加テストとしてＤＳＰＴを適用するか、ＬＳＩ内部の回路に制御性と観測性とを増すようなテストポイントを挿入する必要がある。
【００１１】
また、ＢＩＳＴでは、出力データをＭＩＳＲに圧縮して格納しているので、その構成上、一度でも不定値（Ｘ値）を取り込むとＭＩＳＲ内の全てのレジスタが不定状態となって、レジスタに保持されていた値が破壊されてしまい、試験不能になってしまう。
【００１２】
一般に、ＬＳＩ内部の、ＲＡＭを含む順序回路素子は、電源投入時には不定状態であるため、これらの順序回路素子を初期化するパターンを予め印加するか、不定状態がＭＩＳＲに伝播しないように回路を工夫する必要があった。この他にも、バス設計時に乱数パターンによりバスのコンフリクトやフロート状態が起きないようにするなど、ＢＩＳＴを実回路に適用するには厳しい設計制約を設計者に強いることになる。これに加え、ＢＩＳＴ用の付加回路とテストポイントとの挿入により回路のエリアオーバーヘッドや性能低下も問題となっていた。
【００１３】
そこで、本願の発明者等は、特願２０００−３７２２３１において、上述したＤＳＰＴおよびＢＩＳＴの問題を解決し、試験時間の短縮とテストデータ量の削減とを実現するとともに、高品質な試験（診断率の高い試験）を可能にした技術を提案している。その技術を適用された試験回路の構成を図８（ブロック図）に示す。
【００１４】
この図８に示す試験回路は、ＬＳＩ上において図７と同様のＢＩＳＴ回路をベースとし、そのＢＩＳＴ回路にさらにパターン修正器４および不定マスク器５を追加して構成されている。そして、擬似乱数パターン発生器（ＬＦＳＲ）２により生成されたパターンは、パターン修正器４によりＡＴＰＧと同等のパターンに修正された上で、スキャンパスにシフトインされる。試験クロック印加後、スキャンパスからの出力は、不定マスク器５を介して出力検証器７内のＭＩＳＲに圧縮されて格納されるが、その際、出力中の不定値（Ｘ値）は、不定マスク器５によりマスク処理される。なお、図８では、パターン修正器４と不定マスク器５との間に８本のスキャンパスが図示され、各スキャンパスは、４個のＦ／Ｆを直列接続して形成されている。
【００１５】
ＡＴＰＧによって作り出されたパターンをスキャンパスにシフトインして試験を行なう際、そのパターンに基づいて値（１もしくは０）を明示的に設定されるＦ／Ｆの数は、全Ｆ／Ｆのうちの極僅か（数％）である。そこで、図８に示す試験回路では、上述のようにＦ／Ｆに明示的に設定されるべき値のみを、外部のテスタから制御信号を用いてパターン修正器４に与え、このパターン修正器４により、擬似乱数パターン発生器２からの擬似乱数パターンを、ＡＴＰＧと同等の高品質なパターンに変更することを可能にしている。また、不定値のＭＩＳＲへの取り込みを不定マスク器５でブロックすることにより、ＢＩＳＴの設計制約の一つを容易かつ確実に満たすように設計を行なえるので、設計者への負担が大幅に軽減される。
【００１６】
ところで、図７に示すＢＩＳＴ回路や図８に示す試験回路のごとく、出力結果をＭＩＳＲに圧縮して格納するＬＳＩ試験手法では、試験対象のＬＳＩの良否判定が主たる目的である。しかし、実際のＬＳＩの製造現場では、ＬＳＩの製造プロセスの問題を解消したり歩留まりを向上させたりするため、不良と判定されたＬＳＩが不良となった原因の調査が必要となる場合がある。その場合、欠陥がＬＳＩ内部のどこに存在するかを特定する必要がある。
【００１７】
一般に、テスタから与えられたテストパターンと、テスタによる観測値と期待値とが不一致となった部分の情報とに基づいて故障箇所を特定することを故障診断という。ＤＳＰＴでは、テストパターン毎に出力を観測することができるため、故障診断を比較的容易に行なえる。ＤＳＰＴの各テストパターンにより検出することの可能な故障と検出場所（Ｆ／Ｆ）とが、故障シミュレーションを行なうことによって分かるため、テスタの不一致情報に基づいて候補の故障を絞り込むことが可能になる。
【００１８】
これに対して、図７に示すＢＩＳＴ回路や図８に示す試験回路では、出力結果を出力検証器７のＭＩＳＲに圧縮して格納し試験終了後にＭＩＳＲの値を読み出すため、故障診断は困難になる。つまり、出力結果が圧縮されているため、故障の有無を判断することができても故障箇所を特定することができない。さらに、ＢＩＳＴ等の試験では、スキャンパスの数を多くすることにより試験の高速化をはかっており、全てのスキャンパスの出力を外部ピンにて観測することは、ＬＳＩのピン数制限のため不可能であり、つまりは故障診断も不可能である。
【００１９】
本発明は、このような課題に鑑み創案されたもので、スキャンパスからの出力が圧縮格納される場合や、スキャンパス数が多い場合であっても、集積回路の製造不良（故障）を検出するだけでなく、その発生位置の特定を可能にした、集積回路の診断装置および診断方法、並びに集積回路を提供することを目的とする。
【００２０】
【課題を解決するための手段】
上記目的を達成するために、本発明の集積回路の診断装置（請求項１）は、集積回路中に組み込まれて試験パターンを発生するパターン発生器と、該集積回路内部の順序回路素子により並列的に形成され、該パターン発生器により発生された試験パターンをそれぞれシフトインされる複数のシフトレジスタと、該複数のシフトレジスタからそれぞれシフトアウトされた複数の出力を、ハミング符号の検査ビットを用いて圧縮して該集積回路の外部へ出力する出力圧縮器とをそなえて構成されたことを特徴としている。
【００２１】
このような診断装置において、予め得られた出力期待値と該出力圧縮器からの出力とを比較して故障診断を行なう診断手段をさらにそなえてもよいし（請求項２）、該診断手段が、前記比較の結果、故障箇所が１箇所だけであると診断した場合、当該故障の存在するシフトレジスタを特定するように構成してもよい（請求項３）。
【００２２】
また、本発明の集積回路の診断方法（請求項７）は、集積回路中に組み込まれたパターン発生器で試験パターンを発生し、該パターン発生器により発生された試験パターンを、該集積回路内部の順序回路素子により並列的に形成された複数のシフトレジスタに、それぞれシフトインし、該複数のシフトレジスタからそれぞれシフトアウトされた複数の出力を、ハミング符号の検査ビットを用いて圧縮して該集積回路の外部へ出力し、予め得られた出力期待値と該集積回路からの出力とを比較して故障診断を行なうことを特徴としている。
さらに、本発明の集積回路（請求項９）は、上述したパターン発生器，複数のシフトレジスタおよび出力圧縮器とを組み込まれて構成されたことを特徴としている。
【００２３】
一方、本発明の集積回路の診断装置（請求項４）は、上述と同様のパターン発生器および複数のシフトレジスタをそなえるとともに、該複数のシフトレジスタからそれぞれシフトアウトされた複数の出力を圧縮して該集積回路の外部へ出力する、少なくとも一つのＥＯＲ（排他的論理和）木回路と、該ＥＯＲ木回路に入力される該複数の出力のうちの一つを有効にしうる制御回路とをそなえて構成されたことを特徴としている。
【００２４】
このような診断装置において、予め得られた出力期待値と該ＥＯＲ木回路からの出力とを比較して故障診断を行なう診断手段をさらにそなえてもよいし（請求項５）、該制御回路が、該複数の出力を一つずつ有効化し、該ＥＯＲ木回路が、該制御回路によって有効化された出力を圧縮して該集積回路の外部へ順次出力し、該診断手段が、該ＥＯＲ木回路からの出力に基づいて、該複数のシフトレジスタにおける前記故障診断を一つずつ行ない、故障の存在するシフトレジスタを特定するように構成してもよい（請求項６）。
【００２５】
また、本発明の集積回路の診断方法（請求項８）は、集積回路中に組み込まれたパターン発生器で試験パターンを発生し、該パターン発生器により発生された試験パターンを、該集積回路内部の順序回路素子により並列的に形成された複数のシフトレジスタに、それぞれシフトインし、該複数のシフトレジスタからそれぞれシフトアウトされた複数の出力を、一つずつ有効化し、有効化された出力を、ＥＯＲ（排他的論理和）木回路により圧縮して該集積回路の外部へ順次出力し、予め得られた出力期待値と該ＥＯＲ木回路からの出力とを比較して故障診断を行なうことを特徴としている。
さらに、本発明の集積回路（請求項１０）は、上述したパターン発生器，シフトレジスタ，ＥＯＲ（排他的論理和）木回路および制御回路を組み込んで構成されたことを特徴としている。
【００２６】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
〔１〕第１実施形態の説明
故障診断を行なうためには、ＤＳＰＴと同様、テストパターン毎の一致／不一致情報（各テストパターンに応じたスキャンパス出力と期待値とが一致するか否かの情報）が必要となる。ＢＩＳＴでは、テストパターン毎にテスタでスキャンパス出力と期待値との比較を行なっていないので、テストパターン毎にＦ／Ｆの値を外部に読み出す必要がある。しかし、ＢＩＳＴでは、前述したように、高速な試験を行なうために内部のスキャンパスの並列度を上げており、ＬＳＩの入出力ピン数の制限により全てのスキャンパス分の外部出力ピンを用意することは不可能である。従って、多数のスキャンパスの情報を圧縮し少ない外部出力ピンで観測するしくみが必要となっている。本発明の第１実施形態は、このようなしくみを提供するものである。
【００２７】
図１は本発明の第１実施形態としての集積回路の診断装置の構成を示すブロック図であり、この図１に示すように、第１実施形態の診断装置には、擬似乱数パターン発生器（パターン発生器，ＬＦＳＲ）２，複数のスキャンパス，出力検証器（ＭＩＳＲ）７および出力圧縮器１０がそなえられている。この診断装置は、試験対象の集積回路であるＬＳＩ１Ａに組み込まれている。
【００２８】
ＬＳＩ１Ａは、複数のＦ／Ｆ（順序回路素子）を含んで構成されるもので、このＬＳＩ１Ａにおいては、これらのＦ／Ｆにより、複数のスキャンパス（シフトレジスタ）が並列的に形成されている。図１に示す例では、８本のスキャンパスが並列的に形成されており、各スキャンパスは、４個のＦ／Ｆを直列接続して形成されている。
【００２９】
また、第１実施形態の診断装置においても、擬似乱数パターン発生器２で発生されたパターンがスキャンパスにそれぞれシフトインされ、各スキャンパスからの出力結果は、出力検証器７で圧縮格納されるようになっている。この出力検証器７は、複数の排他的論理和（ＥＯＲ）回路および複数のレジスタから構成され、各スキャンパスからの出力結果を、シグネチャとして圧縮（符号化）して格納し、所定の試験パターンに対する出力結果を、最終的に８ビットの符号化された値として出力するものである。
【００３０】
そして、出力圧縮器１０は、図１に示すごとく、排他的論理和回路（ＥＯＲ回路）１１〜２１から構成され、複数のスキャンパスからそれぞれシフトアウトされた複数の出力（図１では８ビットデータ）を、ハミング符号の検査ビット（図１では４ビット）を用いて圧縮してＬＳＩ１Ａの外部へ出力するものである。つまり、出力圧縮器１０は、ハミング符号の検査ビットに相当するもので、ハミング符号の検査ビットを実現するＥＯＲ回路１１〜２１によって構成されている。
【００３１】
ハミング符号は、誤り訂正符号の一種であり、１ビットの誤りを訂正することが可能である。ハミング符号では、実際の情報ビットに検査ビットを付加することで誤り訂正を行なう。情報ビットが４ビット（ｘ１，ｘ２，ｘ３，ｘ４）である場合、検査ビットは３ビット（ｙ１，ｙ２，ｙ３）必要で、この場合の誤り訂正例を図２に示す。この図２は、第１実施形態における、ハミング符号の検査ビットを用いた圧縮手法（ハミング符号による誤り訂正例）を説明するための図である。
【００３２】
図２に示す例では、上述した通り、情報ビットが４ビット（ｘ１，ｘ２，ｘ３，ｘ４）で検査ビットが３ビット（ｙ１，ｙ２，ｙ３）であり、検査ビット（ｙ１，ｙ２，ｙ３）は、図２中に示す式に基づいて情報ビット（ｘ１，ｘ２，ｘ３，ｘ４）から算出される。この場合、図２に示すように、シンドロームは３ビット（ｚ１，ｚ２，ｚ３）で、シンドロームに対応するエラーベクトルが予め与えられている。
【００３３】
このとき、元データが（０，１，０，０）であれば、検査ビットとしては（１，０，１）が得られるはずである。つまり、ある試験パターンによりスキャンパス出力として（０，１，０，０）が期待される場合には、出力圧縮器１０からの検査ビット出力として（１，０，１）が出力されるはずであるので、出力期待値として（１，０，１）が予め得られることになる。
【００３４】
このようにスキャンパス出力として（０，１，０，０）が期待されている時に、故障により誤りが混入し、例えばｘ３が“１”となり、スキャンパス出力として（０，１，１，０）が得られたとする。この場合、検査ビット（出力圧縮器１０の出力）としては（０，１，１）が得られ、この検査ビット（０，１，１）と出力期待値（１，０，１）との排他的論理和（ＥＯＲ）を算出することによりシンドローム（１，１，０）が得られる。
【００３５】
得られたシンドローム（１，１，０）に対応するエラーベクトル（ｘ１，ｘ２，ｘ３，ｘ４，ｙ１，ｙ２，ｙ３）は、図２に示すように、（０，０，１，０，０，０，０）であり、ハミング符号では、このエラーベクトルにおける（ｘ１，ｘ２，ｘ３，ｘ４）と、スキャンパス出力（０，１，１，０）との排他的論理を算出することにより、元データを復元することができる。
ただし、第１実施形態では、元データを復元する必要はなく、シンドロームを算出した時点で、誤りの混入したビット、即ち、故障箇所の存在するスキャンパスが特定されることになる。
【００３６】
図１に示す例では、情報ビットが８ビット（ｘ１，ｘ２，…，ｘ８）で、この場合、検査ビットは４ビット（ｙ１，ｙ２，ｙ３，ｙ４）となるので、図２を参照しながら上述した手法が拡張されて適用される。つまり、８ビット分のスキャンパス出力（ｘ１，ｘ２，…，ｘ８）が、出力圧縮器１０（ＥＯＲ回路１１〜２１）により、４ビット分のハミング符号の検査ビットデータ（ｙ１，ｙ２，ｙ３，ｙ４）に圧縮されてＬＳＩ１Ａの外部へ出力されることになる。
【００３７】
そして、第１実施形態では、図示省略のテスタ（診断手段）がそなえられ、このテスタに、出力圧縮器１０からの出力（検査ビットデータ（ｙ１，ｙ２，ｙ３，ｙ４））が入力されるようになっている。テスタには、故障（誤り）の無い場合に得られるべき検査ビットデータが出力期待値として予め格納されており、テスタが、出力期待値と出力圧縮器１０からの出力（検査ビットデータ）とを比較して故障診断を行なう。
【００３８】
具体的には、上述した通り、出力期待値と出力圧縮器１０からの検査ビットデータとの排他的論理和を算出してシンドロームを得て、そのシンドロームに基づいて故障箇所を判断する。故障が存在しなければ、出力期待値と出力圧縮器１０からの検査ビットデータとは一致し、シンドロームの各ビットは“０”になる。複数のスキャンパスのうちの１つに故障が存在する場合には、出力期待値と出力圧縮器１０からの検査ビットデータとが不一致となり、得られたシンドロームに対応するエラーベクトルに基づいて、８ビット分のスキャンパス出力（ｘ１，ｘ２，…，ｘ８）のうちの１ビットの誤りを特定することが可能である。つまり、故障が存在する１つのスキャンパス（故障箇所）を特定することができる。
【００３９】
なお、故障が２または３のスキャンパスで同時に起きた場合には、１つのスキャンパスで故障が生じた場合と同様、出力圧縮器１０の出力結果がテスタの期待値と不一致を起こすが、シンドロームにより求められるスキャンパスに故障が存在するとは限らず、その故障箇所（故障の存在するスキャンパス）を特定することができない。この場合は、故障の存在を指摘することだけが可能となる。さらに、故障が４箇所以上で同時に起きた場合には、故障が存在するにもかかわらず出力圧縮器１０の出力結果がテスタの期待値と一致を起こす場合があり、正しく故障の有無を指摘できないことがある。
【００４０】
このように、本発明の第１実施形態によれば、出力圧縮器１０により複数のスキャンパスからそれぞれシフトアウトされた複数の出力が、ハミング符号の検査ビットに圧縮・符号化されてからＬＳＩ１Ａの外部へ出力されるので、多数のスキャンパスの情報を少ない外部出力ピン（図１の例では４個）で観測することが可能になる。従って、ＢＩＳＴ等の試験を適用したＬＳＩ１Ａの診断を少ない回路オーバーヘッドで実現できる。
【００４１】
また、故障診断に際しては、テストパターン毎にテスタで期待値比較を行なう必要があるが、多数のスキャンパスの情報を圧縮して符号化しているので、ＤＳＰＴよりも高速な診断が可能になる。そして、スキャンパスからの出力が圧縮格納される場合や、スキャンパス数が多い場合であっても、ＬＳＩ１Ａの製造不良（故障）を検出するだけでなく、故障箇所が１箇所であれば、その発生位置（スキャンパス）を特定することができる。さらに、第１実施形態では、２または３のスキャンパスで故障が発生している場合、その故障の存在が指摘されるだけであるが、量産段階にあるＬＳＩ１Ａに対しては、故障の存在を指摘できるだけでも極めて有効な効果が得られるものと考えられる。
【００４２】
なお、図１において二点鎖線で示すごとく、図８を参照しながら前述した試験装置と同様、ＬＳＩ１Ａ内に、擬似乱数パターン発生器２によって発生された試験パターンを外部入力により修正してから複数のスキャンパス（シフトレジスタ）に入力するパターン修正器４と、複数のスキャンパスからの出力中の不定値（Ｘ値）をマスクしてから出力検証器７および出力圧縮器１０へ出力する不定マスク器５とをさらに組み込んでもよい。
【００４３】
このとき、擬似乱数パターン発生器２で発生された試験パターンがパターン修正器４に入力される。パターン修正器４には、テスタ（図示省略）からの制御信号が制御入力ピン等を通じて入力され、このパターン修正器４が、上記制御信号に従って、値を設定する必要のあるＦ／Ｆのための値のみを修正し、その値を各スキャンパスの先頭Ｆ／Ｆに入力・設定する。
【００４４】
不定マスク器５は、制御入力ピン等から入力される制御信号に従って、各スキャンパスの最終Ｆ／Ｆの値のうち不定値（Ｘ値）のものをマスクすることにより不定状態を規定の状態に変換してから、各スキャンパスの最終Ｆ／Ｆの値を出力検証器７および出力圧縮器１０に入力する。
このように、擬似乱数パターン発生器２で発生した試験パターンをパターン修正器４で修正して複数のスキャンパスに入力することにより、スキャンパス数を増やしスキャンパス段数（各スキャンパスにおけるＦ／Ｆの数）を少なくして、ＬＳＩ１Ａの試験時間を大幅に短縮することができる。
【００４５】
また、ＤＳＰＴおよびＢＩＳＴの問題点が解決され、両者の利点を生かした高品質なテストを短時間で可能とするテストパターンを生成することができる。その際、意味あるデータ部分（値を設定する必要のあるＦ／Ｆの情報）のみをテスタ（外部入力）から供給して修正するので、テスタに格納されるデータの量を大幅に削減することもできる。従って、設計者に厳しい設計規約を課すことなく、且つ、高価なテスタを必要とすることなく、高品質なテストを行なえる。
【００４６】
さらに、ＬＳＩ１Ａ内部のＦ／Ｆで形成した複数のスキャンパスからの出力中の不定値（Ｘ値）を不定マスク器５でマスクし、マスクされた出力結果を出力検証器７で検証することにより、Ｆ／Ｆからの出力結果を圧縮して外部に読み出しても、不定値が圧縮結果を台無しにしてしまうことがなくなる。
【００４７】
〔２〕第２実施形態の説明
上述した第１実施形態では、同時に複数の故障が発生した場合、故障箇所を特定することができない。新しい製造プロセスの立ち上げ時にはこのようなことは起こりやすく、故障診断の必要性も高い。そこで、第２実施形態および第３実施形態では、上記必要性に応じて、故障が存在する全てのスキャンパスを正しく特定できるようにしている。
【００４８】
図３は本発明の第２実施形態としての集積回路の診断装置の構成を示すブロック図であり、この図３に示すように、第２実施形態の診断装置には、第１実施形態と同様の擬似乱数パターン発生器２，複数のスキャンパスおよび出力検証器７がそなえられるとともに、出力圧縮器１０に代えて出力選択器３０がそなえられている。この診断装置は、試験対象の集積回路であるＬＳＩ１Ｂに組み込まれている。
【００４９】
ＬＳＩ１Ｂは、第１実施形態のＬＳＩ１Ａと同様、複数のＦ／Ｆ（順序回路素子）を含んで構成されるもので、このＬＳＩ１Ｂにおいては、これらのＦ／Ｆにより、複数のスキャンパス（シフトレジスタ）が並列的に形成されている。図３に示す例でも、８本のスキャンパスが並列的に形成されており、各スキャンパスは、４個のＦ／Ｆを直列接続して形成されている。
【００５０】
また、第２実施形態の診断装置においても、擬似乱数パターン発生器２で発生されたパターンがスキャンパスにそれぞれシフトインされ、各スキャンパスからの出力結果は、出力検証器７で圧縮格納されるようになっている。この出力検証器７は、複数のＥＯＲ回路および複数のレジスタから構成され、各スキャンパスからの出力結果を、シグネチャとして圧縮（符号化）して格納し、所定の試験パターンに対する出力結果を、最終的に８ビットの符号化された値として出力するものである。
【００５１】
そして、出力選択器３０は、図２に示すごとく、２組のＥＯＲ（排他的論理和）木回路３１，３２と、制御回路４０とから構成されている。
ここで、ＥＯＲ木回路３１は、３つの排他的論理和回路（ＥＯＲ回路）３３，３４，３５から構成され、図３に示す上側４本のスキャンパスからそれぞれシフトアウトされた出力を圧縮してＬＳＩ１Ｂの外部へ出力するものであり、同様に、ＥＯＲ木回路３２は、３つの排他的論理和回路（ＥＯＲ回路）３６，３７，３８から構成され、図３に示す下側４本のスキャンパスからそれぞれシフトアウトされた出力を圧縮してＬＳＩ１Ｂの外部へ出力するものである。
【００５２】
また、制御回路４０は、デコーダ４１と、８個のＯＲ回路（論理和回路）４２〜４９とから構成され、各ＥＯＲ木回路３１，３２に入力される複数（ここでは４つ）の出力のうちの一つを有効化するためのものである。
【００５３】
ＯＲ回路４２，４３は、それぞれ、図３に示す上から１本目および２本目のスキャンパスの出力とデコーダ４１からの選択信号との論理和をＥＯＲ回路３３の２つの入力端子に入力するものである。同様に、ＯＲ回路４４，４５は、それぞれ、図３に示す上から３本目および４本目のスキャンパスの出力とデコーダ４１からの選択信号との論理和をＥＯＲ回路３４の２つの入力端子に入力するものであり、ＯＲ回路４６，４７は、それぞれ、図３に示す上から５本目および６本目のスキャンパスの出力とデコーダ４１からの選択信号との論理和をＥＯＲ回路３６の２つの入力端子に入力するものであり、ＯＲ回路４８，４９は、それぞれ、図３に示す上から７本目および８本目のスキャンパスの出力とデコーダ４１からの選択信号との論理和をＥＯＲ回路３７の２つの入力端子に入力するものである。
【００５４】
デコーダ４１は、有効化すべきスキャンパスの出力のみをＥＯＲ木回路３１，３２に入力させるべく、ＬＳＩ１Ｂの外部から制御信号に応じた選択信号をＯＲ回路４２〜４９に与えるものである。
【００５５】
第２実施形態では、ＥＯＲ木回路３１に入力される上側４本のスキャンパスの出力の一つのみを有効化すると同時に、ＥＯＲ木回路３２に入力される下側４本のスキャンパスの出力の一つのみを有効化すべく、デコーダ４１は、ＬＳＩ１Ｂの外部から制御信号に応じて、上側４つのＯＲ回路４２〜４５に入力される選択信号のうちの一つのみを“１”から“０”にするとともに下側４つのＯＲ回路４６〜４９に入力される選択信号のうちの一つのみを“１”から“０”にする。デコーダ４１から選択信号“０”を入力されたＯＲ回路４２〜４９は、そのＯＲ回路４２〜４９に入力されるスキャンパス出力の通過を許容し、そのスキャンパス出力をＥＯＲ木回路３１または３２に入力することになる。選択信号“１”を入力されたＯＲ回路４２〜４９の出力は常に“１”となり、スキャンパス出力はＯＲ回路４２〜４９を通過することができない。
【００５６】
従って、第２実施形態では、１回の試験に際し、８本のスキャンパスの出力の中から２つの出力が選択・有効化されそれぞれＥＯＲ木回路３１，３２を通じて２つの外部出力ピンからＬＳＩ１Ｂの外部へ出力されることになる。つまり、試験を４回繰り返せば、８本のスキャンパス全ての試験を完了することができるようになっている。
【００５７】
そして、第２実施形態でも、図示省略のテスタ（診断手段）がそなえられ、このテスタに、出力選択器３０からの出力が入力されるようになっている。テスタには、故障（誤り）の無い場合に得られるべき出力期待値が予め格納されており、テスタが、出力期待値と出力選択器３０からの出力とを比較して故障診断を行なう。
【００５８】
上述の構成により、第２実施形態では、ＢＩＳＴ等の試験を適用したＬＳＩ１Ｂの診断を行なう際には、同時故障の有無にかかわらず、制御回路４０が、各ＥＯＲ木回路３１，３２に入力されるべきスキャンパスの出力を一つずつ有効化し、各ＥＯＲ木回路３１，３２が、制御回路４０によって有効化された出力を圧縮してＬＳＩ１Ｂの外部へ順次出力し、上記テスタが、出力期待値と各ＥＯＲ木回路３１，３２からの出力とを比較して故障診断を行ない、出力期待値と一致しない出力のスキャンパスを、故障の存在するスキャンパスとして特定する。
【００５９】
このような処理を、複数回（図３に示す第２実施形態のＬＳＩ１Ｂでは４回）繰り返すことにより、全てのスキャンパスに対する診断を行ない、全ての故障位置（故障の発生したスキャンパス）を特定することが可能になる。つまり、１回目の試験では、各ＥＯＲ木回路３１，３２に接続される１番目のスキャンパスのみを有効にするようにデコーダ４１の選択信号が設定され、その１番目のスキャンパスについての試験が行なわれる。そして、各テストパターンのテスタでの不一致情報に基づいて故障の存在するスキャンパスを特定する。
【００６０】
このとき、ＥＯＲ木回路３１，３２に対応して設けられる２つの外部出力ピンからの不一致情報に基づいて、スキャンパスの属するグループ（ＥＯＲ木回路３１のグループかＥＯＲ木回路３２のグループ）が特定され、さらに、デコーダ４１からの選択信号により各グループの１番目のスキャンパスが有効にされていることを認識できるので、故障の存在するスキャンパスを特定することができる。
【００６１】
同様の試験をｎ回（第２実施形態ではｎ＝４）繰り返し各ＥＯＲ木回路３１，３２に接続されるｎ番目のスキャンパスまで試験を行なうことにより、故障の存在する全てのスキャンパスを特定することが可能になる。
なお、ここで注意しなければいけないのは、ｎ回分の試験の出力期待値は、診断用マスク器の設定に従って計算しなおしておく必要があることである。
【００６２】
このように、本発明の第２実施形態によれば、制御回路４０により、複数のスキャンパスから各ＥＯＲ木回路３１，３２に入力される出力が一つずつ有効化され、有効化された出力が、各ＥＯＲ木回路３１，３２により圧縮されてＬＳＩ１Ｂの外部へ順次出力されるので、ＢＩＳＴ等の試験を適用したＬＳＩの故障診断に際して、故障が存在する全てのスキャンパスを正しく特定することができる。従って、新しい製造プロセスの立ち上げ時で同時に多数の故障が存在する場合であっても正しく確実な故障診断を行なうことが可能である。
【００６３】
〔３〕第３実施形態の説明
図４は本発明の第３実施形態としての集積回路の診断装置の構成を示すブロック図であり、この図４に示すように、第３実施形態の診断装置には、第１実施形態や第２実施形態と同様の擬似乱数パターン発生器（ＬＦＳＲ）２，複数のスキャンパス（シフトレジスタ）および出力検証器（ＭＩＳＲ）７がそなえられるとともに、擬似乱数パターン発生器２と複数のスキャンパスとの間に第１実施形態と同様のパターン修正器４がそなえられ、さらに、複数のスキャンパスと出力検証器７との間に第１実施形態と同様の不定マスク器５がそなえられている。この診断装置は、試験対象の集積回路であるＬＳＩ１Ｃに組み込まれている。
【００６４】
ＬＳＩ１Ｃは、第１実施形態のＬＳＩ１Ａと同様、複数のＦ／Ｆ（順序回路素子）を含んで構成されるもので、このＬＳＩ１Ｃにおいては、これらのＦ／Ｆにより、複数のスキャンパス（シフトレジスタ）が並列的に形成されている。図４に示す例でも、８本のスキャンパスが並列的に形成されており、各スキャンパスは、４個のＦ／Ｆを直列接続して形成されている。
【００６５】
また、第３実施形態の診断装置においては、擬似乱数パターン発生器２で発生された試験パターンがパターン修正器４に入力される。パターン修正器４には、テスタ（図示省略）からの制御信号が制御入力ピン等を通じて入力され、このパターン修正器４が、上記制御信号に従って、値を設定する必要のあるＦ／Ｆのための値のみを修正し、その値を各スキャンパスの先頭Ｆ／Ｆに入力・設定する。
【００６６】
このようにして修正された試験パターンが、スキャンパスにそれぞれシフトインされ、各スキャンパスからの出力結果は不定マスク器５に入力され、この不定マスク器５において、制御入力ピン等から入力される制御信号に従って、各スキャンパスの最終Ｆ／Ｆの値のうち不定値（Ｘ値）のものをマスクすることにより不定状態を規定の状態に変換してから、各スキャンパスの最終Ｆ／Ｆの値が、出力検証器７に入力されこの出力検証器７で圧縮格納されるようになっている。そして、出力検証器７は、前述した通り、複数のＥＯＲ回路および複数のレジスタから構成され、各スキャンパスからの出力結果を、シグネチャとして圧縮（符号化）して格納し、所定の試験パターンに対する出力結果を、最終的に８ビットの符号化された値として出力する。
【００６７】
不定マスク器５には、複数のスキャンパスからの出力中の不定値（Ｘ値）をマスクすべく、デコーダ５１，論理和回路（ＯＲ回路）５２，５３，５４，論理積回路（ＡＮＤ回路）５５およびフリップフロップ（Ｆ／Ｆ）６２がそなえられている。この不定マスク器５には、制御入力ピン８本（ｂ１〜ｂ８）を通じて制御信号（Ｃｏｎｔｒｏｌ　Ｓｉｇｎａｌｓ）が入力されるほか、８本のスキャンパス＃０，＃１，…，＃７の最終Ｆ／Ｆからの出力が入力される。
【００６８】
また、不定マスク器５は、出力検証器７（および擬似乱数パターン発生器２）へのシフトクロックや、スキャンパス上のＦ／Ｆへのシフトクロックも制御するものである。不定状態をマスクする時には、スキャンパス上のＦ／Ｆおよび出力検証器７（および擬似乱数パターン発生器２）に対するシフトクロックは抑止され、スキャンパス上の最終Ｆ／Ｆの後段にそなえられたＦ／Ｆ６２に対するシフトクロックのみが印加される。
【００６９】
このＦ／Ｆ６２は、スキャンパス上の最終Ｆ／Ｆとは独立して反転状態を保持するものである。このような構成を採用することにより、若干、回路のオーバヘッドが増加することになるが、出力検証器７とスキャンパス＃０〜＃７とを完全に分離してモジュール化することが容易になり、配置・配線（ｐｈｙｓｉｃａｌ　ｐｌａｃｅｍｅｎｔ　ａｎｄ　ｒｏｕｔｉｎｇ）を行なうレイアウトに際してスキャンＦ／Ｆの順番を最適に変更するリオーダリング処理が可能になる。
【００７０】
さらに、不定マスク器５は、制御入力の最上位ビット（ｂ１）でマスク動作を有効にし、制御入力の下位７ビット（ｂ２〜ｂ８）を入力されるデコーダ（Ｄｅｃｏｄｅｒ）５１を有しており、このデコーダ回路５１によるデコード結果に応じて、８本のスキャンパスのうちの特定の１本から入力された不定値（Ｘ値）が、ＯＲ回路５２によって「１」状態値（または「０」状態値）に変換され、その不定値がマスクされるようになっている。
【００７１】
即ち、制御入力ピンｂ１に「１」が入力されるとＯＲ回路５３の出力は「１」となるため、スキャンパス上のＦ／Ｆおよび出力検証器７（および擬似乱数パターン発生器２）へのシフトクロック（ネガティブクロック；Ｓｃａｎ　Ｃｌｏｃｋ）は抑止されるとともに、制御入力ピンｂ１の「１」によりＡＮＤ回路５５がスルー状態となる。これにより、Ｆ／Ｆ６２の出力とデコーダ５１からの選択信号との論理和結果（ＯＲ回路５４の出力）が、ＯＲ回路５２に入力されると同時に、ＡＮＤ回路５５を通過しＦ／Ｆ６２に入力される。
【００７２】
このため、デコーダ５１から「１」を出力し、８本のスキャンパスのうちの特定の１本に入力された不定値（Ｘ値）をＯＲ回路５２で「１」状態値に変換し、その不定値をマスクすることができる。なお、同時に他のスキャンパスのＦ／Ｆにも不定値があれば次のシフトクロックでそのＦ／Ｆからの出力（不定値）をマスクする。パターン発生部分と出力検証部分とは基本的に独立のものであるが、両回路を共に適用する場合には、制御入力の下位７ビット部分を共用することも可能である。
【００７３】
そして、第３実施形態においては、出力検証器７が、第２実施形態で説明したＥＯＲ木回路３１，３２と同様の機能を果たすもので、スキャンパス＃０〜＃７（ＯＲ回路５２）からそれぞれシフトアウトされた複数の出力を圧縮してＬＳＩ１Ｃの外部へ出力している。
【００７４】
また、出力検証器７に入力されるスキャンパス＃０〜＃７からの出力のうちの一つを有効にしうる制御回路としての機能と、故障の発生したパターン番号を絞り込むべく、擬似乱数パターン発生器２によって発生された所定範囲のパターン番号のパターンに対応する、スキャンパス＃０〜＃７からの出力を有効化する制御回路としての機能とを実現させるために、不定マスク器５には、フリップフロップ（初期化設定Ｆ／Ｆ）５７，論理和回路（ＯＲ回路）６１およびマルチプレクサ５６がスキャンパス毎にそなえられるとともに、スタートカウンタ５８，エンドカウンタ５９およびＮＡＮＤ回路６０がそなえられている。第３実施形態では、これらの要素５７〜６１によって構成される制御回路と、ＥＯＲ木回路として機能する出力検証器７とから、第２実施形態で説明した出力選択器３０と同様の機能が実現されている。
【００７５】
初期化設定Ｆ／Ｆ５７は、他のスキャンパス用のＦ／Ｆ５７とともにスキャンパスを形成されており、試験開始時にスキャンインにより「０」もしくは「１」を設定されるようになっている。その際、有効化されるべきスキャンパス用のＦ／Ｆ５７には「０」が設定され、その他のスキャンパス用のＦ／Ｆ５７には「１」が設定される。
【００７６】
スタートカウンタ５８は、エンドカウンタ５９およびＮＡＮＤ回路６０とともに所定範囲のパターン番号に対応する出力を有効化する場合に用いられるもので、その所定範囲における最初のパターン番号を設定され、試験開始とともにスキャンクロックを計数し、図５に示すように、その計数値が最初のパターン番号になった時点で、出力信号を「０」から「１」に切り替えるものである。
【００７７】
エンドカウンタ５９は、スタートカウンタ５８およびＮＡＮＤ回路６０とともに所定範囲のパターン番号に対応する出力を有効化する場合に用いられるもので、その所定範囲における「最後のパターン番号＋１」を設定され、試験開始とともにスキャンクロックを計数し、図５に示すように、その計数値が「最終のパターン番号＋１」になった時点で、出力信号を「１」から「０」に切り替えるものである。
【００７８】
ＮＡＮＤ回路６０は、スタートカウンタ５８からの出力信号とエンドカウンタ５９からの出力信号との否定論理積を出力するもので、図５に示すように、所定範囲のパターン番号に対応する出力がスキャンパスから出力されている時には、「０」を出力し、そのスキャンパスからの出力を有効化するようになっている。
【００７９】
従って、例えば全ての試験パターンに対応する出力を有効化する場合には、スタートカウンタ５８にゼロを設定するとともに、エンドカウンタ５９に「パターン番号の最大値＋１」を設定する。また、例えば一つの試験パターンに対応する出力のみを有効化する場合には、スタートカウンタ５８にその試験パターンの番号を設定するとともに、エンドカウンタ５９に「その試験パターンの番号＋１」を設定する。
【００８０】
ＯＲ回路６１は、初期化設定Ｆ／Ｆ５７からの出力信号とＮＡＮＤ回路５９からの出力信号との論理和を出力するもので、初期化設定Ｆ／Ｆ５７に「０」が設定され、且つ、ＮＡＮＤ回路５９からの出力信号が「０」である時（つまり所定範囲のパターン番号の時）のみ、マルチプレクサ５６を通じてＦ／Ｆ６２に論理積結果「０」を出力して、スキャンパスを有効化するものである。なお、マルチプレクサ５６は、初期化信号Ｉｎｉｔによって、ＡＮＤ回路５５からの出力信号とＯＲ回路６１からの出力信号とのいずれか一方を選択的に切り替えてＦ／Ｆ６２へ出力するものである。
【００８１】
そして、第３実施形態でも、図示省略のテスタ（診断手段）がそなえられ、このテスタに、出力検証器７からの出力が入力されるようになっている。テスタには、故障（誤り）の無い場合に得られるべき出力期待値が予め格納されており、テスタが、出力期待値と出力検証器７からの出力とを比較して故障診断を行なう。
【００８２】
上述の構成により、第３実施形態では、ＢＩＳＴ等の試験を適用したＬＳＩ１Ｃの診断を行なう際には、同時故障の有無にかかわらず、初期化設定Ｆ／Ｆ５７に対するスキャンイン走査を行なって有効化すべきスキャンパスに対応する初期化設定Ｆ／Ｆ５７に「０」を設定することにより、スキャンパスの出力を一つずつ有効化し、出力検証器７が、有効化された出力を圧縮してＬＳＩ１Ｃの外部へ順次出力し、上記テスタが、出力期待値と出力検証器７からの出力とを比較して故障診断を行ない、出力期待値と一致しない出力のスキャンパスを、故障の存在するスキャンパスとして特定する。
【００８３】
このような処理を、複数回（図４に示す第３実施形態のＬＳＩ１Ｃでは８回）繰り返すことにより、全てのスキャンパスに対する診断を行ない、全ての故障位置（故障の発生したスキャンパス）を特定することが可能になる。
つまり、１回目の試験では、出力検証器７に接続される１番目のスキャンパスのみを有効にすべくそのスキャンパスに対応する初期値設定Ｆ／Ｆ５７に「０」が設定され、その１番目のスキャンパスについての試験が行なわれる。
【００８４】
このとき、最初は、全ての試験パターンに対応する出力を有効化するようにスタートカウンタ５８およびエンドカウンタ５９の値を設定しておく。そして、全ての試験パターンによる試験の結果、テスタにより、スキャンパスに故障が存在することが判明した場合には、スタートカウンタ５８およびエンドカウンタ５９の値を適宜変更し、出力を有効にすべきパターン番号の範囲を選択して試験を行なう。このような処理を繰り返すことにより、故障の発生に係る試験パターンのパターン番号（故障の発生したパターン番号）が絞り込まれ、スキャンパス上の故障箇所を特定することができる。
【００８５】
同様の試験をｎ回（第３実施形態ではｎ＝８）繰り返し出力検証器７に接続されるｎ番目のスキャンパスまで試験を行なうことにより、故障の存在する全てのスキャンパスを特定することができるとともに、スキャンパス上の故障箇所を特定することも可能になる。
【００８６】
このように、本発明の第３実施形態によれば、第２実施形態と同様、複数のスキャンパスから出力検証器７に入力される出力が一つずつ有効化され、有効化された出力が、出力検証器７により圧縮されてＬＳＩ１Ｃの外部へ順次出力されるので、ＢＩＳＴ等の試験を適用したＬＳＩの故障診断に際して、故障が存在する全てのスキャンパスを正しく特定することができる。従って、新しい製造プロセスの立ち上げ時で同時に多数の故障が存在する場合であっても正しく確実な故障診断を行なうことが可能である。
【００８７】
また、第３実施形態では、スタートカウンタ５８，エンドカウンタ５９，ＮＡＮＤ回路６０およびＯＲ回路６１を用いて、擬似乱数パターン発生器２によって発生された所定範囲のパターン番号のパターンに対応する、スキャンパスからの出力を有効化して、故障診断を行なうことができる。これにより、故障の発生したパターン番号を絞り込み、スキャンパス上の故障箇所を特定することも可能になる。
【００８８】
一方、第３実施形態では、擬似乱数パターン発生器２で発生した試験パターンをパターン修正器４で修正して複数のスキャンパスに入力することにより、ＡＴＰＧが発生するディターミニスティックなテストパターンを、ＬＳＩ１Ｃに短時間で適用することが可能となる。具体的には、内部のスキャンパスの数をｋ倍にすれば、ほぼ試験時間を１／ｋに短縮することが可能となる。それと同時に、テスタに格納するパターンのデータ量を削減できる。具体的には、内部のスキャンパスの数をｋ倍にすればほぼメモリ量を１／ｋに削減することが可能となる。
【００８９】
また、第３実施形態では、ＢＩＳＴで用いられる擬似乱数パターン発生器（ＬＦＳＲ等）２を利用しているが、ディターミニスティックなパターンが内部に適用されるので、バス回路の特別な制御回路や診断率向上のためのテストポイントの回路挿入などの、厳しい設計制約を設計者に課すことはない。また、ＢＩＳＴで用いられるパターン圧縮器（ＭＩＳＲ等）が利用可能であり、不定マスク器５を用いることで、回路内部の不定状態が出力検証器（ＭＩＳＲ）７に伝播し検証不能になることを防ぐこともできる。
【００９０】
従って、第３実施形態においても、擬似乱数パターン発生器２で発生した試験パターンをパターン修正器４で修正して複数のスキャンパスに入力することにより、スキャンパス数を増やしスキャンパス段数（各スキャンパスにおけるＦ／Ｆの数）を少なくして、ＬＳＩ１Ｃの試験時間を大幅に短縮することができる。また、設計者に厳しい設計規約を課すことなく、且つ、高価なテスタを必要とすることなく、高品質なテストを行なえる。さらに、ＬＳＩ１Ｃ内部のＦ／Ｆで形成した複数のスキャンパスからの出力中の不定値（Ｘ値）を不定マスク器５でマスクし、マスクされた出力結果を出力検証器７で検証することにより、Ｆ／Ｆからの出力結果を圧縮して外部に読み出しても、不定値が圧縮結果を台無しにしてしまうことがなくなる。
【００９１】
〔４〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態では、各ＬＳＩ１Ａ，１Ｂ，１Ｃにおいて、８本のスキャンパスが並列的に形成され、各スキャンパスが、４個のＦ／Ｆを直列接続して形成された場合について説明したが、本発明は、これに限定されるものではない。
【００９２】
〔５〕付記
（付記１）　集積回路中に組み込まれて試験パターンを発生するパターン発生器と、
該集積回路内部の順序回路素子により並列的に形成され、該パターン発生器により発生された試験パターンをそれぞれシフトインされる複数のシフトレジスタと、
該複数のシフトレジスタからそれぞれシフトアウトされた複数の出力を、ハミング符号の検査ビットを用いて圧縮して該集積回路の外部へ出力する出力圧縮器とをそなえて構成されたことを特徴とする、集積回路の診断装置。
【００９３】
（付記２）　予め得られた出力期待値と該出力圧縮器からの出力とを比較して故障診断を行なう診断手段をさらにそなえて構成されたことを特徴とする、付記１記載の集積回路の診断装置。
（付記３）　該診断手段が、前記比較の結果、故障箇所が１箇所だけであると診断した場合、当該故障の存在するシフトレジスタを特定することを特徴とする、付記２記載の集積回路の診断装置。
【００９４】
（付記４）　該診断手段が、前記比較の結果、故障箇所が２または３箇所であると診断した場合、当該故障の存在を指摘することを特徴とする、付記２または付記３に記載の集積回路の診断装置。
（付記５）　該パターン発生器によって発生された試験パターンを外部入力により修正してから該複数のシフトレジスタに入力するパターン修正器をさらにそなえて構成されたことを特徴とする、付記１〜付記４のいずれか一つに記載の集積回路の診断装置。
【００９５】
（付記６）　該複数のシフトレジスタからの出力中の不定値をマスクする不定マスク器と、
該不定マスク器によってマスクされた出力結果を検証する出力検証器とをさらにそなえて構成され、
該不定マスク器の出力が、該出力圧縮器に入力されることを特徴とする、付記１〜付記５のいずれか一つに記載の集積回路の診断装置。
【００９６】
（付記７）　集積回路中に組み込まれて試験パターンを発生するパターン発生器と、
該集積回路内部の順序回路素子により並列的に形成され、該パターン発生器により発生された試験パターンをそれぞれシフトインされる複数のシフトレジスタと、
該複数のシフトレジスタからそれぞれシフトアウトされた複数の出力を圧縮して該集積回路の外部へ出力する、少なくとも一つのＥＯＲ（排他的論理和）木回路と、
該ＥＯＲ木回路に入力される該複数の出力のうちの一つを有効にしうる制御回路とをそなえて構成されたことを特徴とする、集積回路の診断装置。
【００９７】
（付記８）　予め得られた出力期待値と該ＥＯＲ木回路からの出力とを比較して故障診断を行なう診断手段をさらにそなえて構成されたことを特徴とする、付記７記載の集積回路の診断装置。
（付記９）　該制御回路が、該複数の出力を一つずつ有効化し、
該ＥＯＲ木回路が、該制御回路によって有効化された出力を圧縮して該集積回路の外部へ順次出力し、
該診断手段が、該ＥＯＲ木回路からの出力に基づいて、該複数のシフトレジスタにおける前記故障診断を一つずつ行ない、故障の存在するシフトレジスタを特定することを特徴とする、付記８記載の集積回路の診断装置。
【００９８】
（付記１０）　該制御回路が、故障の発生したパターン番号を絞り込むべく、該パターン発生器によって発生された所定範囲のパターン番号のパターンに対応する、該シフトレジスタからの出力を有効化することを特徴とする、付記７〜付記９のいずれか一つに記載の集積回路の診断装置。
（付記１１）　該パターン発生器によって発生された試験パターンを外部入力により修正してから該複数のシフトレジスタに入力するパターン修正器をさらにそなえて構成されたことを特徴とする、付記７〜付記１０のいずれか一つに記載の集積回路の診断装置。
【００９９】
（付記１２）　該複数のシフトレジスタからの出力中の不定値をマスクする不定マスク器と、
該不定マスク器によってマスクされた出力結果を検証する出力検証器とをさらにそなえて構成され、
該該出力検証器が、該ＥＯＲ木回路としての機能を果たすことを特徴とする、付記７〜付記１１のいずれか一つに記載の集積回路の診断装置。
【０１００】
（付記１３）　集積回路中に組み込まれたパターン発生器で試験パターンを発生し、
該パターン発生器により発生された試験パターンを、該集積回路内部の順序回路素子により並列的に形成された複数のシフトレジスタに、それぞれシフトインし、
該複数のシフトレジスタからそれぞれシフトアウトされた複数の出力を、ハミング符号の検査ビットを用いて圧縮して該集積回路の外部へ出力し、
予め得られた出力期待値と該集積回路からの出力とを比較して故障診断を行なうことを特徴とする、集積回路の診断方法。
【０１０１】
（付記１４）　前記比較の結果、故障箇所が１箇所だけであると診断した場合、当該故障の存在するシフトレジスタを特定することを特徴とする、付記１３記載の集積回路の診断方法。
（付記１５）　前記比較の結果、故障箇所が２または３箇所であると診断した場合、当該故障の存在を指摘することを特徴とする、付記１３または付記１４に記載の集積回路の診断方法。
【０１０２】
（付記１６）　集積回路中に組み込まれたパターン発生器で試験パターンを発生し、
該パターン発生器により発生された試験パターンを、該集積回路内部の順序回路素子により並列的に形成された複数のシフトレジスタに、それぞれシフトインし、
該複数のシフトレジスタからそれぞれシフトアウトされた複数の出力を、一つずつ有効化し、
有効化された出力を、ＥＯＲ（排他的論理和）木回路により圧縮して該集積回路の外部へ順次出力し、
予め得られた出力期待値と該ＥＯＲ木回路からの出力とを比較して故障診断を行なうことを特徴とする、集積回路の診断方法。
【０１０３】
（付記１７）　該ＥＯＲ木回路からの出力に基づいて、該複数のシフトレジスタにおける前記故障診断を一つずつ行ない、故障の存在するシフトレジスタを特定することを特徴とする、付記１６記載の集積回路の診断方法。
（付記１８）　該パターン発生器によって発生された所定範囲のパターン番号のパターンに対応する、該シフトレジスタからの出力を有効化して、故障の発生したパターン番号を絞り込むことを特徴とする、付記１６または付記１７に記載の集積回路の診断方法。
【０１０４】
（付記１９）　順序回路素子を含んで構成される集積回路であって、
試験パターンを発生するパターン発生器と、
該順序回路素子により並列的に形成され、該パターン発生器により発生された試験パターンをそれぞれシフトインされる複数のシフトレジスタと、
該複数のシフトレジスタからそれぞれシフトアウトされた複数の出力を、ハミング符号の検査ビットを用いて圧縮して該集積回路の外部へ出力する出力圧縮器とが組み込まれたことを特徴とする、集積回路。
【０１０５】
（付記２０）　該パターン発生器によって発生された試験パターンを外部入力により修正してから該複数のシフトレジスタに入力するパターン修正器がさらに組み込まれたことを特徴とする、付記１９記載の集積回路。
（付記２１）　該複数のシフトレジスタからの出力中の不定値をマスクする不定マスク器と、
該不定マスク器によってマスクされた出力結果を検証する出力検証器とがさらに組み込まれ、
該不定マスク器の出力が、該出力圧縮器に入力されることを特徴とする、付記１９または付記２０に記載の集積回路。
【０１０６】
（付記２２）　順序回路素子を含んで構成される集積回路であって、
試験パターンを発生するパターン発生器と、
該順序回路素子により並列的に形成され、該パターン発生器により発生された試験パターンをそれぞれシフトインされる複数のシフトレジスタと、
該複数のシフトレジスタからそれぞれシフトアウトされた複数の出力を圧縮して該集積回路の外部へ出力する、少なくとも一つのＥＯＲ（排他的論理和）木回路と、
該ＥＯＲ木回路に入力される該複数の出力のうちの一つを有効にしうる制御回路とが組み込まれたことを特徴とする、集積回路。
【０１０７】
（付記２３）　該制御回路が、故障の発生したパターン番号を絞り込むべく、該パターン発生器によって発生された所定範囲のパターン番号のパターンに対応する、該シフトレジスタからの出力を有効化することを特徴とする、付記２２記載の集積回路。
（付記２４）　該パターン発生器によって発生された試験パターンを外部入力により修正してから該複数のシフトレジスタに入力するパターン修正器がさらに組み込まれたことを特徴とする、付記２２または付記２３に記載の集積回路。
【０１０８】
（付記２５）　該複数のシフトレジスタからの出力中の不定値をマスクする不定マスク器と、
該不定マスク器によってマスクされた出力結果を検証する出力検証器とがさらに組み込まれ、
該該出力検証器が、該ＥＯＲ木回路としての機能を果たすことを特徴とする、付記２２〜付記２４のいずれか一つに記載の集積回路。
【０１０９】
【発明の効果】
以上詳述したように、本発明の集積回路の診断装置および診断方法並びに集積回路によれば、複数のシフトレジスタからそれぞれシフトアウトされた複数の出力が、ハミング符号の検査ビットを用いて圧縮されて外部へ出力されるので、多数のスキャンパスの情報を少ない外部出力ピンで観測するしくみを提供することができ、ＢＩＳＴ等の試験を適用したＬＳＩの診断を少ない回路オーバーヘッドで実現できる。また、故障診断に際しては、テストパターン毎にテスタで期待値比較を行なう必要があるが、多数のスキャンパスの情報を圧縮して符号化しているので、ＤＳＰＴよりも高速な診断が可能になる。そして、スキャンパスからの出力が圧縮格納される場合や、スキャンパス数が多い場合であっても、集積回路の製造不良（故障）を検出するだけでなく、その発生位置を特定することができる（請求項１〜３，７，９）。
【０１１０】
また、複数のシフトレジスタからそれぞれシフトアウトされた複数の出力が一つずつ有効化され、有効化された出力が、ＥＯＲ（排他的論理和）木回路により圧縮されて外部へ順次出力されるので、ＢＩＳＴ等の試験を適用したＬＳＩの故障診断に際して、故障が存在する全てのスキャンパスを正しく特定することができる。従って、新しい製造プロセスの立ち上げ時で同時に多数の故障が存在する場合であっても正しく確実な故障診断を行なうことが可能である（請求項４〜６，８，１０）。
【０１１１】
このとき、パターン発生器によって発生された所定範囲のパターン番号のパターンに対応する、シフトレジスタからの出力を有効化して、故障診断を行なうことにより、故障の発生したパターン番号を絞り込み、スキャンパス上の故障箇所を特定することも可能になる。
【０１１２】
さらに、パターン発生器で発生した試験パターンをパターン修正器で修正して複数のシフトレジスタ（スキャンパス）に入力することにより、スキャンパス数を増やしスキャンパス段数を少なくして、集積回路の試験時間を大幅に短縮することができる。また、ＤＳＰＴおよびＢＩＳＴの問題点が解決され、両者の利点を生かした高品質なテストを短時間で可能とするテストパターンを生成することができる。その際、意味あるデータ部分（値を設定する必要のあるＦ／Ｆの情報）のみをテスタ（外部入力）から供給して修正するので、テスタに格納されるデータの量を大幅に削減することもできる。従って、設計者に厳しい設計規約を課すことなく、且つ、高価なテスタを必要とすることなく、高品質なテストを行なえる。
【０１１３】
また、集積回路内部の順序回路素子で形成した複数のシフトレジスタからの出力中の不定値をマスクし、マスクされた出力結果を出力検証器で検証することにより、順序回路素子からの出力結果を圧縮して外部に読み出しても、不定状態が圧縮結果を台無しにしてしまうことがなくなる。
【図面の簡単な説明】
【図１】本発明の第１実施形態としての集積回路の診断装置の構成を示すブロック図である。
【図２】第１実施形態における、ハミング符号の検査ビットを用いた圧縮手法（ハミング符号による誤り訂正例）を説明するための図である。
【図３】本発明の第２実施形態としての集積回路の診断装置の構成を示すブロック図である。
【図４】本発明の第３実施形態としての集積回路の診断装置の構成を示すブロック図である。
【図５】第３実施形態の動作を説明するためのタイムチャートである。
【図６】従来のスキャン設計（ＤＳＰＴ）を説明するための図である。
【図７】従来のＢＩＳＴ回路を説明するための図である。
【図８】パターン修正器および不定マスク器をそなえた集積回路の試験回路の構成を示すブロック図である。
【符号の説明】
１Ａ，１Ｂ，１Ｃ　ＬＳＩ（集積回路）
２　擬似乱数パターン発生器（パターン発生器，ＬＦＳＲ）
４　パターン修正器
５　不定マスク器
７　出力検証器（ＭＩＳＲ）
１０　出力圧縮器
１１〜２１　排他的論理和回路（ＥＯＲ回路）
３０　出力選択器
３１，３２　ＥＯＲ（排他的論理和）木回路
３３〜３８　排他的論理和回路（ＥＯＲ回路）
４０　制御回路
４１　デコーダ
４２〜４９　論理和回路（ＯＲ回路）
５１　デコーダ
５２，５３，５４　論理和回路（ＯＲ回路）
５５　論理積回路（ＡＮＤ回路）
５６　マルチプレクサ（制御回路）
５７　フリップフロップ（初期化設定Ｆ／Ｆ，制御回路）
５８　スタートカウンタ（制御回路）
５９　エンドカウンタ（制御回路）
６０　否定論理積回路（ＮＡＮＤ回路，制御回路）
６１　論理和回路（ＯＲ回路，制御回路）
６２　フリップフロップ（Ｆ／Ｆ）
Ｆ／Ｆ　フリップフロップ（順序回路素子）
【図１】
2004012420.tif 000003
【図２】
2004012420.tif 000004
【図３】
2004012420.tif 000005
【図４】
2004012420.tif 000006
【図５】
2004012420.tif 000007
【図６】
2004012420.tif 000008
【図７】
2004012420.tif 000009
【図８】
2004012420.tif 000010