JP2006106865A - 論理回路設計検証装置および方法、プログラム - Google Patents

論理回路設計検証装置および方法、プログラム Download PDF

Info

Publication number
JP2006106865A
JP2006106865A JP2004288980A JP2004288980A JP2006106865A JP 2006106865 A JP2006106865 A JP 2006106865A JP 2004288980 A JP2004288980 A JP 2004288980A JP 2004288980 A JP2004288980 A JP 2004288980A JP 2006106865 A JP2006106865 A JP 2006106865A
Authority
JP
Japan
Prior art keywords
logic circuit
verification
conditional expression
variable name
logic
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.)
Pending
Application number
JP2004288980A
Other languages
English (en)
Inventor
Sunao Takahata
直 高畠
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2004288980A priority Critical patent/JP2006106865A/ja
Priority to US11/206,990 priority patent/US7373576B2/en
Publication of JP2006106865A publication Critical patent/JP2006106865A/ja
Pending legal-status Critical Current

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
    • 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

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)
  • Tests Of Electronic Circuits (AREA)

Abstract


【課題】 論理回路の動的検証、静的検証のいずれによっても検証されない変数と条件式とを判別できる論理回路設計検証装置を提供する。
【解決手段】 被検証対象のRTL記述中に含まれるすべての変数と条件式とを抽出して、記憶部120に格納する。次に、動的検証ツールである論理シミュレーションを実行し、テストパターンにより活性化した変数や条件式を記憶部120に格納する。静的検証ツールであるプロパティ検証ツールを実行し、プロパティ単位で切り分けられた論理コーンに含まれるすべての変数と条件式を記憶部120に格納する。記憶部120に格納されたRTL記述中に含まれるすべての変数と条件式と、動的検証ツール、静的検証ツールによって検証された変数と条件式とを比較し、検証されなかった変数と条件式とを出力する
【選択図】 図1

Description

