JP2008204100A - 論理検証方法及び検証装置 - Google Patents
論理検証方法及び検証装置 Download PDFInfo
- Publication number
- JP2008204100A JP2008204100A JP2007038425A JP2007038425A JP2008204100A JP 2008204100 A JP2008204100 A JP 2008204100A JP 2007038425 A JP2007038425 A JP 2007038425A JP 2007038425 A JP2007038425 A JP 2007038425A JP 2008204100 A JP2008204100 A JP 2008204100A
- Authority
- JP
- Japan
- Prior art keywords
- functions
- function
- verification
- bus
- group
- 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.)
- Withdrawn
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】 十分な検証精度を得るために、実用的な時間で、機能の組み合わせの依存関係を解析し、機能を分類する。
【解決手段】 検証対象の機能の特徴を表す属性に基づいてその機能の依存関係を解析し、依存関係の有無により機能を分類する。そして依存関係の有る機能間にクロスファンクションカバレッジの取得を設定し、依存関係の無い機能のテストは並行して実行するようにテスト実行手順を作成する。
【選択図】 図9
【解決手段】 検証対象の機能の特徴を表す属性に基づいてその機能の依存関係を解析し、依存関係の有無により機能を分類する。そして依存関係の有る機能間にクロスファンクションカバレッジの取得を設定し、依存関係の無い機能のテストは並行して実行するようにテスト実行手順を作成する。
【選択図】 図9
Description
本発明は、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせからなる検証対象の論理システムを検証する技術に関する。
LSIを含む論理システムの規模や論理システムが有する機能は年毎に増加している。これに伴い、論理システムの検証にかかる工数も増加している。一方、市場には消費者が欲するときに製品を投入しなければならず、LSIを始めとした論理システムの開発期間は短くなっている。そこで、論理システムの検証効率を向上させる必要が生じている。
また、論理システムの検証において、論理システムが持つ個々の機能を単独で検証するだけでなく、機能の組み合わせも検証しなければいけない。これは、依存関係のある機能間では、組み合わせにより初めて出現する事象が存在するからである。
現在、論理システムの検証には、シミュレータを使用した動的検証を用いることが多い。この動的検証において、検証作業を管理するために、ファンクションカバレッジを取得する。ここで、ファンクションカバレッジは、事象が出現した回数が閾値に占める割合である。
事象が出現する条件と閾値とを予め設定しておき、動的検証実行時に事象の出現条件が成立する回数を計測する。そして、事象が出現する条件に、複数の機能に関係する条件を含めれば、機能の組み合わせについてファンクションカバレッジを取得することが可能である。
ファンクションカバレッジが100%以上ならば、その事象の検証を実施したと判断する。予め出現条件を設定した事象全てについて、ファンクションカバレッジが100%を超えたならば、検証完了とする。このファンクションカバレッジの取得は、市販の検証用ツール、例えばCadence社のSpecman-eliteで可能である。
尚、ファンクションカバレッジを設定していない事象は、検証を実施したか否かの判断ができないため、検証未実施になる可能性がある。反対に、依存関係のない組み合わせにファンクションカバレッジを設定すると、検証が終了しない恐れがある。
即ち、検証作業の管理にファンクションカバレッジを用いる場合、検証精度と検証効率はファンクションカバレッジ取得の品質に左右される。従って、依存関係を抽出する精度や調査の範囲が重要である。
依存関係を抽出する精度や調査の範囲が重要であることを、a,b,cの3機能を持つ論理システムを例に説明する。ここで、活性化している機能を{}で囲って表す。即ち、{a}は機能aが活性化していること示している。そして、{ab}は機能aと機能bが活性化することを示している。このとき、機能aと機能bが活性化する順番は問わない。機能aが活性化してから機能bが活性化しても、機能bが活性化してから機能aが活性化しても良い。更に、機能aと機能bが同時に活性化しても良い。ただし、機能a及び機能b以外の機能、即ち機能cが活性化してはならない。また{φ}はa,b,cの何れの機能も活性化していない状態を示している。
この論理システムが取りうる機能の組み合わせは、{φ},{a},{b},{c},{ab},{bc},{ac},{abc}の8通りになる。この8通り全てについて、検証を実施することが必要である。
しかし、上記8通りの組み合わせを検証したのみでは、十分ではない。例えば、以下の二つの事象を考える。
1)機能aが活性化し、機能a,b,cが活性化({a},{a,b,c})
2)機能bが活性化し機能a,b,cが活性化({b},{a,b,c})
ここで、{a}と{a,b,c}の間に依存関係が存在するが、{b}と{a,b,c}の間には依存関係が存在しないとする。この場合、論理システムの状態と出力値とが、上記1)と2)で異なる可能性がある。従って、上記1)と2)の双方の検証を実施しなければならない。一方、{a}、{b}、及び{a,b,c}間に依存関係が存在しないならば、{a}、{b}、{a,b,c}をそれぞれ独立して検証して良い。
1)機能aが活性化し、機能a,b,cが活性化({a},{a,b,c})
2)機能bが活性化し機能a,b,cが活性化({b},{a,b,c})
ここで、{a}と{a,b,c}の間に依存関係が存在するが、{b}と{a,b,c}の間には依存関係が存在しないとする。この場合、論理システムの状態と出力値とが、上記1)と2)で異なる可能性がある。従って、上記1)と2)の双方の検証を実施しなければならない。一方、{a}、{b}、及び{a,b,c}間に依存関係が存在しないならば、{a}、{b}、{a,b,c}をそれぞれ独立して検証して良い。
即ち、必要かつ十分な検証精度を得るには、機能の組み合わせの依存関係まで考慮して検証を実施しなければならない。そして、機能の組み合わせの依存関係を抽出するためには、機能の組み合わせの組み合わせ全てについて依存関係を調査しなければならない。
しかし、機能の数が多くなると、機能の組み合わせの組み合わせ数は莫大な数になる。例えば、機能の数が3、5、10の場合を考える。それぞれの場合について、機能の組み合わせ数と機能の組み合わせの組み合わせ数は以下のようになる。
1)機能数が3
機能の組み合わせ数 (23 =8)通り
機能の組み合わせの組み合わせ数(28 =256)通り
2)機能数が5
機能の組み合わせ数 (25 =32)通り
機能の組み合わせの組み合わせ数(232=4294967296)通り
3)機能数が10
機能の組み合わせ数 (210=1024)通り
機能の組み合わせの組み合わせ数(21024=1.79E308)通り。
Y.Matsunaga,"An exact and efficient algorithm for disjunctive decomposition," In Proc. of SASIMI-98,pp.44-50,1998. 湊、「ゼロサプレス型BDDに基づく組合せ集合の単直交分解の抽出」、DAシンポジウム2005論文集、pp175−180、2005年
1)機能数が3
機能の組み合わせ数 (23 =8)通り
機能の組み合わせの組み合わせ数(28 =256)通り
2)機能数が5
機能の組み合わせ数 (25 =32)通り
機能の組み合わせの組み合わせ数(232=4294967296)通り
3)機能数が10
機能の組み合わせ数 (210=1024)通り
機能の組み合わせの組み合わせ数(21024=1.79E308)通り。
Y.Matsunaga,"An exact and efficient algorithm for disjunctive decomposition," In Proc. of SASIMI-98,pp.44-50,1998. 湊、「ゼロサプレス型BDDに基づく組合せ集合の単直交分解の抽出」、DAシンポジウム2005論文集、pp175−180、2005年
従来、検証担当者が論理システムの仕様に基づき依存関係を抽出している。一方、論理システムが有する機能の数は年毎に増加しており、多くの論理システムで機能の数が10を超えている。
従って、多くの論理システムにおいては、機能の組み合わせ間の依存関係のみならず、機能間の依存関係ですら、従来の手法で全て抽出することは事実上不可能である。
全ての依存関係を抽出できなければ、存在する依存関係を見落とす可能性や存在しない依存関係を抽出する可能性が否定できない。これは、ファンクションカバレッジの取得の品質を低下させる原因になる。
従って、十分な検証精度が得られない、或いは検証に時間がかかることにより、十分な精度を持つ論理システムを予定の期間内に完成させることができず、市場が欲するときに製品を投入できない。また、不十分な精度のまま製品を市場に投入してしまう。
本発明は、上記課題を解決するためになされたものであり、十分な検証精度を得るために、実用的な時間で、機能の組み合わせの依存関係を解析し、機能を分類することを目的とする。
本発明は、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせからなる検証対象の論理システムを検証するための論理検証装置にて実行される論理検証方法であって、前記検証対象の複数の機能を分類する分類工程と、前記分類された機能に基づいて検証実行手順を作成する作成工程とを有することを特徴とする。
また、本発明は、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせからなる検証対象の論理システムを検証するための論理検証装置であって、前記検証対象の複数の機能を分類する分類手段と、前記分類された機能に基づいて検証実行手順を作成する作成手段とを有することを特徴とする。
本発明によれば、ハードウェア、ソフトウェア、或いはハードウェアとソフトウェアの組み合わせからなる論理システムが有する機能の組み合わせの依存関係を実用的な時間で全て抽出することが可能となる。その結果、機能の組み合わせの依存関係まで考慮して、ファンクションカバレッジを取得し、検証を実施することが可能となる。
また、機能の依存関係を考慮した検証順の設定が容易になる。従って、検証精度と検証効率を向上させることが可能となる。
従って、十分な精度を持つ論理システムを予定の期間内に完成させることができ、市場が欲するときに製品を投入することが可能となる。
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
[第1の実施形態]
第1の実施形態では、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせからなる検証対象を論理検証する際に、機能の組み合わせの依存関係により機能を分類する方法を説明する。
第1の実施形態では、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせからなる検証対象を論理検証する際に、機能の組み合わせの依存関係により機能を分類する方法を説明する。
図1は、第1の実施形態における機能の依存関係を解析する解析方法を説明するための図である。図1において、11は機能属性、12は機能分類結果、21は依存関係解析器である。依存関係解析器21は、機能属性11に基づいて機能の依存関係を解析し、その解析結果を機能分類結果12として出力する。
ここで機能の依存関係を解析する依存関係解析器21の解析処理を説明する前に、まず機能属性11について図2及び図3を用いて説明する。
機能属性11は検証対象の持つ機能の特徴を表す項目である。機能の特徴を表す項目の例として、バスライトやバスリードといった動作の種類やデータ長などがある。しかし、ここでは複数の項目の中から値が一意に定まる特徴の項目を機能属性11とする。また、機能属性11の数に制約はないが、できるだけ多いほうが望ましい。
図2は、検証対象であるモジュールの構成の一例を示す図である。図2に示すように、モジュール31はバスA32とバスB33の二系統のバスを持つ。バスA32には、バスマスタa34とバススレーブb35の各ブロックが接続されている。一方、バスB33には、バスマスタc37とバススレーブd38の各ブロックが接続されている。更に、バスA32とバスB33はバスブリッジ36で相互に接続されている。
バスA32に接続するバスマスタa34とバススレーブb35は、バスA32を介してデータの書き込み(write)動作と読み込み(read)動作とが可能である。また同様に、バスB33に接続するバスマスタc37とバススレーブd38も、バスB33を介してwrite動作とread動作とが可能である。
また、バスマスタa34とバススレーブd38或いはバスマスタc37とバススレーブb35は、それぞれバスブリッジ36を介してwrite動作とread動作とが可能である。
バススレーブb35が持つアドレス空間を0x0000〜0x3fffとする。ここで「0x」は16進数を表している。即ち、バスマスタa34はアドレス値を0x0000〜0x3fffにして、read動作を実行すればバススレーブb35からデータを読み出し、write動作を実行すればバススレーブb35にデータを書き込む。
一方、バスマスタc37がアドレス値を0x0000〜0x3fffにして、read動作を実行すれば、バスブリッジ36を介してバススレーブb35からデータを読み出す。そして、バスマスタc37がアドレス値を0x0000〜0x3fffにして、write動作を実行すれば、バスブリッジ36を介してバススレーブb35にデータを書き込む。
図3は、図2に示すモジュール31が持つ機能の一覧を示す図である。図3に示すように、機能一覧41に記載の機能は、モジュール31が持つ複数の機能のうちread動作とwrite動作の一部である。そして、機能一覧41に記載の項目がモジュール31が持つ機能の機能属性11である。
図3において、機能名42は、モジュール31が持つ機能の名称である。動作43は、read動作かwrite動作の何れであるかを示している。転送元44及び転送先45は、それぞれデータの転送元のブロック名、データの転送先のブロック名を示している。使用バス46は、データ転送に使用するバスを示している。この使用バス46において、値「D」は、バスブリッジ36を介してバスA32とバスB33の両方を使用することを表すものとする。この機能一覧41において、機能r_MaSbの機能属性11の値は、以下のようになっている。
機能名42 r_MaSb
動作43 read
転送元44 スレーブb
転送先45 マスタa
使用バス46 A
即ち、この機能r_MaSbは、バスマスタa34がバススレーブb35からデータを、バスA32を使用して読み込む(read)動作である。同様に、機能w_McSbの機能属性11の値は、以下の通りである。
動作43 read
転送元44 スレーブb
転送先45 マスタa
使用バス46 A
即ち、この機能r_MaSbは、バスマスタa34がバススレーブb35からデータを、バスA32を使用して読み込む(read)動作である。同様に、機能w_McSbの機能属性11の値は、以下の通りである。
機能名42 w_McSb
動作43 write
転送元44 マスタc
転送先45 スレーブb
使用バス46 D
即ち、この機能w_McSbは、バスマスタc37がバスブリッジ36を介してバスA32に接続するバススレーブb35にデータを書き込む(write)動作である。
動作43 write
転送元44 マスタc
転送先45 スレーブb
使用バス46 D
即ち、この機能w_McSbは、バスマスタc37がバスブリッジ36を介してバスA32に接続するバススレーブb35にデータを書き込む(write)動作である。
次に、機能の依存関係を解析する依存関係解析器21の処理を説明する。依存関係解析器21は、機能属性11に基づき機能の組み合わせ間の依存関係を求め、グループ分けを行う。そして、グループ分けした結果を機能分類結果12として出力する。
ここで、依存関係解析器21が行うグループ分けを説明する。機能属性11に基づいて機能や機能の組み合わせの依存関係を求める。尚、機能の組み合わせ間の依存関係を抽出するためには、機能の組み合わせの組み合わせを調査する必要がある。しかし、既に説明したように、機能の組み合わせの組み合わせは数が多い。そこで、第1の実施形態では、抽出範囲を機能の依存関係に限定し、グループ分けを行う場合を詳細に説明する。
機能の例として、機能一覧41に示す機能のうち、r_MaSb、w_MaSb、r_McSd、w_McSdを用いる。まず、機能属性11に基づき、互いに依存関係の有る機能を同じグループに、依存関係の無い機能を別のグループに分類する。
グループA:{r_MaSb}、{r_McSd}
グループB:{w_MaSb}、{w_McSd}
グループAはread動作のグループであり、グループBはwrite動作のグループである。即ち、動作43が同じ値を持つ機能名42を同じグループに分類し、動作43が異なる値を持つ機能名42を別のグループに分類する。また、この4機能は以下のようにも分類できる。
グループB:{w_MaSb}、{w_McSd}
グループAはread動作のグループであり、グループBはwrite動作のグループである。即ち、動作43が同じ値を持つ機能名42を同じグループに分類し、動作43が異なる値を持つ機能名42を別のグループに分類する。また、この4機能は以下のようにも分類できる。
グループC:{r_MaSb}、{w_MaSb}
グループD:{r_McSd}、{w_McSd}
グループCはバスA32のみを使用するグループであり、グループDはバスB33のみを使用するグループである。即ち、使用バス46の値で分類する。
グループD:{r_McSd}、{w_McSd}
グループCはバスA32のみを使用するグループであり、グループDはバスB33のみを使用するグループである。即ち、使用バス46の値で分類する。
図4又は図5は、機能をグループ分けした状態を示す図である。図4は、グループAとグループBに分けた場合を示す図である。集合Sd(a)がグループA、集合Sd(b)がグループBである。また同様に、図5は、グループCとグループDに分けた場合を示す図である。集合Sd(c)がグループC、集合Sd(d)がグループDである。
即ち、依存関係解析器21の処理は、機能の組み合わせを要素とする集合Sを、互いに要素を共有しない集合Sdに分解する処理であると言える。
尚、上述の集合Sを、要素を共有しない集合に分解する方法として、特性関数とBDD(Binary Decision Diagrams:二分決定グラフ)を使用することができる。即ち、集合を特性関数に対応付け、その特性関数をBDDで非明示的に表現する。このBDDを操作し、特性関数を互いに変数を共有しない部分関数に分解する。分解の結果得られた部分関数が表す集合が求める集合である。
特性関数は、集合に対応付けた1つの論理関数である。例えば、次のように集合と論理関数を対応付けすることができる。例として、図6に示す真理値表を考える。図6に示すa,b,cの各変数のうち、真(1)の変数を集合の要素とする。例えば、a,b,cの各変数の値が1,0,0ならば{a}になる。また、Fが真(1)になる要素の集合は、以下の集合である。
{ab,abc,bc,c}
また、Fを表す論理関数を求めると、以下に示す(1)式となる。
また、Fを表す論理関数を求めると、以下に示す(1)式となる。
F=ab+¬ac …(1)
ここで、記号「¬」は否定(not)を表すものとする。このように、集合と論理関数を対応付けすることができる。式1が、集合{ab,abc,bc,c}を表す特性関数である。
ここで、記号「¬」は否定(not)を表すものとする。このように、集合と論理関数を対応付けすることができる。式1が、集合{ab,abc,bc,c}を表す特性関数である。
次に、BDDを使用して論理関数や集合を分解する方法は、従来数多く提案されており、周知技術である。非特許文献1には、論理関数を分解するアルゴリズムが示されている。また、非特許文献2には、組み合わせ集合を、要素を共有しない集合に分解するアルゴリズムが示されている。
尚、本発明は、集合を分解する方法やアルゴリズムに依存したものではないので、機能の組み合わせを要素とする集合Sを分解する方法やアルゴリズムを特性関数とBDDとを用いる方法に限定するものではない。
第1の実施形態によれば、機能属性に基づいて検証対象の論理システムが有する機能の組み合わせの依存関係を実用的な時間で全て抽出することができる。
[第2の実施形態]
次に、図面を参照しながら本発明に係る第2の実施形態を詳細に説明する。第2の実施形態では、第1の実施形態で分類された機能の依存関係の有無に基づいてファンクションカバレッジを取得すると共に、検証実行手順を作成する方法を説明する。
次に、図面を参照しながら本発明に係る第2の実施形態を詳細に説明する。第2の実施形態では、第1の実施形態で分類された機能の依存関係の有無に基づいてファンクションカバレッジを取得すると共に、検証実行手順を作成する方法を説明する。
図7は、第2の実施形態におけるファンクションカバレッジの生成方法を説明するための図である。第1の実施形態で説明した機能分類結果12からファンクションカバレッジ生成器22がファンクションカバレッジ13を生成し、検証実施予定表作成器23が検証実施予定表14を生成する。
機能分類結果12には、依存関係の有る機能の組み合わせが同じグループに分類されている。グループ分けの一例として、以下のグループEを使用する。尚、r_MaSb、w_MaSbは、機能一覧41に示した機能である。
グループE:{r_MaSb}、{w_MaSb}、{r_MaSb,w_MaSb}
ファンクションカバレッジ生成器22は、グループの各要素に対応するファンクションカバレッジを生成する。ここでは、グループEの{r_MaSb}、{w_MaSb}、{r_MaSb,w_MaSb}の各要素に対応するファンクションカバレッジを生成する。
ファンクションカバレッジ生成器22は、グループの各要素に対応するファンクションカバレッジを生成する。ここでは、グループEの{r_MaSb}、{w_MaSb}、{r_MaSb,w_MaSb}の各要素に対応するファンクションカバレッジを生成する。
ここで、ファンクションカバレッジ生成器22が生成するファンクションカバレッジの一例を、図8を用いて説明する。
図8は、グループEに対して設定したファンクションカバレッジの定義の一例を示す図である。この例51は、市販の検証環境であるSpecman-eliteで使われているe言語で、ファンクションカバレッジを定義した例である。尚、本発明はファンクションカバレッジを定義する言語に依存した発明ではないので、ファンクションカバレッジの定義をe言語に限定するものではない。
図8に示すように、まずevent文でファンクションカバレッジを取得するきっかけ、つまりイベントを定義する。そして、cover文で定義したイベントに対応するファンクションカバレッジの取得を定義する。
一行目は、イベントr_busa_opを定義している。このイベント定義は、イベントr_MaSbが信号ma_rd_enbの立ち上がり(rise)で有効になることを示している。尚、信号ma_rd_enbはバスマスタa34が出力するread動作を示す信号である。即ち、イベントr_busa_opはバスマスタa34のread動作時に有効になる。次のイベントw_busa_opはバスマスタa34のwrite動作時に有効になる。
三番目のイベント定義と四番目のイベント定義は、イベントr_busa_opとイベントw_busa_opの組み合わせに対応するイベントを定義する。イベントの定義では発生順が重要であるため、発生順を明示しイベントを定義する。三番目のイベント定義は、以下の通りである。
@w_busa_op イベントw_busa_opが発生
[..] 任意の時間が経過
@r_busa_op イベントr_busa_opが発生
つまり、イベントw_busa_opの後、イベントr_busa_opが発生するが、その発生間隔は任意である。ただし、イベントw_busa_opとイベントr_busa_opの間に別のイベントが発生してはいけない。
[..] 任意の時間が経過
@r_busa_op イベントr_busa_opが発生
つまり、イベントw_busa_opの後、イベントr_busa_opが発生するが、その発生間隔は任意である。ただし、イベントw_busa_opとイベントr_busa_opの間に別のイベントが発生してはいけない。
四番目のイベント定義は、イベントr_busa_op、イベントw_busa_opの順に発生するイベントを定義している。
続くcover文で、グループEの各要素に対応するファンクションカバレッジを定義する。一番目のcover文は、イベントr_busa_opが発生し、かつ信号addの値が0x0000〜0x3fffの範囲であれば、ファンクションカバレッジを取得することを定義している。信号addはアドレスを示す信号である。従って、バスマスタa34がバススレーブb35からデータを読み込むread動作、機能r_MaSbが発生すると、ファンクションカバレッジを取得する。つまり、グループEの要素{r_MaSb}に対応するファンクションカバレッジを取得することを定義している。二番目のcover文は、{w_MaSb}に対応するファンクションカバレッジの取得を定義する。そして、三番目と四番目のcover文で、{r_MaSb,w_MaSb}に対応するファンクションカバレッジを定義している。
このように、依存関係の有る機能間にクロスファンクションカバレッジの取得を定義し、検証精度と検証効率を向上させることができるファンクションカバレッジを取得可能となる。
次に、検証実施予定表作成器23の処理を説明する。ここでは、グループ分けの一例として、ファンクションカバレッジ生成器22の説明に使用したグループE及び以下のような要素からなるグループFを使用する。尚、r_MaSb、w_MaSb、r_McSd、w_McSdは、機能一覧41に示した機能である。
グループE:{r_MaSb}、{w_MaSb}、{r_MaSb,w_MaSb}
グループF:{r_McSd}、{w_McSd}、{r_McSd,w_McSd}
グループEはバスA32のみを使用する機能、グループFはバスB33のみを使用する機能である。従って、グループEとグループFの機能は互いに独立して動作可能である。そこで、グループEとグループFから一要素ずつ選択しテストを作成すれば、互いに独立した機能を並行して実行可能なテストを作成できる。ここで、機能の組み合わせからなる要素{r_MaSb,w_MaSb}、{r_McSd,w_McSd}は、順序を考慮してテストを作成する。
グループF:{r_McSd}、{w_McSd}、{r_McSd,w_McSd}
グループEはバスA32のみを使用する機能、グループFはバスB33のみを使用する機能である。従って、グループEとグループFの機能は互いに独立して動作可能である。そこで、グループEとグループFから一要素ずつ選択しテストを作成すれば、互いに独立した機能を並行して実行可能なテストを作成できる。ここで、機能の組み合わせからなる要素{r_MaSb,w_MaSb}、{r_McSd,w_McSd}は、順序を考慮してテストを作成する。
このように、検証実施予定表作成器23は、依存関係の無いテストは並行して実行するように検証実施予定表(検証実行手順)14を作成する。
図9は、第1及び第2の実施形態で説明した図1及び図7を組み合わせて機能の検証を実施する方法を説明するための図である。図9に示すように、機能属性11に基づき依存関係解析器21が機能の依存関係を解析して機能分類結果12を出力する。そして、その機能分類結果12からファンクションカバレッジ生成器22がファンクションカバレッジを生成し、検証実施予定表作成器23が検証実施予定表14を作成する。
第2の実施形態によれば、機能の組み合わせの依存関係まで考慮して、ファンクションカバレッジを取得し、検証を実施することが可能となる。また、機能の依存関係を考慮した検証順の設定が容易になり、検証精度と検証効率を向上させることが可能となる。
尚、本発明は複数の機器(例えば、ホストコンピュータ,インターフェース機器,リーダ,プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用しても良い。
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
このプログラムコードを供給するための記録媒体として、例えばフレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合である。
更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
11 機能属性
12 機能分類結果
13 ファンクションカバレッジ
14 検証実施予定表
21 依存関係解析器
22 ファンクションカバレッジ生成器
23 検証実施予定表作成器
12 機能分類結果
13 ファンクションカバレッジ
14 検証実施予定表
21 依存関係解析器
22 ファンクションカバレッジ生成器
23 検証実施予定表作成器
Claims (7)
- ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせからなる検証対象の論理システムを検証するための検証装置にて実行される論理検証方法であって、
前記検証対象の複数の機能を分類する分類工程と、
前記分類された機能に基づいて検証実行手順を作成する作成工程とを有することを特徴とする論理検証方法。 - 前記分類工程は、前記機能の特徴を表す属性に基づいて前記複数の機能間の依存関係を解析し、該依存関係の有無により前記機能を分類することを特徴とする請求項1に記載の論理検証方法。
- 前記分類された機能に基づいてファンクションカバレッジの取得を設定する工程を更に有し、
前記設定する工程は、前記依存関係の有る機能間にクロスファンクションカバレッジの取得を設定することを特徴とする請求項2に記載の論理検証方法。 - 前記作成工程は、前記依存関係の無い機能間の検証は並行して実行するように前記検証実行手順を作成することを特徴とする請求項2又は3に記載の論理検証方法。
- ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせからなる検証対象の論理システムを検証するための検証装置であって、
前記検証対象の複数の機能を分類する分類手段と、
前記分類された機能に基づいて検証実行手順を作成する作成手段とを有することを特徴とする検証装置。 - 請求項1乃至4の何れか1項に記載の論理検証方法をコンピュータに実行させるためのプログラム。
- 請求項6に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007038425A JP2008204100A (ja) | 2007-02-19 | 2007-02-19 | 論理検証方法及び検証装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007038425A JP2008204100A (ja) | 2007-02-19 | 2007-02-19 | 論理検証方法及び検証装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008204100A true JP2008204100A (ja) | 2008-09-04 |
Family
ID=39781557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007038425A Withdrawn JP2008204100A (ja) | 2007-02-19 | 2007-02-19 | 論理検証方法及び検証装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008204100A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014002622A (ja) * | 2012-06-19 | 2014-01-09 | Hitachi Ltd | 論理検証システム及びカバレジ取得方法 |
-
2007
- 2007-02-19 JP JP2007038425A patent/JP2008204100A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014002622A (ja) * | 2012-06-19 | 2014-01-09 | Hitachi Ltd | 論理検証システム及びカバレジ取得方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7844953B2 (en) | Program, apparatus and method for verifying program | |
US8799838B2 (en) | Equivalence checking method, equivalence checking program, and equivalence checking device | |
US6763505B2 (en) | Apparatus and method for automated use of phase abstraction for enhanced verification of circuit designs | |
US8578311B1 (en) | Method and system for optimal diameter bounding of designs with complex feed-forward components | |
US9208278B2 (en) | Clustering using N-dimensional placement | |
US8990739B2 (en) | Model-based retiming with functional equivalence constraints | |
JP2016177454A (ja) | 動作合成方法、動作合成プログラムおよび動作合成装置 | |
US10592703B1 (en) | Method and system for processing verification tests for testing a design under test | |
JP2010003008A (ja) | 検出プログラム、検出装置および検出方法 | |
WO2012104907A1 (ja) | プログラムの実行性能評価のためのテストデータ生成方法 | |
JP2008186252A (ja) | テストベンチ生成機能を有する動作合成装置と方法及びプログラム | |
US6748573B2 (en) | Apparatus and method for removing effects of phase abstraction from a phase abstracted trace | |
US8978001B1 (en) | Enhanced case-splitting based property checking | |
JP4586864B2 (ja) | プロパティ自動生成装置 | |
US10162917B1 (en) | Method and system for implementing selective transformation for low power verification | |
US20100088656A1 (en) | Property checking system, property checking method, and computer-readable storage medium | |
US20130298102A1 (en) | Input Space Reduction for Verification Test Set Generation | |
JP2008204100A (ja) | 論理検証方法及び検証装置 | |
JP2013077124A (ja) | ソフトウェアテストケース生成装置 | |
US8522175B2 (en) | Semiconductor circuit design supporting apparatus and method, and non-transitory computer-readable medium | |
Mammo | Reining in the functional verification of complex processor designs with automation, prioritization, and approximation | |
Mikulcak et al. | Information flow analysis of combined simulink/stateflow models | |
Zheng et al. | A gradual scheduling framework for problem size reduction and cross basic block parallelism exploitation in high-level synthesis | |
US10503854B1 (en) | Method and system for generating validation tests | |
US9047428B2 (en) | Determining method, computer product, and determining apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100511 |