(57)【要約】【課題】低コストで容易に検証プロパティの信頼性を向上させることが可能な検証プロパティ開発支援方法及び検証プロパティ開発支援装置を提供することを目的とする。【解決手段】検証プロパティの開発を支援する検証プロパティ開発支援方法であって、前記検証プロパティをグループ化するグループ設定手順と、同一グループ内の前記検証プロパティにおいて、各検証プロパティで検証される所定条件が同時期に不成立となるか否かを判定する判定手順と、を実行する。【選択図】図５
2011070479.tif 000002
【特許請求の範囲】
【請求項１】
検証プロパティの開発を支援する検証プロパティ開発支援方法であって、
前記検証プロパティをグループ化するグループ設定手順と、
同一グループ内の前記検証プロパティにおいて、各検証プロパティで検証される所定条件が同時期に不成立となるか否かを判定する判定手順と、を実行することを特徴とする検証プロパティ開発支援方法。
【請求項２】
前記所定条件は前提条件であり、
前記判定手順は、
全ての前記検証プロパティにおいて前記前提条件が同時期に不成立となるか否かを判定することを特徴とする請求項１記載の検証プロパティ開発支援方法。
【請求項３】
前記同時期に不成立となる期間を出力する出力手順を有することを特徴とする請求項１又は２記載の検証プロパティ開発支援方法。
【請求項４】
検証プロパティの開発を支援する検証プロパティ開発支援装置であって、
前記検証プロパティをグループ化するグループ設定手段と、
同一グループ内の前記検証プロパティにおいて、各検証プロパティで検証される所定条件が同時期に不成立となるか否かを判定する判定手段と、を有することを特徴とする検証プロパティ開発支援装置。
【請求項５】
検証プロパティの開発を支援する検証プロパティ開発支援方法であって、
前記検証プロパティをグループ化するグループ設定手順と、
回路データに基づく論理回路の入出力の経路に従ってグループ化された前記検証プロパティを用いて、該回路データを論理検証する論理検証手順と、
同一グループ内の前記検証プロパティにおいて、各検証プロパティで検証される所定条件が同時期に不成立となるか否かを判定する判定手順と、を実行することを特徴とする検証プロパティ開発支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検証プロパティの開発を支援する検証プロパティ開発支援方法及び検証プロパティ開発支援装置に関する。
【背景技術】
【０００２】
従来より、論理回路等を設計する際には、設計対象の機能やタイミングなどが仕様を満たしているか否かを検証する論理検証と呼ばれる作業が行われている。論理検証では仕様を満たしているか否かを確認するために検証プロパティを作成し、検証プロパティを満たしているか否かをチェックするためのチェッカを組み込んだ環境で検証を行っている。
【０００３】
従来では、検証プロパティを開発する場合には、検証プロパティを人手で記述する方法、検証プログラムをプログラムに自動生成させる方法等が取られてきた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−９９５１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、検証プロパティを人手で記述する方法では、検証プロパティに容易に間違いが生じることがある。またプログラムに自動生成させる方法においても、人手により何らかの情報を入力する必要があり、入力された情報に間違いがある場合には生成される検証プロパティも間違いを含むことになる。また、いずれの方法においても、検証プロパティが不足しているか否かを容易に判定することはできない。
【０００６】
検証プロパティに間違いがあると、検証時に検証プロパティ違反が発見された際に、違反の原因が検証対象である論理回路の不具合と検証プロパティの不具合とのどちらにあるかを調査しなければならない。また検証プロパティが不足している場合には、検証対象の論理回路に不具合を見逃す可能性があり、その結果検証のやり直し等が必要となる。上述した検証プロパティ違反の原因となる不具合を特定する調査や、検証のやり直し等は、本来不要な作業であり、このような作業によりコストが増大するという問題点がある。
【０００７】
本発明は、上記の点に鑑みなされたもので、低コストで容易に検証プロパティの信頼性を向上させることが可能な検証プロパティ開発支援方法及び検証プロパティ開発支援装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
開示の検証プロパティ開発支援方法は、検証プロパティの開発支援を行う開発支援装置おける方法であって、前記検証プロパティをグループ化するグループ設定手順と、同一グループ内の前記検証プロパティにおいて、各検証プロパティで検証される所定条件が同時期に不成立となるか否かを判定する判定手順とを有する。
【発明の効果】
【０００９】
低コストで容易に検証プロパティの信頼性を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施例に係る検証プロパティ開発支援装置のハードウェア構成を示す図である。
【図２】第一実施例の検証プロパティ開発支援装置の機能構成を説明する図である。
【図３】グループ指定情報を説明するための図である。
【図４】プロパティの記述例を示す図である。
【図５】第一実施例の検証プロパティ開発支援装置の検証プロパティ判定部の動作を説明するフローチャートである。
【図６】検証プロパティ判定部による判定処理を説明する図である。
【図７】第二実施例の検証プロパティ開発支援装置の機能構成を説明する図である。
【図８】第二実施例の検証プロパティ開発支援装置の検証プロパティ判定部の動作を説明するフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１２】
本発明に係る検証プロパティ開発支援装置は、コンピュータ装置であって、図１に示すようなハードウェア構成を有する。図１は、本発明の一実施例に係る検証プロパティ開発支援装置のハードウェア構成を示す図である。
【００１３】
図１において、検証プロパティ開発支援装置１００は、コンピュータによって制御される装置であって、ＣＰＵ（Central Processing Unit）１１と、メモリユニット１２と、表示ユニット１３と、入力ユニット１５と、記憶装置１７と、ドライバ１８とで構成され、システムバスＢに接続される。
【００１４】
ＣＰＵ１１は、メモリユニット１２に格納されたプログラムに従って検証プロパティ開発支援装置１００を制御する。メモリユニット１２は、ＲＡＭ（Random Access Memory）及びＲＯＭ（Read-Only Memory）等にて構成され、ＣＰＵ１１にて実行されるプログラム、ＣＰＵ１１での処理に必要なデータ、ＣＰＵ１１での処理にて得られたデータ等を格納する。また、メモリユニット１２の一部の領域が、ＣＰＵ１１での処理に利用されるワークエリアとして割り付けられている。
【００１５】
表示ユニット１３は、ＣＰＵ１１の制御のもとに必要な各種情報を表示する。入力ユニット１５は、マウス、キーボード等を有し、利用者が検証プロパティ開発支援装置１００が処理を行なうための必要な各種情報を入力するために用いられる。
【００１６】
記憶装置１７は、例えば、ハードディスクユニットにて構成され、各種処理を実行するプログラム等のデータを格納する。
【００１７】
検証プロパティ開発支援装置１００によって行われる検証プロパティ開発支援方法での処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact Disk Read-Only Memory）等の記憶媒体１９によって検証プロパティ開発支援装置１００に提供される。即ち、プログラムが保存された記憶媒体１９がドライバ１８にセットされると、ドライバ１８が記憶媒体１９からプログラムを読み出し、その読み出されたプログラムがシステムバスＢを介して記憶装置１７にインストールされる。そして、プログラムが起動されると、記憶装置１７にインストールされたプログラムに従ってＣＰＵ１１がその処理を開始する。
【００１８】
尚、プログラムを格納する媒体としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。検証プロパティ開発支援装置１００が外部とのネットワーク通信を行う通信ユニットを有する場合には、本発明に係る処理を実現するプログラムを通信ユニットによってネットワークを介してダウンロードし、記憶装置１７にインストールするようにしても良い。また、検証プロパティ開発支援装置１００が外部記憶装置との接続を行うＵＳＢ（Universal Serial Bus）等のインタフェースを有する場合には、ＵＳＢ接続によって外部記憶媒体からプログラムを読み込んでもよい。
【００１９】
（第一実施例）
以下に図面を参照して本発明の第一実施例について説明する。図２は、第一実施例の検証プロパティ開発支援装置の機能構成を説明する図である。
【００２０】
本実施例の検証プロパティ開発支援装置１００は、後述する検証プロパティ判定部１３０により検証プロパティＤＢ（データベース）１１１に格納された検証プロパティ（以下、単にプロパティと言う。）の間違いや不足の可能性を判定する。
【００２１】
本実施例の検証プロパティ開発支援装置１００は、グループ設定部１２０、検証プロパティ判定部１３０を有する。また本実施例の検証プロパティ開発支援装置１００は、記憶装置１７に検証プロパティＤＢ１１１、グループ指定情報１１２が格納されている。検証プロパティＤＢ１１１は、複数のプロパティが格納されている。本実施形態のプロパティとは、検証対象の論理回路が仕様を満たしているか否かを確認するための記述である。
【００２２】
グループ指定情報１１２は、検証プロパティＤＢ１１１に含まれるプロパティをグループ化するための情報であり、ユーザによって予め設定された情報である。グループ指定情報１１２の詳細は後述する。
【００２３】
本実施例のグループ設定部１２０は、プロパティ入力部１２１、グループ指定入力部１２２を有する。プロパティ入力部１２１は、検証プロパティＤＢ１１１からプロパティを読み込む。グループ指定入力部１２２は、グループ指定情報１１２を読み込む。そしてグループ設定部１２０は、検証プロパティＤＢ１１１の格納されたプロパティをグループ指定情報１１２に基づきグループ化し、グループ化した結果をプロパティグループ情報１１３として記憶装置１７へ格納する。
【００２４】
検証プロパティ判定部１３０は、グループ化されたプロパティにおいて、見直すべき部分が存在するか否かをグループ毎に判定する。検証プロパティ判定部１３０は、記憶装置１７へ判定結果１１４を格納する。記憶装置１７へ格納された判定結果１１４は、表示ユニット１３等の出力手段により出力される。
【００２５】
図３は、グループ指定情報を説明するための図である。本実施例のグループ指定情報１１２は、検証プロパティＤＢ１１１に含まれる各プロパティとグループとを対応付ける情報である。本実施例のグループ指定情報１１２では、各プロパティの名前（以下、プロパティ名）とグループの名前（以下、グループ名）とを対応付けている。
【００２６】
図３の例では、検証プロパティＤＢ１１１は、プロパティ１、プロパティ２、プロパティ３、プロパティ４等を含んでいる。グループ指定情報１１２では、プロパティ１、プロパティ２、プロパティ３がグループ１と対応付けられており、プロパティ２、プロパティ４がグループ２と対応付けられている。
【００２７】
尚以下の説明では、グループとして設定されたプロパティをグループ化プロパティと呼ぶ。図３の例では、グループ１に設定されたグループ化プロパティＧ１は、プロパティ１、プロパティ２、プロパティ３を有する。またグループ２に設定されたグループ化プロパティＧ２は、プロパティ２、プロパティ４を有する。
【００２８】
本実施例のグループ指定情報１１２は、例えば検証プロパティＤＢ１１１の有するプロパティを用いて設定可能な全てのグループのパターンを有していても良い。この場合本実施例の検証プロパティ開発支援装置１００は、検証プロパティＤＢ１１１の有するプロパティを用いて設定可能な全てのグループについて後述する判定処理を行うことができる。
【００２９】
以下に図４を参照して本実施例のプロパティの記述例について説明する。図４は、プロパティの記述例を示す図である。図４では、例えば、プロパティ１の記述４１と、プロパティ１から作られる状態機械４２の例を示している。
【００３０】
プロパティ１の記述４１では、前提条件と事後条件とが記述されている。前提条件とは、検証対象の論理回路が所定の状態とするための条件である。事後条件とは、前提条件が成立した後に論理回路が所定の状態から別の状態へ遷移するための条件である。
【００３１】
記述４１では、前提条件が成立した後に、１クロック経過後、事後条件が成立するか否かをチェックすることが記述されている。具体的には記述４１は、「ａが成立して１クロック経過した後にｂが成立する」とう前提条件が成立してから１クロック経過後、「ｃが成立して１クロック経過した後にｄが成立する」という事後条件が成立するか否かをチェックすることが記述されている。したがって記述４１では、前提条件が成立して１クロック後にｃが成立していない場合、エラーとなる。
【００３２】
状態機械４２は、記述４１の前提条件と事後条件とが成立した場合の状態遷移を示している。状態機械４２において、ａが成立することによって状態Ｓ０から状態Ｓ１となり、この状態Ｓ０及びＳ１を前提条件未成立の状態として示す。またａが成立した後にｂが成立すると、状態Ｓ１から状態Ｓ２となり、この状態Ｓ２は、前提条件が成立した状態を示す。また状態機械４２は、ｃが成立することによって状態Ｓ２から状態Ｓ３となり、この状態Ｓ２及びＳ３を事後条件チェックの状態として示す。そして、ｄが成立すると状態Ｓ３から状態Ｓ４となる。状態Ｓ４は事後条件が成立した状態を示す。
【００３３】
図５は、第一実施例の検証プロパティ開発支援装置の検証プロパティ判定部の動作を説明するフローチャートである。
【００３４】
本実施例の検証プロパティ判定部１３０は、グループ毎に、グループ化プロパティに見直すべきプロパティが存在するか否かを判定する。
【００３５】
本実施例の検証プロパティ開発支援装置１００の検証プロパティ判定部１３０は、記憶装置１７からプロパティグループ情報１１３を読み出す（ステップＳ５０１）。次に検証プロパティ判定部１３０は、プロパティグループ情報１１３において判定処理を行っていないグループが存在するか否かを判定する（ステップＳ５０２）。
【００３６】
ステップＳ５０２において全てのグループに対して判定処理を終了している場合、検証プロパティ判定部１３０は処理を終了する。
【００３７】
ステップＳ５０２において、判定処理が終了していないグループが存在する場合、判定処理部１３０は判定処理を行い（ステップＳ５０３）、判定結果を出力する（ステップＳ５０４）。
【００３８】
以下に検証プロパティ判定部１３０による判定処理について説明する。本実施例の検証プロパティ判定部１３０は、グループ化プロパティ内の全てのプロパティの前提条件が同時期に未成立となるグループが存在する場合に、そのグループ化プロパティに見直すべきプロパティが存在するものと判定する。
【００３９】
前提条件が未成立である場合とは、例えばグループ化プロパティの有する各プロパティが動作していない、プロパティに間違いがある、プロパティに不足がある等の場合である。
【００４０】
図６は、検証プロパティ判定部による判定処理を説明する図である。図６では、図３に示すグループ１に設定されたグループ化プロパティＧ１の判定を行った場合について説明する。
【００４１】
図６の例では、グループ化プロパティＧ１の判定処理の実行中における時刻Ｔ１から時刻Ｔ２までの期間Ｘにおいて、グループ化プロパティＧ１の有するプロパティ１、プロパティ２、プロパティ３の前提条件が同時期に不成立となっている。よって検証プロパティ判定部１３０は、グループ１に設定されたグループ化プロパティＧ１には見直すべきプロパティ又は不足しているプロパティが存在すると判定し、判定結果を記憶装置１７へ出力し格納する。
【００４２】
本実施例の検証プロパティ開発支援装置１００では、記憶装置１７へ格納された判定結果として、例えば表示ユニット１３において「グループ１は期間Ｘで前提条件が不成立となる」等のメッセージを表示しても良い。
【００４３】
尚図６の例では、グループ化プロパティＧ１は３つのプロパティ１〜３を有し、３つのプロパティにおいて同時期に前提条件が不成立となった例を説明したが、これに限定されない。例えばグループ化プロパティは、４つのプロパティを有しており、４つのプロパティのうち所定数（例えば３つ）のプロパティにおいて同時期に前提条件が不成立となった場合に、見直しの必要ありと判定されても良い。
【００４４】
このように本実施例では、検証プロパティＤＢ１１１内のプロパティをグループ化し、グループ化プロパティにおいて前提条件が同時期に不成立となるか否かを判定することで、特定のグループ化プロパティに含まれるプロパティを見直す必要があるか否かを判定できる。よって本実施例によれば、低コストで容易にプロパティの信頼性を向上させることができる。
【００４５】
（第二実施例）
以下に図面を参照して本発明の第二実施例について説明する。本発明の第二実施例では、検証対象の論理回路の回路データを用いて、回路データを動作させたときの経路毎に検証プロパティに対する判定を行う点で第一実施例と相違する。よって以下の第二実施例の説明では、第一実施例との相違点についてのみ説明し、第一実施例と同様の機能構成を有するものには第一実施例の説明で用いた符号と同様の符号を付与し、説明を省略する。
【００４６】
図７は、第二実施例の検証プロパティ開発支援装置の機能構成を説明する図である。本実施例の検証プロパティ開発支援装置１００Ａは、グループ設定部１２０、検証部１３０Ａを有する。また本実施例の検証プロパティ開発支援装置１００Ａは、記憶装置１７に検証プロパティＤＢ１１１、グループ指定情報１１２、回路データ１１５が格納されている。
【００４７】
本実施例の検証部１３０Ａは、回路データ１１５の論理検証を行う。また検証部１３０Ａは、検証プロパティ判定部１３０を有し、プロパティグループ情報１１３と、回路データ１１５とに基づき、回路データを動作させた際の経路に対応したグループ化プロパティの判定を行う。本実施例の検証プロパティ判定部１３０は、検証部１３０Ａによる回路データの検証処理と平行して、グループ化プロパティに見直すべきプロパティが存在するか否かを判定する。
【００４８】
本実施例の回路データ１１５は、ハードウェア記述言語であり、入出力を状態遷移モデル等により論理回路の動作を示すデータである。
【００４９】
図８は、第二実施例の検証プロパティ開発支援装置の検証プロパティ判定部の動作を説明するフローチャートである。本実施例の検証プロパティ開発支援装置１００Ａは、回路データ１１５を動作させた際の経路と対応したプロパティの判定処理を行う。
【００５０】
本実施例の検証プロパティ開発支援装置１００Ａにおいて、検証部１３０Ａは記憶装置１７から回路データ１１５を読み込む（ステップＳ８０１）。次に検証部１３０Ａは、記憶装置１７からグループ化プロパティ情報を読み込む（ステップＳ８０２）。
【００５１】
検証部１３０Ａは、読み込んだ回路データ１１５の検証処理（シミュレーション）が完了したか否かを判断する（ステップＳ８０３）。ステップＳ８０３において検証処理が完了していた場合、検証部１３０Ａは処理を終了する。ステップＳ８０３において検証処理が完了していない場合、検証部１３０Ａは、時刻を進めて、回路データ１１５に基づく論理回路を１クロック動作させる。そして検証部１３０Ａは、回路データ１１５を動作させた際の入出力の経路に対応するグループ化プロパティに対して１クロック後の判定処理を行う（ステップＳ８０４）。
【００５２】
次に検証プロパティ判定部１３０は、判定処理が終了していないグループが存在するか否かを判定する（ステップＳ８０５）。ステップＳ８０５において判定処理が終了していないグループが存在しない場合、ステップＳ８０３へ進む。ステップＳ８０５において判定処理が終了していないグループが存する場合、検証プロパティ判定部１３０はステップＳ８０６以降の処理を行う。
【００５３】
ステップＳ８０６、ステップＳ８０７の処理は、図４のステップＳ４０３とステップＳ４０４の処理と同様であるから説明を省略する。
【００５４】
よって本実施例では、第一実施例における判定処理と比較して、論理回路の入出力の経路に従ったプロパティのみで判定を行うため、判定処理による負荷を軽減することができ、低コストで容易に検証プロパティの信頼性を向上させることができる。
【００５５】
本発明は、以下に記載する付記のような構成が考えられる。
（付記１）
検証プロパティの開発を支援する検証プロパティ開発支援方法であって、
前記検証プロパティをグループ化するグループ設定手順と、
同一グループ内の前記検証プロパティにおいて、各検証プロパティで検証される所定条件が同時期に不成立となるか否かを判定する判定手順と、を実行することを特徴とする検証プロパティ開発支援方法。
（付記２）
前記所定条件は前提条件であり、
前記判定手順は、
全ての前記検証プロパティにおいて前記前提条件が同時期に不成立となるか否かを判定することを特徴とする付記１記載の検証プロパティの開発支援方法。
（付記３）
前記同時期に不成立となる期間を出力する出力手順を有することを特徴とする付記１又は２記載の検証プロパティ開発支援方法。
（付記４）
検証プロパティの開発を支援する検証プロパティ開発支援装置であって、
前記検証プロパティをグループ化するグループ設定手段と、
同一グループ内の前記検証プロパティにおいて、各検証プロパティで検証される所定条件が同時期に不成立となるか否かを判定する判定手段と、を有することを特徴とする検証プロパティ開発支援装置。
（付記５）
検証プロパティの開発を支援する検証プロパティの開発支援方法であって、
前記検証プロパティをグループ化するグループ設定手順と、
回路データに基づく論理回路の入出力の経路に従ってグループ化された前記検証プロパティを用いて、該回路データを論理検証する論理検証手順と、
同一グループ内の前記検証プロパティにおいて、各検証プロパティで検証される所定条件が同時期に不成立となるか否かを判定する判定手順と、を実行することを特徴とする検証プロパティ開発支援方法。
（付記６）
検証プロパティの開発を支援する検証プロパティ開発支援装置であって、
前記検証プロパティをグループ化するグループ設定手段と、
回路データに基づく論理回路の入出力の経路に従ってグループ化された前記検証プロパティを用いて、該回路データを論理検証する論理検証手段と、
同一グループ内の前記検証プロパティにおいて、各検証プロパティで検証される所定条件が同時期に不成立となるか否かを判定する判定手段と、を有することを特徴とする検証プロパティ開発支援装置。
【００５６】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【００５７】
１００、１００Ａ  検証プロパティ開発支援装置
１１１  検証プロパティ
１１２  グループ指定情報
１１３  プロパティグループ情報
１１５  回路データ
１２０  グループ設定部
１３０  検証プロパティ判定部
１３０Ａ  検証部
【図１】
2011070479.tif 000003
【図２】
2011070479.tif 000004
【図３】
2011070479.tif 000005
【図４】
2011070479.tif 000006
【図５】
2011070479.tif 000007
【図６】
2011070479.tif 000008
【図７】
2011070479.tif 000009
【図８】
2011070479.tif 000010