(57)【要約】【課題】ディジタル回路のランダム検証システムにおいて、カバレッジポイントの設定に必要な検討項目が多いため、検討に必要な工数が大きく、かつ検討の誤りに起因する検証品質の低下の余地が大きい。【解決手段】ディジタル回路の仕様で定義された制約条件からカバレッジポイントを抽出する。【選択図】図２
2008102673.tif 000002
【特許請求の範囲】
【請求項１】
仕様が予め定められたディジタル回路に対して、前記ディジタル回路が前記仕様に合致して動作することを検証する機能検証システムであって、
前記ディジタル回路への入力値を変数とする空間において前記入力値を制限する制約条件を満足する領域を抽出し、前記領域をカバレッジポイントとして出力するカバレッジポイント抽出手段と、
前記制約条件を満足するように、前記入力値を生成する入力値生成手段と、
前記入力値が前記カバレッジポイントに含まれていることを確認する機能カバレッジ確認手段と、
前記入力値を前記ディジタル回路へ入力し、その入力により前記ディジタル回路が出力する値に基づいて前記ディジタル回路が仕様に合致して機能していることを検証する検証手段と
を備えていることを特徴とする機能検証システム。
【請求項２】
仕様が予め定められたディジタル回路に対して、前記ディジタル回路が前記仕様に合致して動作することを検証する機能検証システムであって、
前記ディジタル回路への入力値を変数とする空間において前記入力値を制限する制約条件を満足する複数の領域を抽出し、前記複数の領域をそれぞれ複数のカバレッジポイントとして出力するカバレッジポイント抽出手段と、
前記複数のカバレッジポイントのうちランダムに１つのカバレッジポイントを選択するカバレッジポイント選択手段と、
前記制約条件を満足するように且つ選択された前記カバレッジポイントに含まれるように、前記入力値を生成する入力値生成手段と、
前記入力値を前記ディジタル回路へ入力し、その入力により前記ディジタル回路が出力する値に基づいて前記ディジタル回路が前記仕様に合致して機能していることを検証する検証手段と
を備えていることを特徴とする機能検証システム。
【請求項３】
仕様が予め定められたディジタル回路に対して、前記ディジタル回路が前記仕様に合致して動作することを検証する機能検証方法であって、
前記ディジタル回路への入力値を変数とする空間において前記入力値を制限する制約条件を満足する領域を抽出し、前記領域をカバレッジポイントとして出力するステップと、
前記制約条件を満足するように、前記入力値を生成するステップと、
前記入力値が前記カバレッジポイントに含まれていることを確認するステップと、
前記入力値を前記ディジタル回路へ入力し、その入力により前記ディジタル回路が出力する値に基づいて前記ディジタル回路が前記仕様に合致して機能していることを検証するステップと
を備えていることを特徴とする機能検証方法。
【請求項４】
仕様が予め定められたディジタル回路に対して、前記ディジタル回路が前記仕様に合致して動作することを検証する機能検証方法であって、
前記ディジタル回路への入力値を変数とする空間において前記入力値を制限する制約条件を満足する複数の領域を抽出し、前記複数の領域をそれぞれ複数のカバレッジポイントとして出力するステップと、
前記複数のカバレッジポイントのうちランダムに１つのカバレッジポイントを選択するステップと、
前記制約条件を満足するように且つ前記選択されたカバレッジポイントに含まれるように、前記入力値を生成するステップと、
前記入力値を前記ディジタル回路へ入力し、その入力により前記ディジタル回路が出力する値に基づいて前記ディジタル回路が前記仕様に合致して機能していることを検証するステップと
を備えていることを特徴とする機能検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタル回路の機能検証システムおよび機能検証方法に関するものである。
【背景技術】
【０００２】
従来、予め定義されたディジタル回路の仕様を満たすような制約を付けたランダムな値を前記ディジタル回路の入力パラメータとして与えて、前記ディジタル回路の出力パラメータの値と前記ディジタル回路の仕様との合致を確認するような、機能検証システムが提案されている。
【０００３】
また、ランダムに生成された前記入力パラメータが前記ディジタル回路の仕様を十分に網羅したことを確認するために、前記入力パラメータが定義されたカバレッジポイントをどれだけの割合でカバーしたかを計測する、機能カバレッジという指標が提案されている。
【０００４】
例えば、非特許文献１には、ランダムなＡＴＭセルを生成して回路に入力する技術、およびＵＡＲＴの機能カバレッジを定義する技術が開示されている。
【非特許文献１】Ｊａｎｉｃｋ  Ｂｅｒｇｅｒｏｎ著、”Ｗｒｉｔｉｎｇ  Ｔｅｓｔｂｅｎｃｈｅｓ  Ｓｅｃｏｎｄ  Ｅｄｉｔｉｏｎ”  Ｋｌｕｗｅｒ  Ａｃａｄｅｍｉｃ  Ｐｕｂｌｉｓｈｅｒｓ
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記非特許文献１に開示された技術では、以下のような課題があった。
【０００６】
第一に、カバレッジポイントの定義が体系的でなく、人為的な判断ミスや経験不足に起因するカバレッジポイントの定義漏れが発生し得る。
【０００７】
第二に、ディジタル回路の仕様で定義された入力パラメータの取り得る範囲よりもカバレッジポイントの範囲が小さい場合に、ランダムに生成された入力パラメータが、前記カバレッジポイントをカバーする確率が低くなるため、ディジタル回路の入力値が全てのカバレッジポイントを網羅するまでの時間が長くなる。また、機能カバレッジを解析してランダム生成の確率分布にフィードバックするには、多大な工数がかかってしまう。
【０００８】
そこで、本発明は、上記課題を解決した機能検証システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
請求項１および２にかかる発明は、どちらも、仕様が予め定められたディジタル回路に対して、そのディジタル回路がその仕様に合致して動作することを検証するシステムである。
【００１０】
請求項１にかかる発明は、ディジタル回路への入力値を変数とする空間において入力値を制限する制約条件を満足する領域を抽出し、その領域をカバレッジポイントとして出力するカバレッジポイント抽出手段と、制約条件を満足するように、入力値を生成する入力値生成手段と、入力値がカバレッジポイントに含まれていることを確認する機能カバレッジ確認手段と、入力値をディジタル回路へ入力し、その入力によりディジタル回路が出力する値に基づいてディジタル回路が仕様に合致して機能していることを検証する検証手段とを備えている。
【００１１】
請求項２にかかる発明は、ディジタル回路への入力値を変数とする空間において入力値を制限する制約条件を満足する複数の領域を抽出し、その複数の領域をそれぞれ複数のカバレッジポイントとして出力するカバレッジポイント抽出手段と、複数のカバレッジポイントのうちランダムに１つのカバレッジポイントを選択するカバレッジポイント選択手段と、制約条件を満足するように且つ選択されたカバレッジポイントに含まれるように、入力値を生成する入力値生成手段と、入力値をディジタル回路へ入力し、その入力によりディジタル回路が出力する値に基づいてディジタル回路が仕様に合致して機能していることを検証する検証手段とを備えている。
【００１２】
請求項３および４にかかる発明は、どちらも、仕様が予め定められたディジタル回路に対して、そのディジタル回路がその仕様に合致して動作することを検証する方法である。
【００１３】
請求項３にかかる発明は、ディジタル回路への入力値を変数とする空間において入力値を制限する制約条件を満足する領域を抽出し、その領域をカバレッジポイントとして出力するステップと、制約条件を満足するように、入力値を生成するステップと、入力値がカバレッジポイントに含まれていることを確認するステップと、入力値をディジタル回路へ入力し、その入力によりディジタル回路が出力する値に基づいてディジタル回路が仕様に合致して機能していることを検証するステップとを備えている。
【００１４】
請求項４にかかる発明は、ディジタル回路への入力値を変数とする空間において入力値を制限する制約条件を満足する複数の領域を抽出し、その複数の領域をそれぞれ複数のカバレッジポイントとして出力するステップと、複数のカバレッジポイントのうちランダムに１つのカバレッジポイントを選択するステップと、制約条件を満足するように且つ選択されたカバレッジポイントに含まれるように、入力値を生成するステップと、入力値をディジタル回路へ入力し、その入力によりディジタル回路が出力する値に基づいてディジタル回路が仕様に合致して機能していることを検証するステップとを備えている。
【発明の効果】
【００１５】
請求項１にかかる発明によれば、ディジタル回路の仕様書で定義されている制約条件からカバレッジポイントを定義する。その結果、ディジタル回路のカバレッジポイントを適切に設定するための検討に伴って発生する検証工数の削減と、検討の誤りに起因する機能検証の品質低下を少なくすることが可能となる。
【００１６】
請求項２にかかる発明によれば、前記カバレッジポイント抽出手段で抽出されたカバレッジポイント毎に確率的な重みをつけてカバレッジポイントを選択し、前記カバレッジポイントに含まれるランダム入力値を生成する。その結果、少数の入力値で効果的に各カバレッジポイントの機能を検証するようなランダム入力値を生成することができる。
【００１７】
請求項３および４にかかる発明は、それぞれ、請求項１および２にかかる発明と略同一の効果を奏する。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下の実施形態に限定されない。
【００１９】
《発明の実施形態１》
図１は、実施形態１に係る機能シミュレーション装置のハードウェア構成例を示すブロック図である。
【００２０】
図１において、２７はキーボードであり、文字キー、数字キー、機能指示キー等を備えていて各種キー入力を行う。２８はマウスであり、マウスカーソルの示す位置データを入力する。これらキーボード２７およびマウス２８等の入力装置によって、入力された機能シミュレーション実行の指示、機能シミュレーション結果を比較検証する際の指示等の入力を行う。
【００２１】
また、２９は処理装置であり、ＣＰＵ，メモリ（ＲＯＭおよびＲＡＭ）等からなるマイクロコンピュータであって、機能シミュレーション装置全体の制御をつかさどるとともに、ディジタル回路（不図示）を機能シミュレーションするための論理演算の処理、機能シミュレーション結果を記憶装置３０にファイル形式で記憶させる処理、記憶装置３０に記憶されている機能シミュレーション結果を内部メモリに読み込む処理、機能シミュレーション結果を比較検証する際の処理、機能シミュレーション結果や比較検証の結果等を表示装置３１に表示させるための処理等を行う。
【００２２】
記憶装置３０は、ＨＤＤ（ハードディスク装置）等であって、ディジタル回路や、ディジタル回路の機能シミュレーション結果等を記憶する。表示装置３１は、ＣＲＴ、ＬＣＤ等のディスプレイ装置であって、機能シミュレーション結果や比較検証の結果および各種メッセージ等を表示する。
【００２３】
この機能シミュレーション装置には、機能検証システム（後述）が搭載されている。図２に、本実施形態における機能検証システム２００を図示する。
【００２４】
機能検証システム２００は、ディジタル回路の機能を検証するためのシステムである。ディジタル回路は、一般的に、予め規定された仕様に従って機能するように構成されており、具体的には、仕様が定義する制約条件を満たす値がディジタル回路へ入力されると、仕様に合致した値を出力するように構成されている。
【００２５】
機能検証システム２００は、図２に示すように、カバレッジポイント抽出手段２０１と入力値生成手段２０３と検証手段２０４と機能カバレッジ確認手段２０５とを備えている。
【００２６】
カバレッジポイント抽出手段２０１は、制約条件からカバレッジポイントを抽出する。制約条件は、仕様により定義されるものであり、ディジタル回路への入力値を変数とするものである。カバレッジポイントの抽出方法を以下に示す。
【００２７】
一般に、Ｎ個の入力パラメーターの取り得る値は、Ｎ次元空間上の領域で表わせる。また、１つの制約条件は、入力パラメータを変数とする１つの不等式、すなわちＮ次元空間上では、最大Ｎ次元の立体で表わされる。その境界は、入力パラメータを変数とする１つの方程式、すなわちＮ次元空間上では、最大（Ｎ−１）次元の立体となる。同様に、Ｎ個の入力パラメータを持つｎ個の制約条件のそれぞれの境界の共通領域は、Ｎ個の入力パラメータを変数とするｎ個の方程式、すなわちＮ次元空間上では、最大（Ｎ−ｎ）次元の立体となる。このように、制約条件の境界ｎ個の共通領域と、ディジタル回路の仕様で定義された制約条件で表わされる領域との共通領域の内、空でないものを抽出することによって、（Ｎ−１）、（Ｎ−２）、（Ｎ−３）、．．．次元の立体を、カバレッジポイントとして得ることができる。これに、ディジタル回路の仕様で定義された制約条件で表わされる領域から、これまでに得られたカバレッジポイントを除いた領域を、カバレッジポイントとして追加することによって、カバレッジポイントの集合を得ることができる。
【００２８】
図４を用いて、カバレッジポイントの抽出方法の一例を示す。
【００２９】
図４に示す例において、検証の対象となるディジタル回路は、図４（ａ）に示すタイミングで定義される信号ｓの波形を生成する機能を持つ。信号ｓの立ち下がりタイミングおよび信号ｓの立ち上がりタイミングは、それぞれ、ディジタル回路への入力パラメータｘおよび入力パラメータｙで設定可能である。ｘおよびｙは、図４（ｂ）に示す不等式で表される制約条件により定義されている。図４（ｃ）には、２つの入力パラメータｘおよびｙを座標軸とする直交座標系に、制約条件を表わす不等式（図４（ｂ））を満たす２次元領域を斜線をつけて図示している。
【００３０】
図４に示す例では、カバレッジポイント抽出手段２０１は、図４（ｃ）の斜線で示された領域を構成する点（同図中のａ、ｂ、ｃおよびｄ）と、領域を構成する辺（同図中の同ｅ、ｆ、ｇおよびｈ）と、領域を構成する面（同図中のｉ、但し、同図中のａ乃至ｈを除く）とを、カバレッジポイントとして抽出する。
【００３１】
入力値生成手段２０３は、入力された仕様（具体的には制約条件）を満たすように、ディジタル回路への入力値を生成する。入力値生成手段２０３は、図４に示す例では、図４（ｃ）の斜線で示された領域に含まれる点をランダムに生成する。
【００３２】
検証手段２０４は、前記入力値生成手段２０３が生成したディジタル回路への入力値をディジタル回路へ入力し、その入力によりディジタル回路が出力した出力値に基づいてディジタル回路の内部状態が仕様に合致しているか否かを確認する。そして、ディジタル回路の内部状態が仕様に合致していると検証手段２０４が確認した場合には、ディジタル回路が仕様通りであると検証される。
【００３３】
機能カバレッジ確認手段２０５は、入力値生成手段２０３により生成された入力値がカバレッジポイント抽出手段２０１により抽出されたカバレッジポイントに含まれているかを確認し、その確認結果を記憶する。また、機能カバレッジ確認手段２０５は、各カバレッジポイントに含まれる入力値が入力値生成手段２０３により生成されたか否か、および、生成された入力値の生成回数や生成頻度等の機能カバレッジ情報を出力する。
【００３４】
次に、本実施形態における機能検証システムの動作について説明する。
【００３５】
まず、ディジタル回路の仕様（制約条件を含む）が、カバレッジポイント抽出手段２０１および入力値生成手段２０３に入力される。
【００３６】
次に、カバレッジポイント抽出手段２０１において、入力された制約条件から上記方法に従ってカバレッジポイントが抽出され、そのカバレッジポイントが機能カバレッジ確認手段２０５へ出力される。
【００３７】
また、入力値生成手段２０３において、入力された制約条件を満たすようにディジタル回路への入力値が生成され、その入力値が検証手段２０４および機能カバレッジ確認手段２０５へ出力される。
【００３８】
その後、検証手段２０４において、上記入力値がディジタル回路に入力され、この入力によりディジタル回路からの出力値が検出される。そして、検出された出力値に基づいてディジタル回路の機能が仕様に合致していることが検証され、その検証結果が出力される。
【００３９】
また、機能カバレッジ確認手段２０５において、上記入力値が複数のカバレッジポイントのうちどのカバレッジポイントに含まれるかが記録され、各カバレッジポイントに含まれる入力値が入力値生成手段２０３により生成されたか否か、入力値の生成回数および生成された頻度等の機能カバレッジ情報が出力される。
【００４０】
以上説明したとおり、本実施形態にかかる機能検証システム２００は、ディジタル回路に予め定義された仕様を満たすような制約を付けたランダムな値を前記ディジタル回路の入力パラメータとして与えて、前記ディジタル回路の出力パラメータの値と前記ディジタル回路の仕様との合致を確認するシステムである。この機能検証システムでは、人手によって経験的にカバレッジポイントを定義するのではなく、ディジタル回路の仕様がカバレッジ抽出手段２０１に入力され、そのカバレッジ抽出手段２０１がディジタル回路の仕様に基づいて抽出する。その結果、ディジタル回路のカバレッジポイントを適切に設定するための検討に伴って発生する検証工数の削減を図ることができる。
【００４１】
また、本実施形態にかかる機能検証システム２００は、カバレッジポイントの網羅性を確認できる。その結果、カバレッジポイントの検討の誤りに起因する機能検証の品質低下を少なくすることが可能となる。
【００４２】
《発明の実施形態２》
実施形態２では、機能シミュレーション装置のハードウェア構成は上記実施形態１と略同一（図１）であるが、機能検証システムは上記実施形態１とは異なる。以下では、上記実施形態１とは異なる部分を主に説明する。
【００４３】
図３に、本実施形態における機能検証システム３００を図示する。
【００４４】
機能検証システム３００は、カバレッジポイント抽出手段３０１、カバレッジポイント選択手段３０２、入力値生成手段３０３および検証手段３０４を備えている。なお、カバレッジポイント抽出手段３０１および検証手段３０４はそれぞれ上記実施形１と略同一であるので、本実施形態ではこれらの説明を省略する。
【００４５】
カバレッジポイント選択手段３０２は、カバレッジポイント抽出手段３０１が出力したカバレッジポイントの中から、カバレッジポイントを選択して、出力する。
【００４６】
入力値生成手段３０３には、ディジタル回路の仕様（制約条件）と、カバレッジポイント選択手段３０２が選択したカバレッジポイントとが入力される。そして、入力値生成手段３０３は、ディジタル回路の仕様を満たすように、且つ、入力されたカバレッジポイントに含まれるように、入力値を生成する。
【００４７】
次に、本実施形態における機能検証システムの動作について説明する。
【００４８】
まず、ディジタル回路の仕様（制約条件を含む）が、カバレッジポイント抽出手段３０１および入力値生成手段３０３に入力される。
【００４９】
次に、カバレッジポイント抽出手段３０１において、入力された制約条件に基づいて上記実施形態１に記載の方法に従ってカバレッジポイントが抽出され、そのカバレッジポイントがカバレッジポイント選択手段３０２へ出力される。
【００５０】
それから、カバレッジポイント選択手段３０２において、抽出されたカバレッジポイントのうち任意のカバレッジポイントが選択されて入力値生成手段３０３へ出力される。
【００５１】
例えば、図４に示す具体例では、カバレッジポイント抽出手段３０１は、ａ、ｂ、ｃ、ｄ、ｅ、ｆ、ｇ、ｈ、ｉをカバレッジポイントとして抽出してカバレッジポイント選択手段３０２へ出力する。カバレッジポイント選択手段３０２は、カバレッジポイント抽出手段３０１が抽出したａ、ｂ、ｃ、ｄ、ｅ、ｆ、ｇ、ｈ、ｉのうち、ランダムにカバレッジポイントを選択して出力する。例えば、カバレッジポイント選択手段３０２は、ｂ、ｇ、ｅ、ｉ、ｃ、ｂ、ａ、…という順に、カバレッジポイントを出力する。
【００５２】
その後、入力値生成手段３０３において、ディジタル回路の仕様を満たすように、また、カバレッジポイント選択手段３０２が選択出力したカバレッジポイントに含まれるように、入力値がランダムに生成される。その入力値は、検証手段３０４へ出力される。
【００５３】
例えば、図４に示す具体例において、あるカバレッジポイント選択手段３０２から出力されたカバレッジポイントがｆであった場合には、入力値生成手段３０３は、カバレッジポイントｆに含まれる入力値から（ｘ，ｙ）＝（９，０）をランダムに生成して、検証手段３０４へ出力する。
【００５４】
そして、検証手段３０４において、入力値生成手段３０３が出力した入力値がディジタル回路へ入力され、その場合のディジタル回路の出力値および内部状態がディジタル回路の仕様通りであるか否かが確認される。これにより、被検証回路となるディジタル回路がディジタル回路の仕様通りであることが検証され、検証結果が出力される。
【００５５】
以上説明したとおり、本実施形態にかかる機能検証システム３００は、上記実施形態１にかかる機能検証システム２００と同じように、人為的にカバレッジポイントを定義するのではなく、カバレッジ抽出手段３０１が制約条件からカバレッジポイントを抽出する。その結果、ディジタル回路のカバレッジポイントを適切に設定するための検討に伴って発生する検証工数の削減を図ることができる。また、本実施形態にかかる機能検証システム３００においてもカバレッジポイントの網羅性を確認できるので、カバレッジポイントの検討の誤りに起因する機能検証の品質低下を少なくすることが可能となる。
【００５６】
さらに、本実施形態にかかる機能検証システム３００では、予めカバレッジポイントを抽出して、そのカバレッジポイントの何れかを選択した上で選択されたカバレッジポイントに含まれる入力値を生成する。これにより、機能カバレッジを効果的に満たすような入力値の生成が可能となる。
【産業上の利用可能性】
【００５７】
以上説明したように、本発明は、ディジタル回路が予め定められた仕様に合致して動作しているか否かを検証する場合に有用である。
【図面の簡単な説明】
【００５８】
【図１】本発明に係る機能シミュレーションシステムのハードウェア構成例を示すブロック図
【図２】実施形態１に係る機能検証システムの構成図
【図３】実施形態２に係る機能検証システムの構成図
【図４】制約条件からカバレッジポイントを抽出する方法を説明するための図であり、同図（ａ）はディジタル回路が発生する信号の模式図、同図（ｂ）は制約条件を示す図、同図（ｃ）はカバレッジポイントを示す図
【符号の説明】
【００５９】
２７    キーボード
２８    マウス
２９    処理装置
３０    記憶装置
３１    ディスプレイ装置
２００，３００    機能検証システム
２０１，３０１    カバレッジポイント抽出手段
２０３，３０３    入力値生成手段
２０４，３０４    検証手段
２０５    機能カバレッジ確認手段
３０２    カバレッジポイント選択手段
【図１】
2008102673.tif 000003
【図２】
2008102673.tif 000004
【図３】
2008102673.tif 000005
【図４】
2008102673.tif 000006