JP2006228065A - プロパティ生成方法、検証方法及び検証装置 - Google Patents

プロパティ生成方法、検証方法及び検証装置 Download PDF

Info

Publication number
JP2006228065A
JP2006228065A JP2005043143A JP2005043143A JP2006228065A JP 2006228065 A JP2006228065 A JP 2006228065A JP 2005043143 A JP2005043143 A JP 2005043143A JP 2005043143 A JP2005043143 A JP 2005043143A JP 2006228065 A JP2006228065 A JP 2006228065A
Authority
JP
Japan
Prior art keywords
property
verification
user
list
event
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.)
Granted
Application number
JP2005043143A
Other languages
English (en)
Other versions
JP4498167B2 (ja
JP2006228065A5 (ja
Inventor
Yasuyo Shimizu
康世 清水
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2005043143A priority Critical patent/JP4498167B2/ja
Priority to US11/354,474 priority patent/US20060190234A1/en
Publication of JP2006228065A publication Critical patent/JP2006228065A/ja
Publication of JP2006228065A5 publication Critical patent/JP2006228065A5/ja
Application granted granted Critical
Publication of JP4498167B2 publication Critical patent/JP4498167B2/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

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)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】 静的検証における網羅率を客観的に判断し、網羅検証を可能にする。
【解決手段】 論理システムを検証するためのプロパティを生成する際に、論理システムが満たすべき仕様から対応する事象のリストを生成し、事象のリストから未定義の状態の事象を抽出し、抽出した未定義の状態の事象が成立しないことを表すプロパティを、仕様から作成されたプロパティにおいて不足している事象を補うための補集合のプロパティとして生成する。
【選択図】 図1

Description

本発明は、論理システムを検証するためのプロパティを生成する技術及び論理システムを検証する技術に関する。
近年、市場はより高機能な製品を要求している。これに伴い、LSIを含む論理システムの規模は年々増加している。そのため、論理システムの検証には膨大な時間が必要となってきている。また、市場には消費者が欲するときに製品を投入しなければならず、LSIをはじめとした論理システムの開発期間は短くなっている。そのため、論理システムの検証効率を向上させる必要性が生じている。
LSIを含む論理システムの検証には、従来から使用されている動的シミュレーション手法と併せて静的検証手法を用いるようになってきた。静的検証はプロパティチェックと等価性チェックの二種類に分けられる。本発明において、静的検証はプロパティチェックを取り扱うこととする。このプロパティチェックは、プロパティと呼ばれる仕様を数式で表したものと、検証対象のDUT(Design Under Test)との一致性を数学的に判定することで検証を行う。そのため、プロパティチェックは、動的シミュレーションと比較して短時間で検証を終えることが可能である。例えば、特許文献1には、DUTを基に形式検証を使用して、動的シミュレーションのカバレージ率を向上させる検証方法が記載されている。
特開平11−85828号公報
このような性質を備えた静的検証は、一般に網羅検証が可能であるといわれているが、実際はプロパティを記述した部分のみの検証しかできていない。また、網羅検証ができているかどうかの確認方法は人手によるレビューの実施以外に確立されていない。
このように、静的検証で網羅検証ができているかどうかを客観的に判定する方法がない。その結果、検証未実施の部分が存在していることに気づかずに、十分な精度を持たない製品を市場に投入してしまう恐れがある。
また、本来、動的シミュレーションで検証する機能と静的検証で検証する機能とを切り分けて検証工数の削減を図ることが可能であるのに、実際は従来の動的シミュレーションに加えて静的検証を補完目的で使用しているので、検証工数が増大する一方であるという問題も生じている。
本発明は上記課題を解決するためになされたもので、静的検証における網羅率を客観的に判断し、網羅検証を可能にすることを目的とする。
本発明は、論理システムを検証するためのプロパティを生成するプロパティ生成方法であって、論理システムが満たすべき仕様から対応する事象のリストを生成する工程と、前記事象のリストに基づいて、前記仕様から作成されたプロパティにおいて不足している事象を補うための補集合のプロパティを生成するプロパティ生成工程とを有することを特徴とする。
また、本発明は、論理システムが満たすべき仕様から作成されたプロパティを用いて前記論理システムを検証する検証方法であって、論理システムが満たすべき仕様から対応する事象のリストを生成する工程と、前記事象のリストに基づいて、前記仕様から作成されたプロパティにおいて不足している事象を補うための補集合のプロパティを生成するプロパティ生成工程と、前記補集合のプロパティを用いて前記論理システムの静的検証を実施する検証実施工程とを有することを特徴とする。
更に、本発明は、論理システムが満たすべき仕様から作成されたプロパティを用いて前記論理システムを検証する検証装置であって、論理システムが満たすべき仕様から対応する事象のリストを生成し、当該事象のリストに基づいて、前記仕様から作成されたプロパティにおいて不足している事象を補うための補集合のプロパティを生成するプロパティ生成手段と、前記補集合のプロパティを用いて前記論理システムの静的検証を実施する検証実施手段とを有することを特徴とする。
本発明によれば、静的検証において困難であったプロパティの網羅率の判断が客観的にできるようになり網羅検証が可能となる。これにより、十分な精度を持った製品を市場に投入することが可能になる。
また、プロパティの信頼性を客観的に判断することが可能となるため、従来実施していた人間のレビューによるプロパティのチェックが不要となり、検証工数の削減及びプロパティの品質を向上させることが可能となる。また、静的検証の網羅検証が可能になることで、静的検証と動的シミュレーションによる検証とを切り分けることができ、検証工数の削減が可能となる。従って、開発期間の短縮ができ、市場が欲するときに製品を投入することが可能となる。
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
図1は、本実施形態における静的検証に用いる不成立動作プロパティの生成手順を示す図である。図1において、101は仕様であり、論理システムの仕様が記載されたデータである。ここで、仕様101は書式に依存したものではなく、論理システムの入力信号と内部の信号及びそれらの取り得る値が抽出可能なように記載されていれば良く、自然言語、その他、如何なる言語や書式で記述されていてもかまわない。
また、本実施形態では、如何なる場合も仕様101が正しいものとし、後述するユーザ定義プロパティ、全事象のリスト及び検証対象のDUT(Design Under Test)等は全て仕様101のデータに基づいて作成されるものとする。
102はユーザ定義プロパティであり、仕様101に基づいてユーザが記述したもので、その記述内容に間違いはないものとする。但し、検証未実施の部分が存在している可能性は残っているものとする。また、このユーザ定義プロパティ102は、テストアイテムチェックリスト等から人手で記述されても自動で記述されても良い。
110は事象リスト生成モジュールであり、仕様101に基づいて論理システムの入力信号及び内部の信号が取り得る値を抽出し、仕様101が取り得る全事象のリストを生成する機能を有する。この事象リスト生成モジュール110の機能については図2を用いて更に後述する。
尚、本実施形態では、事象のリストを生成するアルゴリズムに依存するものではなく、如何なるアルゴリズムを用いてもかまわない。例えば、仕様101から必要な信号が取り得る値を全て自動で抽出しても、自動で抽出した後に不足の状態をユーザが付け加えてもかまわない。
103は全事象のリストであり、上述の仕様101に基づいて生成され、仕様101が取り得る全事象が記載される。ここで、全事象のリスト103は後述する抽出モジュールが解釈できる書式であれば良く、どのような書式であってもかまわない。
111は抽出モジュールであり、ユーザ定義プロパティ102と全事象のリスト103とからユーザ未定義状態の事象を抽出する。この抽出モジュール111の機能については図3及び図4を用いて更に後述する。
104はユーザ未定義状態の事象であり、全事象のリスト103に記載された事象中、ユーザ定義プロパティ102に記載されていない事象で、ユーザ定義プロパティ102の不足を補うための補集合である。
112は不成立動作プロパティ変換モジュールであり、ユーザ未定義状態の事象104を、常に成立しないとする不成立動作プロパティに変換するものである。この不成立動作変換モジュールの機能とこれが必要である理由は更に後述する。
105は不成立動作プロパティであり、不成立動作プロパティ変換モジュール112により変換されたプロパティである。この不成立動作プロパティ105を使用して静的検証等を実施することにより、ユーザ定義プロパティ102に不足のプロパティを追加することが可能となる。
100は不成立動作プロパティ生成モジュールであり、上述したように、仕様101とユーザ定義プロパティ102とに基づいて不成立動作プロパティ105を生成する。
次に、上述した事象リスト生成モジュール110において、仕様101に基づいて事象リストを生成する方法について説明する。
図2は、本実施形態における事象リスト生成モジュール110が生成する全事象リストの一例を示す図である。図2に示す仕様書201は、上述した仕様101の一例を示すもので、ここでは、信号名、その種別及びそれらが取り得る値が表形式で記載されている。本発明は、仕様の書式に関するものではないので、表形式に限ったものではない。
全事象リスト202は、仕様書201に基づいて抽出されたもので、この例では仕様書201の入力信号及び内部の信号と、それらが取り得る値の範囲が記載されている。
尚、全状態リスト202は、仕様書201から自動的に抽出されても良いし、ユーザが手動で抽出しても良い。本発明は、抽出方法に関するものではないので、仕様101から全ての状態の事象が抽出できれば、如何なる方法を用いてもかまわない。
次に、上述した抽出モジュール111において、全事象のリスト103とユーザ定義プロパティ102とに基づいてユーザ未定義状態の事象104を抽出する方法について説明する。
図3は、本実施形態における抽出モジュール111の処理を示すフローチャートである。まず、ステップS301において、ユーザ定義プロパティ102からプロパティを一つずつ取り出す。次に、ステップS302において、ステップS301で取り出したプロパティと全事象のリスト103とを比較し、ステップS303において、結果が一致したか否かを判定する。その結果、一致したならばステップS305へ進むが、一致しなければステップS304へ進み、一致しなかったものについて差分を抽出し、不足状態リストに追加する。そして、ステップS305において、全事象のリスト103内で一致したもの及び差分を抽出したものに印を付ける。
次に、ステップS306において、ユーザ定義プロパティ102に残りのプロパティがあるか否かを判定する。ここで、残りがあればステップS301に戻り、上述の比較処理を繰り返し、残りがなくなるとステップS307へ進む。
このステップS307では、全事象のリスト103の中に未検査の信号があるかを否かを判定する。ここで、未検査の信号がなければ、この処理を終了するが、未検査の信号があればステップS308へ進み、未検査信号の状態をユーザ未定義状態104のリストに追加する。
ここで、図4を用いて上述した未検査信号の状態をユーザ未定義状態に追加する具体的な処理について説明する。
図4は、ユーザ定義プロパティ、ユーザ未定義状態及び比較後の全事象リストの一例を示す図である。図4において、400は図2に示す仕様書201から生成したユーザ定義プロパティである。この例では、4つのプロパティ401〜404が記載されているものとする。420はユーザ未定義状態のリストであり、ユーザ定義プロパティ400に記載されていない未定義状態の事象が追加される。430は全事象のリストである。
上述したように、ステップS301で、ユーザ定義プロパティ400から取り出されるプロパティは仕様書201からユーザによって生成されたものであり、記載内容に間違いはないが、不足がある恐れはある。本実施形態では、ユーザ定義プロパティ400は信号の範囲及び表で記述されているが、本発明はユーザ定義プロパティの書式に関するものではないので、この書式に限定されるものではない。
次に、ステップS302で、ステップS301で取り出したプロパティが全事象リスト202に一致するものがあるか否かを比較する。例えば、ユーザ定義プロパティ400から信号Aについて記述されているプロパティ401を取り出した場合には、全事象リスト202の信号Aの部分と比較する。
ステップS303では、ステップS302の比較が一致したかどうか、つまり、ユーザ定義プロパティ400の内容が全事象リスト202の内容を満たしているかを判定する。一致しているならば、ユーザ定義プロパティ400は全事象リスト202を網羅しているので、プロパティの不足はない。一方、一致しないならば、ユーザ定義プロパティ400と全事象リスト202の間に差が生じており、ユーザ定義プロパティ400に不足が存在することになる。
また、ユーザ定義プロパティ400は仕様書201に基づいて記述されており、仕様書201の範囲を超えたプロパティが記述されていることはない。従って、ユーザ定義プロパティ400に存在し、全事象リスト202に存在しない信号はないものとして良い。
上述のステップS303で不一致と判定された場合、ステップS304で、ユーザ定義プロパティ400と全事象リスト202との差分を抽出する。例えば、プロパティ401と全事象リスト202とを比較する。ここで、信号Aについての記述に注目すると、プロパティ401ではAが取り得る範囲を0から100までと記述しているが、全事象リスト202では、Aは0から2の32乗−1の範囲を取り得る。つまり、この差分を抽出すると、Aが100より大きく2の32乗−1まではユーザ定義プロパティ400には未記述であることが分かる。よって、この結果をユーザ未定義状態420へ追加する。また同様にして、プロパティ403についてもユーザ未定義状態420に信号aが0の状態を抽出、追加する。
ステップS305では、全事象リスト202の中で判定し終わった信号に印を付ける。図4に示す例では、ユーザ定義プロパティ400が全事象リスト202に記載の信号A、信号B、信号a及び信号bを全て網羅しているため、全事象リスト430のように全てに印を付ける。
尚、ユーザ定義プロパティ400に記述されている信号数が全事象リスト202の信号数を満たしていない場合には、全事象リスト430の中には印が付かない箇所が存在することになり、印の付いていない信号については未抽出の信号であることがわかる。即ち、未抽出の信号を知らせるために、印を付けていくものである。
ステップS306では、ユーザ定義プロパティ400に残りがないか否かを判定する。残りがない場合はそのままステップS307へ進む。また、残りがある場合は残りがなくなるまで、ステップS301からステップS306までの処理を繰り返す。
ステップS307では、全事象リスト430に未検証の信号があるか否かを判定する。つまり、印の付いていない信号がないか否かを判定する。例えば、ユーザ定義プロパティ400と全事象リスト202とを比較した結果、全事象リスト202にあってユーザ定義プロパティ400にない信号名はないため、全事象リスト430のように全て印が付く。これは、全事象リスト202に未検査の信号が存在しないことになる。この場合、全ての信号についての検査が終了したと判定し、全ての処理を終了して良い。
一方、全事象リスト430に印の付いていない信号があった場合には、未検査の信号が存在するため、次の処理に進む。
ステップS308では、ステップS307で未検査の信号があると判定された場合に、全事象リスト202に記載されている状態をそのまま未検査信号の事象として、ユーザ未定義状態リスト420に追加する。このようにすることにより、仕様101の全ての事象についてユーザ未定義状態リスト420に追加することができる。
ここでは、全事象リストにおけるユーザ定義プロパティの不足を補う補集合を、全事象リストとユーザ定義プロパティの比較によって求めたが、補集合を求める方法は本発明に依存するものではなく、如何なる方法でもかまわない。
また、図3及び図4に示す全事象リスト202、ユーザ定義プロパティ400、ユーザ未定義状態420、ここで説明した比較処理、抽出処理、印の付けかた等は本発明に依存するものではなく、如何なる方法でもかまわない。
次に、上述の不成立動作プロパティ変換モジュール112において、ユーザ未定義状態104を不成立動作プロパティ105に変換する処理について説明する。
図5は、不成立動作プロパティ変換モジュール112の処理を示すフローチャートである。まず、ステップS501において、ユーザ未定義状態104から状態を一つずつ取り出し、ステップS502において、ステップS501で取り出した状態を不成立動作プロパティに変換する。次に、ステップS503において、ユーザ未定義状態104に残りがあるか否かを判定し、ユーザ未定義状態104に残りがあればステップS501に戻り、上述の処理を繰り返す。また、残りがなければ、この処理を終了する。
ここで、本実施形態における不成立動作プロパティ105を生成する理由について説明する。ユーザ定義プロパティ102を用いてDUTを検証する場合に、仕様101に記載されている内容の全てがユーザ定義プロパティ102として表現されていなければ、網羅検証が可能とは言えない。
そこで、ユーザ定義プロパティ102は全ての仕様101を表現しており、記述されていない状態は仕様101で取り得る範囲ではないと仮定して、「ユーザ定義プロパティに記述されていない状態は起こりえない」というプロパティを生成する。これが不成立動作プロパティ105である。このプロパティを生成することにより、不成立動作プロパティ105を用いて検証を実施した場合に「起こりえないはずの状態が起こり得る」となれば、それはユーザ定義プロパティ102に不足していたプロパティであることがわかる。
例えば、ツールとしてこのような動作を組み込めば、「記述されていないプロパティの状態がDUT内で起こっているが、プロパティは正しいか?」というようなエラー表示が吐き出され、プロパティの不足又はDUTのバグが発見されることになる。
ここで、図4に示すユーザ未定義状態420及び図6を用いて、不成立動作プロパティ105を生成する方法について説明する。ここでは、不成立動作プロパティ105の生成方法として、「ユーザ未定義状態が常に成り立たない」というプロパティを生成する一例を示すが、不成立動作を生成するならば、この方法に限られるものではない。
図6は、ユーザ未定義状態420が常に成立しない不成立動作プロパティの一例を示す図である。図6において、600はユーザ未定義状態420が成立しないことを証明するためのプロパティである。ここで、プロパティ601、プロパティ602は、共にユーザ未定義状態420に「forever」及び「!」が付けられている。それぞれの意味は以下の通りである。
「forever」==「永遠に」
「!」 ==「否定(起こらない)」
即ち、プロパティ601は、「信号Aが100より大きく、2の32乗―1より小さい値をとることは永遠に起こりえない。」という意味を示し、プロパティ602は「信号aは永遠に0となることはありえない。」という意味を示している。
これにより、「ユーザ未定義状態に記述されている状態は永遠に起こることはない」というプロパティが追加される。静的検証を実施する際に、ユーザ定義プロパティ102に不成立動作プロパティ105を使用することにより、仕様101の取り得る全事象を検証することが可能となる。
ここで、追加した不成立動作プロパティ105を用いて静的検証を実施し、ユーザ定義プロパティ102の不備を指摘する例について説明する。
図7は、不成立動作プロパティを用いて静的検証を実施し、追加プロパティを生成する手順を示す図である。ここで、図7に示す仕様701及びユーザ定義プロパティ702は図1に示す仕様101及びユーザ定義プロパティ102に相当し、不成立動作プロパティ生成モジュール720及び不成立動作プロパティ705は、図1に示す不成立動作プロパティ生成モジュール100及び不成立動作プロパティ105に相当するものである。
図7に示すDUT706は、仕様701に基づいて生成されたVerilog或いはVHDL(VHSIC Hardware Description Language)などのハードウェア記述言語により記述された論理システムの設計データである。これは仕様701から、自動で生成されても、人手で作成されてもかまわない。
静的検証実施モジュール721は、不成立動作プロパティ705とDUT706を用いて静的検証を実施するものである。尚、この静的検証実施モジュール721は、本発明に依存しないため、如何なるツールを用いても、またその他の如何なる方法で実施されてもかまわない。
この静的検証実施モジュール721で検証した結果、フェイルしたプロパティ707及びパスしたプロパティ708のログを取る。ここで、フェイルしたプロパティ707には、不成立動作プロパティ705の中で静的検証がフェイルしたプロパティが記録される。そして、不成立動作プロパティ705がフェイルした状態とは、図1に示したユーザ未定義状態がDUT706内で存在することを意味する。即ち、ユーザが記述していない状態にも関わらず、DUT706でその状態が起こり得るため、ユーザ定義プロパティ702の不備、若しくはDUT706のバグである可能性を含む。
一方、パスしたプロパティ708には、不成立動作プロパティ705の中で静的検証がパスしたプロパティが記録される。そして、不成立動作プロパティ705がパスする状態とは、図1に示したユーザ未定義状態がDUT内には存在しないことを意味する。即ち、元々仕様に記載されていたものではなく、そのような状態は本来あり得ない状態である。そのため、パスしたプロパティ708に記録されたプロパティは、ユーザ定義プロパティ702の不備ではない。しかし、その状態は起こり得ないという確認のために不成立動作プロパティの形のまま追加プロパティ709に記録する。
次に、比較モジュール710は、フェイルしたプロパティ707と仕様701とを比較し、ユーザ定義プロパティ702の不備のものなのか、或いはDUT706のバグによりフェイルしたものなのかを判定する。この比較の方法は、本発明に依存するものではないので、如何なる方法で実施してもかまわない。
プロパティ変換モジュール711は、フェイルしたプロパティ707の中でユーザ定義プロパティ702の不備だと分かったプロパティを、不成立動作から成立するプロパティに変換し、追加プロパティ709へ記録する。これは、不成立動作プロパティ705の、「ユーザ未定義の状態は起こり得ない」という形のままではプロパティとDUT706が矛盾するので、「ユーザ未定義の状態は起こる」というプロパティに変換する必要があるためである。
デバッグ722は、比較モジュール710により仕様701とフェイルしたプロパティ707とを比較した結果、DUT706のバグであると判定したプロパティに対して行う。ここでバグとは、仕様701とDUT706とが矛盾を起こしていることをいう。このデバッグの方法は、本発明に依存するものではないので、如何なる方法で実施してもかまわない。
図8は、静的検証を実施してユーザ定義プロパティの不備を追加する処理を示すフローチャートである。
まず、ステップS801において、不成立動作プロパティ705からプロパティを一つずつ取り出し、ステップS802において、ステップS801で取り出したプロパティとDUT706とを用いて静的検証を実施する。この静的検証の実施方法については本発明に関するものではないので、言及しないこととする。
次に、ステップS803において、ステップS802で実施した静的検証の結果を判定する。ここで、静的検証がパスした場合はステップS807へ進み、フェイルした場合はステップS804へ進む。
このステップS804では、不成立動作プロパティ705を成立動作プロパティに変換する。図6を用いて変換の一例を示す。プロパティ601が、ステップS803において「静的検証がフェイルした」と報告されたならば、
「forever(!(100 < A ≦ 232-1))」
は成立しない、つまり、
「100 < A ≦ 232-1」…P1
がDUT706内で起こってしまっていることになる。
よって、追加プロパティ709へ上記プロパティP1を記録するべきである。そのため、一度不成立動作に変換したプロパティを成立する形に変換する。ここでは、変換の方法を唯単純に「forever」と「!」を取り外すこととしたが、変換の方法は本発明に依存しないので、如何なる方法で変換されてもかまわない。
次に、ステップS805において、ステップS804で変換したプロパティP1を仕様701と比較する。なぜならば、ステップS803において静的検証がフェイルする原因としては単なるプロパティの漏れだけではなく、DUT706のバグにより本来起こってはいけない現象が起こっている可能性があるためである。DUT706のバグを見逃さないためにも、ここで一度仕様701と比較する必要がある。比較の方法は、如何なる方法でもかまわない。
そして、ステップS806において、ステップS805で比較した結果、仕様701とプロパティが一致したか否かを判定する。一致したならばステップS807へ進み、一致しないならばステップS809へ進む。
このステップS807では、ステップS803で静的検証の結果パスしたプロパティであれば、不成立動作のままのプロパティを、ステップS806でプロパティが仕様701と一致していたならば、ステップS804で変換したプロパティを、ステップS806でDUT706のバグが発覚し、DUT706を直した後ならばステップS804で変換したプロパティを追加プロパティ709として記録すればよい。
例えば、ステップS803でパスしたならばプロパティP1を、それ以外の場合はプロパティ601を追加する。
次に、ステップS808において、不成立動作プロパティ705に残りがあるか否かを判定する。残りがあった場合はステップS801へ、残りがない場合はこの処理を終了とする。
また、ステップS809では、ステップS805で比較した結果、ステップS804で生成したプロパティが仕様701と一致しなかったことが分かったので、仕様701とプロパティの情報に基づいてDUT706のバグを取り除く。
次に、ステップS810において、ステップS808で正しくバグを取り除いたことを確認するために、デバッグを実施したDUT706とステップS804で生成したプロパティを使用して静的検証を実施する。このとき、ステップS805において、プロパティと仕様701とは既に比較しているため、ここで静的検証に用いられるプロパティは必ず正しいとしてよい。
そして、ステップS811において、ステップS810の結果を判定する。ステップS810の静的検証の結果がパスしたならばステップS807へ進み、ここで使用したプロパティを追加プロパティ709として記録する。フェイルしたならばステップS809に戻り、同プロパティを使用してDUT706のバグがなくなり静的検証がパスするまで、ステップS809からステップS811までの処理を繰り返す。
以上説明したように、本実施形態によれば、全事象リスト及び不成立動作プロパティを生成することにより、静的検証における網羅率を客観的に判断することが可能となり、従来困難であった静的検証の網羅検証が可能となる。
また、静的検証の網羅性を客観的に判断できるので、従来レビューにかかっていた時間が不要となり、検証工数の削減を図ることが可能となる。加えて、静的検証の網羅検証が可能になることにより、静的検証と動的シミュレーションの検証すべき機能を切り分けることが可能となり、検証工数の削減を図ることが可能になる。
尚、上述した各モジュールは、一般的なコンピュータによって実施されても良く、また専用の機器によって実施されても良い。
本発明は複数の機器(例えば、ホストコンピュータ,インターフェース機器,リーダ,プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用しても良い。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
このプログラムコードを供給するための記録媒体としては、例えばフロッピー(登録商標)ディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
更に、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本実施形態における静的検証に用いる不成立動作プロパティの生成手順を示す図である。 本実施形態における事象リスト生成モジュール110が生成する全事象リストの一例を示す図である。 本実施形態における抽出モジュール111の処理を示すフローチャートである。 ユーザ定義プロパティ、ユーザ未定義状態及び比較後の全事象リストの一例を示す図である。 不成立動作プロパティ変換モジュール112の処理を示すフローチャートである。 ユーザ未定義状態420が常に成立しない不成立動作プロパティの一例を示す図である。 不成立動作プロパティを用いて静的検証を実施し、追加プロパティを生成する手順を示す図である。 静的検証を実施してユーザ定義プロパティの不備を追加する処理を示すフローチャートである。
符号の説明
100 不成立動作プロパティ生成モジュール
101 仕様
102 ユーザ定義プロパティ
103 全事象のリスト
104 ユーザ未定義状態
105 不成立動作プロパティ
110 事象リスト生成モジュール
111 抽出モジュール
112 不成立動作プロパティ変換モジュール
201 仕様書
202 全事象リスト
400 ユーザ定義プロパティ
420 ユーザ未定義状態
430 全事象リスト
600 不成立動作プロパティ
701 仕様
702 ユーザ定義プロパティ
705 不成立動作プロパティ
706 DUT
707 フェイルしたプロパティ
708 パスしたプロパティ
709 追加プロパティ
710 比較モジュール
711 プロパティ変換モジュール
720 不成立動作プロパティ生成モジュール
721 静的検証実施モジュール
722 デバッグ

Claims (11)

  1. 論理システムを検証するためのプロパティを生成するプロパティ生成方法であって、
    論理システムが満たすべき仕様から対応する事象のリストを生成する工程と、
    前記事象のリストに基づいて、前記仕様から作成されたプロパティにおいて不足している事象を補うための補集合のプロパティを生成するプロパティ生成工程とを有することを特徴とするプロパティ生成方法。
  2. 前記プロパティ生成工程は、前記事象のリストから未定義の状態の事象を抽出し、抽出した未定義の状態の事象が成立しないことを表すプロパティを前記補集合のプロパティとして生成することを特徴とする請求項1記載のプロパティ生成方法。
  3. 前記補集合のプロパティを用いて前記論理システムの静的検証を実施する工程と、
    前記静的検証の実施結果に応じて、前記仕様から作成されたプロパティに追加するプロパティを生成する追加プロパティ生成工程とを更に有することを特徴とする請求項1記載のプロパティ生成方法。
  4. 前記追加プロパティ生成工程は、前記補集合のプロパティを追加するプロパティとして生成することを特徴とする請求項3記載のプロパティ生成方法。
  5. 論理システムが満たすべき仕様から作成されたプロパティを用いて前記論理システムを検証する検証方法であって、
    論理システムが満たすべき仕様から対応する事象のリストを生成する工程と、
    前記事象のリストに基づいて、前記仕様から作成されたプロパティにおいて不足している事象を補うための補集合のプロパティを生成するプロパティ生成工程と、
    前記補集合のプロパティを用いて前記論理システムの静的検証を実施する検証実施工程とを有することを特徴とする検証方法。
  6. 前記プロパティ生成工程は、前記事象のリストから未定義の状態の事象を抽出し、抽出した未定義の状態の事象が成立しないことを表すプロパティを前記補集合のプロパティとして生成することを特徴とする請求項5記載の検証方法。
  7. 前記静的検証の実施結果に応じて、前記仕様から作成されたプロパティに追加するプロパティを生成する追加プロパティ生成工程とを更に有することを特徴とする請求項5記載の検証方法。
  8. 論理システムが満たすべき仕様から作成されたプロパティを用いて前記論理システムを検証する検証装置であって、
    論理システムが満たすべき仕様から対応する事象のリストを生成し、当該事象のリストに基づいて、前記仕様から作成されたプロパティにおいて不足している事象を補うための補集合のプロパティを生成するプロパティ生成手段と、
    前記補集合のプロパティを用いて前記論理システムの静的検証を実施する検証実施手段とを有することを特徴とする検証装置。
  9. 請求項1乃至請求項4の何れか一項に記載のプロパティ生成方法をコンピュータに実行させるためのプログラム。
  10. 請求項5乃至請求項7の何れか一項に記載の検証方法をコンピュータに実行させるためのプログラム。
  11. 請求項9又は請求項10記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2005043143A 2005-02-18 2005-02-18 プロパティ生成方法、検証方法及び検証装置 Expired - Fee Related JP4498167B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005043143A JP4498167B2 (ja) 2005-02-18 2005-02-18 プロパティ生成方法、検証方法及び検証装置
US11/354,474 US20060190234A1 (en) 2005-02-18 2006-02-14 Property generating method, verification method and verification apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005043143A JP4498167B2 (ja) 2005-02-18 2005-02-18 プロパティ生成方法、検証方法及び検証装置

Publications (3)

Publication Number Publication Date
JP2006228065A true JP2006228065A (ja) 2006-08-31
JP2006228065A5 JP2006228065A5 (ja) 2008-04-03
JP4498167B2 JP4498167B2 (ja) 2010-07-07

Family

ID=36913900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005043143A Expired - Fee Related JP4498167B2 (ja) 2005-02-18 2005-02-18 プロパティ生成方法、検証方法及び検証装置

Country Status (2)

Country Link
US (1) US20060190234A1 (ja)
JP (1) JP4498167B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009230667A (ja) * 2008-03-25 2009-10-08 Nec Corp プロパティ生成システムおよびプロパティ検証システム
JP2009230677A (ja) * 2008-03-25 2009-10-08 Nec Corp プロパティ生成システムおよびプロパティ検証システム
JP2010102650A (ja) * 2008-10-27 2010-05-06 Fujitsu Ltd モデル検査実施のための環境生成支援装置、環境生成支援方法、環境生成支援プログラム
JP2010282257A (ja) * 2009-06-02 2010-12-16 Fujitsu Ltd プロパティ修正プログラム、プロパティ修正装置、およびプロパティ修正方法
JP2011003109A (ja) * 2009-06-22 2011-01-06 Fujitsu Ltd モデル検査プログラム、モデル検査方法、モデル検査装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100235803A1 (en) * 2009-03-16 2010-09-16 Lara Gramark Method and Apparatus for Automatically Connecting Component Interfaces in a Model Description
JP2011186817A (ja) * 2010-03-09 2011-09-22 Toshiba Corp 論理検証装置及び論理検証方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1185828A (ja) * 1997-09-11 1999-03-30 Toshiba Corp 順序回路機能検証方法および順序回路機能検証システム
JP2000181939A (ja) * 1998-12-17 2000-06-30 Fujitsu Ltd 論理装置の検証方法、検証装置及び記録媒体
JP2001318959A (ja) * 2000-05-11 2001-11-16 Fujitsu Ltd 論理回路検証装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5633813A (en) * 1994-05-04 1997-05-27 Srinivasan; Seshan R. Apparatus and method for automatic test generation and fault simulation of electronic circuits, based on programmable logic circuits
US5913023A (en) * 1997-06-30 1999-06-15 Siemens Corporate Research, Inc. Method for automated generation of tests for software
US5999717A (en) * 1997-12-31 1999-12-07 Motorola, Inc. Method for performing model checking in integrated circuit design
US7272752B2 (en) * 2001-09-05 2007-09-18 International Business Machines Corporation Method and system for integrating test coverage measurements with model based test generation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1185828A (ja) * 1997-09-11 1999-03-30 Toshiba Corp 順序回路機能検証方法および順序回路機能検証システム
JP2000181939A (ja) * 1998-12-17 2000-06-30 Fujitsu Ltd 論理装置の検証方法、検証装置及び記録媒体
JP2001318959A (ja) * 2000-05-11 2001-11-16 Fujitsu Ltd 論理回路検証装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009230667A (ja) * 2008-03-25 2009-10-08 Nec Corp プロパティ生成システムおよびプロパティ検証システム
JP2009230677A (ja) * 2008-03-25 2009-10-08 Nec Corp プロパティ生成システムおよびプロパティ検証システム
JP2010102650A (ja) * 2008-10-27 2010-05-06 Fujitsu Ltd モデル検査実施のための環境生成支援装置、環境生成支援方法、環境生成支援プログラム
JP2010282257A (ja) * 2009-06-02 2010-12-16 Fujitsu Ltd プロパティ修正プログラム、プロパティ修正装置、およびプロパティ修正方法
JP2011003109A (ja) * 2009-06-22 2011-01-06 Fujitsu Ltd モデル検査プログラム、モデル検査方法、モデル検査装置

Also Published As

Publication number Publication date
JP4498167B2 (ja) 2010-07-07
US20060190234A1 (en) 2006-08-24

Similar Documents

Publication Publication Date Title
JP4498167B2 (ja) プロパティ生成方法、検証方法及び検証装置
JP4255079B2 (ja) アサーション生成システムと回路検証システムおよびプログラムならびにアサーション生成方法
US7596731B1 (en) Test time reduction algorithm
JP4946651B2 (ja) 仕様検証プログラム、該プログラムを記録したコンピュータに読み取り可能な記録媒体、仕様検証装置、および仕様検証方法
JP2005004762A (ja) スマートカードテストシステム及び関連方法
US20200125778A1 (en) Hard error simulation and usage thereof
US7823101B2 (en) Device, method, and storage for verification scenario generation, and verification device
CN115952758A (zh) 芯片验证方法、装置、电子设备及存储介质
JP2007034833A (ja) 機能検証記述生成装置,機能検証記述生成方法,及び機能検証記述生成プログラム
JP2006309576A (ja) 論理システムの検証装置及び検証方法、記憶媒体及びコンピュータプログラム
CN101763453B (zh) 规范化ip核评测方法和系统
JP5259082B2 (ja) 一致検証方法及び装置
US20120209583A1 (en) Computer product, verification support apparatus, and verification support method
JP2009252167A (ja) テスト項目生成装置、テスト項目生成システム、テスト項目生成方法、およびテスト項目生成プログラム
US20200320241A1 (en) Method of Detecting a Circuit Malfunction and Related Device
Ranjan et al. Beyond verification: Leveraging formal for debugging
Safarpour et al. Failure triage: The neglected debugging problem
EP3553681A1 (en) Method and apparatus for error test coverage determination for a circuit by simulation
JP2007328447A (ja) ソフトウェア試験項目選択装置、ソフトウェア試験項目選択プログラム、ソフトウェア試験項目選択プログラムが格納された記憶媒体およびソフトウェア試験項目選択方法
US7210111B1 (en) Systems and methods for conducting future signal checks
JP5799589B2 (ja) 検証方法及び検証プログラム
JP2000305977A (ja) 論理データの検証方法、該論理検証方法を実行する論理検証システム及び前記論理検証方法を実行するプログラムを記憶した記録媒体
JP2007286871A (ja) テストケース抽出装置、テストケース抽出プログラム、テストケース抽出プログラムが格納された記憶媒体およびテストケース抽出方法
JP2001155043A (ja) 論理シミュレーションにおけるタイミングチェック方法およびタイミングチェック方法を記録した記録媒体
US20100115480A1 (en) Logic circuit design verification apparatus, logic circuit design verification method , and medium storing logic circuit design verification program

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080215

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100309

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: 20100402

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: 20100413

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

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees