説明

検証プロパティ開発支援方法及び検証プロパティ開発支援装置

【課題】低コストで容易に検証プロパティの信頼性を向上させることが可能な検証プロパティ開発支援方法及び検証プロパティ開発支援装置を提供することを目的とする。
【解決手段】検証プロパティの開発を支援する検証プロパティ開発支援方法であって、前記検証プロパティをグループ化するグループ設定手順と、同一グループ内の前記検証プロパティにおいて、各検証プロパティで検証される所定条件が同時期に不成立となるか否かを判定する判定手順と、を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検証プロパティの開発を支援する検証プロパティ開発支援方法及び検証プロパティ開発支援装置に関する。
【背景技術】
【0002】
従来より、論理回路等を設計する際には、設計対象の機能やタイミングなどが仕様を満たしているか否かを検証する論理検証と呼ばれる作業が行われている。論理検証では仕様を満たしているか否かを確認するために検証プロパティを作成し、検証プロパティを満たしているか否かをチェックするためのチェッカを組み込んだ環境で検証を行っている。
【0003】
従来では、検証プロパティを開発する場合には、検証プロパティを人手で記述する方法、検証プログラムをプログラムに自動生成させる方法等が取られてきた。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−99518号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、検証プロパティを人手で記述する方法では、検証プロパティに容易に間違いが生じることがある。またプログラムに自動生成させる方法においても、人手により何らかの情報を入力する必要があり、入力された情報に間違いがある場合には生成される検証プロパティも間違いを含むことになる。また、いずれの方法においても、検証プロパティが不足しているか否かを容易に判定することはできない。
【0006】
検証プロパティに間違いがあると、検証時に検証プロパティ違反が発見された際に、違反の原因が検証対象である論理回路の不具合と検証プロパティの不具合とのどちらにあるかを調査しなければならない。また検証プロパティが不足している場合には、検証対象の論理回路に不具合を見逃す可能性があり、その結果検証のやり直し等が必要となる。上述した検証プロパティ違反の原因となる不具合を特定する調査や、検証のやり直し等は、本来不要な作業であり、このような作業によりコストが増大するという問題点がある。
【0007】
本発明は、上記の点に鑑みなされたもので、低コストで容易に検証プロパティの信頼性を向上させることが可能な検証プロパティ開発支援方法及び検証プロパティ開発支援装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
開示の検証プロパティ開発支援方法は、検証プロパティの開発支援を行う開発支援装置おける方法であって、前記検証プロパティをグループ化するグループ設定手順と、同一グループ内の前記検証プロパティにおいて、各検証プロパティで検証される所定条件が同時期に不成立となるか否かを判定する判定手順とを有する。
【発明の効果】
【0009】
低コストで容易に検証プロパティの信頼性を向上させることができる。
【図面の簡単な説明】
【0010】
【図1】本発明の一実施例に係る検証プロパティ開発支援装置のハードウェア構成を示す図である。
【図2】第一実施例の検証プロパティ開発支援装置の機能構成を説明する図である。
【図3】グループ指定情報を説明するための図である。
【図4】プロパティの記述例を示す図である。
【図5】第一実施例の検証プロパティ開発支援装置の検証プロパティ判定部の動作を説明するフローチャートである。
【図6】検証プロパティ判定部による判定処理を説明する図である。
【図7】第二実施例の検証プロパティ開発支援装置の機能構成を説明する図である。
【図8】第二実施例の検証プロパティ開発支援装置の検証プロパティ判定部の動作を説明するフローチャートである。
【発明を実施するための形態】
【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】
(第一実施例)
以下に図面を参照して本発明の第一実施例について説明する。図2は、第一実施例の検証プロパティ開発支援装置の機能構成を説明する図である。
【0020】
本実施例の検証プロパティ開発支援装置100は、後述する検証プロパティ判定部130により検証プロパティDB(データベース)111に格納された検証プロパティ(以下、単にプロパティと言う。)の間違いや不足の可能性を判定する。
【0021】
本実施例の検証プロパティ開発支援装置100は、グループ設定部120、検証プロパティ判定部130を有する。また本実施例の検証プロパティ開発支援装置100は、記憶装置17に検証プロパティDB111、グループ指定情報112が格納されている。検証プロパティDB111は、複数のプロパティが格納されている。本実施形態のプロパティとは、検証対象の論理回路が仕様を満たしているか否かを確認するための記述である。
【0022】
グループ指定情報112は、検証プロパティDB111に含まれるプロパティをグループ化するための情報であり、ユーザによって予め設定された情報である。グループ指定情報112の詳細は後述する。
【0023】
本実施例のグループ設定部120は、プロパティ入力部121、グループ指定入力部122を有する。プロパティ入力部121は、検証プロパティDB111からプロパティを読み込む。グループ指定入力部122は、グループ指定情報112を読み込む。そしてグループ設定部120は、検証プロパティDB111の格納されたプロパティをグループ指定情報112に基づきグループ化し、グループ化した結果をプロパティグループ情報113として記憶装置17へ格納する。
【0024】
検証プロパティ判定部130は、グループ化されたプロパティにおいて、見直すべき部分が存在するか否かをグループ毎に判定する。検証プロパティ判定部130は、記憶装置17へ判定結果114を格納する。記憶装置17へ格納された判定結果114は、表示ユニット13等の出力手段により出力される。
【0025】
図3は、グループ指定情報を説明するための図である。本実施例のグループ指定情報112は、検証プロパティDB111に含まれる各プロパティとグループとを対応付ける情報である。本実施例のグループ指定情報112では、各プロパティの名前(以下、プロパティ名)とグループの名前(以下、グループ名)とを対応付けている。
【0026】
図3の例では、検証プロパティDB111は、プロパティ1、プロパティ2、プロパティ3、プロパティ4等を含んでいる。グループ指定情報112では、プロパティ1、プロパティ2、プロパティ3がグループ1と対応付けられており、プロパティ2、プロパティ4がグループ2と対応付けられている。
【0027】
尚以下の説明では、グループとして設定されたプロパティをグループ化プロパティと呼ぶ。図3の例では、グループ1に設定されたグループ化プロパティG1は、プロパティ1、プロパティ2、プロパティ3を有する。またグループ2に設定されたグループ化プロパティG2は、プロパティ2、プロパティ4を有する。
【0028】
本実施例のグループ指定情報112は、例えば検証プロパティDB111の有するプロパティを用いて設定可能な全てのグループのパターンを有していても良い。この場合本実施例の検証プロパティ開発支援装置100は、検証プロパティDB111の有するプロパティを用いて設定可能な全てのグループについて後述する判定処理を行うことができる。
【0029】
以下に図4を参照して本実施例のプロパティの記述例について説明する。図4は、プロパティの記述例を示す図である。図4では、例えば、プロパティ1の記述41と、プロパティ1から作られる状態機械42の例を示している。
【0030】
プロパティ1の記述41では、前提条件と事後条件とが記述されている。前提条件とは、検証対象の論理回路が所定の状態とするための条件である。事後条件とは、前提条件が成立した後に論理回路が所定の状態から別の状態へ遷移するための条件である。
【0031】
記述41では、前提条件が成立した後に、1クロック経過後、事後条件が成立するか否かをチェックすることが記述されている。具体的には記述41は、「aが成立して1クロック経過した後にbが成立する」とう前提条件が成立してから1クロック経過後、「cが成立して1クロック経過した後にdが成立する」という事後条件が成立するか否かをチェックすることが記述されている。したがって記述41では、前提条件が成立して1クロック後にcが成立していない場合、エラーとなる。
【0032】
状態機械42は、記述41の前提条件と事後条件とが成立した場合の状態遷移を示している。状態機械42において、aが成立することによって状態S0から状態S1となり、この状態S0及びS1を前提条件未成立の状態として示す。またaが成立した後にbが成立すると、状態S1から状態S2となり、この状態S2は、前提条件が成立した状態を示す。また状態機械42は、cが成立することによって状態S2から状態S3となり、この状態S2及びS3を事後条件チェックの状態として示す。そして、dが成立すると状態S3から状態S4となる。状態S4は事後条件が成立した状態を示す。
【0033】
図5は、第一実施例の検証プロパティ開発支援装置の検証プロパティ判定部の動作を説明するフローチャートである。
【0034】
本実施例の検証プロパティ判定部130は、グループ毎に、グループ化プロパティに見直すべきプロパティが存在するか否かを判定する。
【0035】
本実施例の検証プロパティ開発支援装置100の検証プロパティ判定部130は、記憶装置17からプロパティグループ情報113を読み出す(ステップS501)。次に検証プロパティ判定部130は、プロパティグループ情報113において判定処理を行っていないグループが存在するか否かを判定する(ステップS502)。
【0036】
ステップS502において全てのグループに対して判定処理を終了している場合、検証プロパティ判定部130は処理を終了する。
【0037】
ステップS502において、判定処理が終了していないグループが存在する場合、判定処理部130は判定処理を行い(ステップS503)、判定結果を出力する(ステップS504)。
【0038】
以下に検証プロパティ判定部130による判定処理について説明する。本実施例の検証プロパティ判定部130は、グループ化プロパティ内の全てのプロパティの前提条件が同時期に未成立となるグループが存在する場合に、そのグループ化プロパティに見直すべきプロパティが存在するものと判定する。
【0039】
前提条件が未成立である場合とは、例えばグループ化プロパティの有する各プロパティが動作していない、プロパティに間違いがある、プロパティに不足がある等の場合である。
【0040】
図6は、検証プロパティ判定部による判定処理を説明する図である。図6では、図3に示すグループ1に設定されたグループ化プロパティG1の判定を行った場合について説明する。
【0041】
図6の例では、グループ化プロパティG1の判定処理の実行中における時刻T1から時刻T2までの期間Xにおいて、グループ化プロパティG1の有するプロパティ1、プロパティ2、プロパティ3の前提条件が同時期に不成立となっている。よって検証プロパティ判定部130は、グループ1に設定されたグループ化プロパティG1には見直すべきプロパティ又は不足しているプロパティが存在すると判定し、判定結果を記憶装置17へ出力し格納する。
【0042】
本実施例の検証プロパティ開発支援装置100では、記憶装置17へ格納された判定結果として、例えば表示ユニット13において「グループ1は期間Xで前提条件が不成立となる」等のメッセージを表示しても良い。
【0043】
尚図6の例では、グループ化プロパティG1は3つのプロパティ1〜3を有し、3つのプロパティにおいて同時期に前提条件が不成立となった例を説明したが、これに限定されない。例えばグループ化プロパティは、4つのプロパティを有しており、4つのプロパティのうち所定数(例えば3つ)のプロパティにおいて同時期に前提条件が不成立となった場合に、見直しの必要ありと判定されても良い。
【0044】
このように本実施例では、検証プロパティDB111内のプロパティをグループ化し、グループ化プロパティにおいて前提条件が同時期に不成立となるか否かを判定することで、特定のグループ化プロパティに含まれるプロパティを見直す必要があるか否かを判定できる。よって本実施例によれば、低コストで容易にプロパティの信頼性を向上させることができる。
【0045】
(第二実施例)
以下に図面を参照して本発明の第二実施例について説明する。本発明の第二実施例では、検証対象の論理回路の回路データを用いて、回路データを動作させたときの経路毎に検証プロパティに対する判定を行う点で第一実施例と相違する。よって以下の第二実施例の説明では、第一実施例との相違点についてのみ説明し、第一実施例と同様の機能構成を有するものには第一実施例の説明で用いた符号と同様の符号を付与し、説明を省略する。
【0046】
図7は、第二実施例の検証プロパティ開発支援装置の機能構成を説明する図である。本実施例の検証プロパティ開発支援装置100Aは、グループ設定部120、検証部130Aを有する。また本実施例の検証プロパティ開発支援装置100Aは、記憶装置17に検証プロパティDB111、グループ指定情報112、回路データ115が格納されている。
【0047】
本実施例の検証部130Aは、回路データ115の論理検証を行う。また検証部130Aは、検証プロパティ判定部130を有し、プロパティグループ情報113と、回路データ115とに基づき、回路データを動作させた際の経路に対応したグループ化プロパティの判定を行う。本実施例の検証プロパティ判定部130は、検証部130Aによる回路データの検証処理と平行して、グループ化プロパティに見直すべきプロパティが存在するか否かを判定する。
【0048】
本実施例の回路データ115は、ハードウェア記述言語であり、入出力を状態遷移モデル等により論理回路の動作を示すデータである。
【0049】
図8は、第二実施例の検証プロパティ開発支援装置の検証プロパティ判定部の動作を説明するフローチャートである。本実施例の検証プロパティ開発支援装置100Aは、回路データ115を動作させた際の経路と対応したプロパティの判定処理を行う。
【0050】
本実施例の検証プロパティ開発支援装置100Aにおいて、検証部130Aは記憶装置17から回路データ115を読み込む(ステップS801)。次に検証部130Aは、記憶装置17からグループ化プロパティ情報を読み込む(ステップS802)。
【0051】
検証部130Aは、読み込んだ回路データ115の検証処理(シミュレーション)が完了したか否かを判断する(ステップS803)。ステップS803において検証処理が完了していた場合、検証部130Aは処理を終了する。ステップS803において検証処理が完了していない場合、検証部130Aは、時刻を進めて、回路データ115に基づく論理回路を1クロック動作させる。そして検証部130Aは、回路データ115を動作させた際の入出力の経路に対応するグループ化プロパティに対して1クロック後の判定処理を行う(ステップS804)。
【0052】
次に検証プロパティ判定部130は、判定処理が終了していないグループが存在するか否かを判定する(ステップS805)。ステップS805において判定処理が終了していないグループが存在しない場合、ステップS803へ進む。ステップS805において判定処理が終了していないグループが存する場合、検証プロパティ判定部130はステップS806以降の処理を行う。
【0053】
ステップS806、ステップS807の処理は、図4のステップS403とステップS404の処理と同様であるから説明を省略する。
【0054】
よって本実施例では、第一実施例における判定処理と比較して、論理回路の入出力の経路に従ったプロパティのみで判定を行うため、判定処理による負荷を軽減することができ、低コストで容易に検証プロパティの信頼性を向上させることができる。
【0055】
本発明は、以下に記載する付記のような構成が考えられる。
(付記1)
検証プロパティの開発を支援する検証プロパティ開発支援方法であって、
前記検証プロパティをグループ化するグループ設定手順と、
同一グループ内の前記検証プロパティにおいて、各検証プロパティで検証される所定条件が同時期に不成立となるか否かを判定する判定手順と、を実行することを特徴とする検証プロパティ開発支援方法。
(付記2)
前記所定条件は前提条件であり、
前記判定手順は、
全ての前記検証プロパティにおいて前記前提条件が同時期に不成立となるか否かを判定することを特徴とする付記1記載の検証プロパティの開発支援方法。
(付記3)
前記同時期に不成立となる期間を出力する出力手順を有することを特徴とする付記1又は2記載の検証プロパティ開発支援方法。
(付記4)
検証プロパティの開発を支援する検証プロパティ開発支援装置であって、
前記検証プロパティをグループ化するグループ設定手段と、
同一グループ内の前記検証プロパティにおいて、各検証プロパティで検証される所定条件が同時期に不成立となるか否かを判定する判定手段と、を有することを特徴とする検証プロパティ開発支援装置。
(付記5)
検証プロパティの開発を支援する検証プロパティの開発支援方法であって、
前記検証プロパティをグループ化するグループ設定手順と、
回路データに基づく論理回路の入出力の経路に従ってグループ化された前記検証プロパティを用いて、該回路データを論理検証する論理検証手順と、
同一グループ内の前記検証プロパティにおいて、各検証プロパティで検証される所定条件が同時期に不成立となるか否かを判定する判定手順と、を実行することを特徴とする検証プロパティ開発支援方法。
(付記6)
検証プロパティの開発を支援する検証プロパティ開発支援装置であって、
前記検証プロパティをグループ化するグループ設定手段と、
回路データに基づく論理回路の入出力の経路に従ってグループ化された前記検証プロパティを用いて、該回路データを論理検証する論理検証手段と、
同一グループ内の前記検証プロパティにおいて、各検証プロパティで検証される所定条件が同時期に不成立となるか否かを判定する判定手段と、を有することを特徴とする検証プロパティ開発支援装置。
【0056】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【0057】
100、100A 検証プロパティ開発支援装置
111 検証プロパティ
112 グループ指定情報
113 プロパティグループ情報
115 回路データ
120 グループ設定部
130 検証プロパティ判定部
130A 検証部

