(57)【要約】【課題】従来のテストパターン生成回路は、生成する乱数列の組み合わせを任意に設定することができない問題があった。【解決手段】本発明にかかるテストパターン生成回路は、バス配線に接続され、並列に多ビットのデータの入出力を行うインタフェース回路１４に対してテストパターンを出力するテストパターン生成回路であって、バス配線内の信号線のそれぞれに対応して設けられ、それぞれ同一の値となる第１の初期値が予め設定され、入力される第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎに応じて第１の初期値を開始値とした疑似乱数を発生する複数の疑似乱数発生回路１３＿１〜１３＿ｎと、制御信号の値に応じて複数の疑似乱数発生回路１３＿１〜１３＿ｎのそれぞれに与える第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎの出力開始タイミングをそれぞれ任意に決定するクロック制御回路１１とを有するものである。【選択図】図１
2008180592.tif 000002
【特許請求の範囲】
【請求項１】
バス配線に接続され、並列に多ビットのデータの入出力を行うインタフェース回路に対してテストパターンを出力するテストパターン生成回路であって、
前記バス配線内の信号線のそれぞれに対応して設けられ、それぞれ同一の値となる第１の初期値が予め設定され、入力される第１のクロック信号に応じて前記第１の初期値を開始値とした疑似乱数を発生する複数の疑似乱数発生回路と、
制御信号の値に応じて前記複数の疑似乱数発生回路のそれぞれに与える前記第１のクロック信号の出力開始タイミングをそれぞれ任意に決定するクロック制御回路とを有するテストパターン生成回路。
【請求項２】
前記疑似乱数発生回路は、排他的論理和回路を介して帰還をかけたシフトレジスタによって構成される請求項１に記載のテストパターン生成回路。
【請求項３】
前記クロック制御回路は、基準クロックを入力信号とし、前記制御信号の値に基づき前記複数の疑似乱数発生回路への前記第１のクロック信号の供給開始タイミングずれ量を設定する、あるいは、基準クロックを入力信号とし、前記制御信号に基づき予め設定された供給開始タイミングずれ量で前記基準クロック信号を出力するか否かを決定し、前記決定に基づき前記複数の疑似乱数発生回路への前記第１のクロック信号の供給開始タイミングずれ量を設定する第１のクロック制御回路を有する請求項２に記載のテストパターン生成回路。
【請求項４】
前記クロック制御回路は、前記第１のクロック信号を入力信号とし、前記制御信号の値に基づき前記複数の疑似乱数発生回路への前記第１のクロック信号の供給開始タイミングずれ量を設定する、あるいは、前記第１のクロック信号を入力信号とし、前記制御信号に基づき予め設定された供給開始タイミングずれ量で前記基準クロック信号を出力するか否かを決定し、前記決定に基づき前記複数の疑似乱数発生回路への前記第１のクロック信号の供給開始タイミングずれ量を設定する第２のクロック制御回路を備える請求項３に記載のテストパターン生成回路。
【請求項５】
前記クロック制御回路は、前記第１のクロック制御回路および前記第２のクロック制御回路のそれぞれに対応する被テスト回路に接続される請求項３又は４に記載のテストパターン生成回路。
【請求項６】
前記第１のクロック制御回路は、第１のカウンタとクロックゲーティング回路とを備え、
前記第１のカウンタは入力された前記基準クロックのクロック数をカウントし、前記カウントした値が所定値に達した場合に停止信号を出力し、
前記クロックゲーティング回路は、前記停止信号を受けるまで、入力された前記基準クロックを入力し、前記第１のクロック信号として出力する請求項３乃至５のいずれか１項に記載のテストパターン生成回路。
【請求項７】
前記第２のクロック制御回路は、前記第１のクロック制御回路が出力する前記第１のクロック信号が入力される請求項４に記載のテストパターン生成回路。
【請求項８】
前記制御信号は、第１の制御信号と第２の制御信号とのうち少なくとも１つを含み、
前記クロック制御回路は、前記第１の制御信号に基づき制御される場合、前記複数の疑似乱数発生回路への前記第１のクロック信号の供給開始タイミングずれ量を前記第１の制御信号の値に基づき設定し、前記第２の制御信号に基づき制御される場合、予め設定された供給開始タイミングずれ量で前記基準クロック信号を出力するか否かを決定する請求項２に記載のテストパターン生成回路。
【請求項９】
前記第１のクロック信号と第２のクロック信号とのうちいずれか一方を選択し、選択したクロック信号を前記複数の疑似乱数発生回路に与えるセレクタを更に有する請求項１乃至８のいずれか１項に記載のテストパターン生成回路。
【請求項１０】
前記複数の疑似乱数発生回路は、それぞれ前記第１の初期値と前記第１のクロック信号とに基づき任意の値となる第２の初期値が設定され、前記第２の初期値を開始値とした疑似乱数を前記テストパターンとして出力する請求項１乃至９のいずれか１項に記載のテストパターン生成回路。
【請求項１１】
請求項１乃至１０に記載のテストパターン生成回路と、
前記インタフェース回路を経由して入力される疑似乱数と前記複数の疑似乱数発生回路が出力する疑似乱数とを比較する比較器と、
前記比較器が出力するテスト結果を保持し、前記テスト結果を出力する結果保持回路とを有するテスト回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明にかかるテストパターン生成回路及びテスト回路は、特に多ビット構成のインタフェース回路に対して疑似乱数をテストパターンとして与えるテストパターン生成回路及びテスト回路に関する。
【背景技術】
【０００２】
近年、半導体装置における不具合の１つとして、バス配線に接続されるインタフェース回路における不具合が問題となっている。バス配線に接続されるインタフェース回路では、バス配線に対してランダムなデータの送受信が行われる。送受信するデータの並び方によってはインタフェース回路内でデータの干渉が発生して、送受信するデータに誤りが発生する不具合が発生する。インタフェース回路においては、上述のような不具合を起こしうる様々なデータに対しても良好な送受信を行うことが求められる。そのため、インタフェース回路に対してこのようなデータでテストを行うためのテスト回路やテストパターン生成回路が所望されており、下記特許文献１〜４に示すような回路が提案されている。
【０００３】
特許文献１（以下、従来例１と称す）に開示されているテスト回路１１０のブロック図を図１８に示す。テスト回路１１０は、半導体装置１０１に内蔵され、ランダムなテストパターンの生成とインタフェース回路１２０を経由して入力されるテストパターンのシグネチャの生成とを行う。このときテスト回路１１０は、ランダムなテストパターンをパターン発生部１１１及びシフトレジスタ１１２を用いて行う。パターン発生部１１１は、所定のシード値（以下では、Ｓｅｅｄ値と称す）を開始値とした疑似乱数を生成するＬＦＳＲ（Linear Feedback Shift Register）１１６を有し、シリアルに疑似乱数を生成する。シフトレジスタ１１２は、直列に接続されたフリップフロップによって、シリアルな疑似乱数を並べ替えてパラレルな疑似乱数に変換する。そして、パターン発生部１１１の出力とシフトレジスタ１１２の出力とを並列にしてデータ連結部１１３に入力することで、バス配線に接続されるインタフェース回路１２０にランダム性を有するテストパターンを入力する。これによって、テスト回路１１０は、インタフェース回路１２０にランダム性を有するデータ列を入力することが可能である。
【０００４】
また、インタフェース回路の試験の他の一例が特許文献２（以下、従来例２と称す）に開示されている。従来例２にかかるテスト回路は、テストパターン発生器とテスト対象となる半導体装置とが個別に用意されている。テストパターン発生器は、所定のＳｅｅｄ値を開始値とした疑似乱数を生成し、半導体装置に出力する。半導体装置は、テストパターン発生器に対応した回路構成を有する期待値生成回路を有している。そして、半導体装置に内蔵されるインタフェース回路を経由して入力されるテストパターンと期待値生成回路の出力とを比較器で比較する。これによって、従来例２では、ランダムなデータ列によるインタフェース回路のテストを行う。
【０００５】
従来例１、２では、テストパターンとして疑似乱数を使用したが、このような疑似乱数を生成する回路の他の例は、特許文献３、４（以下、それぞれを従来例３、従来例４と称す。）に開示されている。
【特許文献１】特開２００６−７８４４７号公報
【特許文献２】特開２００５−３３９６７５号公報
【特許文献３】特開平１１−８５４７５号公報
【特許文献４】特開２００３−３３０７０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来例１〜４を用いることで、データ列方向に対してはデータのランダム性は確保される。しかしながら、従来例１〜４のパターン発生回路あるいはパターン発生部では、多数のＳｅｅｄ値を設定することができないために、その回路構成に基づく疑似乱数しか生成することができない。そのため、バス配線内の信号線間（以下、バス幅方向と称す）に対するデータの組み合わせが限られてしまう。例えば、所定の組み合わせを有するテストパターンを意識的に作り出すことができない。このようなことから、従来例１〜４では、インタフェース回路の試験においてバス幅方向のテストカバレッジを向上させることができない問題がある。
【課題を解決するための手段】
【０００７】
本発明にかかるテストパターン生成回路は、バス配線に接続され、並列に多ビットのデータの入出力を行うインタフェース回路に対してテストパターンを出力するテストパターン生成回路であって、前記バス配線内の信号線のそれぞれに対応して設けられ、それぞれ同一の値となる第１の初期値が予め設定され、入力される第１のクロック信号に応じて前記第１の初期値を開始値とした疑似乱数を発生する複数の疑似乱数発生回路と、制御信号の値に応じて前記複数の疑似乱数発生回路のそれぞれに与える前記第１のクロック信号の出力開始タイミングをそれぞれ任意に決定するクロック制御回路とを有するものである。
【０００８】
本発明にかかるテストパターン生成回路によれば、同一の第１の初期値を有する複数の疑似乱数発生回路の動作開始タイミングを任意に設定することが可能である。これによって、所定の時刻において複数の疑似乱数発生回路が生成しているパターンの組み合わせを任意に設定することが可能になる。
【０００９】
また、本発明にかかるテスト回路は、本発明にかかるテストパターン生成回路と、前記インタフェース回路を経由して入力される疑似乱数と前記複数の疑似乱数発生回路が出力する疑似乱数とを比較する比較器と、前記比較器が出力するテスト結果を保持し、前記テスト結果を出力する結果保持回路とを有するものである。このテスト回路によって、テストカバレッジの高いフィードバック試験を行うことが可能である。
【発明の効果】
【００１０】
本発明にかかるテストパターン生成回路及びテスト回路によれば、データ列方向のランダム性及びバス幅方向のデータの組み合わせのランダム性を共に向上させることで、テストカバレッジの高いフィードバック試験を行うことが可能である。
【発明を実施するための最良の形態】
【００１１】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。図１に本発明にかかるテストパターン生成回路１のブロック図を示す。図１に示すように、テストパターン生成回路１は、クロック制御回路１１と疑似乱数発生回路（図中のＰＲＢＳ）１３＿１〜１３＿ｎを有しており、疑似乱数発生回路の出力はそれぞれ対応するインタフェースのチャネルに接続される。以下の説明ではｎ、ｍは整数を示す。また、テストパターン生成回路１には、クロック生成回路１０とインタフェース回路１４が接続される。
【００１２】
クロック生成回路１０は、所定の周波数を有する基準クロックを出力する。本実施の形態において、クロック生成回路１０は後述のリセット信号ＲＳＴがロウレベルからハイレベルになった後に基準クロックを出力するものとする。
【００１３】
インタフェース回路１４は、被テスト回路であって、バス配線（不図示）に接続される。また、本発明にかかるテストパターン生成回路及びテスト回路がテスト対象とするインタフェース回路１４は、複数のチャネルを有し、それぞれのチャネルは送信回路と受信回路とを含む。
【００１４】
クロック制御回路１１は、第１のクロック制御回路１２を有している。第１のクロック制御回路１２は、基準クロックに応じて複数の第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎを生成する。また、第１のクロック制御回路１２は、第１の制御信号の値に基づき、複数の第１のクロック信号の出力開始タイミングをそれぞれ任意に設定する。そして、第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎは、第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎに対応して設けられる疑似乱数発生回路１３＿１〜１３＿ｎにそれぞれクロックとして入力される。なお、第１の制御信号は、多ビット構成（例えば、ｍビット）の制御信号で構成されている。そして、本実施の形態では、第１のクロック制御回路１２は、ｍビットで表される値に応じて、第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎの出力開始タイミングを設定する。また、第１のクロック制御回路１２はリセット信号ＲＳＴを受ける。このリセット信号ＲＳＴは、疑似乱数発生回路１３＿１〜１３＿ｎそれぞれにも供給される。このリセット信号ＲＳＴについては後述する。
【００１５】
疑似乱数発生回路１３＿１〜１３＿ｎはそれぞれ、例えば、文献４の図６などに示される回路であって、それぞれ同一の値となるＳｅｅｄ値（以下、第１の初期値と称す）を開始値として同じ疑似乱数データ列（ＰＲＢＳ（Pseudo Random Binary Sequence）と呼ばれるデータ列）を出力する。本実施の形態においては、疑似乱数発生回路１３＿１〜１３＿ｎは、排他的論理和（ＥｘＯＲ）回路を介して帰還をかけたシフトレジスタによって構成される（ＬＦＳＲ：Linear Feedback Shift Register）をその内部に有する。疑似乱数発生回路１３＿１〜１３＿ｎはそれぞれリセット時（リセット信号ＲＳＴがロウレベルの間）は、その内部レジスタ（ＬＦＳＲ）を初期化し第１の初期値を有する。そして、リセット解除後、上述のように第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎに応じて擬似乱数を生成し出力する。また、疑似乱数発生回路１３＿１〜１３＿ｎは、それぞれインタフェース回路１４のチャネルに対応して設けられているので、インタフェース回路１４に接続されるバス配線の信号線のそれぞれに対応して設けられる状態にある。つまり、疑似乱数発生回路１３＿１〜１３＿ｎの個数は、バス配線の信号線の数と同数である。
【００１６】
ここで、第１のクロック制御回路１２について更に詳細に説明する。第１のクロック制御回路１２のブロック図を図２に示す。図２に示すように、第１のクロック制御回路は、カウンタ１７＿２〜１７＿ｎ、クロックゲーティング回路１６＿２〜１６＿ｎ、比較器１８＿２〜１８＿ｎを有している。
【００１７】
本実施の形態において、第１のクロック制御回路１２は、入力された基準クロックを第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎとして出力する。カウンタ１７＿２〜１７＿ｎは、リセット信号ＲＳＴを受け、リセット信号ＲＳＴがロウレベルの間、カウンタの値は初期値"０"のままである。そして、リセット信号ＲＳＴがハイレベルとなった後に、カウンタ１７＿２〜１７＿ｎは、それぞれ対応する第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎ−１のクロック数をカウントする。例えば、第１のクロック信号ＣＬＫ１＿２を出力するクロックゲーティング回路１６＿２に対応して設けられるカウンタ１７＿２は、第１のクロック信号ＣＬＫ１＿１のクロック数をカウントする。比較器１８＿２〜１８＿ｎは、対応して設けられるカウンタが出力するカウント値と第１の制御信号の値とを比較して、カウント値が第１の制御信号の値と一致した時点でイネーブル信号ＥＮ＿２〜ＥＮ＿ｎを出力する。例えば、比較器１８＿２は、カウンタ１７＿２が出力するカウント値と第１の制御信号の値とを比較して、カウント値が第１の制御信号の値と一致した時点でイネーブル信号ＥＮ＿２を出力する。なお、本実施例におけるカウンタ１７＿２〜１７＿ｎは、カウント値が第１の制御信号の値と一致した以降はその値を保持するものとする。
【００１８】
クロックゲーティング回路１６＿２〜１６＿ｎは、ＡＮＤゲートなどであって、対応して入力されるイネーブル信号ＥＮ＿２〜ＥＮ＿ｎに応じて第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎ−１をそれぞれ対応する第１のクロック信号ＣＬＫ１＿２〜ＣＬＫ１＿ｎとして出力する。例えば、イネーブル信号ＥＮ＿２がハイレベルであった場合、クロックゲーティング回路１６＿２は、第１のクロック信号ＣＬＫ１＿１を第１のクロック信号ＣＬＫ１＿２として出力する。一方、イネーブル信号ＥＮ＿２がロウレベルであった場合、クロックゲーティング回路１６＿２は、出力をロウレベルとし、クロックを出力しない。
【００１９】
以下、インタフェース回路１４が４チャネル（ｎ＝４）、疑似乱数発生回路が７次（次数ｋ＝７、すなわち７段のレジスタにより構成されている）、第１の制御信号が６ビット（ｍ＝６）である場合を考える。このとき１つの疑似乱数発生回路１３＿１は２の７乗−１＝１２７の擬似乱数列を作成する。つまり１２７クロックで１周期となる擬似乱数を発生する。また、第１のクロック制御回路１２は、６ビットで表される値に応じて、第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎの出力開始タイミングを設定する。
【００２０】
この場合における第１のクロック制御回路１２の動作のタイミングチャートを図３、図４に示す。図３に示すタイミングチャートは、第１の制御信号が"１"（例えば、"０００００１"）を示す場合における第１のクロック制御回路１２の動作を示すものである。また、図４に示すタイミングチャートは、第１の制御信号が"４"（例えば、"０００１００"）を示す場合における第１のクロック制御回路１２の動作を示すものである。なお、図３及び図４では、ｎ＝４の場合であるから、第１のクロック制御回路１２は第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿４を出力するものとする。この図３及び図４を参照して、第１のクロック制御回路１２の動作について説明する。
【００２１】
まず、図３に示す動作について説明する。第１のクロック制御回路１２は、動作開始前の状態においてリセット信号ＲＳＴをロウレベルとすることでカウンタ１７＿２〜１７＿ｎ（ここの説明ではｎ＝４）のカウント値を"０"とする。そして、リセット信号ＲＳＴをハイレベルとし、リセットを解除する。リセット解除後にクロック生成回路１０から基準クロックを入力する。リセットが解除され、基準クロックが印加されることによって、第１のクロック制御回路１２は基準クロックを第１のクロックＣＬＫ１＿１として出力する。（タイミングＴ１１）。
【００２２】
また、第１の制御信号の値が"１"であるため、カウンタ１７＿２のカウント値が"１"に達すると、比較器１８＿２はイネーブル信号ＥＮ＿２をハイレベルとする。従って、クロックゲーティング回路１６＿２は、第１のクロック信号ＣＬＫ１＿１よりも基準クロックの１クロックに相当する時間だけ遅れて第１のクロック信号ＣＬＫ１＿２の出力を開始する（タイミングＴ１２）。
【００２３】
その後、第１のクロック信号ＣＬＫ１＿３と第１のクロック信号ＣＬＫ１＿４とが、第１のクロック信号ＣＬＫ１＿２と同様に出力される。すなわち、第１のクロック信号ＣＬＫ１＿３は、第１のクロック信号ＣＬＫ１＿２から基準クロックの１クロックに相当する時間だけ遅れて出力が開始される（タイミングＴ１３）。第１のクロック信号ＣＬＫ１＿４は、第１のクロック信号ＣＬＫ１＿３から基準クロックの１クロックに相当する時間だけ遅れて出力が開始される（タイミングＴ１４）。つまり、第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿４は、それぞれ第１の制御信号の値に応じたクロック数分、順次遅れて出力される。
【００２４】
ここで、最後に第１のクロック信号が疑似乱数発生回路に入力されるタイミングＴ１４以降（Ｔ１４を含む）にタイミングＴ１５を設定する。タイミングＴ１５以降は、すべての疑似乱数発生回路に第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿４が１サイクル以上印加されている状態であり、タイミングＴ１５以降に実際のテストに利用されるテストパターンが生成される。なお、ここで、図３におけるタイミングＴ１１〜Ｔ１５の期間を以下では、テストパターン初期値設定期間と称す。
【００２５】
続いて、図４に示す動作について説明する。図４では、第１の制御信号の値が"４"であるため、カウンタ１７＿２のカウント値が"４"に達すると、比較器１８＿２はイネーブル信号ＥＮ＿２をハイレベルとする。従って、クロックゲーティング回路１６＿２は、第１のクロック信号ＣＬＫ１＿１よりも基準クロックの４クロックに相当する時間だけ遅れて第１のクロック信号ＣＬＫ１＿２の出力を開始する（タイミングＴ２２）。その他の動作は図３と同じであり、タイミングＴ２１，Ｔ２２，Ｔ２３，Ｔ２４，Ｔ２５はそれぞれタイミングＴ１１，Ｔ１２，Ｔ１３，Ｔ１４，Ｔ１５に対応する。なお、タイミングＴ２５はタイミングＴ１５と同様最後に第１のクロック信号が疑似乱数発生回路に入力されるタイミングＴ２４以降（Ｔ２４を含む）に設定されている。
【００２６】
このように、第１のクロック制御回路は、第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎの出力開始タイミングを第１の制御信号の値に応じて設定する。本実施の形態にかかるテストパターン生成回路１は、この第１のクロック制御回路の動作により疑似乱数発生回路１３＿１〜１３＿ｎのテスト開始時の乱数発生開始値（以下、第２の初期値と称す）を設定する。つまり、上述したように、タイミングＴ１５、Ｔ２５で、実際のテストに利用されるテストパターンの初期値（第２の初期値）が生成されるとともに設定される。
【００２７】
ここで、この第２の初期値の設定動作及びテスト時に用いられるテストパターンについて説明する。まず、第２の初期値の設定動作について説明する。本実施の形態にかかる疑似乱数発生回路１３＿１〜１３＿ｎは、７次のＰＲＢＳを出力するため、出力するデータ列は１２７個のデータを有する。このデータ列の各データをＤ１〜Ｄ１２７とすると、疑似乱数発生回路１３＿１〜１３＿ｎは、開始値が第１の初期値である場合、データＤ１を動作開始時のデータとし、データＤ１からデータＤ１２７を順に繰り返し出力する。
【００２８】
このような、疑似乱数発生回路１３＿１〜１３＿ｎに第１のクロック制御回路１２が出力する第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎを与えた場合、例えば図３に示すタイミングＴ１４では、疑似乱数発生回路１３＿１〜１３＿４の出力ＯＵＴ１〜ＯＵＴ４は、ＯＵＴ１から順に"Ｄ４、Ｄ３、Ｄ２、Ｄ１"となる。ここでタイミングＴ１５をタイミングＴ１４と同じと設定した場合は、疑似乱数発生回路１３＿１〜１３＿４の出力ＯＵＴ１〜ＯＵＴ４は、ＯＵＴ１から順に"Ｄ４、Ｄ３、Ｄ２、Ｄ１"、タイミングＴ１１から基準クロックが１２７クロック分経過したところに設定すれば、"Ｄ１２７、Ｄ１２６、Ｄ１２５、Ｄ１２４"となる。本実施の形態では、このように、タイミングＴ１５で、擬似乱数生成回路１３＿１〜１３＿４の初期化が完了し、タイミングＴ１５におけるＯＵＴ１〜４の値が第２の初期値として与えられたことになる。また、図４に示す例では、テストパターンＴＰ１〜ＴＰ４の第２の初期値は、同様にタイミングＴ２５をタイミングＴ２４と同じと設定すればテストパターンＴＰ１から順に"Ｄ１３、Ｄ９、Ｄ５、Ｄ１"、タイミングＴ２１から基準クロックが１２７クロック分経過したところに設定すればテストパターンＴＰ１から順に"Ｄ１２７、Ｄ１２３、Ｄ１１９、Ｄ１１５"となる。タイミングＴ１５以降が、インタフェース回路１４に対する、実際のテストパターンとなる。従って、テスト状態では、タイミングＴ１５以降に疑似乱数発生回路１３＿１〜１３＿４が出力するテストパターンが順次インタフェース回路１４に与えられる。
【００２９】
上記説明より、本実施の形態にかかるテストパターン生成回路１は、第１の制御信号の値に基づきクロック制御回路１１は、出力する複数の第１のクロック信号の出力開始タイミングをそれぞれ変更することが可能である。また、この複数の第１のクロック信号に基づき複数の疑似乱数発生回路を動作させることで、テストパターン初期値設定期間中に複数の疑似乱数発生回路に与えられる第１のクロック信号のクロック数をそれぞれ異なるものとすることが可能である。そして、テストパターン初期値設定期間の終了時点で複数の疑似乱数発生回路が出力している値に基づき第２の初期値を設定する。つまり、複数の疑似乱数発生回路に設定される第２の初期値は、第１の制御信号の値に応じてそれぞれ異なるものとなり、テスト開始後は、第２の初期値を開始値とした疑似乱数データ列を生成する。すなわち、本実施の形態にかかるテストパターン生成回路１は、複数の疑似乱数発生回路のＳｅｅｄ値を任意に設定する機能に相当する機能を有する。
【００３０】
これによって、本実施の形態にかかるテストパターン生成回路１は、テスト開始後の所定の時刻において複数の疑似乱数発生回路が出力するデータのバス幅方向における組み合わせを任意に設定することが可能である。従って、本実施の形態にかかるテストパターン生成回路１によれば、データ列方向の高いランダム性とバス幅方向の高いランダム性とを有するテストパターンをインタフェース回路１４に与えることが可能である。
【００３１】
また、テストパターン生成回路１は、複数の疑似乱数発生回路を有しているため、高速にランダムパターンを生成することができる。従来例１では、ＬＦＳＲが出力するランダムパターンを４つに１つインタフェース回路に送信する。これに対して、テストパターン生成回路１が出力するランダムパターンを間引くことなく連続してインタフェース回路１４に与えることができる。
【００３２】
上記実施の形態では、第１のクロック制御回路１２は、複数の第１のクロック信号が異なる出力開始タイミングで出力される例について述べた。しかし、第１の制御信号の値として"０"を設定した場合、複数の第１のクロック信号は、実質的に同じタイミングで出力される。これによって、疑似乱数発生回路が出力するテストパターンをいずれの時刻においても全て同じデータとすることが可能である。つまり、本実施の形態にかかるテストパターン生成回路１は、高い自由度でバス幅方向のデータを組み合わせることが可能である。すなわち、テストパターン生成回路１は、所定の組み合わせを有するテストパターンを意識的に作り出すことが可能である。
【００３３】
ここで、テストパターン生成回路１のタイミングＴ１５、Ｔ２５の設定及び第１の制御信号のビット幅の設定について説明する。タイミングＴ１５、Ｔ２５は、すべての疑似乱数発生回路に第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿４が１サイクル以上印加され、それぞれ擬似乱数を生成できるタイミングである。本発明においては、インタフェース回路がｎチャネル、第１の制御信号がｍビットであるため、少なくとも（２のｍ乗−１）×（ｎ−１）サイクル数の基準クロックが印加されたタイミング以降に設定すればよい。
【００３４】
また、第１の制御信号は、第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎにおいて隣り合う第１のクロック信号の間のクロックのずれ（遅れ）を示す。疑似乱数発生回路１３＿１〜１３＿ｎをそれぞれｋ次とすれば、第１の制御信号は最大で２のｋ乗−１のずれを示すことが可能であればよい。つまり、第１の制御信号のビット幅は、ｋであればよい。なお、ｋより小さい値であっても本発明の効果は得られる。
【００３５】
実施の形態２
実施の形態１では、基準クロックを用いて、インタフェース回路１４をテストするためのテストパターンに対するＳｅｅｄ値（第２の初期値）の生成と、第２の初期値生成後の実際のテストパターンの生成を、基準クロックを用いて実施する例を示した。しかしながら、別途テストクロックを用意し、基準クロックを用いて第２の初期値を生成し、第２の初期値生成後の実際のテストパターンの生成をこのテストクロックを用いて行うことも可能である。
【００３６】
このような場合に対応する実施の形態を図５、図６に示す。図５は、実施の形態２にかかるテストパターン生成回路１'のブロック図であり、図６は第１のクロック制御回路１２'のブロック図である。実施の形態２においては、実施の形態１（図１）にさらにセレクタ３１＿１〜３１＿ｎを備え、第１のクロック制御回路１２'の出力である第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎと、テストクロックとを選択信号ＳＥＬを用いて切り替える。そして、疑似乱数発生回路１３＿１〜１３＿ｎに第１のクロック信号ＣＬＫ１＿１'〜ＣＬＫ１＿ｎ'として出力する。また、第１のクロック制御回路１２'は、図２に示す第１のクロック制御回路１２を図６に示す回路に置き換えたものである。
【００３７】
図６に示す第１のクロック制御回路１２'は、図２に示す第１のクロック制御回路１２と比べ、その構成上の違いは、カウンタ１５とクロックゲーティング回路１６＿１とを備える点である。クロックゲーティング回路１６＿１は、カウンタ１５のｓｔｏｐ信号により第１のクロック信号ＣＬＫ１＿１の出力を停止する機能を備えるものである。この第１のクロック制御回路１２'において上記した相違点以外の構成は、第１のクロック制御回路１２とすべて同じである。
【００３８】
カウンタ１５は、例えば上述のようにテストパターン初期値設定期間の間に印加される基準クロックの数をカウントするＣｔビットのカウンタである。カウンタ１５は基準クロックとリセット信号ＲＳＴが入力される。そして、リセット信号ＲＳＴがロウレベルのとき初期化（カウント値が"０"）され、リセット信号ＲＳＴがハイレベルとなった以降入力される基準クロックをカウントする。そしてカウント値がＣｔとなったときｓｔｏｐ信号をクロックゲーティング回路に出力する。本実施の形態においてｓｔｏｐ信号は、動作状態をハイレベル、停止状態をロウレベルとしてクロックゲーティング回路１６＿１に与えられるものとする。また、カウンタ１５は一旦ｓｔｏｐ信号をロウレベルに切り替えた後はリセットされるまでロウレベルを保持するものとする。
【００３９】
クロックゲーティング回路１６＿１はリセット信号ＲＳＴとｓｔｏｐ信号とがハイレベルである期間に、基準クロックを第１のクロック信号ＣＬＫ１＿１として出力する。そして、カウンタ１５のカウント値がＣｔとなりｓｔｏｐ信号をロウレベルとした段階で、その出力をとめる（ロウレベルに固定する）。
【００４０】
図７は実施の形態２の動作を示すタイミングチャートである。タイミングＴ３５にて、カウンタ１５のカウント値がＣｔに達するとｓｔｏｐ信号がハイレベルからロウレベルに切り替わる。これによって第２の初期値が設定される。また、第１のクロック制御回路１２'は、疑似乱数発生回路１３＿１〜１３＿ｎに対して第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎを出力することを停止する。このとき、タイミングＴ３５までは選択信号ＳＥＬはロウレベルであって、セレクタ３１＿１〜３１＿ｎは、第１のクロック制御回路１２'の出力である第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎを疑似乱数発生回路１３＿１〜１３＿ｎに第１のクロック信号ＣＬＫ１＿１'〜ＣＬＫ１＿ｎ'として出力する。続いて、タイミングＴ３５以降の任意のタイミングで選択信号ＳＥＬをハイレベルとする。これによって、セレクタ３１＿１〜３１＿ｎは、テストクロックを疑似乱数発生回路１３＿１〜１３＿ｎに第１のクロック信号ＣＬＫ１＿１'〜ＣＬＫ１＿ｎ'として出力する（図中のタイミングＴ３６）。
【００４１】
ここでカウンタ１５の最大カウント値であるＣｔがタイミングＴ３５を規定することになる。つまり、タイミングＴ３５において本発明にかかるテストパターン発生回路の第２の初期値が設定されることになる。
【００４２】
なお、基準クロックとテストクロックとが同時に入力される場合、基準クロックとテストクロックとを切り替えるタイミングでノイズが発生する問題や切り替え後不要となるクロック（ここでは基準クロック）がノイズ源となるなどの問題がある。このような問題を回避するために、上記実施の形態では、図２に示した第１のクロック制御回路１２に代えて図６に示した第１のクロック制御回路１２'を使用した。しかしながら、クロックの切替タイミングや互いのクロックの間で発生するノイズが問題にならない場合には、実施の形態２においても第１のクロック制御回路１２をそのまま利用してもよい。
【００４３】
また、実施の形態２においては、テストクロックとして高速クロックを利用するようにできる。本発明にかかるテストパターン生成回路が搭載されるＬＳＩの内部クロックをそのままテストクロックとして利用することも可能となる。
【００４４】
実施の形態３
実施の形態３にかかるテストパターン生成回路２のブロック図を図８に示す。図８に示すようにテストパターン生成回路２のクロック制御回路２１は、第１のクロック制御回路１２（図２）に加えて第２のクロック制御回路２２を有している。また、テストパターン生成回路２は、第２のクロック制御回路２２に対応して疑似乱数発生回路２３＿１〜２３＿ｎを有している。この疑似乱数発生回路２３＿１〜２３＿ｎは、実施の形態１にかかる疑似乱数発生回路１３＿１〜１３＿ｎと実質的に同じものである。また、インタフェース回路１４、２４はそれぞれ被テスト回路であって、バス配線（不図示）に接続される。
【００４５】
ここで、第２のクロック制御回路２２について詳細に説明する。第２のクロック制御回路２２は、第１のクロック制御回路１２が出力する第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎが入力される。そして、第２のクロック制御回路２２は、入力された第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎに基づいて、第１のクロック信号ＣＬＫ２＿１〜ＣＬＫ２＿ｎを出力する。このとき第２のクロック制御回路２２は、第２の制御信号に基づいて、第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎの出力開始タイミングと第２のクロック信号ＣＬＫ２＿１〜ＣＬＫ２＿ｎの出力開始タイミングをずらすかどうかを決定する。なお、第２の制御信号は１ビットの信号であって、"０"（ロウレベル）と"１"（ハイレベル）の２つの状態を有する。
【００４６】
この第２のクロック制御回路２２のブロック図を図９に示す。図９に示すように、第２のクロック制御回路２２は、カウンタ２５＿１〜２５＿ｎ、比較器２６＿１〜２６＿ｎ、クロックゲーティング回路２７＿１〜２７＿ｎを有している。カウンタ２５＿１〜２５＿ｎは、第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎのそれぞれに対応して設けられており、第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎのクロック数をカウントする。比較器２６＿１〜２６＿ｎは、第２の制御信号の値が"０"である場合、カウント値に依存せずにリセット解除とともにハイレベルを出力する。比較器２６＿１〜２６＿ｎは、第２の制御信号の値が"１"である場合、対応して設けられるカウンタ２５＿１〜２５＿ｎが出力するカウント値と予め設定されたマスク値とを比較して、カウント値がマスク値と一致した時点で、それぞれに対応するイネーブル信号ＥＮ２＿１〜ＥＮ２＿ｎをハイレベルとする。一方、比較器２６＿１〜２６＿ｎは、カウント値がマスク値よりも小さい場合、それぞれに対応するイネーブル信号ＥＮ２＿１〜ＥＮ２＿ｎをロウレベルとする。クロックゲーティング回路２７＿１〜２７＿ｎは、イネーブル信号ＥＮ２＿１〜ＥＮ２＿ｎがハイレベルである場合に第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎを第１のクロック信号ＣＬＫ２＿１〜ＣＬＫ２＿ｎとして出力する。一方、クロックゲーティング回路２７＿１〜２７＿ｎは、イネーブル信号ＥＮ２＿１〜ＥＮ２＿ｎがロウレベルである場合に第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎを遮断して、ロウレベルを出力する。なお、本実施の形態におけるカウンタ２５＿２〜２５＿ｎは、カウント値がマスク値と一致した以降はその値を保持するものとする。
【００４７】
第２のクロック制御回路２２の動作について説明する。図１０に第２の制御信号が"１"であった場合における第２のクロック制御回路２２の動作のタイミングチャートを示し、図１１に、第２の制御信号が"０"であった場合における第２のクロック制御回路２２の動作のタイミングチャートを示す。なお、図１０、１１では、被テスト回路１４、２４がそれぞれ４チャネル構成である場合に対応した例を示している。また、図１０、１１における第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿４は、第１の制御信号の値が"１"であった場合に第１のクロック制御回路１２が出力するものである。図１０、１１に示す例では比較器２６＿１〜２６＿４に設定されるマスク値を"４"とし、第２のクロック制御回路２２は第１のクロック信号ＣＬＫ２＿１〜ＣＬＫ２＿４を出力するものとする。
【００４８】
図１０に示す例では、第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿４は、それぞれタイミングＴ４１〜Ｔ４４で出力される。このとき、カウンタ２５＿１は、第１のクロック信号ＣＬＫ１＿１のクロック数をカウントし、このカウント値が"４"になると比較器２６＿１が出力するイネーブル信号ＥＮ２＿１がハイレベルとなる。そして、タイミングＴ４５で第１のクロック信号ＣＬＫ２＿１の出力が開始される。このタイミングＴ４５とタイミングＴ４１との差は、基準クロックの４クロック分に相当する時間である。第１のクロック信号ＣＬＫ２＿２〜ＣＬＫ２＿４についても、第１のクロック信号ＣＬＫ２＿１と同様に、対応する第１のクロック信号ＣＬＫ１＿２〜ＣＬＫ２＿４から基準クロックの４クロック分に相当する時間だけ遅れて出力が開始される（タイミングＴ４６〜Ｔ４８）。
【００４９】
また、図１１に示す例では、第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿４は、それぞれタイミングＴ５１〜Ｔ５４で出力される。このとき、カウンタ２５＿１は、第１のクロック信号ＣＬＫ１＿１のクロック数のカウントを行うが、このカウント値に依存せず比較器２６＿２が出力するイネーブル信号ＥＮ２＿１がハイレベルとなる。そのため、第１のクロック信号ＣＬＫ２＿１は、第１のクロック信号ＣＬＫ１＿１と実質的に同じタイミングで出力が開始される（タイミングＴ５１）。第１のクロック信号ＣＬＫ２＿２〜ＣＬＫ２＿４についても、第１のクロック信号ＣＬＫ２＿１と同様に、対応する第１のクロック信号ＣＬＫ１＿２〜ＣＬＫ１＿４と実質的に同じタイミングで出力が開始される（タイミングＴ５２〜Ｔ５４）。つまり、図１１の場合（第２の制御信号が"０"（ロウレベル）の場合）は、マスク値が"０"と同義である。
【００５０】
上記説明より、第２のクロック制御回路２２は、第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎの出力開始タイミングと第１のクロック信号ＣＬＫ２＿１〜ＣＬＫ２＿ｎの出力開始タイミングとの間に第２の制御信号の値に基づいて所定のずれ量を持たせるか否かを決定する。つまり、第１のクロック制御回路１２に加えて、第２のクロック制御回路２２を加えることで、クロック制御回路２１は、クロック制御回路１１よりもバリエーションに富んだ第１のクロック信号の出力開始タイミングを設定することが可能である。これによって、実施の形態３にかかるテストパターン生成回路２は、実施の形態１にかかるテストパターン生成回路１よりもバリエーションに富んだバス幅方向のデータの組み合わせを実現することが可能である。
【００５１】
なお、第２の初期値の設定タイミングであるＴ４９、Ｔ５５は、実施の形態１と同じように、すべての疑似乱数発生回路に第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿４が1サイクル以上印加され、それぞれ擬似乱数を生成できるタイミングである。本実施の形態においては、インタフェース回路１４、２４がｎチャネル、第１の制御信号がｍビット、第２の制御回路のマスク値をＬとすれば、少なくとも（２のｍ乗−１）×（ｎ−１）＋Ｌサイクル分の基準クロックが印加されたタイミング以降に設定すればよい。
【００５２】
また、第２のクロック制御回路に第１の制御信号を入力することも可能である。この場合におけるテストパターン生成回路２ａのブロック図を図１２に示す。図１２に示すテストパターン生成回路２ａは、第２のクロック制御回路２２ａを有している。この第２のクロック制御回路２２ａは、内蔵される比較器として、第１のクロック制御回路に内蔵される比較器が採用されている。
【００５３】
この第２のクロック制御回路２２ａの動作のタイミングチャートを図１３に示す。図１３にしめすタイミングチャートは、第１の制御信号の値が"１"である場合を示している。図１３に示すように、この場合、第１のクロック信号ＣＬＫ２＿１は、第１のクロック信号ＣＬＫ１＿１から基準クロックの１クロック分に相当する時間だけ遅れて出力が開始される（タイミングＴ６２）。第１のクロック信号ＣＬＫ２＿２〜ＣＬＫ２＿４についても、対応する入力となる第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿４から基準クロックの１クロック分に相当する時間だけ遅れて出力が開始される（タイミングＴ６３〜Ｔ６５）。
【００５４】
このように、第２のクロック制御回路に第１の制御信号を入力することでも、第１のクロック信号の出力開始タイミングに多くのバリエーションを持たせることが可能である。つまり、クロック制御回路を構成する、第１のクロック制御回路、第２のクロック制御回路は、多ビット構成の第１の制御信号による制御、１ビット構成の第２の制御信号による制御のいずれであっても構成することが可能であり、少なくともいずれか一方の制御信号によるクロック制御回路を有していれば良い。
【００５５】
実施の形態４
実施の形態４にかかるテストパターン生成回路３は、実施の形態３にかかるテストパターン生成回路２にセレクタ３１＿１〜３１＿ｎ、３２＿１〜３２＿ｎを加え、第１のクロック制御回路１２を実施の形態２に示した第１のクロック制御回路１２'に変えたものである。テストパターン生成回路３のブロック図を図１４に示す。セレクタ３１＿１〜３１＿ｎ、３２＿１〜３２＿ｎは、それぞれクロック制御回路２１'の出力端子に対応して接続される。また、セレクタ３１＿１〜３１＿ｎ、３２＿１〜３２＿ｎの出力端子は、それぞれ対応する疑似乱数発生回路１３＿１〜１３＿ｎ、２３＿１〜２３＿ｎに接続される。セレクタ３１＿１〜３１＿ｎ、３２＿１〜３２＿ｎは、選択信号ＳＥＬの値に応じて２つの入力信号のいずれか一方を選択して出力する。
【００５６】
本実施の形態では、セレクタ３１＿１〜３１＿ｎ、３２＿１〜３２＿ｎの一方の入力に第１のクロック信号ＣＬＫ１＿１〜ＣＬＫ１＿ｎ、ＣＬＫ２＿１〜ＣＬＫ２＿ｎが入力され、他方の入力にテストクロックが入力される。テストクロックは実施の形態１のように、基準クロックと同じであってもよいし、高速なクロックであってもよい。ここで、本実施の形態では、テストクロックとして高速クロックが印加され、また高速クロックとしてテストパターン生成回路３が搭載される半導体装置の通常使用状態における動作クロック（例えば、外部メモリとの通信クロック速度＝５３３ＭＨｚ）を使用する。また、高速クロックは、各疑似乱数発生回路に到達するクロックのスキューが調節されたものである。
【００５７】
ここで、テストパターン生成回路３の動作を示すタイミングチャートを図１５に示す。図１５に示す例では、タイミングＴ４９までは選択信号ＳＥＬがロウレベルであるため、クロック制御回路２１'は、図１０に示すタイミングチャートと同じ動作となっている。そして、タイミングＴ４９で、疑似乱数発生回路１３＿１〜１３＿ｎ、２３＿１〜２３＿ｎの第２の初期値が設定されると、その後、タイミングＴ７１でテストが開始される前までに選択信号ＳＥＬをハイレベルとし、タイミングＴ７１以降に入力される高速クロックが疑似乱数発生回路１３＿１〜１３＿ｎ、２３＿１〜２３＿ｎに供給される。これによって、疑似乱数発生回路１３＿１〜１３＿ｎ、２３＿１〜２３＿ｎは、高速クロックに同期して疑似乱数データ列を出力する。
【００５８】
なお、高速クロックに対する選択信号ＳＥＬのタイミング設計がうまくできる場合は、高速クロックは当初からセレクタ３１＿１〜３１＿ｎ、３２＿１〜３２＿ｎに印加し続け、タイミングＴ７１で高速クロックと同期をとって切り替えるように構成してもよい。また、実施の形態３と同様に、内蔵される比較器として、第２のクロック制御回路２２に内蔵される比較器を第１のクロック制御回路１２'に内蔵される比較器に変えた第３のクロック制御回路を構成し、第１のクロック制御回路、第３のクロック制御回路がともに第１の制御信号で制御されるようにしてもよい。また、逆に内蔵される比較器として、第１のクロック制御回路１２'に内蔵される比較器を第２のクロック制御回路２２に内蔵される比較器に変えた第４のクロック制御回路を構成し、第２のクロック制御回路、第４のクロック制御回路がともに第２の制御信号で制御されるようにしてもよい。
【００５９】
上記説明より、テストパターン生成回路３では、半導体装置の動作速度に応じたクロック周波数でテストパターンを生成することが可能である。これによって、半導体装置の実際の動作を確認することが可能になるため、半導体装置の信頼性を向上させることが可能である。
【００６０】
実施の形態５
実施の形態５では、実施の形態１にかかるテストパターン生成回路１を有するテスト回路４について説明する。図１６にテスト回路４を示す。テスト回路４は、テストパターン生成回路１に加えて、インタフェース回路１４、比較器４３＿１〜４３＿ｎ、結果保持回路４４、テスト端子４５を有している。
【００６１】
インタフェース回路１４は、送信回路４１、受信回路４２を有している。送信回路４１と受信回路４２は、配線ＦＬで接続されている。これによって、送信回路４１から送信された信号は、受信回路４２で受信される。
【００６２】
比較器４３＿１〜４３＿ｎは、インタフェース回路１４に接続されるバス配線の信号線のそれぞれに対応して設けられている。つまり、比較器４３＿１〜４３＿ｎの数と疑似乱数発生回路１３＿１〜１３＿ｎの数とは同じ数になる。比較器４３＿１〜４３＿ｎは、疑似乱数発生回路１３＿１〜１３＿ｎが出力するテストパターンとインタフェース回路１４を経由して入力されるテストパターンとを比較する。結果保持回路４４は、テストパターン毎のテスト結果を保持する。テスト端子４５は、テスト結果を取り出すための端子である。
【００６３】
テスト回路４の動作について説明する。まず、テストパターン生成回路１において、第２の初期値の設定を完了させる。その後、テストが開始されると、比較器４３＿１〜４３＿ｎは、疑似乱数発生回路１３＿１〜１３＿ｎが出力するテストパターンとインタフェース回路１４を経由して入力されるテストパターンとの比較結果に基づきスト結果を出力する。このテスト結果は、２つのパターンの値が一致していればＯＫとなり、不一致であればＮＧとなるものである。そして、このテスト結果が結果保持回路４４で保持される。保持されたテスト結果は、テスト終了後にテスト端子４５を介して出力される。
【００６４】
上記説明より、本実施の形態にかかるテスト回路によれば、テストパターン生成回路１において生成されるデータ列方向とバス幅方向とにおいて高いランダム性を有するテストパターンを用いることができる。これによって、回路不良のみならずクロストーク不良の検出を含めたテストカバレッジの高いテストを行うことが可能である。なお、テストパターン生成回路１'、テストパターン生成回路２あるいはテストパターン生成回路３をテスト回路４に採用しても良い。一例として、テストパターン生成回路２をテスト回路４に採用した場合のブロック図を図１７に示す。実施の形態３、４、５では、被テスト回路（インタフェース回路１４、２４）を２つとしているが、第１、第２のクロック制御回路を被テスト回路の数にあわせて追加することによって、任意の数の被テスト回路に対し、テストパターンを生成、提供するように構成することも可能である。
【００６５】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【図面の簡単な説明】
【００６６】
【図１】実施の形態１にかかるテストパターン生成回路のブロック図である。
【図２】実施の形態１にかかる第１のクロック制御回路のブロック図である。
【図３】実施の形態１にかかる第１のクロック制御回路において第１の制御信号の値が"１"である場合の動作を示すタイミングチャートを示す図である。
【図４】実施の形態１にかかる第１のクロック制御回路において第１の制御信号の値が"４"である場合の動作を示すタイミングチャートを示す図である。
【図５】実施の形態２にかかるテストパターン生成回路のブロック図である。
【図６】実施の形態２にかかる第１のクロック制御回路のブロック図である。
【図７】実施の形態２にかかる第１のクロック制御回路において第１の制御信号の値が"１"である場合の動作を示すタイミングチャートを示す図である。
【図８】実施の形態３にかかるテストパターン生成回路のブロック図である。
【図９】実施の形態３にかかる第２のクロック制御回路のブロック図である。
【図１０】実施の形態３にかかる第２のクロック制御回路において第２の制御信号の値が"１"である場合の動作を示すタイミングチャートを示す図である。
【図１１】実施の形態３にかかる第２のクロック制御回路において第２の制御信号の値が"０"である場合の動作を示すタイミングチャートを示す図である。
【図１２】実施の形態３にかかるテストパターン生成回路の他の例を示すブロック図である。
【図１３】実施の形態３にかかる第２のクロック制御回路の他の例において第１の制御信号の値が"１である場合の動作を示すタイミングチャートを示す図である。
【図１４】実施の形態４にかかるテストパターン生成回路のブロック図である。
【図１５】実施の形態４にかかるテストパターン生成回路の動作を示すタイミングチャートである。
【図１６】実施の形態５にかかるテスト回路のブロック図である。
【図１７】実施の形態５にかかるテスト回路においてテストパターン生成回路２を採用した場合のブロック図である。
【図１８】従来例１にかかるテスト回路のブロック図である。
【符号の説明】
【００６７】
１、１'、２、２ａ、３    テストパターン生成回路
４、４ａ    テスト回路
１０    クロック生成回路
１１、１１'、２１、２１'    クロック制御回路
１２、１２'    第１のクロック制御回路
１３＿１〜１３＿ｎ、２３＿１〜２３＿ｎ    疑似乱数発生回路
１４、２４    インタフェース回路
１５、１７＿２〜１７＿ｎ、２５＿１〜２５＿ｎ    カウンタ
１６＿１〜１６＿ｎ、２７＿１〜２７＿ｎ    クロックゲーティング回路
１８＿２〜１８＿ｎ、２６＿１〜２６＿ｎ、４３＿１〜４３＿ｎ    比較器
２２、２２ａ    第２のクロック制御回路
３１＿１〜３１＿ｎ、３２＿１〜３２＿ｎ    セレクタ
４１、５１    送信回路
４２、５２    受信回路
４４、５４    結果保持回路
４５、５５    テスト端子
【図１】
2008180592.tif 000003
【図２】
2008180592.tif 000004
【図３】
2008180592.tif 000005
【図４】
2008180592.tif 000006
【図５】
2008180592.tif 000007
【図６】
2008180592.tif 000008
【図７】
2008180592.tif 000009
【図８】
2008180592.tif 000010
【図９】
2008180592.tif 000011
【図１０】
2008180592.tif 000012
【図１１】
2008180592.tif 000013
【図１２】
2008180592.tif 000014
【図１３】
2008180592.tif 000015
【図１４】
2008180592.tif 000016
【図１５】
2008180592.tif 000017
【図１６】
2008180592.tif 000018
【図１７】
2008180592.tif 000019
【図１８】
2008180592.tif 000020