(57)【要約】【課題】期待値の不一致箇所の人手による確認作業工数を減らせる論理シミュレーションシステムを提供すること。【解決手段】前段の論理回路ブロック４の処理結果をタイミングチェックすることにより当該処理結果がタイミングエラーであるか否かを判定するとともに、前記処理結果がタイミングエラーであると判断した場合に当該処理結果の動作又は状態を確認することにより前記処理結果が真のエラーであるか否かを判定するタイミングチェック期待値比較手段１６と、タイミングチェック期待値比較手段１６にて前記処理結果が真のエラーと判断された場合に前段の論理回路ブロック４の処理結果を、予め設定された期待値１３に書き換えて後段の論理回路ブロック５への信号値として出力するタイミングチェック信号値固定手段１７と、を備える。【選択図】図１
2011158965.tif 000002
【特許請求の範囲】
【請求項１】
前段の論理回路ブロックの処理結果をタイミングチェックすることにより前記処理結果がタイミングエラーであるか否かを判定するとともに、前記処理結果がタイミングエラーであると判断した場合に前記処理結果の動作又は状態を確認することにより前記処理結果が真のエラーであるか否かを判定するタイミングチェック期待値比較手段と、
前記タイミングチェック期待値比較手段にて前記処理結果が真のエラーと判断された場合に前記前段の論理回路ブロックの処理結果を、予め設定された期待値に書き換えて後段の論理回路ブロックへの信号値として出力するタイミングチェック信号値固定手段と、
を備えることを特徴とする論理シミュレーションシステム。
【請求項２】
前記タイミングチェック信号値固定手段は、前記タイミングチェック期待値比較手段にて前記処理結果がタイミングエラー又は真のエラーでないと判断された場合に前記前段の論理回路ブロックの処理結果を、前記期待値に書き換えることなく前記後段の論理回路ブロックへの信号値として出力することを特徴とする請求項１記載の論理シミュレーションシステム。
【請求項３】
前記タイミングチェック期待値比較手段は、前記タイミングチェックする際、前記前段の論理回路ブロックのタイミングチェック対象となる端子間の信号の変化時刻差が、予め設定されたスペック値内にあるか否かを判定することによりタイミングエラーであるか否かを判定することを特徴とする請求項１又は２記載の論理シミュレーションシステム。
【請求項４】
前記タイミングチェック期待値比較手段は、前記処理結果の動作又は状態を確認する際、前記前段の論理回路ブロックの前記タイミングチェック対象となる端子のうちの最終変化時の状態がアクティブになっていることにより前記前段の論理回路ブロックの出力値を確定可能かを確認することにより前記処理結果が真のエラーであるか否かを判定することを特徴とする請求項３記載の論理シミュレーションシステム。
【請求項５】
前記タイミングチェック期待値比較手段は、前記処理結果の動作又は状態を確認する際、前記前段の論理回路ブロックの前記タイミングチェック対象となる端子のうち評価端子の前記スペック値内の動作の回数を確認することにより前記処理結果が真のエラーであるか否かを判定することを特徴とする請求項３又は４記載の論理シミュレーションシステム。
【請求項６】
前記前段の論理回路ブロックの前記タイミングチェック対象となる端子は、クロック端子、セット端子、又はリセット端子であることを特徴とする請求項３乃至５のいずれか一に記載の論理シミュレーションシステム。
【請求項７】
前段の論理回路ブロックの処理結果をタイミングチェックすることにより前記処理結果がタイミングエラーであるか否かを判定する工程と、
前記処理結果がタイミングエラーであると判断された場合に前記処理結果の動作又は状態を確認することにより前記処理結果が真のエラーであるか否かを判定する工程と、
前記処理結果が真のエラーと判断された場合に前記前段の論理回路ブロックの処理結果を、期待値に書き換えて後段の論理回路ブロックへの信号値として出力する工程と、
を含むことを特徴とする論理シミュレーション方法。
【請求項８】
前記処理結果がタイミングエラー又は真のエラーでないと判断された場合に前記前段の論理回路ブロックの処理結果を、前記期待値に書き換えることなく前記後段の論理回路ブロックへの信号値として出力する工程を含むことを特徴とする請求項７記載の論理シミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理回路の動作を検証する論理シミュレーションシステム及び論理シミュレーション方法に関し、特に、複数段の論理回路ブロックのタイミングエラーをチェックする論理シミュレーションシステム及び論理シミュレーション方法に関する。
【背景技術】
【０００２】
ＬＳＩ（Large Scale Integration）設計された論理回路は、信頼性を確認するため、動作を検証する論理シミュレーションが行われる。近年、論理回路の大規模化に伴い、論理シミュレーションの結果確認作業の工数が増加しており、デバイス動作と、論理シミュレーション結果が一致するかの確認作業の工数を軽減（削減）する要求が高まっている。
【０００３】
このような要求の高まりの中、例えば、特許文献１では、シミュレーション実行時間、回数を削減するために、連続する複数段の論理回路ブロック１０４、１０５から構成される論理回路を動作確認し、前段の論理回路ブロック１０４から逐次データ処理を行って後段の論理回路ブロック１０５に処理結果を受け渡して処理を行うシミュレーションにおいて、前段の論理回路ブロック１０４の処理結果と期待値１１３を逐次比較を行う期待値比較手段１０８を有し、後段の論理回路ブロック１０５に受け渡す当該信号値を、期待値１１３に置き換える信号値固定手段１０９を設けたシミュレーションシステムが開示されている（図９参照）。期待値比較手段１０８は、クロック信号１２０の立下りエッジ１２５のタイミングで期待値１１３から該当する期待値と、論理回路ブロック１０４から論理回路ブロック１０５への信号１２１の取り出し信号値１２７を比較し、不一致であることを判定する（図１０参照）。信号値固定手段１０９は、不一致の時、論理回路ブロック１０４から論理回路ブロック１０５への信号１２２の期待値と一致していない信号値１２８を、期待値１１３より入手した期待される値１２９に信号値を上書きする。このシミュレーションシステムによれば、後段の論理回路ブロック１０５は、信号値固定手段１０９で期待値１１３に置き換えられた信号値を受け取り処理することにより、期待値１１５の値の得られる正しい入力値を用いたシミュレーションが可能となり、期待値比較手段１１０での比較が有効なものになるとしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３５５４３３号公報（図１、図２）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載のシミュレーションシステムでは、論理シミュレーションの期待値の不一致箇所の人手による確認作業が多くなってしまうという問題がある。つまり、特許文献１に記載のシミュレーションシステムでは、論理シミュレーションの結果、期待値不一致が発生すると、シミュレーション結果を全て期待値１１３に置き換えてしまう。シミュレーション結果を全て期待値１１３で置き換えてしまうと、その期待値不一致が本当に回路的に間違っているものか、判断には人手による確認作業が必要になる。期待値の不一致には、回路的に間違っていることによる真のエラーと、回路的には問題の無い擬似エラーとが含まれているので、真のエラーか擬似エラーかの人手による確認作業が必要となり、確認作業工数が多くなる。不一致箇所が多いほど、確認作業工数がかかり、不一致箇所の回路を全て修正するとなると修正にかかる工数も膨大になる。また、不一致箇所を、全て擬似エラーとして判断し、回路修正を行わなかったとすると、作成した回路は正しく動作しない可能性がある。
【０００６】
本発明の主な課題は、期待値の不一致箇所の人手による確認作業工数を減らせる論理シミュレーションシステム及び論理シミュレーション方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明の第１の視点においては、論理シミュレーションシステムにおいて、前段の論理回路ブロックの処理結果をタイミングチェックすることにより前記処理結果がタイミングエラーであるか否かを判定するとともに、前記処理結果がタイミングエラーであると判断した場合に前記処理結果の動作又は状態を確認することにより前記処理結果が真のエラーであるか否かを判定するタイミングチェック期待値比較手段と、前記タイミングチェック期待値比較手段にて前記処理結果が真のエラーと判断された場合に前記前段の論理回路ブロックの処理結果を、予め設定された期待値に書き換えて後段の論理回路ブロックへの信号値として出力するタイミングチェック信号値固定手段と、を備えることを特徴とする。
【０００８】
本発明の前記論理シミュレーションシステムにおいて、前記タイミングチェック信号値固定手段は、前記タイミングチェック期待値比較手段にて前記処理結果がタイミングエラー又は真のエラーでないと判断された場合に前記前段の論理回路ブロックの処理結果を、前記期待値に書き換えることなく前記後段の論理回路ブロックへの信号値として出力することが好ましい。
【０００９】
本発明の前記論理シミュレーションシステムにおいて、前記タイミングチェック期待値比較手段は、前記タイミングチェックする際、前記前段の論理回路ブロックのタイミングチェック対象となる端子間の信号の変化時刻差が、予め設定されたスペック値内にあるか否かを判定することによりタイミングエラーであるか否かを判定することが好ましい。
【００１０】
本発明の前記論理シミュレーションシステムにおいて、前記タイミングチェック期待値比較手段は、前記処理結果の動作又は状態を確認する際、前記前段の論理回路ブロックの前記タイミングチェック対象となる端子のうちの最終変化時の状態がアクティブになっていることにより前記前段の論理回路ブロックの出力値を確定可能かを確認することにより前記処理結果が真のエラーであるか否かを判定することが好ましい。
【００１１】
本発明の前記論理シミュレーションシステムにおいて、前記タイミングチェック期待値比較手段は、前記処理結果の動作又は状態を確認する際、前記前段の論理回路ブロックの前記タイミングチェック対象となる端子のうち評価端子の前記スペック値内の動作の回数を確認することにより前記処理結果が真のエラーであるか否かを判定することが好ましい。
【００１２】
本発明の前記論理シミュレーションシステムにおいて、前記前段の論理回路ブロックの前記タイミングチェック対象となる端子は、クロック端子、セット端子、又はリセット端子であることが好ましい。
【００１３】
本発明の第２の視点においては、論理シミュレーション方法において、前段の論理回路ブロックの処理結果をタイミングチェックすることにより前記処理結果がタイミングエラーであるか否かを判定する工程と、前記処理結果がタイミングエラーであると判断された場合に前記処理結果の動作又は状態を確認することにより前記処理結果が真のエラーであるか否かを判定する工程と、前記処理結果が真のエラーと判断された場合に前記前段の論理回路ブロックの処理結果を、期待値に書き換えて後段の論理回路ブロックへの信号値として出力する工程と、を含むことを特徴とする。
【００１４】
本発明の前記論理シミュレーション方法において、前記処理結果がタイミングエラー又は真のエラーでないと判断された場合に前記前段の論理回路ブロックの処理結果を、前記期待値に書き換えることなく前記後段の論理回路ブロックへの信号値として出力する工程を含むことが好ましい。
【発明の効果】
【００１５】
本発明によれば、タイミングエラーによる期待値不一致がなくなるので、擬似エラーを削減することができ、期待値不一致箇所の人手による検証時間の作業工数を削減でき、回路修正工数を削減できる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施例１に係る論理シミュレーションシステムの構成を模式的に示したブロック図である。
【図２】本発明の実施例１に係る論理シミュレーションシステムにおけるタイミングチェック期待値比較手段及びタイミングチェック信号値固定手段の処理動作を模式的に示したフローチャートである。
【図３】本発明の実施例１に係る論理シミュレーションシステムにおけるリセット付Ｄ＿ＦＦのリカバリーエラーを説明するための第１のタイミングチャートである。
【図４】本発明の実施例１に係る論理シミュレーションシステムにおけるリセット付Ｄ＿ＦＦのリカバリーエラーを説明するための第２のタイミングチャートである。
【図５】本発明の実施例１に係る論理シミュレーションシステムにおけるリセット付Ｄ＿ＦＦのリムーバルエラーを説明するための第１のタイミングチャートである。
【図６】本発明の実施例１に係る論理シミュレーションシステムにおけるリセット付Ｄ＿ＦＦのリムーバルエラーを説明するための第２のタイミングチャートである。
【図７】本発明の実施例２に係る論理シミュレーションシステムにおけるタイミングチェック期待値比較手段及びタイミングチェック信号値固定手段の処理動作を模式的に示したフローチャートである。
【図８】本発明の実施例２に係る論理シミュレーションシステムにおけるリセット付Ｄ−ラッチのパルス幅エラーを説明するためのタイミングチャートである。
【図９】従来例１に係る論理シミュレーションシステムの構成を模式的に示したブロック図である。
【図１０】従来例１に係る論理シミュレーションシステムにおける信号値固定手段の動作を模式的に示したタイミングチャートである。
【発明を実施するための形態】
【００１７】
本発明の実施形態１に係る論理シミュレーションシステムでは、前段の論理回路ブロック（図１の４）の処理結果をタイミングチェックすることにより前記処理結果がタイミングエラーであるか否かを判定するとともに、前記処理結果がタイミングエラーであると判断した場合に前記処理結果の動作又は状態を確認することにより前記処理結果が真のエラーであるか否かを判定するタイミングチェック期待値比較手段（図１の１６）と、前記タイミングチェック期待値比較手段にて前記処理結果が真のエラーと判断された場合に前記前段の論理回路ブロックの処理結果を、予め設定された期待値に書き換えて後段の論理回路ブロックへの信号値として出力するタイミングチェック信号値固定手段（図１の１７）と、を備える。
【００１８】
本発明の実施形態２に係る論理シミュレーション方法では、前段の論理回路ブロックの処理結果をタイミングチェックすることにより前記処理結果がタイミングエラーであるか否かを判定する工程（図２のステップＡ１〜Ａ５）と、前記処理結果がタイミングエラーであると判断された場合に前記処理結果の動作又は状態を確認することにより前記処理結果が真のエラーであるか否かを判定する工程（図２のステップＡ６〜Ａ９）と、前記処理結果が真のエラーと判断された場合に前記前段の論理回路ブロックの処理結果を、期待値に書き換えて後段の論理回路ブロックへの信号値として出力する工程（図２のステップＢ３）と、を含む。
【実施例１】
【００１９】
本発明の実施例１に係る論理シミュレーションシステムについて図面を用いて説明する。図１は、本発明の実施例１に係る論理シミュレーションシステムの構成を模式的に示したブロック図である。
【００２０】
論理シミュレーションシステムは、２段の第１論理回路ブロック４、第２論理回路ブロック５から構成された論理回路の動作確認のシミュレーションを行うシステムである。論理シミュレーションシステムは、論理シミュレーションを実行するテストベンチ１において、初段の第１論理回路ブロック４にクロック毎に入力信号値２を与えることにより、第１論理回路ブロック４の処理結果が逐次、後段の第２論理回路ブロック５に入力され、第２論理回路ブロック５の処理結果が最終的な処理結果である出力信号値７を生成する構成となっている。論理シミュレーションシステムは、プログラムに基づいて、記憶、演算、比較等の処理を行うコンピュータである。論理シミュレーションシステムは、主な構成要素として、入力信号値２と、信号値入力手段３と、第１論理回路ブロック４と、第２論理回路ブロック５と、信号値出力手段６と、出力信号値７と、非タイミングチェック期待値比較手段８と、非タイミングチェック信号値固定手段９と、期待値比較手段１０と、メッセージ出力手段１１と、メッセージ出力抑制手段１２と、第１期待値１３と、メッセージ最大出力回数１４と、第２期待値１５と、タイミングチェック期待値比較手段１６と、タイミングチェック信号値固定手段１７と、を有する。
【００２１】
入力信号値２は、第１論理回路ブロック４に入力する信号値である。入力信号値２は、論理シミュレーションシステムにおける記憶部（図示せず）に記憶されている。
【００２２】
信号値入力手段３は、第１論理回路ブロック４に、クロック毎に入力信号値２を入力する手段である。
【００２３】
第１論理回路ブロック４は、記憶部（図示せず）に記憶されている第１論理回路図を読み出して、当該第１論理回路図に信号値入力手段３からの入力信号値２を入力して、第１論理回路図の論理シミュレーションを実行するブロックである。
【００２４】
第２論理回路ブロック５は、記憶部（図示せず）に記憶されている第２論理回路を読み出して、当該第２論理回路図に、第１論理回路ブロック４の処理結果、又は、非タイミングチェック信号値固定手段９にて上書きされた第１期待値１３を逐次入力して、第２論理回路の論理シミュレーションを実行するブロックである。
【００２５】
信号値出力手段６は、第２論理回路ブロック５の処理結果に基づいて、最終処理結果である出力信号値７を生成して外部に出力する手段である。
【００２６】
出力信号値７は、信号値出力手段６から出力された信号値である。
【００２７】
非タイミングチェック期待値比較手段８は、第１論理回路ブロック４の処理結果に係る信号値と第１期待値１３（タイミングチェック以外の値）とを比較する手段である。非タイミングチェック期待値比較手段８は、第１期待値１３と第１論理回路ブロック４の処理結果に係る信号値とを比較することにより、不一致であるか否かを判定する。
【００２８】
非タイミングチェック信号値固定手段９は、非タイミングチェック期待値比較手段８にて第１期待値１３と第１論理回路ブロック４の処理結果に係る信号値とが不一致と判断された時に、第１論理回路ブロック４の処理結果に係る信号値を、第１期待値１３に書き換えて出力する手段である。これにより、第１期待値１３と第１論理回路ブロック４の処理結果に係る信号値とが不一致であっても、期待値比較手段１０での第２論理回路ブロック５の処理結果に係る信号値と、第２期待値１５の値から得られる信号値との比較が有効なものとなる。非タイミングチェック信号値固定手段９は、非タイミングチェック期待値比較手段８にて第１期待値１３と第１論理回路ブロック４の処理結果に係る信号値とが一致と判断された時に、第１論理回路ブロック４の処理結果に係る信号値を、変化を加えないで出力する。
【００２９】
期待値比較手段１０は、第２論理回路ブロック５の処理結果と期待値とを比較する手段である。期待値比較手段１０は、第２期待値１５と第２論理回路ブロック５の処理結果に係る信号値とを比較し、不一致であるか否かを判定する。
【００３０】
メッセージ出力手段１１は、非タイミングチェック期待値比較手段８及びタイミングチェック期待値比較手段１６での不一致の情報を、エラーメッセージとして外部に出力する手段である。
【００３１】
メッセージ出力抑制手段１２は、メッセージ出力手段１１からの不一致の情報に基づいて、不一致の起きた回数をカウントし、カウントされた不一致回数と、メッセージ最大出力回数１４の値とを比較し、不一致回数がメッセージ最大出力回数１４を超えた場合には外部へのエラーメッセージの出力を抑制する。ただし、シミュレーション終了時に不一致回数を出力することは可能である。
【００３２】
第１期待値１３は、非タイミングチェック期待値比較手段８で比較される際に用いられる期待値であり、論理シミュレーションに先立って予め設定されたものである。第１期待値１３は、タイミングチェックに係る期待値と、タイミングチェック以外の期待値とを有する。第１期待値１３は、論理シミュレーションシステムにおける記憶部（図示せず）に記憶されている。
【００３３】
メッセージ最大出力回数１４は、メッセージ出力抑制手段１２で比較される際に用いられる情報であり、論理シミュレーションに先立って予め設定されたものである。メッセージ最大出力回数１４は、論理シミュレーションシステムにおける記憶部（図示せず）に記憶されている。
【００３４】
第２期待値１５は、期待値比較手段１０で比較される際に用いられる情報であり、論理シミュレーションに先立って予め設定されたものである。第２期待値１５は、論理シミュレーションシステムにおける記憶部（図示せず）に記憶されている。
【００３５】
タイミングチェック期待値比較手段１６は、第１論理回路ブロック４の処理結果をタイミングチェックする手段である。タイミングチェック期待値比較手段１６は、第１論理回路ブロック４の処理結果をタイミングチェックすることにより当該処理結果がタイミングエラーであるか否かを判定する。また、タイミングチェック期待値比較手段１６は、第１論理回路ブロック４の処理結果がタイミングエラーであると判断した場合、当該処理結果の動作又は状態を確認することにより前記処理結果が真のエラーであるか否かを判定する。なお、タイミングチェック期待値比較手段１６の動作の詳細は、後述する。
【００３６】
タイミングチェック信号値固定手段１７は、タイミングチェック期待値比較手段１６にて第１論理回路ブロック４の処理結果が真のエラーと判断された場合に第１論理回路ブロック４の処理結果を、予め設定された第１期待値１３に書き換えて後段の論理回路ブロックへの信号値として出力する手段である。タイミングチェック信号値固定手段１７は、タイミングチェック期待値比較手段１６にて第１論理回路ブロック４の処理結果がタイミングエラー又は真のエラーでないと判断された場合に第１論理回路ブロック４の処理結果を、第１期待値１３に書き換えることなく第２論理回路ブロック５への信号値として出力する。なお、タイミングチェック信号値固定手段１７の動作の詳細は、後述する。
【００３７】
なお、タイミングチェック期待値比較手段１６にて真のエラーと判断された場合のタイミングチェック期待値比較手段１６及びタイミングチェック信号値固定手段１７の処理は、非タイミングチェック期待値比較手段８及び非タイミングチェック信号値固定手段９の処理と同様である。
【００３８】
次に、本発明の実施例１に係る論理シミュレーションシステムの動作について図面を用いて説明する。図２は、本発明の実施例１に係る論理シミュレーションシステムにおけるタイミングチェック期待値比較手段及びタイミングチェック信号値固定手段の処理動作を模式的に示したフローチャートである。図３は、本発明の実施例１に係る論理シミュレーションシステムにおけるリセット付Ｄ＿ＦＦ（リセット端子付ディレイフリップフロップ）のリカバリーエラーを説明するためのタイミングチャートである。
【００３９】
なお、図３において、出力端子Ａの波形は実施例１に係る論理シミュレーションによる出力波形であり、出力端子Ｂの波形は本来のデバイスの結果（以降、デバイス論理と称す）を示した出力波形であり、出力端子Ｃの波形は従来例１に係る論理シミュレーションによる出力波形である。また、以下の説明で記憶、演算、比較等の処理は、すべて論理シミュレーションシステム内に記載は無い、記憶部、演算部、比較部で行われるものである。
【００４０】
まず、タイミングチェック期待値比較手段１６は、リカバリー／リムーバルタイミングチェック対象となる端子（以降、「リカバリー／リムーバル端子」）を記憶する（図２のステップＡ１参照）。つまり、タイミングパスを記憶する。図３では、基準端子となるクロック端子、及び、評価端子となるリセット端子がリカバリー／リムーバルタイミングチェック対象となり記憶する。
【００４１】
次に、タイミングチェック期待値比較手段１６は、ステップＡ１にて記憶したリカバリー／リムーバル端子のスペック値をＳＤＦファイル１６ａより入手し記憶する（図２のステップＡ２参照）。ＳＤＦ（Standard Delay Format）ファイル１６ａは、電気系の設計作業を自動化し支援するためのＥＤＡ（Electronic Design Automation）ツールで用いられる遅延情報の標準フォーマットファイルである。図３では、クロック端子とリセット端子のタイミングのスペック値Ｔ１の値を記憶する。
【００４２】
次に、タイミングチェック期待値比較手段１６は、第１論理回路ブロック４からリカバリー／リムーバル端子に入力された入力波形の変化時刻を記憶する（図２のステップＡ３参照）。図３では、クロック端子の変化時刻Ｔ４と、リセット端子の変化時刻Ｔ２、Ｔ３とを記憶する。
【００４３】
次に、タイミングチェック期待値比較手段１６は、リカバリー／リムーバル端子の変化時刻の差（変化時刻差）を計算し、計算した変化時刻差と、ステップＡ２にて記憶したスペック値とを比較する（図２のステップＡ４参照）。図３では、クロック端子の変化時刻Ｔ４とリセット端子の変化時刻Ｔ２との差（変化時刻差）を求め、変化時刻差とスペック値Ｔ１と比較する。
【００４４】
次に、タイミングチェック期待値比較手段１６は、変化時刻差がスペック値以下であるか否かを判定する（図２のステップＡ５参照）。変化時刻差がスペック値以下である場合（ステップＡ５のＹＥＳ）、リカバリー／リムーバルタイミングエラーが検出された場合であり、ステップＡ６に進む。変化時刻差がスペック値以下でない（スペック値の方が小さい）場合（ステップＡ５のＮＯ）、リカバリー／リムーバルタイミングエラーが検出されなかった場合であり、ステップＢ１に進む。
【００４５】
変化時刻差がスペック値以下である場合（ステップＡ５のＹＥＳ）、つまり、リカバリー／リムーバルタイミングエラーが検出された場合、タイミングチェック期待値比較手段１６は、タイミングのスペック値内に、論理シミュレーション結果から評価端子の動作回数をカウントし、カウントした動作回数を記憶する（図２のステップＡ６参照）。図３では、評価端子となるリセット端子の変化時刻はＴ２およびＴ３であるので、動作回数は２回となる。
【００４６】
ステップＡ６の後、タイミングチェック期待値比較手段１６は、ステップＡ３で記憶したスペック値内において、ステップＡ６で記憶した評価端子の動作回数が２回以上であるか否かを判定する（図２のステップＡ７参照）。動作回数が２回以上である場合（ステップＡ７のＹＥＳ）、評価端子となるリセット端子にグリッチ信号（電圧変動信号）が入力された場合であり、ステップＡ８に進む。動作回数が２回以上でない場合（ステップＡ７のＮＯ）、リカバリー／リムーバルタイミングエラーのうち真のエラーが検出されている場合であり、ステップＢ３に進む。
【００４７】
動作回数が２回以上である場合（ステップＡ７のＹＥＳ）、つまり、評価端子にグリッチ信号（電圧変動信号）が入力された場合、タイミングチェック期待値比較手段１６は、評価端子の最終変化時の値を記憶する（図２のステップＡ８参照）。図３では、評価端子となるリセット端子の最終変化時Ｔ３の値「Ｈｉｇｈ」を記憶する。
【００４８】
ステップＡ８の後、タイミングチェック期待値比較手段１６は、ステップＡ８で記憶した評価端子の最終変化時の値がアクティブになっていることにより、出力端子Ａの値が確定可能かどうかを判定する（図２のステップＡ９参照）。出力端子Ａの値が確定可能である場合（ステップＡ９のＹＥＳ）、ステップＡ１０に進む。出力端子Ａの値が確定可能でない場合（ステップＡ９のＮＯ）、リカバリー／リムーバルタイミングエラーのうち真のエラーが検出されている場合であり、ステップＢ３に進む。図３では、評価端子となるリセット端子の値は「Ｈｉｇｈ」であるので、出力端子Ａの値を確定可能である。
【００４９】
出力端子Ａの値が確定可能である場合（ステップＡ９のＹＥＳ）、タイミングチェック期待値比較手段１６は、評価端子の最終変化時でのデータ端子の入力信号値を記憶する（図２のステップＡ１０参照）。図３では、最終変化時Ｔ３でのデータ端子の入力信号値「Ｌｏｗ」を記憶する。
【００５０】
ステップＡ１０の後、タイミングチェック期待値比較手段１６は、ステップＡ１０で記憶した評価端子の最終変化時でのデータ端子の入力信号値と、出力端子Ａの値とが同じであるかを判定する（図２のステップＡ１１参照）。入力信号値と出力端子Ａの値とが同じである場合（ステップＡ１１のＹＥＳ）、ステップＢ１に進む。入力信号値と出力端子Ａの値とが同じでない場合（ステップＡ１１のＮＯ）、ステップＢ２に進む。図３では、最終変化時Ｔ３でのデータ端子の入力信号値が「Ｌｏｗ」であり、評価端子となるリセット端子の最終変化時Ｔ３での値が「Ｈｉｇｈ」であるので、出力端子Ａの値は「Ｌｏｗ」に確定できるため、入力信号値と出力端子Ａの値は同じと判断される。
【００５１】
入力信号値と出力端子Ａの値とが同じである場合（ステップＡ１１のＹＥＳ）、タイミングチェック信号値固定手段１７は、タイミングのスペック値Ｔ１内にリセット端子の動作回数が２回以上（図３では、Ｔ２およびＴ３）であるため、グリッチ信号（電圧変動信号）が入力されたことになり、仮にクロック端子のＴ４の変化により、データ端子の値を出力させた場合と、リセット端子の最終変化時Ｔ３の値がアクティブになっていないことによる出力値が同じであるため、出力端子Ａの値が確定できることから、リカバリー／リムーバルタイミングエラーを擬似エラーとし、出力端子Ａの値を確定値として出力する（図２のステップＢ１参照）。
【００５２】
変化時刻差がスペック値以下でない場合（ステップＡ５のＮＯ）、つまり、リカバリー／リムーバルタイミングエラーが検出されなかった場合、タイミングチェック信号値固定手段１７は、出力端子Ａの値を確定値として出力し（図２のステップＢ１参照）、その後、終了する。
【００５３】
ステップＢ１により、従来例１の論理シミュレーションの出力端子Ｃでは、時刻Ｔ５以降は出力端子Ｃに不定値を出力していたのに対して、実施例１の論理シミュレーションの出力端子Ａは、デバイス論理の出力端子Ｂの出力値と同じく、確定値を出力できる。
【００５４】
入力信号値と出力端子Ａの値とが同じでない場合（ステップＡ１１のＮＯ）、タイミングチェック信号値固定手段１７は、出力端子Ａの結果として、一旦、不定値を出力し、その後、確定値を出力し（図２のステップＢ２参照）、その後、終了する。
【００５５】
動作回数が２回以上でない場合（ステップＡ７のＮＯ）、つまり、真のエラーが検出されている場合、タイミングチェック信号値固定手段１７は、出力端子Ａの結果として、不定値を第１期待値１３に書き換えて出力し（図２のステップＢ３参照）、その後、終了する。
【００５６】
出力端子Ａの値が確定可能でない場合（ステップＡ９のＮＯ）、つまり、真のエラーが検出されている場合、タイミングチェック信号値固定手段１７は、出力端子Ａの結果として、不定値を第１期待値１３に書き換えて出力し（図２のステップＢ３参照）、その後、終了する。
【００５７】
次に、本発明の実施例１に係る論理シミュレーションシステムのタイミングエラー時の動作について図面を用いて説明する。図４は、本発明の実施例１に係る論理シミュレーションシステムにおけるリセット付Ｄ＿ＦＦのリカバリーエラーを説明するための第２のタイミングチャートである。図５は、本発明の実施例１に係る論理シミュレーションシステムにおけるリセット付Ｄ＿ＦＦのリムーバルエラーを説明するための第１のタイミングチャートである。図６は、本発明の実施例１に係る論理シミュレーションシステムにおけるリセット付Ｄ＿ＦＦのリムーバルエラーを説明するための第２のタイミングチャートである。なお、図４〜図６において、出力端子Ａの波形は実施例１に係る論理シミュレーションによる出力波形であり、出力端子Ｂの波形は本来のデバイスの結果（以降、デバイス論理と称す）を示した出力波形であり、出力端子Ｃの波形は従来例１に係る論理シミュレーションによる出力波形である。
【００５８】
図４は、リカバリータイミングのチェックにおいて、クロック端子が立ち上がりエッジアクティブ、リセット端子がＨｉｇｈ、データ端子がＨｉｇｈ又は不定が入力されている場合のタイミングチャートである。
【００５９】
図４の例では、まず、タイミングチェック期待値比較手段（図２の１６）は、リカバリー／リムーバルタイミングチェック対象となる端子としてクロック端子、リセット端子を記憶する（図２のステップＡ１参照）。
【００６０】
次に、タイミングチェック期待値比較手段（図２の１６）は、ステップＡ１にて記憶したクロック端子、リセット端子のスペック値（Ｔ６）をＳＤＦファイル（図２の１６ａ）より入手し記憶する（図２のステップＡ２参照）。
【００６１】
次に、タイミングチェック期待値比較手段（図２の１６）は、第１論理回路ブロック（図１の４）からクロック端子、リセット端子に入力された入力波形の変化時刻（クロック端子の変化時刻Ｔ９、リセット端子のＴ７、Ｔ８）を記憶する（図２のステップＡ３参照）。
【００６２】
次に、タイミングチェック期待値比較手段（図２の１６）は、クロック端子の変化時刻（Ｔ９）とリセット端子の変化時刻（Ｔ７）の差（変化時刻差）を計算し、計算した変化時刻差と、ステップＡ２にて記憶したスペック値（Ｔ６）とを比較する（図２のステップＡ４参照）。
【００６３】
次に、タイミングチェック期待値比較手段（図２の１６）は、変化時刻差（Ｔ９−Ｔ７）がスペック値（Ｔ６）以下であるか否かを判定する（図２のステップＡ５参照）。図４の場合、変化時刻差（Ｔ９−Ｔ７）がスペック値（Ｔ６）以下である。
【００６４】
図４では変化時刻差（Ｔ９−Ｔ７）がスペック値（Ｔ６）以下であるので（ステップＡ５のＹＥＳ）、リカバリー／リムーバルタイミングエラーとなり、タイミングチェック期待値比較手段（図２の１６）は、タイミングのスペック値（Ｔ６）内に、論理シミュレーション結果からリセット端子の動作回数をカウントし、カウントした動作回数（Ｔ７とＴ８での２回）を記憶する（図２のステップＡ６参照）。
【００６５】
ステップＡ６の後、タイミングチェック期待値比較手段（図２の１６）は、ステップＡ３で記憶したスペック値（Ｔ６）内において、ステップＡ６で記憶したリセット端子の動作回数（２回）が２回以上であるか否かを判定する（図２のステップＡ７参照）。
【００６６】
図４では動作回数（２回）が２回以上であるので（ステップＡ７のＹＥＳ）、つまり、評価端子となるリセット端子にグリッチ信号（電圧変動信号）が入力されたので、タイミングチェック期待値比較手段（図２の１６）は、リセット端子の最終変化時（Ｔ８）の値（Ｈｉｇｈ）を記憶する（図２のステップＡ８参照）。
【００６７】
ステップＡ８の後、タイミングチェック期待値比較手段（図２の１６）は、ステップＡ８で記憶したリセット端子の最終変化時（Ｔ８）の値がアクティブ（Ｈｉｇｈ）になっていることにより、出力端子Ａの値が確定可能かどうかを判定する（図２のステップＡ９参照）。
【００６８】
図４ではリセット端子の最終変化時（Ｔ８）の値がアクティブ（Ｈｉｇｈ）になっていることにより、出力端子Ａの値が確定可能であるので（ステップＡ９のＹＥＳ）、タイミングチェック期待値比較手段（図２の１６）は、リセット端子の最終変化時（Ｔ８）でのデータ端子の入力信号値（不定値）を記憶する（図２のステップＡ１０参照）。
【００６９】
ステップＡ１０の後、タイミングチェック期待値比較手段（図２の１６）は、ステップＡ１０で記憶したリセット端子の最終変化時（Ｔ８）でのデータ端子の入力信号値（不定値）と、出力端子Ａの値（Ｌｏｗ）とが同じであるかを判定する（図２のステップＡ１１参照）。
【００７０】
図４では入力信号値（不定値）と出力端子Ａの値（Ｌｏｗ）とが同じでないので（ステップＡ１１のＮＯ）、タイミングチェック信号値固定手段（図２の１７）は、出力端子Ａの結果として、一旦、不定値を出力し、その後、確定値（Ｌｏｗ）を出力する（図２のステップＢ２参照）。つまり、タイミングのスペック値（Ｔ６）内のリセット端子の動作回数が２回以上であり、グリッチ信号（電圧変動信号）が入力されたことになるので、仮にクロック端子の時刻（Ｔ９）の変化により、データ端子の値を出力させた場合と、リセット端子の最終変化時（Ｔ８）での値がアクティブ（Ｈｉｇｈ）になっていることによる出力値が違うため、リカバリー／リムーバルタイミングエラーにより、一旦、時刻Ｔ１０で出力端子Ａは不定値を出力し、その後、リセット端子の最終変化時（Ｔ８）での値がアクティブ（Ｈｉｇｈ）になっていることにより、時刻Ｔ１１で出力端子Ａは確定値（Ｌｏｗ）を出力する。
【００７１】
なお、ステップＢ２の動作は、従来例１の論理シミュレーションの結果では、出力端子Ｃは時刻Ｔ１０で不定値を出力していたのに対して、出力端子Ｂのデバイス論理の出力値はデータ端子の値が時刻Ｔ１２でＨｉｇｈ又は不定値であるＴ１２が入力された場合、時刻Ｔ１０の値の様に一旦、不定値を出力し、その後、リセット端子がアクティブ（Ｈｉｇｈ）となっているため、確定値になる。実施例１の論理シミュレーションの出力端子Ａの値は、デバイス論理の出力端子Ｂの出力値と同じく、確定値を時刻Ｔ１１で出力できる。
【００７２】
なお、図３および図４は、リセット端子の場合の説明であるが、セット端子の場合も、同様の考えである。
【００７３】
図５は、リムーバルタイミングのチェックにおいて、クロック端子が立ち上がりエッジアクティブ、リセット端子がＨｉｇｈ、データ端子にＬｏｗが入力されている場合のタイミングチャートである。
【００７４】
図５の例では、まず、タイミングチェック期待値比較手段（図２の１６）は、リカバリー／リムーバルタイミングチェック対象となる端子としてクロック端子、リセット端子を記憶する（図２のステップＡ１参照）。
【００７５】
次に、タイミングチェック期待値比較手段（図２の１６）は、ステップＡ１にて記憶したクロック端子、リセット端子のスペック値（Ｔ２５）をＳＤＦファイル（図２の１６ａ）より入手し記憶する（図２のステップＡ２参照）。
【００７６】
次に、タイミングチェック期待値比較手段（図２の１６）は、第１論理回路ブロック（図１の４）からクロック端子、リセット端子に入力された入力波形の変化時刻（クロック端子の変化時刻Ｔ２６、リセット端子のＴ２７、Ｔ２８）を記憶する（図２のステップＡ３参照）。
【００７７】
次に、タイミングチェック期待値比較手段（図２の１６）は、クロック端子の変化時刻（Ｔ２６）とリセット端子の変化時刻（Ｔ２７）の差（変化時刻差）を計算し、計算した変化時刻差と、ステップＡ２にて記憶したスペック値（Ｔ２５）とを比較する（図２のステップＡ４参照）。
【００７８】
次に、タイミングチェック期待値比較手段（図２の１６）は、変化時刻差（Ｔ２６−Ｔ２７）がスペック値（Ｔ２５）以下であるか否かを判定する（図２のステップＡ５参照）。図５の場合、変化時刻差（Ｔ２６−Ｔ２７）がスペック値（Ｔ２５）以下である。
【００７９】
図５では変化時刻差（Ｔ２６−Ｔ２７）がスペック値（Ｔ２５）以下であるので（ステップＡ５のＹＥＳ）、リカバリー／リムーバルタイミングエラーとなり、タイミングチェック期待値比較手段（図２の１６）は、タイミングのスペック値（Ｔ２５）内に、論理シミュレーション結果からリセット端子の動作回数をカウントし、カウントした動作回数（Ｔ２７とＴ２８での２回）を記憶する（図２のステップＡ６参照）。
【００８０】
ステップＡ６の後、タイミングチェック期待値比較手段（図２の１６）は、ステップＡ３で記憶したスペック値（Ｔ２５）内において、ステップＡ６で記憶したリセット端子の動作回数（２回）が２回以上であるか否かを判定する（図２のステップＡ７参照）。
【００８１】
図５では動作回数（２回）が２回以上であるので（ステップＡ７のＹＥＳ）、つまり、評価端子にグリッチ信号（電圧変動信号）が入力されたので、タイミングチェック期待値比較手段（図２の１６）は、リセット端子の最終変化時（Ｔ２８）の値（Ｈｉｇｈ）を記憶する（図２のステップＡ８参照）。
【００８２】
ステップＡ８の後、タイミングチェック期待値比較手段（図２の１６）は、ステップＡ８で記憶したリセット端子の最終変化時（Ｔ２８）の値がアクティブ（Ｈｉｇｈ）になっていることにより、出力端子Ａの値が確定可能かどうかを判定する（図２のステップＡ９参照）。
【００８３】
図５ではリセット端子の最終変化時（Ｔ２８）の値がアクティブ（Ｈｉｇｈ）になっていることにより、出力端子Ａの値が確定可能であるので（ステップＡ９のＹＥＳ）、タイミングチェック期待値比較手段（図２の１６）は、リセット端子の最終変化時（Ｔ２８）でのデータ端子の入力信号値（Ｌｏｗ）を記憶する（図２のステップＡ１０参照）。
【００８４】
ステップＡ１０の後、タイミングチェック期待値比較手段（図２の１６）は、ステップＡ１０で記憶したリセット端子の最終変化時（Ｔ２８）でのデータ端子の入力信号値（Ｌｏｗ）と、出力端子Ａの値（Ｌｏｗ）とが同じであるかを判定する（図２のステップＡ１１参照）。
【００８５】
図５では入力信号値（Ｌｏｗ）と出力端子Ａの値（Ｌｏｗ）とが同じであるので（ステップＡ１１のＹＥＳ）、タイミングチェック信号値固定手段（図２の１７）は、出力端子Ａの値（Ｌｏｗ）を確定値として出力する（図２のステップＢ１参照）。つまり、タイミングのスペック値（Ｔ２５）内に、リセット端子が２回以上変化しているため、グリッチ信号（電圧変動信号）が入力されたことになり、仮にクロック端子の変化時刻（Ｔ２６）の変化により、データ端子の値を出力させた場合と、リセット端子の最終変化時（Ｔ２８）の値がアクティブ（Ｈｉｇｈ）になっていることによる出力値が同じであるため、出力端子Ａの値が確定できることから、リカバリー／リムーバルタイミングエラーは擬似エラーとして扱い、出力端子Ａも確定値（Ｌｏｗ）を出力する。
【００８６】
なお、ステップＢ１の動作は、従来例１の論理シミュレーションの結果では時刻Ｔ２９以降で出力端子Ｃは不定値を出力していたのに対して、出力端子Ｂのデバイス論理の時刻Ｔ２９の出力値（Ｌｏｗ）と同じく、実施例１の論理シミュレーションの出力端子Ａの時刻Ｔ２９以降の値は、確定値（Ｌｏｗ）を出力できる。
【００８７】
図６は、リムーバルタイミングチェックにおいて、クロック端子が立ち上がりエッジアクティブ、リセット端子がＨｉｇｈ、データ端子がＨｉｇｈ又は不定値が入力されている場合のタイミングチャートである。
【００８８】
図６の例では、まず、タイミングチェック期待値比較手段（図２の１６）は、リカバリー／リムーバルタイミングチェック対象となる端子としてクロック端子、リセット端子を記憶する（図２のステップＡ１参照）。
【００８９】
次に、タイミングチェック期待値比較手段（図２の１６）は、ステップＡ１にて記憶したクロック端子、リセット端子のスペック値（Ｔ３０）をＳＤＦファイル（図２の１６ａ）より入手し記憶する（図２のステップＡ２参照）。
【００９０】
次に、タイミングチェック期待値比較手段（図２の１６）は、第１論理回路ブロック（図１の４）からクロック端子、リセット端子に入力された入力波形の変化時刻（クロック端子の変化時刻Ｔ３１、リセット端子のＴ３２、Ｔ３３）を記憶する（図２のステップＡ３参照）。
【００９１】
次に、タイミングチェック期待値比較手段（図２の１６）は、クロック端子の変化時刻（Ｔ３１）とリセット端子の変化時刻（Ｔ３２）の差（変化時刻差）を計算し、計算した変化時刻差と、ステップＡ２にて記憶したスペック値（Ｔ３０）とを比較する（図２のステップＡ４参照）。
【００９２】
次に、タイミングチェック期待値比較手段（図２の１６）は、変化時刻差（Ｔ３２−Ｔ３１）がスペック値（Ｔ３０）以下であるか否かを判定する（図２のステップＡ５参照）。図６の場合、変化時刻差（Ｔ３２−Ｔ３１）がスペック値（Ｔ３０）以下である。
【００９３】
図６では変化時刻差（Ｔ３２−Ｔ３１）がスペック値（Ｔ３０）以下であるので（ステップＡ５のＹＥＳ）、リカバリー／リムーバルタイミングエラーとなり、タイミングチェック期待値比較手段（図２の１６）は、タイミングのスペック値（Ｔ３０）内に、論理シミュレーション結果からリセット端子の動作回数をカウントし、カウントした動作回数（Ｔ３２とＴ３３での２回）を記憶する（図２のステップＡ６参照）。
【００９４】
ステップＡ６の後、タイミングチェック期待値比較手段（図２の１６）は、ステップＡ３で記憶したスペック値（Ｔ３０）内において、ステップＡ６で記憶したリセット端子の動作回数（２回）が２回以上であるか否かを判定する（図２のステップＡ７参照）。
【００９５】
図６では動作回数（２回）が２回以上であるので（ステップＡ７のＹＥＳ）、つまり、評価端子にグリッチ信号（電圧変動信号）が入力されたので、タイミングチェック期待値比較手段（図２の１６）は、リセット端子の最終変化時（Ｔ３３）の値（Ｈｉｇｈ）を記憶する（図２のステップＡ８参照）。
【００９６】
ステップＡ８の後、タイミングチェック期待値比較手段（図２の１６）は、ステップＡ８で記憶したリセット端子の最終変化時（Ｔ３３）の値がアクティブ（Ｈｉｇｈ）になっていることにより、出力端子Ａの値が確定可能かどうかを判定する（図２のステップＡ９参照）。
【００９７】
図６ではリセット端子の最終変化時（Ｔ３３）の値がアクティブ（Ｈｉｇｈ）になっていることにより、出力端子Ａの値が確定可能であるので（ステップＡ９のＹＥＳ）、タイミングチェック期待値比較手段（図２の１６）は、リセット端子の最終変化時（Ｔ３３）でのデータ端子の入力信号値（不定値）を記憶する（図２のステップＡ１０参照）。
【００９８】
ステップＡ１０の後、タイミングチェック期待値比較手段（図２の１６）は、ステップＡ１０で記憶したリセット端子の最終変化時（Ｔ３３）でのデータ端子の入力信号値（不定値）と、出力端子Ａの値（Ｌｏｗ）とが同じであるかを判定する（図２のステップＡ１１参照）。
【００９９】
図６では入力信号値（不定値）と出力端子Ａの値（Ｌｏｗ）とが同じでないので（ステップＡ１１のＮＯ）、タイミングチェック信号値固定手段（図２の１７）は、出力端子Ａの結果として、一旦、不定値を出力し、その後、確定値（Ｌｏｗ）を出力する（図２のステップＢ２参照）。つまり、タイミングのスペック値（Ｔ３０）内に、リセット端子が２回以上変化しているため、グリッチ信号（電圧変動信号）が入力されたことになり、仮にクロック端子の時刻（Ｔ３１）での変化により、データ端子の値を出力させた場合と、リセット端子の最終変化時（Ｔ３３）での値がアクティブ（Ｈｉｇｈ）になることによる場合の出力値が違うため、リカバリー／リムーバルタイミングエラーにより、一旦、時刻Ｔ３４で出力に不定値を出力し、その後、リセット端子の最終変化時（Ｔ３３）での値がアクティブ（Ｈｉｇｈ）になっていることにより、出力端子は時刻Ｔ３５で確定値（Ｌｏｗ）を出力する。
【０１００】
なお、ステップＢ２の動作は、従来例１の論理シミュレーションの結果では、時刻Ｔ３４で出力端子Ｃは不定値を出力していたのに対して、出力端子Ｂのデバイス論理の出力値はデータ端子が時刻Ｔ３１でのＨｉｇｈ又は不定値であるＴ３６が入力された場合、時刻Ｔ３４での値の様に一旦、不定値を出力し、その後、リセット端子がアクティブ（Ｈｉｇｈ）となっているため、確定値になるのと同じく、実施例１の論理シミュレーションの出力端子Ａの時刻Ｔ３４での値は、デバイス論理の出力端子Ｂの出力値と同じく、時刻Ｔ３５では確定値（Ｌｏｗ）を時刻Ｔ１１で出力できる。
【０１０１】
実施例１によれば、以下のような効果を奏する。
【０１０２】
第１の効果として、リカバリー／リムーバルタイミングエラーによる期待値不一致をなくすことができるので、擬似エラーを削減することができ、期待値不一致箇所の人手による検証時間の作業工数を削減できるという効果がある。その理由は、擬似エラーを判断させるため、リカバリー／リムーバルタイミングエラーが発生した時の、リセット端子及びセット端子がタイミングのスペック値以内に、数回変化したことにより、グリッチが入力されていると判定することと、グリッチが入力されたことにより、リセットおよびセット端子の最終時刻変化時の値がアクティブ状態であることと、リセット端子及びセット端子がアクティブ状態であることにより、出力が必ず確定できる状態であることを判定することで、擬似エラーによる、期待値不一致をなくせるからである。つまり、論理シミュレーションの工程において、図２のステップＡ６で、記憶したリセット端子が、ステップＡ２で記憶したタイミングのスペック値内で２回以上変化していることを判定するステップＡ７と、図２のステップＡ８で記憶したリセット端子の入力論理により、リカバリー／リムーバルタイミングエラーが発生していても出力論理が確定できるかを判定するステップＡ９を有することで、リカバリー／リムーバルタイミングエラーにおける擬似エラーの発生がなくなり、出力論理が確定できるからである。
【０１０３】
第２の効果として、回路修正工数を削減できるという効果がある。つまり、従来例１では、擬似エラー箇所も含め、全ての期待値不一致箇所の回路を修正することになるが、実施例１では期待値不一致箇所のうち真のエラー箇所の回路を修正することになるからである。
【実施例２】
【０１０４】
本発明の実施例２に係る論理シミュレーションシステムについて図面を用いて説明する。図７は、本発明の実施例２に係る論理シミュレーションシステムにおけるタイミングチェック期待値比較手段及びタイミングチェック信号値固定手段の処理動作を模式的に示したフローチャートである。図８は、本発明の実施例２に係る論理シミュレーションシステムにおけるリセット付Ｄ−ラッチのパルス幅エラーを説明するためのタイミングチャートである。
【０１０５】
実施例２は、実施例１の変形例であり、タイミングチェック期待値比較手段１６において、実施例１のようにリカバリー／リムーバルタイミングチェックを判定するのではなく、パルス幅タイミングチェックを判定する。なお、実施例２に係る論理シミュレーションシステムは、タイミングチェック期待値比較手段１６の動作を除いて、実施例１（図１参照）と同様である。以下、実施例２に係る論理シミュレーションシステムの動作について説明する。
【０１０６】
なお、図８において、出力端子Ａ´の波形は実施例２に係る論理シミュレーションによる出力波形であり、出力端子Ｂの波形は本来のデバイスの結果（以降、デバイス論理と称す）を示した出力波形であり、出力端子Ｃの波形は従来例１に係る論理シミュレーションによる出力波形である。また、以下の説明で記憶するおよび演算および比較処理は、すべて論理シミュレーションシステム内に記載は無い、記憶部、演算部、比較部で行われるものである。
【０１０７】
タイミングチェック期待値比較手段（図７の１６）は、パルス幅タイミングチェック対象となる端子としてリセット端子を記憶する（図７のステップＣ１参照）。
【０１０８】
次に、タイミングチェック期待値比較手段（図７の１６）は、ステップＣ１にて記憶したリセット端子のスペック値（Ｔ４９）をＳＤＦファイル（図７の１６ｂ）より入手し記憶する（図７のステップＣ２参照）。
【０１０９】
次に、タイミングチェック期待値比較手段（図７の１６）は、第１論理回路ブロック（図１の４）からリセット端子に入力された入力波形の変化時刻（Ｔ５０、Ｔ５１）を記憶する（図７のステップＣ３参照）。
【０１１０】
次に、タイミングチェック期待値比較手段（図７の１６）は、リセット端子の変化時刻（Ｔ５０、Ｔ５１）の差（変化時刻差）を計算し、計算した変化時刻差（Ｔ５１−Ｔ５０）と、ステップＣ２にて記憶したスペック値（Ｔ４９）とを比較する（図７のステップＣ４参照）。
【０１１１】
次に、タイミングチェック期待値比較手段（図７の１６）は、変化時刻差（Ｔ５１−Ｔ５０）がスペック値（Ｔ４９）以下であるか否かを判定する（図７のステップＣ５参照）。図８の場合、変化時刻差（Ｔ５１−Ｔ５０）がスペック値（Ｔ４９）以下であるので（ステップＣ５のＹＥＳ）、ステップＣ６に進む。なお、変化時刻差がスペック値以下でない場合（ステップＣ５のＮＯ）、ステップＢ１に進む。
【０１１２】
変化時刻差（Ｔ５１−Ｔ５０）がスペック値（Ｔ４９）以下である場合（ステップＣ５のＹＥＳ）、パルス幅タイミングエラーとなり、タイミングチェック期待値比較手段（図７の１６）は、ゲート端子の時刻Ｔ５１での値（Ｈｉｇｈ）を記憶する（図７のステップＣ６参照）。
【０１１３】
ステップＣ６の後、タイミングチェック期待値比較手段（図７の１６）は、評価端子となるリセット端子の最終変化時（Ｔ５１）の値（Ｌｏｗ）を記憶する（図７のステップＣ７参照）。
【０１１４】
ステップＡ８の後、タイミングチェック期待値比較手段（図７の１６）は、ステップＣ７で記憶したリセット端子の最終変化時（Ｔ５１）の値が非アクティブ（Ｌｏｗ）であり、かつ、ステップＣ６で記憶したゲート端子の時刻Ｔ５１での値がアクティブ（Ｈｉｇｈ）になっていることにより、出力端子Ａの値が確定可能かどうかを判定する（図７のステップＣ８参照）。図８の場合、リセット端子の最終変化時（Ｔ５１）の値がアクティブ（Ｈｉｇｈ）であり、かつ、ゲート端子の時刻Ｔ５１での値がアクティブ（Ｈｉｇｈ）になっていることにより、出力端子Ａの値が確定可能であるので（ステップＣ８のＹＥＳ）、ステップＢ２に進む。なお、出力端子Ａの値が確定可能でない場合（ステップＣ８のＮＯ）、ステップＢ３に進む。
【０１１５】
変化時刻差がスペック値以下でない場合（ステップＣ５のＮＯ）、つまり、パルス幅タイミングエラーが検出されなかった場合、タイミングチェック信号値固定手段（図７の１７）は、出力端子Ａの値が確定できることから、パルス幅タイミングエラーは擬似エラーとして扱い、出力端子Ａも確定値を出力し（図７のステップＢ１参照）、その後、終了する。
【０１１６】
出力端子Ａの値が確定可能である場合（ステップＣ８のＹＥＳ）、タイミングチェック信号値固定手段（図７の１７）は、出力端子Ａの結果として、一旦、不定値を出力し、その後、確定値（Ｔ５５）を出力し（図７のステップＢ２参照）、その後、終了する。つまり、ステップＣ７で記憶したリセット端子の最終変化時Ｔ５１での値が非アクティブ（Ｌｏｗ）であり、ステップＣ６で記憶したゲート端子の時刻Ｔ５１での値がアクティブ（Ｈｉｇｈ）であることにより、出力端子Ａの結果として、一旦、不定値を出力し、その後、時刻Ｔ５４にデータ端子の時刻Ｔ５０での値Ｔ５５を出力する。
【０１１７】
なお、ステップＢ２の動作は、従来例１の論理シミュレーション結果では、出力端子Ｃは時刻Ｔ５３以降で不定値を出力していたのに対して、出力端子Ｂのデバイス論理の出力値は時刻Ｔ５３では、一旦、不定値が出力されるものの、ステップＣ８の判定結果により、その後、ゲート端子がアクティブ（Ｈｉｇｈ）であるため、データ端子の時刻Ｔ５０での値Ｔ５５を、時刻Ｔ５４でそのまま出力する。実施例１の論理シミュレーションの出力端子Ａの値は、デバイス論理の出力端子Ｂの出力値と同じく、時刻Ｔ５４には確定値Ｔ５５を出力できる。
【０１１８】
出力端子Ａの値が確定可能でない場合（ステップＣ８のＮＯ）、タイミングチェック信号値固定手段（図７の１７）は、出力端子Ａの結果として、不定値を第１期待値１３に書き換えて出力し（図７のステップＢ３参照）、その後、終了する。
【０１１９】
なお、図８は、リセット端子の場合の説明であるが、セット端子の場合も、同様の考えである。
【０１２０】
実施例２によれば、パルス幅タイミングエラーによる期待値不一致をなくすことができるので、実施例１と同様に、擬似エラーを削減することができ、期待値不一致箇所の人手による検証時間の作業工数を削減でき、回路修正工数を削減できる。
な効果を奏する。
【符号の説明】
【０１２１】
１、１０１  テストベンチ
２、１０２  入力信号値
３、１０３  信号値入力手段
４、１０４  第１論理回路ブロック（前段の論理回路ブロック）
５、１０５  第２論理回路ブロック（後段の論理回路ブロック）
６、１０６  信号値出力手段
７、１０７  出力信号値
８  非タイミングチェック期待値比較手段
９  非タイミングチェック信号値固定手段
１０、１１０  期待値比較手段
１１、１１１  メッセージ出力手段
１２、１１２  メッセージ出力抑制手段
１３、１５、１１３、１１５  期待値
１４、１１４  メッセージ最大出力回数
１６  タイミングチェック期待値比較手段
１６ａ、１６ｂ  ＳＤＦファイル
１７  タイミングチェック信号値固定手段
１０８  期待値比較手段
１０９  信号値固定手段
１２０  クロック信号
１２１、１２２  論理ブロック間信号
１２３、１２６  立ち上がりエッジ
１２４  デルタ遅延
１２５  立下りエッジ
１２７、１２９  期待値と一致する値
１２８  期待値と一致しない値
【図１】
2011158965.tif 000003
【図２】
2011158965.tif 000004
【図３】
2011158965.tif 000005
【図４】
2011158965.tif 000006
【図５】
2011158965.tif 000007
【図６】
2011158965.tif 000008
【図７】
2011158965.tif 000009
【図８】
2011158965.tif 000010
【図９】
2011158965.tif 000011
【図１０】
2011158965.tif 000012