(57)【要約】【課題】論理回路のデバッグを効率的に行うこと。【解決手段】論理回路とそのテストデータを入力とし、信号の状態値として不定状態を取り扱う多値シミュレータによるシミュレーションにおいて、論理回路中の信号値変化の履歴を記録する信号変化履歴記録手段と、論理回路中の信号に対して不定状態発生を禁止する条件を定義する不定状態禁止条件設定手段と、前記信号変化履歴記録手段により記録されている情報のうち、監視すべき信号の信号値変化履歴より、禁止条件に違反する不定状態を検出する不定状態監視手段と、前記不定状態監視手段により検出された不定状態を予め指定された通知方法に従って直ちに通知する不定状態発生通知手段と、前記不定状態監視手段により検出された不定状態の発生要因を直ちに自動解析し、その結果を記録する不定状態原因解析手段とを有する。【選択図】図１
2006221325.tif 000002
【特許請求の範囲】
【請求項１】
論理回路とそのテストデータを入力とし、信号の状態値として不定状態を取り扱う多値シミュレータによるシミュレーションにおいて、
論理回路中の信号値変化の履歴を記録する信号変化履歴記録手段と、
論理回路中の信号に対して不定状態発生を禁止する条件を定義する不定状態禁止条件設定手段と、
前記不定状態禁止条件設定手段に基づいて、前記信号変化履歴記録手段により記録されている情報のうち、監視すべき信号の信号値変化履歴より、禁止条件に違反する不定状態を検出する不定状態監視手段と、
前記不定状態監視手段により検出された不定状態を予め指定された通知方法に従って直ちに通知する不定状態発生通知手段と、
前記不定状態監視手段により検出された不定状態の発生要因を直ちに自動解析し、その結果を記録する不定状態原因解析手段とを有することを特徴とする不定値監視機能付き論理回路検証装置。
【請求項２】
論理回路とそのテストデータを入力とし、信号の状態値として不定状態を取り扱う多値シミュレータによるシミュレーションにおいて、
論理回路中の信号値変化の履歴を記録する信号変化履歴記録手段と、
論理回路中の信号に対して不定状態発生を禁止する条件を定義する不定状態禁止条件設定手段と、
前記不定状態禁止条件設定手段に基づいて、前記信号変化履歴記録手段により記録されている情報のうち、監視すべき信号の信号値変化履歴より、禁止条件に違反する不定状態を検出する不定状態監視手段と、
前記不定状態監視手段により検出された不定状態を予め指定された通知方法に従って直ちに通知する不定状態発生通知手段と、
前記不定状態監視手段により検出された不定状態の発生要因を直ちに自動解析し、その結果を記録する不定状態原因解析手段とを有することを特徴とする不定値監視機能を有する論理回路検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル論理回路の検証装置及び方法に関する。
【背景技術】
【０００２】
コンピュータ技術の進展により論理回路の設計はコンピュータを利用したＣＡＤ技術を用いて行われている。論理回路の設計結果の検証では、ＣＡＤにより論理シミュレーションを行って論理回路の動作を確認する。
【０００３】
一方、半導体技術の進展により半導体部品の高集積化が進み、１つの半導体部品に搭載できる論理回路の規模は増大している。シミュレーションの対象となる論理回路の規模が増大していることから、効率良く検証を行うことができる論理検証装置が要求されている。
【０００４】
図７は従来例を説明する図である。
【０００５】
図中の１０は論理回路データ、２０は論理回路をテストするためのテストデータである。３０は前記論理回路データ１０、テストデータ２０を入力とするシミュレータで、信号の状態値を‘０’，‘１’だけではなく、信号の状態値が確定していない場合や信号の衝突を表す不定状態‘Ｘ’、信号がドライブされていない状態を表す‘Ｚ’等の値を取り扱う多値シミュレータである。
【０００６】
３５はシミュレータ制御コマンド、４０はシミュレータにより評価されたシミュレーション対象データ中の各信号の状態変化履歴情報、９０はディスプレイである。
【０００７】
ディスプレイ９０は、記録された状態値変化データ４０より指定された信号の状態値を波形やリストとしてディスプレイに表示する。
【０００８】
７１はディスプレイ９０上の波形やリストに表示されている信号のうち、指定した信号について、その信号状態値が不定状態の場合、不定状態の要因となっている信号を検出する不定要因解析手段である。前記不定状態７１は、指定された信号を基に接続情報データと状態値変化履歴を使用して解析を行う。
【０００９】
従来例の検証装置を利用して論理回路中の信号の不定状態値を検出し、その要因を解析する方法は以下の通りである。
（１）制御コマンド３５により、論理回路の動作確認に必要な信号をディスプレイ９０上の波形やリストに表示する。
（２）制御コマンド３５に、不定状態を禁止する条件と前記条件検出時にシミュレーションを停止するコマンドを設定し、シミュレーションを実行する。
（３）上記（２）で設定した禁止条件を検出するとシミュレーションは停止する。検証装置利用者は、シミュレーションが定時状態であることを検証装置上で確認する。
（４）（１）により表示したディスプレイ９０上の波形やリストより、禁止条件を違反する不定状態に変化している信号を検索・選択する。
（５）（４）で選択した信号について不定要因解析手段71を用いて要因の解析を行し、結果をディスプレイ９０上に表示する。
【００１０】
特許文献１において、上記従来例を改善するが紹介されている。特許文献１による装置では、上記従来例にシミュレーションを行ったときの信号値とその変化を定量的に集計、分析する出力処理部が具備されている。上記特許文献１による論理検証装置は、各信号との動作状況と不定状態のまま或は状態値変化しない信号の識別を容易化するものである。
【００１１】
【特許文献１】特開平８−０１６６４６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
従来例の場合、検証装置利用者は、シミュレーションの実行状態を監視し、シミュレーションが不定状態禁止条件検出により停止しているかどうか常に確認しなければならない。更に、不定状態検出時の要因解析作業では、該当する不定状態禁止条件を特定し、解析対象の信号を解析対象指定手段により手動で指定する必要があり、効率的に検証を進めるのは困難である。
【００１３】
特許文献１に紹介される装置においても、禁止条件における不定状態かどうかの判断は、従来例と同様の方法で行う必要がある。
【００１４】
本発明は上記事情に鑑みてなされたもで、その目的とする処は、検証の自動化の向上を図り、論理回路のデバッグを効率的に行うことができる不定値監視機能付き論理回路検証装置及び論理回路検証方法を提供することにある。
【課題を解決するための手段】
【００１５】
前記課題を解決する本発明の不定値監視機能付き論理回路検証装置は、論理回路とそのテストデータを入力とし、信号の状態値として不定状態を取り扱う多値シミュレータによるシミュレーションにおいて、論理回路中の信号値変化の履歴を記録する信号変化履歴記録手段と、論理回路中の信号に対して不定状態発生を禁止する条件を定義する不定状態禁止条件設定手段と、前記不定状態禁止条件設定手段に基づいて、前記信号変化履歴記録手段により記録されている情報のうち、監視すべき信号の信号値変化履歴より、禁止条件に違反する不定状態を検出する不定状態監視手段と、前記不定状態監視手段により検出された不定状態を予め指定された通知方法に従って直ちに通知する不定状態発生通知手段と、前記不定状態監視手段により検出された不定状態の発生要因を直ちに自動解析し、その結果を記録する不定状態原因解析手段とを有することを特徴とする。
【００１６】
又、本発明の不定値監視機能を有する論理回路検証方法は、論理回路とそのテストデータを入力とし、信号の状態値として不定状態を取り扱う多値シミュレータによるシミュレーションにおいて、論理回路中の信号値変化の履歴を記録する信号変化履歴記録手段と、論理回路中の信号に対して不定状態発生を禁止する条件を定義する不定状態禁止条件設定手段と、前記不定状態禁止条件設定手段に基づいて、前記信号変化履歴記録手段により記録されている情報のうち、監視すべき信号の信号値変化履歴より、禁止条件に違反する不定状態を検出する不定状態監視手段と、前記不定状態監視手段により検出された不定状態を予め指定された通知方法に従って直ちに通知する不定状態発生通知手段と、前記不定状態監視手段により検出された不定状態の発生要因を直ちに自動解析し、その結果を記録する不定状態原因解析手段とを有することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、禁止条件における不定状態発生を直ちに利用者に通知し、不正不定状態の原因を解析・レポートすることで検証の自動化を向上し、論理回路のデバッグを効率的に行うことが可能となる。
【発明を実施するための最良の形態】
【００１８】
以下に本発明の実施の形態を添付図面に基づいて説明する。
【００１９】
図１は本発明の原理を説明する図である。
【００２０】
図１において、３０は論理回路データ１０とテストデータ２０を入力とする多値シミュレータであり、４０は論理回路内部の信号の状態値の変化記録する信号変化履歴記録手段である。不定状態監視手段５０は、論理回路中の信号に対して不定状態発生を禁止する条件を定義する不定状態禁止条件設定手段５５により定義された情報に基づいて、号変化履歴記録手段４０により記録されている情報のうち、監視すべき信号の信号値変化履歴より、禁止条件に違反する不定状態を検出する。
【００２１】
検出された不定状態については、予め指定された通知方法情報６５に従って不定状態発生通知手段６０により、装置利用者に直ちに通知される。同時に、不定状態原因解析手段７０により不定状態の発生要因を直ちに自動解析し、その結果を記録する。
【００２２】
図２は本発明の実施の形態を説明するブロック図である。
【００２３】
図２中の１０は論理回路データ、２０はテストデータである。１０Ａ及び２０Ａはそれぞれ前記回路データ１０及びテストデータ２０をコンパイラ３１によりシミュレーション用データフォーマットに変換されたデータである。
【００２４】
８０はコンパイラ３１によりシミュレータ３の入力となる論理回路データ１０及びテストデータ２０より抽出された論理回路接続情報である。
【００２５】
図３は論理回路接続情報の例を示す。
【００２６】
図３において、３００は論理回路ブロック図の一部である。論理回路接続情報は、信号テーブル３０１、インスタンステーブル３０２、モジュールテーブル３０３より構成される。
【００２７】
信号テーブル３０１は、論理回路内の各信号について、信号がドライブされているピンと信号が入力さているピンを列挙する。例えば、信号／ｕ０／ｄｑ０は、論理回路内のピン、／ｕ０／ｕ２／ＤＱによりドライブされ、ピン／ｕ０／ｕ３／ＤＩＮ０, ／ｕ０／ｕ４／ＤＩＮ０に入力されていることを表している。
【００２８】
インスタンステーブル３０２は、論理回路を構成する各インスタンスについて、使用されているモジュール名と、インスタンスされたモジュールの各ピンに接続されている信号名により構成する。例えば、インスタンス／ｕ０／ｕ２はモジュールＭ０であり、前記インスタンスの場合、ピンＤＡ，ＤＢ，ＤＱは、それぞれ／ｕ０／ｄｉｎ０，／ｕ０／ｄｉｎ１，／ｕ０／ｄｑ０に接続されている。
【００２９】
モジュールテーブル３０３は、論理回路で使用されているモジュールについて、名称、ピン、属性情報により構成する。属性情報には、プリミティブ、マクロ、或はハードウェア記述言語による動作モデル等のモジュールのレベル等の情報より構成する。例えば、インスタンス／ｕ０／ｕ２で使用されているモジュールＭ０は入力ピンＤＡ，ＤＢ、出力ピンはＤＱで、ＨＤＬによる動作記述で作成されている。
【００３０】
又、モジュールＭ１は入力ピン、ｃｌｋ，ｄｉｎ，ｘｒｅｓｅｔ出力ピンはＱであり、順序回路のプリミティブでそのセットアップタイムは０．２ｎｓ、ホールドタイムは０．１ｎｓである。
【００３１】
３５は禁止条件を違反する不定状態検出後のシミュレータ実行方法の指示や信号トレースを指示するシミュレータ制御コマンドである。
【００３２】
シミュレータ３０は、論理回路データ１０Ａ、テストデータ２０Ａを入力とし、制御コマンド３５により制御され、論理回路を検証する多値シミュレータである。
【００３３】
４０は論理回路中の信号のシミュレーション中における状態値変化を記録する信号変化履歴記録手段である。信号変化履歴記録手段４０は、論理回路内部の各信号について、シミュレーション中の最新時刻における信号の値を最新値とし保持しており、シミュレーション時間が更に進んで状態値変化が起きた信号について、そのときの時刻と最新の値を履歴として記録し、更に最新値として保持している値を更新する。
【００３４】
図４は信号変化履歴記録手段４０による記録される情報例を示す。
【００３５】
論理回路内の各信号について、シミュレーション中の最新時間における状態値を保持（４００）し、状態値変化時刻と状態値を記録（４０１）する。
【００３６】
５０は不定状態監視手段であり、禁止条件における不定状態を定義した不正状態禁止条件定義手段５５により設定された情報に基づいて、信号変化履歴記録手段４０が保持する論理回路内の各信号の最新の状態値の監視及び状態値変化記録を参照により、禁止条件における不定状態発生を監視する。
【００３７】
図５に不正状態禁止条件定義手段５５による定義例を示す。
【００３８】
信号とその状態値及びシミュレーション時刻を組み合わせた論理式により定義する。例えば、信号／ｄｏｕｔは、シミュレーション時間の１００ｎｓ以降において、信号／ＥＮ０の状態値が‘１’或は信号／ＥＮ１の状態値が‘１’の場合を不定状態禁止と定義している。
【００３９】
不定状態監視手段５０により、禁止条件違反の不定状態が検出されると、予め設定された通知方法情報６５に基づいて、不正状態通知方法６０が検証装置利用者へ直ちに通知される。同時に、不定状態原因解析手段７０が信号状態変化情報４０と接続情報８０を用いて不定状態発生の要因を解析し解析結果７５にレポートする。
【００４０】
ディスプレイ９０は、論理回路中の信号についての波形やリストを表示する。表示する信号、制御コマンド３５により指定され、状態値変化データ４０を参照し、表示する。禁止違反検出を通知後、要因解析レポートの確認等で使用する。
【００４１】
図６は通知方法の指定例を示す。‘Ｅｍａｉｌ’を指定すると、Ｅメールにより検出を通知する。この場合、送信先のアドレスを指定する。又、‘ｓｏｕｎｄ’の指定により使用している装置上に音源がある場合は音による通知を、‘Ｂｌｉｎｋ’指定によりディスプレイ９０の点滅による通知を行う。
【００４２】
禁止条件を違反する不定状態検出後の要因解析のフローを示す。
（１）接続情報４０のうち、信号テーブル３０１を参照し、不定状態が検出された信号について、その信号をドライブしているピンを検索し、そのピン名からピンが所属するインスタンス名を得る。
（２）インスタンステーブル３０２より（１）で得たインスタンス名を検索し、そのインスタンスの入力となっているピンの信号名を得る。
（３）信号変化履歴記録手段４０に保持されている最新状態値情報４００と状態変化履歴情報４０１よりのデータより、（２）で得た各信号について不定状態が検出された時刻或はその時刻近傍での状態値が不定状態になっているか確認する。
（４）（３）において、（２）で得た全ての信号について不定状態がなければ、（１）で得たインスタンスが不定状態発生の原因となっている。この場合、インスタンステーブルより前記インスタンス名を持つインスタンスについてのモジュール名を検索し、インスタンス名及びモジュール名をレポートする。
（５）不定状態をとなっている信号がある場合、その信号について、（１）〜（４）までを繰り返し、不定状態の原因となっているインスタンスを検出する。不定状態を発生しているなっているインスタンスの不定状態を駆動しているピン及び接続されている信号から、不定状態監視手段50により検出された禁止条件で不定状態となっている信号までの経路をまとめレポートする。
【００４３】
尚、モジュールテーブル３０３の情報を利用することで、不定状態発生がセットアップやホールドタイム等、順所回路におけるタイミングエラーによるものか判定することができる。
【００４４】
判定方法は以下の通りである。
【００４５】
１）インスタンステーブル３０２より、モジュール名を検出し、モジュールテーブル３０３よりモジュールを検出する。
【００４６】
２）モジュールの属性が順序回路の場合、インスタンステーブル３０２により、順序回路のクロックとデータに接続されている信号を検出する。
【００４７】
３）２）で検出された信号について、最新状態値情報４００及び信号状態変化履歴４０１より不定状態が発生された時刻近辺の信号変化を調べ、信号歴から、クロックのエッジとデータの信号変化までの時間を算出し、算出した値とモジュールテーブル３０３に記載されているセットアップ、ホールドタイムと比較することで、タイミングエラー発生を検出する。
【００４８】
又、信号接続情報８０の信号テーブル３０１より、論理回路中の各信号について、複数のピンよりドライブされている信号があるかどうかを調べることによって、トライステートバス接続されている信号を検出することができる。これをシミュレーション前に実施することにより、回路の設計ミスを早期に検出することができる。
【図面の簡単な説明】
【００４９】
【図１】本発明の原理を説明するブロック図である。
【図２】本発明の実施の形態を説明するブロック図である。
【図３】本発明の実施の形態の論理回路接続情報を示す図である。
【図４】本発明の実施の形態の信号変化履歴情報を示す図である。
【図５】本発明の実施の形態の不正状態禁止条件定義を示す図である。
【図６】本発明の実施の形態の通知手方法指定を示す図である。
【図７】従来例を説明する図である。
【符号の説明】
【００５０】
１０    論理回路データ
２０    テストデータ
１０Ａ  シミュレーション用データフォーマットに変換された論理回路データ
２０Ａ  シミュレーション用データフォーマットに変換されたテストデータ
３０    シミュレータ
３１    コンパイラ
３５    シミュレータ制御コマンド
３５Ａ  本発明の実施例のシミュレータ制御コマンド
４０    信号変化履歴記録手段
５０    不定状態監視手段
５５    不正状態禁止条件定義手段
６０    不定状態原因解析手段
７０    不定状態原因解析手段
７５    不定状態原因解析結果レポート
８０    論理回路接続情報
９０    ディスプレイ
３０１  信号テーブル
３０２  インスタンステーブル
３０３  モジュールテーブル
４００  最新状態値情報
４０１  信号状態変化履歴
【図１】
2006221325.tif 000003
【図２】
2006221325.tif 000004
【図３】
2006221325.tif 000005
【図４】
2006221325.tif 000006
【図５】
2006221325.tif 000007
【図６】
2006221325.tif 000008
【図７】
2006221325.tif 000009