本発明は、論理回路の設計段階における論理検証を行う論理回路設計検証装置および方法、プログラムに関する。
論理回路の検証方法として、動的検証ツールである論理シミュレーションツール(例えば、特許文献1)と、静的検証ツールであるプロパティ検証ツールと(例えば、特許文献2)が存在する。
論理シミュレーションツールは、テストパターンを設定して、RTL(Register Transfer Level)の記述をコンパイルしたものに対して動作シミュレーションを行い、各テストパターンに対する出力信号が設計通りであるか否かを検証する。
プロパティ検証ツールは、ブール代数などを使用して、記述した論理回路がプロパティ(設計仕様)と一致しているか否かを判別することにより、論理回路がプロパティを満たしているか否かを検証する。
論理回路設計者は、例えば、VHDL(VHSIC Hardware Description Language)、Verilog−HDL言語などのハードウェア記述言語、あるいはC言語、Java(登録商標)言語などのプログラム言語を用いて回路動作を記述する。そして、その記述内容が設計通りであるか否かを、論理シミュレーションツールおよびプロパティ検証ツールを動作させて検証する。
特開平5−151297号公報(第2、3頁、図1) 特開2003−196342号公報(第6、7頁、図1)
現状では、論理回路設計者は、これら2つのツール(論理シミュレーションツール、プロパティ検証ツール)を使い分けながら論理回路の検証を行っている。ところが、これら2つのツールは検証原理が異なるため、これら2つのツールのテストカバレッジが統合されていない。そのため、論理回路設計者は、個々のツールで検証されなかった部位を認識できるとしても、いずれのツールによっても検証されなかった部位(すなわち、検証漏れ)を簡単に認識できなかった。
本発明は上記問題点に鑑みてなされたもので、動的検証と静的検証とで同一のテストカバレッジを使用できる論理回路設計検証装置および方法、プログラムを提供することを目的とする。
本発明の第1の観点にかかる論理回路設計検証装置は、
論理回路の信号線の接続関係および該論理回路の動作が記述されている論理回路設計情報を記憶する論理回路記述記憶手段と、
前記論理回路設計情報の記述から、論理回路の特定の動作を引き起こす条件を示す条件式と、該特定の動作に関係する信号を示す変数名と、の組を抽出しカバレッジ記憶手段に格納する抽出手段と、
前記論理回路の動作が該論理回路の設計仕様で規定された動作であるか否かをテストパターンを用いて検証する動的検証手段と、
前記論理回路を設計仕様単位で切り分けた論理コーン毎に、ブール代数的に該論理コーンの記載と対応する設計仕様とが同一であるか否か判別することにより、各論理コーンの動作が対応する設計仕様で規定された動作を満たすか否かを検証する静的検証手段と、
前記動的検証手段あるいは静的検証手段で検証された論理回路の各動作に対応する変数名と条件式との組が、前記カバレッジ記憶手段に格納されているか否かを判別する判別手段と、
前記カバレッジ記憶手段に格納された変数名と条件式との組のうち、前記判別手段の判別結果に従って、検証されなかった変数名と条件式との組を判別し出力する出力手段と、
を具備する。
上記論理回路設計検証装置が、前記記憶手段に格納された変数名と条件式との組のうち、前記判別手段により検証されたと判別されなかった変数名と条件式との組の全組に対する割合を算出する算出手段を具備してもよい。
この場合、前記出力手段が、さらに、前記算出手段で算出された前記割合を出力する。
上記論理回路設計検証装置において、前記判別手段は、前記動的検証手段により論理回路の設計仕様上誤った動作を行ったと判別された動作に対応する変数名と条件式との組を判別の対象としなくてもよい。
上記論理回路設計検証装置において、前記判別手段は、前記静的検証手段により論理回路の設計仕様上誤った記載であると判別された記載に対応する変数名と条件式との組を判別の対象としなくてもよい。
上記論理回路設計検証装置において、前記判別手段は、前記動的検証手段あるいは静的検証手段で検証された論理回路の動作に対応する変数名と条件式との組が、前記カバレッジ記憶手段に格納されていると判別した場合に、前記カバレッジ記憶手段から該変数名と条件式との組を削除する削除手段を備えてもよい。
この場合、前記出力手段は、前記削除手段の作動後に、前記カバレッジ記憶手段に格納されたままである変数名と条件式との組を出力する。
本発明の第2の観点にかかる論理回路設計検証方法は、
論理回路の信号線の接続関係および該論理回路の動作を記述した論理回路設計情報を論理回路記述記憶手段に記憶する記憶ステップと、
該論理回路設計情報の記述から、論理回路の特定の動作を引き起こす条件を示す条件式と、該特定の動作に関係する信号を示す変数名と、の組を抽出しカバレッジ記憶手段に格納する抽出ステップと、
前記論理回路の動作が該論理回路の設計仕様で規定された動作であるか否かをテストパターンを用いて検証する動的検証ステップと、
前記論理回路を設計仕様単位で切り分けた論理コーン毎に、ブール代数的に該論理コーンの記載と対応する設計仕様とが同一であるか否か判別することにより、各論理コーンの動作が対応する設計仕様で規定された動作を満たすか否かを検証する静的検証ステップと、
前記動的検証ステップあるいは静的検証ステップで検証された論理回路の各動作に対応する変数名と条件式との組が、前記カバレッジ記憶手段に格納されているか否かを判別する判別ステップと、
前記カバレッジ記憶手段に格納された変数名と条件式との組のうち、前記判別ステップの判別結果に従って、検証されなかった変数名と条件式との組を判別し出力する出力ステップと、
を具備する。
本発明の第3の観点にかかるプログラムは、
コンピュータ装置を、
論理回路の信号線の接続関係および該論理回路の動作が記述されている論理回路設計情報を記憶する論理回路記述記憶手段と、
前記論理回路設計情報の記述から、論理回路の特定の動作を引き起こす条件を示す条件式と、該特定の動作に関係する信号を示す変数名と、の組を抽出しカバレッジ記憶手段に格納する抽出手段と、
前記論理回路の動作が該論理回路の設計仕様で規定された動作であるか否かをテストパターンを用いて検証する動的検証手段と、
前記論理回路を設計仕様単位で切り分けた論理コーン毎に、ブール代数的に該論理コーンの記載と対応する設計仕様とが同一であるか否か判別することにより、各論理コーンの動作が対応する設計仕様で規定された動作を満たすか否かを検証する静的検証手段と、
前記動的検証手段あるいは静的検証手段で検証された論理回路の各動作に対応する変数名と条件式との組が、前記カバレッジ記憶手段に格納されているか否かを判別する判別手段と、
前記カバレッジ記憶手段に格納された変数名と条件式との組のうち、前記判別手段の判別結果に従って、検証されなかった変数名と条件式との組を判別し出力する出力手段と、 を具備する論理回路設計検証装置として機能させる。
本発明によれば、動的検証ツールと、静的検証ツールとを併用して論理回路を検証する場合に、動的検証ツールと、静的検証ツールとで同一のテストカバレッジを使用する。このため、いずれのツールによっても検証されなかった部位を論理回路設計者に提示することができる。
本発明にかかる実施の形態を、以下図面を参照して説明する。図1は、本発明の実施の形態にかかる論理回路設計支援装置の構成を示すブロック図である。
本実施の形態にかかる論理回路設計支援装置100は、論理回路設計者が記述したRTL(Register Transfer Level)記述に基づいて論理回路を検証し、未検証部分が存在するとその旨を出力する。論理回路設計支援装置100は、RTL記述を検証する際、動的検証(論理シミュレーション)と静的検証(プロパティ検証)とを実行する。論理回路設計者は、論理回路設計支援装置100に、RTL記述を記したファイル(以下、RTLファイルと称する)を読み込ませ、検証の指示を出す。なお、検証すべき論理回路は複数のRTLファイルに分割されて記述されるのが通例であるため、論理回路設計支援装置100は複数のRTLファイルを受け付けるように構成される。
図1に示すように、本実施の形態にかかる論理回路設計支援装置100は、制御部110と、記憶部120と、入力制御部130と、出力制御部140と、プログラム格納部150とを備える。そして、入力制御部130に入力装置13が、出力制御部140に出力装置14がそれぞれ接続されている。
制御部110は、例えば、中央演算処理装置(CPU、Central Processing Unit)やワークエリアとなる記憶装置(RAM(Random Access Memory)等)などを備える。制御部110は、プログラム格納部150に格納されている動作プログラムを読み出して実行することにより、例えば、図2に示すような、解析部111、動的検証部112、静的検証部113などを実現する。制御部110は論理回路設計支援装置100の各部を制御しつつ、後述するRTL記述検証処理などを実行する。
解析部111は、記憶部120に格納されているRTLファイルを読み出し、RTLファイルに記述されている内容を構文解析して、すべての変数名(入力信号あるいは出力信号に付けられた名前)と条件式との組を抽出し、後述する要検証部位記憶部122に格納する。
ここで、条件式とは、論理回路のある一部分が活性化し、その部分が特定の出力信号を出力するための条件式を意味する。例えば、VHDLでは、if文やcase文などに含まれる条件式である。なお、複数の条件式が入れ子に記載されている場合は、論理回路設計支援装置100はこれら複数の条件式の論理積を採用する。また、異なるRTLファイルで使用されている変数において、変数名が同一であっても、これらの変数がグローバル変数でない場合は、論理回路設計支援装置100はこれらの変数を異なる変数とみなす。このようにみなすことにより、検証対象となっているRTLファイルにおいて、変数と条件式との組が一意であることが保証される。
動的検証部112は、記憶部120に格納されているRTLファイルと、後述するテストパターン記憶部124に格納されているテストパターンとを読み出し、動的検証である論理シミュレーションを実行する。そして、検証した変数と条件式との組を後述する検証済み部位記憶部123に格納する。なお、設計仕様通りの出力動作をしなかった場合、動的検証部112は、その旨と、該当する変数と条件式との組を、出力制御部140を介して、出力装置14に出力させる。
動的検証部112が論理シミュレーションを実行すると、各テストパターンのシミュレートにおいて、論理回路内のいくつかの部分が活性化する。動的検証部112は、この活性化した各部分に対応する回路を特徴付ける変数と条件式との組を、検証した変数と条件式との組として検証済み部位記憶部123に格納する。
このように、論理シミュレーションツールは、検証用のテストパターンにより活性化したRTLファイル中の変数や条件式をイベント発生毎に認識する機能を有する。このため、論理回路設計支援装置100は検証結果をテストカバレッジの計測データとして利用できる。
静的検証部113は、記憶部120に格納されているRTLファイルを読み出し、静的検証であるプロパティ検証を、プロパティ単位で切り分けられた論理コーンの単位で実行する。そして、検証した変数と条件式とを後述する検証済み部位記憶部123に格納する。なお、論理コーンが設計仕様通りの出力をしない場合、すなわち、論理コーンの動作と対応する設計仕様で規定された動作とがブール代数的に一致しない場合、静的検証部113は、その旨と、論理コーンに該当する変数と条件式との組を、出力制御部140を介して、出力装置14に出力させる。
ここで、論理コーンとは、出力信号の論理を決定するために必要な組み合わせ回路のことであり、ブール式で表現される。
静的検証ツールであるプロパティ検証では、プロパティ単位で切り分けられた論理コーンに含まれるすべての変数や条件式が、数学的な検証アルゴリズムにより網羅的に検証される。このため、論理回路設計支援装置100は検証結果をテストカバレッジの計測データとしてそのまま利用できる。
図1に戻って、記憶部120は、ハードディスク装置などの記憶装置から構成され、検証対象であるRTLファイルや、RTL記述検証処理において生成される一時データなどを格納する。図3は、記憶部120に格納されるデータを説明するための図である。記憶部120は、RTL記述記憶部121と、要検証部位記憶部122と、検証済み部位記憶部123と、テストパターン記憶部124とを備える。
RTL記述記憶部121は、検証すべきRTLファイルを格納する。RTLファイルはハードウェア記述言語で記述される。
要検証部位記憶部122は、RTL記述記憶部121に格納されているRTLファイルに記載されている変数と条件式との組をすべてを格納する。これらの組は解析部111により、論理コーン単位で抽出される。
要検証部位記憶部122に格納される「要検証情報」の例を図4に示す。図示するように、要検証部位記憶部122は「要検証情報」をテーブルの形式で格納し、「要検証情報」は「入出力変数」と、「条件式」と、「フラグ情報」とを含む。なお、この「要検証情報」において、「入出力変数」と「条件式」との組み合わせは一意である。
ここで、「入出力変数」は、論理回路の一部分に関係する入出力変数(信号)の名前を並べたものである。また、「条件式」とは、論理回路の一部分が活性化するための条件を示した式を並べたものである。また、「フラグ情報」は論理回路の一部分が検証されたか否かを識別するための情報である。ある「入出力変数」と「条件式」との組に対応する「フラグ情報」は、初期状態として、未検証を意味する値(例えば「0」)を格納する。後述するRTL記述検証処理により、検証済みを意味する値(例えば「1」)に書き換えられる。
検証済み部位記憶部123は、動的検証部112と、静的検証部113とで検証された、変数と条件式との組を格納する。格納方法の例は、「フラグ情報」を格納しない点を除いて、図4に示した要検証部位記憶部122に格納される要検証情報の例と同様とする。
テストパターン記憶部124は、論理シミュレーションによりRTLファイルを検証する際に使用されるテストパターンを格納する。なお、テストパターン記憶部124に格納されるテストパターンは、人手により作成されたものでもよいし、RTLファイルからテストパターン自動生成ツールにより自動生成させたものでもよい。
再び図1に戻り、入力制御部130は、例えば、キーボードやポインティングデバイス等の入力装置13を接続し、入力装置13から入力された制御部110への指示などを受け付けて制御部110に伝達する。
出力制御部140は、例えば、ディスプレイなどの出力装置14を接続し、制御部110の処理結果などを必要に応じて出力装置14に出力する。
プログラム格納部150は、ROM(Read Only Memory)等の記憶装置から構成され、制御部110が実行する動作プログラムを格納する。プログラム格納部150に格納される動作プログラムは、論理回路の動的検証を行う論理シミュレーションツール、静的検証を行うプロパティ検証ツール、RTLファイルから変数と条件式とを抽出するツール等である。なお、テストパターン自動生成ツールによりテストパターンを自動生成する場合、プログラム格納部150は、テストパターン自動生成ツールも格納する。
次に、本実施の形態にかかる論理回路設計支援装置100の動作を図面を参照して説明する。図5は、本実施の形態にかかる論理回路設計支援装置100のRTL記述検証処理を説明するためのフローチャートである。
なお、論理回路設計者が検証すべきRTLファイルを予め作成して、RTL記述記憶部121に格納する。また、そのRTLファイルを論理検証するためのテストパターンも予め手動あるいは自動で作成され、テストパターン記憶部124に格納されている。
入力装置13で入力された、論理回路設計者からRTL記述の検証を検証する旨の指示を受け付けた論理回路設計支援装置100は、RTL記述検証処理を開始する。指示の受け付け方法は、コマンドライン入力や対話型など既知の方法を用いる。
まず、解析部111は、RTL記述記憶部121から検証すべきRTLファイルを読み出し、RTL記述中に含まれるすべての変数名と条件式との組を抽出して(ステップS101)、要検証部位記憶部122に格納する(ステップS102)。
次に、動的検証部112は、RTL記述と、テストパターン記憶部124に格納されているテストパターンとに基づいて、論理シミュレーションを行い(ステップS103)、活性化した回路部分に対応する変数名と条件式との組を検証済み部位記憶部123に格納する(ステップS104)。なお、ステップS103において、あるテストパターンで想定通りの出力をしなかった場合、動的検証部112は、出力に誤りがある旨と、該当する変数名と条件式との組とを出力装置14に出力する。
次に、制御部110内の静的検証部113は、RTL記述に基づいて、プロパティ検証を行い(ステップS105)、プロパティ単位で切り分けられた論理コーンに含まれるすべての変数名と条件式との組のうち、設計仕様通りに動作するものを検証済み部位記憶部123に格納する(ステップS106)。なお、ステップS104ですでに同一の変数名と条件式との組が格納されている場合には、どちらか一方を代表して登録する。また、ステップS105において、設計仕様通りに動作しない場合、静的検証部113は、動作しなかった旨と、該当する変数名と条件式との組とを出力装置14に出力する。
次に、制御部110は、ステップS104とS106とで検証済み部位記憶部123に格納した変数名と条件式との組が、要検証部位記憶部122に格納されている変数名と条件式との組に含まれているか否かを判別する。要検証部位記憶部122に格納されている変数名と条件式とに含まれていれば、その変数名と条件式とに対応付けられた「フラグ情報」を検証されたことを示す旨の情報に更新して格納する(ステップS107)。
最後に制御部110は、要検証部位記憶部122に格納されている変数名と条件式と共に格納されている「フラグ情報」が検証された旨を示しているか否かに基づいて、検証されていない変数名と条件式との組を判別する。そして、検証されていない変数名と条件式との組を出力制御部140を介して、出力装置14に出力する(ステップS108)。最後に、RTL記述検証処理を終了する。
論理回路設計者は、出力結果を参照して、RTL記述の修正、および、テストパターンの追加等を行い、再びRTL記述検証処理を論理回路設計支援装置100に実行させる。この工程を繰り返すことで、RTL記述をブラッシュアップできる。
以上、説明したように、本発明の実施の形態にかかる論理回路設計支援装置によれば、動的検証である論理シミュレーションツールのテストカバレッジと、静的検証であるプロパティ検証ツールのテストカバレッジとを統合できる。これにより、どちらのツールによっても検証されない部位の存在が明確となり、RTLでの設計ミスの検出効果を向上させることができる。
なお、本発明は上記実施の形態に限定されず、種々の変形および応用が可能である。
例えば、上記論理回路設計支援装置100をクライアントサーバ方式で構成してもよい。この場合、論理回路設計者はクライアント装置から、通信ネットワークを介してサーバ装置にアクセスし、上記機能をサーバ装置上で実行する。そして、その実行結果はクライアント装置から出力される。
また、上記論理回路設計支援装置100は、論理シミュレーションとプロパティ検証との組み合わせに限らず、静的タイミング検証ツールなど論理回路の他の設計検証手法との組み合わせに適用することができる。
また、上記ステップS108では、未検証の変数名と条件式とを出力していたが、未検証の変数名と条件式との組が全体に示す割合を示すデータ(以下、検証網羅率と称する)を出力するようにしてもよい。ここで、検証網羅率として、どのような指標を採用するかは任意である。例えば、ステップS102で登録された変数名と条件式との組の数を統合カバレッジ計測の分母とし、ステップS104、S106で登録された変数名と条件式との組の数を分子として、検証網羅率を算出する。
また、上記ステップS104およびS106において、論理回路のある部分が設計仕様と異なる動作をした場合、動的検証部112および静的検証部113は、その変数名と条件式との組を検証済み部位記憶部123に格納しないように構成することができる。
また、上記ステップS104およびS106において、検証済みの変数名と条件式との組を検証済み部位記憶部123に格納するのをやめて、要検証部位記憶部122に格納されている変数名と条件式との組を検索し、それに対応付けられている「フラグ情報」を更新して格納するようにしてもよい。
あるいは、ステップS104、S106で検証済み部位記憶部123に格納された変数名と条件式とを、ステップS102で要検証部位記憶部122に格納された変数名と条件式とから削除することで、未検証の変数名と条件式との判別するようにしてもよい。この場合、「フラグ情報」を格納する必要がない。
あるいは、上記ステップS104あるいはS106の双方において、検証されなかった部位をステップS108で出力するようにしてもよい。この場合、「フラグ情報」は、動的検証において検証したか否かを示す情報と、静的検証において検証したか否かを示す情報とを格納する。
なお、本発明の実施の形態にかかる論理回路設計支援装置100を実現するための情報処理装置は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、汎用コンピュータに、上述の処理を実行するためのプログラムを格納した媒体(CD−ROMなど)から当該プログラムをプログラム格納部150にインストールすることにより、上述の処理を実行する論理回路設計支援装置100を構成することができる。
また、上述の機能を、OS(Operating System)とアプリケーションとの分担、またはOSとアプリケーションとの協動により実現する場合などには、OS以外の部分のみを媒体に格納してもよい。
また、搬送波にプログラムを重畳し、通信ネットワークを介して配信することも可能である。例えば、通信ネットワーク上の掲示板(BBS、Bulletin Board System)に該プログラムを掲示し、ネットワークを介して該プログラムを配信してもよい。そして、このプログラムを起動し、オペレーティングシステムの制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行できるように構成しても構わない。
本発明の実施の形態にかかる論理回路設計支援装置のブロック図である。 図1の制御部に実現される機能を示す機能ブロック図である。 図1に示す記憶部に格納されるデータを説明するための図である。 図3に示す要検証部位記憶部に格納される要検証情報の例を説明するための図である。 本発明の実施の形態にかかるRTL検証処理を説明するためのフローチャートである。
符号の説明
100 論理回路設計支援装置
110 制御部
111 解析部
112 動的検証部
113 静的検証部
120 記憶部
121 RTL記述記憶部
122 要検証部位記憶部
123 検証済み部位記憶部
124 テストパターン記憶部
130 入力制御部
13 入力装置
140 出力制御部
14 出力装置
150 プログラム格納部

