(57)【要約】【課題】故障検出率の高いテストパターンによるＢＩＳＴをより効率的かつ短時間でおこなうこと。【解決手段】ＬＦＳＲ１００は、主にＦ／Ｆを用いた４ビットのシフトレジスタが形成されている。また、先頭ビットと最終ビットとの排他的論理和を先頭ビットに帰還させるＥＯＲ回路が設けられており、これにより、最大周期を１５としたテストパターンを出力することができる。また、ＬＦＳＲ１００には、最大クロック数４、平均クロック数ｌｏｇ2４の制御信号の入力により、テストパターンの任意の位相変更をおこなうことができる位相変更回路が形成されている。これにより、ＬＦＳＲ１００は、ＡＴＰＧから自動生成されたテストパターンとのマッチングを考慮したテストパターンを、より少ないクロック数で出力することができる。【選択図】図１
2008218923.tif 000002
【特許請求の範囲】
【請求項１】
複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、
外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、
を備えることを特徴とする擬似乱数発生器。
【請求項２】
前記位相変更回路は、前記シフトレジスタのビット数をｉ（ｉ＝１〜ｎ）とした場合において、クロック数ｉの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの２i−１の位相変更をおこなうことを特徴とする請求項１に記載の擬似乱数発生器。
【請求項３】
複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、からなる擬似乱数発生器と、
前記擬似乱数発生器から出力されたテストパターンが入力される試験対象回路と、
を備えることを特徴とする半導体集積回路。
【請求項４】
請求項３に記載の半導体集積回路の設計データを記録したコンピュータ読み取り可能な記録媒体。
【請求項５】
複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、を備えた擬似乱数発生器を制御する擬似乱数発生器制御方法であって、
位相変更前のテストパターンおよびＡＴＰＧから出力されたＡＴＰＧパターンを取得する取得工程と、
前記取得工程によって取得されたＡＴＰＧパターンをブロック単位で抽出する抽出工程と、
前記抽出工程によって抽出されたブロックごとに、当該ブロックに含まれる信号列と一致する信号列を、前記位相変更前のテストパターンの中から検索する検索工程と、
前記検索工程によって検索された信号列に基づいて、前記擬似乱数発生器に出力する制御信号を決定する決定工程と、
前記決定工程によって決定された制御信号を、前記擬似乱数発生器に出力する出力工程と、
をコンピュータに実行させることを特徴とする擬似乱数発生器制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体集積回路の製造不良を検出するための組込自己試験（ＢＩＳＴ）に用いられる、擬似乱数発生器、半導体集積回路、該半導体集積回路の設計データを記録した記録媒体、擬似乱数発生器制御方法、擬似乱数発生器制御プログラム、該擬似乱数発生器制御プログラムを記録した記録媒体、および擬似乱数発生器制御装置に関する。
【背景技術】
【０００２】
近年、半導体集積回路試験の試験方法として、試験時間短縮などの目的から、擬似乱数発生器（以下、「ＬＦＳＲ（Ｌｉｎｅａｒ  Ｆｅｅｄｂａｃｋ  Ｓｈｉｆｔ  Ｒｅｇｉｓｔｅｒ）」という）を用いた組込自己試験（以下、「ＢＩＳＴ（ＢｉｌｔＩｎ  Ｓｅｌｆ  Ｔｅｓｔ）」という）が用いられている。
【０００３】
ここで、従来技術によるＬＦＳＲを利用した半導体集積回路について説明する。図１２は、従来技術によるＬＦＳＲの回路構成を示す説明図である。図１２に示すように、擬似乱数発生器（ＬＦＳＲ）１２００は、主にＦ／Ｆを用いた４ビットのシフトレジスタが形成されている。また、先頭ビットと最終ビットとの排他的論理和を先頭ビットに帰還させるＥＯＲ回路が設けられている。
【０００４】
この擬似乱数発生器（ＬＦＳＲ）１２００のように、ｎビットのシフトレジスタを擬似乱数発生器（ＬＦＳＲ）１２００として用いることにより、２n−１を最大周期とするテストパターンを出力することができる。たとえば、図１２に示すように、４ビットのシフトレジスタを用いた擬似乱数発生器（ＬＦＳＲ）１２００であれば、最大周期を１５としたテストパターンを出力することができる。そして、図１２に示すように、シフトレジスタの先頭ビットから順に“１１０１”のシード値が設定されている場合、擬似乱数発生器（ＬＦＳＲ）１２００は、テストパターン“１０１１００１０００１１・・・”を出力することができる。
【０００５】
また、図１３は、従来技術によるＬＦＳＲを備えた試験対象回路の回路構成を示す説明図である。図１３において、試験対象回路１３００は、図１２に示した擬似乱数発生器（ＬＦＳＲ）１２００、複数のＦ／Ｆからなるスキャンパス１３１０，１３２０，１３３０，１３４０、および出力検証器（ＭＩＳＲ）１３５０を備えて構成されている。
【０００６】
この試験対象回路１３００を用いてＢＩＳＴをおこなう場合、まず、外部からの制御信号の入力により、擬似乱数発生器（ＬＦＳＲ）１２００に対してシード値を設定する。そして、外部からの制御信号の入力により、擬似乱数発生器（ＬＦＳＲ）１２００に対して制御信号を与えると、擬似乱数発生器（ＬＦＳＲ）１２００から出力されたテストパターンが各スキャンパス１３１０〜１３４０の先頭Ｆ／Ｆに順次シフトインされる。続いて、システムクロックを与えることによって、Ｆ／Ｆに格納されているテストパターンが読み出され、各スキャンパス１３１０〜１３４０からの出力結果が、ＭＩＳＲ１３５０に圧縮格納される。
【０００７】
このように、試験対象回路１３００の内部に擬似乱数発生器（ＬＦＳＲ）１２００を設けたことにより、多数のテストパターンを用いた試験対象回路１３００のＢＩＳＴをおこなうことができるが、擬似乱数発生器（ＬＦＳＲ）１２００から出力されたテストパターンと、ＡＴＰＧ（Ａｕｔｏｍａｔｉｃ  Ｔｅｓｔ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｏｒ）から自動生成された故障検出率の高いテストパターンとのマッチングをどうおこなうかが問題になってくる。
【０００８】
そこで、ＬＦＳＲから出力されたテストパターンを外部からの制御信号の入力により修正する、またはＬＦＳＲに対するシード値を修正するなどによって、ＬＦＳＲから出力されたテストパターンとＡＴＰＧから自動生成された故障検出率の高いテストパターン（以下、「ＡＴＰＧパターン」という）とをマッチングさせる試験方法が考案されている。（たとえば、下記特許文献１および２参照。）。このような試験方法によれば、膨大な量のテストパターンを記憶させておくための大容量のメモリを必要とせずに、故障検出率の高いテストパターンによるＢＩＳＴを効率的かつ短時間でおこなうことができるものとされている。
【０００９】
【特許文献１】特開２００２−２３６１４４号公報
【特許文献２】特表２００３−５１８２４５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記特許文献１および２に記載の従来技術にあっては、テストパターンの修正に伴うコスト（クロック数）までは考慮されていないため、テストパターンの修正に伴うコストの観点からの試験時間を短縮することができなかった。
【００１１】
ここで、従来技術によるテストパターンのマッチング方法について説明する。図１４は、従来技術によるテストパターンのマッチング方法を示す説明図である。
【００１２】
たとえば、図１４に示すように、ＡＴＰＧパターンが“１０Ｘ１１００Ｘ１０・・・”の場合、（１）まず、擬似乱数発生器（ＬＦＳＲ）に対してシード値“１１０１”を設定する。このとき必要なクロック数は４である。これにより、テストパターンは“１０１１００１０００１１１１０・・・”に仮決定される。（２）つぎに、擬似乱数発生器（ＬＦＳＲ）を、ＡＴＰＧパターンとマッチングする４ビット分シフトさせる。このとき必要なクロック数は４である。
【００１３】
（３）続いて、擬似乱数発生器（ＬＦＳＲ）に対してシード値“０００１”を再設定する。このとき必要なクロック数は４である。（４）そして、擬似乱数発生器（ＬＦＳＲ）を、ＡＴＰＧパターンとマッチングする５ビット分シフトさせる。このとき必要なクロック数は５である。（５）さらに、擬似乱数発生器（ＬＦＳＲ）に対してシード値“０・・・”を再設定する。このとき必要なクロック数は４である。ここまでの処理（１）〜（５）に必要としたクロック数は２１である。
【００１４】
このように、４ビットのシフトレジスタに対して、シード値を再設定する場合は、少なくともクロック数４の制御信号を必要としていた。このため、テストパターンの修正に伴うコストの観点からの試験時間を短縮することができなかった。
【００１５】
この発明は、上述した従来技術による問題点を解消するため、膨大な量のテストパターンを記憶させておくための大容量のメモリを必要とせずに、故障検出率の高いテストパターンによるＢＩＳＴをより効率的かつ短時間でおこなうことができる擬似乱数発生器、半導体集積回路、該半導体集積回路の設計データを記録した記録媒体、擬似乱数発生器制御方法、擬似乱数発生器制御プログラム、該擬似乱数発生器制御プログラムを記録した記録媒体、および擬似乱数発生器制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上述した課題を解決し、目的を達成するため、第１の発明にかかる擬似乱数発生器は、複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、を備えることを特徴とする。
【００１７】
この発明によれば、外部からの制御信号の入力に応じて、任意のテストパターンを効率的に生成することができる。
【００１８】
また、上記発明において、前記位相変更回路は、前記シフトレジスタのビット数をｉ（ｉ＝１〜ｎ）とした場合において、クロック数ｉの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの２i−１の位相変更をおこなうこととしてもよい。
【００１９】
この発明によれば、外部からの限られたクロック数による制御信号の入力に応じて、任意のテストパターンを効率的に生成することができる。
【００２０】
また、第２の発明にかかる半導体集積回路は、複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、からなる擬似乱数発生器と、前記擬似乱数発生器から出力されたテストパターンが入力される試験対象回路と、を備えることを特徴とする。
【００２１】
この発明によれば、外部からの制御信号の入力に応じて効率的に生成された任意のテストパターンによる試験対象回路のテストをおこなうことができる。
【００２２】
また、第３の発明にかかる半導体集積回路は、複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、からなる擬似乱数発生器と、外部からの制御信号の入力に応じて、前記擬似乱数発生器から出力されたテストパターンを修正するテストパターン修正器と、前記テストパターン修正器によって修正されたテストパターンが入力される試験対象回路と、を備えることを特徴とする。
【００２３】
この発明によれば、外部からの制御信号の入力に応じてより効率的に生成された任意のテストパターンによる試験対象回路のテストをおこなうことができる。
【００２４】
また、第４の発明にかかる半導体集積回路は、複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、からなる擬似乱数発生器と、試験対象回路と、前記試験対象回路から出力された出力パターンの中の不定値を、前記擬似乱数発生器から出力されるテストパターンによりマスクする不定マスク器と、を備えることを特徴とする。
【００２５】
この発明によれば、外部からの制御信号の入力に応じて効率的に生成された任意のテストパターンにより不定値がマスクされた出力パターンを試験対象回路から出力することができる。
【００２６】
また、第５の発明にかかる半導体集積回路は、複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、からなる擬似乱数発生器と、試験対象回路と、外部からの制御信号の入力に応じて、前記擬似乱数発生器から出力されたテストパターンを修正するテストパターン修正器と、前記試験対象回路から出力された出力パターンの中の不定値を、前記テストパターン修正器によって修正されたテストパターンによりマスクする不定マスク器と、を備えたことを特徴とする。
【００２７】
この発明によれば、外部からの制御信号の入力に応じてより効率的に生成された任意のテストパターンにより不定値がマスクされた出力パターンを試験対象回路から出力することができる。
【００２８】
また、第６の発明にかかる記録媒体は、上記発明の設計データをコンピュータ読み取り可能に記録したことを特徴とする。
【００２９】
この発明によれば、上記発明の設計データをコンピュータに読み取らせ、設計データの編集や、上記発明のシミュレーションなどをコンピュータにより実行することができる。
【００３０】
また、第７の発明にかかる擬似乱数発生器制御方法、擬似乱数発生器制御プログラム、および擬似乱数発生器制御装置は、複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、を備えた擬似乱数発生器を制御する擬似乱数発生器制御方法、擬似乱数発生器制御プログラム、および擬似乱数発生器制御装置であって、位相変更前のテストパターンおよびＡＴＰＧから出力されたＡＴＰＧパターンを取得し、取得されたＡＴＰＧパターンをブロック単位で抽出し、抽出されたブロックごとに、当該ブロックに含まれる信号列と一致する信号列を、前記位相変更前のテストパターンの中から検索し、検索された信号列に基づいて、前記擬似乱数発生器に出力する制御信号を決定し、決定された制御信号を、前記擬似乱数発生器に出力することを特徴とする。
【００３１】
この発明によれば、任意のテストパターンをより効率的に生成させるべく、擬似乱数発生器を制御することができる。
【発明の効果】
【００３２】
本発明にかかる擬似乱数発生器、半導体集積回路、該半導体集積回路の設計データを記録した記録媒体、擬似乱数発生器制御方法、擬似乱数発生器制御プログラム、該擬似乱数発生器制御プログラムを記録した記録媒体、および擬似乱数発生器制御装置によれば、膨大な量のテストパターンを記憶させておくための大容量のメモリを必要とせずに、故障検出率の高いテストパターンによるＢＩＳＴをより効率的かつ短時間でおこなうことができるという効果を奏する。
【発明を実施するための最良の形態】
【００３３】
以下に添付図面を参照して、この発明にかかる擬似乱数発生器、半導体集積回路、該半導体集積回路の設計データを記録した記録媒体、擬似乱数発生器制御方法、擬似乱数発生器制御プログラム、該擬似乱数発生器制御プログラムを記録した記録媒体、および擬似乱数発生器制御装置の好適な実施の形態を詳細に説明する。
【００３４】
（実施の形態１）
まず、この発明の実施の形態１にかかる擬似乱数発生器の回路構成について説明する。図１は、この発明の実施の形態１にかかる擬似乱数発生器の回路構成を示す説明図である。
【００３５】
図１に示すように、ＬＦＳＲ１００は、主にＦ／Ｆ（Ｘ1〜ｘ4）を用いた４ビットのシフトレジスタが形成されている。また、先頭ビット（Ｘ4）と最終ビット（Ｘ1）との排他的論理和を先頭ビット（Ｘ4）に帰還させるＥＯＲ回路が設けられており、これにより、最大周期を１５としたテストパターンを出力することができる。
【００３６】
また、ＬＦＳＲ１００には、主にＥＯＲ回路およびマルチプレクサから構成され、外部から入力された制御信号により、上記シフトレジスタから出力されるテストパターン（以下、「テストパターン」という）の１５までの位相変更をおこなうことができる位相変更回路が形成されている。なお、図１においては、便宜上、一部の位相変更回路を省略している。
【００３７】
この位相変更回路は、クロック数１の制御信号が入力されることで、この制御信号に応じて、テストパターンの位相を、“１（２0）”、“２（２1）”、“４（２2）”、または“８（２3）”変更することができる構成となっている。
【００３８】
ここで、位相変更回路の決定方法について説明する。たとえば、図１に示した、ＬＦＳＲ１００のように、４ビットのＦ／Ｆ（Ｘ1〜Ｘ4）からなる位相変更回路の場合において、Ｆ／Ｆの値をＸ＝（Ｘ1，Ｘ2，Ｘ3，Ｘ4）としたとき、位相をｚ変更する回路は、以下に示す式（１）〜（３）によって決定される。
【００３９】
【数１】
2008218923.tif 000003
【００４０】
たとえば、位相を“２”変更する回路は、以下に示す式（４）によって表わされる。
【００４１】
【数２】
2008218923.tif 000004
たとえば、１行目の｛０，０，１，０｝は、Ｆ／Ｆ（Ｘ1）にＦ／Ｆ（Ｘ3）の値を設定する回路であることを示す。また、２行目の｛０，０，０，１｝は、Ｆ／Ｆ（Ｘ2）にＦ／Ｆ（Ｘ4）の値を設定する回路であることを示す。
【００４２】
また、３行目の｛１，０，０，１｝は、Ｆ／Ｆ（Ｘ3）にＦ／Ｆ（Ｘ1）とＦ／Ｆ（Ｘ4）との排他的論理和を設定する回路であることを示す。そして、４行目の｛１，１，０，１｝は、Ｆ／Ｆ（Ｘ4）にＦ／Ｆ（Ｘ1）とＦ／Ｆ（Ｘ2）とＦ／Ｆ（Ｘ4）との排他的論理和を設定する回路であることを示す。
【００４３】
この位相変更回路において、たとえば、図１に示すように、シフトレジスタの先頭ビットから順に“１１０１”のシード値が設定されている場合、ＬＦＳＲ１００は、テストパターン“１０１１００１０００１１・・・”を出力することができるが、仮にＡＴＰＧから自動生成されたテストパターンが“１１００１０００１１・・・”であった場合、両テストパターンはマッチングしない。
【００４４】
そこで、位相変更回路に対して位相を“２（２1）”変更する旨の制御信号を入力することで、ＬＦＳＲから出力されるテストパターンの位相を“２（２1）”変更して、テストパターン“１１００１０００１１・・・”を出力することができる。これにより、両テストパターンをマッチングさせることができる。
【００４５】
また、たとえば、テストパターンの位相を“１５”変更したい場合は、わずかクロック数４の制御信号（位相を“１”変更する制御信号、位相を“２”変更する制御信号、位相を“４”変更する制御信号、および位相を“８”変更する制御信号）を位相変更回路に入力すればよい。そして、たとえば、テストパターンの位相を“８”変更したい場合は、わずかクロック数１の制御信号（位相を“８”変更する制御信号）を位相変更回路に入力すればよい。
【００４６】
ここで、この発明の実施の形態１にかかる擬似乱数発生器によるテストパターンのマッチング方法を示す説明図である。図２は、この発明の実施の形態１にかかる擬似乱数発生器によるテストパターンのマッチング方法を示す説明図である。
【００４７】
たとえば、図２に示すように、ＡＴＰＧパターンが“１０Ｘ１１００Ｘ１０・・・”の場合、（１）まず、擬似乱数発生器（ＬＦＳＲ）に対してシード値“１１０１”を設定する。このとき必要なクロック数は４である。これにより、テストパターンは“１０１１００１０００１１１１０・・・・”に仮決定される。（２）つぎに、擬似乱数発生器（ＬＦＳＲ）を、ＡＴＰＧパターンとマッチングする４ビット分シフトさせる。このとき必要なクロック数は４である。
【００４８】
（３）続いて、擬似乱数発生器（ＬＦＳＲ）の設定値が“０００１”となるように、位相変更回路に対して位相を“２”変更する旨の制御信号を入力することで、擬似乱数発生器（ＬＦＳＲ）から出力されるテストパターンの位相を“２”変更する。このとき必要なクロック数は１である。（４）そして、擬似乱数発生器（ＬＦＳＲ）を、ＡＴＰＧパターンとマッチングする５ビット分シフトさせる。このとき必要なクロック数は５である。
【００４９】
（５）さらに、擬似乱数発生器（ＬＦＳＲ）の設定値が“０・・・”となるように、位相変更回路に対して位相を“３”変更する旨の制御信号を入力することで、擬似乱数発生器（ＬＦＳＲ）から出力されるテストパターンの位相を“３”変更する。このとき必要なクロック数は２である。ここまでの処理（１）〜（５）に必要としたクロック数は１６である。このように、図１４を用いて説明した従来技術によるテストパターンのマッチング方法（常にクロック数４を必要とするシード値の再設定をおこなう方法）よりも、“５”少ない信号数で同様の処理をおこなうことができる。
【００５０】
このように、この発明の実施の形態１にかかる擬似乱数発生器（ＬＦＳＲ１００）は、４ビットシフトレジスタから出力されるテストパターンの任意の位相変更を、最大クロック数４、平均クロック数ｌｏｇ2４の制御信号の入力によりおこなうことができる位相変更回路を備えたことにより、ＡＴＰＧパターンとのマッチングを考慮したテストパターンを、より少ないクロック数で出力することができる。そして、この擬似乱数発生器（ＬＦＳＲ１００）を試験対象回路に組み込むことによって、膨大な量のテストパターンを記憶させておくための大容量のメモリを必要とせずに、故障検出率の高いテストパターンによるＢＩＳＴをより効率的かつ短時間でおこなうことができる。
【００５１】
（実施の形態２）
つぎに、この発明の実施の形態２にかかる擬似乱数発生器の回路構成について説明する。図３は、この発明の実施の形態２にかかる擬似乱数発生器の回路構成を示す説明図である。
【００５２】
図３に示すＬＦＳＲ３００は、図１（実施の形態１）に示したＬＦＳＲ１００と同様に、主にＦ／Ｆを用いた４ビットのシフトレジスタが形成され、また、先頭ビットと最終ビットとの排他的論理和を先頭ビットに帰還させるＥＯＲ回路が設けられており、これにより、最大周期を１５としたテストパターンを出力することができる。
【００５３】
この、ＬＦＳＲ３００にも、図１（実施の形態１）に示したＬＦＳＲ１００と同様に、主にＥＯＲ回路およびマルチプレクサから構成され、外部から入力された制御信号により、上記テストパターンの任意の位相変更をおこなうことができる位相変更回路が形成されている。
【００５４】
ここで、ＬＦＳＲ３００に形成されている位相変更回路は、１制御信号が入力されることで、この制御信号に応じたビットの値を反転することによって、テストパターンの位相を任意に変更することができる構成となっている。
【００５５】
たとえば、図３に示すように、シフトレジスタの先頭ビットから順に“１１０１”のシード値が設定されている場合、ＬＦＳＲ３００は、テストパターン“１０１１００１０００１１・・・”を出力することができるが、仮にＡＴＰＧパターンが“１１００１０００１１・・・”であった場合、両パターンはマッチングしない。
【００５６】
そこで、位相変更回路に対して、先頭ビット、２番目のビット、および３番目のビットを反転する旨の制御信号（計３制御信号）を入力して、シフトレジスタのシード値を“００１１”に変更することで、ＬＦＳＲ３００から出力されるテストパターンの位相を“２”変更したことになり、テストパターン“１１００１０００１１・・・”を出力することができる。これにより、両パターンをマッチングさせることができる。
【００５７】
このように、この発明の実施の形態２にかかる擬似乱数発生器（ＬＦＳＲ３００）は、任意のビット値を反転することによって、４ビットシフトレジスタから出力されるテストパターンの任意の位相変更を、最大クロック数４、平均クロック数ｌｏｇ2４の制御信号の入力によりおこなうことができる位相変更回路を備えたことにより、ＡＴＰＧパターンとのマッチングを考慮したテストパターンを、より少ないクロック数、かつより少ない回路オーバヘッドで出力することができる。そして、この擬似乱数発生器（ＬＦＳＲ３００）を試験対象回路に組み込むことによって、膨大な量のテストパターンを記憶させておくための大容量のメモリを必要とせずに、故障検出率の高いテストパターンによるＢＩＳＴをより効率的かつ短時間でおこなうことができる。
【００５８】
（実施の形態３）
（半導体集積回路の回路構成）
つぎに、この発明の実施の形態３にかかる半導体集積回路の回路構成について説明する。図４、図５および図６は、この発明の実施の形態３にかかる半導体集積回路の回路構成を示す説明図である。
【００５９】
図４、図５および図６において、試験対象回路４００は、入力乱数発生器（ＬＦＳＲ）４１０と、パターン修正回路４２０と、複数のＦ／Ｆからなるスキャンパス４３１，４３２，４３３，４３４と、出力乱数発生器（ＬＦＳＲ）４４０と、不定マスク回路４５０と、出力検証器（ＭＩＳＲ）４６０と、を備えて構成されている。
【００６０】
入力乱数発生器（ＬＦＳＲ）４１０は、図１または図３に示した擬似乱数発生器と同様に、４ビットのシフトレジスタおよびこのシフトレジスタから出力されるテストパターンを変更する位相変更回路などによって構成され、これにより、テストパターンを生成する。また、入力乱数発生器（ＬＦＳＲ）４１０は、上記構成としたことで、図８を用いて後述する擬似乱数発生器制御装置８００からの制御信号の入力により、生成するテストパターンの位相を任意に変更することができる。
【００６１】
パターン修正回路４２０は、入力乱数発生器（ＬＦＳＲ）４１０から出力されたテストパターンを擬似乱数発生器制御装置８００からの制御信号の入力により反転するＥＯＲ回路などによって構成され、これにより、擬似乱数発生器制御装置８００からの制御信号の入力により、入力乱数発生器（ＬＦＳＲ）４１０から出力されたテストパターンを修正してから各スキャンパス４３１〜４３４の先頭Ｆ／Ｆに入力する。
【００６２】
出力乱数発生器（ＬＦＳＲ）４４０は、図１または図３に示した擬似乱数発生器と同様に、４ビットのシフトレジスタおよびこのシフトレジスタから出力されるテストパターンを変更する位相変更回路などによって構成され、これにより、各スキャンパス４３１〜４３４から出力された不定値を可能な限りマスクするためのランダムパターン（以下、「不定マスクパターン」という）を生成する。また、出力乱数発生器（ＬＦＳＲ）４４０は、上記構成としたことで、擬似乱数発生器制御装置８００からの制御信号の入力により、生成する不定マスクパターンの位相を任意に変更することができる。
【００６３】
不定マスク回路４５０は、出力乱数発生器（ＬＦＳＲ）４４０から出力された不定マスクパターンを擬似乱数発生器制御装置８００からの制御信号の入力により反転するＥＯＲ回路や、出力乱数発生器（ＬＦＳＲ）４４０から出力された不定マスクパターンにより各スキャンパス４３１〜４３４から出力された出力パターン（以下、「テスト結果パターン」という）に含まれる不定値をマスクするＯＲ回路などによって構成され、これにより、擬似乱数発生器制御装置８００からの制御信号の入力により、出力乱数発生器（ＬＦＳＲ）４４０から出力された不定マスクパターンを修正してから、修正された不定マスクパターンを用いて、各スキャンパス４３１〜４３４から出力された不定値を所定の固定値へ変換、すなわちマスクする。そのうえで、不定値がマスクされた各スキャンパス４３１〜４３４からの出力結果を出力検証器（ＭＩＳＲ）４６０へ圧縮格納する。
【００６４】
（制御信号の一例）
ここで、入力乱数発生器（ＬＦＳＲ）４１０、パターン修正回路４２０、出力乱数発生器（ＬＦＳＲ）４４０、および不定マスク回路４５０に入力される制御信号の一例について説明する。図７は、この発明の実施の形態３にかかる半導体集積回路に用いられる制御信号の一例を示す説明図である。図７に示すように、制御信号“０ｘｘ”は、入力乱数発生器（ＬＦＳＲ）４１０または出力乱数発生器（ＬＦＳＲ）４４０への制御信号であり、一方、制御信号“１ｘｘ”は、パターン修正回路４２０または不定マスク回路４５０への制御信号である。
【００６５】
このような制御信号は、擬似乱数発生器制御装置８００がおこなう擬似乱数発生器制御処理によって決定され、擬似乱数発生器制御装置８００から出力される。そして、このような制御信号が入力された入力乱数発生器（ＬＦＳＲ）４１０、パターン修正回路４２０、出力乱数発生器（ＬＦＳＲ）４４０、および不定マスク回路４５０においては、入力された制御信号に基づく、入力乱数発生器（ＬＦＳＲ）４１０からのテストパターンまたは出力乱数発生器（ＬＦＳＲ）４４０からの不定マスクパターンの修正処理がおこなわれる。
【００６６】
これにより、入力乱数発生器（ＬＦＳＲ）４１０からのテストパターンとＡＴＰＧパターンとのマッチング、または、出力乱数発生器（ＬＦＳＲ）４４０からの不定マスクパターンと各スキャンパス４３１〜４３４からのテスト結果パターンとのマッチングをおこなうことができる。なお、擬似乱数発生器制御装置８００による擬似乱数発生器制御処理の手順については、図１０を用いて後述する。
【００６７】
（擬似乱数発生器制御装置のハードウェア構成）
つぎに、この発明の実施の形態３にかかる擬似乱数発生器制御装置のハードウェア構成について説明する。図８は、この発明の実施の形態３にかかる擬似乱数発生器制御装置のハードウェア構成を示す説明図である。
【００６８】
図８において、擬似乱数発生器制御装置８００は、コンピュータ本体８１０と、入力装置８２０と、出力装置８３０と、から構成されており、不図示のルータやモデムを介してＬＡＮ，ＷＡＮやインターネットなどのネットワーク８４０に接続可能である。
【００６９】
コンピュータ本体８１０は、ＣＰＵ，メモリ，インターフェースを有する。ＣＰＵは、擬似乱数発生器制御装置８００の全体の制御を司る。メモリは、ＲＯＭ，ＲＡＭ，ＨＤ，光ディスク８１１，フラッシュメモリから構成される。メモリはＣＰＵのワークエリアとして使用される。
【００７０】
また、メモリには各種プログラムが格納されており、ＣＰＵからの命令に応じてロードされる。ＨＤおよび光ディスク８１１はディスクドライブによりデータのリード／ライトが制御される。また、光ディスク８１１およびフラッシュメモリはコンピュータ本体８１０に対し着脱自在である。インターフェースは、入力装置８２０からの入力、出力装置８３０への出力、ネットワーク８４０に対する送受信の制御をおこなう。
【００７１】
また、入力装置８２０としては、キーボード８２１、マウス８２２、スキャナ８２３などがある。キーボード８２１は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式であってもよい。マウス８２２は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。スキャナ８２３は、画像を光学的に読み取る。読み取られた画像は画像データとして取り込まれ、コンピュータ本体８１０内のメモリに格納される。なお、スキャナ８２３にＯＣＲ機能を持たせてもよい。
【００７２】
また、出力装置８３０としては、ディスプレイ８３１、スピーカ８３２、プリンタ８３３などがある。ディスプレイ８３１は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。また、スピーカ８３２は、効果音や読み上げ音などの音声を出力する。また、プリンタ８３３は、画像データや文書データを印刷する。
【００７３】
（擬似乱数発生器制御装置の機能的構成）
つぎに、この発明の実施の形態３にかかる擬似乱数発生器制御装置８００の機能的構成について説明する。図９は、この発明の実施の形態３にかかる擬似乱数発生器制御装置８００の機能的構成を示すブロック図である。
【００７４】
図９において、擬似乱数発生器制御装置８００は、取得部９０１と、抽出部９０２と、検索部９０３と、決定部９０４と、出力部９０５と、から構成されている。
【００７５】
取得部９０１は、入力乱数発生器（ＬＦＳＲ）４１０による位相変更前のテストパターンおよびＡＴＰＧから出力されたＡＴＰＧパターン、または、出力乱数発生器（ＬＦＳＲ）４４０による位相変更前のテストパターンおよび各スキャンパス４３１〜４３４から出力されたテスト結果パターンを取得する。具体的には、たとえば図８を用いて説明したメモリなどの記録媒体から、上記各パターンを読み取る。これらのパターンは、擬似乱数発生器制御装置８００によって生成されたものであってもよいし、別の装置によって生成されたものであってもよい。
【００７６】
なお、取得部９０１は、擬似乱数発生器制御装置８００と接続された別の装置から上記各パターンを取得するようにしてもよい。取得部９０１は、具体的には、たとえば図８を用いて説明したコンピュータ本体８１０が有するインターフェースなどによってその機能を実現する。
【００７７】
抽出部９０２は、取得部９０１によって取得されたＡＴＰＧパターンまたはテスト結果パターンをブロック単位で抽出する。（すわなち、ブロック化する）たとえば、抽出部９０２は、取得されたＡＴＰＧパターンまたはテスト結果パターンを、規定数を超えない範囲でブロック化する。
【００７８】
たとえば、抽出部９０２は、入力乱数発生器（ＬＦＳＲ）４１０または出力乱数発生器（ＬＦＳＲ）４４０のＦ／Ｆのビット数が４ビットの場合、上記規定数を“４”とする。そして、抽出部９０２は、“０”または“１”が設定されているビット数（すなわち、“Ｘ”以外のビット数）が“４”を超えない範囲で、ＡＴＰＧパターンまたはテスト結果パターンブロック化する。
【００７９】
抽出部９０２は、具体的には、たとえば図８に示したコンピュータ本体８１０が有するメモリに記憶されたプログラムをＣＰＵが実行することによってその機能を実現する。また、抽出部９０２によって抽出されたデータは、たとえば図８に示したコンピュータ本体８１０が有するメモリに一時的に記録される。
【００８０】
検索部９０３は、抽出部９０２によって抽出されたブロックごとに、当該ブロックに含まれる信号列と近似（または一致）する信号列を、取得部９０１によって取得された入力乱数発生器（ＬＦＳＲ）４１０または出力乱数発生器（ＬＦＳＲ）４４０による位相変更前のテストパターンの中から検索する。
【００８１】
ここで、検索部９０３は、ＡＴＰＧパターンまたはテスト結果パターンとの非マッチングビット数が最小となり、かつ入力乱数発生器（ＬＦＳＲ）４１０または出力乱数発生器（ＬＦＳＲ）４４０による位相変更量が最小となるテストパターンを検索する。また、検索部９０３は、抽出部９０２によってＡＴＰＧパターンまたはテスト結果パターンがブロックされた場合、このブロックごとに、上記検索処理をおこなう。
【００８２】
検索部９０３は、具体的には、たとえば図８に示したコンピュータ本体８１０が有するメモリに記憶されたプログラムをＣＰＵが実行することによってその機能を実現する。また、検索部９０３によって検索されたデータは、たとえば図８に示したコンピュータ本体８１０が有するメモリに一時的に記録される。
【００８３】
決定部９０４は、検索部９０３によって検索された信号列に基づいて、図７に示した制御信号の中から、入力乱数発生器（ＬＦＳＲ）４１０または出力乱数発生器（ＬＦＳＲ）４４０に出力する制御信号を決定する。決定部９０４は、具体的には、たとえば図８に示したコンピュータ本体８１０が有するメモリに記憶されたプログラムをＣＰＵが実行することによってその機能を実現する。また、決定部９０４によって決定されたデータは、たとえば図８に示したコンピュータ本体８１０が有するメモリに一時的に記録される。
【００８４】
出力部９０５は、決定部９０４によって決定された制御信号を入力乱数発生器（ＬＦＳＲ）４１０およびパターン修正回路４２０、または出力乱数発生器（ＬＦＳＲ）４４０および不定マスク回路４５０に出力する。たとえば、出力部９０５は、抽出部９０２によってＡＴＰＧパターンまたはテスト結果パターンがブロックされた場合、このブロックごとに、上記出力処理をおこなう。出力部９０５は、具体的には、たとえば図８を用いて説明したコンピュータ本体８１０が有するインターフェースなどによってその機能を実現する。
【００８５】
（擬似乱数発生器制御処理の手順）
つぎに、この発明の実施の形態３にかかる擬似乱数発生器制御装置８００による擬似乱数発生器制御処理の手順について説明する。図１０は、この発明の実施の形態３にかかる擬似乱数発生器制御装置８００による擬似乱数発生器制御処理の手順の一例を示すフローチャートである。
【００８６】
ここでは、入力乱数発生器（ＬＦＳＲ）４１０およびパターン修正回路４２０に対する擬似乱数発生器制御処理の手順の一例について説明するが、出力乱数発生器（ＬＦＳＲ）４４０および不定マスク回路４５０に対する擬似乱数発生器制御処理についても同様の処理手順とすることができる。
【００８７】
まず、取得部９０１によって、入力乱数発生器（ＬＦＳＲ）４１０による位相変更前のテストパターンおよびＡＴＰＧから出力されたＡＴＰＧパターンを取得して（ステップＳ１００１）、抽出部９０２によって、ステップＳ１００１で取得されたＡＴＰＧパターンをブロック単位で抽出する（ステップＳ１００２）。
【００８８】
そして、検索部９０３によって、ステップＳ１００２で抽出されたブロックごとに、当該ブロックに含まれる信号列と近似（または一致）する信号列を、ステップＳ１００１で取得されたテストパターンの中から検索して（ステップＳ１００３）、決定部９０４によって、ステップＳ１００３で検索された信号列に基づいて、入力乱数発生器（ＬＦＳＲ）４１０およびパターン修正回路４２０に出力する制御信号を決定する（ステップＳ１００４）。
【００８９】
そして、出力部９０５によって、ステップＳ１００４で決定された制御信号を入力乱数発生器（ＬＦＳＲ）４１０およびパターン修正回路４２０に出力して（ステップＳ１００５）、一連の処理を終了する。
【００９０】
このような手順により、擬似乱数発生器制御装置８００から出力された入力乱数発生器（ＬＦＳＲ）４１０およびパターン修正回路４２０に対する制御信号は、まず、入力乱数発生器（ＬＦＳＲ）４１０に入力される。これにより、入力乱数発生器（ＬＦＳＲ）４１０によるテストパターンの修正がおこなわれ、ＡＴＰＧパターンと近似するテストパターンが入力乱数発生器（ＬＦＳＲ）４１０から出力される。
【００９１】
そのうえで、パターン修正回路４２０に制御信号が入力されることで、入力乱数発生器（ＬＦＳＲ）４１０から出力されたテストパターンのうち、ＡＴＰＧから出力されたテストパターンと値が異なる信号のみ、パターン修正回路４２０によって修正（反転）され、修正されたテストパターン（すなわち、ＡＴＰＧパターンと一致するテストパターン）が各スキャンパス４３１〜４３４へ入力される。
【００９２】
出力乱数発生器（ＬＦＳＲ）４４０および不定マスク回路４５０に対する擬似乱数発生器制御処理の場合は、擬似乱数発生器制御装置８００から出力された出力乱数発生器（ＬＦＳＲ）４４０および不定マスク回路４５０に対する制御信号は、まず、出力乱数発生器（ＬＦＳＲ）４４０に入力される。これにより、出力乱数発生器（ＬＦＳＲ）４４０による不定マスクパターンの修正がおこなわれ、テスト結果パターンと近似する不定マスクパターンが出力乱数発生器（ＬＦＳＲ）４４０から出力される。
【００９３】
そのうえで、不定マスク回路４５０に制御信号が入力されることで、出力乱数発生器（ＬＦＳＲ）４４０から出力されたテストパターンのうち、テスト結果パターンと値が異なる信号のみ、不定マスク回路４５０によって修正（反転）され、修正されたテストパターン（すなわち、テスト結果パターンと一致する不定マスクパターン）による不定値のマスク処理が行われる。
【００９４】
（制御信号の一例）
ここで、擬似乱数発生器制御装置８００によって出力される制御信号の一例について説明する。図１１は、擬似乱数発生器制御装置８００によって出力される制御信号の一例を示す説明図である。
【００９５】
図１１に示すＡＴＰＧパターン１１００は、取得部９０１によって取得されたものであって、抽出部９０２によって、ブロック１１０１，１１０２，１１０３にブロック化されている。
【００９６】
ここで、各ブロック１１０１〜１１０３は、“０”または“１”が設定されているビット数（すなわち、“Ｘ”以外のビット数）が、規定数“４”（すなわち、入力乱数発生器（ＬＦＳＲ）４１０のビット数）を超えない範囲で、列単位でブロック化されている。
【００９７】
たとえば、列（１）〜（４）からなるブロック１１０１の“Ｘ”以外のビット数は、“４”であり、列（５）からなるブロック１１０２の“Ｘ”以外のビット数は、“３”であり、列（６）および列（７）からなるブロック１１０３の“Ｘ”以外のビット数は、“４”である。
【００９８】
このようなＡＴＰＧパターン１１００に対して、擬似乱数発生器制御装置８００は、現在の設定値に基づいて入力乱数発生器（ＬＦＳＲ）４１０から出力されるテストパターンの中から、ＡＴＰＧパターン１１００との非マッチングビット数が最小となり、かつ入力乱数発生器（ＬＦＳＲ）４１０に対する位相変更量が最小となるテストパターンを検索する。
【００９９】
たとえば、ブロック１１０１に対するテストパターンとして、“０００１００１１０１１１１０１１”を検索する。また、ブロック１１０２に対するテストパターンとして、“０１１０”を検索する。そして、ブロック１１０２に対するテストパターンとして、“１００１１０００”を検索する。
【０１００】
そして、擬似乱数発生器制御装置８００は、入力乱数発生器（ＬＦＳＲ）４１０から出力されるテストパターンが、検索されたテストパターンとなるように、制御信号を決定する。たとえば、現在の入力乱数発生器（ＬＦＳＲ）４１０の設定値が“０１００”のときにおいて、入力乱数発生器（ＬＦＳＲ）４１０から出力されるテストパターンは、図１１に示す表１１１０のとおりとなる。ここで、擬似乱数発生器制御装置８００は、同じ制御信号が連続する場合は、この制御信号をＲｕｎ  Ｌｅｎｇｔｈ圧縮するようにしてもよい。
【０１０１】
以上説明したように、この発明の実施の形態３にかかる半導体集積回路（試験対象回路４００）は、擬似乱数発生器制御装置８００の制御によって、少ないコスト（クロック数）により、テストパターンの任意の位相変更をおこなったうえで、ＡＴＰＧパターンと異なる信号を反転する構成とした。これにより、テストパターンの修正にかかる時間の短時間化を図ることができ、結果的に、試験対象回路４００によるＢＩＳＴにかかる時間の短時間化を図ることができる。
【０１０２】
また、この発明の実施の形態３にかかる半導体集積回路（試験対象回路４００）は、擬似乱数発生器制御装置８００の制御によって、少ないコスト（クロック数）により、不定マスクパターンの位相変更をおこなったうえで、テスト結果パターンと異なる信号を反転する構成とした。これにより、不定マスクパターンの修正にかかる時間の短時間化を図ることができ、結果的に、試験対象回路４００によるＢＩＳＴにかかる時間の短時間化を図ることができる。
【０１０３】
なお、本実施の形態で説明した擬似乱数発生器制御プログラムは、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション、ＣＡＤなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【０１０４】
また、本実施の形態で説明した試験対象回路４００に関する設計データを記録した記録媒体を用意してもよい。ここで、試験対象回路４００に関する設計データとは、試験対象回路４００を、ＨＤＬで記述されたＲＴＬ記述や、論理合成後のネットリストにより表現したコンピュータ読取可能な電子データである。このような設計データを、テストツールがインストールされたコンピュータ装置上で展開することにより、製造前においてシミュレーションテストなどを実行することができる。
【０１０５】
また、このような設計データをＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）に書き込み可能に加工した上でＰＬＤにダウンロードすることにより、上述した試験対象回路４００を製造することもできる。
【０１０６】
（付記１）複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、
外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、
を備えることを特徴とする擬似乱数発生器。
【０１０７】
（付記２）前記位相変更回路は、前記シフトレジスタのビット数をｉ（ｉ＝１〜ｎ）とした場合において、クロック数ｉの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの２i−１の位相変更をおこなうことを特徴とする付記１に記載の擬似乱数発生器。
【０１０８】
（付記３）複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、からなる擬似乱数発生器と、
前記擬似乱数発生器から出力されたテストパターンが入力される試験対象回路と、
を備えることを特徴とする半導体集積回路。
【０１０９】
（付記４）複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、からなる擬似乱数発生器と、
外部からの制御信号の入力に応じて、前記擬似乱数発生器から出力されたテストパターンを修正するテストパターン修正器と、
前記テストパターン修正器によって修正されたテストパターンが入力される試験対象回路と、
を備えることを特徴とする半導体集積回路。
【０１１０】
（付記５）複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、からなる擬似乱数発生器と、
試験対象回路と、
前記試験対象回路から出力された出力パターンの中の不定値を、前記擬似乱数発生器から出力されるテストパターンによりマスクする不定マスク器と、
を備えることを特徴とする半導体集積回路。
【０１１１】
（付記６）複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、からなる擬似乱数発生器と、
試験対象回路と、
外部からの制御信号の入力に応じて、前記擬似乱数発生器から出力されたテストパターンを修正するテストパターン修正器と、
前記試験対象回路から出力された出力パターンの中の不定値を、前記テストパターン修正器によって修正されたテストパターンによりマスクする不定マスク器と、
を備えたことを特徴とする半導体集積回路。
【０１１２】
（付記７）付記３〜６に記載の半導体集積回路の設計データを記録したコンピュータ読み取り可能な記録媒体。
【０１１３】
（付記８）複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、を備えた擬似乱数発生器を制御する擬似乱数発生器制御方法であって、
位相変更前のテストパターンおよびＡＴＰＧから出力されたＡＴＰＧパターンを取得する取得工程と、
前記取得工程によって取得されたＡＴＰＧパターンをブロック単位で抽出する抽出工程と、
前記抽出工程によって抽出されたブロックごとに、当該ブロックに含まれる信号列と一致する信号列を、前記位相変更前のテストパターンの中から検索する検索工程と、
前記検索工程によって検索された信号列に基づいて、前記擬似乱数発生器に出力する制御信号を決定する決定工程と、
前記決定工程によって決定された制御信号を、前記擬似乱数発生器に出力する出力工程と、
をコンピュータに実行させることを特徴とする擬似乱数発生器制御方法。
【０１１４】
（付記９）複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、を備えた擬似乱数発生器を制御する擬似乱数発生器制御方法であって、
位相変更前のテストパターンおよび試験対象回路から出力された出力パターンを取得する取得工程と、
前記取得工程によって取得された出力パターンをブロック単位で抽出する抽出工程と、
前記抽出工程によって抽出されたブロックごとに、当該ブロックに含まれる信号列と一致する信号列を、前記位相変更前のテストパターンの中から検索する検索工程と、
前記検索工程によって検索された信号列に基づいて、前記擬似乱数発生器に出力する制御信号を決定する決定工程と、
前記決定工程によって決定された制御信号を、前記擬似乱数発生器に出力する出力工程と、
をコンピュータに実行させることを特徴とする擬似乱数発生器制御方法。
【０１１５】
（付記１０）複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、を備えた擬似乱数発生器を制御する擬似乱数発生器制御プログラムであって、
位相変更前のテストパターンおよびＡＴＰＧから出力されたＡＴＰＧパターンを取得させる取得工程と、
前記取得工程によって取得されたＡＴＰＧパターンをブロック単位で抽出させる抽出工程と、
前記抽出工程によって抽出されたブロックごとに、当該ブロックに含まれる信号列と一致する信号列を、前記位相変更前のテストパターンの中から検索させる検索工程と、
前記検索工程によって検索された信号列に基づいて、前記擬似乱数発生器に出力する制御信号を決定させる決定工程と、
前記決定工程によって決定された制御信号を、前記擬似乱数発生器に出力させる出力工程と、
をコンピュータに実行させることを特徴とする擬似乱数発生器制御プログラム。
【０１１６】
（付記１１）複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、を備えた擬似乱数発生器を制御する擬似乱数発生器制御プログラムであって、
位相変更前のテストパターンおよび試験対象回路から出力された出力パターンを取得させる取得工程と、
前記取得工程によって取得された出力パターンをブロック単位で抽出させる抽出工程と、
前記抽出工程によって抽出されたブロックごとに、当該ブロックに含まれる信号列と一致する信号列を、前記位相変更前のテストパターンの中から検索させる検索工程と、
前記検索工程によって検索された信号列に基づいて、前記擬似乱数発生器に出力する制御信号を決定させる決定工程と、
前記決定工程によって決定された制御信号を、前記擬似乱数発生器に出力させる出力工程と、
をコンピュータに実行させることを特徴とする擬似乱数発生器制御プログラム。
【０１１７】
（付記１２）前記抽出工程は、ブロックに含まれる不定値ビット数が前記シフトレジスタのビット数を超えないように、前記取得工程によって取得された出力パターンをブロック単位で抽出させることを特徴とする付記１１に記載の擬似乱数発生器制御プログラム。
【０１１８】
（付記１３）付記１０〜１２のいずれか一つに記載の擬似乱数発生器制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【０１１９】
（付記１４）複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、を備えた擬似乱数発生器を制御する擬似乱数発生器制御装置であって、
位相変更前のテストパターンおよびＡＴＰＧから出力されたＡＴＰＧパターンを取得する取得手段と、
前記取得手段によって取得されたＡＴＰＧパターンをブロック単位で抽出する抽出手段と、
前記抽出手段によって抽出されたブロックごとに、当該ブロックに含まれる信号列と一致する信号列を、前記位相変更前のテストパターンの中から検索する検索手段と、
前記検索手段によって検索された信号列に基づいて、前記擬似乱数発生器に出力する制御信号を決定する決定手段と、
前記決定手段によって決定された制御信号を、前記擬似乱数発生器に出力する出力手段と、
を備えたことを特徴とする擬似乱数発生器制御装置。
【０１２０】
（付記１５）複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、を備えた擬似乱数発生器を制御する擬似乱数発生器制御装置であって、
位相変更前のテストパターンおよび試験対象回路から出力された出力パターンを取得する取得手段と、
前記取得手段によって取得された出力パターンをブロック単位で抽出する抽出手段と、
前記抽出手段によって抽出されたブロックごとに、当該ブロックに含まれる信号列と一致する信号列を、前記位相変更前のテストパターンの中から検索する検索手段と、
前記検索手段によって検索された信号列に基づいて、前記擬似乱数発生器に出力する制御信号を決定する決定手段と、
前記決定手段によって決定された制御信号を、前記擬似乱数発生器に出力する出力手段と、
を備えたことを特徴とする擬似乱数発生器制御装置。
【産業上の利用可能性】
【０１２１】
以上のように、本発明にかかる擬似乱数発生器、半導体集積回路、該半導体集積回路の設計データを記録した記録媒体、擬似乱数発生器制御方法、擬似乱数発生器制御プログラム、該擬似乱数発生器制御プログラムを記録した記録媒体、および擬似乱数発生器制御装置は、半導体集積回路の自己試験（ＢＩＳＴ）に有用であり、特に、高い故障検出率が要求される半導体集積回路の自己試験（ＢＩＳＴ）に適している。
【図面の簡単な説明】
【０１２２】
【図１】この発明の実施の形態１にかかる擬似乱数発生器の回路構成を示す説明図である。
【図２】この発明の実施の形態１にかかる擬似乱数発生器によるテストパターンのマッチング方法を示す説明図である。
【図３】この発明の実施の形態２にかかる擬似乱数発生器の回路構成を示す説明図である。
【図４】この発明の実施の形態３にかかる半導体集積回路の回路構成を示す説明図である。
【図５】この発明の実施の形態３にかかる半導体集積回路の回路構成を示す説明図である。
【図６】この発明の実施の形態３にかかる半導体集積回路の回路構成を示す説明図である。
【図７】この発明の実施の形態３にかかる半導体集積回路に用いられる制御信号の一例を示す説明図である。
【図８】この発明の実施の形態３にかかる擬似乱数発生器制御装置のハードウェア構成を示す説明図である。
【図９】この発明の実施の形態３にかかる擬似乱数発生器制御装置の機能的構成を示すブロック図である。
【図１０】この発明の実施の形態３にかかる擬似乱数発生器制御装置による擬似乱数発生器制御処理の手順の一例を示すフローチャートである。
【図１１】擬似乱数発生器制御装置によって出力される制御信号の一例を示す説明図である。
【図１２】従来技術によるＬＦＳＲの回路構成を示す説明図である。
【図１３】従来技術によるＬＦＳＲを備えた試験対象回路の回路構成を示す説明図である。
【図１４】従来技術によるテストパターンのマッチング方法を示す説明図である。
【符号の説明】
【０１２３】
１００，３００  ＬＦＳＲ
４００  試験対象回路
４１０  入力乱数発生器（ＬＦＳＲ）
４２０  パターン修正回路
４４０  出力乱数発生器（ＬＦＳＲ）
４５０  不定マスク回路
４６０  出力検証器（ＭＩＳＲ）
８００  擬似乱数発生器制御装置
９０１  取得部
９０２  抽出部
９０３  検索部
９０４  決定部
９０５  出力部
【図１】
2008218923.tif 000005
【図２】
2008218923.tif 000006
【図３】
2008218923.tif 000007
【図４】
2008218923.tif 000008
【図５】
2008218923.tif 000009
【図６】
2008218923.tif 000010
【図７】
2008218923.tif 000011
【図８】
2008218923.tif 000012
【図９】
2008218923.tif 000013
【図１０】
2008218923.tif 000014
【図１１】
2008218923.tif 000015
【図１２】
2008218923.tif 000016
【図１３】
2008218923.tif 000017
【図１４】
2008218923.tif 000018