(57)【要約】【課題】試験の品質を維持してテストデータを削減すること。【解決手段】複数のシフトレジスタ２００と、ランダムに生成したマスクパターンと制御信号とに基づいて、マスク対象となったシフトレジスタ２００の出力をマスクする不定マスク器２２０と、を備えたＬＳＩ１０５に、あらかじめ作成したＬＳＩ１０５用のテストデータを参照して、所定のテストパターンを入力する。このときのテストパターンに応じて、マスク対象とならなかったシフトレジスタ２００が不定値を出力する場合に、テストデータから不定マスク器２２０に対して当該シフトレジスタの出力をマスク対象とする制御信号を読み出して不定マスク器２２０を制御する。不定マスク器２２０から出力されるシフトレジスタ２００の出力値をＭＩＳＲ２３０で圧縮し、この出力値と、テストデータの出力期待値とをテスタが比較することにより、ＬＳＩ１０５の不良を検出する。【選択図】図２−１
2007322414.tif 000002
【特許請求の範囲】
【請求項１】
ランダムに生成したテストパターンを入力する複数のシフトレジスタと、
ランダムに生成したマスクパターンに基づいて、前記複数のシフトレジスタのうちマスク対象となったシフトレジスタの出力をマスクする不定マスク器と、を備え、
前記不定マスク器は、
前記複数のシフトレジスタのうち前記マスクパターンによりマスク対象とならなかったシフトレジスタが不定値を出力する場合に、制御信号に応じて個別に前記不定値をマスクすることを特徴とする半導体集積回路。
【請求項２】
前記不定マスク器は、
前記マスク対象となったシフトレジスタのうち故障値を出力するシフトレジスタが存在する場合に、制御信号に応じて前記故障値のマスクを解除することを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
請求項１または２に記載の半導体集積回路に関する設計データを記録したコンピュータに読み取り可能な記録媒体。
【請求項４】
ランダムに生成したテストパターンを入力する複数のシフトレジスタと、ランダムに生成したマスクパターンと制御信号とに基づいて、前記複数のシフトレジスタのうちマスク対象となったシフトレジスタの出力をマスクする不定マスク器と、当該不定マスク器によってマスクされた出力結果を検証する出力検証器と、を備えた半導体集積回路に関する設計データを用いてテストデータを生成するテストデータ生成装置であって、
前記半導体集積回路において前記マスクパターンによりマスク対象とならなかったシフトレジスタが不定値を出力する場合に、前記不定マスク器に対して当該シフトレジスタの出力をマスク対象とする制御信号を生成する生成手段と、
前記テストパターンのシフトに応じて、前記生成手段によって生成された制御信号と前記出力検証器から出力される出力期待値との組み合わせを、前記テストデータとして格納する格納手段と、
を備えることを特徴とするテストデータ生成装置。
【請求項５】
前記生成手段は、
前記複数のシフトレジスタのなかの前記マスク対象となったシフトレジスタのうち、故障値を出力するシフトレジスタが存在する場合に、当該故障値のマスクを解除する制御信号を生成することを特徴とする請求項４に記載のテストデータ生成装置。
【請求項６】
ランダムに生成したテストパターンを入力する複数のシフトレジスタと、ランダムに生成したマスクパターンと制御信号とに基づいて、前記複数のシフトレジスタのうちマスク対象となったシフトレジスタの出力をマスクする不定マスク器と、当該不定マスク器によってマスクされた出力結果を検証する出力検証器と、を備えた半導体集積回路と、
前記半導体集積回路において前記マスクパターンによって制御された不定マスク器をさらに個別に制御するための制御信号を生成する生成手段と、前記テストパターンのシフトに応じて、前記生成手段によって生成された制御信号と前記出力検証器から出力される出力期待値との組み合わせを、前記テストデータとして格納する格納手段と、を備えるテストデータ生成装置と、を用いて、前記半導体集積回路の不良試験をおこなうＬＳＩ試験装置であって、
前記テストパターンのシフトに応じて、前記マスク対象とならなかったシフトレジスタが不定値を出力する場合に、前記テストデータ生成装置によって生成されたテストデータから前記不定マスク器に対して当該シフトレジスタの出力をマスク対象とする制御信号を読み出し、前記不定マスク器に出力する制御手段と、
前記制御手段によって前記制御信号が出力された結果、前記出力検証器から出力される出力値と、前記テストデータの出力期待値とを比較して前記半導体集積回路の不良を検出する検出手段と、
を備えることを特徴とするＬＳＩ試験装置。
【請求項７】
前記制御手段は、
前記複数のシフトレジスタのなかの前記マスク対象となったシフトレジスタのうち、故障値を出力するシフトレジスタが存在する場合に、前記テストデータ生成装置によって生成されたテストデータから当該故障値のマスクを解除する制御信号を読み出し、前記不定マスク器に出力することを特徴とする請求項６に記載のＬＳＩ試験装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、製造不良を検出するための試験容易化回路を備えた半導体集積回路（ＬＳＩ）と、このＬＳＩの設計データを記録した記録媒体と、上述したＬＳＩを試験する際のテストデータを生成するテストデータ生成装置と、生成されたテストデータを利用してＬＳＩを試験するＬＳＩ試験装置とに関する。
【背景技術】
【０００２】
従来、半導体集積回路の製造不良の検出は、テスタ（ＡＴＥ；Ａｕｔｏｍａｔｉｃ  Ｔｅｓｔ  Ｅｑｕｉｐｍｅｎｔ）を用いて集積回路の入力ピンに適当な信号値を印加して、その出力ピンにあらわれる信号値を期待される結果と比較することでおこなわれる。この入力ピンの信号値と出力ピンの期待値を合わせてテストパターンと呼ばれ、集積回路が順序回路素子（フリップフロップ（以下、「Ｆ／Ｆ」という）、ラッチおよびＲＡＭ）を含む場合、このテストパターンの作成の複雑さは飛躍的に増大する。そこで、集積回路に対しては、ＤＳＰＴ（Ｄｅｔｅｒｍｉｎｉｓｔｉｃ  Ｓｔｏｒｅｄ  Ｐａｔｔｅｒｎ  Ｔｅｓｔ）と呼ばれるスキャン設計が広く採用されている。
【０００３】
図１０は、ＤＳＰＴを示す説明図である。ＤＳＰＴでは、自動テストパターン生成（ＡＴＰＧ；Ａｕｔｏｍａｔｉｃ  Ｔｅｓｔ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｏｒ）により作成したテストパターンＴＰ（入力パターンＴＰｉｎおよび出力パターンＴＰｏｕｔ）を不図示のテスタに格納する。
【０００４】
そして、集積回路１０００内部の順序回路素子（主にＦ／Ｆ）によりシフトレジスタを形成する。このシフトレジスタをスキャンパスＳＰと呼ぶ。図１０では、便宜上、４本のスキャンパスＳＰが形成されている。試験時に所望の入力パターンＴＰｉｎを入力ピン１００１からシフトインし、クロック印加後にシフトレジスタの値を出力ピン１００２から外部に読み出す。このように、ＤＳＰＴでは、集積回路１０００内部のスキャンパスＳＰを構成するすべての順序回路素子に対して、テストパターンＴＰごとに設定と読出しを繰り返す。
【０００５】
近年は、集積回路の集積度の増大に伴い、内部に含まれる順序回路素子が非常に多くなってきたため、上述したＤＳＰＴを適用することは、試験時間とテストデータ量の増大という点で問題が出てきた。そこで、組込み自己試験（ＢＩＳＴ；Ｂｕｉｌｔ−Ｉｎ  Ｓｅｌｆ−Ｔｅｓｔ）がおこなわれるようになってきた。
【０００６】
図１１は、上述したＢＩＳＴを示す説明図である。ＢＩＳＴでは集積回路１１００内部において、スキャンパスＳＰの入力側に擬似乱数パターン発生器１１０１を、出力側に出力検証器１１０２を備えている。ＢＩＳＴでは、入力ピン１１１１に所望の制御信号が与えられると、擬似乱数パターン発生器１１０１で発生されたパターンが集積回路１１００のスキャンパスＳＰに印加され、スキャンパスＳＰからの出力結果が出力検証器１１０２で検証・格納される。出力検証器１１０２では、スキャンパスＳＰからの出力結果が圧縮されて出力ピン１１１２から出力される。すなわち、この出力が期待値と一致するかどうかを検証することとなる。
【０００７】
擬似乱数パターン発生器１１０１および出力検証器１１０２には、リニアフィードバックシフトレジスタ（ＬＦＳＲ；Ｌｉｎｅａｒ  Ｆｅｅｄｂａｃｋ  Ｓｈｉｆｔ  Ｒｅｇｉｓｔｅｒ）が使われることが多く、特に出力検証器１１０２は、出力結果をシグネチャとして圧縮格納するため、マルチインプットシグネチャレジスタ（ＭＩＳＲ；Ｍｕｌｔｉｐｌｅ  Ｉｎｐｕｔ  Ｓｉｇｎａｔｕｒｅ  Ｒｅｇｉｓｔｅｒ）と呼ばれる。ＢＩＳＴでは、擬似乱数パターン発生器１１０１が集積回路１１００内部に搭載されているため極めて大量のテストパターンを短時間で発生でき、出力検証器（ＭＩＳＲ）１１０２により検査結果を圧縮するためテスタにロードするテストデータ量を圧倒的に削減できる。
【０００８】
ＢＩＳＴでは出力データの圧縮にＭＩＳＲが用いられ、その構成上一度でも不定状態をあらわす値（以下、「不定値」という）を取り込むと、ＭＩＳＲ内のすべてのレジスタが不定状態となって、試験不能となってしまう。一般に、集積回路内部のＲＡＭを含む順序回路素子は電源投入時には不定状態である。また、テスト不能な回路部分の出力を不定値として扱うことで自動テストパターン生成（ＡＴＰＧ）の処理の簡単化がなされるなど、不定状態を扱う必要がある。しかも、大量の不定状態に応じて出力される不定値に対処する必要がある場合も少なくない。
【０００９】
不定値への対処方法の一つとして、不定値をマスクするマスク回路がある。一般的にマスク回路は、一括マスク、個別マスク、乱数マスクの３種類の回路のいずれかを利用する。いずれのマスク回路を利用した場合にも、各々のマスク回路の動作に応じて異なる問題が生じてしまう。
【００１０】
図１２は、一括マスクの概要を示す回路図である。図１２では、不定マスク器１２０２が一括マスク回路により構成されている。一括マスク回路は、テスタ１３００から入力されるテストデータ（制御信号）に応じてすべてのスキャンパスＳＰを一括してマスクする。
【００１１】
また、図１３は、個別マスクの概要を示す回路図である。図１３では、不定マスク器１２０２が個別マスク回路により構成されている。個別マスク回路は、テスタ１３００から入力されるテストデータ（制御信号）によって複数のスキャンパスＳＰのうちの１本のスキャンパスＳＰをマスクする。個別マスク回路の場合、故障値をマスクすることなく不定値のみをマスクすることができるという利点がある。しかしながら、１箇所の不定値をマスクするごとに、１パターン分のテストデータを入力する必要がある。なお、この方法でマスクを行う手法として、ＢＡＳＴ（ＢＩＳＴ  Ａｉｄｅｄ  Ｓｃａｎ  Ｔｅｓｔ）技術が提案されている（例えば、下記特許文献１参照。）。
【００１２】
また、図１４は、乱数マスクの概要を示す回路図である。図１４では、不定マスク器１２０２が乱数マスク回路により構成されている。乱数マスク回路は、テスタ１３００から出力されたテストデータ（制御信号）が、マスク信号生成部１５００に入力される。マスク信号生成部１５００は、擬似ランダムパターン発生器と、制御回路から構成されている。このマスク信号生成部１５００では、擬似ランダムパターン発生器により発生させたパターンを制御回路により制御して、各スキャンパスＳＰに対するマスク信号を生成する。したがって、乱数マスクによって少ないテストデータ量でスキャンパスＳＰにマスクができる。  
【００１３】
【特許文献１】特開２００２−２３６１４４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、一括マスクの場合、少ないテストデータ量でマスクができるという利点がある。しかしながら、不定値をマスクするために故障の影響が到達しているＦ／Ｆの値（以下、「故障値」という）までマスクしてしまう場合がある。このように故障値をマスクしてしまうと、試験の品質が劣化してしまうという問題があった。
【００１５】
また、個別マスクの場合、集積回路の回路規模の増大に伴い、スキャンパスＳＰの数が増加する。したがって、１本のスキャンパスを特定するための１回当たりのデータ量が増加し、なおかつマスクする必要のあるスキャンパスＳＰの数も増加するため、１本のスキャンパスを特定するための１回当たりのデータ量×不定値数のスキャンデータが必要となる。結果として、不定マスク器１２０２をマスクするための多量なテストデータが必要になるという問題があった。
【００１６】
また、乱数マスクの場合、マスクに用いる乱数は、ランダムに発生したパターンであるため、すべての不定値をマスクすることは保障されていない。すなわち、マスク信号生成部１５００が生成したマスク信号によって不定値をマスクできなかった場合は、マスク信号のパターンを変える必要があるため、再度、あらたな乱数によりマスク信号を生成しなければならない。結果として、すべての不定値をマスクできるようなテストパターンを生成することは困難であり、品質の高い試験を提供できないという問題があった。
【００１７】
この発明は、上述した従来技術による問題点を解消するため、少ないテストデータで、高品質な試験を短時間で実行することのできる半導体集積回路、当該半導体集積回路の設計データを記録した記録媒体、テストデータ生成装置およびＬＳＩ試験装置を提供することを目的とする。
【課題を解決するための手段】
【００１８】
上述した従来技術による問題点を解消するため、本発明にかかる半導体集積回路は、ランダムに生成したテストパターンを入力する複数のシフトレジスタと、ランダムに生成したマスクパターンに基づいて、前記複数のシフトレジスタのうちマスク対象となったシフトレジスタの出力をマスクする不定マスク器と、を備え、前記不定マスク器は、前記複数のシフトレジスタのうち前記マスクパターンによりマスク対象とならなかったシフトレジスタが不定値を出力する場合に、制御信号に応じて個別に前記不定値をマスクすることを特徴とする。
【００１９】
この発明によれば、ＬＳＩ試験をおこなう際に、マスクパターンと、制御信号とを用いて不定マスク器のマスク処理を制御することができる。したがって、少ない情報量でシフトレジシタから不定値が出力されないように不定マスク器を制御することができる。
【００２０】
また、上記発明において、前記不定マスク器は、前記マスク対象となったシフトレジスタのうち故障値を出力するシフトレジスタが存在する場合に、制御信号に応じて前記故障値のマスクを解除してもよい。
【００２１】
この発明によれば、マスクパターンによって故障値がマスクされてしまっていたシフトレジスタに対して、マスク処理を解除することができる。したがって、シフトデジスタから出力された故障値をＬＳＩ試験に反映させることができる。
【００２２】
また、本発明にかかる記録媒体は、請求項１または２に記載の半導体集積回路に関する設計データをコンピュータに読み取り可能に記録したことを特徴とする。
【００２３】
この発明によれば、ソフトウェア上で試験容易化回路を搭載した半導体集積回路のＬＳＩ試験に用いるテストデータを生成するための回路シミュレーションを実行することができる。
【００２４】
また、本発明にかかるテストデータ生成装置は、ランダムに生成したテストパターンを入力する複数のシフトレジスタと、ランダムに生成したマスクパターンと制御信号とに基づいて、前記複数のシフトレジスタのうちマスク対象となったシフトレジスタの出力をマスクする不定マスク器と、当該不定マスク器によってマスクされた出力結果を検証する出力検証器と、を備えた半導体集積回路に関する設計データを用いてテストデータを生成するテストデータ生成装置であって、前記半導体集積回路において前記マスクパターンによりマスク対象とならなかったシフトレジスタが不定値を出力する場合に、前記不定マスク器に対して当該シフトレジスタの出力をマスク対象とする制御信号を生成する生成手段と、前記テストパターンのシフトに応じて、前記生成手段によって生成された制御信号と前記出力検証器から出力される出力期待値との組み合わせを、前記テストデータとして格納する格納手段と、を備えることを特徴とする。
【００２５】
この発明によれば、複数のシフトレジスタをマスクパターンによって複数のシフトレジスタのなかからランダムに選択されたシフトレジスタに対して一括してマスク処理を施す。そして、マスクパターンに基づいたマスク処理によって不定値を出力するシフトレジスタをマスクできなかった場合には、該当するシフトレジスタを個別にマスクするための制御信号を生成する。したがって、不定マスク器をＬＳＩ試験に適した状態に制御する制御信号を含んだテストデータを生成することができる。
【００２６】
また、上記発明において、前記生成手段は、前記複数のシフトレジスタのなかの前記マスク対象となったシフトレジスタのうち、故障値を出力するシフトレジスタが存在する場合に、当該故障値のマスクを解除する制御信号を生成してもよい。
【００２７】
この発明によれば、シフトレジスタから出力された故障値が不定マスク器によってマスクされてしまった場合であっても、故障値が出力されるようにシフトレジスタへのマスク処理を解除する制御信号を生成する。したがって、ＬＳＩ試験の際、故障値を漏らすことなく出力検証器に出力させるように不定マスク器を制御する制御信号を含んだテストデータを生成することができる。
【００２８】
また、本発明にかかるＬＳＩ試験装置は、ランダムに生成したテストパターンを入力する複数のシフトレジスタと、ランダムに生成したマスクパターンと制御信号とに基づいて、前記複数のシフトレジスタのうちマスク対象となったシフトレジスタの出力をマスクする不定マスク器と、当該不定マスク器によってマスクされた出力結果を検証する出力検証器と、を備えた半導体集積回路と、前記半導体集積回路において前記マスクパターンによって制御された不定マスク器をさらに個別に制御するための制御信号を生成する生成手段と、前記テストパターンのシフトに応じて、前記生成手段によって生成された制御信号と前記シフトレジスタから出力される出力期待値との組み合わせを、前記テストデータとして格納する格納手段と、を備えるテストデータ生成装置と、を用いて、前記半導体集積回路の不良試験をおこなうＬＳＩ試験装置であって、前記テストパターンのシフトに応じて、前記マスク対象とならなかったシフトレジスタが不定値を出力する場合に、前記テストデータ生成装置によって生成されたテストデータから前記不定マスク器に対して当該シフトレジスタの出力をマスク対象とする制御信号を読み出し、前記不定マスク器に出力する制御手段と、前記制御手段によって前記制御信号が出力された結果、前記出力検証器から出力される出力値と、前記テストデータの出力期待値とを比較して前記半導体集積回路の不良を検出する検出手段と、を備えることを特徴とする。
【００２９】
この発明によれば、複数のシフトレジスタをマスクパターンによって複数のシフトレジスタのなかからランダムに選択されたシフトレジスタに対して一括してマスク処理を施す。そして、マスクパターンによって不定値を出力するシフトレジスタをマスクできなかった場合には、制御信号によって個別にマスクを施す。したがって、ＬＳＩ試験の際、不定値の出力検証器への出力を防ぐことができる。
【００３０】
また、上記発明において、前記制御手段は、前記複数のシフトレジスタのなかの前記マスク対象となったシフトレジスタのうち、故障値を出力するシフトレジスタが存在する場合に、前記テストデータ生成装置によって生成されたテストデータから当該故障値のマスクを解除する制御信号を読み出し、前記不定マスク器に出力してもよい。
【００３１】
この発明によれば、シフトレジスタから出力された故障値が不定マスク器によってマスクされてしまった場合であっても、制御信号によって故障値が出力されるシフトレジスタへのマスク処理を解除する。したがって、ＬＳＩ試験の際、故障値を漏らすことなく出力検証器に出力させることができる。
【発明の効果】
【００３２】
本発明にかかる半導体集積回路、記録媒体、テストデータ生成装置およびＬＳＩ試験装置によれば、不定値をマスクし、故障値をすべて出力させることで、出力検証器により複数のシフトレジスタからの伝搬信号の高圧縮化を図ることができるとともに、故障に関する信号のマスク化を防止することで、出力検証器からの出力結果の高品質化を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００３３】
以下に添付図面を参照して、この発明にかかる半導体集積回路、記録媒体、テストデータ生成装置およびＬＳＩ試験装置の好適な実施の形態を詳細に説明する。
【００３４】
（ＬＳＩ試験システムの概要）
まず、ＬＳＩ試験システムの概要について説明する。図１−１は、ＬＳＩ試験システムの概要を示す概要図である。ＬＳＩ試験システム１００は、所定の仕様書１０１に沿って製造されたＬＳＩ１０５から不良品を検出するための試験をおこなうためのシステムである。ＬＳＩ試験システム１００は、情報処理装置１１０と、ＬＳＩ製造装置１２０と、テスタ１３０とから構成されている。ＬＳＩ試験システム１００では、上述の各装置を用い、設計・製造・試験の三段階の工程を経てＬＳＩ１０５を試験する。
【００３５】
情報処理装置１１０は、ＬＳＩ製造およびＬＳＩ試験のためのソフトウェアを実行させてＬＳＩ製造用データおよびＬＳＩ試験用のデータを生成する。すなわち、情報処理装置１１０は、ＬＳＩ試験システム１００における設計の工程を担う。具体的に説明すると、情報処理装置１００には、ＬＳＩ製造用ソフトウェアとして設計ツール１１１と、ＤＦＴ（Ｄｅｓｉｇｎ  Ｆｏｒ  Ｔｅｓｔ）ツール１１２とが格納され、ＬＳＩ試験用ソフトウェアとしてテストデータ生成ツール１１３が格納されている。
【００３６】
設計ツール１１１は、仕様書１０１に設定された要件に沿ったＬＳＩを製造するための設計データ１０２を生成する。なお、設計ツール１１１によって生成される設計データ１０２は、仕様書１０１により設定された要件を満たす処理をおこなうＬＳＩの設計データである。ＬＳＩ試験では、正常に動作しないＬＳＩを不良品として検出する。設計データ１０２を、特に「対象回路」の設計データとよぶ。
【００３７】
ＤＦＴツール１１２は、設計ツール１１１によって生成された設計データ１０２から、さらに試験容易化回路を含んだＬＳＩの設計データ１０３を生成する。試験容易化回路とは、対象回路の試験効率向上を目的として付加される回路である。具体的には、対象回路に試験用の入力値を入力するための処理回路や、対象回路からの出力結果を検証するための処理回路などを含んで構成されている。
【００３８】
本発明にかかるＬＳＩ試験システム１００の場合、ＬＳＩの試験容易化回路として、対象回路であるシフトレジスタへの入力値（テストパターン）を自動的に生成するパターン発生器と、シフトレジスタからの出力値を圧縮するＭＩＳＲと、ＭＩＳＲに不定値が入力されるのを防ぐための不定マスク器とが配置されている（試験容易化回路の詳細については後述する）。このように、ＤＦＴツール１１２は、対象回路に試験容易化回路を配置したＬＳＩを設計する。したがって、ＤＦＴツール１１２によって生成された設計データ１０３を、特に「対象回路＋試験容易化回路」の設計データとよぶ。
【００３９】
テストデータ生成ツール１１３は、設計データ１０３からＬＳＩ試験に用いるテストデータ１０４を生成する。テストデータ生成ツール１１３では、対象回路＋試験容易化回路の入出力シミュレーションが実行される。このシミュレーション結果から、設計データ１０３によって製造したＬＳＩの試験に利用するテストデータ１０４が生成される。
【００４０】
ここで、テストデータ１０４について説明する。本発明のＬＳＩ試験システム１００の場合、上述したように試験容易化回路には、自動的にテストパターンを生成させるパターン発生器が配置されている。また、シフトレジスタから不定値が出力される場合は、不定マスク器によって不定値がＭＩＳＲに入力されないようにマスクされる。したがって、テストデータ１０４は、上述の構成を制御してＬＳＩ試験に適した出力値を得るための、テストパターンのパターンシフトおよび各パターン時の不定マスク器の制御信号と、ＬＳＩ１０５からの出力値と比較するための出力期待値とにより構成されている。
【００４１】
ＬＳＩ製造装置１２０は、ＤＦＴツール１１２により生成された設計データ（対象回路＋試験容易化回路）１０３からＬＳＩ１０５を製造する。すなわち、ＬＳＩ製造装置１２０は、ＬＳＩ試験システム１００において製造の工程を担う。ＤＦＴツール１１２の説明の際に述べたように、設計データ１０３は、対象回路と、この対象回路を試験するための試験容易化回路とを含んだＬＳＩを製造するための設計データである。したがって、ＬＳＩ製造装置１２０によって製造されたＬＳＩ１０５は、対象回路と試験容易化回路とを含んでいる。また、上述したテストテータ生成ツール１１３において実行される回路シミュレーションは、ＬＳＩ製造装置１２０によって生成されたＬＳＩ１０５の処理が、ソフトウェア上で仮想的に実行されたこととなる。
【００４２】
テスタ１３０には、テストデータ生成ツール１１３によって生成されたテストデータ１０４が格納される。そして、テスタ１３０は、格納されたテストデータ１０４を参照してＬＳＩ１０５の不良試験をおこなう。すなわち、テスタ１３０は、ＬＳＩ試験システム１００において試験の工程を担う。
【００４３】
具体的に説明すると、テスタ１３０は、テストデータ１０４を参照して、ＬＳＩ１０５のパターン発生器によって生成させるテストパターンのパターンシフト指示と、テストパターンに応じた不定マスク器の制御信号とを入力する。そして、ＬＳＩ１０５では、パターン発生器から入力されたテストパターンと、不定マスク器のマスク処理に応じた出力値がＭＩＳＲによって圧縮され、出力値としてテスタ１３０に出力される。テスタ１３０は、ＬＳＩ１０５からの出力値と、テストデータ１０４の出力期待値とを比較した試験結果１０６を用いて、ＬＳＩ１０５に良品／不良品の判断を下す。
【００４４】
ここで、上述したＬＳＩ試験システム１００において、特にＬＳＩ１０５に対するＬＳＩ試験の手順について、シーケンス図を用いて説明する。図１−２は、ＬＳＩ試験システムによるＬＳＩ試験の手順を示すシーケンス図である。図１−２のシーケンス図において、まず、情報処理装置１１０のテストデータ生成ツール１１３は、設計データ（対象回路＋試験容易化回路）１０３を取得すると（ステップＳ２０１）、取得した設計データ１０３に基づいて、回路シミュレーションを実行する（ステップＳ２０２）。そして、ステップＳ２０２のシミュレーションからテストデータ１０４を生成する（ステップＳ２０３）。
【００４５】
テストデータ生成ツール１１３によって生成されたテストデータ１０４は、つぎに、テスタ１３０によってテストデータ１０４を用いてＬＳＩ１０５の試験をおこなう。まず、テストデータ生成ツール１１３によって生成されたテストデータを読み出す（ステップＳ２０４）。そして、テストデータ１０４を参照し、ＬＳＩ１０５の乱数発生器にパターンシフトを指示し、不定マスク器にテストパターンに応じた制御信号を出力する（ステップＳ２０５）。
【００４６】
ＬＳＩ１０５には、テスタ１３０から入力値として、パターンシフト指示と、制御信号とが入力される。これらの入力値に応答してＬＳＩ１０５のパターン発生器は、対象回路（シフトレジスタ）にテストパターンを入力するとともに、制御信号によって不定マスク器を制御する（ステップＳ２０６）。ＬＳＩ１０５では、ステップＳ２０５の処理によるテストパターンに応じた値が出力され、この出力値を圧縮する（ステップＳ２０７）。圧縮された出力値は、テスタ１３０に読み出される。
【００４７】
テスタ１３０は、ＬＳＩ１０５からの出力値を読み出して、テストデータ１０６に含まれている出力期待値と比較し、不良品検出をおこない（ステップＳ２０８）、一連のＬＳＩ試験の手順が終了する。
【００４８】
本発明のＬＳＩ試験システム１００は、以上説明したような手順によってＬＳＩ１０５の試験をおこなう。したがって、テストデータ生成ツール１１３によってテストデータ１０４を生成する情報処理装置１１０は、テストデータ生成装置として機能し、生成されたテストデータ１０４を用いてＬＳＩ１０５の試験をおこなうテスタ１３０は、ＬＳＩ試験装置として機能する。なお、テスタ１３０は、専用のハードウェアに限らず、テスタ１３０相当の処理を実行する専用のツールが格納された情報処理装置として実現されてもよい。
【００４９】
ここで、ＬＳＩ試験と試験容易化回路の要件について説明する。一般的に、ＬＳＩ試験装置のＭＩＳＲで圧縮されるスキャンパスの値で重要なのは、ＡＴＰＧのテストパターンで故障の影響が到達しているＦ／Ｆの値（以後、故障値と呼ぶ）である。ＡＴＰＧでは、一度でも検出した故障は取り除かれていくため、後のテストパターンでは故障値の割合は極端に少なくなる。
【００５０】
また、故障の影響が到達していないＦ／Ｆの値（以後、期待値と呼ぶ）は、不定値と同様にマスクしても問題ない。そこで、専用のパターン発生器（擬似ランダム・パターン・ジェネレータ／ＰＲＰＧ；Ｐｓｅｕｄｏ  Ｒａｎｄｏｍ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｏｒ）を用いてＭＩＳＲへの入力をマスクする回路を考える。この場合、確率的に半分のスキャンパスの値がマスクされるが、その中の不定値がマスクされ、故障値がマスクされないようにパターン発生器の値を修正する反転回路を付加する。反転回路内には各スキャンパスに対応したＦ／Ｆがあり、Ｆ／Ｆの値が１の場合にパターン発生器からのマスク状態を反転する。
【００５１】
このＦ／Ｆの設定は、外部入力から与えられる制御信号（コード）が用いられ、Ｎ本のスキャンパスの一つに対応したＦ／Ｆを設定するために、［ｌｏｇ2Ｎ］ビットであらわされるｋビットのコードを用いる。ただし、ｋは、ｌｏｇ2Ｎを下回らない最小の整数とする。故障値と不定値の割合は少なく、パターン発生器でマスク／ノーマスクの変更が必要となる場合も少ないため、外部より入力するコードを少なくすることができる。
【００５２】
ＢＩＳＴの出力検証器（特にＭＩＳＲ）を用いた場合、不定値のＭＩＳＲへの入力を防止することが重要であり、集積回路の構成によっては多量の不定状態に対処する必要がある。近年のＢＩＳＴとＡＴＰＧを組み合わせたテストデータ圧縮技術でも、不定状態のマスク機能が提案されているが、多量の不定状態を扱う場合にはその圧縮率が著しく悪くなることが分かっている。本発明の技術を用いることで、多量の不定状態でも圧縮率を損なうことなく不定値のマスクが可能となる。このような要件を考慮した試験容易化回路を配置した半導体集積回路ＬＳＩ試験の実施の形態について説明する。
【００５３】
（実施の形態）
つぎに、上述した要件を満たすＬＳＩ試験を実現するため試験容易化回路の構成について説明する。図２−１は、試験容易化回路を含んだＬＳＩの構成を示すブロック図である。図２−１のようにＬＳＩ１０５は、対象回路に該当するシフトレジスタのスキャンパス（ＳＰ）２００と、試験容易化回路に相当するＰＲＰＧ（パターン発生器）２１０と、不定マスク器２２０と、ＭＩＳＲ２３０とを含んで構成される。
【００５４】
ＬＳＩ１０５に配置された試験容易化回路において、ＰＲＰＧ２１０は、スキャンパス２００に入力するテストパターンを生成する。また、不定マスク器２２０は、スキャンパス２００からの出力のうち、マスク対象に指定されたスキャンパスの出力をマスクする。そして、ＭＩＳＲ２３０は、スキャンパス２００から出力された出力値を圧縮してテスタ１３０（図１参照）に出力する。なお、マスク対象となっているスキャンパス２００からはシフトレジスタを透過した出力値ではなく、固定値（たとえば、「１」）が出力される。
【００５５】
ここで、不定マスク器２２０の構成について説明する。図２−２は、不定マスク器の詳細な構成を示す回路図である。図２−２のように、不定マスク器２２０は、ＰＲＰＧ２２１と、ＥＸＯＲ回路２２２と、ＯＲ回路２２３と、修正部２２４とから構成されている。
【００５６】
ＰＲＰＧ２２１は、ランダムパターンを生成する。生成されたパターンはＥＸＯＲ回路２２２に出力される。通常時、修正部２２４からは「０」が出力されているため、ＰＲＰＧ２２１から「０」が出力されていれば、ＥＸＯＲ回路２２２からは、「０」が出力される。一方、ＰＲＰＧ２２１から「１」が出力されていれば、ＥＸＯＲ回路２２２からは、「１」が出力される。
【００５７】
ＯＲ回路２２３には、スキャンパス２００からの出力値と、ＥＸＯＲ２２２からの出力値とが入力される。すなわち、ＥＸＯＲ２２２から「１」が入力されていれば、スキャンパスからの入力にかかわらず、ＭＩＳＲ２３０には固定値「１」が出力され、マスクされた状態となる。また、修正部２２４には、テストパターンに応じて制御信号が入力される。
【００５８】
修正部２２４は、制御信号が入力されると、ＥＸＯＲ２２２に「１」が出力される。修正部２２４から「１」が入力された場合、ＥＸＯＲ２２２の出力は、修正部２２４から「０」が入力された場合の出力を反転させた値になる。すなわち、ＥＸＯＲ２２２からの出力「０→１」、「１→０」へ変化する。したがって、ＯＲ２２３への入力が反転することとなり、マスク状態のスキャンパス２００は、マスク状態が解除され、マスクされていなかったスキャンパス２００は、マスク状態となる。
【００５９】
本発明の実施の形態では、以上説明した構成の不定マスク器２２０を備えた試験容易化回路を用いてＬＳＩ試験を実行する。続いて、この発明の実施の形態にかかる試験容易化回路の具体的な動作例について説明する。図３−１は、本発明の実施の形態にかかる半導体集積回路の一部を示す回路図である。図３−１を用いて試験容易化回路の具体的な処理について説明する。図３−１に示したスキャンパス２００、不定マスク器２２０、出力検証器（ＭＩＳＲ）２３０は、それぞれ図１において説明した各構成を具体例である。
【００６０】
図３−１において、スキャンパスＳＰ１は不定値「Ｘ」をあらわす伝搬信号を出力し、スキャンパスＳＰ２は故障値「０／１」をあらわす伝搬信号を出力するとする。また、スキャンパスＳＰ３，ＳＰ４は、それぞれ固定値をあらわす伝搬信号が出力されているとする。なお、ＳＰ４においては出力がマスクされているが、固定値は故障検出とは無関係なため、マスクされていても問題ない。したがって、ＬＳＩ１０５では、スキャンパスＳＰ１の伝搬信号「Ｘ」をマスクするとともに、スキャンパスＳＰ２の伝搬信号「０／１」をマスクせずに、出力検証器２３０に出力する必要がある。
【００６１】
また、不定マスク器２２０は、専用のパターン発生器（ＰＲＰＧ）２２１と、ＰＲＰＧ２２１の出力値を反転する反転回路（ＥＸＯＲ、修正部）２２２、２２４と、スキャンパスＳＰ１〜ＳＰ４の出力値と反転回路２２２からの出力値との論理和を出力するＯＲ回路２２３と、から構成される。
【００６２】
そして、反転回路２２２、２２４は、外部（テスタ１３０）からの制御信号（コード）により値が設定されるＦ／Ｆ（初期状態は「０」）３１４と、当該Ｆ／Ｆ３１４からの出力値とＰＲＰＧ２２１からの出力値を入力するＸＯＲ回路３１５を備える。ＯＲ回路２２３は、このＸＯＲ回路３１５からの出力値とスキャンパスＳＰ１〜ＳＰ４からの出力値との論理和をとる。
【００６３】
このＯＲ回路２２３により、出力検証器２３０への入力となるスキャンパスＳＰ１〜ＳＰ４の出力は、ＰＲＰＧ２２１の出力値が１の場合マスクされる（図３−１中、ハッチング入りの矩形で表示）。ＰＲＰＧ２２１の出力値は擬似ランダムパターンなので、スキャンパスＳＰ１〜ＳＰ４の約半分はマスクされることになる。図３−１では、一番上のスキャンパスＳＰ１の伝搬信号「Ｘ（不定値）」はマスクされず、２番目のスキャンパスＳＰ２の伝搬信号「０／１（故障値）」がマスクされている。この場合、この２本のスキャンパスＳＰ１，ＳＰ２についてのマスク状態を反転させる必要があり、反転回路２２２、２２４内のＦ／Ｆ３１４を設定する制御信号が必要となる。
【００６４】
これらの制御信号は、テスタ１３０がテストデータ１０４を参照することによって入力される。図３−２は、修正後の不定マスク器２２０を示す回路図である。図３−２では、上述した２本のスキャンパスＳＰ１、ＳＰ２についてのマスク状態を反転させるために、スキャンパスＳＰ１，ＳＰ２についての反転回路２２２、２２４内のＦ／Ｆ３１４を「１」に設定する制御信号が入力されている。これにより、不定状態を確実にマスクし、故障の影響が伝搬している故障値をマスクせずに出力検証器２３０へ入力することができる。
【００６５】
図３−２のような修正をおこなうことにより、実施の形態にかかるＬＳＩ１０５は、不定値をマスクし、故障値をすべて出力させることができる。したがって、テスタ１３０を接続してＬＳＩ試験装置としてＬＳＩ試験をおこなう際には、出力検証器２３０により複数のシフトレジスタ２００からの伝搬信号の高圧縮化を図ることができる。さらに、不定マスク器２２０を制御し、故障に関する信号のマスク化を防止することで、出力検証器２３０からの出力結果の高品質化を図ることができる。
【００６６】
＜試験容易化回路の構成＞
つぎに、ＬＳＩ１０５に配置された試験容易化回路の構成について説明する。図４−１は、本実施の形態にかかるＬＳＩに配置された試験容易化回路の構成を示すブロック図である。図４−１のように、ＬＳＩ１０５は、スキャンパス２００と、ＰＲＰＧ２１０と、不定マスク器２２０と、出力検証器（ＭＩＳＲ）２３０と、マスク信号パターン発生器（ＰＲＰＧ）２２１とにより構成されている。
【００６７】
ＰＲＰＧ２１０は、試験回路であるスキャンパス２００へ入力するテストパターンを生成する。ＰＲＰＧ２１０により生成されたテストパターンは、スキャンパス入力信号ＳＩｎとしてスキャンパス（ＳＰ）２００に入力される。なお、一度に生成されるテストパターンは、各スキャンパス（ＳＰ）２００に１ビットずつ入力されるため、スキャンパス（ＳＰ）２２０の本数（ここではＮ本）と同数のビット数の値となる。したがってＰＲＰＧ２１０からはＮビットのスキャンパス入力信号ＳＩｎが出力されている。
【００６８】
スキャンパス（ＳＰ）２００に入力されたスキャンパス入力信号ＳＩｎは、各スキャンパスＳＰ（ＳＰ１〜ＳＰＮ）の回路構成に応じた処理が施され、Ｎビットのスキャンパス出力信号ＳＯｕｔとして出力される。
【００６９】
不定マスク器２２０は、Ｎ個の修正部により構成され、スキャンパス（ＳＰ）２００から入力されたスキャンパス出力信号ＳＯｕｔの１ビットごとに、そのまま透過させるか、スキャンパス出力信号ＳＯｕｔと無関係な固定値を出力させるかのいずれかの処理を施す。すなわち、不定マスク器２２０は、スキャンパス出力信号ＳＯｕｔへのマスク処理部として機能する。
【００７０】
不定マスク器２２０は、スキャンパス出力信号ＳＯｕｔへマスクをおこなう際、後述するマスク信号パターン発生器（ＰＲＰＧ）２２１から入力されたマスク信号Ｍに基づいて修正部を制御する。すなわち、マスク信号Ｍに基づいて、どの修正部がスキャンパス出力信号ＳＯｕｔをマスクするかが制御される。このようなマスク処理により、スキャンパス出力信号ＳＯｕｔとして不定値出力されていた場合に、この不定値が出力検証器２３０に出力されるのを防ぐことができる。したがって、不定マスク器２２０からは不定値がマスクされたＮビットのパターン出力信号ＰＯｕｔが出力される。
【００７１】
しかしながら、不定マスク器２３０は、初期状態では、ランダムに生成されたマスク信号Ｍに基づいて修正部のマスク処理が制御されているに過ぎない。マスク信号Ｍは、マスク信号発生器（ＰＲＰＧ）２２１によってランダムに発生させたパターンに過ぎず、そのままでは、不定値をマスクできなかったり、故障値をマスクしてしまったりと、精度の高いＬＳＩ試験をおこなうための出力結果を得ることができない場合がある。
【００７２】
そのために、不定マスク器２２０には、修正部の修正内容、すなわち、どこのパスをマスクし、どこのパスを透過させるかを調整する機能が備わっている。この機能を実現するのが、テスタ１３０から入力されるクロック信号ＣＬＫと制御信号ＣＴＬとである。クロック信号ＣＬＫは、所定の周期で同じ波形を繰り返す信号である。ＬＳＩ１０５において実行される各処理は、このクロック信号ＣＬＫに基づいておこなわれる。
【００７３】
また、制御信号ＣＴＬは、Ｎ本のスキャンパス（ＳＰ）２００のうちの指定したパスから出力されたスキャンパス出力信号ＳＯｕｔにマスクを施す、もしくはマスクを解除するかを指示する信号である。さらに、マスクを施す、あるいはマスクを解除する場合、スキャンパスのパターンシフト動作や、ＰＲＰＧ２１０、出力検証器（ＭＩＳＲ）２３０およびマスク信号パターン発生器（ＰＲＰＧ）２２１のシフト動作を行わないようにする必要がある。制御信号ＣＴＬはこれらの機能も実現する。従って、制御信号ＣＴＬは、パターンシフトやシフトを制御する１ビットの信号と、不定マスク器２２０のなかの修正部のアドレスをあらわす［ｌｏｇ2Ｎ］ビットの信号とから構成されたｋ（＝１＋［ｌｏｇ2Ｎ］）ビットの値から構成されている。
【００７４】
したがって、たとえばスキャンパス（ＳＰ）２００が４本の場合、２ビットの信号で各スキャンパス（ＳＰ）２００のアドレスをあらわせることから、制御信号ＣＴＬは、１＋２で３ビットの信号（ＣＴＬ０〜２）となる。また、スキャンパス（ＳＰ）２００が８本の場合、３ビットの信号で各スキャンパス（ＳＰ）２００のアドレスをあらわせることから、制御信号ＣＴＬは４ビットの信号（ＣＴＬ０〜３）となる。
【００７５】
この制御信号ＣＴＬの後半のアドレス部分により、指定した修正部の処理を反転させることができる。具体的には、マスク信号Ｍにより、不定値を出力しているにもかかわらず、マスクできなかったパスにマスクを施したり、故障値を出力しているにもかかわらずマスクしてしまっていたパスのマスクを解除したりと、修正部を調整することができる。
【００７６】
修正部の調整が終了すると、パターンシフトのための制御信号ＣＴＬがテスタ１３０から入力される。この制御信号ＣＴＬにより、制御ＣＬＫが有効になる。この制御ＣＬＫは、入力パターン発生器（ＰＲＰＧ）２１０へ入力される。ＰＲＰＧ２１０では、制御ＣＬＫが入力されると、テストパターンをシフトさせ、あらたなスキャンパス入力信号ＳＩｎとして、スキャンパス（ＳＰ）２００へ入力される。また、制御ＣＬＫは、ＰＲＰＧ２１０の他に、出力検証器２３０と、マスク信号パターン発生器２２１とに入力され、各機能部の処理内容でシフト動作がおこなわれる。なお、修正部の調整を行っている間、この制御ＣＬＫは機能しない。
【００７７】
出力検証器２３０は、不定マスク器２２０から出力されたパターン出力信号ＰＯｕｔを圧縮する。この圧縮の間隔は、上述した制御ＣＬＫの入力をトリガとする。圧縮されたデータはテスタ１３０に出力され、出力期待値と比較される。
【００７８】
マスク信号パターン発生器（ＰＲＰＧ）２２１は、不定マスク器２２０におけるマスクパターンをあらわすマスク信号Ｍを生成する。マスクパターンとは、Ｎ本のスキャンパスから出力されたスキャンパス出力信号ＳＯｕｔのうち、どのスキャンパス（ＳＰ）２２０の信号にマスクを施すかをあらわすパターンである。マスク信号パターン発生器（ＰＲＰＧ）２２１は、不定マスク器２２０からの制御ＣＬＫの入力をトリガに、マスク信号Ｍを生成して不定マスク器２２０に出力する。
【００７９】
ここで、マスク信号Ｍについて説明すると、マスク信号Ｍは、Ｎビットのバイナリーデータで構成されている。たとえば、スキャンパス（ＳＰ）２００が４本の場合は、「１０１０」などの４ビットのバイナリーデータによって構成されている。「１０１０」のマスク信号Ｍが不定マスク器２２０に入力された場合、修正部１〜４のうち、修正部１と修正部３においてマスクが施される。
【００８０】
また、マスク信号パターン発生器（ＰＲＰＧ）２２１は、上述したような擬似ランダムパターンが生成される。したがって、スキャンパス（ＳＰ）２００がＮ本の場合、初期状態では、マスク信号パターン発生器（ＰＲＰＧ）２２１からは、「１０１０１０…（Ｎビット）」が出力され、スキャンパス出力信号ＳＯｕｔの約半分はマスクされることになる。結果として、不定マスク器２２０において修正部の調整が必要となるパスは、従来の個別マスクと比較して格段に少なくなる。
【００８１】
＜テストデータ生成の手順＞
本実施の形態にかかるＬＳＩ１０５では、上述したように、パターンシフトを制御する制御信号と、不定マスク器２２０の修正箇所をあらわす制御信号と、によって構成されたテストデータ１０４がテスタ１３０から出力されている。このテストデータは、図１において説明したように、あらかじめテストデータ生成ツール１１３によって生成しておく必要がある。
【００８２】
したがって、つぎに、本実施の形態にかかるＬＳＩ１０５に対してテスタ１３０がＬＳＩ試験をおこなう際に利用するテストデータ１０４の生成の手順について説明する。テストデータ生成ツール１１３によってテストデータ１０４を生成するには、まず、ソフトウェア上に図４−１に示したＬＳＩ１０５を構成し、回路シミュレーションを実行する。
【００８３】
図４−２は、本実施の形態にかかるテストデータの生成手順を示すフローチャートである。テストデータ生成ツール１１３は、回路シミュレーションとして、図４−２フローチャートの各手順を実行する。図４−２のフローチャートにおいて、まず、入力パターン発生器（ＰＲＰＧ）２１０からスキャンパス（ＳＰ）２２０にＰＲＰＧ２１０によって生成されたテストパターンを入力する（ステップＳ４０１）。
【００８４】
つぎに、マスク信号パターン発生器２５０により、不定マスク器２２０に生成されたマスク信号Ｍを入力する（ステップＳ４０２）。そして、ステップＳ４０１によって入力されたテストパターンによって得られたスキャンパス出力と、ステップＳ４０２によって入力されたマスク信号Ｍとを比較して、不定マスク器２２０から不定値が出力されているか否かを判断する（ステップＳ４０３）。
【００８５】
ステップＳ４０３において、不定値が出力されていた場合は（ステップＳ４０３：Ｙｅｓ）、不定値を出力しているスキャンパス（ＳＰ）２００をマスクする制御信号を生成し（ステップＳ４０４）、ステップＳ４０５の処理に移行する。一方、不定値が出力されていない場合は（ステップＳ４０３：Ｎｏ）、そのままステップＳ４０５の処理に移行する。
【００８６】
つぎに、ステップＳ４０１によって入力されたテストパターンによって得られたスキャンパス出力と、ステップＳ４０２によって入力されたマスク信号Ｍとを比較して、故障値が不定マスク器２２０によりマスクされているか否かを判断する（ステップＳ４０５）。ここで、故障値がマスクされている場合は（ステップＳ４０５：Ｙｅｓ）、故障値を出力しているスキャンパス（ＳＰ）２００のマスクを解除する制御信号を生成する（ステップＳ４０６）。一方、故障値がマスクされていない場合は（ステップＳ４０５：Ｎｏ）、そのままステップＳ４０７の処理に移行する。
【００８７】
最後に、ステップＳ４０４もしくは、Ｓ４０６によって生成された制御信号をテストデータとしてパターンシフトと関連付けて格納し（ステップＳ４０７）、一連の処理を終了する。以上説明した処理を実行することにより、テストデータ生成ツール１１３は、ＬＳＩ１０５の試験容易化回路の構成に適用したテストデータ１０４を生成することができる。
【００８８】
生成された、テストデータ１０４は、上述したようにＬＳＩ試験の際に、図１−２にて説明したように、テスタ１３０に読み出され、ＬＳＩ試験に利用される。テストデータ１０４を参照すると、試験容易化回路の不定マスク器２２０は、適切なパスにのみマスクを施すことができる。このようなマスク処理により、出力結果に不定値が含まれ圧縮データが不定値となってしまうような事態を防ぎ、高品質なＬＳＩ試験をおこなうことができる。
【００８９】
つぎに、図４−１において説明した各機能部の実装例について説明する。図４−３は、試験容易化回路を含んだＬＳＩの実装例を示す回路図である。図４−３におけるＬＳＩ１０５は、１２８本の、スキャンパス（ＳＰ０〜ＳＰ１２７）２００がＬＳＩ試験の対象回路となる場合の実装例を示している。
【００９０】
図４−３のように、入力パターン発生器（ＰＲＰＧ）２１０と、マスク信号パターン発生器（ＰＲＰＧ）２２１とは、ＬＦＳＲ（リニアフィードバックシフトレジスタ）と、フェイズシフタ（位相調整器）とによって構成される。また、出力検証器（ＭＩＳＲ）２３０は、スペースコンパクタと、ＭＩＳＲとによって構成されている。
【００９１】
また、不定マスク器２２０は、Ｆ／Ｆと、ＯＲ回路と、２つのＡＮＤ回路とから反転回路３０１を構成している。この反転回路３０１に制御信号ＣＴＬからの反転指示が入力されることにより、マスク信号Ｍの値が反転する。したがって、マスクが施されていた場合であれば、マスクが解除され、スキャンパス（ＳＰ）２００から入力された値がそのまま出力される。反対に、マスクが施されていなければ、あらたにマスクが施され、固定値「１」が出力される。
【００９２】
＜制御信号ＣＴＬのコード＞
つぎに、テストデータ生成ツール１１３によって生成されたテストデータの制御信号ＣＬＴのコード内容について説明する。図５は、制御信号ＣＴＬのコード一覧である。図５の制御信号ＣＴＬは、図４−３に例示したような１２８本のスキャンパス（ＳＰ）２００を備えたＬＳＩ１０５の適用した制御信号ＣＴＬである。したがって、パターンシフトをあらわすＣＴＬ０と、スキャンパスＳＰのへのマスクを調整するＣＴＬ１〜７とによって構成されている。
【００９３】
ＣＴＬ０は、パターンシフト用の制御信号である。図５のようにＣＴＬ０の値が「０」の場合は、ＣＴＬ１〜７の値にかかわらず、スキャンパス（ＳＰ）２００のパターンシフトと、パターン発生器（ＰＲＰＧ）２１０、マスク信号パターン発生器２２１および出力検証器２３０のシフトがおこなわれる（５１１）。さらに、このパターンシフトにより、不定マスク器２２０内のすべてのＦ／Ｆの値が０にクリアされる。したがって、ＣＴＬ０＝０の制御信号ＣＴＬは、パターンシフトのタイミングに出力される。
【００９４】
一方、ＣＴＬ１〜７は、マスク信号修正用の制御信号ＣＴＬであり、不定マスク器２２０の修正部０〜修正部１２７のうち、マスクを調整する修正部Ｎのアドレスをあらわす。具体的には、「０００００００」は、スキャンパス０に対応する不定マスク器２２０内のＦ／Ｆを１にセットする（５１２）。このセットにより、修正部０のマスク処理が反転する。すなわち、該当するスキャンパス２００にマスクが施されていればマスクを解除し、マスクが施されていなければ、あらたにマスクを施す。
【００９５】
同様に、スキャンパス１に対応する不定マスク器２２０のマスクを調整する場合には、制御信号ＣＴＬとして「００００００１」を出力し（５１３）、スキャンパス１２７に対応する不定マスク器２２０のマスクを調整する場合には、制御信号ＣＴＬとして「１１１１１１１」を出力する（５１４）。当然のことながら、マスク信号修正用の制御信号ＣＴＬを有効にしたい場合は、ＣＴＬ０の値を「１」に設定する。
【００９６】
＜ＬＳＩ試験における不定マスク器調整例＞
つぎに、上述のように生成されたテストデータを用いてＬＳＩ試験をおこなう際に、具体的に制御信号ＣＴＬがどのように利用されるか、具体例を挙げて説明する。図６は、あるテストパターンが対象回路に入力された場合の試験容易化回路の初期状態を示す図表である。
【００９７】
図６の例では、ＰＲＰＧ２１０によって発生されたテストパターンがスキャンパス２００に入力され、スキャンパス２００を伝搬して出力されたスキャンパス出力信号ＳＯｕｔとして「０，Ｘ，Ｘ，１／０，０／１，…」の各信号が出力されている。また、このとき、マスク信号パターン発生器２２１からマスク信号Ｍとして「１，０，１，０，１，…」が出力されている。また、不定マスク器２３０内のＦ／Ｆ（修正部）は、初期状態であるため「０，０，０，０，０，…」となり無調整となっている。以上のような初期状態から、出力検証器２３０に出力されるパターン出力信号Ｐｏｕｔは、「１，Ｘ，１，１／０，１，…」となっている。
【００９８】
図６において、マスク信号Ｍは、スキャンパスＳＰ０，ＳＰ２，ＳＰ４をマスク対象と設定しているため、スキャンパスＳＰ０，ＳＰ２，ＳＰ４に対応するパターン出力信号Ｐｏｕｔがマスクされ固定値「１」を出力している。しかしながら、スキャンパス出力信号ＳＯｕｔのうち、スキャンパスＳＰ２は、不定値「Ｘ」を出力しているため、パターン出力信号Ｐｏｕｔとして「Ｘ」をＭＩＳＲ２３０に出力したくない。また、スキャンパスＳＰ３は、期待値「０／１」を出力しているため、パターン出力信号Ｐｏｕｔとして「０／１」をＭＩＳＲ２３０に出力して、ＬＳＩ試験に反映させたい。
【００９９】
図７は、テストデータとして格納されている制御信号ＣＴＬの一例を示すデータ列である。上述のような場合、テスタ１３０は、スキャンパス２００に入力されるテストパターンに応じて、図７のような制御信号（７０１、７０２）を読み出し不定マスク器２２０を制御する。
【０１００】
図６の初期状態から図７のようなテストデータ１０４を参照して、不定マスク器２２０を制御する手順を以下、図８、９を用いて順に説明する。
【０１０１】
まず、図８は、制御信号ＣＴＬによる第１段階処理を示す図表である。第１段階では、図７に示した制御信号（７０１）を用いて、スキャンパスＳＰ１のマスクを調整する。図６では、スキャンパスＳＰ１は、マスク信号Ｍが「０」に設定されているため、スキャンパスＳＰ１から出力された不定値をそのままパターン出力信号ＰＯｕｔとして出力してしまっていた。
【０１０２】
したがって、図７の１段目の制御信号ＣＴＬ「１００００００１」が入力される（７０１）。この制御信号ＣＴＬにより、不定マスク器２３０のＦ／Ｆ１の設定は１にセットされ、修正部１の出力が反転し、マスクが施される。したがって、図８のように、パターン出力信号ＰＯｕｔは、固定値（「１」）が出力される（８１０）。
【０１０３】
図９は、制御信号ＣＴＬによる第２段階処理を示す図表である。第２段階では、図７に示した制御信号（７０２）を用いて、スキャンパスＳＰ４のマスクの調整をおこなう。図６では、スキャンパスＳＰ４から出力されたスキャンパス出力信号ＳＯｕｔとして故障値「０／１」が出力されている。しかし、スキャンパスＳＰ４のパスには、マスク信号Ｍ「１」と設定され、したがって、図６のように初期状態では、故障値「０／１」がマスクされ、パターン出力信号ＰＯｕｔからは、「１」が出力されてしまっていた。
【０１０４】
そこで、故障値「０／１」をパターン出力信号ＰＯｕｔとして出力させるための処理をおこなう。具体的には、図７の２段目の制御信号ＣＴＬ「１００００１００」が入力される（７０２）。この制御信号ＣＴＬにより、不定マスク器２３０のＦ／Ｆ４の設定は１にセットされ、修正部４の出力が反転し、マスクが解除される。したがって、図９のようにパターン出力信号ＰＯｕｔとして故障値（「０／１」）が出力される（８２０）。
【０１０５】
以上説明した処理を、すべてのスキャンパスＳＰ（図４−１のＬＳＩ１０５の例ではスキャンパスＳＰ１２７）を対象に実行することにより、パターン出力信号ＰＯｕｔは、不定値を含まない出力結果となる。また、故障値をもれなく出力させていることから高品質のＬＳＩ試験をおこなうことができる。
【０１０６】
以上説明したように、本発明にかかる半導体集積回路、記録媒体、テストデータ生成装置およびＬＳＩ試験装置によれば、マスクパターンと、制御信号とによって、不定マスク器を制御することにより、試験の品質を保証しつつ、従来の個別マスク回路を使用する場合に比べて、テストデータ量のさらなる削減が期待できる。
【０１０７】
（付記１）ランダムに生成したテストパターンを入力する複数のシフトレジスタと、
ランダムに生成したマスクパターンに基づいて、前記複数のシフトレジスタのうちマスク対象となったシフトレジスタの出力をマスクする不定マスク器と、を備え、
前記不定マスク器は、
前記複数のシフトレジスタのうち前記マスクパターンによりマスク対象とならなかったシフトレジスタが不定値を出力する場合に、制御信号に応じて個別に前記不定値をマスクすることを特徴とする半導体集積回路。
【０１０８】
（付記２）前記不定マスク器は、
前記マスク対象となったシフトレジスタのうち故障値を出力するシフトレジスタが存在する場合に、制御信号に応じて前記故障値のマスクを解除することを特徴とする付記１に記載の半導体集積回路。
【０１０９】
（付記３）付記１または２に記載の半導体集積回路に関する設計データを記録したコンピュータに読み取り可能な記録媒体。
【０１１０】
（付記４）ランダムに生成したテストパターンを入力する複数のシフトレジスタと、ランダムに生成したマスクパターンと制御信号とに基づいて、前記複数のシフトレジスタのうちマスク対象となったシフトレジスタの出力をマスクする不定マスク器と、当該不定マスク器によってマスクされた出力結果を検証する出力検証器と、を備えた半導体集積回路に関する設計データを用いてテストデータを生成するテストデータ生成装置であって、
前記半導体集積回路において前記マスクパターンによりマスク対象とならなかったシフトレジスタが不定値を出力する場合に、前記不定マスク器に対して当該シフトレジスタの出力をマスク対象とする制御信号を生成する生成手段と、
前記テストパターンのシフトに応じて、前記生成手段によって生成された制御信号と前記出力検証器から出力される出力期待値との組み合わせを、前記テストデータとして格納する格納手段と、
を備えることを特徴とするテストデータ生成装置。
【０１１１】
（付記５）前記生成手段は、
前記複数のシフトレジスタのなかの前記マスク対象となったシフトレジスタのうち、故障値を出力するシフトレジスタが存在する場合に、当該故障値のマスクを解除する制御信号を生成することを特徴とする付記４に記載のテストデータ生成装置。
【０１１２】
（付記６）ランダムに生成したテストパターンを入力する複数のシフトレジスタと、ランダムに生成したマスクパターンと制御信号とに基づいて、前記複数のシフトレジスタのうちマスク対象となったシフトレジスタの出力をマスクする不定マスク器と、当該不定マスク器によってマスクされた出力結果を検証する出力検証器と、を備えた半導体集積回路と、
前記半導体集積回路において前記マスクパターンによって制御された不定マスク器をさらに個別に制御するための制御信号を生成する生成手段と、前記テストパターンのシフトに応じて、前記生成手段によって生成された制御信号と前記出力検証器から出力される出力期待値との組み合わせを、前記テストデータとして格納する格納手段と、を備えるテストデータ生成装置と、を用いて、前記半導体集積回路の不良試験をおこなうＬＳＩ試験装置であって、
前記テストパターンのシフトに応じて、前記マスク対象とならなかったシフトレジスタが不定値を出力する場合に、前記テストデータ生成装置によって生成されたテストデータから前記不定マスク器に対して当該シフトレジスタの出力をマスク対象とする制御信号を読み出し、前記不定マスク器に出力する制御手段と、
前記制御手段によって前記制御信号が出力された結果、前記出力検証器から出力される出力値と、前記テストデータの出力期待値とを比較して前記半導体集積回路の不良を検出する検出手段と、
を備えることを特徴とするＬＳＩ試験装置。
【０１１３】
（付記７）前記制御手段は、
前記複数のシフトレジスタのなかの前記マスク対象となったシフトレジスタのうち、故障値を出力するシフトレジスタが存在する場合に、前記テストデータ生成装置によって生成されたテストデータから当該故障値のマスクを解除する制御信号を読み出し、前記不定マスク器に出力することを特徴とする付記６に記載のＬＳＩ試験装置。
【０１１４】
（付記８）試験対象となる集積回路内部の順序回路素子により構成された複数のシフトレジスタに対しランダムなテストパターンを与えるパターン発生器と、
前記パターン発生器により前記テストパターンが与えられた複数のシフトレジスタからの伝搬信号が入力された場合、外部からの制御信号により当該伝搬信号のうち不定状態に関する信号をマスクするとともに、前記外部からの制御信号により前記伝搬信号のうち故障に関する信号をマスクせずに出力する不定マスク器と、
前記不定マスク器から出力された信号を圧縮する出力検証器と、
を備えることを特徴とするＬＳＩ試験装置。
【０１１５】
（付記９）ランダムに生成したテストパターンを入力する複数のシフトレジスタと、ランダムに生成したマスクパターンと制御信号とに基づいて、前記複数のシフトレジスタのうちマスク対象となったシフトレジスタの出力をマスクする不定マスク器と、当該不定マスク器によってマスクされた出力結果を検証する出力検証器と、を備えた半導体集積回路に関する設計データを用いてテストデータを生成するテストデータ生成方法であって、
前記半導体集積回路において前記マスクパターンによりマスク対象とならなかったシフトレジスタが不定値を出力する場合に、前記不定マスク器に対して当該シフトレジスタの出力をマスク対象とする制御信号を生成する生成工程と、
前記テストパターンのシフトに応じて、前記生成工程によって生成された制御信号と前記出力検証器から出力される出力期待値との組み合わせを、前記テストデータとして格納する格納工程と、
を含むことを特徴とするテストデータ生成方法。
【０１１６】
（付記１０）ランダムに生成したテストパターンを入力する複数のシフトレジスタと、ランダムに生成したマスクパターンと制御信号とに基づいて、前記複数のシフトレジスタのうちマスク対象となったシフトレジスタの出力をマスクする不定マスク器と、当該不定マスク器によってマスクされた出力結果を検証する出力検証器と、を備えた半導体集積回路と、
前記半導体集積回路において前記マスクパターンによって制御された不定マスク器をさらに個別に制御するための制御信号を生成する生成手段と、前記テストパターンのシフトに応じて、前記生成手段によって生成された制御信号と前記出力検証器から出力される出力期待値との組み合わせを、前記テストデータとして格納する格納手段と、を備えるテストデータ生成装置と、を用いて、前記半導体集積回路の不良試験をおこなうＬＳＩ試験方法であって、
前記テストパターンのシフトに応じて、前記マスク対象とならなかったシフトレジスタが不定値を出力する場合に、前記テストデータ生成装置によって生成されたテストデータから前記不定マスク器に対して当該シフトレジスタの出力をマスク対象とする制御信号を読み出し、前記不定マスク器に出力する制御信号出力工程と、
前記制御信号出力工程の結果、前記出力検証器から出力される出力値と、前記テストデータの出力期待値とを比較して前記半導体集積回路の不良を検出する検出工程と、
を含むことを特徴とするＬＳＩ試験方法。
【０１１７】
（付記１１）ランダムに生成したテストパターンを入力する複数のシフトレジスタと、ランダムに生成したマスクパターンと制御信号とに基づいて、前記複数のシフトレジスタのうちマスク対象となったシフトレジスタの出力をマスクする不定マスク器と、当該不定マスク器によってマスクされた出力結果を検証する出力検証器と、を備えた半導体集積回路に関する設計データを用いてテストデータを生成するテストデータ生成プログラムであって、
前記半導体集積回路において前記マスクパターンによりマスク対象とならなかったシフトレジスタが不定値を出力する場合に、前記不定マスク器に対して当該シフトレジスタの出力をマスク対象とする制御信号を生成させる生成工程と、
前記テストパターンのシフトに応じて、前記生成工程によって生成させた制御信号と前記出力検証器から出力される出力期待値との組み合わせを、前記テストデータとして格納させる格納工程と、
をコンピュータに実行させることを特徴とするテストデータ生成プログラム。
【０１１８】
（付記１２）ランダムに生成したテストパターンを入力する複数のシフトレジスタと、ランダムに生成したマスクパターンと制御信号とに基づいて、前記複数のシフトレジスタのうちマスク対象となったシフトレジスタの出力をマスクする不定マスク器と、当該不定マスク器によってマスクされた出力結果を検証する出力検証器と、を備えた半導体集積回路と、
前記半導体集積回路において前記マスクパターンによって制御された不定マスク器をさらに個別に制御するための制御信号を生成する生成手段と、前記テストパターンのシフトに応じて、前記生成手段によって生成された制御信号と前記出力検証器から出力される出力期待値との組み合わせを、前記テストデータとして格納する格納手段と、を備えるテストデータ生成装置と、を用いて、前記半導体集積回路の不良試験をおこなうＬＳＩ試験プログラムであって、
前記テストパターンのシフトに応じて、前記マスク対象とならなかったシフトレジスタが不定値を出力する場合に、前記テストデータ生成装置によって生成されたテストデータから前記不定マスク器に対して当該シフトレジスタの出力をマスク対象とする制御信号を読み出し、前記不定マスク器に出力させる制御信号出力工程と、
前記制御信号出力工程の結果、前記出力検証器から出力される出力値と、前記テストデータの出力期待値とを比較して前記半導体集積回路の不良を検出させる検出工程と、
をコンピュータに実行させることを特徴とするＬＳＩ試験プログラム。
【産業上の利用可能性】
【０１１９】
以上のように、本発明にかかる半導体集積回、記録媒体、テストデータ生成装置およびＬＳＩ試験装置は、半導体集積回路の製造不良の検出に有用である。
【図面の簡単な説明】
【０１２０】
【図１−１】本発明のＬＳＩ試験システムの概要を示す概要図である。
【図１−２】ＬＳＩ試験システムによるＬＳＩ試験の手順を示すシーケンス図である。
【図２−１】本発明にかかるＬＳＩ試験装置の構成を示すブロック図である。
【図２−２】ＬＳＩ試験装置の不定マスク器の構成を示す回路図である。
【図３−１】本実施の形態にかかる半導体集積回路の一部を示す回路図である。
【図３−２】修正後の不定マスク器２２０を示す回路図である。
【図４−１】本実施の形態にかかるＬＳＩに配置された試験容易化回路の構成を示すブロック図である。
【図４−２】本実施の形態にかかるテストデータの生成手順を示すフローチャートである。
【図４−３】試験容易化回路を含んだＬＳＩの実装例を示す回路図である。
【図５】制御信号ＣＴＬのコード一覧である。
【図６】あるテストパターンが対象回路に入力された場合の試験容易化回路の初期状態を示す図表である。
【図７】テストデータとして格納されている制御信号ＣＴＬの一例を示すデータ列である。
【図８】制御信号ＣＴＬによる第１段階処理を示す図表である。
【図９】制御信号ＣＴＬによる第２段階処理を示す図表である。
【図１０】ＤＳＰＴを示す説明図である。
【図１１】ＢＩＳＴを示す説明図である。
【図１２】一括マスクの概要を示す回路図である。
【図１３】個別マスクの概要を示す回路図である。
【図１４】乱数マスクの概要を示す回路図である。
【符号の説明】
【０１２１】
１００  ＬＳＩ試験システム
１１０  情報処理装置
１２０  ＬＳＩ製造装置
１３０  テスタ
１０５  ＬＳＩ
２００  シフトレジスタ（スキャンパス（ＳＰ））
２１０  パターン発生器（ＰＲＰＧ）
２２０  不定マスク器
２３０  出力検証器（ＭＩＳＲ）
２１１  マスク信号パターン生成器（ＰＲＰＧ）
【図１−１】
2007322414.tif 000003
【図１−２】
2007322414.tif 000004
【図２−１】
2007322414.tif 000005
【図２−２】
2007322414.tif 000006
【図３−１】
2007322414.tif 000007
【図３−２】
2007322414.tif 000008
【図４−１】
2007322414.tif 000009
【図４−２】
2007322414.tif 000010
【図４−３】
2007322414.tif 000011
【図５】
2007322414.tif 000012
【図６】
2007322414.tif 000013
【図７】
2007322414.tif 000014
【図８】
2007322414.tif 000015
【図９】
2007322414.tif 000016
【図１０】
2007322414.tif 000017
【図１１】
2007322414.tif 000018
【図１２】
2007322414.tif 000019
【図１３】
2007322414.tif 000020
【図１４】
2007322414.tif 000021