Claims (7)

  1. 論理回路の信号線の接続関係および該論理回路の動作が記述されている論理回路設計情報を記憶する論理回路記述記憶手段と、
    前記論理回路設計情報の記述から、論理回路の特定の動作を引き起こす条件を示す条件式と、該特定の動作に関係する信号を示す変数名と、の組を抽出しカバレッジ記憶手段に格納する抽出手段と、
    前記論理回路の動作が該論理回路の設計仕様で規定された動作であるか否かをテストパターンを用いて検証する動的検証手段と、
    前記論理回路を設計仕様単位で切り分けた論理コーン毎に、ブール代数的に該論理コーンの記載と対応する設計仕様とが同一であるか否か判別することにより、各論理コーンの動作が対応する設計仕様で規定された動作を満たすか否かを検証する静的検証手段と、
    前記動的検証手段あるいは静的検証手段で検証された論理回路の各動作に対応する変数名と条件式との組が、前記カバレッジ記憶手段に格納されているか否かを判別する判別手段と、
    前記カバレッジ記憶手段に格納された変数名と条件式との組のうち、前記判別手段の判別結果に従って、検証されなかった変数名と条件式との組を判別し出力する出力手段と、
    を具備することを特徴とする論理回路設計検証装置。
  2. 前記論理回路設計装置は、
    前記カバレッジ記憶手段に格納された変数名と条件式との組のうち、前記判別手段の判別結果に従って、検証されなかった変数名と条件式との組の全組に対する割合を算出する算出手段を具備し、
    前記出力手段が、さらに、前記算出手段で算出された前記割合を出力すること、
    を特徴とする請求項1に記載の論理回路設計検証装置。
  3. 前記判別手段は、前記動的検証手段により論理回路の設計仕様上誤った出力をしたと判別された各動作に対応する変数名と条件式との組を判別の対象としないことを特徴とする請求項1または2に記載の論理回路設計検証装置。
  4. 前記判別手段は、前記静的検証手段により論理回路の設計仕様上誤った記載であると判別された記載に対応する変数名と条件式との組を判別の対象としないことを特徴とする請求項1、2または3に記載の論理回路設計検証装置。
  5. 前記判別手段は、前記動的検証手段あるいは静的検証手段で検証された論理回路の各動作に対応する変数名と条件式との組が、前記カバレッジ記憶手段に格納されていると判別した場合に、前記カバレッジ記憶手段から該変数名と条件式との組を削除する削除手段を備え、
    前記出力手段は、前記削除手段の作動後に、前記カバレッジ記憶手段に格納されたままである変数名と条件式との組を出力すること、
    を特徴とする請求項1乃至4のいずれか1項に記載の論理回路設計検証装置。
  6. 論理回路の信号線の接続関係および該論理回路の動作を記述した論理回路設計情報を論理回路記述記憶手段に記憶する記憶ステップと、
    該論理回路設計情報の記述から、論理回路の特定の動作を引き起こす条件を示す条件式と、該特定の動作に関係する信号を示す変数名と、の組を抽出しカバレッジ記憶手段に格納する抽出ステップと、
    前記論理回路の動作が該論理回路の設計仕様で規定された動作であるか否かをテストパターンを用いて検証する動的検証ステップと、
    前記論理回路を設計仕様単位で切り分けた論理コーン毎に、ブール代数的に該論理コーンの記載と対応する設計仕様とが同一であるか否か判別することにより、各論理コーンの動作が対応する設計仕様で規定された動作を満たすか否かを検証する静的検証ステップと、
    前記動的検証ステップあるいは静的検証ステップで検証された論理回路の各動作に対応する変数名と条件式との組が、前記カバレッジ記憶手段に格納されているか否かを判別する判別ステップと、
    前記カバレッジ記憶手段に格納された変数名と条件式との組のうち、前記判別ステップの判別結果に従って、検証されなかった変数名と条件式との組を判別し出力する出力ステップと、
    を具備することを特徴とする論理回路設計検証方法。
  7. コンピュータ装置を、
    論理回路の信号線の接続関係および該論理回路の動作が記述されている論理回路設計情報を記憶する論理回路記述記憶手段と、
    前記論理回路設計情報の記述から、論理回路の特定の動作を引き起こす条件を示す条件式と、該特定の動作に関係する信号を示す変数名と、の組を抽出しカバレッジ記憶手段に格納する抽出手段と、
    前記論理回路の動作が該論理回路の設計仕様で規定された動作であるか否かをテストパターンを用いて検証する動的検証手段と、
    前記論理回路を設計仕様単位で切り分けた論理コーン毎に、ブール代数的に該論理コーンの記載と対応する設計仕様とが同一であるか否か判別することにより、各論理コーンの動作が対応する設計仕様で規定された動作を満たすか否かを検証する静的検証手段と、
    前記動的検証手段あるいは静的検証手段で検証された論理回路の各動作に対応する変数名と条件式との組が、前記カバレッジ記憶手段に格納されているか否かを判別する判別手段と、
    前記カバレッジ記憶手段に格納された変数名と条件式との組のうち、前記判別手段の判別結果に従って、検証されなかった変数名と条件式との組を判別し出力する出力手段と、 を具備する論理回路設計検証装置として機能させることを特徴とするプログラム。
