(57)【要約】      （修正有）【課題】機能仕様レベルでの検証の評価を効率的に行う検証評価装置を得る。【解決手段】レジスタ情報７１に登録されたアドレスにアクセスしてレジスタ情報７１に登録されたビット位置に書き込みまたは読み込みした時のパラメータ名およびパラメータ値と、起動情報７２の起動条件で機能モジュールが動作を開始した場合のタグ名と、終了情報７３の終了条件で機能モジュールが動作を終了した場合のタグ名とを時系列にバストランザクション情報に登録し、充足性評価部８４が、バストランザクション情報８３にレジスタ情報７１の全てのパラメータに対して当該パラメータのデータ値範囲内の値がパラメータ値として書き込みまたは読み込まれたことが登録され、起動情報７２に登録されたタグ名が登録され、終了情報７３に登録されたタグ名が登録されたことを検出した場合に機能モジュールの検証が行われたと判定し、判定結果を充足性評価結果１０に登録する。【選択図】図１
2008097374.tif 000002
【特許請求の範囲】
【請求項１】
バスによって接続された少なくとも１つの機能モジュールを制御するレジスタに割り当てられたパラメータにアサインされたアドレス、前記パラメータが割り当てられたビット位置、パラメータに設定可能なデータ値範囲が登録されたレジスタ情報と、起動条件を識別するためのタグ名に対応付けて前記機能モジュールの動作を開始させるレジスタのアドレス、および前記機能モジュールの動作を開始させるための起動条件が登録される起動情報と、終了条件を識別するためのタグ名に対応付けて前記機能モジュールの動作を終了させるレジスタのアドレス、および前記機能モジュールの動作を終了させるための終了条件が登録される終了情報とに基づいて、半導体集積回路が実現する機能を記述した設計結果情報の動作検証を行う検証データ情報を評価する検証評価装置であって、
前記検証データ情報を用いて前記設計結果情報を動作検証する動作検証部と、
前記動作検証部のバストランザクションを監視し、前記レジスタ情報に登録されたアドレスにアクセスし、アクセスしたアドレスに対応付けて前記レジスタ情報のビット位置に登録されたビット位置に書き込みまたは読み込みが行われた場合のパラメータ名およびパラメータ値と、前記起動情報に登録された起動条件によって前記機能モジュールが動作を開始した場合のタグ名と、前記終了情報に登録された終了条件によって前記機能モジュールが動作を終了した場合のタグ名とを時系列に登録したバストランザクション情報を生成するバストランザクション情報取得部と、
前記バストランザクション情報取得部によって生成されたバストランザクション情報に、前記レジスタ情報のパラメータ名に登録された全てのパラメータに対して当該レジスタのデータ値範囲内の値がパラメータの値として書き込みまたは読み込まれたことが登録され、その後に前記起動情報に登録されたタグ名が登録され、その後に前記終了情報に登録されたタグ名が登録されたことを検出した場合に前記機能モジュールの検証が行われたと判定し、判定結果を充足性評価結果に登録する充足性評価部と、
を備えることを特徴とする検証評価装置。
【請求項２】
前記充足性評価部は、
前記レジスタ情報のパラメータ名に登録されているパラメータに対応付けて当該パラメータのデータ値範囲のデータ値毎に検証が行われたか否かおよび検証が行われた回数を充足性評価結果に登録すること、
を特徴とする請求項１に記載の検証評価装置。
【請求項３】
前記充足性評価部は、
レジスタ名に対応付けて評価基準となる評価区分が登録された評価基準情報が入力された場合、前記評価基準情報に登録された評価区分に対応付けて、当該評価区分内のデータ値で検証が行われたか否かおよび検証が行われた回数を充足性評価結果に登録すること、
を特徴とする請求項２に記載の検証評価装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の機能を検証する検証評価装置に関するものであり、特に、検証の評価およびカバレッジを測定する検証評価装置に関するものである。
【背景技術】
【０００２】
近年、半導体製造の多層配線技術や微細化技術の向上により、ＬＳＩ（large  Scale  Integrated  Circuit)やＦＰＧＡ（Field  Programmable  Gate  Array）などの半導体集積回路の１チップの搭載ゲート規模も大きくなり、高性能・高機能を半導体集積回路が１チップで実現可能となっている。半導体集積回路のテストは、半導体集積回路が所望の機能を実現しているか否かをテストするためのテストパターンと、半導体集積回路内の素子を“Ｌ”と“Ｈ”に変化させて回路内の配線を全て活性化する縮退故障を検出するためのテストパターンとを用いて行われる。しかしながら、１チップの搭載ゲート規模が大きくなったことにより、半導体集積回路のテストパターンの作成が大きな問題となっている。そのため、従来から、テストパターンのカバレッジを測定する種々の技術が考えられている。
【０００３】
テストパターンのカバレッジの算出方法の１つに、ラインカバレッジがある。ラインカバレッジは、ハードウェア記述言語（ＨＤＬ：Hardware  description  language）の全記述のうち、シミュレーションで何行実行されたかによってカバレッジを算出するが、いつの時点でその行が実行されたかという時間的な概念がないために、たとえラインカバレッジ率が１００％であったとしても有効な検証をしたとは限らない。特許文献１に記載の従来技術には、このようなラインカバレッジの問題点を解決して、十分な検出を行うカバレッジの算出方法に関する技術が開示されている。
【０００４】
具体的には、有効テストパターン算出部が、外部から入力される論理レーションを行う論理回路に対応したプロパティをもとに論理回路の有効なテストパターン（これだけ行えば検証は十分であるというテストパターン）を算出し、カバレッジ率算出部が、ユーザによって入力されたテストパターンと、有効テストパターン算出部が算出した有効なテストパターンとがどれだけ一致するかによってカバレッジ率を算出する。すなわち、特許文献１に記載の従来技術では、カバレッジ率を、検証する論理回路の有効なテストパターンを信号の組合せと時刻情報を用いて表現したプロパティをもとに、有効なテストパターンと一致するテストパターンの割合から算出するようにしている。
【０００５】
【特許文献１】特開２００４−７０４５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、半導体集積回路の開発では、まず、どのような機能を実現するかを決定して機能仕様書が作成される。この機能仕様書に基づいて設計仕様が作成され論理設計が行われる。機能仕様書に記載される機能仕様は外部仕様であり、設計仕様書に記載される設計仕様は内部使用といえる。設計仕様書は、機能仕様書に基づいて設計者（人間の手）によって作成されるので、機能仕様書から設計仕様書への移行段階で不具合が入り込む恐れがある。この不具合は、機能仕様レベルでの健勝でなければ検出することはできない。よって、機能仕様の抽象度でのカバレッジの測定が必要となる。
【０００７】
しかしながら、上記特許文献１に記載のカバレッジの測定方法は、測定すべき事象は複数の信号の変化、すなわち設計結果の一部となっているため、設計仕様レベルでのカバレッジを測定することはできるが、機能仕様レベルでのカバレッジを測定することはできない。そのため、上記特許文献１に記載のカバレッジの測定方法では、機能仕様レベルでの検証漏れの可能性があり、半導体集積回路の論理品質を保証するのが困難であるという問題があった。
【０００８】
また、検証の評価やカバレッジ測定は大変手間のかかる作業であり、検証の評価やカバレッジ測定を行っていない開発も散見され、そのような場合は検証漏れの可能性は大きく、半導体集積回路の論理品質を確保するのが困難であるという問題があった。
【０００９】
本発明は、上記に鑑みてなされたものであって、機能仕様レベルでの検証の評価を効率的に行うことができる検証評価装置を得ることを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明は、バスによって接続された少なくとも１つの機能モジュールを制御するレジスタに割り当てられたパラメータにアサインされたアドレス、前記パラメータが割り当てられたビット位置、パラメータに設定可能なデータ値範囲が登録されたレジスタ情報と、起動条件を識別するためのタグ名に対応付けて前記機能モジュールの動作を開始させるレジスタのアドレス、および前記機能モジュールの動作を開始させるための起動条件が登録される起動情報と、終了条件を識別するためのタグ名に対応付けて前記機能モジュールの動作を終了させるレジスタのアドレス、および前記機能モジュールの動作を終了させるための終了条件が登録される終了情報とに基づいて、半導体集積回路が実現する機能を記述した設計結果情報の動作検証を行う検証データ情報を評価する検証評価装置であって、前記検証データ情報を用いて前記設計結果情報を動作検証する動作検証部と、前記動作検証部のバストランザクションを監視し、前記レジスタ情報に登録されたアドレスにアクセスし、アクセスしたアドレスに対応付けて前記レジスタ情報のビット位置に登録されたビット位置に書き込みまたは読み込みが行われた場合のパラメータ名およびパラメータ値と、前記起動情報に登録された起動条件によって前記機能モジュールが動作を開始した場合のタグ名と、前記終了情報に登録された終了条件によって前記機能モジュールが動作を終了した場合のタグ名とを時系列に登録したバストランザクション情報を生成するバストランザクション情報取得部と、前記バストランザクション情報取得部によって生成されたバストランザクション情報に、前記レジスタ情報のパラメータ名に登録された全てのパラメータに対して当該レジスタのデータ値範囲内の値がパラメータの値として書き込みまたは読み込まれたことが登録され、その後に前記起動情報に登録されたタグ名が登録され、その後に前記終了情報に登録されたタグ名が登録されたことを検出した場合に前記機能モジュールの検証が行われたと判定し、判定結果を充足性評価結果に登録する充足性評価部と、を備えることを特徴とする。
【発明の効果】
【００１１】
この発明によれば、動作検証部が、検証データ情報を用いて半導体集積回路が実現する機能を記述した設計結果情報の動作検証を行い、バストランザクション情報取得部が、動作検証部のバストランザクションを監視し、レジスタ情報に登録されたアドレスにアクセスし、アクセスしたアドレスに対応付けてレジスタ情報のビット位置に登録されたビット位置に書き込みまたは読み込みが行われた場合のパラメータ名およびパラメータ値と、起動情報に登録された起動条件によって機能モジュールが動作を開始した場合のタグ名と、終了情報に登録された終了条件によって機能モジュールが動作を終了した場合のタグ名とを時系列に登録したバストランザクション情報を生成し、充足性評価部が、バストランザクション情報取得部によって生成されたバストランザクション情報に、レジスタ情報のパラメータ名に登録された全てのパラメータに対して当該レジスタのデータ値範囲内の値がパラメータの値として書き込みまたは読み込まれたことが登録され、その後に起動情報に登録されたタグ名が登録され、その後に終了情報に登録されたタグ名が登録されたことを検出した場合に機能モジュールの検証が行われたと判定し、判定結果を充足性評価結果に登録するようにしているため、検証データ情報によって設計結果情報に含まれる機能モジュールを制御するレジスタにどのような値を設定して当該機能モジュールを検証したか、レジスタに設定可能なデータ値範囲全てに対して機能モジュールを動作させて検証を行ったかを確実に評価することが可能となり、機能仕様レベルでの検証の評価を効率的に行うことができる検証評価装置を得ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１２】
以下に、本発明にかかる検証評価装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１３】
実施の形態１．
図１〜図１２を用いてこの発明の実施の形態１を説明する。図１は、この発明における検証評価装置の実施の形態１の構成および設計・検証の流れを説明するための図である。機能仕様書１は、設計する機能や論理の仕様が記載された機能レベルの仕様書である。この機能仕様書１は、設計者によって作成され、設計すべき機能や機能に関するレジスタマップなどが自然言語によって記載される。設計するＬＳＩ（large  Scale  Integrated  Circuit)やＦＰＧＡ（Field  Programmable  Gate  Array）などの半導体集積回路は、この機能仕様書１に記載されている機能を実現するように設計される。
【００１４】
設計作業２は、機能仕様書１に記載されている機能をハードウェア記述言語（ＨＤＬ：Hardware  description  language）で記載した設計結果情報３を生成する作業で、設計者によって行われる。半導体集積回路の設計は、ＶＨＤＬ（Vhsic Hardware Description Language）やＶｅｒｉｌｏｇ−ＨＤＬ（Verilog Hardware Description Language）などのＨＤＬと論理合成プログラムを用いたトップダウン設計手法が常識となっている。トップダウン設計手法では、その設計段階によって機能記述、ＲＴＬ（register transfer level）記述、論理記述で半導体集積回路の機能が記述されるが、設計結果情報３は、機能記述、ＲＴＬ記述、論理記述のいずれであってもかまわない。
【００１５】
機能検証仕様書４は、半導体集積回路にどのような検証を実施するのかが記載された仕様書である。この機能検証仕様書４は、機能仕様書１に基づいて設計者によって作成され、実施する検証内容が自然言語によって記載される。
【００１６】
検証データ作成作業５は、機能検証仕様書４に記載されている検証内容を実現するために必要な検証データ情報６を作成する作業で、設計者によって行われる。検証データ作成作業５は、検証データ情報６が、検証評価装置８に入力可能なハードウェア記述言語で記載されていれば、設計者が手作業で行ってもよいし、検証データを自動生成するＡＴＰＧ（Automatic Test Pattern Generator）プログラムを用いてもかまわない。
【００１７】
検証データ情報６には、設計する半導体集積回路を動作させるためのテストプログラムと、このテストプログラムによって半導体集積回路が動作したときの期待値（動作結果と比較するための値）とが記載される。
【００１８】
試験情報７は、機能設計仕様書１に記載された内容であって試験を実施する場合に必要となる仕様に関する情報が、設計者によって登録される。一般的に、半導体集積回路にはＣＰＵやメモリ、Ａ／Ｄコンバータ、Ｄ／Ａコンバータ、ＤＳＰ、ＤＭＡコントローラ、タイマなどの機能モジュールが搭載され、各機能モジュールをバスによって接続してＣＰＵによって実行されるプログラムで動作するものが多い。そのため、機能仕様書１には、半導体集積回路内の機能モジュールに関する仕様、各機能モジュールの制御に用いられるレジスタ名やレジスタのアドレスおよび設定値などが記載されている。設計者は、機能仕様書１に記載されているこれらの仕様条件に基づいて、検証対象モジュールに関する情報を試験情報７に登録する。
【００１９】
試験情報７は、検証対象モジュールを検証するテストプログラムからアクセス可能なレジスタに関する情報が登録されるレジスタ情報７１と、検証対象モジュールの起動方法に関する情報が登録される起動情報７２と、検証対象モジュールが動作を終了したことを判定するための情報が登録される終了情報７３とで構成される。
【００２０】
図２は、図１に示したレジスタ情報７１の一例示す図である。図２において、レジスタ情報７１の登録項目として、検証対象となる機能モジュール（検証対象モジュール）を制御するレジスタに割り当てられたパラメータが登録されるパラメータ名（ｎａｍｅ）、パラメータ名に登録されたパラメータがアサインされているアドレス値（ａｄｄｒｅｓｓ）、検証対象モジュールのレジスタに割り当てられたパラメータのビット位置が登録されるビット位置（ｂｉｔ）、パラメータ名に登録されたパラメータのリセット後の値が登録される初期値（ｉｎｉｔ）、およびパラメータ名に登録されたパラメータが取り得る値が登録されるデータ値範囲（ｄａｔａ）を挙げており、１行につき１つのパラメータに関する情報が登録される。
【００２１】
図２においては、パラメータ名として、「ＤＭＳ．ＳＥＬ」、「ＤＭＳ２．ＳＥＬ」、「ＤＭＤ．Ｕ」、および「ＤＣＴ」の４つが登録され、パラメータ名「ＤＭＳ．ＳＥＬ」に関連付けてアドレス値「５００７８」、ビット位置「４：０」、初期値「０ｘ００」、およびデータ値「＊」が登録され、パラメータ名「ＤＭＳ２．ＳＥＬ」に関連付けてアドレス値「５００７０」、ビット位置「４：０」、初期値「０ｘ００」、およびデータ値「０ｘ００−０ｘ０２／０ｘ０６」が登録され、パラメータ名「ＤＭＤ．Ｕ」に関連付けてアドレス値「５０１００」、ビット位置「４」、初期値「０」、およびデータ値「０／１」が登録され、パラメータ名「ＤＣＴ」に関連付けてアドレス値「５００７Ｃ」、ビット位置「３１：０」、初期値「＊」、およびデータ値「＊」が登録されている。ここで、初期値「＊」は「Ｄｏｎ’ｔ  Ｃａｒｅ」、すなわち初期値の値が不確定であることを意味し、データ値範囲の「＊」はビット位置に登録されたビットのビット長において可能な全ての値を取り得ることを、「０ｘ００−０ｘ０２／０ｘ０６」は、「０ｘ００」、「０ｘ０１」、「０ｘ０２」、「０ｘ０６」を取り得ることを、「０／１」は「０」、「１」を取り得ることを意味している。また、行頭が「＃」である行はコメント行であり、「％ｐａｒａ」は以降の行にレジスタ情報が記載されることを示している。
【００２２】
図３は、図１に示した起動情報７２の一例を示す図である。図３において、起動情報７２の登録項目として、起動条件を認識するために付与されたタグ名が登録されるタグ名（ｔａｇ）、検証対象モジュールの起動方法のタイプが登録されるタイプ（ｔｙｐｅ）、アクセスすべきパラメータ名が登録されるレジスタ名（ｒｅｇ）、レジスタ名に登録されたパラメータがアサインされているアドレスが登録されるアドレス（ａｄｄｒｅｓｓ）、検証対象モジュールのレジスタに割り当てられたパラメータのビット位置が登録されるビット位置（ｂｉｔ）、レジスタ名に登録されたパラメータへのアサイン時のパラメータ値が登録されるデータ値（ｄａｔａ）、およびレジスタ名に登録されたパラメータ名へのアクセスタイプが登録されるアクセスタイプ（ｒｗ）を挙げている。
【００２３】
図３においては、タグ名「ｓｔａｒｔ＿ｄｍ」に対応付けて、タイプには検証対象モジュールを起動する方法がレジスタアクセスタイプであることを示す「ｒｅｇ」が登録され、レジスタ名にアクセスすべきパラメータとして「ＤＭＤ．Ｓ」が登録され、アドレスにはパラメータ「ＤＭＤ．Ｓ」がアサインされているアドレス「５００００」が登録され、ビット位置には「０」が登録され、データ値にはパラメータ「ＤＭＤ．Ｓ」へのアサイン時のパラメータ値「１」が登録され、アクセスタイプには書き込みを示す「ｗｒｉｔｅ」が登録されている。これは、タグ名「ｓｔａｒｔ＿ｄｍ」が、アドレス「５００００」に存在するパラメータ「ＤＭＤ．Ｓ」の０ビットに「１」を書き込めば検証対象モジュールが動作を開始することを示している。なお、行頭が「＃」である行はコメント行であり、「％ｓｔａｒｔ」は以降の行に起動情報が記載されることを意味している。また、図３においては、１つの起動情報が１行に登録されているが起動情報は複数あってもかまわない。
【００２４】
図４は、図１に示した終了情報７３の一例を示す図である。図４において、終了情報７３の登録項目として、終了情報を認識するために付与されたタグ名が登録されるタグ名（ｔａｇ）、検証対象の動作終了を認識するための方法が登録されるタイプ（ｔｙｐｅ）、アクセスすべきパラメータ名が登録されるレジスタ名（ｒｅｇ）、レジスタ名に登録されたパラメータがアサインされているアドレスが登録されるアドレス（ａｄｄｒｅｓｓ）、検証対象モジュールのレジスタに割り当てられたパラメータのビット位置が登録されるビット位置（ｂｉｔ）、レジスタ名に登録されたパラメータへのアサイン時のデータが登録されるデータ値（ｄａｔａ）、およびレジスタ名に登録されたパラメータへのアクセスタイプが登録されるアクセスタイプ（ｒｗ）を挙げている。
【００２５】
図４においては、タグ名「ｅｎｄ＿ｄｍ」に対応付けて、タイプには検証対象の動作終了を認識する方法がレジスタアクセスタイプであることを示す「ｒｅｇ」が登録され、レジスタ名にはアクセスすべきパラメータ「ＤＭＤ．ＳＴ」が登録され、アドレスにはパラメータ「ＤＭＤ．ＳＴ」がアサインされているアドレス「５００１０」が登録され、ビット位置には「１：０」が登録され、データ値にはパラメータ「ＤＭＤ．ＳＴ」への朝印字のデータ「２」が登録され、アクセスタイプには読み込みを示す「ｒｅａｄ」が登録されている。これは、タグ名「ｅｎｄ＿ｄｍ」が、アドレス「５００１０」に存在するパラメータ「ＤＭＤ．ＳＴ］の値を読み込んだときに、ビット１，０の値が「２」であれば検証対象我動作を終了したと判断することを示している。なお、行頭が「＃」である行はコメント行であり、「％ｅｎｄ」は以降の行に終了情報が記載されることを意味している。また、図４においては、１つの終了情報が１行に登録されているが終了情報は複数あってもかまわない。
【００２６】
図１に戻って、検証評価装置８は、設計結果情報３および検証データ情報６を用いて設計結果情報３の動作を検証して合否判定結果９を出力するとともに、試験情報７を用いて検証データ情報６によってどのような試験が行われたのかを解析して評価結果である充足性評価結果１０を出力する。
【００２７】
検証評価装置８は、動作検証部８１と、バストランザクション情報取得部８２と、充足性評価部８４とを備えている。動作検証部８１は、一般的なシミュレータ機能を備え、検証データ情報６に含まれるテストパターンによって設計結果情報３に記載された半導体集積回路を動作させるシミュレーションを実行する。そして、シミュレーション結果や、シミュレーション結果と検証データ情報６に含まれる期待値とを比較した比較結果などの合否判定結果９を生成して出力する。すなわち、動作検証部８１は、従来から実施されている検証データ情報６を用いた動的な検証機能を備えている。
【００２８】
バストランザクション情報取得部８２は、試験情報７（レジスタ情報７１、起動情報７２、および終了情報７３）に基づいて、動作検証部８１で実行されるシミュレーションにおいてアドレスバスおよびデータバスを監視してバストランザクション情報８３を生成する。詳細は後述するが、バストランザクション情報取得部８２は、動作検証部８１のシミュレーション実行時に、検証対象モジュールが繋がるバス（アドレスバスおよびデータバス）を監視して、レジスタ情報７１に登録された全てのパラメータの値についての変化値（書き込み値または読み込み値）やパラメータ名、アドレス値、アクセスタイプなどのアクセス内容と、起動情報７２に登録されているパラメータへの書き込みまたは読み込みが行われたか否か（検証対象モジュールが動作を開始したか否か）と、終了情報７３に登録されているパラメータへの書き込みまたは読み込みが行われたか否か（検証対象モジュールが動作を終了したか否か）を時系列にバストランザクション情報８３に記録する。
【００２９】
充足性評価部８４は、試験情報７およびバストランザクション情報取得部８２によって生成されたバストランザクション情報８３に基づいて、検証データ情報６によって設計結果情報３に対してどのような試験が行われたのかを解析して検証データ情報６の充足性を評価する。具体的には、検証対象モジュールが動作を開始したか、検証対象モジュールが動作を開始した時点での各種パラメータがどのような値であったか、検証対象モジュールが動作を開始した後に動作を終了したかに着目して充足性を評価する。
【００３０】
つぎに、図５および図７のフローチャートを参照して、この発明における検証評価装置８の動作を説明する。まず、図５のフローチャートを参照して、バストランザクション情報取得部８２がバストランザクション情報８３を生成するバストランザクション取得動作について説明する。
【００３１】
バストランザクション情報取得部８２は試験情報７を読み込んでアドレスバスおよびデータバスの監視を開始する（ステップＳ１００）。一方、動作検証部８１は、設計結果情報３および検証データ情報６を読み込んで、検証データ情報６に含まれるテストパターンによって設計結果情報３に記載された半導体集積回路を動作させるシミュレーションを開始し、シミュレーション結果や、シミュレーション結果と検証データ情報６に含まれる期待値とを比較した比較結果などの合否判定結果９を生成して出力するシミュレーションを開始する。
【００３２】
動作検証部８１がシミュレーションを開始し、アドレスバスの値が変化すると（ステップＳ１０１，Ｙｅｓ）、バストランザクション情報取得部８２は、レジスタ情報７１、起動情報７２、および終了情報７３のアドレスに登録されているアドレスの値の中に、アドレスバスの値と一致するものがあるか否かを判定する（ステップＳ１０２）。
【００３３】
レジスタ情報７１、起動情報７２、および終了情報７３のアドレスに登録されているアドレスの値の中にアドレスバスの値と一致するものがある場合、バストランザクション情報取得部８２は、データバスの値を取得する（ステップＳ１０３）。
【００３４】
アドレスバスの値と一致したアドレスがレジスタ情報７１のアドレスに登録されているアドレスの場合（ステップＳ１０４，Ｙｅｓ）、バストランザクション情報取得部８２は、アクセス内容をバストランザクション情報８３に登録する（ステップＳ１０６）。たとえば、バストランザクション情報取得部８２は、シミュレーション時刻、一致したアドレスに関連付けられてレジスタ名に登録されているパラメータ名、および一致したアドレスに関連付けられているビット位置が示すビットのデータバスの値（パラメータ値）をアクセス内容としてバストランザクション情報８３に記録する。
【００３５】
アドレスバスの値と一致したアドレスがレジスタ情報７１のアドレスに登録されているアドレスではない場合（ステップＳ１０４，Ｎｏ）、すなわちアドレスバスの値と一致したアドレスが起動情報７２または終了情報７３のアドレスに登録されているアドレスの場合、バストランザクション情報取得部８２は、検証対象モジュールへのアクセスがアドレスバスと一致したアドレスに関連付けられたアクセスタイプであって、かつアドレスバスの値と一致したアドレスに関連付けられているビット位置が示すビットのデータバスの値がアドレスバスの値と一致したアドレスに関連付けられているデータに登録されている値と一致しているか否かを判定する（ステップＳ１０５）。すなわち、バストランザクション情報取得部８２は、アドレスバスの値と一致したアドレスに関連付けられて起動情報７２または終了情報７３の起動条件（ビット位置、データ値、およびアクセスタイプ）または終了条件（ビット位置、データ値、およびアクセスタイプ）と一致しているか否かを判定する。
【００３６】
アドレスバスの値と一致したアドレスに関連付けられている起動条件または終了条件の条件と一致している場合、検証対象モジュールが動作を開始したこと、または検証対象モジュールが動作を終了したことを示すアクセス内容をバストランザクション情報８３に記録する（ステップＳ１０６）。たとえば、バストランザクション情報取得部８２は、シミュレーション時刻とタグ名とをバストランザクション情報８３に記録する。
【００３７】
バストランザクション情報取得部８２は、動作検証部８１がシミュレーションを終了するまで、アドレスバスの値とアドレスバスの値とレジスタ情報７１のアドレスに登録されているアドレスの値とが一致した場合、または、アドレスバスの値とアドレスバスの値と起動情報７２または終了情報７３のアドレスに登録されているアドレスの値とが一致し、かつ起動条件または終了条件と一致した場合にはアクセス内容をバストランザクション情報８３に記録する動作を繰り返す（ステップＳ１０１〜Ｓ１０７）。
【００３８】
図６は、上述したバストランザクション情報取得動作によって生成されたバストランザクション情報８３の一例を示す図である。図６に示したバストランザクション情報８３では、シミュレーション時刻「１４００１」において健勝対象モジュールを含む半導体集積回路のリセットが発生し、シミュレーション時刻「７７０９２３」においてパラメータ「ＤＭＳ．ＳＥＬ」に値「０ｘ１８」が書き込まれ、シミュレーション時刻「７８００８３」においてパラメータ「ＤＭＳ２．ＳＥＬ」に値「０ｘ０６」が書き込まれ、シミュレーション時刻「７８１２８３」においてパラメータ「ＤＭＤ．Ｕ」に値「１」が書き込まれ、シミュレーション時刻「７８２２６３」においてパラメータ「ＤＣＴ」に値「０ｘ００００１０００」が書き込まれ、シミュレーション時刻「１１３３７８７」において、起動情報７２に登録されているタグ「ｓｔａｒｔ＿ｄｍ」（図３参照）にしたがった書き込みあるいは読み出しが行われて検証対象モジュールが動作を開始し、シミュレーション時刻「１１３４２８３」において終了情報７３に登録されたタグ「ｅｎｄ＿ｄｍ」（図４参照）にしたがった書き込みあるいは読み出しが行われて検証対象モジュールの動作が終了したことが記録されている。
【００３９】
なお、図６においては、同一パラメータに対するアクセスと検証対象モジュールの動作開始および動作終了は１回となっているが、同一パラメータに対するアクセスや検証対象モジュールの動作開始および動作終了は複数回発生してもかまわない。
【００４０】
つぎに、図７のフローチャートを参照して、この発明における検証評価装置８の充足性評価動作について説明する。バストランザクション情報取得動作が終了して、バストランザクション情報取得部８２によってバストランザクション情報８３が生成されると、充足性評価部８４は、バストランザクション情報８３および試験情報７に基づいて充足性を評価する充足性評価動作を開始する。
【００４１】
充足性評価部８４は、起動情報７２およびバストランザクション情報８３に基づいて検証対象モジュールが動作を開始したか否かを判定する（ステップＳ２００）。具体的には、充足性評価部８４は、起動情報７２のタグ名に登録されているタグ名に登録されているタグ名と一致するタグ名をバストランザクション情報８３から抽出する。
【００４２】
バストランザクション情報８３の中から起動情報７２のタグに登録されているタグ名に登録されているタグ名と一致するタグ名を抽出することができた場合、充足性評価部８４は、検証対象モジュールが動作を開始した時のパラメータの値をバストランザクション情報８３から抽出し、抽出したパラメータの値がレジスタ情報７１のデータ値範囲内であるか否かを判定する（ステップＳ２０１）。
【００４３】
具体的には、充足性評価部８４は、抽出したタグ名が記録されているシミュレーション時刻より前にバストランザクション情報８３に記録されているパラメータ名の中から、レジスタ情報７１のレジスタ名に登録されているパラメータと一致するパラメータと、このパラメータに書き込んだまたは読み込んだ値（パラメータ値）とを抽出する。充足性評価部８４は、抽出したパラメータ値が、抽出したレジスタに関連付けてレジスタ情報７１のデータ値範囲に登録されている範囲内であるか否かを判定する。
【００４４】
抽出したパラメータ値が、抽出したレジスタに関連付けてレジスタ情報７１のデータ値範囲に登録されている範囲内である場合、充足性評価部８４は、終了情報７３およびバストランザクション情報８３に基づいて検証対象モジュールが動作を終了したか否かを判定する（ステップＳ２０２）。具体的には、充足性評価部８４は、起動情報７２に登録されたタグ名が記録されているシミュレーション時刻より後にバストランザクション情報８３に記録されているタグ名の中から、終了情報７３のタグ名に登録されているタグ名と一致するタグ名をバストランザクション情報８３から抽出する。
【００４５】
起動情報７２に登録されたタグ名が記録されているシミュレーション時刻より後にバストランザクション情報８３に記録されているタグ名の中から、終了情報７３のタグ名に登録されているタグ名と一致するタグ名をバストランザクション情報８３から抽出することができた場合、充足性評価部８４は、正常（試験が確実に行われた）と判定する（ステップＳ２０３）。充足性評価部８４は、正常と判定した時のパラメータとそのパラメータ値とを記憶する。
【００４６】
一方、バストランザクション情報８３の中から起動情報７２のタグに登録されているタグ名に登録されているタグ名と一致するタグ名を抽出することができなかった場合、検証対象モジュールが動作を開始した時のパラメータの値をバストランザクション情報８３から抽出できなかった場合、抽出したパラメータ値が、抽出したレジスタに関連付けてレジスタ情報７１のデータ値範囲に登録されているデータ範囲内でない場合、または、起動情報７２に登録されたタグ名が記録されているシミュレーション時刻より後にバストランザクション情報８３に記録されているタグ名の中から、終了情報７３のタグ名に登録されているタグ名と一致するタグ名をバストランザクション情報８３から抽出することができなかった場合、充足性評価部８４は、異常（試験が確実に行われなかった）と判定する（ステップＳ２０４）。
【００４７】
充足性評価部８４は、検証対象モジュールは動作を開始したか、パラメータ値はデータ範囲内か、検証対象モジュールは動作を終了したかを、バストランザクション情報８３全てに対して検索して、正常／異常を判定する（ステップＳ２００〜Ｓ２０５）。
【００４８】
たとえば、先の図６に示したバストランザクション情報８３においては、シミュレーション時刻「１４００１」において健勝対象モジュールを含む半導体集積回路のリセットが発生し、シミュレーション時刻「７７０９２３」においてパラメータ「ＤＭＳ．ＳＥＬ」に値「０ｘ１８」が書き込まれ、シミュレーション時刻「７８００８３」においてパラメータ「ＤＭＳ２．ＳＥＬ」に値「０ｘ０６」が書き込まれ、シミュレーション時刻「７８１２８３」においてパラメータ「ＤＭＤ．Ｕ」に値「１」が書き込まれ、シミュレーション時刻「７８２２６３」においてパラメータ「ＤＣＴ」に値「０ｘ００００１０００」が書き込まれ、シミュレーション時刻「１１３３７８７」において、起動情報７２に登録されているタグ「ｓｔａｒｔ＿ｄｍ」（図３参照）にしたがった書き込みあるいは読み出しが行われて検証対象モジュールが動作を開始し、シミュレーション時刻「１１３４２８３」において終了情報７３に登録されたタグ「ｅｎｄ＿ｄｍ」（図４参照）にしたがった書き込みあるいは読み出しが行われて検証対象モジュールの動作が終了したことが記録されている。よって、充足性評価部８４は、検証対象モジュールが動作を開始した時点でのパラメータ「ＤＭＳ．ＳＥＬ」のパラメータ値は「０ｘ１８」であり、パラメータ「ＤＭＳ２．ＳＥＬ」のパラメータ値は「０ｘ０６」であり、パラメータ「ＤＭＤ．Ｕ」のパラメータ値は「１」であり、パラメータ「ＤＣＴ」のパラメータ値は「０ｘ００００１０００」であると判断する。また検証対象モジュールは、起動情報７２に登録されたタグ名「ｓｔａｒｔ＿ｄｍ」にしたがって動作を開始し、その後、終了情報７３のタグ名に登録された「ｅｎｄ＿ｄｍ」にしたがった方法で動作が終了したと判断する。レジスタ情報７１のレジスタ名に関連付けて登録されているパラメータ「ＤＭＳ．ＳＥＬ」のデータ値範囲は「＊（Ｄｏｎ’ｔ  Ｃａｒｅ）」であり、パラメータ「ＤＭＳ２．ＳＥＬ」のデータ値範囲は「０ｘ００−０ｘ０２／０ｘ０６」であり、パラメータ「ＤＭＤ．Ｕ」のデータ値範囲は「０／１」であり、パラメータ「ＤＣＴ」のデータ値範囲は「＊（Ｄｏｎ’ｔ  Ｃａｒｅ）」であるので、各パラメータ値はそれぞれデータ値範囲内であることを認識し、正常であると判定する。
【００４９】
また、図８に示したバストランザクション情報８３においては、シミュレーション時刻「１４００１」において検証対象モジュールを含む半導体集積回路のリセットが発生し、シミュレーション時刻「７７０９２３」においてパラメータ「ＤＭＳ．ＳＥＬ」に値「０ｘ１８」が書き込まれ、シミュレーション時刻「７８００８３」においてパラメータ「ＤＭＳ２．ＳＥＬ」に値「０ｘ０６」が書き込まれ、シミュレーション時刻「７８１２８３」においてパラメータ「ＤＭＤ．Ｕ」に値「１」が書き込まれ、シミュレーション時刻「７８２２６３」においてパラメータ「ＤＣＴ」に値「０ｘ００００１０００」が書き込まれ、シミュレーション時刻「７８４２８８」において「ＤＭＳ２．ＳＥＬ」に値「０ｘ０１」が書き込まれ、シミュレーション時刻「１１３４７８７」において、起動情報７２に登録されているタグ「ｓｔａｒｔ＿ｄｍ」（図３参照）にしたがった書き込みあるいは読み出しが行われて検証対象モジュールが動作を開始し、シミュレーション時刻「１１３５２８３」において終了情報７３に登録されたタグ「ｅｎｄ＿ｄｍ」（図４参照）にしたがった書き込みあるいは読み出しが行われて検証対象モジュールの動作が終了したことが記録されている。
【００５０】
図８に示したバストランザクション情報８３では、「ＤＭＳ２．ＳＥＬ」への書き込みがシミュレーション時刻「７８００８３」とシミュレーション時刻「７８４２２８」との２回行われている。このような場合、充足性評価部８４は、動作を開始したシミュレーション時刻に近い（この場合は、シミュレーション時刻「７８４２２８」）におけるパラメータ値で検証が行われたと認識する。よって、図８に示したバストランザクション情報８３においては、充足性評価部８４は、検証対象モジュールが動作を開始した時点でのパラメータ「ＤＭＳ．ＳＥＬ」のパラメータ値は「０ｘ１８」であり、パラメータ「ＤＭＳ２．ＳＥＬ」のパラメータ値は「０ｘ０１」であり、パラメータ「ＤＭＤ．Ｕ」のパラメータ値は「１」であり、パラメータ「ＤＣＴ」のパラメータ値は「０ｘ００００１０００」であると判断する。また検証対象モジュールは、起動情報７２に登録されたタグ名「ｓｔａｒｔ＿ｄｍ」にしたがって動作を開始し、その後、終了情報７３のタグ名に登録された「ｅｎｄ＿ｄｍ」にしたがった方法で動作が終了したと判断する。レジスタ情報７１のレジスタ名に関連付けて登録されているパラメータ「ＤＭＳ．ＳＥＬ」のデータ値範囲は「＊（Ｄｏｎ’ｔ  Ｃａｒｅ）」であり、パラメータ「ＤＭＳ２．ＳＥＬ」のデータ値範囲は「０ｘ００−０ｘ０２／０ｘ０６」であり、パラメータ「ＤＭＤ．Ｕ」のデータ値範囲は「０／１」であり、パラメータ「ＤＣＴ」のデータ値範囲は「＊（Ｄｏｎ’ｔ  Ｃａｒｅ）」であるので、各パラメータ値はそれぞれデータ値範囲内であることを認識し、正常であると判定する。
【００５１】
また、図９に示したバストランザクション情報８３においては、シミュレーション時刻「１４００１」において検証対象モジュールを含む半導体集積回路のリセットが発生し、シミュレーション時刻「７８００８３」においてパラメータ「ＤＭＳ２．ＳＥＬ」に値「０ｘ０６」が書き込まれ、シミュレーション時刻「７８１２８３」においてパラメータ「ＤＭＤ．Ｕ」に値「１」が書き込まれ、シミュレーション時刻「７８２２６３」においてパラメータ「ＤＣＴ」に値「０ｘ００００１０００」が書き込まれ、シミュレーション時刻「１１３３７８７」において、起動情報７２に登録されているタグ「ｓｔａｒｔ＿ｄｍ」（図３参照）にしたがった書き込みあるいは読み出しが行われて検証対象モジュールが動作を開始し、シミュレーション時刻「１１３４２８３」において終了情報７３に登録されたタグ「ｅｎｄ＿ｄｍ」（図４参照）にしたがった書き込みあるいは読み出しが行われて検証対象モジュールの動作が終了したことが記録されている。
【００５２】
図９に示したバストランザクション情報８３においては、レジスタ情報７１のレジスタ名に登録されているパラメータ「ＤＭＳ．ＳＥＬ」への書き込みが行われていない。このような場合、充足性評価部８４は、パラメータ「ＤＭＳ．ＳＥＬ」を抽出することができない。しかし、レジスタ情報７１にはパラメータ「ＤＭＳ．ＳＥＬ」の初期値が「０ｘ００」であることが登録されているので、リセット時にパラメータ「ＤＭＳ．ＳＥＬ」のには初期値「０ｘ００」が書き込まれている。よって、充足性評価部８４は、図９に示したバストランザクション情報８３においては、充足性評価部８４は、検証対象モジュールが動作を開始した時点でのパラメータ「ＤＭＳ．ＳＥＬ」のパラメータ値は「０ｘ００」であり、パラメータ「ＤＭＳ２．ＳＥＬ」のパラメータ値は「０ｘ０６」であり、パラメータ「ＤＭＤ．Ｕ」のパラメータ値は「１」であり、パラメータ「ＤＣＴ」のパラメータ値は「０ｘ００００１０００」であると判断する。また検証対象モジュールは、起動情報７２に登録されたタグ名「ｓｔａｒｔ＿ｄｍ」にしたがって動作を開始し、その後、終了情報７３のタグ名に登録された「ｅｎｄ＿ｄｍ」にしたがった方法で動作が終了したと判断する。レジスタ情報７１のレジスタ名に関連付けて登録されているパラメータ「ＤＭＳ．ＳＥＬ」のデータ値範囲は「＊（Ｄｏｎ’ｔ  Ｃａｒｅ）」であり、パラメータ「ＤＭＳ２．ＳＥＬ」のデータ値範囲は「０ｘ００−０ｘ０２／０ｘ０６」であり、パラメータ「ＤＭＤ．Ｕ」のデータ値範囲は「０／１」であり、パラメータ「ＤＣＴ」のデータ値範囲は「＊（Ｄｏｎ’ｔ  Ｃａｒｅ）」であるので、各パラメータ値はそれぞれデータ値範囲内であることを認識し、正常であると判定する。
【００５３】
また、図１０に示したバストランザクション情報８３においては、シミュレーション時刻「１４００１」において検証対象モジュールを含む半導体集積回路のリセットが発生し、シミュレーション時刻「７７０９２３」においてパラメータ「ＤＭＳ．ＳＥＬ」に値「０ｘ１８」が書き込まれ、シミュレーション時刻「７８００８３」においてパラメータ「ＤＭＳ２．ＳＥＬ」に値「０ｘ０６」が書き込まれ、シミュレーション時刻「７８１２８３」においてパラメータ「ＤＭＤ．Ｕ」に値「１」が書き込まれ、シミュレーション時刻「７８２２６３」においてパラメータ「ＤＣＴ」に値「０ｘ００００１０００」が書き込まれ、シミュレーション時刻「１１３３７８７」において、起動情報７２に登録されているタグ「ｓｔａｒｔ＿ｄｍ」（図３参照）にしたがった書き込みあるいは読み出しが行われて検証対象モジュールが動作を開始したことが記録されている。
【００５４】
図１０に示したバストランザクション情報８３には、終了情報７３に登録されたタグ「ｅｎｄ＿ｄｍ」（図４参照）にしたがった書き込みあるいは読み出しが行われて検証対象モジュールの動作が終了したことが記録されていない。この場合、充足性評価部８４は、タグ「ｅｎｄ＿ｄｍ」を検出することができない。よって、充足性評価部８４は、検証対象モジュールが動作を開始した時点でのパラメータ「ＤＭＳ．ＳＥＬ」のパラメータ値は「０ｘ１８」であり、パラメータ「ＤＭＳ２．ＳＥＬ」のパラメータ値は「０ｘ０６」であり、パラメータ「ＤＭＤ．Ｕ」のパラメータ値は「１」であり、パラメータ「ＤＣＴ」のパラメータ値は「０ｘ００００１０００」であると判断する。また検証対象モジュールは、起動情報７２に登録されたタグ名「ｓｔａｒｔ＿ｄｍ」にしたがって動作を開始したが、検証対象モジュールは動作を終了していないと認識し、異常であると判定する。
【００５５】
また、図１１に示したバストランザクション情報８３においては、シミュレーション時刻「１４００１」において検証対象モジュールを含む半導体集積回路のリセットが発生し、シミュレーション時刻「７７０９２３」においてパラメータ「ＤＭＳ．ＳＥＬ」に値「０ｘ１８」が書き込まれ、シミュレーション時刻「７８００８３」においてパラメータ「ＤＭＳ２．ＳＥＬ」に値「０ｘ０６」が書き込まれ、シミュレーション時刻「７８１２８３」においてパラメータ「ＤＭＤ．Ｕ」に値「１」が書き込まれ、シミュレーション時刻「７８２２６３」においてパラメータ「ＤＣＴ」に値「０ｘ００００１０００」が書き込まれたことが記録されている。
【００５６】
図１１に示したバストランザクション情報８３には、起動情報７２に登録されたタグ「ｓｔａｒｔ＿ｄｍ」（図３参照）にしたがった書き込みあるいは読み込みが行われて検証対象モジュールが動作を開始したこと、および終了情報７３に登録されたタグ「ｅｎｄ＿ｄｍ」（図４参照）にしたがった書き込みあるいは読み出しが行われて検証対象モジュールの動作が終了したことが記録されていない。よって、充足性評価部８４は、検証対象モジュールが動作を開始していないことを認識し、異常であると判定する。
【００５７】
なお、図５、図８〜図１１に示したバストランザクション情報８３のパラメータへの書き込みや検証対象モジュールの動作開始、および動作終了の情報は、説明を簡単にするために少ない情報としたが、バストランザクション情報８３の情報量に関する制約はない。
【００５８】
図７に戻って、バストランザクション情報８３すべてを検索して正常／異常の判定が終了すると、充足性評価部８４は、記憶したパラメータとパラメータ値に基づいて、判定結果を充足性評価結果１０として出力する（ステップＳ２０６）。充足性評価結果１０は、充足性評価部８４によって、評価結果が見易い形に整形され、ファイルあるいは表示装置（図示せず）の画面に出力される。
【００５９】
図１２は、充足性評価部８４が出力する充足性評価結果１０の一例を示す図である。図１２は、パラメータ「ＤＭＳ．ＳＥＬ」と「ＤＭＳ２．ＳＥＬ」についての評価結果であり、それぞれのパラメータに関して、実際に試験で用いられたパラメータ値はどのような値であったのかを示している。図１２においては、パラメータ「ＤＭＳ．ＳＥＬ」と「ＤＭＳ２．ＳＥＬ」のデータ値範囲の各パラメータ値に対応付けて、そのパラメータ値で検証対象モジュールが何回動作したかの回数と、そのパラメータ値で検証対象モジュールが動作したか否かとが記録されている。なお、パラメータ値は、レジスタ情報７１（図２参照）のデータ値範囲に登録されている値から判断すればよく、この場合は、パラメータ「ＤＭＳ．ＳＥＬ」のデータ値範囲「０ｘ００〜０ｘ１ｆ」であり、パラメータ「ＤＭＳ２．ＳＥＬ」のデータ値範囲は「０ｘ００〜０ｘ０２」と「０ｘ０６」である。
【００６０】
図１２に示した充足性評価結果１０では、パラメータ「ＤＭＳ．ＳＥＬ」に関してパラメータ値「０ｘ０ｆ」での試験が行われなかったこと、パラメータ「ＤＭＳ２．ＳＥＬ」に関してパラメータ値「０ｘ０１」での試験が行われなかったことを示している。
【００６１】
このように、この実施の形態１においては、動作検証部８１が、検証データ情報６を用いて半導体集積回路が実現する機能を記述した設計結果情報３の動作検証を行い、バストランザクション情報取得部８２が、動作検証部のバストランザクションを監視し、レジスタ情報７１に登録されたアドレスにアクセスし、アクセスしたアドレスに対応付けてレジスタ情報７１のビット位置に登録されたビット位置に書き込みまたは読み込みが行われた場合のパラメータ名およびパラメータ値と、起動情報７２に登録された起動条件によって機能モジュールが動作を開始した場合のタグ名と、終了情報７３に登録された終了条件によって機能モジュールが動作を終了した場合のタグ名とを時系列に登録したバストランザクション情報を生成し、充足性評価部８４が、バストランザクション情報取得部８２によって生成されたバストランザクション情報８３に、レジスタ情報７１のパラメータ名に登録された全てのパラメータに対して当該レジスタのデータ値範囲内の値がパラメータ値として書き込みまたは読み込まれたことが登録され、その後に起動情報７２に登録されたタグ名が登録され、その後に終了情報７３に登録されたタグ名が登録されたことを検出した場合に機能モジュールの検証が行われたと判定し、判定結果を充足性評価結果１０に登録するようにしているため、検証データ情報６によって設計結果情報３に含まれる機能モジュールを制御するレジスタにどのような値を設定して当該機能モジュールを検証したか、レジスタに設定可能なデータ値範囲全てに対して機能モジュールを動作させて検証を行ったかを確実に評価することが可能となり、機能仕様レベルでの検証の評価を効率的に行うことができる。
【００６２】
また、この実施の形態１においては、充足性評価部８４が、レジスタ情報７１のレジスタ名に登録されているレジスタに対応付けて当該レジスタのデータ値範囲のデータ値毎に検証が行われたか否かおよび検証が行われた回数を充足性評価結果１０に登録するようにしているため、レジスタに設定可能なパラメータの値全てに対して、それぞれ検証が行われたか否かを設計者が認識することができる。これにより、検証が行われなかったパラメータの値について、設計者がそのパラメータの値で検証が必要であると判断した場合には、検証データ情報６を作成し直して再度検証を行うこととなり、検証漏れを防止し半導体集積回路の論理品質の向上することができる。
【００６３】
また、またどのようなパラメータの値で何回検証されたのかを知ることができるため、検証におけるパラメータの値の傾向を認識して、検証の弱い所を把握することが可能となり、弱い所の検証データを追加した検証データ情報６を作成して機能検証を継続することで、検証漏れを防止し半導体集積回路の論理品質の向上することができる。
【００６４】
実施の形態２．
図１３〜図１５を用いてこの発明の実施の形態２を説明する。先の実施の形態１では、充足性評価結果１０に判定結果をすべて出力するようにしたが、レジスタの数やそのデータ値範囲によっては、充足性評価結果１０に記録されるデータ量は膨大なものとなる。そのため、充足性評価結果１０を確認する設計者の確認もれなどが生じることも考えられる。このような問題を改善するために、この実施の形態２では、充足性評価結果１０に記録するデータ量を制限するための評価基準を指定して、設計者が必要な判定結果のみを記録するものである。
【００６５】
図１３は、この発明における検証評価装置の実施の形態２の構成および設計・検証の流れを説明するための図である。図１３は、先の図１に示した実施の形態１の検証評価装置８の構成および設計・検証の流れの中に、充足性評価部８４に入力する評価基準情報１１が追加されている。先の図１に示した構成要素と同じ部分には同一符号を付し、重複する説明は省略する。
【００６６】
評価基準情報１１には、評価したい内容についてその基準が、設計者によって登録される。図１４は、図１３に示した評価基準情報１１の一例を示す図である。図１３においては、評価基準情報１１の登録項目として、パラメータ名に関連付けて評価区分が登録される。ここでは、パラメータ「ＤＣＴ」に関連付けて評価区分「０ｘ００００００００／０ｘ０００００００１−０ｘ７ｆｆｆｆｆｆｆ／０ｘ８０００００００／０ｘ８００００００１−０ｘｆｆｆｆｆｆｆｆ」が登録されている。
【００６７】
つぎに、この発明における検証評価装置８の実施の形態２の動作を説明する。なお、この実施の形態２の検証評価装置８の動作は、先の実施の形態１の検証評価装置８とほぼ同じであり、相違点は、充足性評価部８４が評価結果を充足性評価結果１０に出力する際に、評価基準情報１１に基づいて出力する点である。よって、ここでは、充足性評価部８４が評価結果を充足性評価結果１０に出力する動作のみを説明する。
【００６８】
先の図２に示したレジスタ情報７１においては、レジスタ名「ＤＣＴ」のデータ値範囲は「＊（Ｄｏｎ’ｔ  Ｃａｒｅ）」であり、ビット位置は「３１：０」である。よって、レジスタ名「ＤＣＴ」の取り得る値は「０ｘ００００００００〜０ｘｆｆｆｆｆｆｆｆ」であるが、先の図１４に示した評価基準情報１１には、パラメータ「ＤＣＴ」に関連付けて評価区分「０ｘ００００００００／０ｘ０００００００１−０ｘ７ｆｆｆｆｆｆｆ／０ｘ８０００００００／０ｘ８００００００１−０ｘｆｆｆｆｆｆｆｆ」が登録されている。充足性評価部８４は、パラメータ「ＤＡＴ」に関する評価の際に、取り得る値は「０ｘ００００００００〜０ｘｆｆｆｆｆｆｆｆ」でありこれらの値個々に対して判定結果を出力するのではなく、評価基準情報１１に登録されている評価区分「０ｘ００００００００／０ｘ０００００００１−０ｘ７ｆｆｆｆｆｆｆ／０ｘ８０００００００／０ｘ８００００００１−０ｘｆｆｆｆｆｆｆｆ」に基づいて、「０ｘ００００００００」と「０ｘ０００００００１〜０ｘ７ｆｆｆｆｆｆｆ」と「０ｘ８０００００００」と「０ｘ８００００００１〜０ｘｆｆｆｆｆｆｆｆ」との４値毎の評価を行って出力する。
【００６９】
図１５に、図１４に示した評価基準情報１１に基づいた充足性評価結果１０を示す。図１４においては、「０ｘ００００００００」と「０ｘ０００００００１〜０ｘ７ｆｆｆｆｆｆｆ」と「０ｘ８０００００００」と「０ｘ８００００００１〜０ｘｆｆｆｆｆｆｆｆ」で評価されおり、パラメータ「ＤＣＴ」の値が、「０ｘ８０００００００〜０ｘｆｆｆｆｆｆｆｆ」の間のいずれかの値の場合での試験が行われなかったことを示している。
【００７０】
このように、この実施の形態２においては、充足性評価部８４が、レジスタ名に対応付けて評価基準となる評価区分が登録された評価基準情報１１が入力された場合、評価基準情報１に登録された評価区分に対応付けて、当該評価区分内のデータ値で検証が行われたか否かおよび検証が行われた回数を充足性評価結果に登録するようにしているため、レジスタに設定するデータ値が取り得る値が膨大であっても、設計者が現実的に確認可能な分量で評価を行う事が可能であり、検証漏れを防止し半導体集積回路の論理品質を向上することができる。
【００７１】
なお、評価基準情報１１には、評価基準が登録されればよく、任意パラメータの任意数次元での組合せを登録するようにしてもよい。この場合、充足性評価部８４は、評価基準情報１１に登録されたパラメータと次元数でパラメータ値の組合せを行い、この組合せに関する評価を行って結果を充足性評価結果１０として出力するようにすればよい。
【産業上の利用可能性】
【００７２】
以上のように、本発明にかかる検証評価装置は、半導体集積回路の検証データ情報の評価に有用であり、特に、バスに接続された機能モジュールの仕様機能レベルでの検証の評価に適している。
【図面の簡単な説明】
【００７３】
【図１】この発明における検証評価装置の実施の形態１の構成および設計・検証の流れを説明するための図である。
【図２】図１に示したレジスタ情報の登録項目を示す図である。
【図３】図１に示した起動情報の一例を示す図である。
【図４】図１に示した終了情報の一例を示す図である。
【図５】この発明における検証評価装置のバストランザクション取得動作を説明するためのフローチャートである。
【図６】バストランザクション情報の一例を示す図である。
【図７】この発明における検証評価装置の充足性評価動作について説明するためのフローチャートである。
【図８】バストランザクション情報の一例を示す図である。
【図９】バストランザクション情報の一例を示す図である。
【図１０】バストランザクション情報の一例を示す図である。
【図１１】バストランザクション情報の一例を示す図である。
【図１２】充足性評価結果の一例を示す図である。
【図１３】この発明における検証評価装置の実施の形態２の構成および設計・検証の流れを説明するための図である。
【図１４】図１３に示した評価基準情報の一例を示す図である。
【図１５】充足性評価結果の一例を示す図である。
【符号の説明】
【００７４】
１  機能仕様書
２  設計作業
３  設計結果情報
４  機能検証仕様書
５  検証データ作成作業
６  検証データ情報
７  試験情報
８  検証評価装置
９  合否判定結果
１０  充足性評価結果
１１  評価基準情報
７１  レジスタ情報
７２  起動情報
７３  終了情報
８１  動作検証部
８２  バストランザクション情報取得部
８３  バストランザクション情報
８４  充足性評価部
【図１】
2008097374.tif 000003
【図２】
2008097374.tif 000004
【図３】
2008097374.tif 000005
【図４】
2008097374.tif 000006
【図５】
2008097374.tif 000007
【図６】
2008097374.tif 000008
【図７】
2008097374.tif 000009
【図８】
2008097374.tif 000010
【図９】
2008097374.tif 000011
【図１０】
2008097374.tif 000012
【図１１】
2008097374.tif 000013
【図１２】
2008097374.tif 000014
【図１３】
2008097374.tif 000015
【図１４】
2008097374.tif 000016
【図１５】
2008097374.tif 000017