(57)【要約】【課題】煩雑な検証作業を自動的に実行できる検証作業支援システムを提供する。【解決手段】本システム１０は、全テストケースに共通するテストケース共通情報１８３及びテストケースごとに異なるテストケース差分情報１８４を入力する管理者用入力装置１２と、基本情報１８３，１８４を含むテンプレートファイル１８を生成するテキストエディタ１６と、検証担当者個別情報１４１及びテスト条件個別情報１４２を入力する検証担当者用入力装置１４と、テンプレートファイル１８の基本情報１８３，１８４に個別情報１４１，１４２を追加することにより各テストケースの検証作業を記述したテストケース情報ファイル２２２を生成するパラメータファイル自動生成プログラム２０と、テストケース情報ファイル２２２に従ってＴＯＳ２６及びＨＤＬシミュレータ２８を起動しながら検証作業を実行する検証作業実行プログラム２４とを備える。【選択図】図１
2007172444.tif 000002
【特許請求の範囲】
【請求項１】
シミュレータを用いて１又は２以上の設計データを１又は２以上のテストケースで検証する検証作業を支援するための検証作業支援システムであって、
前記テストケースを特定するために必要な基本情報の入力を受け付ける基本情報入力手段と、
前記基本情報入力手段で入力された基本情報を含むテンプレートファイルを生成するテンプレートファイル生成手段と、
前記テストケース以外の事項を特定するために必要な個別情報の入力を受け付ける個別情報入力手段と、
前記テンプレートファイルから基本情報を読み出し、その基本情報に前記個別情報入力手段で入力された個別情報を追加することにより前記検証作業に必要なパラメータファイルを生成するパラメータファイル生成手段と、
前記パラメータファイルに従って前記シミュレータを起動しながら前記検証作業を実行する検証作業実行手段とを備えたことを特徴とする検証作業支援システム。
【請求項２】
請求項１に記載の検証作業支援システムであって、
前記基本情報は、複数のテストケースに共通するテストケース共通情報と、テストケースごとに異なる複数のテストケース差分情報とを含むことを特徴とする検証作業支援システム。
【請求項３】
請求項２記載の検証作業支援システムであって、
前記パラメータファイル生成手段は、前記テストケース共通情報に各テストケースに対応するテストケース差分情報を追加することにより各テストケースのためのテストケース情報ファイルを生成し、前記パラメータファイルは、複数のテストケースに対応する複数のテストケース情報ファイルを含むことを特徴とする検証作業支援システム。
【請求項４】
請求項１に記載の検証作業支援システムであって、
前記パラメータファイルは、複数のテストケースに対応する複数のテストケース情報ファイルを含み、前記個別情報は、検証すべき設計データの所在を示すパス情報を含み、
前記パラメータファイル生成手段は、前記個別情報入力手段で入力されたパス情報を追加することにより各テストケースのためのテストケース情報ファイルを生成し、前記テストケース情報ファイルの各々は前記パス情報を含むことを特徴とする検証作業支援システム。
【請求項５】
請求項１に記載の検証作業支援システムであって、
前記テストケース情報ファイルの各々は、前記シミュレータに与えるべきテストコードの生成前に実行すべき作業と前記シミュレータによるシミュレーションの前後に実行すべき作業とを記述した作業手順情報を含み、
前記検証作業実行手段は、
前記テストコードの生成前に前記作業手順情報に記述された作業を実行する手段と、
前記テストコードをコンパイラに生成させる手段と、
前記シミュレーションの前に前記作業手順情報に記述された作業を実行する手段と、
前記シミュレーションを前記シミュレータに実行させる手段と、
前記シミュレーションの後に前記作業手順情報に記述された作業を実行する手段とを含むことを特徴とする検証作業支援システム。
【請求項６】
シミュレータを用いて１又は２以上の設計データを１又は２以上のテストケースで検証する検証作業を支援するための、コンピュータにより実行可能な検証作業支援方法であって、
前記テストケースを特定するために必要な基本情報の入力を受け付けるステップと、
前記入力された基本情報を含むテンプレートファイルを生成するステップと、
前記テストケース以外の事項を特定するために必要な個別情報の入力を受け付けるステップと、
前記テンプレートファイルから基本情報を読み出し、その基本情報に前記入力された個別情報を追加することにより前記検証作業に必要なパラメータファイルを生成するステップと、
前記パラメータファイルに従って前記シミュレータを起動しながら前記検証作業を実行するステップとを備えたことを特徴とする検証作業支援方法。
【請求項７】
請求項６に記載の検証作業支援方法であって、
前記基本情報は、複数のテストケースに共通するテストケース共通情報と、テストケースごとに異なる複数のテストケース差分情報とを含むことを特徴とする検証作業支援方法。
【請求項８】
請求項７記載の検証作業支援方法であって、
前記パラメータファイルを生成するステップは、前記テストケース共通情報に各テストケースに対応するテストケース差分情報を追加することにより各テストケースのためのテストケース情報ファイルを生成し、前記パラメータファイルは、複数のテストケースに対応する複数のテストケース情報ファイルを含むことを特徴とする検証作業支援方法。
【請求項９】
請求項６に記載の検証作業支援方法であって、
前記パラメータファイルは、複数のテストケースに対応する複数のテストケース情報ファイルを含み、前記個別情報は、検証すべき設計データの所在を示すパス情報を含み、
前記パラメータファイルを生成するステップは、前記個別情報入力手段で入力されたパス情報を追加することにより各テストケースのためのテストケース情報ファイルを生成し、前記テストケース情報ファイルの各々は前記パス情報を含むことを特徴とする検証作業支援方法。
【請求項１０】
請求項６に記載の検証作業支援方法であって、
前記テストケース情報ファイルの各々は、前記シミュレータに与えるべきテストコードの生成前に実行すべき作業と前記シミュレータによるシミュレーションの前後に実行すべき作業とを記述した作業手順情報を含み、
前記検証作業を実行するステップは、
前記テストコードの生成前に前記作業手順情報に記述された作業を実行するステップと、
前記テストコードをコンパイラに生成させるステップと、
前記シミュレーションの前に前記作業手順情報に記述された作業を実行するステップと、
前記シミュレーションを前記シミュレータに実行させるステップと、
前記シミュレーションの後に前記作業手順情報に記述された作業を実行するステップとを含むことを特徴とする検証作業支援方法。
【請求項１１】
シミュレータを用いて１又は２以上の設計データを１又は２以上のテストケースで検証する検証作業を支援するため検証作業支援プログラムであって、
前記テストケースを特定するために必要な基本情報の入力を受け付けるステップと、
前記入力された基本情報を含むテンプレートファイルを生成するステップと、
前記テストケース以外の事項を特定するために必要な個別情報の入力を受け付けるステップと、
前記テンプレートファイルから基本情報を読み出し、その基本情報に前記入力された個別情報を追加することにより前記検証作業に必要なパラメータファイルを生成するステップと、
前記パラメータファイルに従って前記シミュレータを起動しながら前記検証作業を実行するステップとをコンピュータに実行させることを特徴とする検証作業支援プログラム。
【請求項１２】
請求項１１に記載の検証作業支援プログラムであって、
前記基本情報は、複数のテストケースに共通するテストケース共通情報と、テストケースごとに異なる複数のテストケース差分情報とを含むことを特徴とする検証作業支援プログラム。
【請求項１３】
請求項１２記載の検証作業支援プログラムであって、
前記パラメータファイルを生成するステップは、前記テストケース共通情報に各テストケースに対応するテストケース差分情報を追加することにより各テストケースのためのテストケース情報ファイルを生成し、前記パラメータファイルは、複数のテストケースに対応する複数のテストケース情報ファイルを含むことを特徴とする検証作業支援プログラム。
【請求項１４】
請求項１１に記載の検証作業支援プログラムであって、
前記パラメータファイルは、複数のテストケースに対応する複数のテストケース情報ファイルを含み、前記個別情報は、検証すべき設計データの所在を示すパス情報を含み、
前記パラメータファイルを生成するステップは、前記個別情報入力手段で入力されたパス情報を追加することにより各テストケースのためのテストケース情報ファイルを生成し、前記テストケース情報ファイルの各々は前記パス情報を含むことを特徴とする検証作業支援プログラム。
【請求項１５】
請求項１１に記載の検証作業支援プログラムであって、
前記テストケース情報ファイルの各々は、前記シミュレータに与えるべきテストコードの生成前に実行すべき作業と前記シミュレータによるシミュレーションの前後に実行すべき作業とを記述した作業手順情報を含み、
前記検証作業を実行するステップは、
前記テストコードの生成前に前記作業手順情報に記述された作業を実行するステップと、
前記テストコードをコンパイラに生成させるステップと、
前記シミュレーションの前に前記作業手順情報に記述された作業を実行するステップと、
前記シミュレーションを前記シミュレータに実行させるステップと、
前記シミュレーションの後に前記作業手順情報に記述された作業を実行するステップとを含むことを特徴とする検証作業支援プログラム。
【請求項１６】
シミュレータを用いて１又は２以上の設計データを１又は２以上のテストケースで検証する検証作業に必要なパラメータファイルを生産するための、コンピュータにより実行可能なパラメータファイル生産方法であって、
前記テストケースを特定するために必要な基本情報の入力を受け付けるステップと、
前記入力された基本情報を含むテンプレートファイルを生成するステップと、
前記テストケース以外の事項を特定するために必要な個別情報の入力を受け付けるステップと、
前記テンプレートファイルから基本情報を読み出し、その基本情報に前記入力された個別情報を追加することにより前記検証作業に必要なパラメータファイルを生成するステップとを備えたことを特徴とするパラメータファイル生産方法。
【請求項１７】
コンパイラを用いて１又は２以上の設計データを複数のテストケースで検証する検証作業に必要なパラメータファイルのデータ構造であって、
複数のテストケースに対応する複数のテストケース情報ファイルを含み、
前記テストケース情報ファイルの各々は、
検証すべき設計データの所在を示すパス情報と、
対応するテストケース用の検証作業の手順を示す作業手順情報と、
対応するテストケース用のテストコードを生成するコンパイラに与えるべき第１のパラメータ情報と、
前記シミュレータに与えるべき第２のパラメータ情報とを含むことを特徴とするパラメータファイルのデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検証作業支援システムに関し、さらに詳しくは、シミュレータを用いて１又は２以上の設計データを１又は２以上のテストケースで検証する検証作業を支援するための検証作業支援システムに関する。
【背景技術】
【０００２】
ＳＯＣ(System On Chip)は、コアプロセッサに加えて、ＵＳＢ(Universal Serial Bus)ホストコントローラやＰＣＩ(Peripheral Component Interconnect)バスコントローラのように高機能な周辺デバイスも一緒にワンチップ化した半導体集積回路である。ＳＯＣの開発では、論理シミュレーションによる設計データの検証を行う。ＳＯＣの検証作業は、（１）テスト環境の構築、（２）テストコードの生成及び（３）シミュレーションの実行を１つのサイクルとし、このサイクルをテストケースごとに繰り返すことにより行う。
【０００３】
（１）テスト環境の構築は、各検証担当者が、ＳＯＣ開発プロジェクトで共有しているテストベンチを元に、各テストケースごとに自分の作業環境を手作業で構築することにより行う。具体的には、ＨＤＬ(Hardware Description Language)シミュレータが入出力するシミュレーション用ファイルを一時的に保存するための作業ディレクトリをテストケースごとに作成し、必要なファイルをそこにコピーする。作業ディレクトリは高速化のために検証担当者のローカルホスト上に作成されるので、作業環境は検証担当者ごとに異なる。
【０００４】
（２）テストコードの生成は、ＳＯＣのシステム論理検証、つまり、ＳＯＣチップ全体で行う論理検証の場合はかなり複雑である。そのため、たとえば米国特許６６５８６３３号に開示されたＴＯＳ（Test Operating System)のような既存の検証ツールが必要になる。テストコードの生成には多くのパラメータを必要とし、ＴＯＳの場合はそれをシステム定義ファイル（ＳＤＦ：System Definition File)に記述する。一般に、テストコードの生成には、このＳＤＦに相当するものが必要になると思われる。
【０００５】
（３）シミュレーションの実行は、生成されたテストコードをＴＯＳが読み込み、それをＨＤＬシミュレータに入力することにより行われる。実際の運用においては１つのテストコードで全てのテストケースを１回で検証できるわけではないので、複数のシステム定義ファイルを用意し、シミュレーションを複数回実行しなければならない。しかも、システム定義ファイルはＳＯＣの開発が進むに連れて修正されていくものであるから、システム定義ファイルの共通部分が部分的に修正されるたびに全てのシステム定義ファイルを修正し、テストコードを再生成しなければならない。また、ソースコード等に変更がなくても、テストコードを再生成し、シミュレーションを再実行することがある。これは１つのテストコードが実際には多くのテストケースから成り立っており、１つのテストコードに含まれる各テストケースの実行パターンをランダムに変更するためである。
【０００６】
シミュレーションの前後に各検証担当者は必要な前処理及び後処理を手作業で行わなければならない。具体的には、シミュレーションの実行前には、各検証担当者は自身の作業環境に応じて必要な関連ファイルをコピーしたり、テストケースごとにシミュレーション条件を変更したりする。シミュレーションの実行後には、各検証担当者はシミュレーション結果レポートを作成する。
また、ＳＯＣのシステム論理検証では、各ＩＰ（Intellectual Property)コア間の協調動作を検証するため、テストベンチに全ての周辺デバイスのモデルを含み、テストコードには全ての周辺デバイスの初期化コードが含まれる。ＵＳＢコアの検証担当者がテストベンチや設定を変更すると、ＰＣＩコアの検証担当者の検証環境にもそれを反映させなければならない。
【０００７】
以上詳述したところから明らかなように、ＳＯＣの設計データを検証するためには、テストコードの生成前やシミュレーションの前後に、煩雑かつ大量の手作業を行わなければならない。そのため、検証作業に長時間を要し、混乱や間違いが生じやすいという問題がある。シミュレーション自体は高機能化する傾向にあるにもかかわらず、このような煩雑かつ大量の手作業を自動化したシステムは未だ提供されていない。
【特許文献１】特開平４−１７１５３３号公報
【特許文献２】特開平２−８９３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、煩雑な検証作業を自動的に実行できる検証作業支援システムを提供することである。
【課題を解決するための手段及び発明の効果】
【０００９】
本発明による検証作業支援システムは、シミュレータを用いて１又は２以上の設計データを１又は２以上のテストケースで検証する検証作業を支援するためのシステムであって、基本情報入力手段と、テンプレートファイル生成手段と、個別情報入力手段と、パラメータファイル生成手段と、検証作業実行手段とを備える。基本情報入力手段は、テストケースを特定するために必要な基本情報の入力を受け付ける。テンプレートファイル生成手段は、基本情報入力手段で入力された基本情報を含むテンプレートファイルを生成する。個別情報入力手段は、テストケース以外の事項を特定するために必要な個別情報の入力を受け付ける。パラメータファイル生成手段は、テンプレートファイルから基本情報を読み出し、その基本情報に個別情報入力手段で入力された個別情報を追加することにより検証作業に必要なパラメータファイルを生成する。検証作業実行手段は、パラメータファイルに従ってシミュレータを起動することにより検証作業を実行する。
【００１０】
この検証作業支援システムによれば、管理者が基本情報（各テストケースの検証作業の手順など）を入力し、検証担当者が個別情報（作業ディレクトリや設計データの所在を示すパスなど）を入力するだけで、各テストケースのパラメータファイルを生成するので、そのパラメータファイルに従ってシミュレーションを実行することにより、煩雑な検証作業を自動的に実行することができる。
【００１１】
好ましくは、基本情報は、複数のテストケースに共通するテストケース共通情報と、テストケースごとに異なる複数のテストケース差分情報とを含む。
【００１２】
この場合、テンプレートファイルのデータサイズを削減できるほか、テストケース共通情報を書き換えるだけで各テストケースのパラメータファイルに反映させることができる。
【００１３】
好ましくは、パラメータファイル生成手段は、テストケース共通情報に各テストケースに対応するテストケース差分情報を追加することにより各テストケースのためのテストケース情報ファイルを生成する。パラメータファイルは、複数のテストケースに対応する複数のテストケース情報ファイルを含む。
【００１４】
好ましくは、個別情報は、検証すべき設計データの所在を示すパス情報を含む。パラメータファイル生成手段は、個別情報入力手段で入力されたパス情報を追加することにより各テストケースのためのテストケース情報ファイルを生成する。テストケース情報ファイルの各々はパス情報を含む。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【００１６】
図１を参照して、本発明の実施の形態による検証作業支援システム１０は、管理者用入力装置１２と、検証担当者用入力装置１４と、テキストエディタ１６と、テンプレートファイル１８と、パラメータファイル自動生成プログラム２０と、パラメータファイル２２と、検証作業実行プログラム２４とを備える。
【００１７】
検証作業支援システム１０は、ＴＯＳ(Test Operating System)２６及びＨＤＬシミュレータ２８を用いて１又は２以上のＳＯＣの設計データをあらかじめ用意された１又は２以上のテストケースで検証する検証作業を支援する。ＴＯＳ２６はシステム定義ファイル(SDF; System Definition File)に基づいてテストコード２６１を自動的に生成する既存の検証ツールの１つで、詳細は米国特許第６６５８６３３号明細書に開示されている。ＨＤＬシミュレータ２８はテストコード２６１を用いて設計データのシミュレーションを実行し、シミュレーション結果レポート２８１を出力する。ここではＴＯＳ２６を用いた例を説明するが、代わりに、ＴＯＳ２６に相当する検証ツールを用いてもよい。
【００１８】
テキストエディタ１６、パラメータファイル自動生成プログラム２０及び検証作業実行プログラム２４はいずれもコンピュータプログラムであって、検証作業支援システム１０においてモジュールとして機能する。プログラム１６，２０，２４及びファイル１８，２２はハードディスク等の媒体に記憶される。
【００１９】
管理者用入力装置１２は、管理者の操作に応じて、テンプレートファイル１８に記述すべき基本情報の入力を受け付ける。テンプレートファイル１８は、図２に示すように、テストグループを特定するために必要なテストグループ基本情報１８１と、テストケースを特定するために必要なテストケース基本情報１８２とを含む。テストケース基本情報１８２は、複数のテストケースに共通するテストケース共通情報１８３と、テストケースごとに異なる複数のテストケース差分情報１８４とを含む。テストケース基本情報１８２は複数のテストケースに共有されているので、テンプレートファイル１８のデータサイズは削減される。
【００２０】
テンプレートファイル１８は、ＸＭＬ(eXtensible Markup Language)形式で記述される。ＸＭＬは、データがテキスト形式で構造化されており、また、データ処理のためのＡＰＩ(Application Program Interface)が標準化されているなど、取り扱いが容易だからである。ＸＭＬのＡＰＩを拡張すれば、階層化されたノード名と、ある階層上での位置情報（出現する順番）とに基づいて、一意に必要なデータを抽出することも可能である。テンプレートファイル１８の一例を図３に示す。
【００２１】
テストグループ基本情報１８１には、図３に示すように、パラメータファイル２２中のテストグループファイル（図４中の符号２２１）を生成するために必要な基本情報を記述する。テストケース共通情報１８３には、全てのテストケースにほぼ共通する基本情報、具体的には、検証作業の手順、テスト条件などの情報を記述する。テストケース差分情報１８４の各々には、当該テストケースに特有の情報、具体的には、検証作業の手順、テスト条件などの差分情報（追加情報、置換情報、削除情報など）を記述する。
【００２２】
追加情報（図３中の<append>〜</append>の部分）は、テストケース共通情報１８３に含まれていない情報であって、テストケース共通情報１８３に追加すべき情報である。置換情報（図３中の<replace>〜</replace>の部分）は、テストケース共通情報１８３に含まれている情報と置換すべき情報である。削除情報は、テストケース共通情報１８３に含まれている情報であって、削除すべき情報である。
【００２３】
再び図１を参照して、検証担当者用入力装置１４は、検証担当者の操作に応じて、テストケース以外の事項を特定するために必要な個別情報、具体的には、検証担当者個別情報１４１及びテスト条件個別情報１４２の入力を受け付ける。検証担当者個別情報１４１は検証担当者ごとに異なる情報で、作業ディレクトリなど、作業環境に関する情報である。テスト条件個別情報１４２はテストフェーズごとに異なる情報で、検証の対象とするＳＯＣの設計データの所在を示すパス情報、検証に用いるテストモード（ＩＰコア単体テストモード、ランダムテストモードなど）に関する情報である。
【００２４】
パラメータファイル自動生成プログラム２０は、テンプレートファイル１８からテストグループ基本情報１８１及びテストケース基本情報１８２を読み出し、その基本情報１８１，１８２に検証担当者個別情報１４１及びテスト条件個別情報１４２を追加することにより、検証作業に必要なパラメータファイル２２を生成する。
【００２５】
パラメータファイル２２は、図４に示すように、複数のテストグループファイル２２１と、複数のテストケース情報ファイル２２２とを含む。複数のテストケースは実行パターン（単体テスト、同時実行テストなど）ごとにグループ化されるので、その複数の実行パターンに対応して複数のテストグループファイル２２１が生成され、テストグループファイル２２１の各々に対応して複数のテストケース情報ファイル２２２が生成される。パラメータファイル２２もテンプレートファイル１８と同様に、ＸＭＬ形式で記述される。
【００２６】
テストグループファイル２２１の各々には、対応する複数のテストケース情報ファイル２２２のリスト（具体的には、各テストケース情報ファイル２２２の所在を示すパス情報）、検証作業実行プログラム２４の実行に必要な設定情報などが記述される。パラメータファイル自動生成プログラム２０は、テンプレートファイル１８からテストグループ基本情報１８１を読み出してパラメータファイル２２内にコピーすることにより、テストグループファイル２２１を生成する。
【００２７】
テストケース情報ファイル２２２は、テストケースごとに生成される。テストケース情報ファイル２２２の各々には、当該テストケースにおける検証作業の手順が記述される。ＴＯＳ２６は、複数のテストケースを順に実行したり、同時に実行したりすることが可能で、組み合わされた複数のテストケースをまとめてコンパイルしたときは１つのテストコードを生成する。このように１つのテストコードを使った１回のＨＤＬシミュレーションを実行する際、実際には複数のテストケースが実行されることになるが、１つのテストコードに対応しているという意味で、ここでは１つのテストケースとみなしている。
【００２８】
パラメータファイル自動生成プログラム２０は、テンプレートファイル１８からテストケース共通情報１８３及び当該テストケース用のテストケース差分情報１８４を読み出し、テストケース共通情報１８３に当該テストケース用のテストケース差分情報１８４を追加することにより、当該テストケース用のテストケース情報ファイル２２２を生成する。
【００２９】
各テストケース情報ファイル２２２は、図５に示すように、作業環境情報（パス情報）２２３と、作業手順情報２２４と、テストコード生成／シミュレーションパラメータ情報２２５と、システム定義ファイル差分情報２２６とを含む。テストケース情報ファイル２２２の一例を図６に示す。
【００３０】
作業環境情報２２３には、検証の対象とする設計データの所在を示すパス情報（図６中の<chip>〜</chip>の部分）、テストコードの生成に必要なシステム定義ファイルの所在を示すパス情報（図６中の<sdf>〜</sdf>の部分）、各検証担当者の作業ディレクトリの所在を示すパス情報（図６中の<work>〜</work>の部分）が記述される。
【００３１】
作業手順情報２２４は、テストコード生成前の作業手順情報２２７と、シミュレーション前の作業手順情報２２８と、シミュレーション後の作業手順情報２２９とから構成される。作業手順情報２２７〜２２９の各々には、コピーすべきファイルのコピー元及びコピー先、実行すべき外部プログラム（図６中の<exec>〜</exec>において"preprocess.pl"で表されるスクリプトプログラムなど）やその実行ディレクトリなどの情報が記述される。検証作業実行プログラム２４は、ここに記述された順序で外部プログラムを実行する。
【００３２】
テストコード生成／シミュレーションパラメータ情報２２５には、ＴＯＳ２６に与えるべきテストコード生成パラメータと、ＨＤＬシミュレータ２８に与えるべきシミュレーションパラメータとが記述される。
【００３３】
システム定義ファイル差分情報２２６には、当該テストケースに対応するテストコードの生成において必要とされるシステム定義ファイルを生成するための、ベースとなるシステム定義ファイルからの差分情報が記述される。システム定義ファイルにはテストコード生成パラメータなども含まれるので、テストコード生成／シミュレーションパラメータ情報２２５に含めることも可能であるが、パラメータそのものではなく、システム定義ファイルの差分情報という意味で、ここではテストコード生成／シミュレーションパラメータ情報２２５とは区別されている。
【００３４】
また、図６に示したテストケース情報ファイル２２２において、８〜２１行目の<pre-compile></pre-compile>の部分は、テストコード生成（コンパイル）前の作業手順を示す。９〜１２行目及び１３〜１６行目の<filecopy></filecopy>の部分は、テストコードの生成前に、指定されたファイルをコピーすることを示す。１７〜２０行目の<exec></exec>の部分は、テストコードの生成前に、実行すべき外部プログラムを示す。この部分を書き換えることにより、どのような処理でも追加することが可能である。そして、１１行目の$(chip)は上記<chip></chip>の部分で当該部分を置き換えることを示し、１２行目の$(work)は上記<work></work>の部分で当該部分を置き換えることを示す。本例では、"preprocess.pl"という名称のスクリプトプログラムを作業ディレクトリにコピーし、実行すること、などが記述されている。
【００３５】
再び図１を参照して、検証作業実行プログラム２４は、パラメータファイル２２に従ってＴＯＳ２６及びＨＤＬシミュレータ２８を起動しながら検証作業を自動的に実行する。
【００３６】
次に、上述した検証作業支援システム１０の動作を説明する。
【００３７】
図１及び図７を参照して、入力装置１２は、管理者の操作に応じて、基本情報（テストグループ基本情報１８１及びテストケース基本情報１８２）の入力を受け付ける（Ｓ１）。テキストエディタ１６は、入力された基本情報を含むテンプレートファイル１８を生成する（Ｓ２）。
【００３８】
次に、入力装置１４は、検証担当者の操作に応じて、個別情報（検証担当者個別情報１４１及びテスト条件個別情報１４２）の入力を受け付ける（Ｓ３）。パラメータファイル自動生成プログラム２０は、テンプレートファイル１８から基本情報を読み出し、その基本情報に入力された個別情報を追加することによりパラメータファイル２２を生成する。その詳細を図８に示す。
【００３９】
図８を参照して、パラメータファイル自動生成プログラム２０は、入力装置１４で入力された検証担当者個別情報１４１及びテスト条件個別情報１４２を読み込み（Ｓ３０）、さらにテンプレートファイル１８を読み込む（Ｓ３１）。そして、パラメータファイル自動生成プログラム２０は、テンプレートファイル１８中の変数（図３中の$(PARM),$(BASE)など）を、読み込んだ個別情報１４１，１４２で置換する（Ｓ３２）。
【００４０】
続いて、パラメータファイル自動生成プログラム２０は、テンプレートファイル１８からテストグループ基本情報１８１を抽出し（Ｓ３３）、複数のテストグループファイル２２１を生成する（Ｓ３４）。
【００４１】
全てのテストグループファイル２２１の生成後（Ｓ３５でＹＥＳ）、パラメータファイル自動生成プログラム２０は、テンプレートファイル１８からテストケース共通情報１８３を抽出する（Ｓ３６）。パラメータファイル自動生成プログラム２０は、テンプレートファイル１８の削除情報を適用し、テストケース共通情報１８３から所定情報を削除する（Ｓ３７）。パラメータファイル自動生成プログラム２０はまた、テンプレートファイル１８の追加情報を適用し、テストケース共通情報１８３に所定情報を追加する（Ｓ３８）。パラメータファイル自動生成プログラム２０はまた、テンプレートファイル１８の置換情報を適用し、テストケース共通情報１８３中の所定情報を別の所定情報と置換する（Ｓ３９）。これにより、パラメータファイル自動生成プログラム２０はテストケース情報ファイル２２２を生成する（Ｓ４０）。
【００４２】
パラメータファイル自動生成プログラム２０は、全てのテストケース情報ファイル２２２を生成し終えるまで上記ステップＳ３６〜４０を繰り返す（Ｓ４１）。
【００４３】
たとえば図９に示すように、テストケースが２つある場合、テンプレートファイル１８は、１つのテストケース共通情報１８３（ＴＣ）と、２つのテストケース差分情報１８４（Ｔ１，Ｔ２）とを含む。また、検証担当者が３人いる場合、３つの検証担当者個別情報１４１、具体的には、作業ディレクトリの所在を示すパス情報Ｐ１〜Ｐ３が入力される。さらに、設計データが２つある場合、２つのテスト条件個別情報１４２、具体的には、設計データの所在を示すパス情報Ｄ１，Ｄ２が入力される。この場合、パラメータファイル自動生成プログラム２０は１２通りのテストケース情報ファイル２２２を生成可能であるが、実際には、いずれかのテストケース情報ファイル２２２を生成し、パラメータファイル２２に格納する。
【００４４】
そして、検証作業実行プログラム２４は、パラメータファイル２２に従ってＴＯＳ２６及びＨＤＬシミュレータ２８を起動することにより検証作業を自動的に実行する。その詳細を図１０に示す。
【００４５】
図１０を参照して、検証作業実行プログラム２４は、概略、テストコード生成前処理Ｓ６、テストコード生成処理Ｓ５４、シミュレーション前処理Ｓ７、シミュレーション処理Ｓ５７、及びシミュレーション後処理Ｓ８を順に実行する。
【００４６】
テストコード生成前処理Ｓ６において、検証作業実行プログラム２４は、パラメータファイル２２から対象となる１つのテストケース情報ファイル２２２を読み出し、その中のパス情報２２３に基づいて作業ディレクトリを生成する（Ｓ５０）。続いて、検証作業実行プログラム２４は、テストケース情報ファイル２２２中のパス情報２２３及び作業手順情報２２４に基づいて所定の処理（<pre-compile>〜</pre-compile>の部分；シミュレーションで必要とされるファイルを作業ディレクトリにコピーするなど）を実行する（Ｓ５１）。所定の処理を全て終了した後（Ｓ５２でＹＥＳ）、検証作業実行プログラム２４は、テストケース情報ファイル２２２中のシステム定義ファイル(SDF)差分情報２２６をベースとなるシステム定義ファイルに適用することにより新規にシステム定義ファイル２３０を生成する（Ｓ５３）。
【００４７】
テストコード生成前処理Ｓ６の終了後、検証作業実行プログラム２４は、生成したシステム定義ファイル２３０とテストケース情報ファイル２２２中のテストコード生成／シミュレーションパラメータ情報２２５とをＴＯＳ２６に与え、ＴＯＳ２６はこれをコンパイルすることによりテストコード２６１を生成する（Ｓ５４）。
【００４８】
次に、シミュレーション前処理Ｓ７において、検証作業実行プログラム２４は、テストケース情報ファイル２２２中のパス情報２２３及び作業手順情報２２４に基づいて所定の処理（<pre-simulation>〜</pre-simulation>の部分；指定ファイルを指定ディレクトリにコピーするなど）を実行する（Ｓ５５）。所定の処理を全て終了した後（Ｓ５６でＹＥＳ）、検証作業実行プログラム２４は次へ移行する。
【００４９】
シミュレーション前処理Ｓ７の終了後、検証作業実行プログラム２４は、ＴＯＳ２６で生成されたテストコード２６１でもってＨＤＬシミュレータ２８に入力を与え、シミュレーションを実行する（Ｓ５７）。
【００５０】
次に、シミュレーション後処理Ｓ８において、検証作業実行プログラム２４は、テストケース情報ファイル２２２中のパス情報２２３及び作業手順情報２２４に基づいて所定の処理（指定ファイルを指定ディレクトリにコピーするなど）を実行する（Ｓ５８）。所定の処理を全て終了した後（Ｓ５９でＹＥＳ）、検証作業実行プログラム２４は次へ移行する。
【００５１】
最後に、ＨＤＬシミュレータ２８が出力した結果ファイル２８１を元にテスト結果を集計し、シミュレーション結果レポートをレポートディレクトリに出力する（Ｓ６０）。
【００５２】
再び図７を参照して、検証作業支援システム１０は上述した処理Ｓ３〜Ｓ５をテストフェーズごとに繰り返す。
【００５３】
以上のように、本発明の実施の形態によれば、管理者がテキストエディタ１６を用い、テストグループ基本情報１８１及びテストケース基本情報１８２を入力してテンプレートファイル１８を作成し、各検証担当者が検証担当者個別情報１４１及びテスト条件個別情報１４２を入力するだけで、パラメータファイル自動生成プログラム２０がテストケースごとにテストケース情報ファイル２２２を生成し、各テストケース情報ファイル２２２に従って、ＴＯＳ２６にテストコード２６１を生成させ、さらにＨＤＬシミュレータ２８にシミュレーションをさせる。その結果、テストコード２６１の生成を初め、煩雑な一連の検証作業を統合し、部分的な自動化ではなく、検証作業全般に対する自動化を可能にする。
【００５４】
また、管理者が検証作業の基本的な内容をテンプレートファイル１８に記述し、一元管理するようになっているため、各検証担当者はその詳細を知らなくてもよい。しかも、検証作業に修正が必要な場合、管理者はテンプレートファイルを変更するだけでよく、各検証担当者は作業内容の変更を知らなくてもよい。たとえばＨＤＬシミュレータ２８が読み込むべき設定ファイルが１つ増えたとしても、各検証担当者はそのことを全く知らなくてもよい。テンプレートファイル１８が更新された場合、各検証担当者はパラメータファイル２２を再生成するだけで、自身の作業環境やテスト条件に応じたパラメータファイル２２を得ることができる。
【００５５】
また、テストケース基本情報１８２をテストケース共通情報１８３とテストケース差分情報１８４とに分けているので、テストケース共通情報１８３を繰り返し記述する必要はなく、冗長な情報をなくすことができる。また、テストケース共通情報１８３の一部を書き換えるだけで、全てのテストケース情報ファイル２２２に反映させることができる。
【００５６】
また、検証作業実行プログラム２４は、テストケース情報ファイル２２２中の各部分を単なるデータとして扱うだけでなく、作業手順としても扱う。つまり、テストケース情報ファイル２２２は、単なるデータファイルだけでなく、検証作業実行プログラム２４の一部としても機能する。そのため、テストケース差分情報１８４を書き換えることにより、テストケースごとに検証作業の内容を変更することができる。その一例を図１１に示す。
【００５７】
【００５８】
以上、本発明の実施の形態を１つ例示したが、本発明は上記実施の形態に限定されることはない。上記実施の形態は１つのＳＯＣ設計業者の事業所内に検証作業支援システム１０の全てをＴＯＳ２６等のコンパイラやＨＤＬシミュレータ２８とともに構築することを前提としているが、各ＳＯＣ設計業者の事業所内に、管理者用入力装置１２、検証担当者用入力装置１４及び検証作業実行プログラム２４をＴＯＳ２６等のコンパイラやＨＤＬシミュレータ２８とともに構築し、ＳＯＣ設計支援業者の事業所内に、テキストエディタ１６及びパラメータファイル自動生成プログラム２０を構築してもよい。この場合、あるＳＯＣ設計支援業者は各ＳＯＣ設計業者から基本情報及び個別情報を取得し、パラメータファイル自動生成プログラム２０で生成（生産）したパラメータファイル２２を各ＳＯＣ設計業者に返信することになる。
また、管理者用入力装置１２、検証担当者用入力装置１４、テキストエディタ１６、テンプレートファイル１８、パラメータファイル自動生成プログラム２０、パラメータファイル２２、検証作業実行プログラム２４、ＴＯＳ２６、ＨＤＬシミュレータ２８などのハードウェア資源又はソフトウエア資源は単一のコンピュータ上に構築される必要はなく、ネットワーク化された複数のコンピュータ上に分散して構築されてもよい。
【００５９】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施の形態による検証作業支援システムの構成を示す機能ブロック図である。
【図２】図１中のテンプレートファイルのデータ構造を示す図である。
【図３】図２に示したテンプレートファイルの一例である。
【図４】図１中のパラメータファイルのデータ構造を示す図である。
【図５】図４に示したパラメータファイルにおけるテストケース情報ファイルのデータ構造を示す図である。
【図６】図５に示したテストケース情報ファイルの一例である。
【図７】図１に示した検証作業支援システムの動作（検証作業支援方法及びプログラム）を示すフロー図である。
【図８】図７中のパラメータファイル生成処理のサブルーチンを示すフロー図である。
【図９】図１中のパラメータ自動生成プログラムによるテストケース情報ファイルの生成方法を示す図である。
【図１０】図７中の検証作業実行処理のサブルーチンを示すフロー図である。
【図１１】図１に示した検証作業支援システムにより自動的に実行される検証作業の内容をテストケースごとに変更した一例である。
【符号の説明】
【００６１】
１０  検証作業支援システム
１２  管理者用入力装置
１４  検証担当者用入力装置
１６  テキストエディタ
１８  テンプレートファイル
２０  パラメータファイル自動生成プログラム
２２  パラメータファイル
２４  検証作業実行プログラム
２６  ＴＯＳ
２８  ＨＤＬシミュレータ
１４１  検証担当者個別情報
１４２  テスト条件個別情報
１８１  テストグループ基本情報
１８２  テストケース基本情報
１８３  テストケース共通情報
１８４  テストケース差分情報
２２１  テストグループファイル
２２２  テストケース情報ファイル
２２３  作業環境情報（パス情報）
２２４，２２７〜２２９  作業手順情報
２２５  テストコード生成／シミュレーションパラメータ情報
２２６  システム定義ファイル差分情報
２６１  テストコード
２８１  結果ファイル
Ｓ６  テストコード生成前処理
Ｓ５４  テストコード生成処理
Ｓ７  シミュレーション前処理
Ｓ５７  シミュレーション処理
Ｓ８  シミュレーション後処理
【図１】
2007172444.tif 000003
【図２】
2007172444.tif 000004
【図３】
2007172444.tif 000005
【図４】
2007172444.tif 000006
【図５】
2007172444.tif 000007
【図６】
2007172444.tif 000008
【図７】
2007172444.tif 000009
【図８】
2007172444.tif 000010
【図９】
2007172444.tif 000011
【図１０】
2007172444.tif 000012
【図１１】
2007172444.tif 000013
【手続補正書】
【提出日】平成17年12月28日(2005.12.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１７
【補正方法】変更
【補正の内容】
【請求項１７】
シミュレータを用いて１又は２以上の設計データを複数のテストケースで検証する検証作業に必要なパラメータファイルのデータ構造であって、
複数のテストケースに対応する複数のテストケース情報ファイルを含み、
前記テストケース情報ファイルの各々は、
検証すべき設計データの所在を示すパス情報と、
対応するテストケース用の検証作業の手順を示す作業手順情報と、
対応するテストケース用のテストコードを生成するコンパイラに与えるべき第１のパラメータ情報と、
前記シミュレータに与えるべき第２のパラメータ情報とを含むことを特徴とするパラメータファイルのデータ構造。