説明

論理検証方法

【課題】本発明の課題は、検証プロパティと波形とを連動させて、一方を部分的に選択すると対応する他方の部分が視覚的に判別可能な様に表示する論理検証方法を提供すことを目的とする。
【解決手段】上記課題は、検証プロパティに基づいて状態機械を用いて論理検証処理を行う論理検証方法であって、コンピュータに、前記論理検証処理による論理検証結果に基づいて生成された波形を表示する波形表示手順と、前記検証プロパティを表示するプロパティ表示手順とを実行させ、操作入力に応じて前記波形表示手順と前記プロパティ表示手順とを制御する表示制御手順と、前記表示制御手順は、前記波形表示手順によって表示された前記波形上への前記操作入力に応じて、該操作入力によって選択された波形部分に連動させて該波形部分に対応する前記検証プロパティの記述部分を他記述部分と異なる表示方法で前記プロパティ表示手順に表示させることを特徴とする論理検証方法により達成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、論理回路などの論理検証によって発見される検証プロパティ違反を波形上で解析する際に解析を容易化する論理検証方法に関する。
【背景技術】
【0002】
従来より、論理回路などを設計する際には、設計対象の機能やタイミングなどが仕様を満たしているか否かを検証する論理検証と呼ばれる作業が行われている。論理検証では仕様を満たしているか否かを確認するために検証プロパティを作成し、検証プロパティを満たしているか否かをチェックするためのチェッカを組み込んだ環境で検証を行っている。一般に、検証プロパティ違反が発見された場合は波形を見ることで違反の原因を解析する手法が取られている。しかしながら、波形から違反の原因を特定するためには、経験と知識を要し容易に原因を特定できるものではなかった。
【0003】
そこで、波形を用いた解析を容易とするために、検証結果に基づいてエラーメッセージ80を表示すると共に、注釈情報付き波形データに格納されている信号値の期待値に基づいて、期待される信号波形が実際の波形に重ねて表示し、注釈情報付き波形データに格納されているイベントの情報に基づいて、イベントの論理的関係を示す矢印記号を表示することが提案されている(例えば、特許文献1参照。)。
【特許文献1】特開2004−326550号公報(第8図)
【特許文献2】特開2003−216683号公報
【特許文献3】特開2001−209668号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上記従来の論理検証方法では、ユーザは検証プロパティの記述と波形との対応に関する知識を要し、検証プロパティを頭の中に記憶しておいて表示装置に表示された波形との対応で解析を行う必要があった。検証プロパティが複雑な場合、また、信号線が多い場合では、検証プロパティと違反波形との対応関係を頭の中で構築することは困難な場合があり、また解析の際に間違いを生じやすい。
【0005】
よって、本発明の目的は、検証プロパティと波形とを連動させて、一方を部分的に選択すると対応する他方の部分が視覚的に判別可能なように表示する論理検証方法を提供することである。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明は、検証プロパティに基づいて状態機械を用いて論理検証処理を行う論理検証方法であって、コンピュータに、前記論理検証処理による論理検証結果に基づいて生成された波形を表示する波形表示手順と、前記検証プロパティを表示するプロパティ表示手順と、操作入力に応じて前記波形表示手順と前記プロパティ表示手順とを制御する表示制御手順とを実行させ、前記表示制御手順は、前記波形表示手順によって表示された前記波形上への前記操作入力に応じて、該操作入力によって選択された波形部分に連動させて該波形部分に対応する前記検証プロパティの記述部分を他記述部分と異なる表示方法で前記プロパティ表示手順に表示させるように構成される。
【0007】
また、本発明は、検証プロパティに基づいて状態機械を用いて論理検証処理を行う論理検証方法であって、コンピュータに、前記論理検証処理を実行して波形データを生成し、該状態機械によって示される前提条件状態となる範囲を該波形データに設定する論理検証実行手順と、前記波形データに基づいて生成された波形を表示する波形表示手順と、操作入力に応じて前記前提条件状態となる範囲を他範囲と異なる表示方法で前記波形を表示させるように前記波形表示手順を制御する表示制御手順とを実行させるように構成される。
【0008】
更に、本発明は、検証プロパティに基づいて状態機械を用いて論理検証処理を行う論理検証方法であって、コンピュータに、前記論理検証処理を実行して波形データを生成し、該状態機械によって示される違反発生状態に対応する部分を波形データに設定する論理検証実行手順と、前記波形データに基づいて波形を表示すると共に、前記違反発生状態を示す情報を該違反発生状態に対応する部分に表示する波形表示手順とを実行させ、前記論理検証実行手順は、同じ原因による前記違反発生状態が複数回検出される場合、所定回数に対応する部分を波形データに設定するように構成される。
【0009】
上記課題を解決するための手段として、本発明は、上記手順をコンピュータに実行させるためのプログラム、そのプログラムを記憶したコンピュータ読み取り可能な記憶媒体、及び、該プログラムによって上記手順を実行する論理検証装置とすることもできる。
【発明の効果】
【0010】
本願発明は、検証プロパティと波形とを連動させて表示し、一方を部分的に選択すると対応する他方の部分が視覚的に容易に判別可能なようにし、検証プロパティと違反波形との対応関係を容易とすることによって、検証プロパティ違反の解析を容易に正確に行なうことができる。
【発明を実施するための最良の形態】
【0011】
以下、本発明の実施の形態を図面に基づいて説明する。
【0012】
本発明に係る論理検証方法を実現する論理検証装置は、コンピュータ装置であって、図1に示すようなハードウェア構成を有する。図1は、本発明の一実施例に係る論理検証装置のハードウェア構成を示す図である。
【0013】
図1において、論理検証装置100は、コンピュータによって制御される装置であって、CPU(Central Processing Unit)11と、メモリユニット12と、表示ユニット13と、入力ユニット15と、記憶装置17と、ドライバ18とで構成され、システムバスBに接続される。
【0014】
CPU11は、メモリユニット12に格納されたプログラムに従って論理検証装置100を制御する。メモリユニット12は、RAM(Random Access Memory)及びROM(Read-Only Memory)等にて構成され、CPU11にて実行されるプログラム、CPU11での処理に必要なデータ、CPU11での処理にて得られたデータ等を格納する。また、メモリユニット12の一部の領域が、CPU11での処理に利用されるワークエリアとして割り付けられている。
【0015】
表示ユニット13は、CPU11の制御のもとに必要な各種情報を表示する。入力ユニット15は、マウス、キーボード等を有し、利用者が論理検証装置100が処理を行なうための必要な各種情報を入力するために用いられる。
【0016】
記憶装置17は、例えば、ハードディスクユニットにて構成され、各種処理を実行するプログラム等のデータを格納する。
【0017】
論理検証装置100によって行われる論理検証方法での処理を実現するプログラムは、例えば、CD−ROM(Compact Disk Read-Only Memory)等の記憶媒体19によって論理検証装置100に提供される。即ち、プログラムが保存された記憶媒体19がドライバ18にセットされると、ドライバ18が記憶媒体19からプログラムを読み出し、その読み出されたプログラムがシステムバスBを介して記憶装置17にインストールされる。そして、プログラムが起動されると、記憶装置17にインストールされたプログラムに従ってCPU11がその処理を開始する。
【0018】
尚、プログラムを格納する媒体としてCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。論理検証装置100が外部とのネットワーク通信を行う通信ユニットを有する場合には、本発明に係る処理を実現するプログラムを通信ユニットによってネットワークを介してダウンロードし、記憶装置17にインストールするようにしても良い。また、論理検証装置100が外部記憶装置との接続を行うUSB(Universal Serial Bus)等のインタフェースを有する場合には、USB接続によって外部記憶媒体からプログラムを読み込んでもよい。
【0019】
論理検証装置100のCPU11によって実行される論理検証処理について図2で説明する。図2は、論理検証処理の概要を説明するための図である。図2において、論理検証装置100は、CPU11が検証プロパティ102に基づくシミュレーションを行うことによって論理検証を行う論理検証処理部101を備えている。
【0020】
論理検証処理部101は、プロパティ入力部108と、プロパティ表示部110と、状態機械生成部112と、論理検証実行部115と、波形表示部118と、表示操作入力部119とを有する。論理検証処理部101において生成される情報は、メモリユニット12又は記憶装置17の記憶領域に格納される。
【0021】
プロパティ入力部108は、検証プロパティ102を論理検証処理部101に入力して、検証プロパティ102から構文木109を生成して記憶領域に格納する。検証プロパティ102は、外部記憶装置又は論理検証装置100内の記憶装置に格納されプロパティ入力部108によって論理検証処理部101に読み込まれる。
【0022】
状態機械生成部112は、検証プロパティ102を検証するために、構文木109を用いて検証プロパティ102に従った状態遷移を示す状態機械113を生成する。また、状態機械生成部112は、構文木109の各要素と状態機械113の各要素との対応関係を示す構文木−状態機械対応情報114を生成して記憶領域に格納する。
【0023】
論理検証実行部115は、検証対象となるモジュールソースを示す検証対象データ103と設定ファイルなどの検証環境データ104とを読み込み、検証対象データ103と検証環境データ104と状態機械113とを用いてモジュールソースに対して論理検証を行う。そして、論理検証実行部115は、論理検証結果に基づいて波形データ116を生成する。論理検証実行部115による論理検証によって違反が検出された場合、波形データ116には違反のデータが含まれる。
【0024】
検証対象データ103とは、例えば、回路の動作をクロックに基づくレジスタ間の信号転送で記述したRTL(Register Transfer Level)などである。検証環境データ104とは、例えば、テストベンチなどである。
【0025】
また、論理検証実行部115は、状態機械113の各要素と波形データ116の各要素との対応関係を示す状態機械−波形対応情報117を生成する。波形表示部118は、生成された波形データ116に基づく波形表示106を表示ユニット13に表示する。
【0026】
ユーザが波形表示106上で波形の一部又は全部を選択すると、ユーザによる入力ユニット15を用いた表示操作107が表示操作入力部119に伝えられる。表示操作入力部119は、ユーザによる表示操作107に応じて、構文木−状態機械対応情報114と状態機械−波形対応情報117とを用いて、構文木109のうち波形表示106上での選択に対応する部分に関する情報としてプロパティ表示付加情報120を生成する。
【0027】
プロパティ表示部110は、プロパティ−構文木対応情報111とプロパティ表示付加情報120とに基づいて、プロパティ表示105上で表示操作107に対応する部分を他の部分と区別できるように表示する。例えば、プロパティ表示部110は、表示操作107に対応する部分を他の部分とは異なる色、異なる文字の形状(太さ、文字スタイルなど)等によって強調して、プロパティ表示105を表示ユニットに表示する。
【0028】
ユーザがプロパティ表示105上で検証プロパティの記述の一部又は全部を選択すると、表示操作入力部119に表示操作107が伝えられる。表示操作入力部119は、ユーザによる表示操作107に応じて、構文木−状態機械対応情報114と状態機械−波形対応情報117とを用いて、波形データ116のうちプロパティ表示105上での選択に対応する部分に関する情報として波形表示付加情報121を生成する。
【0029】
波形表示部118は、波形表示付加情報121に基づいて、波形表示106上で表示操作107に対応する部分を他の部分と区別できるように表示する。例えば、波形表示部118は、表示操作107に対応する部分を他の部分とは異なる色、異なる線の形状(太さ、線の種類など)等によって強調して、波形表示106を表示ユニットに表示する。
【0030】
図3は、表示操作に応じてプロパティ表示と波形表示とが連動する表示例を示す図である。図3において、ユーザがプロパティ表示201又は波形表示202の一方を部分的に選択すると、選択部分と連動部分とが強調して表示される。
【0031】
例えば、ユーザがプロパティ表示201の検証プロパティの記述の一部分となる記述「b」をマウスなどで選択すると、プロパティ表示部110は、プロパティ表示201上の表示操作107に応じて記述「b」を強調的に表示し、表示操作入力部119は、プロパティ−構文木対応情報111を用いてプロパティ表示201の記述「b」に対応する構文木109の要素「b」を取得して、更に、構文木−状態機械対応情報114を用いて構文木109の要素「b」に対応する状態機械113における要素「b」が成り立つ時の状態データを取得し、状態機械−波形対応情報117を用いてこの状態に対応する波形データのうちのプロパティ表示201の記述「b」の部分に関する波形表示付加情報121を生成する。
【0032】
従って、波形表示202では、波形表示付加情報121に基づいて波形表示部118によって連動箇所に強調表示204が成される。
【0033】
一方、ユーザが波形表示202の検証プロパティの記述の一部分をマウスなどで選択すると、波形表示部118は、波形表示202上の表示操作107に応じて波形部分を強調的に表示し、表示操作入力部119は、状態機械−波形対応情報117を用いて波形表示202上のユーザによって選択された波形部分に対応する状態を取得し、更に、構文木−状態機械対応情報114を用いて取得した状態に対応する構文木109の要素「b」を取得し、選択された波形部分に対応する情報として構文木109の要素「b」を示す情報を含むプロパティ表示付加情報120を生成する。
【0034】
従って、プロパティ表示201では、プロパティ表示付加情報120に基づいてプロパティ表示部110によって連動箇所に強調表示203が成される。
【0035】
プロパティ−構文木対応情報111と、構文木−状態機械対応情報114と、状態機械−波形対応情報117とによる対応関係について図4で説明する。図4は、プロパティ内の記述と波形表示とを連動させるための対応関係の例を示す図である。図4において、検証プロパティ301の記述を例にして対応関係を説明する。
【0036】
検証プロパティ301は、{〜a;a}によって「aがゼロの時1サイクル経過後にaを1にする」ことを前提条件として記述し、「aがゼロから1」が成立したら、{b;c}によって「bが1になった1サイクル後にcが1になる」ことを事後条件として記述している。
【0037】
構文木302は、クロックに応じて変化する検証プロパティ301の要素「〜a」、「a」、「b」及び「c」を末端の要素302−1、302−2、302−3及び302−4として生成される。要素302−1及び302−2は、前提条件として分木する要素である。要素302−3及び302−4は、事後条件として分木する要素である。
【0038】
状態機能303は、初期状態S0、構文木302の要素302−1、302−2、303−3及び304−4が成立する順に状態S1、S2、S3及びS4、構文木302に含まれないエラー状態S9を含むように生成される。
【0039】
波形データ304は、基準となるクロックclkの波形と、論理検証実行部115によって生成される信号a、b及びcがとる値と、検証プロパティ301を示すP1の状態とによって生成される。
【0040】
プロパティ−構文木対応情報111は、検証プロパティ301の要素「〜a」、「a」、「b」及び「c」と構文木302の要素302−1、302−2、302−3及び302−4とを互いに対応付けした情報である。
【0041】
構文木−状態機械対応情報114は、構文木302の要素302−1、302−2、302−3及び302−4と状態機械303の状態S1、S2、S3及びS4とを互いに対応付けした情報である。この場合、構文木−状態機械対応情報114では、初期状態S0及びエラー状態S9の構文木302への対応付けはない。
【0042】
状態機械−波形対応情報117は、生成された波形データ304のクロックclkのサイクルに従った信号a、b及びcの波形と状態機械303の状態S1、S2、S3及びS9とを互いに対応付けした情報である。状態機械−波形対応情報117による対応付けは、生成された波形データ304のクロックclkのサイクルに従った信号a、b及びcの波形によって変化する。ここでは、検証プロパティ違反があった場合を例示しているため、エラー状態S9が波形データ304の一部に対応付けられている。検証プロパティ違反がない場合、このような対応付けはない。
【0043】
例えば、波形データ302は、サイクル0、1、2、3・・・のサイクル毎に信号a、b及びcの値と、検証プロパティ301示すP1の状態値とを記憶している波形テキストファイルなどである。サイクル0、1、2、3・・・に対して状態機械303の状態S1、S2、S3、S4及びS9を対応付けることによって状態機械−波形対応情報117を生成できる。
【0044】
状態機械303のエラー状態S9が波形データ304と対応付けられた場合は、状態機械303のエラー状態S9と構文木302の要素への対応は、波形テキストファイルを参照して、エラー状態S9となる直前(1サイクル前)の状態S3から辿るようにすればよい。
【0045】
次に、検証プロパティの条件記述に対応させて表示する方法について図5、図6及び図7で説明する。
【0046】
図5は、検証プロパティの条件記述に応じた波形表示例を示す図である。図5に示すプロパティ表示401において、検証プロパティを示すP1によって、前提条件が実行されていることを示す前提条件範囲402で「pre」と示され、事後条件が実行されていることを示す事後条件範囲403で「post」と示され、違反が発生していることを示す違反発生範囲で「fire」と示されている。
【0047】
また、前提条件範囲402と事後条件範囲403とが容易に区別できるように、それ以外の範囲とは異なる背景色で強調表示する。更に、前提条件範囲402が視覚的に判断できるように、検証プロパティの状態を示すP1、クロックclk、信号「a」、「b」及び「c」において同じ背景色で前提条件範囲402であることを示し、その背景色とは別の背景色で事後条件範囲402であることを示す。
【0048】
図6は、図5に示す表示方法においてプロパティ表示と波形表示とが連動して表示される表示例を示す図である。図6において、図5に示す波形表示401と、プロパティ表示501とが同時に表示され、かつ、プロパティ表示501の検証プロパティの記述のうち波形表示401の前提条件範囲402に対応する記述部分を示す前提条件502が波形表示401の前提条件範囲402と同じ背景色で強調表示され、プロパティ表示501の検証プロパティの記述のうち波形表示401の事後条件範囲402に対応する記述部分を示す事後条件502が波形表示401の事後条件範囲402と同じ背景色で強調表示される。
【0049】
図7は、強調表示をプロパティ表示と波形表示とで連動させるための対応関係の例を示す図である。図7において、検証プロパティ601の記述は、図4に示す検証プロパティ301の記述と同様である。
【0050】
プロパティ−構文木対応情報111−2は、検証プロパティ601の前提条件「〜a;a」の記述部分を示す前提条件605と構文木602の前提条件「〜a;a」の要素607−1及び607−2を含む分木部分を示す前提条件部分607とを対応けし、検証プロパティ601の事後条件「b;c」の記述部分を示す事後条件606と構文木602の前提条件の要素608−1及び608−2を含む分木部分を示す事後条件部分608とを対応けした情報である。
【0051】
構文木602を生成する際に、プロパティ入力部108(図1)は、検証プロパティ601の記述形式に従って、前提条件605の記述部分に関して<pre>の分木の配下に前提条件605の各要素「〜a」及び「a」を生成し、事後条件606の記述部分に関して<post>の分木の配下に事後条件606の各要素「b」及び「c」を生成する。従って、<pre>の分木配下の前提条件605の要素「〜a」及び「a」までを前提条件部分607と認識し、<post>の分木配下の事後条件606の要素「b」及び「c」までを事後条件部分608と認識することによって、プロパティ−構文木対応情報111−2を生成することができる。
【0052】
構文木−状態機械対応情報114−2は、構文木602の前提条件部分607と状態機械603の前提条件状態609とを対応付けし、構文木602の事後条件部分608と状態機械603の前提条件状態610とを対応付けした情報である。状態機械603の前提条件状態609には、構文木602の前提条件部分607における末端の要素607−1及び607−2が各々成立した場合の状態S1及びS2を含む状態部分である。同様に、状態機械603の事後条件状態610には、構文木602の事後条件部分608における末端の要素608−1及び608−2が各々成立した場合の状態S3及びS4を含む状態部分である。この場合、構文木−状態機械対応情報114−2では、初期状態S0及び違反発生状態611の構文木602への対応付けはない。
【0053】
状態機械−波形対応情報117−2は、状態機械603の前提条件状態609と波形データ604の前提条件範囲612とを対応付けし、状態機械603の事後条件状態610と波形データ604の事後条件範囲613とを対応付けし、状態機械603の違反発生状態611と波形データ604の違反発生範囲614とを対応付けした情報である。ここでは、検証プロパティ違反があった場合を例示しているため、違反発生状態611が波形データ304の違反発生範囲613に対応付けられている。検証プロパティ違反がない場合、このような対応付けはない。
【0054】
例えば、状態機械−波形対応情報117−2において、クロックclkのサイクル1から3までを前提条件範囲612、クロックclkのサイクル3から4までを事後条件範囲613、クロックclkのサイクル4から5までを違反発生範囲614と定義し、そして、上述したように状態機械603と波形データ604とを対応づければよい。
【0055】
このように、前提条件、事後条件、違反発生を示す、論理検証によって検証プロパティ601が取り得る状態毎に対応付けされることによって、状態に対応させて波形表示401とプロパティ表示501とを連動させることができる。また、対応付けに従って前提条件及び事後条件に相当する箇所を波形表示401とプロパティ表示501との間で容易に識別可能な表示とすることができる。
【0056】
異なる状態遷移を経て検証プロパティ違反が発生し、同じ遷移経路による検証プロパティ違反が複数回発生する場合には、別の遷移経路による検証プロパティ違反が紛れ込んでしまい、検証し難い場合がある。
【0057】
このような場合には、論理検証実行部115が検証プロパティ違反への遷移経路毎にカウントしておき、カウンタが1(初回)を示す場合又は所定値以上を示す場合に、検証プロパティ違反を示すように波形データを生成する。つまり、カウンタが2以上を示す場合、検証プロパティ違反を示さないようにする。このような検証プロパティ違反の表示を間引く例について図8から図11で説明する。
【0058】
図8は、検証プロパティ違反が異なる状態遷移を経て発生する場合の対応関係の例を示す図である。図8中、プロパティ−構文木対応情報111及び構文木−状態機械対応情報114による対応関係は省略し、便宜的に検証プロパティ701と状態機械702との対応関係のみが示される。
【0059】
図8において、検証プロパティ701は、前提条件として第一条件703又は第二条件704が成り立った場合、1サイクル後に事後条件705が行われる例を示している。例えば、検証プロパティ701は、信号aがオン又は信号bがオンとなったら、1サイクル後に信号cがオンとなることを示している。
【0060】
検証プロパティ701に対応付けられる状態機械702では、初期状態S0から検証プロパティ701の第一条件703に対応する第一条件状態706(状態S1)と、検証プロパティ701の第一条件704に対応する第二条件状態707(状態S3)とに分木する。
【0061】
第一条件状態706(状態S1)からは、検証プロパティ701の事後条件705に対応する事後条件状態708へと遷移する。また、第二条件状態707(状態S3)からは、検証プロパティ違反となる違反発生状態705へと遷移する。
【0062】
検証プロパティに従った論理検証において、論理検証実行部115が検証プロパティ違反の表示を間引く処理をしなかった場合、例えば、図9に示すような波形データ801が生成される。図9は、検証プロパティ違反の表示を間引く処理がなされなかった場合の波形データの例を示す図である。
【0063】
図9に示す波形データ801では、同じ遷移経路による検証プロパティ違反802が複数回発生し、その中に別の遷移経路による検証プロパティ違反803が発生している状態を示している。このような波形データ801では、一見して検証プロパティ違反803を識別することができない。
【0064】
論理検証実行部115は、図8に示す状態機械702に基づいて、違反発生状態709に遷移する直前の状態を抽出し、抽出した直前の状態に対応させてカウンタ値を記録するために、図10に示すような遷移経路別カウンタを備えるようにする。図10は、遷移経路別カウンタの例を示す図である。
【0065】
図10に示すように、図8に示す状態機械702に基づいて、違反発生状態709に遷移する直前の状態として、第一条件状態706となる状態S1と、第二条件状態707となる状態S3とが抽出され、遷移経路別カウンタ90に記録される。論理検証実行部115は、違反発生状態709となる状態S4に遷移する度に、直前の状態を確認し、遷移経路別カウンタ90の対応する状態のカウンタ値を1加算する。加算されたカウンタ値が1を示す場合のみ、論理検証実行部115は、波形データに記録する。
【0066】
このようにして、図11に示す波形データ901が生成される。図11は、検証プロパティ違反の表示を間引いた処理がなされた場合の波形データの例を示す図である。図11に示す波形データ901において、図9に示す同じ検証プロパティ違反には同一の符号を伏してある。波形データ901に基づいて波形表示された場合には、初回に発生した検証プロパティ違反802及び803のみが示される。
【0067】
上述したように、本発明では、検証プロパティに基づいて状態機械を用いて行われた論理検証結果によって表示される波形表示上で、ユーザが波形表示上の所望の波形部分を選択すると、選択された波形部分に連動させてその選択された波形部分に対応する検証プロパティの記述の一部分が視覚的に他記述部分と区別できるように表示することができる。
【0068】
また、ユーザがプロパティ表示上で検証プロパティの記述を部分的に選択すると、選択された検証プロパティの記述部分と連動して、その選択された検証プロパティの記述部分に対応する波形部分が視覚的に他波形部分と区別できるように表示することができる。
【0069】
このように波形表示とプロパティ表示との間でユーザによって選択された部分に対応させて視覚的に他部分と区別できるように表示されることにより、ユーザは、波形に対応する記述をユーザ自身の経験及び知識に依存することなく、検証プロパティ違反が発生した原因を容易に解析することができる。
【0070】
また、本発明では、検証プロパティに基づいて状態機械を用いて行われた論理検証によって検証プロパティ違反が検出されると、違反が検出された検証プロパティの前提条件に対応する波形部分が波形表示上で他と区別できるように表示することができる。従って、ユーザは、検証プロパティの前提条件となる波形部分を容易に把握することができるため、検証プロパティ違反の解析をより正確に行うことができる。
【0071】
更に、検証プロパティに基づいて状態機械を用いて行われた論理検証によって検証プロパティ違反が検出されると、違反が検出された検証プロパティの前提条件の記述とその記述に対応する波形部分とが連動してプロパティ表示上及び波形表示上とで他と区別できるように表示することができる。従って、ユーザは、検証プロパティの前提条件と違反波形との対応関係を容易に把握することができ、ユーザ自身で対応関係を考察する必要がないため、検証プロパティ違反の解析をより効率的かつ正確に行うことができる。
【0072】
また、本発明では、検証プロパティに基づいて状態機械を用いて行われた論理検証によって検証プロパティ違反が検出されると、違反の原因が同じものについては波形表示上に複数の検証プロパティ違反を示す情報を表示しないようにすることができる。従って、ユーザは、同じ原因の検証プロパティ違反を何度も解析する必要がなく、効率的に検証プロパティ違反の解析を行うことができる。
【0073】
更に、同じ原因の検証プロパティ違反のうち初回に検出された違反を波形表示上に表示させることによって、ユーザは、大量の同じ原因による検証プロパティ違反の検出の中に埋もれている重大な検証プロパティ違反を見逃さないようにすることができる。
【0074】
以上の説明に関し、更に以下の項を開示する。
(付記1)
検証プロパティに基づいて状態機械を用いて論理検証処理を行う論理検証方法であって、コンピュータに、
前記論理検証処理による論理検証結果に基づいて生成された波形を表示する波形表示手順と、
前記検証プロパティを表示するプロパティ表示手順と、
操作入力に応じて前記波形表示手順と前記プロパティ表示手順とを制御する表示制御手順とを実行させ、
前記表示制御手順は、前記波形表示手順によって表示された前記波形上への前記操作入力に応じて、該操作入力によって選択された波形部分に連動させて該波形部分に対応する前記検証プロパティの記述部分を他記述部分と異なる表示方法で前記プロパティ表示手順に表示させることを特徴とする論理検証方法。
(付記2)
前記表示制御手順は、前記プロパティ表示手順によって表示された前記検証プロパティ上への前記操作入力に応じて、該操作入力によって選択された前記検証プロパティの記述部分に連動させて該記述部分に対応する前記波形表示手順によって表示された前記波形上の波形部分を他波形部分と異なる表示方法で前記プロパティ表示手順に表示させることを特徴とする付記1記載の論理検証方法。
(付記3)
前記表示制御手順は、
前記検証プロパティに基づいて生成された構文木の要素と該構文木に基づいて生成された状態機械によって示される前記検証プロパティの実行過程で遷移する状態との対応関係を示す構文木−状態機械対応情報と、前記状態機械の状態と前記生成された波形の波形状態との対応関係を示す状態機械−波形対応情報とを用いて、前記操作入力に応じて前記波形部分と前記記述部分とを関連づけて連動させることを特徴とする付記1又は2記載の論理検証方法。
(付記4)
前記プロパティ表示手順は、
前記検証プロパティの要素と該検証プロパティに基づいて生成された構文木の要素との対応関係を示すプロパティ−構文木対応情報を用いて、前記検証プロパティの前記記述部分と他記述部分とを区別して表示することを特徴とする付記1乃至3のいずれか一項記載の論理検証方法。
(付記5)
検証プロパティに基づいて状態機械を用いて論理検証処理を行う論理検証方法であって、コンピュータに、
前記論理検証処理を実行して波形データを生成し、該状態機械によって示される前提条件状態となる範囲を該波形データに設定する論理検証実行手順と、
前記波形データに基づいて生成された波形を表示する波形表示手順と、
操作入力に応じて前記前提条件状態となる範囲を他範囲と異なる表示方法で前記波形を表示させるように前記波形表示手順を制御する表示制御手順とを実行させることを特徴とする論理検証方法。
(付記6)
前記検証プロパティを表示するプロパティ表示手順とを実行させ、
前記表示制御手順は、前記波形表示手順によって表示された前記前提条件状態となる範囲に対応する前記検証プロパティの前提条件の記述部分を他記述部分と異なる表示方法で前記プロパティ表示手順に表示させることを特徴とする付記5記載の論理検証方法。
(付記7)
前記論理検証実行手順は、前記状態機械によって示される事後条件状態となる範囲を前記波形データに設定し、
前記表示制御手順は、前記事後条件状態となる範囲を他範囲と異なる表示方法で前記波形を表示させるように前記波形表示手順を制御することを特徴とする付記5又は6記載の論理検証方法。
(付記8)
前記表示制御手順は、前記波形表示手順によって表示された前記事後条件状態となる範囲に対応する前記検証プロパティの事後条件の記述部分を他記述部分と異なる表示方法で前記プロパティ表示手順に表示させることを特徴とする付記7記載の論理検証方法。
(付記9)
前記論理検証実行手順は、前記状態機械によって示される違反発生状態となる範囲を前記波形データに設定し、
前記表示制御手順は、違反発生を示す情報を示すように前記波形表示手順を制御することを特徴とする付記5乃至8のいずれか一項記載の論理検証方法。
(付記10)
検証プロパティに基づいて状態機械を用いて論理検証処理を行う論理検証方法であって、コンピュータに、
前記論理検証処理を実行して波形データを生成し、該状態機械によって示される違反発生状態に対応する部分を波形データに設定する論理検証実行手順と、
前記波形データに基づいて波形を表示すると共に、前記違反発生状態を示す情報を該違反発生状態に対応する部分に表示する波形表示手順とを実行させ、
前記論理検証実行手順は、同じ原因による前記違反発生状態が複数回検出される場合、所定回数に対応する部分を波形データに設定することを特徴とする論理検証方法。
(付記11)
前記論理検証実行手順は、同じ原因による前記違反発生状態が複数回検出される場合、検出された初回の該違反発生状態に対応する部分を波形データに設定することを特徴とする付記10記載の論理検証方法。
(付記12)
検証プロパティに基づいて状態機械を用いて論理検証を行なう論理検証装置としてコンピュータに機能させるためのコンピュータ実行可能なプログラムであって、該コンピュータに、
前記論理検証処理による論理検証結果に基づいて生成された波形を表示する波形表示手順と、
前記検証プロパティを表示するプロパティ表示手順と、
操作入力に応じて前記波形表示手順と前記プロパティ表示手順とを制御する表示制御手順とを実行させ、
前記表示制御手順は、前記波形表示手順によって表示された前記波形上への前記操作入力に応じて、該操作入力によって選択された波形部分に連動させて該波形部分に対応する前記検証プロパティの記述部分を他記述部分と異なる表示方法で前記プロパティ表示手順に表示させることを特徴とするコンピュータ実行可能なプログラム。
(付記13)
検証プロパティに基づいて状態機械を用いて論理検証を行なう論理検証装置としてコンピュータに機能させるためのコンピュータ実行可能なプログラムであって、該コンピュータに、
前記論理検証処理を実行して波形データを生成し、該状態機械によって示される前提条件状態となる範囲を該波形データに設定する論理検証実行手順と、
前記波形データに基づいて生成された波形を表示する波形表示手順と、
操作入力に応じて前記前提条件状態となる範囲を他範囲と異なる表示方法で前記波形を表示させるように前記波形表示手順を制御する表示制御手順とを実行させることを特徴とするコンピュータ実行可能なプログラム。
(付記14)
検証プロパティに基づいて状態機械を用いて論理検証を行なう論理検証装置としてコンピュータに機能させるためのコンピュータ実行可能なプログラムであって、該コンピュータに、
前記論理検証処理を実行して波形データを生成し、該状態機械によって示される違反発生状態に対応する部分を波形データに設定する論理検証実行手順と、
前記波形データに基づいて波形を表示すると共に、前記違反発生状態を示す情報を該違反発生状態に対応する部分に表示する波形表示手順とを実行させ、
前記論理検証実行手順は、同じ原因による前記違反発生状態が複数回検出される場合、所定回数に対応する部分を波形データに設定することを特徴とするコンピュータ実行可能なプログラム。
(付記15)
検証プロパティに基づいて状態機械を用いて論理検証を行なう論理検証装置であって、
前記論理検証処理による論理検証結果に基づいて生成された波形を表示する波形表示手段と、
前記検証プロパティを表示するプロパティ表示手段と、
操作入力に応じて前記波形表示手段と前記プロパティ表示手段とを制御する表示制御手段とを実行させ、
前記表示制御手段は、前記波形表示手段によって表示された前記波形上への前記操作入力に応じて、該操作入力によって選択された波形部分に連動させて該波形部分に対応する前記検証プロパティの記述部分を他記述部分と異なる表示方法で前記プロパティ表示手段に表示させることを特徴とする論理検証装置。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【図面の簡単な説明】
【0075】
【図1】本発明の一実施例に係る論理検証装置のハードウェア構成を示す図である。
【図2】論理検証処理の概要を説明するための図である。
【図3】表示操作に応じてプロパティ表示と波形表示とが連動する表示例を示す図である。
【図4】プロパティ内の記述と波形表示とを連動させるための対応関係の例を示す図である。
【図5】検証プロパティの条件記述に応じた波形表示例を示す図である。
【図6】図5に示す表示方法においてプロパティ表示と波形表示とが連動して表示される表示例を示す図である。
【図7】強調表示をプロパティ表示と波形表示とで連動させるための対応関係の例を示す図である。
【図8】検証プロパティ違反が異なる状態遷移を経て発生する場合の対応関係の例を示す図である。
【図9】検証プロパティ違反の表示を間引く処理がなされなかった場合の波形データの例を示す図である。
【図10】遷移経路別カウンタの例を示す図である。
【図11】検証プロパティ違反の表示を間引いた処理がなされた場合の波形データの例を示す図である。
【符号の説明】
【0076】
11 CPU
12 メモリユニット
13 表示ユニット
15 入力ユニット
17 記憶装置
18 ドライバ
19 記憶媒体
90 遷移経路別カウンタ
100 論理検証装置
101 論検証処理部
102 論理プロパティ
103 検証対象データ
104 検証環境データ
105 プロパティ表示
106 波形表示
107 表示操作
108 プロパティ入力部
109 構文木
110 プロパティ表示部
111 プロパティ−構文木対応情報
112 状態機械生成部
113 状態機械
114 構文木−状態機械対応情報
115 論理検証実行部
116 波形データ
117 状態機械−波形対応情報
118 波形表示部
119 表示操作部
120 プロパティ表示付加情報
121 波形表示付加情報
201 プロパティ表示
203、204 強調表示
301、601 検証プロパティ
302、602 構文木
303、603 状態機械
304、604 波形データ
401 波形表示
402、612 前提条件範囲
403、613 事後条件範囲
404、614 違反発生範囲
501 プロパティ表示
502 前提条件
503 事後条件
701 検証プロパティ
702 状態機械
703 第一条件
704 第二条件
705 事後条件
706 第一条件状態
707 第二条件状態
708 事後条件状態
709 違反発生状態
801、901 波形データ
802、803 検証プロパティ違反