【特許請求の範囲】
【請求項1】
検証プロパティの開発を支援する検証プロパティ開発支援方法であって、
前記検証プロパティをグループ化するグループ設定手順と、
同一グループ内の前記検証プロパティにおいて、各検証プロパティで検証される所定条件が同時期に不成立となるか否かを判定する判定手順と、を実行することを特徴とする検証プロパティ開発支援方法。
【請求項2】
前記所定条件は前提条件であり、
前記判定手順は、
全ての前記検証プロパティにおいて前記前提条件が同時期に不成立となるか否かを判定することを特徴とする請求項1記載の検証プロパティ開発支援方法。
【請求項3】
前記同時期に不成立となる期間を出力する出力手順を有することを特徴とする請求項1又は2記載の検証プロパティ開発支援方法。
【請求項4】
検証プロパティの開発を支援する検証プロパティ開発支援装置であって、
前記検証プロパティをグループ化するグループ設定手段と、
同一グループ内の前記検証プロパティにおいて、各検証プロパティで検証される所定条件が同時期に不成立となるか否かを判定する判定手段と、を有することを特徴とする検証プロパティ開発支援装置。
【請求項5】
検証プロパティの開発を支援する検証プロパティ開発支援方法であって、
前記検証プロパティをグループ化するグループ設定手順と、
回路データに基づく論理回路の入出力の経路に従ってグループ化された前記検証プロパティを用いて、該回路データを論理検証する論理検証手順と、
同一グループ内の前記検証プロパティにおいて、各検証プロパティで検証される所定条件が同時期に不成立となるか否かを判定する判定手順と、を実行することを特徴とする検証プロパティ開発支援方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−70479(P2011−70479A)
【公開日】平成23年4月7日(2011.4.7)
【国際特許分類】
【出願番号】特願2009−222098(P2009−222098)
【出願日】平成21年9月28日(2009.9.28)
【出願人】(308014341)富士通セミコンダクター株式会社 (2,507)
【Fターム(参考)】