JP2004288980A 2004-09-30 2004-09-30 論理回路設計検証装置および方法、プログラム Pending JP2006106865A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004288980A JP2006106865A (ja) 2004-09-30 2004-09-30 論理回路設計検証装置および方法、プログラム
US11/206,990 US7373576B2 (en) 2004-09-30 2005-08-19 Apparatus, method, and signal-bearing medium embodying a program for verifying logic circuit design

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004288980A JP2006106865A (ja) 2004-09-30 2004-09-30 論理回路設計検証装置および方法、プログラム

Publications (1)

Publication Number Publication Date
JP2006106865A true JP2006106865A (ja) 2006-04-20

Family

ID=36182232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004288980A Pending JP2006106865A (ja) 2004-09-30 2004-09-30 論理回路設計検証装置および方法、プログラム

Country Status (2)

Country Link
US (1) US7373576B2 (ja)
JP (1) JP2006106865A (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269585A (ja) * 2007-03-28 2008-11-06 Toshiba Corp プロパティ記述のカバレッジ測定装置及びプログラム
KR100873885B1 (ko) 2006-06-28 2008-12-15 후지쯔 가부시끼가이샤 설계 검증 장치, 설계 검증 방법 및 cad 시스템
WO2009101934A1 (ja) * 2008-02-14 2009-08-20 Pacific Design Inc. Lsi設計検証システム、lsi設計検証方法およびそのプログラム
JP2009230667A (ja) * 2008-03-25 2009-10-08 Nec Corp プロパティ生成システムおよびプロパティ検証システム
KR100929551B1 (ko) 2009-02-27 2009-12-03 주식회사 지노스 설계 검증 장치 및 방법
KR100930089B1 (ko) 2009-02-27 2009-12-07 주식회사 지노스 설계 검증 장치 및 방법
JP2010066787A (ja) * 2008-09-08 2010-03-25 Fujitsu Ltd 検証支援プログラム、検証支援装置および検証支援方法
JP2010079727A (ja) * 2008-09-26 2010-04-08 Fujitsu Ltd 検証支援プログラム、検証支援装置および検証支援方法
JP2010267722A (ja) * 2009-05-13 2010-11-25 Nuflare Technology Inc 荷電粒子ビーム描画装置及び荷電粒子ビーム描画方法
JP2011108116A (ja) * 2009-11-19 2011-06-02 Fujitsu Ltd 検証支援プログラム、検証支援装置および検証支援方法
US8037002B2 (en) 2007-03-28 2011-10-11 Kabushiki Kaisha Toshiba Property description coverage measuring apparatus
US8069026B2 (en) 2007-02-13 2011-11-29 Fujitsu Limited Clock gating analyzing apparatus, clock gating analyzing method, and computer product

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7434184B2 (en) * 2005-08-08 2008-10-07 Zhe Li Method for detecting flaws in a functional verification plan
US9057764B2 (en) 2011-10-27 2015-06-16 International Business Machines Corporation Detection of unchecked signals in circuit design verification
US10545855B1 (en) * 2018-09-28 2020-01-28 Microsoft Technology Licensing, Llc Software testing assurance through inconsistent treatment detection

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3974048B2 (ja) * 2003-02-06 2007-09-12 株式会社東芝 設計検証システム、設計検証方法及び設計検証プログラム
US7143376B1 (en) * 2003-03-04 2006-11-28 Xilinx, Inc. Method and apparatus for design verification with equivalency check

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100873885B1 (ko) 2006-06-28 2008-12-15 후지쯔 가부시끼가이샤 설계 검증 장치, 설계 검증 방법 및 cad 시스템
US8069026B2 (en) 2007-02-13 2011-11-29 Fujitsu Limited Clock gating analyzing apparatus, clock gating analyzing method, and computer product
US8037002B2 (en) 2007-03-28 2011-10-11 Kabushiki Kaisha Toshiba Property description coverage measuring apparatus
JP2008269585A (ja) * 2007-03-28 2008-11-06 Toshiba Corp プロパティ記述のカバレッジ測定装置及びプログラム
WO2009101934A1 (ja) * 2008-02-14 2009-08-20 Pacific Design Inc. Lsi設計検証システム、lsi設計検証方法およびそのプログラム
JP2009193318A (ja) * 2008-02-14 2009-08-27 Pacific Design Kk Lsi設計検証システム、lsi設計検証方法およびそのプログラム
JP2009230667A (ja) * 2008-03-25 2009-10-08 Nec Corp プロパティ生成システムおよびプロパティ検証システム
JP2010066787A (ja) * 2008-09-08 2010-03-25 Fujitsu Ltd 検証支援プログラム、検証支援装置および検証支援方法
JP2010079727A (ja) * 2008-09-26 2010-04-08 Fujitsu Ltd 検証支援プログラム、検証支援装置および検証支援方法
KR100930089B1 (ko) 2009-02-27 2009-12-07 주식회사 지노스 설계 검증 장치 및 방법
KR100929551B1 (ko) 2009-02-27 2009-12-03 주식회사 지노스 설계 검증 장치 및 방법
JP2010267722A (ja) * 2009-05-13 2010-11-25 Nuflare Technology Inc 荷電粒子ビーム描画装置及び荷電粒子ビーム描画方法
JP2011108116A (ja) * 2009-11-19 2011-06-02 Fujitsu Ltd 検証支援プログラム、検証支援装置および検証支援方法

Also Published As

Publication number Publication date
US20060085713A1 (en) 2006-04-20
US7373576B2 (en) 2008-05-13

Similar Documents

Publication Publication Date Title
US7373576B2 (en) Apparatus, method, and signal-bearing medium embodying a program for verifying logic circuit design
CN105446874B (zh) 一种资源配置文件的检测方法和装置
JP2006244073A (ja) 半導体設計装置
US9569575B2 (en) Digital circuit design method and associated computer program product
JP2006244195A (ja) プログラムテスト支援装置およびその方法
US8701064B2 (en) Timing error removing method and design support apparatus
US7231626B2 (en) Method of implementing an engineering change order in an integrated circuit design by windows
JP5868515B2 (ja) シグニチャ検証装置及びシグニチャ検証方法及びプログラム
JP2006350420A (ja) レイアウト検証用ルールファイルのテスト装置、テスト方法及びテストプログラム
WO2008155198A1 (en) Method and apparatus for changing and adding activation keys for functions of digital content without having to change and recompile the digital content
US8117578B2 (en) Static hazard detection device, static hazard detection method, and recording medium
US20170131973A1 (en) Software specification dependence relation verification apparatus and software specification dependence relation verification method
JP4881769B2 (ja) 半導体集積回路設計支援装置、半導体集積回路設計支援方法、半導体集積回路設計支援プログラム
US20140282333A1 (en) Design support apparatus and design support method
US11921907B2 (en) Detecting security vulnerabilities introduced between versions of a hardware design
JP2009252167A (ja) テスト項目生成装置、テスト項目生成システム、テスト項目生成方法、およびテスト項目生成プログラム
JP6318976B2 (ja) デバッグ回路、デバッガ装置、半導体装置及びデバッグ方法
JP6173571B2 (ja) 回路設計装置および回路設計プログラム
JP2011048785A (ja) 多重イベント定義装置、多重イベント検証装置、多重イベント定義方法および多重イベント定義プログラム
JP6818568B2 (ja) 通信装置、通信仕様差分抽出方法及び通信仕様差分抽出プログラム
JP6949441B2 (ja) ベクタ適正化装置及びベクタ適正化用プログラム
JP2008112229A (ja) ソフトウェア製品の更新データ適用方法
JP5799589B2 (ja) 検証方法及び検証プログラム
JP6949440B2 (ja) ベクタ生成装置及びベクタ生成用プログラム
KR102417677B1 (ko) 회로 검증을 위한 유사 회로 검색 장치 및 방법

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080401

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080526

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080812