JP4481762B2 - 論理検証装置、論理検証方法、論理検証プログラムおよび記録媒体 - Google Patents

論理検証装置、論理検証方法、論理検証プログラムおよび記録媒体 Download PDF

Info

Publication number
JP4481762B2
JP4481762B2 JP2004235852A JP2004235852A JP4481762B2 JP 4481762 B2 JP4481762 B2 JP 4481762B2 JP 2004235852 A JP2004235852 A JP 2004235852A JP 2004235852 A JP2004235852 A JP 2004235852A JP 4481762 B2 JP4481762 B2 JP 4481762B2
Authority
JP
Japan
Prior art keywords
input
output
constraint information
variable
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004235852A
Other languages
English (en)
Other versions
JP2006053813A (ja
Inventor
洋哲 岩下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004235852A priority Critical patent/JP4481762B2/ja
Priority to US11/017,730 priority patent/US7194713B2/en
Publication of JP2006053813A publication Critical patent/JP2006053813A/ja
Application granted granted Critical
Publication of JP4481762B2 publication Critical patent/JP4481762B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

この発明は、検証対象となるLSIなどのハードウェアモジュールを論理検証する論理検証装置、論理検証方法、論理検証プログラムおよび記録媒体に関する。
LSIなどのハードウェアモジュールの設計では、従来から設計期間の短縮による作業効率化が要求されている一方、ハードウェアモジュールが正しく動作するかどうかを検証する検証作業が必要不可欠であり、特に、大規模化、高機能化、高速化および低消費電力化が要求されているハードウェアモジュールについては、高品質を維持するためにもこの検証作業は重要である。
このハードウェアモジュールは、一般に、複数の入力/出力端子を持っており、その信号値はクロックサイクル毎に変化する。この信号変化のパターン(入力/出力シーケンス)は仕様で決められており、任意の時刻に任意の信号値が許されるというわけではない。ここで、具体的にハードウェアモジュールを用いてこの信号変化について説明する。
図10は、論理検証対象となる一般的なハードウェアモジュールの一例を示すブロック図である。図10において、ハードウェアモジュールMは、クロック信号clkを入力するクロック端子P1と、コマンド信号cmdを入力するコマンド入力端子P2と、リクエスト信号reqを入力するリクエスト入力端子P3と、アクノリッジ信号ackを出力するアクノリッジ出力端子P4と、32ビットのデータ信号datを入出力するデータ入出力端子P5とを有する。
このハードウェアモジュールMの仕様では、Read動作とWrite動作の2つパターンのみが許容される。図11は、ハードウェアモジュールMのRead動作を示す波形図であり、データ信号dat(図11中、出力データoutD)が読み出される。また、図12は、ハードウェアモジュールMのWrite動作を示す波形図であり、データ信号dat(図12中、入力データinD)が書き込まれる。
この図11に示したRead動作の入力信号および図12に示したWrite動作の入力信号が満たすべき制約条件を表現するものが「入力制約」である。ハードウェアモジュールMの入力制約はつぎの2項目にまとめることができる。
(1)Read動作に関する入力制約
コマンド信号cmdの入力値が「0」およびリクエスト信号reqの入力値が「1」で、かつ、アクノリッジ信号ackの出力値が「0」であれば、つぎのサイクルでも、コマンド信号cmdの入力値は「0」、リクエスト信号reqの入力値は「1」を保たなければならない。
(2)Write動作に関する入力制約
コマンド信号cmdの入力値が「1」およびリクエスト信号reqの入力値が「1」で、かつ、アクノリッジ信号ackの出力値が「0」であれば、つぎのサイクルでも、コマンド信号cmdの入力値は「1」、リクエスト信号reqの入力値は「1」を保たなければならず、データ信号datの入力値も同じ値に保持されなければならない。
上述した入力制約(1)および(2)は、論理検証に不可欠な情報である。論理検証は、入力端子に入力される信号の信号値が入力制約を満足する範囲でどのように変化しても、ハードウェアモジュールMが正しく動作することを確かめる作業である。一方、入力制約を満たさない入力に対する動作は、検証として意味を持たない。
ここで、図10に示したハードウェアモジュールMの入力制約違反について説明する。図13は、ハードウェアモジュールMの入力制約違反を示す波形図である。図10に示したハードウェアモジュールMで、図13に示した動作波形が観測された場合、上述した入力制約(2)に違反していることとなる。
したがって、このときのWrite動作で期待される機能(たとえば、ハードウェアモジュールMがデータ信号datの信号値を記憶すること)が正しく実行されなかった、あるいは、その後のRead動作で取り出されるデータ信号datの信号値が期待する値でなかった、としても、そのことをハードウェアモジュールMの論理障害と判定してはならない。
上述のような入力制約違反を正しく検証するため、単純な論理シミュレーションではなく、形式的検証(formal verification)や制約ベース検証(constraint-based verification)と呼ばれる検証方法がある。この検証方法では、論理検証ツールへの入力として、論理検証対象であるハードウェア記述や検証内容を表現した検証プロパティ記述に加えて、計算機解釈可能な入力制約記述を用意することが重要である(たとえば、下記非特許文献1および2を参照。)。
また、現実のハードウェアモジュールMの論理検証では、上述した非特許文献1および2で示した入力制約記述が数百項目におよぶこともあり、それらを漏れなく正確に記述することは容易な作業ではない。このため、入力制約記述があれば、その後の論理検証作業を自動的かつ効率的に実行することが可能である(たとえば、下記非特許文献3および4を参照。)。
一方、ハードウェアモジュールMがどのような入出力端子を持ち、その入出力端子を介してどのような種類の通信がおこなわれ、それぞれの種類の通信がどのような信号変化パターンを持つかを網羅的に記述したものを、ハードウェアモジュールMのインターフェース仕様記述と呼ぶ。
インターフェース仕様記述は、設計のためにも論理検証のためにも有用である。インターフェース仕様記述は、通信手順に関する仕様を明確にし、設計者間での仕様に関する理解を共有することができ、その理解を助ける。インターフェース仕様記述から論理検証用のチェッカやテストパターンを生成する方法が、下記非特許文献5に開示されている。
カール・ピクスレイ、ジョン・ハブリセク(Carl Pixley and John Havlicek)著,「ア ベリフィケーション シナジー:コンストレイント−ベイスド ベリフィケーション(A Verification Synergy: Constraint-Based Verification)」,エレクトリック デザイン プロセス ワークショップ(Electronic Design Process Workshop),アイトリプルイー コンピュータ ソサエティ出版(IEEE Computer Society),2003年 ジョセフ・リチャーズ(Joseph Richards)著,「クリエイティブ アサーション アンド コンストレイント メソッド フォー フォーマル デザイン ベリフィケーション(Creative Assertion and Constraint Methods for Formal Design Verification)」,デザイン アンド ベリフィケーション カンファレンス アンド エキシビジョン出版(Design and Verification Conference and Exhibition (DVCon)),2003年 カンナ・シミズ、デビッド・エル・ディル(Kanna Shimizu and David L. Dill)著,「ディライビング ア シミュレーション インプット ジェネレーター アンド ア カバレッジ メトリック フロム ア フォーマル スペシフィケーション(Deriving a Simulation Input Generator and a Coverage Metric From a Formal Specification)」,デザイン オートメーション カンファレンス(Design Automation Conference (DAC)),2002年 ジュン・ユアン、ケン・アルビン、アドナン・アジズ、カール・ピクスレイ(Jun Yuan, Ken Albin, Adnan Aziz, and Carl Pixley)著, 「コンストレイント シンセシス フォー エンビロンメント モデリング イン ファンクショナル ベリフィケーション(Constraint Synthesis for Environment Modeling in Functional Verification)」,デザイン オートメーション カンファレンス出版 (Design Automation Conference(DAC)),2003年 コージ・アラ、ケイ・スズキ(Koji Ara and Kei Suzuki)著,「ア プローザル フォー トランザクション−レベル ベリフィケーション ウィズ コンポネント ラッパー ランゲージ(A proposal for transaction-level verification with Component Wrapper Language)」,デザイン オートメーション アンド テスト イン ヨーロッパ出版(Design Automation and Test in Europe(DATE)),2003年
しかしながら、上述した非特許文献1〜5の従来技術では、形式的検証や制約ベース検証には計算機解釈可能な入力制約記述が必要である。したがって、新しく設計されたハードウェアモジュールに関する入力制約は、ハードウェアモジュールの仕様を理解した技術者が手作業で記述することとなり、手間がかかるという問題があった。
また、仕様が変更あるいは修正された場合、再び、技術者による人手作業が発生するため、さらに手間がかかるという問題があった。このように、技術者の手作業に依存していることにより、検証作業の長期化、ひいては設計作業の長期化を招くという問題があった。
また、技術者の手作業に依存すると、作成された入力制約記述に漏れや誤りが生じやすい。したがって、正しい論理検証をおこなうことができず、論理検証精度が低下するとともに、歩留まりが低下するという問題があった。
この発明は、上述した従来技術による問題点を解消するため、簡単かつ効率的な論理検証作業で高精度の論理検証をおこなうことにより、論理検証期間の短縮化を図ることができる論理検証装置、論理検証方法、論理検証プログラムおよび記録媒体を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この発明にかかる論理検証装置、論理検証方法、論理検証プログラムおよび記録媒体は、ハードウェアモジュールの設計内容に関するハードウェア記述情報および前記ハードウェアモジュールの通信手順に関するインターフェース仕様記述情報を入力し、入力されたハードウェア記述情報およびインターフェース仕様記述情報に基づいて、前記ハードウェアモジュールの動作を論理検証することを特徴とする。
この発明によれば、インターフェース仕様記述情報を直接入力することにより、ハードウェアモジュールの動作を論理検証することができる。
また、上記発明において、入力されたインターフェース仕様記述情報に基づいて、前記ハードウェアモジュールに入力される信号が満たすべき制約に関する入力制約情報を算出し、前記入力制約情報算出手段によって算出された入力制約情報に基づいて、前記ハードウェアモジュールの動作を論理検証することとしてもよい。
この発明によれば、インターフェース仕様記述情報を入力するだけで、入力制約情報を自動的に算出することができる。
また、上記発明において、入力されたインターフェース仕様記述情報に基づいて、前記ハードウェアモジュールに入出力される信号の状態遷移に関する有限状態機械モデルを生成し、生成された有限状態機械モデルを用いて、前記入力制約情報を算出することとしてもよい。
この発明によれば、インターフェース仕様記述情報の内容から、ハードウェアモジュールの状態遷移を認識することができる。
また、上記発明において、前記インターフェース仕様記述情報は、前記ハードウェアモジュールの端子に入出力される信号の信号変化パターンと、当該信号変化パターンの各時刻において前記端子に入出力される信号の方向を示す信号方向情報とを含み、前記信号変化パターンおよび前記信号方向情報に基づいて、前記ハードウェアモジュールに入出力される信号を特定する信号特定情報に、当該信号の方向に合致する前記信号方向情報が付加された入力変数および出力変数を生成し、生成された入力変数および出力変数を用いて、前記有限状態機械モデルを生成することとしてもよい。
この発明によれば、入力変数および出力変数を用いて有限状態機械モデルを生成することにより、有限状態機械モデル内において、信号方向を容易に特定することができる。
また、上記発明において、生成された有限状態機械モデルから、前記出力変数を消去することによって前記入力制約情報を算出することとしてもよい。
この発明によれば、信号方向が入力方向のみの変数からなる入力制約情報を自動的に算出することができる。
また、上記発明において、生成された有限状態機械モデルから前記入力変数を消去することによって、前記ハードウェアモジュールから出力される信号が満たすべき制約に関する出力制約情報を算出し、算出された入力制約情報と、算出された出力制約情報とに基づいて、前記インターフェース仕様記述情報の正当性を判定し、判定された判定結果に基づいて、前記ハードウェアモジュールの動作を論理検証することとしてもよい。
この発明によれば、入力されたインターフェース仕様記述情報の正当性を、論理検証前に確認することができる。
また、上記発明において、前記有限状態機械モデルは、前記入力変数および前記出力変数を用いて任意の遷移元の状態と前記遷移元に対する遷移先の状態との間の遷移条件が規定された論理関数が、各遷移枝に関連付けられた状態遷移グラフによって表現することとしてもよい。この場合、前記状態遷移グラフにおいて遷移条件が規定された論理関数から、存在量化処理を用いて前記出力変数を消去することによって前記入力制約情報を算出することができる。
この発明によれば、論理関数が複雑な場合でも、存在量化処理を用いることによって、簡単かつ正確に入力制約情報を算出することができる。
さらに、前記状態遷移グラフの論理関数から、前記存在量化処理を用いて前記入力変数を消去することによって前記出力制約情報を算出し、前記入力制約情報と前記出力制約情報との論理積が、前記遷移条件が規定された論理関数と一致するか否かを判定することとしてもよい。
この発明によれば、状態遷移グラフの遷移枝ごとにインターフェース仕様記述情報の正当性を確認することができる。
また、上記発明において、前記有限状態機械モデルは、前記入力変数および前記出力変数を用いて任意の遷移元の状態と前記遷移元に対する遷移先の状態との間の遷移条件が規定され、かつ、当該遷移条件を規定した前記入力変数および前記出力変数と、前記遷移元の状態に関する現状態変数および前記遷移先の状態に関する次状態変数とを用いて状態遷移関係が規定された論理関数としてもよい。この場合、前記論理関数から、存在量化処理を用いて前記次状態変数を消去することによって前記入出力制約情報を算出し、前記入出力制約情報算出手段によって算出された入出力制約情報から、前記存在量化処理を用いて前記出力変数および前記次状態変数を消去することによって前記入力制約情報を算出することができる。
この発明によれば、論理関数が複雑な場合でも、存在量化処理を用いることによって、簡単かつ正確に入力制約情報を算出することができる。
さらに、前記入出力制約情報から、前記存在量化処理を用いて前記入力変数および前記次状態変数を消去することによって前記出力制約情報を算出し、前記入力制約情報と前記出力制約情報との論理積が、前記入出力制約情報と一致するか否かを判定することとしてもよい。
この発明によれば、インターフェース仕様記述情報全体についての正当性を確認することができる。
この発明にかかる論理検証装置、論理検証方法、論理検証プログラムおよび記録媒体によれば、簡単かつ効率的な論理検証作業で高精度の論理検証をおこなうことにより、論理検証期間の短縮化を図ることができるという効果を奏する。
(実施の形態)
以下に添付図面を参照して、この発明にかかる論理検証装置、論理検証方法、論理検証プログラムおよび記録媒体の好適な実施の形態を詳細に説明する。また、この実施の形態では、論理検証対象となるハードウェアモジュールとして、図10に示したハードウェアモジュールを用い説明する。なお、下記の実施の形態にかかる論理検証装置および論理検証方法は、たとえば、この実施の形態にかかる論理検証プログラムが記録された記録媒体を備えるCADによって実現することができる。
(論理検証装置のハードウェア構成)
まず、この発明の実施の形態にかかる論理検証装置のハードウェア構成について説明する。図1は、この発明の実施の形態にかかる論理検証装置のハードウェア構成を示すブロック図である。
図1において、論理検証装置は、CPU101と、ROM102と、RAM103と、HDD(ハードディスクドライブ)104と、HD(ハードディスク)105と、FDD(フレキシブルディスクドライブ)106と、着脱可能な記録媒体の一例としてのFD(フレキシブルディスク)107と、ディスプレイ108と、I/F(インターフェース)109と、キーボード110と、マウス111と、スキャナ112と、プリンタ113と、を備えている。また、各構成部はバス100によってそれぞれ接続されている。
ここで、CPU101は、論理検証装置の全体の制御を司る。ROM102は、ブートプログラムなどのプログラムを記憶している。RAM103は、CPU101のワークエリアとして使用される。HDD104は、CPU101の制御にしたがってHD105に対するデータのリード/ライトを制御する。HD105は、HDD104の制御で書き込まれたデータを記憶する。
FDD106は、CPU101の制御にしたがってFD107に対するデータのリード/ライトを制御する。FD107は、FDD106の制御で書き込まれたデータを記憶したり、FD107に記憶されたデータを論理検証装置に読み取らせたりする。
また、着脱可能な記録媒体として、FD107のほか、CD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリーカードなどであってもよい。ディスプレイ108は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ108は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F109は、通信回線を通じてインターネットなどのネットワーク114に接続され、このネットワーク114を介して他の装置に接続される。そして、I/F109は、ネットワーク114と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F109には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード110は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス111は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ112は、画像を光学的に読み取り、論理検証装置内に画像データを取り込む。なお、スキャナ112は、OCR機能を持たせてもよい。また、プリンタ113は、画像データや文書データを印刷する。プリンタ113には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(論理検証装置の機能的構成)
つぎに、この発明の実施の形態にかかる論理検証装置の機能的構成について説明する。図2は、この発明の実施の形態にかかる論理検証装置の機能的構成を示すブロック図である。図2において、論理検証装置200は、入力部201と、生成部202と、入力制約情報算出部203と、出力制約情報算出部204と、入出力制約情報算出部205と、判定部206と、論理検証部207と、を備えている。
まず、入力部201は、ハードウェア記述情報D1と、インターフェース仕様記述情報D2との入力を受け付ける。ここで、ハードウェア記述情報D1とは、ハードウェアモジュールの設計内容が記述された情報であり、具体的には、たとえば、Verilogなどのハードウェア記述言語HDLを用いて記述されている。
このハードウェア記述情報D1は、より具体的には、動作レベル、RTLレベル、ゲートレベルなどの抽象化されたレベルによって記述されている。このハードウェア記述情報D1は、論理検証部207において、ハードウェアモジュールの通常の論理検証に用いられる。
一方、インターフェース仕様記述情報D2とは、ハードウェアモジュールの通信手順に関する記述情報である。このインターフェース仕様記述情報D2とは、ハードウェアモジュールがどのような入出力端子を持ち、その入出力端子を介してどのような種類の通信がおこなわれ、それぞれの種類の通信がどのような信号変化パターンを持つかを網羅的に記述したものである。
より具体的には、図10に示したハードウェアモジュールMの端子P1〜P5に入出力される信号の信号変化パターンと、当該信号変化パターンの各時刻において端子P1〜P5に入出力される信号の方向を示す信号方向情報とを含んでいる。
このインターフェース仕様記述情報D2は、計算機上のテキストファイルによって記述することができ、文法と解釈が数学的に定義された記述言語を使って記述されている。たとえば、正規表現(regular expression)などをベースにすることにより、信号値の時間的な変化パターンを数学的に表現することができる。そのような言語の一つであるCWL(Component Wrapper Language)を用いて、図10に示したハードウェアモジュールMのインターフェース記述情報D2について説明する。
図3は、図10に示したハードウェアモジュールMのインターフェース仕様記述情報D2を示す説明図である。図3において、左端の三桁の数字は行番号をあらわしている。1行目(001)には、記述対象となっているハードウェアモジュールの名称「M」が記述されている。
2行目から8行目(002〜008)では、ハードウェアモジュールMの5つの端子P1〜P5(物理的には36本)について記述されている。具体的には、“clk”はクロック入力端子P1、“cmd”はコマンド入力端子P2、“req”はリクエスト入力端子P3と、“ack”はアクノリッジ出力端子P4、“dat”は32ビットデータ用のデータ入出力端子P5をあらわしている。また、2行目から8行目(002〜008)において、“input”、“output”および “inout”は、信号の方向を示す信号方向情報である。
また、9行目から17行目(009〜017)では、クロック信号clkが変化した時刻における各端子P1〜P5の信号値の組合せを定義している。たとえば、11行目(011)のクロック信号clkの立ち上がり時刻における、¬cmd∧req∧¬ackのケース(データ信号datの“?”は「任意」を意味する。)では、“R”という名前を付けて定義する。なお、“¬”は論理否定、“∧”は論理積をあらわす。
また、12行目(012)において、32ビットのパラメータDに対して、クロック信号clkの立ち上がり時刻に¬cmd∧req∧ack∧(dat = D)が成立するケースでは“S(D)”という名前を付けて定義する。また、このS(D)におけるデータ信号datは出力方向のデータ信号(outD)である。以降、同様に“W(D)”、“K(D)”、“IDLE”をそれぞれ定義している。また、9行目から17行目(009〜017)において、“out D”および“in D”は、信号の方向を示す信号方向情報である。
また、18行目から21行目(018〜021)では、“read”と“write”の2種類の信号変化パターンを定義している。ここで、“+”は1回以上の繰り返しを示す記号である。readパターンの定義“R+ S(D)”は、“R”が1回以上の繰り返された後、S(D)が発生することを示している。
また、writeパターンの定義“W(D)+ K(D)”は、W(D)が1回以上の繰り返された後、K(D)が発生することを示している。パラメータDの値は、readパターンまたはwriteパターンそれぞれについて、その途中は一定でなければならない。したがって、writeパターンでは、“D”を介して期間中ずっとデータ入出力端子P5の信号値が一定という制約条件が表現されていることになる。readパターンでは最後の1時刻しか“D”が出現しないため、“D”で仲介される制約条件はない。
また、22行目から28行目(022〜028)は、このインターフェースではreadパターンとwriteパターンが発生し、それ以外の時刻は必ずIDLE状態であることを示している。インターフェース仕様記述情報D2は、端子P1〜P5における信号変化パターンと信号方向情報を含んでいれば、他の計算機処理可能な形式でもよい。また、計算機上のGUIによって必要な他のインターフェース仕様記述情報(たとえば、図11や図12の波形図)を入力させてもよい。
また、図2において、生成部202は、入力部201によって入力されたインターフェース仕様記述情報D2に基づいて、ハードウェアモジュールMに入出力される信号の状態遷移に関する有限状態機械モデルを生成する。この有限状態機械モデルとは、ハードウェアモジュールMが取ることのできる有限の状態集合およびある状態から他の状態への可能な有限の遷移集合を用いて記述された動作(動的)モデルである。
また、生成部202には、変数生成部208が含まれている。変数生成部208は、信号変化パターンおよび信号方向情報に基づいて、ハードウェアモジュールMに入出力される信号を特定する信号特定情報に、当該信号の方向に合致する信号方向情報が付加された入力変数および出力変数を生成する。
ここで、信号特定情報とは、具体的には“cmd”、“ack”などの信号名であり、その末尾に当該信号名の方向と合致する信号方向情報を付加することによって、入力変数と出力変数を生成する。具体的には、信号名が“cmd”の場合、この信号は入力信号であるため、“cmd”の末尾に、入力方向を示す“_in”を付加して、入力変数“cmd_in”を生成する。同様に、信号名が“ack”の場合、この信号は出力信号であるため、“ack”の末尾に、出力方向を示す“_out”を付加して、出力変数“ack_out”を生成する。この入力変数および出力変数を用いて、有限状態機械モデルを生成することにより、有限状態機械モデルの中に、上述した信号方向情報を記述しておくことができる。
また、生成部202によって生成される有限状態機械モデルは、上述した入力変数および出力変数を用いて、状態遷移グラフによって表現することができる。図4は、状態遷移グラフを示す説明図である。この状態遷移グラフ400は、入力変数および出力変数を用いて任意の遷移元の状態と遷移元に対する遷移先の状態との間の遷移条件が規定された論理関数が、各遷移枝(S0→S0、S0→S1、S0→S2、S1→S0、S1→S1、S2→S0、S2→S2)に関連付けられたグラフである。図4において、遷移状態「S0」が初期状態であり、クロック信号clkの立ち上がりのタイミングで状態遷移が起こる。
また、遷移枝には遷移条件を示す論理関数が記述されている。この論理関数は上述した入力変数および出力変数を用いて記述されているため、この論理関数自体が、ハードウェアモジュールMに入出力される信号が満たすべき制約に関する各遷移枝の入出力制約情報となる。また、状態「S2」の遷移枝の論理関数に記述されている「prev_dat」は、有限状態機械モデル上で追加された32ビットレジスタであり、前時刻のデータ入出力端子P5の値を保持している。
また、図2において、入力制約情報算出部203は、入力部201によって入力されたインターフェース仕様記述情報D2に基づいて、ハードウェアモジュールMに入力される信号が満たすべき制約に関する入力制約情報を算出する。具体的には、生成部202によって生成された有限状態機械モデルを用いて、入力制約情報を算出する。この入力制約情報の算出は、生成部202によって生成された有限状態機械モデルから、出力変数を消去することによって算出することができる。
一方、出力制約情報算出部204は、有限状態機械モデルから入力変数を消去することによって、ハードウェアモジュールMから出力される信号が満たすべき制約に関する出力制約情報を算出する。ここで、有限状態機械モデルを遷移状態グラフ400で表現した場合における出力変数および入力変数の消去処理について説明する。
入力制約情報算出部203では、状態遷移グラフ400において遷移条件として規定された論理関数から、存在量化処理(existential quantification)を用いて出力変数を消去する。この消去によって、その遷移枝についての入力制約情報を算出することができる。また、状態遷移グラフ400の各遷移状態(S0、S1、S2)での入力制約情報は、すべての遷移枝に関する入力制約情報の論理和によってあらわすことができる。
一方、出力制約情報算出部204では、状態遷移グラフ400において遷移条件が規定された論理関数から、存在量化処理(existential quantification)を用いて入力変数を消去する。この消去によって、その遷移枝についての出力制約情報を算出することができる。また、状態遷移グラフ400の各遷移状態(S0、S1、S2)での出力制約情報は、すべての遷移枝に関する出力制約情報の論理和によってあらわすことができる。この出力制約情報は、論理検証の検証プロパティとして利用することができる。
ここで、存在量化処理について具体的に説明する。任意の論理関数f(x1, … , xi, … , xn)とすると、この論理関数f(x1, … , xi, … , xn)から存在量化処理によって、論理変数xiを消去する∃(存在量化子)演算は、下記式(1)で定義することができる。
∃xi . f(x1, … , xi, … , xn) = f(x1, … , 0, … , xn)∨f(x1, … , 1, … , xn)
・・・(1)
より一般に、変数xiが値集合Vを持つ多値変数である場合、∃演算は、下記式(2)のように定義することができる。
Figure 0004481762
また、変数集合( y1, … , ym )に関する∃演算は、下記式(3)のように求められる。
∃(y1, … , ym) . f = ∃y1 . … . ∃ym . f・・・・・・・・・・・・・・(3)
上述した式(1)の∃xi . fという演算では、「論理関数fの値を1にするような変数xiの値割り当てが存在するための、残りの変数に関する条件」を正確に求めていることになる。したがって、この方法で入出力制約から出力変数を消去することは、「入出力制約を満たすような出力値割り当てが存在するための、入力変数に関する条件」すなわち入力制約を正確に求めていることを意味する。
また、論理関数上の論理変数(出力変数、入力変数)を単純に消去(無視)しただけでは、正確な結果は得られない。たとえば、入力変数a,bと出力変数xに関する入出力制約が、下記式(4)の論理式Qで与えられたとする。
Q=(a∨x)∧¬(b∧x)・・・・・・・・・・・・・・・・・・・・・・・・・(4)
また、正確な入力制約Cは、∃演算を用いて下記式(5)で算出することができる。
C=∃x . Q
=∃x . {(a∨x)∧¬(b∧x)}
={(a∨0)∧¬(b∧0)}∨ {(a∨1)∧¬(b∧1)}
={(a)∧¬(0)}∨{(1)∧¬(b)}
={a∧1}∨{1∧¬b}
=a∨ ¬b・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・(5)
これに対して、Qの式から出力変数xに関する演算を単純に除去すると、C´=a∧ ¬bという異なった結果が得られる。なお、∃演算を含む計算機上での論理関数処理に関しては、二分決定グラフ(BDD)を用いた効率的なアルゴリズムなどが広く知られている。
また、図4に示した状態遷移グラフ400の入出力制約情報、入力制約情報および出力制約情報を求めた結果を図5に示す。図5は、図4に示した状態遷移グラフ400の各遷移枝についての入出力制約情報、入力制約情報および出力制約情報を示す図表であり、図6は、図5の図表をもとに各遷移状態についての入力制約情報および出力制約情報を示す図表である。
図5において、たとえば、遷移枝S0→S1の遷移条件、すなわち入出力制約情報をQ01とすると、入出力制約情報Q01、対応する入力制約情報C01、出力制約情報P01はそれぞれ、下記式(6)〜(8)のように求められる。
01=¬cmd_in∧req_in∧¬ack_out・・・・・・・・・・・・・・・・・・・(6)
01=∃ack_out . Q01
=∃ack_out . (¬cmd_in∧req_in∧¬ack_out)
=(¬cmd_in∧req_in∧¬0)∨ (¬cmd_in∧req_in∧¬1)
=¬cmd_in∧req_in・・・・・・・・・・・・・・・・・・・・・・・・(7)
01=∃(cmd_in, req_in) . Q01
=∃(cmd_in, req_in) . (¬cmd_in∧req_in∧¬ack_out)
=∃cmd_in .{(¬cmd_in∧0∧¬ack_out)∨ (¬cmd_in∧1∧¬ack_out)}
=∃cmd_in . (¬cmd_in∧¬ack_out)
=(¬0∧¬ack_out) ∨(¬1∧¬ack_out)
=¬ack_out・・・・・・・・・・・・・・・・・・・・・・・・・・・・(8)
また、図6において、遷移状態S0に対応する入力制約情報C0、出力制約情報P0は、それぞれ下記式(9)、式(10)のように求められている。
0=C00∨ C01∨ C02
=(¬req_in)∨(¬cmd_in∧req_in)∨(cmd_in∧req_in)
=1・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・(9)
0=P00∨P01∨P02
=(¬ack_out)∨ (¬ack_out) ∨(¬ack_out)
=¬ack_out・・・・・・・・・・・・・・・・・・・・・・・・・・・・(10)
この有限状態機械モデルにおける現状態(状態遷移グラフ400の遷移元状態)を表現する変数を「s」とすると、全体としての入力制約情報Cおよび全体としての出力制約情報Pはそれぞれ、下記式(11)、式(12)のように表現することができる。
C={(s =S0)∧ C0}∨{(s =S1)∧ C1}∨{(s =S2)∧ C2
=(s =S0)∨{(s =S1)∧¬cmd_in∧req_in}∨
{(s =S2)∧cmd_in∧req_in∧(dat_in = prev_dat)}・・・・・・・(11)
P={(s =S0)∧ P0}∨{(s =S1)∧ P1}∨{(s =S2)∧ P2
={(s =S0)∧¬ack_out}∨(s =S1)∨(s =S2)・・・・・・・・(12)
なお、手順を変えて先に各遷移状態から得られるすべての遷移枝に関する入出力制約情報の論理和で、各遷移状態に関する入出力制約情報を求め、その後、それぞれについて出力変数(入力変数)を消去することで、各遷移状態に関する入力制約情報(出力制約情報)を得ることもできる。また、全体としての入出力制約情報を求めてから出力変数(入力変数)を消去することで、全体としての入力制約情報(出力制約情報)を求めてもよい。
また、図2に示した生成部202によって生成される有限状態機械モデルは、その状態遷移関係をあらわす状態遷移関係式を用いて表現することもできる。この状態遷移関係式は、入力変数および出力変数を用いて任意の遷移元の状態と遷移元に対する遷移先の状態との間の遷移条件が規定され、かつ、当該遷移条件を規定した入力変数および出力変数と、遷移元の状態に関する現状態変数および遷移先の状態に関する次状態変数とを用いて状態遷移関係が規定された論理関数である。
すなわち、有限状態機械モデルの現在の状態を表現する変数(現状態変数)、次時刻の状態を表現する変数(次状態変数)、およびハードウェアモジュールMの入出力値を示す変数(入力変数、出力変数)からなる論理関数であり、その論理値が「1」になる条件が状態遷移可能な条件と等価になるように構成されたものである。
この場合、図2に示した入出力制約情報算出部205では、この状態遷移関係式(論理関数)から次状態変数を消去することで、入出力制約情報を算出することができる。そして、入力制約情報算出部203では、算出された入出力制約情報から出力変数を消去することで、入力制約情報を算出することができる。さらに、出力制約情報算出部204では、算出された入出力制約情報から入力変数を消去することで、出力制約情報を求めることができる。
たとえば、上述したハードウェアモジュールMに対応する状態遷移関係は、次状態変数をtとして、下記式(13)の論理関数Rで表現することができる。
R={(s =S0)∧¬req_in∧¬ack_out∧(t =S0)}
∨{(s =S0)∧¬cmd_in∧req_in∧¬ack_out∧(t =S1)}
∨{(s =S1)∧¬cmd_in∧req_in∧ack_out∧(t =S0)}
∨{(s =S1)∧¬cmd_in∧req_in∧¬ack_out∧(t =S1)}
∨{(s =S0)∧cmd_in∧req_in∧¬ack_out∧(t =S2)}
∨{(s =S2)∧cmd_in∧req_in∧(dat_in = prev_dat)∧ack_out∧(t =S0)}
∨{(s =S2)∧cmd_in∧req_in∧(dat_in = prev_dat)∧¬ack_out∧(t =S2)}・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・(13)
また、論理関数Rを用いて、入出力制約情報Q、入力制約情報C、出力制約情報Pは、それぞれ、下記式(14)〜(16)のように求めることができる。
Q=∃t . R
={(s =S0)∧¬req_in∧¬ack_out}
∨{(s =S0)∧¬cmd_in∧req_in∧¬ack_out}
∨{(s =S1)∧¬cmd_in∧req_in∧ack_out}
∨{(s =S1)∧¬cmd_in∧req_in∧¬ack_out}
∨{(s =S0)∧cmd_in∧req_in∧¬ack_out}
∨{(s =S2)∧cmd_in∧req_in∧(dat_in = prev_dat)∧ack_out}
∨{(s =S2)∧cmd_in∧req_in∧(dat_in = prev_dat)∧¬ack_out}
={(s =S0)∧¬ack_out}∨{s =S1)∧¬cmd_in∧req_in}
∨{(s =S2)∧cmd_in∧req_in∧(dat_in = prev_dat)}・・・・・・(14)
C=∃ack_out . Q
=(s =S0)∨{(s =S1)∧¬cmd_in∧req_in}
∨{(s =S2)∧cmd_in∧req_in∧(dat_in = prev_dat)}・・・・・(15)
P=∃(cmd_in, req_in, dat_in) . Q
={(s =S0)∧¬ack_out}∨(s =S1)∨(s =S2) ・・・・・・・(16)
また、図2において、判定部206は、入力制約情報算出部203によって算出された入力制約情報と、出力制約情報算出部204によって算出された出力制約情報とに基づいて、インターフェース仕様記述情報D2の正当性を判定する。インターフェース仕様記述情報D2の正当性は、入力制約情報と出力制約情報との論理積が、遷移条件が規定された論理関数と一致するか否かを判定することによって確認することができる。
たとえば、生成部202によって生成された有限状態機械モデルが図4に示した状態遷移グラフ400である場合、入力制約情報算出部203は、状態遷移グラフ400の論理関数から、存在量化処理を用いて出力変数を消去することによって入力制約情報を算出する。また、出力制約情報算出部204は、状態遷移グラフ400の論理関数から、存在量化処理を用いて入力変数を消去することによって出力制約情報を算出する。
そして、判定部206は、入力制約情報と出力制約情報との論理積が、遷移条件が規定された論理関数と一致するか否かを判定する。たとえば、上述の式(6)〜(8)の例では、入力制約情報C01および出力制約情報P01の論理積C01∧P01が、論理関数(入出力制約情報)Q01と一致するかどうかを判定する。一致する場合は、インターフェース仕様記述情報D2に誤りがないこととなり、一致しない場合には、インターフェース仕様記述情報D2に誤りがある可能性がある。
また、生成部202によって生成された有限状態機械モデルが、上述した式(13)に示した論理関数(状態遷移関係式)Rである場合、入出力制約情報算出部205では、この論理関数Rから、存在量化処理を用いて次状態変数を消去することによって、式(14)に示した入出力制約情報Qを算出する。
これにより、入力制約情報算出部203は、入出力制約情報Qから、存在量化処理を用いて出力変数および次状態変数を消去することによって、式(15)に示した入力制約情報Cを算出する。同様に、出力制約情報算出部204は、入出力制約情報Qから、存在量化処理を用いて入力変数および次状態変数を消去することによって、式(16)に示した出力制約情報Pを算出する。
したがって、判定部206では、入力制約情報Cと出力制約情報Pとの論理積C∧Pが、入出力制約情報Qと一致するか否かを判定する。そして、一致する場合は、インターフェース仕様記述情報D2に誤りがないこととなり、一致しない場合には、インターフェース仕様記述情報D2に誤りがある可能性がある。
通常の同期式順序回路などのハードウェアモジュールMの設計では、上述した入力制約情報と出力制約情報との論理積が、もとの入出力制約情報に一致するはずである。不一致の場合は、入力制約情報と出力制約情報が独立でないことを示している。
すなわち、ハードウェアモジュールMとしては、現時刻の入力に応じて現時刻の出力を変更しなければならないか、現時刻の出力に応じて現時刻の入力を変更しなければならないインターフェース仕様記述情報D2であることを意味する。このような状況は、インターフェース仕様記述情報D2に誤りがあるか、同期式順序回路として特殊な設計であることを示しており、注意しなければならないことがわかる。
たとえば、入力変数 x、出力変数 yに対して、(x∧y)∨(¬x∧¬y)という入出力制約情報があると、入力制約情報も出力制約情報も「1」(制約なし)であり、その論理積と入出力制約情報が一致しない。一方、ハードウェアモジュールMのインターフェース仕様記述情報D2の場合、入力制約情報と出力制約情報の論理積がすべて入出力制約情報と一致しており、インターフェース仕様記述情報D2に問題(不備)がないことがわかる。
また、図2において、論理検証部207は、入力部201によって入力されたハードウェア記述情報D1およびインターフェース仕様記述情報D2に基づいて、ハードウェアモジュールMの動作を論理検証する。具体的には、入力制約情報算出部203によって算出された入力制約情報を用いることによって、ハードウェアモジュールMの動作を論理検証する。たとえば、バグの有無や、デバッグ用のエラーパターンの生成をおこなう。
すなわち、論理検証部207は、入力制約情報を用いて、ハードウェアモジュールMの入力端子に入力される信号の信号値が入力制約情報を満足する範囲でどのように変化しても、ハードウェアモジュールMが正しく動作するかを確認する。この入力制約を満たさない入力に対する動作は、入力制約違反となり、ハードウェア記述情報またはインターフェース仕様記述情報D2の記述内容を変更する必要がある。
なお、上述した入力部201、生成部202、入力制約情報算出部203、出力制約情報算出部204、入出力制約情報算出部205、判定部206、論理検証部207および変数生成部208は、具体的には、たとえば、図1に示したROM102、RAM103、HD105、FD107等に記録されたプログラムを、CPU101が実行することによって、または、I/F109によって、その機能を実現する。
つぎに、ハードウェアモジュールMとモニタ回路とを組み合わせたシステムについて説明する。図7は、ハードウェアモジュールMとモニタ回路700とを組み合わせたシステム構成図である。図7において、インターフェース仕様記述情報D2から得られた有限状態機械モデルと入力制約情報Cおよび出力制約情報Pを組み合わせると、ハードウェアモジュールMの入出力を監視するモニタ回路700のハードウェア記述情報を構成することができる。
そして、ハードウェアモジュールMのハードウェア記述情報D1とモニタ回路700のハードウェア記述情報を組み合わせることにより、論理検証環境を構成することができる。ここで検証すべき内容は「初期状態からずっと入力制約情報Cが成立し続けるならば、出力制約情報Pも成立し続ける」というプロパティであり、従来からの形式的検証あるいは制約ベース検証によって検証することができる。
(論理検証処理手順)
つぎに、この発明の実施の形態にかかる論理検証処理手順の一例について説明する。図8は、この発明の実施の形態にかかる論理検証処理手順の一例を示すフローチャートである。この論理検証処理手順は、有限状態機械モデルを図4に示した状態遷移グラフ400で表現する場合のフローチャートである。
図8において、まず、インターフェース仕様記述情報D2が入力された場合(ステップS801:Yes)、このインターフェース仕様記述情報D2から、状態遷移グラフ400を生成する(ステップS802)。具体的には、図3に示したインターフェース仕様記述情報D2から、図4に示した状態遷移グラフ400を生成する。
そして、この状態遷移グラフ400を用いて、状態遷移グラフ400の遷移枝ごとに入力制約情報および出力制約情報を算出する(ステップS803)。具体的には、図5に示した遷移枝S0→S1の遷移条件を例に挙げると、上記式(6)〜(8)により、この遷移枝S0→S1の遷移条件、すなわち入出力制約情報Q01、対応する入力制約情報C01、出力制約情報P01をそれぞれ算出することができる。
このあと、算出された任意の遷移枝の入力制約情報と出力制約情報との論理積を算出する(ステップS804)。上述した例を用いて説明すると、入力制約情報C01と出力制約情報P01との論理積C01∧P01を算出する。
そして、算出された論理積が、遷移条件となる入出力制約情報と一致するか否かを判定する(ステップS805)。上述した例を用いて説明すると、入力制約情報C01と出力制約情報P01との論理積C01∧P01が、遷移枝S0→S1の遷移条件となる入出力制約情報Q01と一致するか否かを判定する。
そして、論理積が、遷移条件となる入出力制約情報と一致しない場合(ステップS805:No)、当該遷移枝についてのインターフェース仕様記述情報D2が正当でないと判断し(ステップS806)、この時点で一連の処理を終了する。すなわち、インターフェース仕様記述情報D2に誤りがあるか、ハードウェアモジュール(同期式順序回路)Mとして特殊な設計であることを示しており、注意しなければならないことがわかる。
このように、いずれか一つの遷移枝について不一致であると判定されることにより処理が終了するため、すべての遷移枝について遷移条件との一致判定(ステップS805)が終了する前に、インターフェース仕様記述情報D2の不備を検出することができる。
これにより、インターフェース仕様記述情報D2の正当性確認作業の高速化を図ることができる。また、論理検証(ステップS811)前にインターフェース仕様記述情報D2の不備を検出することができるため、論理検証の手戻りを防止することができ、論理検証作業期間の短縮化を図ることができる。
一方、ステップS805において、論理積が、遷移条件となる入出力制約情報と一致する場合(ステップS805:Yes)、当該遷移枝についてのインターフェース仕様記述情報D2が正当であると判断される(ステップS807)。
そして、すべての遷移枝についての論理積が算出されたかどうかを判定する(ステップS808)。すべての遷移枝についての論理積が算出されていない場合(ステップS808:No)、ステップS804に移行する。一方、すべての遷移枝についての論理積が算出された場合(ステップS808:Yes)、遷移状態ごとに、入力制約情報および出力制約情報を算出する(ステップS809)。
上述した例を用いて説明すると、上記式(9)、式(10)により、入力制約情報C01および出力制約情報P01を用いて、遷移状態S0に対応する入力制約情報C0および出力制約情報P0を算出する。
このあと、状態遷移グラフ400全体の入力制約情報および出力制約情報を算出する(ステップS810)。上述した例を用いて説明すると、上記式(11)、式(12)により、有限状態機械モデルにおける現状態を表現する変数を「s」、入力制約情報C0および出力制約情報P0を用いて、全体としての入力制約情報Cおよび全体としての出力制約情報Pを算出する。
そして、ハードウェア記述情報D1と、得られた入力制約情報とを用いて、ハードウェアモジュールMの動作を論理検証する(ステップS811)。この論理検証作業では、誤りがない正当なインターフェース仕様記述情報D2を用いて論理検証することができるため、論理検証の精度および信頼性の向上を図ることができる。
つぎに、この発明の実施の形態にかかる論理検証処理手順の他の例について説明する。図9は、この発明の実施の形態にかかる論理検証処理手順の他の例を示すフローチャートである。この論理検証処理手順は、有限状態機械モデルを、式(13)で示したような論理関数で表現する場合のフローチャートである。
図9において、まず、インターフェース仕様記述情報D2が入力された場合(ステップS901:Yes)、このインターフェース仕様記述情報D2から、論理関数を生成する(ステップS902)。具体的には、図3に示したインターフェース仕様記述情報D2から、式(13)に示した論理関数Rを生成する。
つぎに、生成された論理関数を用いて、入出力制約情報を算出する(ステップS903)。上述した例を用いて説明すると、上記式(14)により、論理関数Rを用いて入出力制約情報Qを算出する。そして、算出された入出力制約情報から、入力制約情報および出力制約情報を算出する(ステップS904)。
上述した例を用いて説明すると、入出力制約情報Qから、存在量化処理を用いて出力変数および次状態変数を消去することによって、式(15)に示した入力制約情報Cを算出する。同様に、入出力制約情報Qから、存在量化処理を用いて入力変数および次状態変数を消去することによって、式(16)に示した出力制約情報Pを算出する。
このあと、入力制約情報および出力制約情報を用いて論理積を算出する(ステップS905)。上述した例を用いて説明すると、式(15)で算出された入力制約情報Cと式(16)で算出された出力制約情報Pとの論理積C∧Pを算出する。
そして、算出された論理積が、ステップS903で算出された入出力制約情報と一致するか否かを判定する(ステップS906)。上述した例を用いて説明すると、入力制約情報Cと出力制約情報Pとの論理積C∧Pが、入出力制約情報Qと一致するか否かを判定する。
そして、論理積が、ステップS903で算出された入出力制約情報と一致しない場合(ステップS906:No)、インターフェース仕様記述情報D2が正当でないと判断し(ステップS907)、一連の処理を終了する。すなわち、インターフェース仕様記述情報D2に誤りがあるか、ハードウェアモジュール(同期式順序回路)Mとして特殊な設計であることを示しており、注意しなければならないことがわかる。
一方、論理積が、ステップS903で算出された入出力制約情報と一致する場合(ステップS906:Yes)、インターフェース仕様記述情報D2が正当であると判断する(ステップS908)。この場合、インターフェース仕様記述情報D2に誤りがないこととなる。
そのあと、ハードウェア記述情報D1と、ステップS908で正当であると判断されたインターフェース仕様記述情報D2を用いて、ハードウェアモジュールMの動作を論理検証する(ステップS909)。この論理検証作業においても、誤りがない正当なインターフェース仕様記述情報D2を用いて論理検証することができるため、論理検証の精度および信頼性の向上を図ることができる。
以上説明したように、この発明の実施の形態にかかる論理検証装置200、論理検証方法、論理検証プログラム、および記録媒体によれば、入力制約情報を人手によらず自動的に算出することができるため、論理検証作業の労力を軽減し、かつ、論理検証期間の短縮化、ひいては設計期間の短縮化を図ることができるという効果を奏する。
また、インターフェース仕様記述情報D2の内容に変更あるいは修正が必要な場合であっても、変更あるいは修正されたインターフェース仕様記述情報を入力するだけで、入力制約情報を自動的に算出することができるため、技術者の手作業に依存することなく、検証作業の効率化を図ることができるという効果を奏する。
特に、入力制約情報を技術者の手作業に依存しないため、作成された入力制約情報に漏れや誤りがなく、高精度な論理検証をおこなうことができ、ハードウェアモジュールMの動作についての信頼性の向上を図ることができるという効果を奏する。
なお、この実施の形態で説明した論理検証方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション、CAD等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
(付記1)ハードウェアモジュールの設計内容に関するハードウェア記述情報および前記ハードウェアモジュールの通信手順に関するインターフェース仕様記述情報の入力を受け付ける入力手段と、
前記入力手段によって入力されたハードウェア記述情報およびインターフェース仕様記述情報に基づいて、前記ハードウェアモジュールの動作を論理検証する論理検証手段と、
を備えることを特徴とする論理検証装置。
(付記2)前記入力手段によって入力されたインターフェース仕様記述情報に基づいて、前記ハードウェアモジュールに入力される信号が満たすべき制約に関する入力制約情報を算出する入力制約情報算出手段を備え、
前記論理検証手段は、
前記入力制約情報算出手段によって算出された入力制約情報に基づいて、前記ハードウェアモジュールの動作を論理検証することを特徴とする付記1に記載の論理検証装置。
(付記3)前記入力手段によって入力されたインターフェース仕様記述情報に基づいて、前記ハードウェアモジュールに入出力される信号の状態遷移に関する有限状態機械モデルを生成する生成手段を備え、
前記入力制約情報算出手段は、
前記生成手段によって生成された有限状態機械モデルを用いて、前記入力制約情報を算出することを特徴とする付記2に記載の論理検証装置。
(付記4)前記インターフェース仕様記述情報は、
前記ハードウェアモジュールの端子に入出力される信号の信号変化パターンと、当該信号変化パターンの各時刻において前記端子に入出力される信号の方向を示す信号方向情報とを含み、
前記生成手段は、
前記信号変化パターンおよび前記信号方向情報に基づいて、前記ハードウェアモジュールに入出力される信号を特定する信号特定情報に、当該信号の方向に合致する前記信号方向情報が付加された入力変数および出力変数を生成する変数生成手段を備え、
前記変数生成手段によって生成された入力変数および出力変数を用いて、前記有限状態機械モデルを生成することを特徴とする付記3に記載の論理検証装置。
(付記5)前記入力制約情報算出手段は、
前記生成手段によって生成された有限状態機械モデルから、前記出力変数を消去することによって前記入力制約情報を算出することを特徴とする付記4に記載の論理検証装置。
(付記6)前記生成手段によって生成された有限状態機械モデルから前記入力変数を消去することによって、前記ハードウェアモジュールから出力される信号が満たすべき制約に関する出力制約情報を算出する出力制約情報算出手段と、
前記入力制約情報算出手段によって算出された入力制約情報と、前記出力制約情報算出手段によって算出された出力制約情報とに基づいて、前記インターフェース仕様記述情報の正当性を判定する判定手段と、を備え、
前記論理検証手段は、
前記判定手段によって判定された判定結果に基づいて、前記ハードウェアモジュールの動作を論理検証することを特徴とする付記5に記載の論理検証装置。
(付記7)前記有限状態機械モデルは、
前記入力変数および前記出力変数を用いて任意の遷移元の状態と前記遷移元に対する遷移先の状態との間の遷移条件が規定された論理関数が、各遷移枝に関連付けられた状態遷移グラフによって表現されており、
前記入力制約情報算出手段は、
前記状態遷移グラフにおいて遷移条件が規定された論理関数から、存在量化処理を用いて前記出力変数を消去することによって前記入力制約情報を算出することを特徴とする付記5に記載の論理検証装置。
(付記8)前記有限状態機械モデルは、
前記入力変数および前記出力変数を用いて任意の遷移元の状態と前記遷移元に対する遷移先の状態との間の遷移条件が規定された論理関数が、各遷移枝に関連付けられた状態遷移グラフによって表現されており、
前記入力制約情報算出手段は、
前記状態遷移グラフの論理関数から、存在量化処理を用いて前記出力変数を消去することによって前記入力制約情報を算出し、
前記出力制約情報算出手段は、
前記状態遷移グラフの論理関数から、前記存在量化処理を用いて前記入力変数を消去することによって前記出力制約情報を算出し、
前記判定手段は、
前記入力制約情報と前記出力制約情報との論理積が、前記遷移条件が規定された論理関数と一致するか否かを判定することを特徴とする付記6に記載の論理検証装置。
(付記9)前記有限状態機械モデルは、
前記入力変数および前記出力変数を用いて任意の遷移元の状態と前記遷移元に対する遷移先の状態との間の遷移条件が規定され、かつ、当該遷移条件を規定した前記入力変数および前記出力変数と、前記遷移元の状態に関する現状態変数および前記遷移先の状態に関する次状態変数とを用いて状態遷移関係が規定された論理関数であり、
前記論理関数から、存在量化処理を用いて前記次状態変数を消去することによって、前記ハードウェアモジュールに入出力される信号が満たすべき制約に関する入出力制約情報を算出する入出力制約情報算出手段を備え、
前記入力制約情報算出手段は、
前記入出力制約情報算出手段によって算出された入出力制約情報から、前記存在量化処理を用いて前記出力変数および前記次状態変数を消去することによって前記入力制約情報を算出することを特徴とする付記5に記載の論理検証装置。
(付記10)前記有限状態機械モデルは、
前記入力変数および前記出力変数を用いて任意の遷移元の状態と前記遷移元に対する遷移先の状態との間の遷移条件が規定され、かつ、当該遷移条件を規定した前記入力変数および前記出力変数と、前記遷移元の状態に関する現状態変数および前記遷移先の状態に関する次状態変数とを用いて状態遷移関係が規定された論理関数であり、
前記論理関数から、存在量化処理を用いて前記次状態変数を消去することによって、前記ハードウェアモジュールに入出力される信号が満たすべき制約に関する入出力制約情報を算出する入出力制約情報算出手段を備え、
前記入力制約情報算出手段は、
前記入出力制約情報算出手段によって算出された入出力制約情報から、前記存在量化処理を用いて前記出力変数および前記次状態変数を消去することによって前記入力制約情報を算出し、
前記出力制約情報算出手段は、
前記入出力制約情報から、前記存在量化処理を用いて前記入力変数および前記次状態変数を消去することによって前記出力制約情報を算出し、
前記判定手段は、
前記入力制約情報と前記出力制約情報との論理積が、前記入出力制約情報と一致するか否かを判定することを特徴とする付記6に記載の論理検証装置。
(付記11)ハードウェアモジュールの設計内容に関するハードウェア記述情報および前記ハードウェアモジュールの通信手順に関するインターフェース仕様記述情報を入力する入力工程と、
前記入力工程によって入力されたハードウェア記述情報およびインターフェース仕様記述情報に基づいて、前記ハードウェアの動作を論理検証する論理検証工程と、
を含んだことを特徴とする論理検証方法。
(付記12)前記入力工程によって入力されたインターフェース仕様記述情報に基づいて、前記ハードウェアモジュールに入力される信号が満たすべき制約に関する入力制約情報を算出する入力制約情報算出工程を含み、
前記論理検証工程は、
前記入力制約情報算出工程によって算出された入力制約情報に基づいて、前記ハードウェアモジュールの動作を論理検証することを特徴とする付記11に記載の論理検証方法。
(付記13)前記入力工程によって入力されたインターフェース仕様記述情報に基づいて、前記ハードウェアモジュールに入出力される信号の状態遷移に関する有限状態機械モデルを生成する生成工程を含み、
前記入力制約情報算出工程は、
前記生成工程によって生成された有限状態機械モデルを用いて、前記入力制約情報を算出することを特徴とする付記12に記載の論理検証方法。
(付記14)ハードウェアモジュールの設計内容に関するハードウェア記述情報および前記ハードウェアモジュールの通信手順に関するインターフェース仕様記述情報を入力させる入力工程と、
前記入力工程によって入力されたハードウェア記述情報およびインターフェース仕様記述情報に基づいて、前記ハードウェアモジュールの動作を論理検証させる論理検証工程と、
をコンピュータに実行させることを特徴とする論理検証プログラム。
(付記15)前記入力工程によって入力されたインターフェース仕様記述情報に基づいて、前記ハードウェアモジュールに入力される信号が満たすべき制約に関する入力制約情報を算出させる入力制約情報算出工程を含み、
前記論理検証工程は、
前記入力制約情報算出工程によって算出された入力制約情報に基づいて、前記ハードウェアモジュールの動作を論理検証させることを特徴とする付記14に記載の論理検証プログラム。
(付記16)前記入力工程によって入力されたインターフェース仕様記述情報に基づいて、前記ハードウェアモジュールに入出力される信号の状態遷移に関する有限状態機械モデルを生成させる生成工程を含み、
前記入力制約情報算出工程は、
前記生成工程によって生成された有限状態機械モデルを用いて、前記入力制約情報を算出させることを特徴とする付記15に記載の論理検証プログラム。
(付記17)付記14〜16のいずれか一つに記載の論理検証プログラムを記録したコンピュータ読み取り可能な記録媒体。
以上のように、この発明にかかる論理検証装置、論理検証方法、論理検証プログラム、および記録媒体は、同期式順序回路など、LSIのハードウェアモジュールの論理検証に有用である。
この発明の実施の形態にかかる論理検証装置のハードウェア構成を示すブロック図である。 この発明の実施の形態にかかる論理検証装置の機能的構成を示すブロック図である。 図10に示したハードウェアモジュールのインターフェース仕様記述情報を示す説明図である。 状態遷移グラフを示す説明図である。 図4に示した状態遷移グラフの各遷移枝についての入出力制約情報、入力制約情報および出力制約情報を示す図表である。 図5の図表をもとに各遷移状態についての入力制約情報および出力制約情報を示す図表である。 ハードウェアモジュールとモニタ回路とを組み合わせたシステム構成図である。 この発明の実施の形態にかかる論理検証処理手順の一例を示すフローチャートである。 この発明の実施の形態にかかる論理検証処理手順の他の例を示すフローチャートである。 論理検証対象となる一般的なハードウェアモジュールの一例を示すブロック図である。 ハードウェアモジュールのRead動作を示す波形図である。 ハードウェアモジュールのWrite動作を示す波形図である。 ハードウェアモジュールの入力制約違反を示す波形図である。
符号の説明
200 論理検証装置
201 入力部
202 生成部
203 入力制約情報算出部
204 出力制約情報算出部
205 入出力制約情報算出部
206 判定部
207 論理検証部
208 変数生成部
M ハードウェアモジュール
D1 ハードウェア記述情報
D2 インターフェース仕様記述情報

Claims (10)

  1. ハードウェアモジュールの設計内容に関するハードウェア記述情報および前記ハードウェアモジュールの端子に入出力される信号の信号変化パターンと当該信号変化パターンの各時刻において前記端子に入出力される信号の方向を示す信号方向情報とを含む前記ハードウェアモジュールの通信手順に関するインターフェース仕様記述情報の入力を受け付ける入力手段と、
    前記入力手段によって入力されたインターフェース仕様記述情報に含まれている前記信号変化パターンおよび前記信号方向情報に基づいて、前記ハードウェアモジュールに入出力される信号を特定する信号特定情報に、当該信号の方向に合致する前記信号方向情報が付加された入力変数および出力変数を生成する変数生成手段と、
    前記変数生成手段によって生成された入力変数および出力変数に基づいて、前記ハードウェアモジュールに入出力される信号の状態遷移に関する有限状態機械モデルを生成する生成手段と、
    前記生成手段によって生成された有限状態機械モデルを用いて、前記ハードウェアモジュールに入力される信号が満たすべき制約に関する入力制約情報を算出する入力制約情報算出手段と、
    前記入力制約情報算出手段によって算出された入力制約情報に基づいて、前記ハードウェアモジュールの動作を論理検証する論理検証手段と、
    を備えることを特徴とする論理検証装置。
  2. 前記入力制約情報算出手段は、
    前記生成手段によって生成された有限状態機械モデルから、前記出力変数を消去することによって前記入力制約情報を算出することを特徴とする請求項に記載の論理検証装置。
  3. 前記生成手段によって生成された有限状態機械モデルから前記入力変数を消去することによって、前記ハードウェアモジュールから出力される信号が満たすべき制約に関する出力制約情報を算出する出力制約情報算出手段と、
    前記入力制約情報算出手段によって算出された入力制約情報と、前記出力制約情報算出手段によって算出された出力制約情報とに基づいて、前記インターフェース仕様記述情報の正当性を判定する判定手段と、を備え、
    前記論理検証手段は、
    前記判定手段によって判定された判定結果に基づいて、前記ハードウェアモジュールの動作を論理検証することを特徴とする請求項に記載の論理検証装置。
  4. 前記有限状態機械モデルは、
    前記入力変数および前記出力変数を用いて任意の遷移元の状態と前記遷移元に対する遷移先の状態との間の遷移条件が規定された論理関数が、各遷移枝に関連付けられた状態遷移グラフによって表現されており、
    前記入力制約情報算出手段は、
    前記状態遷移グラフにおいて遷移条件が規定された論理関数から、存在量化処理を用いて前記出力変数を消去することによって前記入力制約情報を算出することを特徴とする請求項に記載の論理検証装置。
  5. 前記有限状態機械モデルは、
    前記入力変数および前記出力変数を用いて任意の遷移元の状態と前記遷移元に対する遷移先の状態との間の遷移条件が規定され、かつ、当該遷移条件を規定した前記入力変数および前記出力変数と、前記遷移元の状態に関する現状態変数および前記遷移先の状態に関する次状態変数とを用いて状態遷移関係が規定された論理関数であり、
    前記論理関数から、存在量化処理を用いて前記次状態変数を消去することによって、前記ハードウェアモジュールに入出力される信号が満たすべき制約に関する入出力制約情報を算出する入出力制約情報算出手段を備え、
    前記入力制約情報算出手段は、
    前記入出力制約情報算出手段によって算出された入出力制約情報から、前記存在量化処理を用いて前記出力変数および前記次状態変数を消去することによって前記入力制約情報を算出することを特徴とする請求項2に記載の論理検証装置。
  6. 前記有限状態機械モデルは、
    前記入力変数および前記出力変数を用いて任意の遷移元の状態と前記遷移元に対する遷移先の状態との間の遷移条件が規定された論理関数が、各遷移枝に関連付けられた状態遷移グラフによって表現されており、
    前記入力制約情報算出手段は、
    前記状態遷移グラフの論理関数から、存在量化処理を用いて前記出力変数を消去することによって前記入力制約情報を算出し、
    前記出力制約情報算出手段は、
    前記状態遷移グラフの論理関数から、前記存在量化処理を用いて前記入力変数を消去することによって前記出力制約情報を算出し、
    前記判定手段は、
    前記入力制約情報と前記出力制約情報との論理積が、前記遷移条件が規定された論理関数と一致するか否かを判定することを特徴とする請求項3に記載の論理検証装置。
  7. 前記有限状態機械モデルは、
    前記入力変数および前記出力変数を用いて任意の遷移元の状態と前記遷移元に対する遷移先の状態との間の遷移条件が規定され、かつ、当該遷移条件を規定した前記入力変数および前記出力変数と、前記遷移元の状態に関する現状態変数および前記遷移先の状態に関する次状態変数とを用いて状態遷移関係が規定された論理関数であり、
    前記論理関数から、存在量化処理を用いて前記次状態変数を消去することによって、前記ハードウェアモジュールに入出力される信号が満たすべき制約に関する入出力制約情報を算出する入出力制約情報算出手段を備え、
    前記入力制約情報算出手段は、
    前記入出力制約情報算出手段によって算出された入出力制約情報から、前記存在量化処理を用いて前記出力変数および前記次状態変数を消去することによって前記入力制約情報を算出し、
    前記出力制約情報算出手段は、
    前記入出力制約情報から、前記存在量化処理を用いて前記入力変数および前記次状態変数を消去することによって前記出力制約情報を算出し、
    前記判定手段は、
    前記入力制約情報と前記出力制約情報との論理積が、前記入出力制約情報と一致するか否かを判定することを特徴とする請求項3に記載の論理検証装置。
  8. 入力手段、変数生成手段、生成手段、入力制約情報算出手段、および論理検証手段を備えるコンピュータが、
    前記入力手段により、ハードウェアモジュールの設計内容に関するハードウェア記述情報および前記ハードウェアモジュールの端子に入出力される信号の信号変化パターンと当該信号変化パターンの各時刻において前記端子に入出力される信号の方向を示す信号方向情報とを含む前記ハードウェアモジュールの通信手順に関するインターフェース仕様記述情報の入力を受け付ける入力工程と、
    前記変数生成手段により、前記入力工程によって入力されたインターフェース仕様記述情報に含まれている前記信号変化パターンおよび前記信号方向情報に基づいて、前記ハードウェアモジュールに入出力される信号を特定する信号特定情報に、当該信号の方向に合致する前記信号方向情報が付加された入力変数および出力変数を生成する変数生成工程と、
    前記生成手段により、前記変数生成工程によって生成された入力変数および出力変数に基づいて、前記ハードウェアモジュールに入出力される信号の状態遷移に関する有限状態機械モデルを生成する生成工程と、
    前記入力制約情報算出手段により、前記生成工程によって生成された有限状態機械モデルを用いて、前記ハードウェアモジュールに入力される信号が満たすべき制約に関する入力制約情報を算出する入力制約情報算出工程と、
    前記論理検証手段により、前記入力制約情報算出工程によって算出された入力制約情報に基づいて、前記ハードウェアモジュールの動作を論理検証する論理検証工程と、
    実行することを特徴とする論理検証方法。
  9. 前記入力手段により、ハードウェアモジュールの設計内容に関するハードウェア記述情報および前記ハードウェアモジュールの端子に入出力される信号の信号変化パターンと当該信号変化パターンの各時刻において前記端子に入出力される信号の方向を示す信号方向情報とを含む前記ハードウェアモジュールの通信手順に関するインターフェース仕様記述情報の入力を受け付ける入力工程と、
    前記変数生成手段により、前記入力工程によって入力されたインターフェース仕様記述情報に含まれている前記信号変化パターンおよび前記信号方向情報に基づいて、前記ハードウェアモジュールに入出力される信号を特定する信号特定情報に、当該信号の方向に合致する前記信号方向情報が付加された入力変数および出力変数を生成する変数生成工程と、
    前記生成手段により、前記変数生成工程によって生成された入力変数および出力変数に基づいて、前記ハードウェアモジュールに入出力される信号の状態遷移に関する有限状態機械モデルを生成する生成工程と、
    前記入力制約情報算出手段により、前記生成工程によって生成された有限状態機械モデルを用いて、前記ハードウェアモジュールに入力される信号が満たすべき制約に関する入力制約情報を算出する入力制約情報算出工程と、
    前記論理検証手段により、前記入力制約情報算出工程によって算出された入力制約情報に基づいて、前記ハードウェアモジュールの動作を論理検証する論理検証工程と、
    をコンピュータに実行させることを特徴とする論理検証プログラム。
  10. 請求項9に記載の論理検証プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2004235852A 2004-08-13 2004-08-13 論理検証装置、論理検証方法、論理検証プログラムおよび記録媒体 Expired - Fee Related JP4481762B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004235852A JP4481762B2 (ja) 2004-08-13 2004-08-13 論理検証装置、論理検証方法、論理検証プログラムおよび記録媒体
US11/017,730 US7194713B2 (en) 2004-08-13 2004-12-22 Logic verification device, logic verification method, and computer product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004235852A JP4481762B2 (ja) 2004-08-13 2004-08-13 論理検証装置、論理検証方法、論理検証プログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JP2006053813A JP2006053813A (ja) 2006-02-23
JP4481762B2 true JP4481762B2 (ja) 2010-06-16

Family

ID=35801461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004235852A Expired - Fee Related JP4481762B2 (ja) 2004-08-13 2004-08-13 論理検証装置、論理検証方法、論理検証プログラムおよび記録媒体

Country Status (2)

Country Link
US (1) US7194713B2 (ja)
JP (1) JP4481762B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005111713A1 (ja) * 2004-05-14 2005-11-24 Fujifilm Corporation 撮影ユニット
JP4255079B2 (ja) * 2004-09-30 2009-04-15 株式会社リコー アサーション生成システムと回路検証システムおよびプログラムならびにアサーション生成方法
US7421668B1 (en) * 2004-12-08 2008-09-02 Jasper Design Automation, Inc. Meaningful visualization of properties independent of a circuit design
TW200717276A (en) * 2005-09-12 2007-05-01 Koninkl Philips Electronics Nv Development of assertions for integrated circuit design simulation
JP4716964B2 (ja) * 2006-09-26 2011-07-06 富士通株式会社 タイミングダイアグラム編集プログラム、タイミングダイアグラム編集装置およびタイミングダイアグラム編集方法
JP4480737B2 (ja) * 2007-03-29 2010-06-16 富士通株式会社 論理検証支援プログラム、該プログラムを記録した記録媒体、論理検証支援装置、および論理検証支援方法
US8370812B2 (en) 2007-04-02 2013-02-05 International Business Machines Corporation Method and system for automatically assembling processing graphs in information processing systems
US8166465B2 (en) 2007-04-02 2012-04-24 International Business Machines Corporation Method and system for composing stream processing applications according to a semantic description of a processing goal
US8117233B2 (en) * 2007-05-14 2012-02-14 International Business Machines Corporation Method and system for message-oriented semantic web service composition based on artificial intelligence planning
JP4950942B2 (ja) * 2008-05-23 2012-06-13 株式会社東芝 半導体集積回路の検証装置
JP5195149B2 (ja) * 2008-08-11 2013-05-08 富士通株式会社 真偽判定方法
US11468218B2 (en) 2012-08-28 2022-10-11 Synopsys, Inc. Information theoretic subgraph caching
US9720792B2 (en) 2012-08-28 2017-08-01 Synopsys, Inc. Information theoretic caching for dynamic problem generation in constraint solving
US8904320B2 (en) 2013-03-13 2014-12-02 Synopsys, Inc. Solving multiplication constraints by factorization
JP6199813B2 (ja) * 2014-06-23 2017-09-20 京セラドキュメントソリューションズ株式会社 フォーマル検証装置およびプログラム
CN108089501A (zh) * 2017-12-20 2018-05-29 西安中车永电电气有限公司 基于Simulink和Sateflow的地铁永磁牵引变流器控制逻辑建模方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10301983A (ja) * 1997-04-30 1998-11-13 Nec Corp 消費電力計算方法
US6074426A (en) * 1998-03-13 2000-06-13 Interantional Business Machines Corporation Method for automatically generating behavioral environment for model checking
JP2002073719A (ja) * 2000-08-31 2002-03-12 Hitachi Ltd 回路動作モデル記述の生成方法および論理設計検証装置
US7039574B1 (en) * 2000-12-29 2006-05-02 International Business Machines Corporation Naming and managing simulation model events
JP4078435B2 (ja) * 2001-06-06 2008-04-23 株式会社ルネサステクノロジ 論理集積回路及び論理集積回路設計方法及び論理集積回路のハードウェア動作記述を生成するハードウェア記述生成方法
JP2003030262A (ja) * 2001-07-19 2003-01-31 Hitachi Ltd Ipの仕様と回路の比較結果の認定を特徴とするip認定方法、および前記認定方法により出荷されたip
US7213225B2 (en) * 2004-05-28 2007-05-01 International Business Machines Corporation Method, system and program product for specifying and using register entities to configure a simulated or physical digital system

Also Published As

Publication number Publication date
JP2006053813A (ja) 2006-02-23
US20060036983A1 (en) 2006-02-16
US7194713B2 (en) 2007-03-20

Similar Documents

Publication Publication Date Title
JP4481762B2 (ja) 論理検証装置、論理検証方法、論理検証プログラムおよび記録媒体
JP4255079B2 (ja) アサーション生成システムと回路検証システムおよびプログラムならびにアサーション生成方法
US7464015B2 (en) Method and apparatus for supporting verification, and computer product
US7421668B1 (en) Meaningful visualization of properties independent of a circuit design
US7650581B2 (en) Method for modeling and verifying timing exceptions
US11238202B2 (en) Verifying glitches in reset path using formal verification and simulation
JP4759392B2 (ja) 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
JP4147842B2 (ja) 論理検証システム及び方法、論理コーン抽出装置及び方法、論理検証及び論理コーン抽出プログラム
US20110161898A1 (en) Synthesizing Checkers from Nondeterministic Finite Automaton
JP4261502B2 (ja) 検証支援装置、検証支援方法、検証支援プログラム、および記録媒体
US8661384B2 (en) Verification support apparatus, verifying apparatus, computer product, verification support method, and verifying method
JP5830955B2 (ja) 検証装置、検証方法及び検証プログラム
Veneris et al. From RTL to silicon: The case for automated debug
US20090293026A1 (en) Verification device of semiconductor integrated circuit, verification method of semiconductor integrated circuit, and computer readable medium storing verification program of semiconductor integrated circuit
Brinkmann et al. Formal verification—the industrial perspective
Kebaili et al. Enabler-based synchronizer model for clock domain crossing static verification
JP2009187344A (ja) 非同期論理回路検証装置およびその方法、並びにプログラム
US6668359B1 (en) Verilog to vital translator
JP7351189B2 (ja) タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム
JP2011081760A (ja) 情報処理装置
US20230110701A1 (en) Techniques for design verification of domain crossings
JP4983642B2 (ja) 設計検証プログラム、設計検証方法および設計検証装置
JP2012160145A (ja) 論理シミュレーション方法および論理シミュレーション装置
JP2005316595A (ja) 回路記述間の等価性検証方法および回路記述間の等価性検証プログラム
JP4781994B2 (ja) 信号波形解析装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070803

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100316

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100318

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140326

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees