(57)【要約】【課題】静的検証及び動的タイミングの検証のいずれも、回路内のラッチ及びフリップフロップ等のデータ保持回路が外部クロックに同期したデータ保持の制御を行っているか否かの検出を容易に行う半導体試験装置を提供する。【解決手段】本発明の半導体試験装置は、複数の異なる周波数の外部クロック毎に、回路内における外部クロックによりデータ保持が制御されるデータ保持回路の端子の信号レベルの動的タイミング検証を行い、検証結果を前記外部クロックの周波数毎に波形データとして記憶部に書き込んで記憶させるシミュレーション部と、記憶部から波形データを読み出し、データ保持回路の端子における信号レベルの波形形状の前記外部クロックの異なる周波数間での比較を行い、データ保持回路が外部クロックに対して同期制御されるか否かの判定を行う波形比較部とを備える。【選択図】図１
2013140549.tif 000002
【特許請求の範囲】
【請求項１】
複数の異なる周波数の外部クロック毎に、回路内における外部クロックによりデータ保持が制御されるデータ保持回路の端子の信号レベルの動的タイミング検証により得られた検証結果を、前記外部クロックの周波数毎に波形データとして記憶部に書き込んで記憶させるシミュレーション部と、
前記記憶部から波形データを読み出し、前記データ保持回路の端子における信号レベルの波形形状の前記外部クロックの異なる周波数間での比較を行い、当該データ保持回路が外部クロックに対して同期制御されるか否かの判定を行う波形比較部と
を備えることを特徴とする半導体試験装置。
【請求項２】
波形比較部が同期制御であると判定した前記データ保持回路の波形データから、当該データ保持回路の端子におけるセットアップマージン時間及びホールドマージン時間を異なる周波数毎に抽出するマージン比較部と、
異なる周波数におけるセットアップマージン時間及びホールドマージン時間の各々から、当該セットアップマージン時間及び当該ホールドマージン時間の周波数変化を検出し、動作周波数内におけるセットアップマージン時間及びホールドマージン時間との各々と、予め設定した閾値との比較により、前記データ保持回路が外部クロックに対して同期制御されるデータ保持回路であるか否かの判定を行うラッチ動作判定部と
をさらに備えることを特徴とする請求項１に記載の半導体試験装置。
【請求項３】
前記ラッチ動作判定部が、
周波数とセットアップマージン時間及びホールドマージン時間の各々との関係において、異なる周波数間における周波数変化の線形性の変化に対応してセットアップマージン時間及びホールドマージン時間の各々が線形性の変化を有する場合、動作周波数内において前記セットアップマージン時間及び前記ホールドマージン時間の各々がそれぞれに対応して設けられた閾値を越えるか否かにより、前記データ保持回路が外部クロックに対して同期制御されるか否かの判定を行う
ことを特徴とする請求項２に記載の半導体試験装置。
【請求項４】
前記ラッチ動作判定部が、
周波数とセットアップマージン時間及びホールドマージン時間の各々との関係において、異なる周波数間における周波数変化に対応せず、いずれの周波数でも前記セットアップマージン時間または前記ホールドマージン時間のいずれかまたは双方が周波数が変化しても固定の場合、固定された時間が閾値を越えるか否かにより、前記データ保持回路が外部クロックに対して同期制御されるか否かの判定を行う
ことを特徴とする請求項２または請求項３に記載の半導体試験装置。
【請求項５】
前記ラッチ動作判定部が、
周波数とセットアップマージン時間及びホールドマージン時間の各々との関係において、異なる周波数間における周波数変化の線形性の変化に対応せず、前記セットアップマージン時間または前記ホールドマージン時間のいずれかまたは双方が上下変動する場合、前記セットアップマージン時間または前記ホールドマージン時間が閾値を越えるか否かに係わらず、前記データ保持回路が外部クロックに対して非同期制御であるとの判定を行う
ことを特徴とする請求項２から請求項４のいずれか一項に記載の半導体試験装置。
【請求項６】
動的タイミング検証を複数のテストパターンを用いて行うことを特徴とする請求項１から請求項５のいずれか一項に記載の半導体試験装置。
【請求項７】
シミュレーション部が、複数の異なる周波数の外部クロック毎に、回路内における外部クロックによりデータ保持が制御されるデータ保持回路の端子の信号レベルの動的タイミング検証を行い、検証結果を前記外部クロックの周波数毎に波形データとして記憶部に書き込んで記憶させるシミュレーション過程と、
波形比較部が、前記記憶部から波形データを読み出し、前記データ保持回路の端子における信号レベルの波形形状の前記外部クロックの異なる周波数間での比較を行い、当該データ保持回路が外部クロックに対して同期制御されるか否かの判定を行う波形比較過程と
を含むことを特徴とする半導体試験方法。
【請求項８】
コンピュータを、
複数の異なる周波数の外部クロック毎に、回路内のラッチの端子の信号レベルの動的タイミングの検証を行い、検証結果を前記外部クロックの周波数毎に波形データとして結果記憶部に書き込んで記憶させるシミュレーション手段、
結果記憶部から波形データを読み出し、回路内における外部クロックによりデータ保持が制御されるデータ保持回路の端子における信号レベルの波形形状の前記外部クロックの異なる周波数間での比較を行い、前記データ保持回路が外部クロックに対して同期制御されるか否かの判定を行う波形比較手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体試験装置、半導体試験方法及びそのプログラムに関する。
【背景技術】
【０００２】
従来から半導体装置の回路設計において、回路内部において外部クロックによりデータ保持が制御されるラッチ及びフロップフロップなどのデータ保持回路が、外部クロックに同期したデータ保持の動作を行っているか否かの検証（以下、同期制御判定）が行われている。
すなわち、外部クロックに同期したデータ保持の制御が行われるように設計したデータ保持回路が、シミュレーションにより動作するか否かの検証を行う必要がある。
【０００３】
この外部クロックに対応したデータ保持の同期制御（以下、単に同期制御）が行われているか否かの検証に対し、静的検証を用いた場合、このような検証は、データ保持回路の各々が外部クロックに同期して動作することを前提としていることになる。したがって、外部クロックに同期して動作することを前提とした同期制御の検証としては、回路における個々のセルの遅延量に基づいたタイミングチェックのみが行われる。
【０００４】
この場合、評価対象の各データ保持回路が同期制御または非同期制御のいずれであるかを事前に指示する必要がある。このため、回路のネットリストにおけるラッチやフリップフロップなどのデータ保持回路のネットリストを用いた外部クロックの経路探索により、トポロジカルな判定処理が行われる（例えば、特許文献１参照）。
【０００５】
また、回路内において、非同期制御の動作が行われる動作範囲は、予め予測されるクロックドメインとして設定されている。
このため、ラッチやフリップフロップ等のデータ保持回路間を接続する配線の信号経路探索により、外部クロックが入力されているか否かのトポロジカルな判定処理が行われる（例えば、特許文献２参照）
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−８６８１３号公報
【特許文献２】特開２００９−１８７３４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したデータ保持回路に対する静的検証は、特許文献１及び特許文献２の双方において、半導体基板上に配置された回路の動作に対応した検証ではない。
すなわち、静的検証は、動的なタイミングの検証が行われず、かつ回路におけるセル間の配線の抵抗及び容量などや、外部クロックの分配に用いるバッファ等の遅延情報が含まれておらず、非同期制御のデータ保持回路の検出精度が不十分である。
【０００８】
また、上記同期動作を行っているか否かの検証に対し、動的タイミングの検証を用いる場合、検証用パターン作成及びシミュレーションを行い、このシミュレーションの結果の検証は人手で行われる。
このように、シミュレーション結果の検証を人手で行うのは、回路規模にもよるが、膨大な量のデータ保持回路各々のシミュレーション結果の確認工数がかかるため、現実的ではない。
【０００９】
上述したように、静的検証及び動的タイミングの検証のいずれを用いたとしても、回路内のラッチ及びフリップフロップ等のデータ保持回路が外部クロックに同期したデータ保持の制御を行っているか否かの検出を、容易に行うことができない。
特に、データ保持回路が外部クロックに同期するように設計してあったとしても、外部クロックの周波数の変化等により、ラッチ及びフリップフロップなどのデータ保持回路においてなどにおいて発生する予期しない非同期制御を検出することはできない。
【課題を解決するための手段】
【００１０】
本発明の半導体試験装置は、複数の異なる周波数の外部クロック毎に、回路内における外部クロックによりデータ保持が制御されるデータ保持回路の端子の信号レベルの動的タイミング検証により得られた検証結果を、前記外部クロックの周波数毎に波形データとして記憶部に書き込んで記憶させるシミュレーション部と、前記記憶部から波形データを読み出し、前記データ保持回路の端子における信号レベルの波形形状の前記外部クロックの異なる周波数間での比較を行い、当該データ保持回路が外部クロックに対して同期制御されるか否かの判定を行う波形比較部とを備えることを特徴とする。
【００１１】
本発明の半導体試験方法は、シミュレーション部が、複数の異なる周波数の外部クロック毎に、回路内における外部クロックによりデータ保持が制御されるデータ保持回路の端子の信号レベルの動的タイミング検証を行い、検証結果を前記外部クロックの周波数毎に波形データとして記憶部に書き込んで記憶させるシミュレーション過程と、波形比較部が、前記記憶部から波形データを読み出し、前記データ保持回路の端子における信号レベルの波形形状の前記外部クロックの異なる周波数間での比較を行い、当該データ保持回路が外部クロックに対して同期制御されるか否かの判定を行う波形比較過程とを含むことを特徴とする。
【００１２】
本発明の半導体試験方法は、コンピュータを、複数の異なる周波数の外部クロック毎に、回路内のラッチの端子の信号レベルの動的タイミングの検証を行い、検証結果を前記外部クロックの周波数毎に波形データとして結果記憶部に書き込んで記憶させるシミュレーション手段、結果記憶部から波形データを読み出し、回路内における外部クロックによりデータ保持が制御されるデータ保持回路の端子における信号レベルの波形形状の前記外部クロックの異なる周波数間での比較を行い、前記データ保持回路が外部クロックに対して同期制御されるか否かの判定を行う波形比較手段として機能させるためのプログラムである。
【発明の効果】
【００１３】
この発明によれば、外部クロックに同期してデータ保持の制御を行うように設計したにも係わらず、外部クロックの周波数の変化等により、外部クロックに対して予期しない非同期動作を起こすラッチ及びフリップフロップ等のデータ保持回路を、ユーザに手間を掛けさせずに簡易に精度良く検出することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態による半導体試験装置の構成例を示す概略ブロック図である。
【図２】本実施形態における回路記憶部１６に記憶されるネットリスト情報が示す回路例を示す図である。
【図３】波形比較部１４における異なる周波数間の波形形状の比較を説明するための図である。
【図４】マージン比較部１５における異なる周波数間の波形形状から動作マージンとしてのセットアップマージン時間及びホールドマージン時間を抽出する処理を説明するための図である。
【図５】ラッチ動作判定部１９がセットアップマージン時間ＴSETUPまたはホールドマージン時間ＴHOLDの周波数変化から、ラッチが同期制御データ保持回路であるか、あるいは非同期制御データ保持回路であるかの判定を行う処理の図である。
【図６】ラッチ動作判定部１９がセットアップマージン時間ＴSETUPまたはホールドマージン時間ＴHOLDの周波数変化から、ラッチが同期制御データ保持回路であるか、あるいは非同期制御データ保持回路であるかの判定を行う処理の図である。
【図７】ラッチ動作判定部１９がセットアップマージン時間ＴSETUPまたはホールドマージン時間ＴHOLDの周波数変化から、ラッチが同期制御データ保持回路であるか、あるいは非同期制御データ保持回路であるかの判定を行う処理の図である。
【図８】ラッチ動作判定部１９がセットアップマージン時間ＴSETUPまたはホールドマージン時間ＴHOLDの周波数変化から、ラッチが同期制御データ保持回路であるか、あるいは非同期制御データ保持回路であるかの判定を行う処理の図である。
【図９】本発明の一実施形態による半導体試験装置の回路内のラッチが同期制御であるか非同期制御であるかの同期判定処理の動作例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
本発明は、回路内部における、クロック入力によりデータを保持するラッチあるいはフリップフロップなどのデータ保持回路の動作状態を検出する半導体試験装置である。
すなわち、本発明は、回路内部におけるデータ保持回路が、外部クロックに同期したデータ保持の制御を正常に行うか否かの判定を行う。
本発明において、同期制御データ保持回路は、外部クロック入力端子に入力される外部クロックの周波数を、半導体装置の仕様における動作周波数範囲の範囲内で変化させた場合において、外部クロックに同期したデータ保持の制御を正常に行うデータ保持回路を示す。
一方、非同期制御データ保持回路は、外部クロック入力端子に入力される外部クロックの周波数を、半導体装置の仕様における動作周波数範囲の範囲内で変化させた場合において、外部クロックに同期したデータ保持の制御を正常に行わないデータ保持回路を示す。
【００１６】
以下、図面を参照して、本発明の実施の形態について説明する。図１は、この発明の一実施形態による半導体試験装置の構成例を示す概略ブロック図である。
図１において、本実施形態の半導体試験装置は、システム制御部１１、ラッチ抽出部１２、シミュレータ部１３、波形比較部１４、マージン比較部１５、回路記憶部１６、テストパターン記憶部１７、結果記憶部１８及びラッチ動作判定部１９を備えている。
回路記憶部１６には、被試験対象となる複数の回路のネットリスト情報が、予め書き込まれて記憶されている。
テストパターン記憶部１７には、回路記憶部１６に記憶されている各回路のテストに用いるテストパターンの各々が、予め書き込まれて記憶されている。
【００１７】
ラッチ抽出部１２は、回路記憶部１６に記憶されている回路のネットリスト情報から、ユーザが図示しない入力装置により選択した試験対象の回路のネットリストを読み込む。
また、ラッチ抽出部１２は、予め内部記憶部に書き込まれて記憶されているデータ保持回路（ラッチ及びフリップフロップなど）の素子の接続関係を示す接続情報により、ネットリスト情報から、データ保持回路の抽出を行う。
本実施形態においては、設計上において外部クロックに同期してデータ保持を行うデータ保持回路が、半導体チップ上に作成した際に、実際に外部クロックに同期したデータ保持の制御を行うか否かの検証を行う。このため、回路におけるデータ保持回路の外部クロックに同期したデータ保持の制御が行われているか否かの検証を行う際、被検査対象の回路のパターンレイアウトデータから回路を構成する各セルの接続関係を抽出したネットリスト情報を用いている。このため、本実施形態の後述する回路シミュレーション（動的テスト）で用いるネットリストには、各セル間を接続する配線の配線抵抗及び配線容量などの負荷情報が含まれている。以下、本実施形態においては、データ保持回路としてラッチを例に説明する。
【００１８】
また、ラッチ抽出部１２は、ネットリスト情報における各セル間の端子同士の接続情報（セル間のピンの接続の組合せを示す接続情報）に対し、データ保持回路としてのラッチ識別情報を付加する。
ここで、ラッチ抽出部１２は、上記ラッチ識別信号とともに、各ラッチのクロック入力端子、データ入力端子、データ出力端子、反転データ出力端子などの各々の端子と、対応するセルの端子との対応関係が示されたラッチ識別情報を、結果記憶部１８の対応テーブルに書き込んで記憶させる。
【００１９】
次に、図２は、本実施形態における回路記憶部１６に記憶されるネットリスト情報が示す回路例を示す図である。この図２のラッチＬ＿１及びＬ＿２において、Ｄがデータ入力端子であり、ｃｋがクロック入力端子であり、Ｑがデータ出力端子であり、ＱＢが反転データ出力端子である。
図２（ａ）は、例えばネットリスト情報が、クロックドメインＣＤ１におけるラッチＬ＿１（データ保持回路、例えばＤフリップフロップ）と、クロックドメインＣＤ２におけるラッチＬ＿２と、クロックドメインＣＤ３との接続を示す図である。また、図２（ｂ）は、トランジスタあるいはインバータなどのセル間の各セルの端子の接続状態として、ラッチＬ＿１及びＬ＿２とする回路構成がトポロジカルに設定されていることを示す図である。ラッチ抽出部１２は、内部記憶部に設定されている、図２（ｂ）に示すセル間の各セルの端子の接続状態により、ネットリスト情報からのデータ保持回路の抽出を行う。
【００２０】
シミュレータ部１３は、ユーザの指定した回路の動的テストを行うためのテストパターンを、テストパターン記憶部１７から読み込む。
また、シミュレータ部１３は、上述したネットリスト情報の示す回路に対し、動的テスト（本実施形態においては、回路自身の遅延とともに回路間の配線等の遅延を含む過渡解析シミュレーション（動的タイミング検証）としての回路シミュレーション）を行う。なお、回路自身の遅延を含み、回路間の配線などの遅延を含まない過渡解析シミュレーション（動的タイミング検証）を用いて動的テストを行っても良い。
【００２１】
すなわち、シミュレータ部１３は、上述したラッチ抽出部１２が抽出した各ラッチのクロック入力端子、データ入力端子、データ出力端子、反転データ出力端子の各々の信号レベルの波形を、時刻と当該時刻における電圧値とを対応付けた波形データとして、ラッチ毎に結果記憶部１８の被試験対象の回路単位に対応するシミュレーション結果データに、ラッチ識別情報とともに書き込んで記憶させる。ここで、時刻は、動的テストの時間分解能に対応し、この時間分解能のステップ単位の時間経過における一点である。
このとき、シミュレータ部１３は、回路の動作仕様における動作周波数の範囲（動作周波数範囲）内における複数の周波数、例えば２つ以上の複数の異なる周波数により、各々の回路に対応するテストパターンにより動的テストを行う。
【００２２】
すなわち、同一のテストパターンは、異なる周波数の外部クロック（異なる周期の外部クロック）による動的テスト毎に用いられる。シミュレータ部１３は、被検査対象の回路単位で周波数毎に、各ラッチの端子の各々の信号レベルの波形データを結果記憶部１８におけるシミュレーション結果データに書き込んで記憶させる。
また、シミュレータ部１３は、テストパターンとして入力される、外部クロック入力端子における外部クロックの波形データも、ラッチの端子の波形データと同様に、結果記憶部１８に書き込んで記憶させる。
【００２３】
波形比較部１４は、結果記憶部１８に記憶されている被試験対象のシミュレーション結果データにおけるラッチの端子の信号レベルの波形の波形形状を、異なる周波数間で比較する。
次に、図３は、波形比較部１４における異なる周波数間の波形形状の比較を説明するための図である。この図３に示す波形形状が結果記憶部１８にシミュレータ部１３により書き込まれて、波形データとして、記憶されることになる。
この図３において、シミュレーション結果の波形データとして、図３（ａ）は外部クロックの周期がＴ１の場合の周波数ｆ１での波形データであり、図３（ｂ）は外部クロックの周期が周期Ｔ１より大きいＴ２の場合の周波数ｆ２での波形データである。
したがって、図３（ａ）における外部クロックの周波数は、図３（ｂ）における外部クロックの周波数より高い。このため、例えば、仕様周波数の範囲内において、図３（ａ）の周期Ｔ１の周波数は仕様における動作周波数範囲内の上限近傍とし、図３（ｂ）の周期Ｔ２の動作周波数範囲内の下限近傍に設定する。
【００２４】
すなわち、波形比較部１４は、周期の相対位置、例えば、外部クロックの周期の範囲を示す相対位置における波形の電圧レベルを比較することにより行う。
図３（ａ）においては、時刻ｔｆ１＿１が相対位置１であり、時刻ｔｆ１＿２が相対位置２であり、時刻ｔｆ１＿３が相対位置３である。また、図３（ｂ）においては、時刻ｔｆ２＿１が相対位置１であり、時刻ｔｆ２＿２が相対位置２であり、時刻ｔｆ２＿３が相対位置３である。
【００２５】
図１に戻り、波形比較部１４は、結果記憶部１８に記憶されているシミュレーション結果データから、図３（ａ）の波形に対応するラッチの端子の波形データを読み出す。
読み出した後、波形比較部１４は、図３（ａ）の波形における相対位置１において、ラッチクロックＣＫ（ラッチのクロック入力端子の信号レベル）がレベルＣＫ１（例えば「Ｌ」レベル）であり、ラッチＤ（ラッチのデータ入力端子の信号レベル）がレベルＤ１（例えば「Ｌ」レベル）であり、ラッチＱＢ（ラッチの反転データ出力端子の信号レベル）がレベルＱＢ０（例えば「Ｈ」レベル）であることを検出する。
【００２６】
同様に、波形比較部１４は、図３（ａ）の波形における相対位置２において、ラッチクロックＣＫがレベルＣＫ１であり、ラッチＤがレベルＤ０（例えば「Ｈ」レベル）であり、ラッチＱＢがレベルＱＢ１（例えば「Ｌ」レベル）であることを検出する。
また、波形比較部１４は、図３（ａ）の波形における相対位置３において、ラッチＣＫがレベルＣＫ１であり、ラッチＤがレベルＤ１であり、ラッチＱＢがレベルＱＢ０であることを検出する。
【００２７】
一方、波形比較部１４は、結果記憶部１８に記憶されているシミュレーション結果データから、図３（ｂ）の波形にに対応するラッチの端子の波形データを読み出す。
読み出した後、波形比較部１４は、図３（ｂ）の波形における相対位置１において、ラッチＣＫがレベルＣＫ１であり、ラッチＤがレベルＤ１であり、ラッチＱＢがレベルＱＢ０であることを検出する。
同様に、波形比較部１４は、図３（ａ）の波形における相対位置２において、ラッチＣＫがレベルＣＫ１であり、ラッチＤがレベルＤ０であり、ラッチＱＢがレベルＱＢ１であることを検出する。
また、波形比較部１４は、図３（ａ）の波形における相対位置３において、ラッチＣＫがレベルＣＫ１であり、ラッチＤがレベルＤ１であり、ラッチＱＢがレベルＱＢ０であることを検出する。
【００２８】
ここで、波形比較部１４は、被検査対象のラッチ毎に、図３（ａ）の周波数ｆ１における各相対位置での端子の信号レベルと、図３（ｂ）の周波数ｆ２における各相対位置での端子の信号レベルとを対応する相対位置毎に比較し、信号レベルの遷移（すなわち端子における信号レベルの波形形状）が同一（あるいは相似）か否かの判定を行う。
波形比較部１４は、周波数ｆ１と周波数ｆ２とを用いたシミュレーション結果の波形において、対応する相対位置全てにおける信号レベルの遷移が同一の場合、このラッチにおける波形形状が同一と判定する。
【００２９】
また、波形比較部１４は、結果記憶部１８の回路単位で設けられた波形比較テーブルに対し、波形形状の比較の判定結果を書き込む。この波形比較テーブルは、ラッチを示すラッチ識別情報と、判定結果フラグとが対応して記憶される。
ここで、波形比較部１４は、上述した波形比較処理の結果、波形形状が一致したラッチの判定結果フラグに対して波形形状が一致したことを示す一致フラグを付加し、一方、波形形状が一致しないラッチの判定結果フラグに対して波形形状が一致しないことを示す不一致フラグを付加する。
【００３０】
次に、図４は、マージン比較部１５における異なる周波数間の波形から動作マージンとしてのセットアップマージン時間及びホールドマージン時間を抽出する処理を説明するための図である。本実施形態においては、セットアップマージン時間をSETUP1とし、ホールドマージン時間をＴHOLD1及びＴHOLD2として説明する。この図４において、周波数の関係が図３と同様であり、図４（ａ）が周波数ｆ１においてシミュレーションした結果の波形データの波形を示し、図４（ｂ）が周波数ｆ２においてシミュレーションした結果の波形データの波形を示している。ここで、周波数ｆ１＞周波数ｆ２である。
この図４（ａ）において、時刻ｔｆ１＿４、時刻ｔｆ１＿６及び時刻ｔｆ１＿８の各々は、周波数ｆ１におけるラッチクロックＣＫの周期を示す時刻、すなわちラッチクロックＣＫの立ち上がりタイミングの時刻を示している。同様に、図４（ｂ）において、時刻ｔｆ２＿４、時刻ｔｆ２＿６及び時刻ｔｆ２＿８の各々は、周波数ｆ２におけるラッチクロックＣＫの周期を示す時刻、すなわちラッチＣＫの立ち上がりタイミングの時刻を示している。
【００３１】
図１に戻り、マージン比較部１５は、結果記憶部１８のシミュレーション結果データから、図４（ａ）に示す周波数ｆ１によりシミュレーションした際の波形データを読み込む。
読み込んだ後、マージン比較部１５は、図４（ａ）の波形から、時刻ｔｆ１＿４からラッチＤの信号レベルの変化時刻ｔｆ１＿５（図では立ち上がり）までのホールドマージン時間ＴHOLD1と、変化時刻ｔｆ１＿５から時刻ｔｆ１＿６までのセットアップマージン時間ＴSETUP1と、時刻ｔｆ１＿６からラッチＤの信号レベルの変化時刻ｔｆ１＿７（図では立ち下がり）までのホールドマージン時間ＴHOLD2とを検出する。
【００３２】
同様に、マージン比較部１５は、結果記憶部１８のシミュレーション結果データから図４（ｂ）に示す周波数ｆ２によりシミュレーションした際の波形データを読み込む。
読み込んだ後、マージン比較部１５は、図４（ｂ）の波形から、時刻ｔｆ２＿４からラッチＤの信号レベルの変化時刻ｔｆ２＿５までのホールドマージン時間ＴHOLD1と、変化時刻ｔｆ２＿５から時刻ｔｆ２＿６までのセットアップマージン時間ＴSETUP1と、時刻ｔｆ２＿６からラッチＤの信号レベルの変化時刻ｔｆ２＿７までのホールドマージン時間ＴHOLD2とを検出する。
【００３３】
また、マージン比較部１５は、周波数単位に、周波数単位でラッチ毎に波形から抽出したホールドマージン時間ＴHOLD1、ホールドマージン時間ＴHOLD2及びセットアップマージン時間ＴSETUP1を、周波数単位にラッチ単位で結果記憶部１８の抽出時刻テーブルに書き込んで記憶させる。
この抽出時刻テーブルは、周波数単位において、ラッチ識別情報と、このラッチ識別情報の示すラッチの端子に対応してホールドマージン時間ＴHOLD1、ホールドマージン時間ＴHOLD2及びセットアップマージン時間ＴSETUP1とが時間データの組として記憶される。
【００３４】
ラッチ動作判定部１９は、波形比較部１４が判定した波形形状の形状比較の結果と、マージン比較部１５が波形から抽出したホールドマージン時間ＴHOLD1、ホールドマージン時間ＴHOLD2及びセットアップマージン時間ＴSETUP1とにより、各ラッチが外部クロックに対してデータ保持をする同期制御を行う同期制御データ保持回路であるか、あるいは外部クロックに対してデータ保持をする同期制御を行わない非同期制御データ保持回路のいずれかであるかの判定を行う。ここで、ラッチ動作判定部１９は、結果記憶部１８の判定結果テーブルから不一致フラグが付加されているラッチ識別情報を検索する。
ここで、ラッチ動作判定部１９は、検索された不一致フラグが負荷されているラッチ識別情報の示すラッチを、非同期制御データ保持回路と判定する。
そして、ラッチ動作判定部１９は、結果記憶部１８におけるシミュレーション結果データにおける被検査対象としたラッチに対して、非同期制御判定データを判定情報として書き込んで記憶させる。
【００３５】
また、ラッチ動作判定部１９は、結果記憶部１８における判定結果テーブルにおいて、判定結果フラグとして一致フラグが付加されているラッチ識別情報を検索する。
そして、ラッチ動作判定部１９は、判定結果テーブルにおいて検索されたラッチ識別情報の示すラッチのホールドマージン時間ＴHOLD1、ホールドマージン時間ＴHOLD2及びセットアップマージン時間ＴSETUP1を結果記憶部１８の抽出時刻テーブルから読み出す。
各時間を読み出した後、ラッチ動作判定部１９は、ラッチが同期制御データ保持回路であるか、あるいは非同期制御データ保持回路であるかの判定を、読み出したホールドマージン時間ＴHOLD1、ホールドマージン時間ＴHOLD2及びセットアップマージン時間ＴSETUP1を用いて行う。
【００３６】
次に、図５、図６、図７及び図８の各々は、ラッチ動作判定部１９がセットアップマージン時間ＴSETUPまたはホールドマージン時間ＴHOLDの周波数変化から、ラッチが同期制御データ保持回路であるか、あるいは非同期制御データ保持回路であるかの判定を行う処理の図である。この図５、図６、図７及び図８の各々は、仕様における動作周波数範囲における最大動作周波数（ｓｐｅｃ  ｍａｘ）近傍、最小動作周波数（ｓｐｅｃ  ｍｉｎ）近傍、動作周波数範囲の中央（ｓｐｅｃ  ｍｉｄ）の３つの異なる周波数で、回路の動的タイミング検証（回路シミュレーション）を行った結果を示している。すなわち、図５、図６、図７及び図８の各々は、異なる周波数の各々と、対応するマージン値の時間（ホールドマージン時間ＴHOLD1、ホールドマージン時間ＴHOLD2及びセットアップマージン時間ＴSETUP1）との対応を示す図である。
また、図５、図６、図７及び図８の各々は、縦軸がセットアップマージン時間（ｔSETUP）あるいはホールドマージン時間（ｔHOLD）を示し、横軸が周波数の逆数（１／ｆ、すなわち１周期の時間）を示している。
【００３７】
図５は、ラッチのマージン値の各時間（ホールドマージン時間ＴHOLD1、ホールドマージン時間ＴHOLD2及びセットアップマージン時間ＴSETUP1）が異なる周波数に対して、周波数が異なった場合でも一定値をとる固定状態であり、どの周波数においてもタイミング違反を起こす危険性がない。
このため、ホールドマージン時間ＴHOLD1、ホールドマージン時間ＴHOLD2及びセットアップマージン時間ＴSETUP1の全てが図５の結果を有する場合、これらマージン値に対応するラッチは同期制御データ保持回路である。
一方、ホールドマージン時間ＴHOLD1、ホールドマージン時間ＴHOLD2及びセットアップマージン時間ＴSETUP1の各々のマージン値のいずれか一つでも、それぞれのマージン値に対して予め設定されている閾値（ラッチのセットアップ時間あるいはホールド時間）を下回っている場合、これらマージン値に対応するラッチは非同期制御データ保持回路である。
【００３８】
図６は、ラッチのマージン値（ホールドマージン時間ＴHOLD1、ホールドマージン時間ＴHOLD2及びセットアップマージン時間ＴSETUP1の各時間）が周波数の変化に対応して線形変化している。このため、仕様における動作周波数範囲内の周波数におけるマージン値を満足するか否かの判定が可能となることを示している。
すなわち、この図６の場合、３つの異なる周波数におけるマージン値の測定点を結ぶ直線を求める。そして、仕様における動作周波数範囲内において、この求めた直線がマージン値の閾値を示す直線と交差し、この閾値を下回ることが無いことが推定できる（本実施形態においては、後述するように、ラッチ動作判定部１９が推定の処理を行う）。
【００３９】
このため、ホールドマージン時間ＴHOLD1、ホールドマージン時間ＴHOLD2及びセットアップマージン時間ＴSETUP1の全てが図６に示すように、動作周波数範囲内においてマージン値の閾値を下回る部分が直線に無い場合、すなわち、動作周波数範囲内のマージン値が閾値を越える結果を有する場合、これらマージン値に対応するラッチは同期制御データ保持回路である。
一方、ホールドマージン時間ＴHOLD1、ホールドマージン時間ＴHOLD2及びセットアップマージン時間ＴSETUP1のいずれか一つでも閾値（セットアップ時間、ホールド時間）を下回れば、このマージン値に対応するラッチは非同期制御データ保持回路である。
【００４０】
図７は、図６と同様に、ラッチのマージン値（ホールドマージン時間ＴHOLD1、ホールドマージン時間ＴHOLD2及びセットアップマージン時間ＴSETUP1の各時間）が周波数の変化に対応して線形変化している。このため、仕様における動作周波数範囲内におけるマージン値を満足するか否かの判定が可能となることを示している。この図７の場合、３つの異なる周波数におけるマージン値の測定点を結ぶ直線を求める。そして、仕様における動作周波数範囲内において、この求めた直線がマージン値の閾値を示す直線と交差し下回ることが推定できる。
このため、図７に示すように、ホールドマージン時間ＴHOLD1、ホールドマージン時間ＴHOLD2及びセットアップマージン時間ＴSETUP1のいずれか一つでも閾値を下回れば、このマージン値に対応するラッチは非同期制御データ保持回路である。
【００４１】
図８は、ラッチのマージン値（ホールドマージン時間ＴHOLD1、ホールドマージン時間ＴHOLD2及びセットアップマージン時間ＴSETUP1の各時間）が周波数の線形変化に依存せずに上下変動の変化を示すため、仕様における動作周波数範囲内におけるマージン値を満足するか否かの判定が不可能であることを示している。したがって、この図８の場合、仕様における動作周波数内において、３つの異なる周波数における測定点を結ぶ線からマージン値の変化を推定することができず、マージン値がどのように周波数に対して変化するかが不明であるため、マージン値をいずれかにおいて下回ることも推定される。
このため、ホールドマージン時間ＴHOLD1、ホールドマージン時間ＴHOLD2及びセットアップマージン時間ＴSETUP1のいずれか一つでも、図８に示すように周波数の変化に対応して、マージン値が変化しない場合、このマージン値に対応するラッチは非同期制御データ保持回路である。
【００４２】
図１に戻り、ラッチ動作判定部１９は、シミュレーションを行った各周波数のマージン値を結んで直線になるか否かの判定を行う。ここで、ラッチ動作判定部１９は、直線であるか否かの判定を、周期の時間が増加する（周波数が低下する）に従い、マージン値が一定の幅で増加するか否かにより行う。
すなわち、ラッチ動作判定部１９は、周波数の増加に対応し、マージン値が線形変化している場合に直線であり、図８に示すように、増減を繰り返して線形変化しない場合に直線でないと判定する。
また、ラッチ動作判定部１９は、周波数の増加に対して、マージン値が固定されている場合も直線と判定する。
【００４３】
ラッチ動作判定部１９は、直線か否か、すなわち周波数とマージン値とが線形関係にあるか否か判定をする。
すなわち、ラッチ動作判定部１９は、複数の異なる周波数において測定されたマージン値が直線に乗るか否かの検出を行う。
そして、ラッチ動作判定部１９は、検出の結果として、図８に示すように、周波数の変化に依存せずに増減を行うマージン値となる信号レベルの端子を有するラッチを、非同期制御データ保持回路であると判定する。
【００４４】
また、ラッチ動作判定部１９は、図５に示すように、周波数の変化に対してマージン値が固定である、すなわち異なる周波数で測定したマージン値が同様（同一も含む）である場合、このマージン値が閾値を超えているか否かの判定を行う。
ここで、ラッチ動作判定部１９は、マージン値が閾値を下回っている場合、このマージン値となる信号レベルの端子を有するラッチを、非同期制御データ保持回路であると判定する。
【００４５】
また、ラッチ動作判定部１９は、図７に示すように、周波数の変化に対してマージン値が線形に変化している場合、仕様の動作周波数範囲において、求めたマージン値が閾値を超えているか否かの判定を行う。ここで、ラッチ動作判定部１９は、動作周波数範囲における周波数におけるマージン値が閾値を下回っている場合、このマージン値となる信号レベルの端子を有するラッチを、非同期制御データ保持回路であると判定する。
そして、ラッチ動作判定部１９は、結果記憶部１８におけるシミュレーション結果データにおける被検査対象としたラッチに対して、非同期制御判定データを判定情報として書き込んで記憶させる。
【００４６】
また、ラッチ動作判定部１９は、マージン値の全てが、図５に示すように、周波数が変化しても固定されたマージン値であり、かつこのマージン値が閾値を下回らない場合、あるいは図６に示すように、周波数の変化に対して線形に変化するマージン値であり、動作周波数範囲において閾値を下回らない場合の何れかである場合、そのラッチを同期制御データ保持回路であると判定する。
そして、ラッチ動作判定部１９は、結果記憶部１８におけるシミュレーション結果データにおける被検査対象としたラッチに対して、同期制御判定データを判定情報として書き込んで記憶させる。
【００４７】
次に、図１及び図９を用いて、本発明の一実施形態による半導体試験装置の回路内のラッチが同期制御であるか非同期制御であるかの判定処理を説明する。図９は、本発明の一実施形態による半導体試験装置の回路内のラッチが同期制御であるか非同期制御であるかの同期判定処理の動作例を示すフローチャートである。
動作の開始において、ユーザが半導体試験装置を稼働させ、図示しない入力装置から同期判定処理を行う回路を指定する。
ステップＳ１：
ラッチ抽出部１２は、ユーザの指定した回路のネットリスト情報を、回路記憶部１６から読み出す。
そして、ラッチ抽出部１２は、内部記憶部に記憶されているラッチの接続情報により、読み出したネットリスト情報からラッチの抽出を行う。
抽出した後、ラッチ抽出部１２は、抽出したラッチ毎にラッチ識別情報を付加し、当該ラッチ識別情報に対応させて、ラッチの端子と、ネットリスト情報におけるセルの端子との対応関係を示すラッチ情報を、結果記憶部１８の対応テーブルに書き込んで記憶させる。
【００４８】
ステップＳ２：
次に、システム制御部１１は、テストパターン記憶部１７に記憶されている、ユーザが指定した回路に対応するテストパターン毎に、順次、回路のシミュレーション及び同期判定処理を、各部に実行させる。このテストパターン記憶部１７には、回路記憶部１６に記憶されているネットリスト情報に対応する回路単位に、当該回路の動的テストを行うためのテストパターンのデータが、それぞれのテストパターンを示すパターン識別情報とともに、予め書き込まれて記憶されている。
【００４９】
ステップＳ３：
次に、シミュレータ部１３は、結果記憶部１８に記憶されているテストパターンのパターン識別情報を読み出し、テストパターンを記憶部１７に記憶されている被試験対象の回路に対応するテストパターンから、このパターン識別情報以外のテストパターンを読み出す。
また、シミュレータ部１３は、処理ループの初回において結果記憶部１８にテストパターン識別情報が書き込まれていないため、テストパターン記憶部１７に記憶されている最初のテストパターンのデータを読み出す。さらに、シミュレーション部１３は、被試験対象の回路のラッチ情報を、結果記憶部１８から読み込む。
そして、シミュレータ部１３は、この読み出したテストパターンのデータにより、被試験対象の回路の動的テストを実行する。このとき、シミュレータ部１３は、動的テストにおいて、ラッチ情報に示されているラッチの端子（実際にはこのラッチの端子に対応したセルの端子）における信号レベルの波形データを取得する。
【００５０】
このとき、シミュレータ部１３は、１つのテストパターンに対して、外部クロックの周波数を、複数の異なる周波数毎に行う。
例えば、回路の仕様における動作周波数範囲の下限周波数近傍の第１の周波数、上限周波数近傍の第２の周波数、さらに第１の周波数と第２の周波数の間にある第３の周波数により行う。周波数の関係は、第１の周波数＜第３の周波数＜第２の周波数となっている。
【００５１】
ステップＳ４：
そして、シミュレータ部１３は、動的テストの結果として、回路の回路識別情報を単位として、結果記憶部１８のシミュレーション結果データに、各ラッチの端子の波形データを、各テストパターン識別情報、周波数、ラッチの端子に対応させ、書き込んで記憶させる。
【００５２】
ステップＳ５：
次に、システム制御部１１は、結果記憶部１８のシミュレーション結果データに記憶されている、被試験対象の回路における現在のテストパターンのパターン識別情報に対応する波形データを用いて、各ラッチの同期判定処理を各部（波形比較部１４、マージン比較部１５、ラッチ動作判定部１９）に行わせる。
【００５３】
ステップＳ６：
波形比較部１４は、周波数毎のラッチの波形データを結果記憶部１８のシミュレーション結果データから読み出す。
ここで、波形比較部１４は、判定結果フラグに対して、一致フラグあるいは不一致フラグのいずれもが書き込まれていないラッチ識別情報に対応するラッチの波形データを、結果記憶部１８のシミュレーション結果データから読み出す。
【００５４】
そして、波形比較部１４は、ラッチ毎に各端子の波形データを、異なる周波数間で比較し、波形が周波数が変化しても同一の形状をしている（同様の信号レベルの遷移が行われている）か否かの判定を、ラッチのぞれぞれの端子毎に行う。
このとき、波形比較部１４は、ラッチにおける全ての端子の波形データの示す波形が同一の形状をしており一致と判定した場合、結果判定フラグに対して一致フラグを書き込み、処理をステップＳ７へ進める。
一方、波形比較部１４は、ラッチにおいて波形データの示す波形が同一の形状をしておらず不一致と判定した端子が存在する場合、結果判定フラグに対して不一致フラグを書き込み、処理をステップＳ９へ進める。
【００５５】
ステップＳ７：
マージン比較部１５は、周波数毎のラッチの端子各々の波形データを結果記憶部１８のシミュレーション結果データから読み出す。
ここで、マージン比較部１５は、判定結果フラグに対して、一致フラグが書き込まれているラッチの端子各々の波形データを、結果記憶部１８のシミュレーション結果データから読み出す。
【００５６】
マージン比較部１５は、ラッチの入力端子端子毎におけるセットアップマージン時間及びホールドマージン時間を検出する。
すなわち、マージン比較部１５は、各入力端子（クロック入力端子、データ入力端子）の波形データからセットアップマージン時間、ホールドマージン時間の各々を、周波数毎に検出する。
そして、マージン比較部１５は、抽出したラッチの各入力端子におけるセットアップマージン時間及びホールドマージン時間を、ラッチ単位で周波数毎に、結果記憶部１８の抽出時刻テーブルに書き込んで記憶させる。
【００５７】
次に、ラッチ動作判定部１９は、周波数の線形変化に対し、セットアップマージン時間またはホールドマージン時間が増減する変化（例えば、予め設定されている時間幅を超えた変化）を示す場合、すでに説明した図８の状態であるので次のように判定する。
すなわち、ラッチ動作判定部１９は、このセットアップマージン時間あるいはホールドマージン時間に対応する入力端子を有するラッチを非同期制御データ保持回路と判定し、処理をステップＳ９へ進める。
【００５８】
また、ラッチ動作判定部１９は、周波数とセットアップマージン時間（あるいはホールドマージン時間）との関係から、周波数の線形変化に対応せずにセットアップマージン時間（あるいはホールドマージン時間）が固定された値であり、かつこの固定されたセットアップ時間が予め設定された閾値（セットアップ時間、ホールド時間）を下回る場合、このセットアップマージン時間（あるいはホールドマージン時間）に対応する入力端子を有するラッチを非同期制御データ保持回路と判定し、処理をステップＳ９へ進める。
【００５９】
また、ラッチ動作判定部１９は、周波数とセットアップマージン時間（あるいはホールドマージン時間）との関係から、周波数の線形変化に対応し、セットアップマージン時間（あるいはホールドマージン時間）が同様に線形変化し、周波数とセットアップマージン時間（あるいはホールドマージン時間）とから、図６及び図７に示すように直線を求める。
そして、ラッチ動作判定部１９は、この直線が仕様の動作周波数範囲内において、セットアップマージン時間（あるいはホールドマージン時間）の閾値としてのラッチのセットアップ時間（あるいはホールド時間）を下回るか否かの判定を行う。
このとき、ラッチ動作判定部１９は、図７に示すように、直線が仕様の動作周波数範囲内において、閾値としてのセットアップ時間（あるいはホールド時間）を下回ることを検出すると、このセットアップマージン時間（あるいはホールドマージン時間）に対応する入力端子を有するラッチを非同期制御データ保持回路と判定し、処理をステップＳ９へ進める。
【００６０】
一方、ラッチ動作判定部１９は、図６に示すように、直線が仕様の動作周波数範囲内において、セットアップマージン時間及びホールドマージン時間の双方が閾値としてのセットアップ時間及びホールド時間を越えることを検出すると、このセットアップマージン時間及びホールドマージン時間の双方に対応する入力端子を有するラッチを同期制御データ保持回路と判定し、処理をステップＳ８へ進める。
同様に、ラッチ動作判定部１９は、図５に示すように、周波数の線形変化に対応せずにセットアップマージン時間及びホールドマージン時間の双方が固定された値であり、かつこの固定されたセットアップマージン時間（あるいはホールドマージン時間）が予め設定された閾値としてのセットアップ時間（あるいはホールド時間）を越えている場合、このセットアップマージン時間及びホールドマージン時間に対応する入力端子を有するラッチを同期制御データ保持回路と判定し、処理をステップＳ８へ進める。
また、ラッチ動作判定部１９は、セットアップマージン時間及びホールドマージン時間のいずれかが図５に対応し、他方が図６に対応している場合にも、このセットアップマージン時間及びホールドマージン時間に対応する入力端子を有するラッチを同期制御データ保持回路と判定し、処理をステップＳ８へ進める。
【００６１】
ステップＳ８：
次に、ラッチ動作判定部１９は、同期制御データ保持回路と判定したラッチのラッチ識別情報に対応させ、結果記憶部１８のシミュレーション結果データのラッチに対して同期制御データ保持回路であることを示す同期制御判定データを判定情報として書き込み、処理をステップＳ１０へ進める。
【００６２】
ステップＳ９：
次に、ラッチ動作判定部１９は、非同期制御データ保持回路と判定したラッチのラッチ識別情報に対応させ、結果記憶部１８のシミュレーション結果データのラッチに対して非同期制御データ保持回路であることを示す非同期制御判定データを判定情報として書き込み、処理をステップＳ１０へ進める。
【００６３】
ステップＳ１０：
システム制御部１１は、結果記憶部１８に記憶されているシミュレーション結果データにおいて、判定情報（同期制御データ保持回路または非同期制御データ保持回路を示す情報）が書き込まれていないラッチ識別情報に対応するラッチの有無を判定する。
システム制御部１１は、判定情報が書き込まれていないラッチが有る場合に処理をステップＳ５へ進め、一方、判定情報が書き込まれていないラッチが無い（回路内の全てのラッチの制御判定処理が終了した）場合に処理をステップＳ１１へ進める。
【００６４】
ステップＳ１１：
次に、システム制御部１１は、動作テストにおいて、テストパターン記憶部１７に記憶されている、ユーザの指定した回路用に記憶されている全てのテストパターンが使用されたか否かの判定を行う。
このとき、システム制御部１１は、全てのテストパターンが使用された場合に処理をステップＳ１２へ進め、一方、使用されていないテストパターンが存在する場合に処理をステップＳ２へ進める。
ここで、システム制御部１１は、回路単位に記憶されているパターン識別情報を抽出し、テストパターン記憶部１７に記憶されているテストパターンのパターン識別情報と比較し、一致しない場合にテストパターンが全て使用されていないと判定し、一方、一致した場合にテストパターンが全て使用されていると判定する。
【００６５】
ステップＳ１２：
次に、システム制御部１１は、結果記憶部１８にある対応テーブルにあるラッチの数をカウントし、ユーザの指定した回路における全ラッチの数であるラッチ総数を求める。
また、システム制御部１１は、シミュレーション結果データにおいて、判定情報として同期制御判定データが書き込まれているラッチの数と、判定情報として非同期制御判定データが書き込まれているラッチの数を算出する。
【００６６】
ここで、複数のテストパターンによるシミュレーション結果データ間においてそれぞれ判定情報が書き込まれている場合、同一のラッチ識別情報を有するラッチに関しては、１個とカウント（計数）する。
また、システム制御部１１は、複数のテストパターンによるシミュレーション結果テータ間において、いずれかのテストパターンにおいては同期制御判定データが記載され、いずれかのパターンに非同期制御判定データが記載されている場合、このラッチに関しては非同期制御データ保持回路と判定し、非同期制御判定データのラッチとしてカウントする。
【００６７】
次に、システム制御部１１は、同期制御判定データが書き込まれているラッチの数と非同期制御判定データが書き込まれているラッチの数とを加算し、この加算結果のラッチのラッチ総数により、非同期制御判定データが書き込まれているラッチの数を除算し、除算結果を非同期検証網羅率として出力する。
そして、システム制御部１１は、ラッチ総数、同期制御判定データのラッチ数、非同期制御判定データのラッチ数、非同期検証網羅率（回路における全ラッチにおいて、同期判定処理が行われているラッチの割合）を、半導体試験装置の図示しない表示部に表示する。
【００６８】
また、システム制御部１１は、ネットリスト情報から抽出されたがテストパターンが不完全で同期判定処理が行われなかったラッチと、同期判定処理の結果が非同期制御データ保持回路と判定されたラッチとを、半導体試験装置の表示部に表示される図２に示す回路図上で特定できる画像情報とすることで、ユーザに対して通知する。例えば、システム制御部１１は、同期制御データ保持回路と判定されたラッチと、非同期制御データ保持回路と判定されたラッチと、抽出されたが同期判定処理が行われなかったラッチとの各々の表示色を変える。
【００６９】
本実施形態の半導体試験装置は、ネットリスト情報の示す回路をテストパターンによる動的テストを、異なる周波数の外部クロックで行い、ネットリスト情報から抽出したラッチ各々の端子の信号レベルの変化を波形データとして結果記憶部１８に記憶させている。
このため、本実施形態の半導体試験装置によれば、異なる周波数間の波形データを比較し、同一の波形形状を示しているか否か、あるいは異なる周波数間の波形データの周波数変化に伴うセットアップマージン時間（あるいはホールドマージン時間）の変化状態から、回路内のラッチから非同期制御データ保持回路であるラッチを高い精度で検出することができる。
【００７０】
また、本実施形態の半導体試験装置は、複数の異なる周波数の外部クロック毎に、回路内における外部クロックによりデータ保持が制御されるデータ保持回路の端子の信号レベルの動的タイミング検証により得られた検証結果を、外部クロックの周波数毎に波形データとして記憶部（結果記憶部１８）に書き込んで記憶させるシミュレーション部（シミュレーション部１３）と、記憶部から波形データを読み出し、データ保持回路の端子における信号レベルの波形形状の外部クロックの異なる周波数間での比較を行い、データ保持回路が外部クロックに対して同期制御されるか否かの判定を行う波形比較部（波形比較部１４）とを備えている。
【００７１】
本実施形態の半導体試験装置は、波形比較部が同期制御であると判定したデータ保持回路の波形データから、データ保持回路の端子におけるセットアップマージン時間及びホールドマージン時間を異なる周波数毎に抽出するマージン比較部（マージン比較部１４）と、異なる周波数におけるセットアップマージン時間及びホールドマージン時間の各々から、当該セットアップマージン時間及び当該ホールドマージン時間の周波数変化を検出し、動作周波数内におけるセットアップマージン時間及びホールドマージン時間との各々と、予め設定した閾値との比較により、データ保持回路が外部クロックに対して同期制御されるデータ保持回路であるか否かの判定を行うラッチ動作判定部（ラッチ動作判定部１９）とをさらに備えている。
【００７２】
本実施形態の半導体試験装置は、ラッチ動作判定部（ラッチ動作判定部１９）が、周波数とセットアップマージン時間及びホールドマージン時間の各々との関係において、異なる周波数間における周波数変化の線形性の変化に対応してセットアップマージン時間及びホールドマージン時間の各々が線形性の変化を有する場合、動作周波数内においてセットアップマージン時間及びホールドマージン時間の各々がそれぞれに対応して設けられた閾値（セットアップ時間、ホールド時間）を越えるか否かにより、データ保持回路が外部クロックに対して同期制御されるか否かの判定を行っている。
【００７３】
本発明の半導体試験装置は、ラッチ動作判定部（ラッチ動作判定部１９）が、周波数とセットアップマージン時間及びホールドマージン時間の各々との関係において、異なる周波数間における周波数変化に対応せず、いずれの周波数でもセットアップマージン時間またはホールドマージン時間のいずれかまたは双方が周波数が変化しても固定の場合、固定された時間が閾値を越えるか否かにより、データ保持回路が外部クロックに対して同期制御されるか否かの判定を行っている。
【００７４】
本発明の半導体試験装置は、ラッチ動作判定部（ラッチ動作判定部１９）が、周波数とセットアップマージン時間及びホールドマージン時間の各々との関係において、異なる周波数間における周波数変化の線形性の変化に対応せず、セットアップマージン時間またはホールドマージン時間のいずれかまたは双方が上下変動する場合、セットアップマージン時間またはホールドマージン時間が閾値を越えるか否かに係わらず、データ保持回路が外部クロックに対して非同期制御であるとの判定を行っている。
【００７５】
本実施形態の半導体試験装置は、動的タイミング検証を複数のテストパターンを用いて行っている。
上述した構成により、本実施形態によれば、外部クロックに同期して動作するように設計した、外部クロックにより同期制御されるラッチを含み、人手を使用せずに、外部クロック対して非同期制御される回路内のラッチを、高精度に簡易に検出することができる。
【００７６】
また、図１における半導体試験装置の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより同期判定処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００７７】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００７８】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００７９】
１１…システム制御部
１２…ラッチ抽出部
１３…シミュレータ部
１４…波形比較部
１５…マージン比較部
１６…回路記憶部
１７…テストパターン記憶部
１８…結果記憶部
１９…ラッチ動作判定部
【図１】
2013140549.tif 000003
【図２】
2013140549.tif 000004
【図３】
2013140549.tif 000005
【図４】
2013140549.tif 000006
【図５】
2013140549.tif 000007
【図６】
2013140549.tif 000008
【図７】
2013140549.tif 000009
【図８】
2013140549.tif 000010
【図９】
2013140549.tif 000011