【特許請求の範囲】
【請求項1】
検証プロパティに基づいて状態機械を用いて論理検証処理を行う論理検証方法であって、コンピュータに、
前記論理検証処理による論理検証結果に基づいて生成された波形を表示する波形表示手順と、
前記検証プロパティを表示するプロパティ表示手順と、
操作入力に応じて前記波形表示手順と前記プロパティ表示手順とを制御する表示制御手順とを実行させ、
前記表示制御手順は、前記波形表示手順によって表示された前記波形上への前記操作入力に応じて、該操作入力によって選択された波形部分に連動させて該波形部分に対応する前記検証プロパティの記述部分を他記述部分と異なる表示方法で前記プロパティ表示手順に表示させることを特徴とする論理検証方法。
【請求項2】
前記表示制御手順は、前記プロパティ表示手順によって表示された前記検証プロパティ上への前記操作入力に応じて、該操作入力によって選択された前記検証プロパティの記述部分に連動させて該記述部分に対応する前記波形表示手順によって表示された前記波形上の波形部分を他波形部分と異なる表示方法で前記プロパティ表示手順に表示させることを特徴とする請求項1記載の論理検証方法。
【請求項3】
前記表示制御手順は、
前記検証プロパティに基づいて生成された構文木の要素と該構文木に基づいて生成された状態機械によって示される前記検証プロパティの実行過程で遷移する状態との対応関係を示す構文木−状態機械対応情報と、前記状態機械の状態と前記生成された波形の波形状態との対応関係を示す状態機械−波形対応情報とを用いて、前記操作入力に応じて前記波形部分と前記記述部分とを関連づけて連動させることを特徴とする請求項1又は2記載の論理検証方法。
【請求項4】
前記プロパティ表示手順は、
前記検証プロパティの要素と該検証プロパティに基づいて生成された構文木の要素との対応関係を示すプロパティ−構文木対応情報を用いて、前記検証プロパティの前記記述部分と他記述部分とを区別して表示することを特徴とする請求項1乃至3のいずれか一項記載の論理検証方法。
【請求項5】
検証プロパティに基づいて状態機械を用いて論理検証処理を行う論理検証方法であって、コンピュータに、
前記論理検証処理を実行して波形データを生成し、該状態機械によって示される前提条件状態となる範囲を波形データに設定する論理検証実行手順と、
前記波形データに基づいて生成された波形を表示する波形表示手順と、
操作入力に応じて前記前提条件状態なる範囲を他範囲と異なる表示方法で前記波形を表示させるように前記波形表示手順を制御する表示制御手順とを実行させることを特徴とする論理検証方法。
【請求項6】
前記検証プロパティを表示するプロパティ表示手順とを実行させ、
前記表示制御手順は、前記波形表示手順によって表示された前記前提条件状態となる範囲に対応する前記検証プロパティの前提条件の記述部分を他記述部分と異なる表示方法で前記プロパティ表示手順に表示させることを特徴とする請求項5記載の論理検証方法。
【請求項7】
前記論理検証実行手順は、前記状態機械によって示される事後条件状態となる範囲を前記波形データに設定し、
前記表示制御手順は、前記事後条件状態となる範囲を他範囲と異なる表示方法で前記波形を表示させるように前記波形表示手順を制御することを特徴とする請求項5又は6記載の論理検証方法。
【請求項8】
前記表示制御手順は、前記波形表示手順によって表示された前記事後条件状態となる範囲に対応する前記検証プロパティの事後条件の記述部分を他記述部分と異なる表示方法で前記プロパティ表示手順に表示させることを特徴とする請求項7記載の論理検証方法。
【請求項9】
前記論理検証実行手順は、前記状態機械によって示される違反発生状態となる範囲を前記波形データに設定し、
前記表示制御手順は、違反発生を示す情報を示すように前記波形表示手順を制御することを特徴とする請求項5乃至8のいずれか一項記載の論理検証方法。
【請求項10】
検証プロパティに基づいて状態機械を用いて論理検証処理を行う論理検証方法であって、コンピュータに、
前記論理検証処理を実行して波形データを生成し、該状態機械によって示される違反発生状態に対応する部分を波形データに設定する論理検証実行手順と、
前記波形データに基づいて波形を表示すると共に、前記違反発生状態を示す情報を該違反発生状態に対応する部分に表示する波形表示手順とを実行させ、
前記論理検証実行手順は、同じ原因による前記違反発生状態が複数回検出される場合、所定回数に対応する部分を波形データに設定することを特徴とする論理検証方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2008−250808(P2008−250808A)
【公開日】平成20年10月16日(2008.10.16)
【国際特許分類】
【出願番号】特願2007−93047(P2007−93047)
【出願日】平成19年3月30日(2007.3.30)
【出願人】(308014341)富士通マイクロエレクトロニクス株式会社 (2,507)
【Fターム(参考)】