(57)【要約】【課題】不良パターンの抽出を防止することができるテストパターン抽出装置を提供する。【解決手段】デッドエリア定義情報読み取り部４が論理シミュレーション結果データ（波形データ）に対して信号の遷移時間を含み期待値として利用しない期間であるデッドエリアに関するデッドエリア定義情報を取得する。次に、デッドエリア定義情報に基づいて、デッドエリア処理部８が波形データに対してデッドエリアを設定する。そして、デッドエリアを設定した波形データに基づいてテストパターンを抽出する。【選択図】図１
2017072537.tif 000002
【特許請求の範囲】
【請求項１】
回路情報のシミュレーション結果に基づいてテスターで使用するテストパターンを抽出するテストパターン抽出装置であって、
前記シミュレーション結果から得られる結果情報に対して、少なくとも信号の遷移時間を含み期待値として利用しない期間であるデッドエリアに関するデッドエリア情報を取得するデッドエリア情報取得手段と、
前記デッドエリア情報取得手段が取得した前記デッドエリア情報に基づいて、前記結果情報に対して前記デッドエリアを設定するデッドエリア設定手段と、
前記デッドエリア設定手段が前記デッドエリアを設定した結果情報に基づいて前記テストパターンを抽出する抽出手段と、
を有することを特徴とするテストパターン抽出装置。
【請求項２】
前記デッドエリアが設定された結果情報に対してサイクル毎に重み付けをする重み付け情報を取得する重み付け取得手段を更に有し、
前記抽出手段は、前記デッドエリア設定手段が前記デッドエリアを設定した前記結果情報に対して、更に前記重み付け情報に基づく重み付けを行って前記テストパターンを抽出することを特徴とする請求項１に記載のテストパターン抽出装置。
【請求項３】
前記重み付け情報に基づく重み付けが行われた結果情報のテストパターンとしての妥当性を評価した評価情報を生成する評価情報生成手段を更に有することを特徴とする請求項２に記載のテストパターン抽出装置。
【請求項４】
前記抽出手段が抽出した前記テストパターンのサンプリングに関する情報を出力する出力手段を更に有することを特徴とする請求項１乃至３のうちいずれか一項に記載のテストパターン抽出装置。
【請求項５】
回路情報のシミュレーション結果に基づいてテスターで使用するテストパターンを抽出するテストパターン抽出装置のテストパターン抽出方法であって、
前記シミュレーション結果から得られる結果情報に対して、少なくとも信号の遷移時間を含み期待値として利用しない期間であるデッドエリアに関するデッドエリア情報を取得するデッドエリア情報取得工程と、
前記デッドエリア情報取得工程で取得した前記デッドエリア情報に基づいて、前記結果情報に対して前記デッドエリアを設定するデッドエリア設定工程と、
前記デッドエリア設定工程で前記デッドエリアを設定した前記結果情報に基づいて前記テストパターンを抽出する抽出工程と、
を含むことを特徴とするテストパターン抽出方法。
【請求項６】
回路情報のシミュレーション結果に基づいてテスターで使用するテストパターンを抽出するテストパターン抽出プログラムであって、
前記シミュレーション結果から得られる結果情報に対して、少なくとも信号の遷移時間を含み期待値として利用しない期間であるデッドエリアに関するデッドエリア情報を取得するデッドエリア情報取得手段と、
前記デッドエリア情報取得手段が取得した前記デッドエリア情報に基づいて、前記結果情報に対して前記デッドエリアを設定するデッドエリア設定手段と、
前記デッドエリア設定手段が前記デッドエリアを設定した前記結果情報に基づいて前記テストパターンを抽出する抽出手段と、
してコンピュータを機能させることを特徴とするテストパターン抽出プログラム。
【請求項７】
請求項６に記載のテストパターン抽出プログラムを格納したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テストパターン抽出装置、テストパターン抽出方法、テストパターン抽出プログラム及びテストパターン抽出プログラムを格納した記録媒体に関する。
【背景技術】
【０００２】
システムＬＳＩ（Large Scale Integration）等の半導体集積回路の設計において、ロジックテスターでの実デバイスの動作試験には、論理シミュレーター等のシミュレーション結果を利用することが一般的である。この場合、論理シミュレーターから出力される、時間ベースの結果データから、ロジックテスターに用いられるサイクルベースのパターンデータを抽出する作業が必要となる。
【０００３】
例えば、特許文献１には、最小遅延シミュレーションの出力波形と最大遅延シミュレーションの出力波形とを重ね合わせ、それぞれの波形が異なる区間では期待値サンプリングをしないことが開示されている。
【０００４】
しかしながら、特許文献１に記載された方法の場合、最小遅延シミュレーションの出力波形と最大遅延シミュレーションの出力波形との差については考慮されているものの、当該出力波形自体の遷移時間については何ら考慮がされていなかった。
【０００５】
この遷移時間は、信号がロー（以下Ｌとする）レベルからハイ（以下Ｈとする）レベル又はその逆に遷移する時間だけでなく、ＬレベルやＨレベルとハイインピーダンス（電気的にはどこからも信号ドライブがない状態）との間の遷移時間もある。更に入出力兼用信号の場合は、入力と出力との間の遷移時間もある。これらの遷移時間にサンプリングポイントが設定されてしまうと、期待値がサンプリングされたタイミングによって、抽出されたテストパターン（期待値）と実動作との不一致が発生し易くなる。このような不一致は、実デバイスは規定された遅延等の範囲内の動作（正常動作）であるにもかかわらず、テストは不合格といった状態を引き起こしてしまう。従って、このようなテストパターンは不良パターンとして改善を必要とされてしまう。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明はかかる問題を解決することを目的としている。即ち、本発明は、例えば、不良パターンの抽出を防止することができるテストパターン抽出装置を提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記に記載された課題を解決するために、本発明は、回路情報のシミュレーション結果に基づいてテスターで使用するテストパターンを抽出するテストパターン抽出装置であって、前記シミュレーション結果から得られる結果情報に対して、少なくとも信号の遷移時間を含み期待値として利用しない期間であるデッドエリアに関するデッドエリア情報を取得するデッドエリア情報取得手段と、前記デッドエリア情報取得手段が取得した前記デッドエリア情報に基づいて、前記結果情報に対して前記デッドエリアを設定するデッドエリア設定手段と、前記デッドエリア設定手段が前記デッドエリアを設定した結果情報に基づいて前記テストパターンを抽出する抽出手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、デッドエリア情報に基づいてシミュレーションの結果情報に対してデッドエリアを設定して、テストパターンを抽出するので、結果情報に含まれる信号の各種遷移時間をデッドエリアにすることができる。従って、遷移時間による不良パターンの抽出を防止することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態にかかるテストパターン抽出装置のブロック構成図である。
【図２】図１に示されたデッドエリア定義情報の例である。
【図３】図１に示された蓄積ウェイト定義情報の例である。
【図４】従来のテストパターン抽出動作のタイミングチャートである。
【図５】図４の波形に対する図１に示されたテストパターン抽出装置によるテストパターン抽出動作のタイミングチャートである。
【図６】従来のテストパターン抽出動作のタイミングチャートである。
【図７】図６の波形に対する図１に示されたテストパターン抽出装置によるテストパターン抽出動作のタイミングチャートである。
【図８】従来のテストパターン抽出動作のタイミングチャートである。
【図９】図８の波形に対する図１に示されたテストパターン抽出装置によるテストパターン抽出動作のタイミングチャートである。
【図１０】１サイクル当たりのレートと最小解像度の説明図である。
【図１１】蓄積データの蓄積動作を示した説明図である。
【図１２】図１１に示した蓄積データからサンプリングポイントを決定する動作の説明図である。
【図１３】図１に示されたテストパターン抽出装置の動作フローチャートである。
【発明を実施するための形態】
【００１０】
本発明の一実施形態にかかるテストパターン抽出装置を図１乃至図１３を参照して説明する。本実施形態にかかるテストパターン抽出装置１は、図１に示したように、回路抽出情報読み取り部２と、タイミング制約情報読み取り部３と、デッドエリア定義情報読み取り部４と、蓄積ウェイト定義情報読み取り部５と、抽出情報格納部６と、を有している。テストパターン抽出装置１は、更に、シミュレーション結果データ読み取り部７と、デッドエリア処理部８と、タイミングサンプリングブロック９と、蓄積ウェイト付加ブロック１０と、サイクル分割決定ブロック１１と、を有している。テストパターン抽出装置１は、更に、タイミンググルーピングブロック１２と、波形サンプリングブロック１３と、波形編集ブロック１４と、テスター用パターン書き出し部１５と、抽出詳細情報書き出し部１６と、を有している。
【００１１】
テストパターン抽出装置１は、例えばパーソナルコンピュータやワークステーション等のコンピュータで構成することができる。その場合、上述した各ブロックは、コンピュータ上で実行されるプログラム、即ちテストパターン抽出プログラムとして構成することができる。また、このテストパターン抽出プログラムを光ディスク等のコンピュータ読み取り可能な記録媒体に格納して流通させてもよい。
【００１２】
回路抽出情報読み取り部２は、外部から被試験デバイスのピン名称、入出力属性等の回路抽出情報を読み取る（取得する）。
【００１３】
タイミング制約情報読み取り部３は、外部から信号変化タイミング定義等のタイミング制約情報を読み取る（取得する）。
【００１４】
デッドエリア定義情報読み取り部４は、外部からデッドエリア定義情報を読み取る（取得する）。即ち、デッドエリア定義情報はデッドエリアに関するデッドエリア情報であり、デッドエリア定義情報読み取り部４は、デッドエリアに関するデッドエリア情報を取得するデッドエリア情報取得手段として機能する。デッドエリアについての詳細は後述する。
【００１５】
蓄積ウェイト定義情報読み取り部５は、外部から蓄積ウェイト定義情報を読み取る（取得する）。蓄積ウェイト定義情報は、シミュレーションの結果から得られる結果情報に対してサイクル毎に付加する重み付け情報である（詳細は後述する）。即ち、蓄積ウェイト定義情報読み取り部５は、重み付け取得手段として機能する。
【００１６】
抽出情報格納部６は、回路抽出情報読み取り部２が読み取った回路抽出情報やタイミング制約情報読み取り部３が読み取ったタイミング制約情報等の各種情報が格納される。また、抽出情報格納部６は、タイミングサンプリングブロック９の処理結果や、蓄積ウェイト付加ブロック１０の処理結果及び、サイクル分割決定ブロック１１の処理結果等も格納される。
【００１７】
シミュレーション結果データ読み取り部７は、外部から被試験デバイスの回路情報に対して行った論理シミュレーション等の結果データ（シミュレーション結果から得られる結果情報）を読み取る（取得する）。この結果情報は入力信号の波形と出力信号の波形（入出力兼用信号も含む）の情報が含まれるデータ（波形データ等）であればよい。また、波形データは、最大遅延（Ｍａｘ）シミュレーション結果データと最小遅延（Ｍｉｎ）シミュレーション結果データの２つを取得してもよいし、代表値（Ｔｙｐ）による遅延シミュレーション結果データを取得してもよい。
【００１８】
回路抽出情報、タイミング制約情報、デッドエリア定義情報、蓄積ウェイト定義情報、シミュレーション結果データは、ハードディスク、メモリーカードや光ディスク等の記録媒体から読み取ってもよい。或いはテストパターン抽出装置１がＬＡＮ（Local Area Network）等のネットワーク等に接続されている場合はネットワークを介して他のコンピュータや記憶装置等から取得してもよい。
【００１９】
デッドエリア処理部８は、デッドエリア定義情報読み取り部４が読み取ったデッドエリア定義情報に基づいて、シミュレーション結果データ読み取り部７が読み取った波形データに対してデッドエリアを設定する。デッドエリアとは、例えば波形の遷移時間等に設定される（信号の遷移時間を含む）情報であり、このデッドエリアでは期待値として利用しない。図２にデッドエリア定義情報（設定例）を示す。例えば図２のＬレベルからＨレベルへ遷移する場合（Ｌ→Ｈ）は波形の立ち上がり前の所定期間と立ち上がり後の所定期間をデッドエリアとする。また、Ｌレベルからハイインピーダンスへ遷移する場合（Ｌ→Ｚ）は波形としてなまりが著しいためデッドエリアを長く設定することが望ましい。なお、デッドエリアの値は、信号遷移時間の設計値を用いる方法や、実際にロジックテスター等を用いた実測値を参考に設定する等の方法が挙げられる。
【００２０】
タイミングサンプリングブロック９は、デッドエリア処理部８でデッドエリアが設定された波形データに対して波形の変化点のタイミングをサンプリングする。ここで、波形データの変化点とは、出力信号に限らず入力信号の変化点も含むものである。
【００２１】
蓄積ウェイト付加ブロック１０は、蓄積ウェイト定義情報読み取り部５が読み取った蓄積ウェイト定義情報に基づいて、期待値等のサンプリングポイントを決定する。図３に蓄積ウェイト定義情報（設定例）を示す。図３では、“０”は重要度が低く、“１”は重要度が高いとし、入力→出力切り換えサイクル、出力→入力切り換えサイクル、出力サイクルは０〜１の範囲で適宜設定する。また、入力サイクルは“０”に固定する。これは、入力サイクルに期待値を作成することは無いためである。なお、蓄積ウェイト定義情報の具体的な使用方法は後述する。
【００２２】
サイクル分割決定ブロック１１は、サイクル分割位置をクロックサイクル以外の分割位置にする場合に、回路抽出情報やタイミング制約情報等に基づいて決定する。
【００２３】
タイミンググルーピングブロック１２は、タイミング情報が同じ又は類似する信号群をグループ化する。
【００２４】
波形サンプリングブロック１３は、デッドエリア処理部８でデッドエリアが設定された波形データに対して、蓄積ウェイト付加ブロック１０で決定したサンプリングポイントに基づいて入力信号や期待値等をサンプリングする。
【００２５】
波形編集ブロック１４は、例えばユーザ等からの要求により、波形編集が必要な場合に波形サンプリングブロック１３でサンプリングされた入力信号データ期待値データを編集する。例えば、デジアナ混在回路におけるアナログ信号分をマスクする等である。
【００２６】
テスター用パターン書き出し部１５は、波形編集ブロック１４で編集された期待値又は編集が要求されなかった場合は波形サンプリングブロック１３から出力された入力信号データや期待値データをテストパターンとして書き出す（出力する）。書き出し先は、外部の記録媒体であってもよいし、ネットワークを介した他のコンピュータ等であってもよい。
【００２７】
抽出詳細情報書き出し部１６は、抽出情報格納部６に格納されている情報に基づいて  、テスター用パターン書き出し部１５から書き出されたテストパターン抽出時の詳細情報を書き出す（出力する）。抽出詳細情報書き出し部１６は、例えば、表示用のディスプレイ装置や、プリンタ装置等で構成することができる。又は外部の記録媒体への出力装置であってもよいし、ネットワークに接続された他のコンピュータ等に出力する場合は、ネットワークインターフフェース等であってもよい。なお、詳細情報については後述する。
【００２８】
次に、上述した構成のテストパターン抽出装置１におけるテストパターンの抽出動作の具体例を図４乃至図１２を参照して説明する。図４は、従来のテストパターン抽出例である。図４（ａ）は、遅延つき論理シミュレーションによって得られた、ある出力端子の波形結果である。図４（ａ）においては、最小遅延（Ｍａｘ）の場合と最大遅延（Ｍｉｎ）の場合の２つの結果を示している。図４（ａ）において、黒塗り部分（Ｘ）は不定値、ＨレベルとＬレベルの中間レベル（Ｚ）はハイインピーダンスを表している。ロジックテスターを用いた測定においては、ロジックテスターの装置構成上ＨレベルとＬレベルの中間値として測定されるので図示したような中間レベルと表示する。
【００２９】
図４（ｂ）は、図４（ａ）の遅延Ｍａｘと遅延Ｍｉｎのそれぞれ異なる信号値部分を不定値扱いに加工したものである。このようにして、あらゆる遅延において安定しない信号値は「不確定」として扱えるようにする。
【００３０】
図４（ｃ）は、図４（ｂ）において信号値が確定している区間を、「期待値エリア」として表現し明確化したものである（斜線部分）。
【００３１】
図４（ｄ）は、図４（ｃ）で表現した期待値エリアを、サイクル毎に蓄積したものであり、これを「期待値エリアの蓄積データ」と呼ぶ。
【００３２】
図４（ｅ）は、図４（ｄ）の期待値エリアの蓄積データから決定したサンプリングポイントである。このサンプリングポイントは、なるべく安定し、なるべく多くの期待値が取れるように決定する。
【００３３】
図４（ｆ）は、決定したサンプリングポイントに基づいて、図４（ｃ）に示した波形に対してサンプリング（抽出）した「テストパターン（期待値）」である。
【００３４】
図４（ｇ）は、図４（ｆ）で得られたテストパターン（期待値）と実際のロジックテスターで取得した波形とを重ね合わせ、サイクル毎にＰａｓｓ判定、Ｆａｉｌ判定を明示したものである。図中の「ストローブ」とは、期待値と実波形とのマッチングを取るポイントのことで、図４（ｅ）で決定したサンプリングポイントと同等のタイミングとしている。なお、図中の「Ｐａｓｓ領域」とは、実波形と期待値とが一致する区間を表したものである。図４（ｇ）では、サイクルＮ＋５でＦａｉｌ判定（実波形と期待値とが不一致な区間）が発生し、このサイクルＮ＋５では、Ｐａｓｓ領域が無い、つまり、実波形と期待値とが一致する区間が無い。
【００３５】
図４（ｈ）は、図４（ｇ）で示したＰａｓｓ領域を、サイクル毎に蓄積したものであり、これを「Ｐａｓｓ領域の蓄積データ」と呼ぶ。
【００３６】
図４（ｉ）は、図４（ｈ）で得られたＰａｓｓ領域の蓄積データから、すべてのサイクルでＰａｓｓとなった領域を表したものである。これは一般的に「シュムーデータ」と呼ばれている。このシュムーデータとストローブとの関係を「ストローブマージン」という。図４（ｉ）の場合は、サイクルＮ＋５でＰａｓｓ領域が無いため「Ｐａｓｓ領域無し」となり、ストローブマージンが無い不良パターンが抽出されてしまっている。図４の場合、実際のロジックテスター上での波形では、Ｈレベルからハイインピーダンスへ遷移の際に波形がかなりなまってしまうというのに対して、論理シミュレーター上では短時間に遷移しており、これらの食い違いが原因である。
【００３７】
図５に図１に示した構成のテストパターン抽出装置１を用いたテストパターン抽出例を示す。図５（ａ）は図４（ａ）と同様であるので説明は省略する。
【００３８】
図５（ｂ）は、図５（ａ）に対してデッドエリアを付加したものである。つまり、デッドエリア処理部８がデッドエリア定義情報に基づいて図２に示したようなデッドエリアを信号の遷移時間に付加する（図５（ｂ）の斜線で示される期間）。
【００３９】
図５（ｃ）は、図５（ａ）の遅延Ｍａｘと遅延Ｍｉｎのそれぞれ異なる信号値部分と図５（ｂ）のデッドエリアとを不定値扱いに加工したものである。つまり、図５（ａ）の遅延Ｍａｘと遅延Ｍｉｎの少なくとも片方が不定値である期間である。図５（ａ）の遅延Ｍａｘと遅延Ｍｉｎの波形が同一でない期間である。図５（ｂ）遅延Ｍａｘと遅延Ｍｉｎの少なくとも片方がデッドエリアである期間である。以上３つ条件のうちいずれかである場合はデッドエリア処理部８は不定値としている。不定値とすることで、当該不定値期間にサンプリングされた期待値は実測値がどのような値であってもＰａｓｓ扱いとする。つまり、サンプリングされたとしても当該サンプリング値は期待値として扱わないので、期待値をサンプリングしないのと同等となる。なお、デッドエリアを期待値として扱わないようにするに限らず、実測値とのマッチングを行わないようにしてもよい。要するに、期待値として利用しなければよい。
【００４０】
図５（ｄ）〜（ｊ）は図４（ｃ）〜（ｉ）と同様の動作である。即ち、サンプリングポイントを決定し、期待値を抽出して、得られたテストパターン（期待値）と実際のロジックテスターで取得した波形とを重ね合わせる。そして、サイクル毎にＰａｓｓ判定、Ｆａｉｌ判定を明示し、Ｐａｓｓ領域の蓄積データを作成してシュムーデータからストローブマージンを求める。
【００４１】
図５と図４とを比較すると、図５に示したテストパターン抽出装置１を用いた方は期待値がすべてＰａｓｓとなり、ストローブマージンも確保できていることがわかる。これは、サイクルＮ＋２、Ｎ＋３、Ｎ＋５といった信号の変化点を含むサイクルはデッドエリアを設けて不定値とし、実測値としてはどのような値でもＰａｓｓとするようにしているためである。
【００４２】
次に、図４及び図５とは別の動作例について説明する。図６は、従来のテストパターン抽出例である。図６（ａ）に示した出力端子は、図４とは異なり、期待値がとりづらい、短い時間でのＬレベル→Ｈレベル→Ｌレベルと遷移している。
【００４３】
図６（ｂ）〜（ｉ）は、図４と同様にしてテストパターン（期待値）を得て、Ｐａｓｓ領域の蓄積データやシュムーデータを得る。図６の場合、図６（ｈ）では全サイクルでＰａｓｓ判定となっているものの、図６（ｉ）ではＰａｓｓ領域が無く、ストローブマージンがゼロとなっており、不良パターンが抽出されてしまっている。これは、実際のロジックテスター上での波形では、Ｌレベル→Ｈレベル、またはＨレベル→Ｌレベル等の信号遷移にはいくらか時間がかかり、論理シミュレーター上のように短時間で遷移できないことが原因となっている。この例では、Ｌレベル→Ｈレベル→Ｌレベルの遷移が短時間で行われているため、信号が安定している時間が非常に少なく、結果的にＰａｓｓ領域が無くなってしまう。
【００４４】
図７に図６（ａ）の波形に対して、図１に示した構成のテストパターン抽出装置１を用いたテストパターン抽出例を示す。図７も図５と同様にデッドエリアを付加してテストパターンを得たものである。つまり、図７（ｂ）〜（ｊ）は図５（ｂ）〜（ｊ）と同様の動作である。
【００４５】
図７と図６とを比較すると、図７に示したテストパターン抽出装置１を用いた方は期待値がすべてＰａｓｓとなり、ストローブマージンも確保できていることがわかる。これは、サイクルＮ＋４〜Ｎ＋６といった短時間で信号が変化するサイクルはデッドエリアを設けて不定値とし、期待値としてはどのような値でもＰａｓｓとするようにしているためである。なお、このような短時間で信号が変化する部分については、高性能な他のテスターを用いたり、他のテストモードでテストする等といった他の方法で動作検証を別途すればよい。
【００４６】
次に、図６及び図７とは別の動作例について説明する。図８は、従来のテストパターン抽出例である。図７（ａ）に示したテストパターン抽出対象の信号は、入出力兼用信号（ＩＮＯＵＴ）である点が異なる。
【００４７】
図８（ｂ）〜（ｉ）は、図４や図６と同様にしてテストパターン（期待値）を得て、Ｐａｓｓ領域の蓄積データやシュムーデータを得る。図８の場合、図８（ｈ）で全サイクルでＰａｓｓ判定となり、図８（ｉ）でストローブマージンが検出されているが、そのストローブマージンは、非常に少なく、安定した評価ができるテスターパターンとは言い難い。
【００４８】
図９に図８（ａ）の波形に対して、図１に示した構成のテストパターン抽出装置１を用いたテストパターン抽出例を示す。図９も図５や図７と同様にデッドエリアを付加している。
【００４９】
図９の例では、テストパターン抽出対象の信号は、入出力兼用信号である。一般に、入出力が切り替わるサイクルの期待値と、出力専用サイクルの期待値では、後者の方が重要度の高いケースが多い。また、図８に示したように、入出力切り替えタイミングがストローブマージンに影響するケースも多い。
【００５０】
そこで、図９（ｅ）に示すように、期待値エリアの蓄積データでは、入出力切り替えサイクルのデータと、出力専用サイクルのデータそれぞれに対して、１サイクル毎に個別に重み付けをする仕組みを加える。この重みの事を、「蓄積ウェイト」と呼び、この蓄積ウェイトが設定（定義）された情報が図３に示した、サイクル毎に重み付けをする蓄積ウェイト定義情報である。
【００５１】
ここで、図３に示した蓄積ウェイト定義情報からサンプリングポイントを決定する際の動作、即ち、蓄積ウェイト付加ブロック１０の動作を図１０乃至図１２を参照して説明する。
【００５２】
図１０（ａ）は、遅延Ｍａｘと遅延Ｍｉｎのそれぞれ異なる信号値部分とデッドエリアとを不定値扱いに加工し（図９（ｃ）相当の動作）、入力／出力状況を付加したものである。図１０（ｂ）は、図１０（ａ）の各サイクルに図３の蓄積ウェイト定義情報を割り当てたものである。
【００５３】
図１０（ｃ）は、図１０（ｂ）の１サイクル当たりのサイクルレートと、最小解像度の説明図である。図１０（ｃ）では、１サイクルあたりの時間となるサイクルレートを８ｎｓ（ナノ秒）とし、この事例で扱う最小解像度を１ｎｓとする。
【００５４】
図１１は、期待値エリアの蓄積データと図１０に示したサイクル毎の期待値エリア、入力／出力状況、蓄積ウェイトとの関係を示した図である。図１１（ａ）は、蓄積データの初期状態である。最小解像度単位の保存領域を並べた構造をしている。図１１の場合は、最小解像度が１ｎｓでサイクルレートが８ｎｓなので、８個の保存領域を確保した蓄積データとなる。また、「蓄積カウンタ」という蓄積ウェイトの保存領域を持っている。
【００５５】
図１１（ｂ）は、図１０のＮサイクル部分を拡大して表したもので、１番目に蓄積データへ蓄積されるデータである。期待値エリアは、「期待値エリアである」＝“１”、「期待値エリアでない」＝“０”として、最小解像度単位で数値化して取り扱う。
【００５６】
図１１（ｃ）は、図１１（ａ）と（ｂ）とに基づいて蓄積データ及び蓄積カウンタを蓄積したものである。詳しくは、図１１（ｂ）の期待値エリアの数値と、蓄積ウェイトの数値を乗算して、図１１（ａ）に既に保存されている蓄積データへ加算し、新たな蓄積データを得る。例えば、図１１（ａ）と（ｂ）の左端について計算すると、期待値エリアの数値が“０”で蓄積ウェイトの数値が“０”であるので０×０＝０を図１１（ａ）に既に保存されている蓄積データへ加算（０＋０＝０）する。
【００５７】
蓄積カウンタは、蓄積ウェイトの数値を既に保存されている蓄積カウンタへ加算し、新たな蓄積カウンタの値を得る。図１１（ａ）（ｂ）の場合は、図１１（ｂ）の蓄積ウェイトが“０”で、蓄積カウンタの値も“０”であるので、０＋０＝０が新たな蓄積カウンタの値となる。
【００５８】
図１１（ｅ）は、図１１（ｃ）と（ｄ）とに基づいて蓄積データ及び蓄積カウンタを蓄積したものである。図１１（ｄ）は図１０のＮ＋１サイクル部分を拡大して表したものである。このステップでは、図１１（ｃ）の蓄積動作と同様に、図１１（ｄ）の期待値エリアの数値と、蓄積ウェイトの数値を乗算して、図１１（ｃ）に既に保存されている蓄積データへ加算し、新たな蓄積データを得る。蓄積カウンタは、蓄積ウェイトの数値を既に保存されている蓄積カウンタへ加算し、新たな蓄積カウンタの値を得る。例えば、図１１（ｃ）（ｄ）の右端について計算すると、期待値エリアの数値が“１”で蓄積ウェイトの数値が“０．５”であるので１×０．５＝０．５を図１１（ｃ）に既に保存されている蓄積データへ加算（０＋０．５＝０．５）する。蓄積カウンタは、蓄積ウェイトの数値を既に保存されている蓄積カウンタへ加算し、新たな蓄積カウンタの値を得る。図１１（ｃ）（ｄ）の場合は、図１１（ｄ）の蓄積ウェイトが“０．５”で、蓄積カウンタの値が“０”であるので、０．５＋０＝０．５が新たな蓄積カウンタの値となる。
【００５９】
図１１（ｇ）は、図１１（ｅ）と（ｆ）とに基づいて蓄積データ及び蓄積カウンタを蓄積したものである。図１１（ｆ）は図１０のＮ＋２サイクル部分を拡大して表したものである。このステップでは、図１１（ｃ）や（ｅ）の蓄積動作と同様に、図１１（ｆ）の期待値エリアの数値と、蓄積ウェイトの数値を乗算して、図１１（ｅ）に既に保存されている蓄積データへ加算し、新たな蓄積データを得る。蓄積カウンタは、蓄積ウェイトの数値を既に保存されている蓄積カウンタへ加算し、新たな蓄積カウンタの値を得る。例えば、図１１（ｅ）（ｆ）の右端について計算すると、期待値エリアの数値が“１”で蓄積ウェイトの数値が“１”であるので１×１＝１を図１１（ｅ）に既に保存されている蓄積データへ加算（０．５＋１＝１．５）する。蓄積カウンタは、蓄積ウェイトの数値を既に保存されている蓄積カウンタへ加算し、新たな蓄積カウンタの値を得る。図１１（ｅ）（ｆ）の場合は、図１１（ｆ）の蓄積ウェイトが“１”で、蓄積カウンタの値が“０．５”であるので、１＋０．５＝１．５が新たな蓄積カウンタの値となる。
【００６０】
以降も同様にして図１１（ｇ）と（ｈ）、図１１（ｉ）と（ｊ）、図１１（ｋ）と（ｌ）、図１１（ｍ）と（ｎ）、図１１（ｏ）と（ｐ）、それぞれについて蓄積データと蓄積カウンタの蓄積を行って、図１１（ｑ）を得る。この図１１（ｑ）は、図９（ｅ）等に示した期待値エリアの蓄積データと等価なものとなる。
【００６１】
そして、図１１の動作の結果に基づいてサンプリングポイントを算出する。図１２（ａ）は、図１１（ｑ）と全く同じものである。このデータを棒グラフ化したものが、図１３（ｂ）となる。
【００６２】
図１２（ｂ）において、蓄積データ最大値に着目すると、図中ａとｂの区間が蓄積データ最大値であることがわかる。この区間を抜き出したものが、図１２（ｃ）である。図１２（ｃ）では、図１２（ａ）のａとｂに相当する二つの区間が得られている。両者を比較すると、ａに相当する区間は２ｎｓ、ｂに相当する区間は１ｎｓであり、ａに相当する区間の方が大きいためａ側をサンプリングポイントを絞り込む区間して採択する。その結果が、図１２（ｄ）である。なお、ここでは「蓄積データ最大値に着目する」例を挙げたが、他にも「蓄積カウント値の８０％の値に着目する」等の方法でもよい。
【００６３】
そして、図１２（ｄ）で絞られた区間に対して、その中間値をサンプリングポイントと決定する。それが、図１２（ｅ）である。即ち、図１２（ｅ）は図９（ｆ）等に示したサンプリングポイントの決定と等価なものとなる。また、図１０乃至図１２に示した蓄積データによる重み付けに基づいてサンプリングポイントを決定することで、以降、波形サンプリングブロック１３等の動作は、重み付けに基づいてテストパターンを抽出することとなる。
【００６４】
この蓄積データ及び蓄積ウェイトからサンプリングポイントを決定する動作の中で、例えば、図１２（ｂ）では、蓄積データ最大値が蓄積カウント値に達していない。これは、全ての期待値取得サイクルに対して、サンプリングできないサイクルが存在する場合に起きる現象である。ここで、蓄積データ最大値を蓄積カウンタ値で割った値を、サンプリング率と呼ぶ。このサンプリング率が例えば１０％にも満たない等あまりにも低いと、サンプリングできないサイクルが多く存在することとなる。従って、元となった論理シミュレーション結果は、ロジックテスター用のテストパターンを抽出するのに望ましくない（妥当でない）ものであると判断ができる。このような判断結果を蓄積ウェイト付加ブロック１０で行って抽出情報格納部６に格納し、詳細情報として抽出詳細情報書き出し部１６から外部に出力してもよい。即ち、蓄積ウェイト付加ブロック１０は、重み付け情報（蓄積ウェイト定義情報）に基づく重み付けが行われた波形データのテストパターンとしての妥当性を評価した評価情報（サンプリング率）を生成する評価情報生成手段としても機能する。
【００６５】
例えば図７の場合は、蓄積カウント＝８、蓄積データ最大値＝５であり５／８＝６２．５％のサンプリング率となるため、出力サイクルであるにもかかわらず、期待値取得できないサイクルが全体の３０％以上存在していることになる。よって、この図７の波形はロジックテスターによる評価にあまり向いていないと評価することができる。
【００６６】
また、図１２に示す一連の内容はテストパターン抽出装置１の内部にあるデータであるが、このようなテストパターンのサンプリングに関する情報をログデータなどの形で、詳細情報として抽出詳細情報書き出し部１６から外部に出力してもよい。このようにすることで、シュムーデータと比較することができ、元々意図していたテストが実現できているかをチェックすることができるようになる。また、テストパターンのサンプリングに関する情報は、図１２に示した情報に限らず、上述したサンプリング率や図５（ｂ）〜（ｇ）等に示したようなデータであってもよい。即ち、上述した詳細情報は、抽出手段が抽出したテストパターンのサンプリングに関する情報であり、抽出詳細情報書き出し部１６は、抽出手段が抽出したテストパターンのサンプリングに関する情報を出力する出力手段として機能する。
【００６７】
なお、図１０乃至図１２に示した入力→出力切り換えサイクルの蓄積ウェイトは、０．５であったがそれに限らないことはいうまでもない。また、図１０乃至図１２に示した蓄積ウェイト付加ブロック１０の動作は、図９のような入出力兼用信号に限らず、図５や図７に示したような出力専用信号の場合に適用してもよい。
【００６８】
次に、上述したテストパターン抽出装置１の動作（テストパターン抽出方法）を図１３のフローチャートにまとめる。まず、回路抽出情報読み取り部２が回路抽出情報を読み取り（ステップＳ１）、タイミング制約情報読み取り部３がタイミング制約情報を読み取る（ステップＳ２）。次に、デッドエリア定義情報読み取り部４がデッドエリア定義情報を読み取り（ステップＳ３）、蓄積ウェイト定義情報読み取り部５が蓄積ウェイト定義情報を読み取り（ステップＳ４）、シミュレーション結果データ読み取り部７がシミュレーション結果データ（波形データ）を読み取る（ステップＳ５）。
【００６９】
次に、デッドエリア処理部８がステップＳ３で読み込んだデッドエリア定義情報に基づいて、ステップＳ５で読み込んだシミュレーション結果データ（波形データ）にデッドエリアを設定する（ステップＳ６）。
【００７０】
次に、タイミングサンプリングブロック９が波形データの変化点のタイミングをサンプリングする（ステップＳ７）。次に、蓄積ウェイト付加ブロック１０がステップＳ４で読み取った蓄積ウェイト定義情報に基づいてサンプリングポイント（ストローブポイント）を決定する（ステップＳ８）。
【００７１】
次に、サイクル分割決定ブロック１１が必要に応じて回路抽出情報、タイミング制約情報、シミュレーション結果データから最適なサイクル分割位置を決定し（ステップＳ９）、タイミンググルーピングブロック１２が、タイミング情報が同じ又は類似する信号をグループ化する（ステップＳ１０）。
【００７２】
次に、波形サンプリングブロック１３が、ステップＳ６でデッドエリアを設定した波形データをサンプリングしてテストパターン（期待値）を抽出する（ステップＳ１１）。次に、必要に応じて波形編集ブロック１４が波形の編集を行い（ステップＳ１２：Ｙｅｓ、ステップＳ１３）、テスター用パターン書き出し部１５がテスター用パターンを書き出す（ステップＳ１４）。
【００７３】
即ち、ステップＳ３がデッドエリア情報取得工程であり、デッドエリア定義情報読み取り部４がデッドエリア情報取得手段として機能する。また、ステップＳ６がデッドエリア設定工程であり、このデッドエリア処理部８がデッドエリア設定手段として機能する。また、ステップＳ８〜Ｓ１４が抽出工程であり、蓄積ウェイト付加ブロック１０、サイクル分割決定ブロック１１、タイミンググルーピングブロック１２、波形サンプリングブロック１３、波形編集ブロック１４、テスター用パターン書き出し部１５が抽出手段として機能する。
【００７４】
本実施形態によれば、デッドエリア定義情報読み取り部４が論理シミュレーション結果データ（波形データ）に対して期待値として利用しない期間であるデッドエリアに関するデッドエリア定義情報を取得する。次に、デッドエリア定義情報に基づいて、デッドエリア処理部８が波形データに対してデッドエリアを設定する。そして、デッドエリアを設定した波形データに基づいてテストパターンを抽出する。このようにすることにより、信号レベルの遷移期間をデッドエリアとすることができるので、遷移時間によりストローブマージンが減少して不良パターンとなることを防止することができる。
【００７５】
また、蓄積ウェイト定義情報読み取り部５が波形データに対してサイクル毎に重み付けをする蓄積ウェイト定義情報を取得して、蓄積ウェイト付加ブロック１０がデッドエリアを設定した波形データに対して、更に蓄積ウェイト定義情報に基づいて重み付けを行ってテストパターンを抽出している。このようにすることにより、信号が出力サイクルか否か等によって重みをつけることができ、より適切な位置にサンプリングポイントを設定することができる。
【００７６】
また、蓄積ウェイト定義情報に基づく重み付けが行われた蓄積データから、サンプリング率を求めている。このようにすることにより、シミュレーション結果データ読み取り部７が読み取った波形データのテストパターンとしての妥当性を評価することができる。
【００７７】
また、蓄積ウェイト付加ブロック１０等が算出した、蓄積データやそのグラフ等をテストパターンのサンプリングに関する情報として抽出詳細情報書き出し部１６から出力している。このようにすることにより、蓄積データやそのグラフ等をシュムーデータと比較することができ、元々意図していたテストが実現できているかをチェックすることができるようになる。
【００７８】
なお、本発明は上記実施形態に限定されるものではない。即ち、当業者は、従来公知の知見に従い、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。かかる変形によってもなお本発明のテストパターン抽出装置の構成を具備する限り、勿論、本発明の範疇に含まれるものである。
【符号の説明】
【００７９】
１          テストパターン抽出装置
４          デッドエリア定義情報読み取り部（デッドエリア情報取得手段）
５          蓄積ウェイト定義情報読み取り部（重み付け取得手段）
７          シミュレーション結果データ読み取り部
８          デッドエリア処理部（デッドエリア設定手段）
１０        蓄積ウェイト付加ブロック（抽出手段、評価情報生成手段）
１３        波形サンプリングブロック（抽出手段）
１５        テスター用パターン書き出し部（抽出手段）
１６        抽出詳細情報書き出し部（出力手段）
Ｓ３        デッドエリア定義情報を読み取る（デッドエリア情報取得工程）
Ｓ６        デッドエリア定義情報に基づいてシミュレーション結果データにデッドエリアを設定する（デッドエリア設定工程）
Ｓ８        蓄積ウェイト定義情報に基づいてサンプリングポイントを決定する（抽出工程）
Ｓ１１      デッドエリアが設定された波形データをサンプリングし、テストパターンを抽出する（抽出工程）
Ｓ１４      テスター用パターン書き出し（抽出工程）
【先行技術文献】
【特許文献】
【００８０】
【特許文献１】特許第３０１７５０４号公報
【図１】
2017072537.tif 000003
【図２】
2017072537.tif 000004
【図３】
2017072537.tif 000005
【図４】
2017072537.tif 000006
【図５】
2017072537.tif 000007
【図６】
2017072537.tif 000008
【図７】
2017072537.tif 000009
【図８】
2017072537.tif 000010
【図９】
2017072537.tif 000011
【図１０】
2017072537.tif 000012
【図１１】
2017072537.tif 000013
【図１２】
2017072537.tif 000014
【図１３】
2017072537.tif 000015