(57)【要約】【課題】テスタによる機能テストのテスト精度を低下させずに、テスタ用テストパタンにおけるタイミングセット数を削減する。【解決手段】本発明によるテスタ用テストパタンの生成方法は、論理設計時に生成された第１テストパタン２０１を、半導体集積回路で用いられる最高周波数のクロック信号２０に応じたサイクルでサイクライズするステップと、第１テストパタン２０１におけるタイミングエッジを、タイミングエッジ直前のピリオド境界に変更して第２テストパタン３０１を生成するステップとを具備する。【選択図】図４
2011112407.tif 000002
【特許請求の範囲】
【請求項１】
論理設計時に生成された第１テストパタンを、半導体集積回路で用いられる最高周波数のクロック信号に応じたサイクルでサイクライズするステップと、
前記第１テストパタンにおけるタイミングエッジを、前記タイミングエッジ直前のピリオド境界に変更して第２テストパタンを生成するステップと
を具備する
テスタ用テストパタンの生成方法。
【請求項２】
請求項１に記載のテスタ用テストパタンの生成方法において、
前記第２テストパタンを用いて論理シミュレーションを行うステップと、
前記論理シミュレーション結果に基づいて、前記半導体集積回路を試験するテスタ用のテストパタンを設定するステップと
を更に具備する
テスタ用テストパタンの生成方法。
【請求項３】
請求項２に記載のテスタ用テストパタンの生成方法において、
前記テスタ用のテストパタンを設定するステップは、
前記論理シミュレーション結果と期待値との一致を検証するステップと、
前記論理シミュレーション結果が全てのサイクルにおいて前記期待値と一致する場合、前記第２テストパタンをテスタ用テストパタンとして前記記憶装置に記録するステップと
を備える
テスタ用テストパタンの生成方法。
【請求項４】
請求項３に記載のテスタ用テストパタンの生成方法において、
前記テスタ用のテストパタンを設定するステップは、
前記第２テストパタンにおける複数のテスト信号のそれぞれのタイミングエッジを、前記第１テストパタンにおけるタイミングエッジの位置に戻した複数の第４テストパタンを生成するステップと、
前記複数の第４テストパタンの各々を用いて論理シミュレーションするステップと、
前記各第４テストパタンを用いた論理シミュレーション結果と、前記期待値とをサイクル毎に比較し、不一致となる第１サイクル数を計数するステップと、
前記第２テストパタンを用いた論理シミュレーション結果と前記期待値とをサイクル毎に比較し、不一致となる第２サイクル数を計数するステップと、
前記第２サイクル数から前記第１サイクル数を減じた値が小さい順に、所定の数の第４テストパタンを前記複数の第４テストパタンから選択するステップと、
前記選択された第４テストパタンにおいて第１テストパタンと同じタイミングエッジのテスト信号に対応する端子を選択するステップと、
前記第１テストパタンにおいて、前記端子に入力するテスト信号以外のテスト信号のタイミングエッジを前記タイミングエッジの直前のピリオド境界に変更して第５テストパタンを生成するステップと
前記第５テストパタンをテスタ用テストパタンとして記録するステップと
を備える
テスタ用テストパタンの生成方法。
【請求項５】
請求項３又は４に記載のテスタ用テストパタンの生成方法において、
前記テスタ用のテストパタンを設定するステップは、
前記第２テストパタンにおける複数のテスト信号のそれぞれのタイミングエッジを、前記第１テストパタンにおけるタイミングエッジの位置に戻した複数の第４テストパタンを生成するステップと、
前記複数の第４テストパタンの各々を用いて論理シミュレーションするステップと、
前記各第４テストパタンを用いた論理シミュレーション結果と、前記期待値とをサイクル毎に比較し、不一致となる第１サイクル数を計数するステップと、
前記第２テストパタンを用いた論理シミュレーション結果と前記期待値とをサイクル毎に比較し、不一致となる第２サイクル数を計数するステップと、
前記第２サイクル数から前記第１サイクル数を減じた値が、所定の数より小さい第４テストパタンを前記複数の第４テストパタンから選択するステップと、
前記選択された第４テストパタンにおいて第１テストパタンと同じタイミングエッジのテスト信号に対応する端子を選択するステップと、
前記第１テストパタンにおいて、前記端子に入力するテスト信号以外のテスト信号のタイミングエッジを前記タイミングエッジの直前のピリオド境界に変更して第５テストパタンを生成するステップと
前記第５テストパタンをテスタ用テストパタンとして記録するステップと
を備える
テスタ用テストパタンの生成方法。
【請求項６】
請求項１から５のいずれか１項に記載のテスタ用テストパタンの生成方法を、コンピュータに実行させるテスタ用テストパタン生成プログラム。
【請求項７】
論理設計時に生成された第１テストパタンを、半導体集積回路で用いられる最高周波数のクロック信号に応じたサイクルでサイクライズし、前記第１テストパタンにおけるタイミングエッジを、前記タイミングエッジ直前のピリオド境界に変更して第２テストパタンを生成するパタン生成制御部と、
を具備する
テスタ用テストパタン生成装置。
【請求項８】
請求項７に記載のテスタ用テストパタン生成装置において、
前記第２テストパタンを用いて論理シミュレーションを行うシミュレーション部と
を更に具備し、
前記パタン生成制御部は、前記論理シミュレーション結果に基づいて、前記半導体集積回路を試験するテスタ用のテストパタンを設定する
テスタ用テストパタン生成装置。
【請求項９】
請求項８に記載のテスタ用テストパタン生成装置において、
前記論理シミュレーション結果と期待値との一致を検証する期待値照合部を更に具備し、
前記パタン生成制御部は、前記論理シミュレーション結果が全てのサイクルにおいて前記期待値と一致する場合、前記第２テストパタンをテスタ用テストパタンとして前記記憶装置に記録する
テスタ用テストパタン生成装置。
【請求項１０】
請求項９に記載のテスタ用テストパタン生成装置において、
端子識別部を更に具備し、
前記パタン生成制御部は、前記第２テストパタンにおける複数のテスト信号のそれぞれのタイミングエッジを、前記第１テストパタンにおけるタイミングエッジの位置に戻した複数の第４テストパタンを生成し、
前記シミュレーション部は、前記複数の第４テストパタンの各々を用いて論理シミュレーションし、
前記期待値照合部は、各第４テストパタンを用いた論理シミュレーション結果と、前記期待値とをサイクル毎に比較して、不一致となる第１サイクル数を計数し、前記第２テストパタンを用いた論理シミュレーション結果と前記期待値とをサイクル毎に比較して、不一致となる第２サイクル数を計数し、
前記端子識別部は、前記第２サイクル数から前記第１サイクル数を減じた値が小さい順に、所定の数の第４テストパタンを前記複数の第４テストパタンから選択し、前記選択された第４テストパタンにおいて第１テストパタンと同じタイミングエッジのテスト信号に対応する端子を選択し、
前記パタン生成制御部は、前記第１テストパタンにおいて、前記端子に入力するテスト信号以外のテスト信号のタイミングエッジを前記タイミングエッジの直前のピリオド境界に変更して第５テストパタンを生成し、前記第５テストパタンをテスタ用テストパタンとして記録する
テスタ用テストパタン生成装置。
【請求項１１】
請求項９又は１０に記載のテスタ用テストパタン生成装置において、
端子識別部を更に具備し、
前記パタン生成制御部は、前記第２テストパタンにおける複数のテスト信号のそれぞれのタイミングエッジを、前記第１テストパタンにおけるタイミングエッジの位置に戻した複数の第４テストパタンを生成し、
前記シミュレーション部は、前記複数の第４テストパタンの各々を用いて論理シミュレーションし、
前記期待値照合部は、前記各第４テストパタンを用いた論理シミュレーション結果と、前記期待値とをサイクル毎に比較し、不一致となる第１サイクル数を計数し、前記第２テストパタンを用いた論理シミュレーション結果と前記期待値とをサイクル毎に比較し、不一致となる第２サイクル数を計数し、
前記端子識別部は、前記第２サイクル数から前記第１サイクル数を減じた値が、所定の数より小さい第４テストパタンを前記複数の第４テストパタンから選択し、前記選択された第４テストパタンにおいて第１テストパタンと同じタイミングエッジのテスト信号に対応する端子を選択し、
前記パタン生成制御部は、前記第１テストパタンにおいて、前記端子に入力するテスト信号以外のテスト信号のタイミングエッジを前記タイミングエッジの直前のピリオド境界に変更して第５テストパタンを生成し、前記第５テストパタンをテスタ用テストパタンとして記録する
テスタ用テストパタン生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テスタ用テストパタンの生成方法、テスタ用テストパタンの生成プログラム、及びテスタ用テストパタン生成装置に関し、特に、半導体集積回路をテストするテスタ用のテストパタンの生成方法に関する。
【背景技術】
【０００２】
半導体集積回路（例示：ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ））が設計通りに動作するか否か検査する機能検査が知られている。機能検査では、テスタを用いて半導体集積回路の入力端子に所定の論理データを入力し、その出力結果と期待値とを比較することで、所望の動作が行われているか否かが判定される。
【０００３】
テスタは、所定のクロック信号に応じたタイミングで、論理データに対応するパルス波形を生成し、入力端子に入力する。詳細には、テスタは、所定のクロック信号に応じた周期（サイクル）毎に、論理データに応じたタイミングエッジを設定する。すなわち、論理データ（テスト信号）は、サイクル単位で入力端子に入力される。より具体的には、テスタは、論理データに応じて設定されたタイミングデータと、端子毎に指定された波形モードとに基づいて、テスト信号のサイクル長及びタイミングエッジを設定する。例えば、波形モードがＮＲＺである場合、テスタは、１サイクル内に１回のタイミングエッジを有するＮＲＺ波形を生成する。この場合、テスタは、論理データが“１”のとき、１サイクル内において入力信号を立ち上げ、論理データが“０”のとき、１サイクル内において入力信号を立ち下げる。又、同じ論理データが連続した場合、テスタは入力信号のレベルをサイクル内において維持する。
【０００４】
ここで、テスト信号（テストパタン）における、サイクル長（期間長）と、テスト信号の立ち上げ又は立ち下げのタイミング（タイミングエッジ）との組み合わせをタイミングセットと称す。ただし、テストパタンとは、機能検査の際、検査対象の半導体集積回路における全て（あるいは任意の）入力端子に入力されるテスト用の入力信号又はその波形を示す。
【０００５】
例えば、図１を参照して、サイクルＳのピリオド境界ｔから立ち上がり又は立ち下がりまでの時間をタイミングエッジとすると、端子１〜３に入力されるテストパタンでは、サイクルＳとタイミングエッジｔｓ１〜ｔｓ６のそれぞれとの組み合わせが、当該テストパタンにおける３サイクル分のタイミングセットとなる。
【０００６】
一方、ＲＴＬ（Ｒｅｇｉｓｔｅｒ  ｔｒａｎｓｆｅｒ  ｌｅｖｅｌ）の論理シミュレーションで使用されたテストパタンがテスタ用のテスタパタンとして用いられることが知られている。しかし、このテストパタンは、テスタにおけるタイミング制約に適合していない場合があるため、テスタのタイミング制約に適合するように、テストパタンを修正する必要がある。
【０００７】
例えば、特開２００６−４８５４２には、ＲＴＬレベルの論理シミュレーション結果をサイクライズし、この結果がテスタ制約に違反しているか否かを検査する回路設計検証装置が記載されている（特許文献１参照）。又、特開２００６−３０１６９には、サイクルベースシステムであるテスタの動作に合致するようにサイクライズを行って、各端子に対するタイミングセットを決定し、これに基づきテストパタンを自動生成する装置が記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−４８５４２
【特許文献２】特開２００６−３０１６９
【発明の概要】
【発明が解決しようとする課題】
【０００９】
テスタには、タイミング制約として、タイミングセットの数の上限が決められている。論理シミュレーションで用いられたテストパタンは、時刻単位でイベントが設定されているため、タイミングセットやその数は考慮されていない。このため、テスタが利用できるタイミングセット数を超えないようにテストパタンを修正する必要がある。
【００１０】
特許文献１の装置では、テストパタン（テストデータ）がテスタの制約に違反しているか否かを判定し、違反している場合テストデータをネットリストに基づいて再度生成する。ただし、特許文献１には制約を満たすテストデータの具体的な生成方法は記載されていない。
【００１１】
一方、特許文献２の装置では、サイクライズ処理後、波形モードの生成と変化タイミング定義、及びタイミングセットの定義とパタンデータの抽出が行われる。詳細には、特許文献２では、サイクライズされたパタンをサイクライズ長毎にグループ化し、グループ毎にタイミングエッジをＥａｒｌｙ側又はＬａｔｅ側の変化点（ピリオド境界）にアラインする。これによりテストパタンにおけるタイミングセット数を、テスタ制約で規定されたタイミングセット数未満に削減することが可能となる。
【００１２】
しかし、特許文献２に記載のサイクライズ方法では、サイクライズする際のピリオド（１サイクル）の長さが規定されていないため、信号によっては、ピリオド内に複数の変化点が出現し、適性なアライン処理を施すことができない場合がある。このような場合、テストパタンのタイミングセット数を削減できない。あるいは、サイクライズする際のピリオド長を再設定することでアライン処理が可能となるが、この場合、処理時間が長大化してしまう。
【課題を解決するための手段】
【００１３】
上記の課題を解決するために、本発明は、以下に述べられる手段を採用する。その手段を構成する技術的事項の記述には、［特許請求の範囲］の記載と［発明を実施するための形態］の記載との対応関係を明らかにするために、［発明を実施するための形態］で使用される番号・符号が付加されている。ただし、付加された番号・符号は、［特許請求の範囲］に記載されている発明の技術的範囲を限定的に解釈するために用いてはならない。
【００１４】
本発明によるテスタ用テストパタンの生成方法は、論理設計時に生成された第１テストパタン（２０１）を、半導体集積回路で用いられる最高周波数のクロック信号（２０）に応じたサイクル（Ｓ１〜Ｓ５）でサイクライズするステップと、第１テストパタン（２０１）におけるタイミングエッジを、タイミングエッジ直前のピリオド境界に変更して第２テストパタン（３０１）を生成するステップとを具備する。
【００１５】
本発明によるテスタ用テストパタンの生成方法は、コンピュータによって実行されるプログラムによって実現されることが好ましい。
【００１６】
本発明によるテスタ用テストパタン生成装置（１０）は、パタン生成制御部（１０１）とを具備する。パタン生成制御部（１０１）は、論理設計時に生成された第１テストパタン（２０１）を、半導体集積回路で用いられる最高周波数のクロック信号（２０）に応じたサイクル（Ｓ１〜Ｓ５）でサイクライズする。又、パタン生成制御部（１０１）は、第１テストパタン（２０１）におけるタイミングエッジを、タイミングエッジ直前のピリオド境界に変更して第２テストパタン（３０１）を生成する。
【００１７】
以上のように、本発明によれば、タイミングエッジを最高周波数のクロック信号に応じたピリオド境界に変更してテスト用テストパタンを生成している。このため、サイクライズ後のピリオド内には、複数のタイミングエッジ（変化点）が出現することがないため、どのような信号に対しても、タイミングエッジをピリオド境界へ変更でき、タイミングセット数を削減することができる。
【発明の効果】
【００１８】
従って、本発明によれば、テスト対象となる半導体集積回路の全ての端子に適用可能なテスタ用テストパタンにおけるタイミングセット数を削減することができる。
【００１９】
又、テスタ用テストパタンにおけるタイミングセット数を、テスタ制約で規定されたタイミングセット数以内とすることができる。
【００２０】
更に、テスタ制約で規定するタイミングセット数を削減することができる。
【図面の簡単な説明】
【００２１】
【図１】図１は、従来技術で用いられるテスタ用テストパタンの一例を示すタイミングチャートである。
【図２】図２は、本発明によるテスタ用テストパタン生成装置の構成を示す図である。
【図３】図３は、本発明によるテスタ用テストパタン生成装置の機能を示す機能ブロック図である。
【図４】図４は、本発明によるテスタ用テストパタンの生成方法を示すフロー図である。
【図５】図５は、論理設計時に作成されたテストパタンの一例を示すタイミングチャートである。
【図６】図６は、論理設計時に作成されたテストパタンから抽出され、サイクライズされた検証用パタンの一例を示すタイミングチャートである。
【図７】図７は、本発明に係る丸め込みパタンの一例を示すタイミングチャート、及び丸め込みパタンによる論理シミュレーション結果と期待値と比較結果の一例を示す図である。
【図８】図８は、識別用パタンの一例を示すタイミングチャート、及び識別用パタンによる論理シミュレーション結果と期待値と比較結果の一例を示す図である。
【図９】図９は、識別用パタンの一例を示すタイミングチャート、及び識別用パタンによる論理シミュレーション結果と期待値と比較結果の一例を示す図である。
【図１０】図１０は、識別用パタンの一例を示すタイミングチャート、及び識別用パタンによる論理シミュレーション結果と期待値と比較結果の一例を示す図である。
【図１１】図１１は、本発明によるテスタ用テストパタン生成装置によって生成されたテスタ用テストパタンの一例を示すタイミングチャートである。
【発明を実施するための形態】
【００２２】
以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示す。
【００２３】
（テストパタン生成装置の構成）
図２及び図３を参照して、本発明によるテストパタン生成装置の実施の形態における構成を説明する。図２は、本発明によるテストパタン生成装置１０の実施の形態における構成図である。本発明によるテストパタン生成装置１０は、バス１６を介して相互に接続されるＣＰＵ１１、ＲＡＭ１２、入力装置１３、出力装置１４、記憶装置１５を備えるコンピュータ装置である。入力装置１３は、キーボードやマウスに例示され、ユーザによって操作されることで、各種データをＣＰＵ１１や記憶装置１５に出力する。出力装置１３は、モニタやプリンタに例示され、ＣＰＵ１１から出力される回路設計結果をユーザに対し視認可能に出力する。記憶装置１５はハードディスクやメモリ等に例示される記憶装置である。
【００２４】
記憶装置１５は、テストパタン生成プログラム１００、論理設計時に用いられたテストパタン２０１、期待値２０２を格納する。又、記憶装置１５は、テストパタン生成プログラム１００を実行することで生成されたテスタ用テストパタン２０３を格納する領域を有する。
【００２５】
テストパタン２０１は、論理設計時に作成され、設計対象回路の各端子に入力するテスト信号を記述したデータファイルである。テストパタン２０１は、例えばテストパタン自動生成ツール（ＡＴＰＧ：ａｕｔｏｍａｔｉｃ  ｔｅｓｔ  ｐａｔｔｅｒｎ  ｇｅｎｅｒａｔｏｒ）で作成され、ＩＥＥＥで標準化されたテストインタフェース言語（ＳＴＩＬ）や波形生成言語（ＷＧＬ）等で記述される。例えば、テストパタン２０１は、図５に示すような、複数の端子に対応するテスト信号を含む。テストパタン２０１は、図示しない記録媒体（例えば光ディスク）や、図示しない通信インタフェースを介して接続された他の外部装置から取得して記憶装置１５に記録される。
【００２６】
テストパタン２０１は、論理シミュレーション（例えばＲＴＬシミュレーション）を利用して作成される。ＲＴＬシミュレーションでは、ハードウェアの機能を、レジスタやレジスタ間の論理演算でモデリングする。この際、クロックサイクル毎にその論理動作がシミュレーションされる。すなわちテストパタン２０１を用いて論理シミュレーションする場合、端子に入力される論理データはクロック信号に同期した時刻単位で規定される。
【００２７】
図５は、テストパタン２０１の一例を示すタイミングチャートである。図５には、テストパタン２０１の一例として端子１〜３に入力されるテスト信号２１〜２３、及びクロック端子に入力される最高周波数クロック信号２０の一部が示される。ここでは、端子１〜３に入力されるテスト信号２１〜２３の一部のみが示されるが、テストパタン２０１は、検証対象回路の全ての入力端子又は／及び双方向端子に入力されるテスト信号を含む。
【００２８】
期待値２０２は、検証対象回路にテストパタン２０１が入力された場合の論理設計時に想定された応答信号（期待値）である。期待値２０２は、クロックタイミング毎に“Ｈ”レベル又は“Ｌ”レベルで表される。
【００２９】
ＣＰＵ１１は、入力装置１４からの入力に応答して、記憶装置１５内のテストパタン生成プログラム１００を実行し、テスタ用のテストパタン２０３を生成する。この際、記憶装置１５からの各種データやプログラムはＲＡＭ１２に一時格納され、ＣＰＵ１１は、ＲＡＭ１２内のデータを用いて各種処理を実行する。
【００３０】
ＣＰＵ１１は、テストパタン生成プログラム１００を実行することで、図３に示すパタン生成制御部１０１、シミュレーション部１０２、期待値照合部１０３、端子識別部１０４の各機能を実現する。
【００３１】
パタン生成制御部１０１は、時刻単位で表されたテストパタン２０１を所定の期間（サイクル）単位に変換する（サイクライズ）。又、パタン生成制御部１０１は、サイクライズ後のテストパタンにおけるタイミングエッジの変更を行う。詳細には、パタン生成制御部１０１は、テストパタン２０１から所定の期間のテストパタンを、検証対象パタンとして抽出し、テストパタン２０１内における最高周波数クロックに応じた周期（サイクル）で検証対象パタンを分割（サイクライズ）する。パタン生成制御部１０１は、サイクライズされた検証対象パタンにおける全ての端子（テスト信号）又は任意に選択した端子（テスト信号）のタイミングエッジを直前のピリオド境界に変更する（以下、この処理を「丸め込み」と称す）。
【００３２】
以下では、テスト信号波形の変化（立ち上がり又は立ち下がり）のタイミング（時刻）又は変化そのものをタイミングエッジと称して説明する。例えば、検証対象パタンの全ての端子（テスト信号）のタイミングエッジを、当該タイミングエッジの直前のピリオド境界に変更して新たなテストパタンとする。あるいは、所定の端子（テスト信号）のみのタイミングエッジを直前のピリオド境界に変更して新たなテストパタンとする。又、パタン生成制御部１０１は、期待値照合部１０３による照合結果に基づいて、生成したテストパタンをテスタ用のテストパタン２０３として登録する。
【００３３】
本実施の形態において丸め込み処理の対象は、入力端子又は双方向端子の入力タイミングとする。又、丸め込み対象となる波形は、ＮＲＺ波形とする。
【００３４】
本発明では、シミュレーション部１０２及び期待値照合部１０３によって、テストパタンの検証を行う。詳細には、シミュレーション部１０２は、パタン生成制御部１０１において生成されたテストパタンを用いて検証対象回路の論理シミュレーションを行う。期待値照合部１０３は、シミュレーション部１０２における論理シミュレーション結果と期待値２０２とを、サイクル単位で比較して、一致不一致を検証する。シミュレーション部１０２で行われる論理シミュレーションは、例えば、ＲＴＬシミュレーションやゲートレベルシミュレーションである。ここでは、クロックタイミングで論理シミュレーションが行われる。
【００３５】
端子識別部１０４は、期待値照合部１０３で行われたテストパタンの検証結果に基づいて、丸め込みによってテスト精度が低下する端子を識別する。詳細には、パタン生成制御部１０１は、全ての端子のタイミングエッジを丸め込んだテストパタン（以下、丸め込みパタン３０１と称す）のうち、１つの端子（テスト信号）のタイミングエッジをオリジナルパタン（テストパタン２０１）のタイミングエッジに戻した選別用パタンを端子毎に生成する。端子識別部１０４は、丸め込みパタン３０１を用いったシミュレーション結果と期待値２０２との不一致数Ａと、選別用パタンを用いたシミュレーション結果と期待値２０２との不一致数Ｂとをサイクル毎に比較する。端子識別部１０４は、不一致数Ｂから不一致数Ａを減じた数が小さい順に選別用パタンを選択し、当該選別用パタンにおいて、タイミングエッジがオリジナルパタンと同じ端子を、丸め込みによってテスト制度が低下する端子（例えばクロック端子）として指定する。あるいは、端子識別部１０４は、不一致数Ｂから不一致数Ａを減じた数が所定の値より小さい選別用パタンを選択し、当該選別用パタンにおいて、タイミングエッジがオリジナルパタンと同じ端子を、丸め込みによってテスト精度が低下する端子（例えばクロック端子）として指定してもよい。
【００３６】
クロック端子は、クロックタイミングで論理データが確定するため、タイミングエッジを変更することで、期待値不一致が起こる可能性が高い。又、クロック端子のタイミングエッジを変更したテストパタンを用いたテスタによって回路に対する機能テストを行った場合、不具合となるはずの回路出力が期待値と一致したり、不具合のない回路出力が期待値不一致となる可能性が高まる。一方、データ端子は、少なくともクロックエッジの前にデータ値が変更されていればよいため、タイミングエッジの変更によってデータ値が変動する可能性は低い。このため、データ端子に対して丸め込みを行っても、上述のようにテスト精度が低下する可能性は低い。従って、以下では、丸め込みによってテスト精度が低下する端子をクロック端子として指定し、丸め込みによるテスト精度への影響が少ない端子をデータ端子として指定するものとする。ただし、指定されるクロック端子又はデータ端子は、テスト精度への影響を考慮した名称であり、クロック端子として指定した端子が実際はデータ端子である場合や、その逆の場合もあることはいうまでもない。
【００３７】
テストパタン生成制御部１０１は、テストパタン２０１において、クロック端子のタイミングエッジを変更せず、他のデータ端子を丸め込んだテストパタンを生成し、これをテスタ用テストパタン２０３として登録する。
【００３８】
次に、図４から図１１を参照して、本発明によるテスタ用テストパタンの生成方法を説明する。図４は、本発明によるテスタ用テストパタンの生成方法を示すフロー図である。
【００３９】
テスタ用テストパタン生成装置１０は、論理設計時に生成されたテストパタン２０１（オリジナルパタン）を修正することで、テスタ用テストパタン２０３を生成する。先ず、テスタ用テストパタン生成装置１０は、テストパタン２０１における所定の期間のパタンを検証用パタンとして抽出する（ステップＳ１０１）。ここでは、テストパタン２０１から最高周波数クロック信号２０の数クロック周期分の初期パタンが検証用パタンとして抽出される。例えば、図５に示すテストパタン２０１における最初の数クロック分のパタンを検証用パタンとして抽出する。ただし、以下の説明では、簡単のため端子１〜３に入力されるテスト信号２１〜２３についてのみ説明するが、他の端子に対する処理は同様に行われるため、その説明は省略する。
【００４０】
テスタ用テストパタン生成装置１０は、最高周波数クロック信号２０の１周期に対応するサイクルで検証用パタンをサイクライズする（ステップＳ２０２）。図６は、論理設計時に作成されたテストパタンから抽出され、サイクライズされた検証用パタンの一例を示すタイミングチャートである。図６を参照して、検証用パタン（テストパタン２０１）は、最高周波数クロック信号２０の１周期に対応するサイクルＳ１〜Ｓ５で分割される。ここで、サイクルＳ１の開始時刻をピリオド境界ｔ１、サイクルＳ１〜Ｓ５のそれぞれの境界をピリオド境界ｔ２〜ｔ５とする。
【００４１】
テスタ用テストパタン生成装置１０は、検証用パタンにおいて全てのＮＲＺ波形モードの入力・双方向端子のタイミングエッジをピリオド境界に変更し、丸め込みパタン３０１を生成する（ステップＳ１０３）。詳細には、図６及び図７を参照して、端子１（テスト信号２１）において、波形変化のタイミング（タイミングエッジ）ｔ１１、ｔ１２、ｔ１３、ｔ１４を、それぞれ直前のピリオド境界ｔ１、ｔ３、ｔ５に変更する。同様に、端子２（テスト信号２２）において、タイミングエッジｔ２１、ｔ２２、ｔ２３、ｔ２４を、それぞれ直前のピリオド境界ｔ１、ｔ３、ｔ５に変更する。又、端子３（テスト信号２３）において、タイミングエッジｔ３１、ｔ３２、ｔ３３を、それぞれ直前のピリオド境界ｔ２、ｔ３、ｔ４に変更する。ただし、本一例では、タイミングエッジｔ３１、ｔ３２はそれぞれピリオド境界ｔ２、ｔ３上にあるため、変更は行われない。
【００４２】
続いて、テスタ用テストパタン生成装置１０は、丸め込みパタン３０１を用いて論理シミュレーションを実行する（ステップＳ１０４）。ここでは、クロックタイミングで機能シミュレーションが行われる。テスタ用テストパタン生成装置１０は、この論理シミュレーション結果４０と、期待値２０２とを照合する（ステップＳ１０５：第１の期待値照合）。ここでは、サイクル毎に、シミュレーション結果４０と期待値２０２との一致、不一致が検証される。ここで、丸め込みパタン３０１における全てのサイクルにおいて、論理シミュレーション結果４０が期待値２０２と一致する場合、当該丸め込みパタン３０１をテスタ用テストパタン２０３として記憶装置１５に記録する（ステップＳ１０６Ｎｏ、Ｓ１０７）。すなわち、図７に示すような、最高周波数クロック信号２０が入力される端子以外の端子１〜３（テスト信号３１〜３３）がピリオド境界に丸め込まれた丸め込みパタン３０１が、テスタ用テストパタン２０３として記憶装置１５に記録される。
【００４３】
一方、第１の期待値照合において、不一致となるシミュレーション結果（サイクル）が存在する場合、クロック端子とデータ端子を識別する処理に移行する（ステップＳ１０６Ｙｅｓ、Ｓ１０８〜Ｓ１１１）。例えば、図７を参照して、丸め込みパタン３０１を用いて論理シミュレーションした時のシミュレーション結果４０は、サイクルＳ１〜Ｓ５のそれぞれにおいて、Ｓ１（“Ｌ”）、Ｓ２（“Ｈ”）、Ｓ３（“Ｈ”）、Ｓ４（“Ｈ”）、Ｓ５（“Ｌ”）となる。一方、期待値２０２は、Ｓ１（“Ｌ”）、Ｓ２（“Ｈ”）、Ｓ３（“Ｈ”）、Ｓ４（“Ｌ”）、Ｓ５（“Ｌ”）であるため、サイクルＳ４において論理シミュレーション結果４０“Ｈ”と期待値２０２“Ｌ”が不一致となる。このような場合、ステップＳ１０８以降の端子の識別処理に移行する。
【００４４】
ここでは、先ず、テストパタン生成装置１０は、指定した複数の端子のそれぞれに対する選別用パタンを生成する（ステップＳ１０８）。詳細には、テストパタン生成装置１０は、識別対象となる端子を丸め込みパタン３０１から選択する。テストパタン生成装置１０は、選択した複数の端子のうち１つの端子を指定し、当該端子のタイミングエッジをオリジナルパタン（テストパタン２０１）の位置（時刻）に戻して識別用パタンを生成する。これを選択した複数の端子の全てに対して行い、端子毎の識別用パタンを生成する。
【００４５】
図８から図１０は、識別用パタンの一例を示すタイミングチャートを示す図である。例えば、テストパタン生成装置１０は、識別対象端子として端子１〜３を選択する。図８は、端子１に対する識別用パタン４０１を示すタイミングチャートである。図８を参照して、図７に示す丸め込みパタン３０１における端子１〜端子３のうち、端子１のタイミングエッジｔ１、ｔ３、ｔ４、ｔ５を元の時刻ｔ１１、ｔ１２、ｔ１３、ｔ１４に復元し、他の端子２、３のタイミングエッジは丸め込まれた状態を維持する。すなわち、識別用パタン４０１は、オリジナルのテスト信号２１と丸め込みが行われたテスト信号３２、３３を備えるテストパタンとなる。図９は、端子２に対する識別用パタン４０２を示すタイミングチャートである。図９を参照して、丸め込みパタン３０１における端子１〜端子３のうち、端子２のタイミングエッジｔ２、ｔ３、ｔ４、ｔ５を元の時刻ｔ２１、ｔ２２、ｔ２３、ｔ２４に復元し、他の端子１、３のタイミングエッジは丸め込まれた状態を維持する。すなわち、識別用パタン４０２は、オリジナルのテスト信号２２と丸め込みが行われたテスト信号３１、３３を備えるテストパタンとなる。図１０は、端子３に対する識別用パタン４０３を示すタイミングチャートである。図１０を参照して、丸め込みパタン３０１における端子１〜端子３のうち、端子３のタイミングエッジｔ２、ｔ３、ｔ４を元の時刻ｔ３１、ｔ３２、ｔ３３に復元し、他の端子２、３のタイミングエッジは丸め込まれた状態を維持する。すなわち、識別用パタン４０３は、オリジナルのテスト信号２３と丸め込みが行われたテスト信号３１、３２を備えるテストパタンとなる。
【００４６】
識別対象として選択された全ての端子に対して識別用パタンが生成されると、識別用パタンのそれぞれを用いた論理シミュレーション及び第２の期待値照合が行われる（ステップＳ１０９、Ｓ１１０）。ここでは、任意のタイミング（例えばピリオドエンド）で機能シミュレーションが行われる。例えば、図８を参照して、識別用パタン４０１を用いて論理シミュレーションした時のシミュレーション結果４１は、サイクルＳ１〜Ｓ５のそれぞれにおいて、Ｓ１（“Ｌ”）、Ｓ２（“Ｈ”）、Ｓ３（“Ｌ”）、Ｓ４（“Ｌ”）、Ｓ５（“Ｌ”）となる。同様に、図９を参照して、識別用パタン４０２を用いて論理シミュレーションした時のシミュレーション結果４２は、サイクルＳ１〜Ｓ５のそれぞれにおいて、Ｓ１（“Ｌ”）、Ｓ２（“Ｈ”）、Ｓ３（“Ｈ”）、Ｓ４（“Ｌ”）、Ｓ５（“Ｌ”）となる。更に、図１０を参照して、識別用パタン４０３を用いて論理シミュレーションした時のシミュレーション結果４３は、サイクルＳ１〜Ｓ５のそれぞれにおいて、Ｓ１（“Ｌ”）、Ｓ２（“Ｈ”）、Ｓ３（“Ｈ”）、Ｓ４（“Ｈ”）、Ｓ５（“Ｈ”）となる。
【００４７】
ステップＳ１１０における第２の期待値照合では、ステップＳ１０９における論理シミュレーション結果４１〜４３のそれぞれと、期待値２０２とを照合し一致、不一致の数（サイクル数）が計数される。例えば、期待値２０２と論理シミュレーション結果４１との検証結果は、図８に示すように一致数が“４”、不一致数が“１”となる。同様に、期待値２０２と論理シミュレーション結果４２との検証結果は、図９に示すように一致数が“５”、不一致数が“０”となる。更に、期待値２０２と論理シミュレーション結果４３との検証結果は、図１０に示すように一致数が“３”、不一致数が“２”となる。
【００４８】
第２の期待値照合処理が終わると、テスタ用テストパタン生成装置１０は、第１の期待値照合の結果と第２の期待値照合の結果に基づいてクロック端子とデータ端子を識別する（ステップＳ１１１）。ここでは、テスタ用テストパタン生成装置１０は、第１の期待値照合における期待値不一致の数（不一致数Ａ）と第２の期待照合における期待値不一致の数（不一致数Ｂ）とを比較し、その差が大きい識別用パタンに対応する端子をクロック端子として指定する。
【００４９】
例えば、不一致数Ｂが不一致数Ａよりも大きい場合は、丸め込みパタン３０１からタイミングエッジを変更した端子（テスト信号）によって、期待値不一致数が増加したことを示す。一方、不一致数Ｂが不一致数Ａより小さい場合は、丸め込みパタン３０１からタイミングエッジを変更した端子（テスト信号）によって、期待値不一致数が減少したことを示す。このため、不一致数Ｂから不一致数Ａを減じた値が、大きい識別用パタンに対応する端子の丸め込みを禁止することで、丸め込みによる期待値不一致を減少させることが可能となる。
【００５０】
図７から図１０を参照して、丸め込みパタン３０１を用いたシミュレーション結果４０と期待値２０２との不一致数Ａは“１”であり、識別用パタン４０１〜４０３を用いたシミュレーション結果４１〜４３と期待値２０２との不一致数Ｂはそれぞれ、“１”、“０”、“２”である。この場合、識別用パタン４０２に対する不一致数Ｂと不一致数Ａとの差が“−１”と最も小さいため、識別用パタン４０２において、タイミングエッジが検証用パタン２０１と同じ端子２を、クロック端子として指定する。その他の端子１、３は、データ端子として指定される。
【００５１】
ここで、クロック端子として指定する数が予め決められていても構わない。例えば５つの端子をクロック端子として指定する場合、不一致数Ｂから不一致数Ａを減じた値が最も小さい識別用パタンから順に５つのパタンが抽出され、これらに対応する端子がクロック端子として指定され、その他の端子がデータ端子として指定される。又、不一致数Ｂと不一致数Ａとの差が予め決められた閾値よりも小さな値を示す識別用パタンに対応する端子をクロック端子として指定してもよい。更に、不一致数Ｂから不一致数Ａを減じた値が正の識別用パタンに対応する端子をデータ端子として指定し、負の識別用パタンに対応する端子をクロック端子として指定してもよい。ただし、クロック端子の候補となる端子数が多い場合、期待値一致の多い識別用パタンに対応する所定の数の端子をクロック端子として指定する。
【００５２】
テスタ用テストパタン生成装置１０は、ステップＳ１１１において指定した、クロック端子及びデータ端子に入力するテスト信号の波形を規定し、テスタ用テストパタン２０３を生成する（ステップＳ１１２）。詳細には、オリジナルパタンである全ての期間のテストパタン２０１を最高周波数クロック信号２０に応じた周期（サイクル）でサイクライズし、最高周波数クロック信号２０と、クロック端子に入力されるテスト信号のクロックエッジを維持したまま、データ端子に入力されるテスト信号のクロックエッジを直前のピリオド境界に変更する。例えば、図１１を参照して、端子２がクロック端子、端子１、３がデータ端子に指定されている場合、最高周波数クロック信号２０及び端子２のタイミングエッジは、図６に示すオリジナルパタン（テストパタン２０１）を維持し、端子１、３のタイミングエッジは、最高周波数クロック信号２０に応じてサイクライズされたときのピリオド境界に変更する。すなわち、テスタ用テストパタン２０３は、最高周波数クロック信号２０、オリジナルのテスト信号２２、及びタイミングエッジがピリオド境界にアラインされたテスト信号３１、３３によって構成される。尚、クロック端子とデータ端子の特定には、所定の期間のテストパタン（検証用パタン）を用いて行われるが、ステップＳ１１２の処理は、チップ上の全ての入力端子又は／及び双方向端子に入力される全ての期間のテストパタン２０１に対して行われる。
【００５３】
ステップＳ１０１〜Ｓ１０３、Ｓ１０７、Ｓ１０８、及びＳ１１２の処理は、テストパタン生成制御部１０１において実行される。又、ステップＳ１０４及びＳ１０９の処理はシミュレーション部１０２によって実行される。更に、ステップＳ１０５、Ｓ１１０の処理は期待値照合部１０３によって実行される。更に、ステップＳ１１１の処理は、端子識別部１０４によって行われる。
【００５４】
以上のように、本発明では、最高周波数クロックに応じたピリオド境界をタイミングエッジとしているため、タイミングエッジの丸め込みの際、ピリオド（１サイクル）内に複数のタイミングエッジが出現することがない。このため、チップ上の全ての入力端子を丸め込みの対象として、タイミングエッジを共通化してタイミングセット数を削減することができる。又、本発明によるテスタ用テストパタンの生成方法によれば、論理データの取り込みタイミングが厳密な端子（例えばクロック端子）を軽易な方法で特定し、当該端子のタイミングエッジを変更せずに他の端子のタイミングエッジをピリオド境界に変更している。本発明では、クロック端子のようにクロックタイミングでデータを規定する端子におけるタイミングエッジを変更しないため、テスタによる機能テストにおいてタイミングずれよる期待値不一致を招くことがなく、タイミングセット数を削減することが可能となる。
【００５５】
例えば、図１に示すテストパタンのタイミングセットは、サイクル長Ｓとタイミングエッジｔｓ１〜ｔｓ６（ピリオド境界ｔから波形変化タイミングまでの時間）の組み合わせであり、その数は“６”となる。
【００５６】
一方、図１のテストパタンをオリジナルパタンとし、上述の方法によって、クロック端子の指定とそのテスト信号の固定、及びタイミングエッジの変更を行うことで設定されたテスタ用テストパタン２０３を図１１に示す。ここで、ピリオド境界ｔから波形変化タイミングまでの時間をタイミングエッジとすると、テスタ用テストパタン２０３におけるタイミングセットは、サイクルＳとタイミングエッジｔｓ１〜ｔｓ５との組み合わせとなり、その数は“５”となる。本一例では、３つの端子について説明したが、本発明を検証対象回路の全端子に適用した場合、その削減数は膨大となる。従って、本発明により生成されたテスタ用テストパタン２０３のタイミングセット数は、テスタ制約で規定された数以内となる。又、テスタ用テストパタン２０３におけるタイミングセット数を少なく設定できるため、テスタに規定するタイミングセット数自体を少なくすることが可能となる。
【００５７】
特許文献２に記載の方法では、クロック端子のようなタイミング制約の厳しい端子に対してもタイミングエッジのアライン処理が行われてしまう。このようなテストパタンをテスト対象回路に入力して機能テストを実施した場合、クロックタイミングが、想定されたタイミングからずれることがあり、多数の期待値不一致を招く。この場合、クロックタイミングを変更しなければエラーなしとなる回路でも、機能エラーを検出してしまう。すなわち、特許文献２の記載の方法では、テストパタンにおけるタイミングセット数を削減することによって、テスト精度が低下してしまうという問題がある。
【００５８】
一方、本発明によれば、一部の端子のタイミングエッジを変更したテストパタンのシミュレーション結果を利用して丸め込みによるテスト精度への影響を検出することができる。このため、端子に入力されるデータの内容や特性を熟知していなくても、細かい設定なしに、テスト精度を低下させることなくタイミングセット数を削減できる。又、テスト精度を下げることなくタイミングセット数を削減できるため、論理設計時に作成されたテストパタンをＬＳＩテスタに有効に利用することができる。
【００５９】
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。例えば、ステップＳ１１２において設定されるテスタ用テストパタン２０３は、丸め込みパタン３０１を修正することで作成されたが、指定されたクロック端子及びデータ端子を考慮してオリジナルパタン（テストパタン２０１）を修正することで作成されてもよい。
【符号の説明】
【００６０】
１０：テスタ用テストパタン生成装置
１００：テストパタン生成プログラム
１０１：パタン生成制御部
１０２：シミュレーション部
１０３：期待値照合部
１０４：端子識別部
２０１：テストパタン
２０２：期待値
２０３：テスタ用テストパタン
３０１：丸め込みパタン
４０１〜４０３：識別用パタン
【図１】
2011112407.tif 000003
【図２】
2011112407.tif 000004
【図３】
2011112407.tif 000005
【図４】
2011112407.tif 000006
【図５】
2011112407.tif 000007
【図６】
2011112407.tif 000008
【図７】
2011112407.tif 000009
【図８】
2011112407.tif 000010
【図９】
2011112407.tif 000011
【図１０】
2011112407.tif 000012
【図１１】
2011112407.tif 000013