(57)【要約】【課題】設計を検証する方法およびシステムを提供すること。【解決手段】この方法およびシステムは、ある設計に対して離散的なテスト・ケースまたは１組の関連するテスト・ケースを実行するのに必要とされるリソースを抽出することを含む。この方法およびシステムはさらに、抽出されたリソースに基づいてシミュレーション・モデルを構築することと、設計全体ではなく、抽出されたリソースだけを用いてこのシミュレーション・モデルを実行し、それによって、離散的なテスト・ケースまたは１組の関連するテスト・ケースによって表される特定の機能または一群の相互に関係する機能をテストして設計を検証することと、このシミュレーション結果とテスト計画を相関させることとを含む。【選択図】図１
2007164780.tif 000002
【特許請求の範囲】
【請求項１】
ある設計に対して離散的なテスト・ケースまたは１組の関連するテスト・ケースを実行するのに必要とされるリソースを抽出するステップと、
前記抽出されたリソースに基づいてシミュレーション・モデルを構築するステップと、
設計全体ではなく、前記抽出されたリソースだけを用いて前記シミュレーション・モデルを実行して、前記離散的なテスト・ケースまたは１組の関連するテスト・ケースによって表される特定の機能または一群の相互に関係する機能をテストし、それによって設計を検証するステップとを含む、方法。
【請求項２】
前記抽出されたリソースを構築して、前記設計の前記特定の機能または一群の相互に関係する機能に関係するパーティションにする、請求項１に記載の方法。
【請求項３】
前記シミュレーション・モデルは、個々の独立したテスト・ケースに分割され、それによって、特定の機能または一群の相互に関係する機能をテストするのに必要とされる独立した検証が行われる、請求項１に記載の方法。
【請求項４】
前記抽出されたリソースは、少なくとも１組の共通必須要素およびテスト・ケース指定要素を含む、請求項１に記載の方法。
【請求項５】
少なくともチップ基本要素と、前記設計を表すテスト・ケース固有要素とを組み合わせることを含む材料構成（ＢＯＭ）生成を構築するステップをさらに含む、請求項１に記載の方法。
【請求項６】
前記チップ基本要素は、少なくとも１組の共通の非テスト・ケース固有要素である、請求項５に記載の方法。
【請求項７】
前記テスト・ケースまたは１組のテスト・ケース内で、１組のＫＥＹＷＯＲＤとして前記リソースを提供するステップをさらに含み、前記ＫＥＹＷＯＲＤを使用して、前記テスト・ケースまたは１組のテスト・ケースについての前記リソースを指定する、請求項５に記載の方法。
【請求項８】
前記リソースは、ハードウエアであり、内部または外部のリソースの少なくとも１つを含む、請求項７に記載の方法。
【請求項９】
後続のシミュレーションの実行に関連する前記テスト・ケースまたは１組のテスト・ケースについて前記リソースをパースするステップをさらに含む、請求項１に記載の方法。
【請求項１０】
前記パースされたリソースと共通要素を組み合わせて、コンパイル用のＢＯＭモデル・ビルド・ファイルを生成するステップをさらに含む、請求項９に記載の方法。
【請求項１１】
前記パースするステップは、特定のテスト・ケースについての異なるＢＯＭモデル・ビルド・ファイルを識別し、それにアクセスすることを含む、請求項９に記載の方法。
【請求項１２】
前記ＢＯＭモデル・ビルド・ファイルは、前記シミュレーション・モデルをコンパイルするためのスタブ・ファイルを生成する、請求項１０に記載の方法。
【請求項１３】
前記スタブ・ファイルは、前記シミュレーション・モデルに完全に機能するモデルおよび空のモデルをインストールするようにモデル・ビルド・プロセスに命令する、請求項１２に記載の方法。
【請求項１４】
前記完全に機能するモデルは、シミュレーションの形で正確に振る舞い、検証すべき前記特定の機能または相互に関係する機能群にそれぞれ関連する１つのパーティションまたは特定の一群のパーティションについて合成され、
前記空のモデルは、前記設計の、シミュレーションも検証もされない残りの部分を表す、請求項１３に記載の方法。
【請求項１５】
１組の共通必須要素を提供するステップと、
ある設計用のリソースを提供するステップと、
テスト・ケース仕様について前記リソースをパースするステップと、
前記パースされたリソースと前記共通必須要素を組み合わせて、材料構成（ＢＯＭ）モデル・ビルド・ファイルを生成するステップと、
前記ＢＯＭモデル・ビルド・ファイルに基づいてスタブ・ファイルを生成してシミュレーション・モデルをコンパイルするステップと、
設計全体ではなく、前記シミュレーション・モデルを用いて、検証すべき前記設計の離散的な機能をシミュレーションするステップと、
前記離散的な機能のシミュレーション結果とテスト計画とを相関させるステップとを含む、方法。
【請求項１６】
前記リソースは、テスト・ケース必須リソースを指定するのに用いる１組のＫＥＹＷＯＲＤとして指定されるハードウエア・リソースであり、前記ハードウエア・リソースは、検証すべき各機能ごとに特定のテスト・ケースを生成し、
前記ＢＯＭモデル・ファイルは、モデル・ビルド・プロセスに命令するスタブ・ファイルを生成し、
前記モデル・ビルド・プロセスは、実モデル表現および空モデル表現を含み、前記実モデル表現は、シミュレーションの形で正確に振る舞い、設計全体ではなく、検証すべき機能を表す前記テスト・ケース仕様について合成することができ、
空モデル表現は、前記設計の１つ（または複数）の残りの部分を表す、請求項１５に記載の方法。
【請求項１７】
１組の共通な非テスト・ケース固有要素を提供する手段と、
１組のキーワードとして、テスト・ケース必須リソースを指定するのに用いるリソースを指定する手段と、
テスト・ケースまたは１組のテスト・ケースごとに後続のシミュレーションの実行に関連する前記キーワードの組をパースする手段と、
前記パースされたリソース・キーワードと前記共通要素を組み合わせて、ＢＯＭモデル・ビルド・ファイルを生成する手段と、
前記ＢＯＭビルド・ファイルを使用してスタブ・ファイルを生成する手段とを備えるシステムであって、前記スタブ・ファイルは、シミュレーション・モデルのコンパイルを指示して、ある設計の離散的な機能を検証する、システム。
【請求項１８】
前記リソースは、テスト・ケース必須リソースを指定するのに用いるハードウエア・リソースである、請求項１７に記載のシステム。
【請求項１９】
前記モデル・ビルド・プロセスは、実モデル表現および空モデル表現を含み、前記実モデル表現は、シミュレーションの形で正確に振る舞い、設計全体ではなく、検証すべき機能を表す前記テスト・ケースの仕様について合成することができ、前記空モデル表現は、前記設計の１つ（または複数）の残りの部分を表す、請求項１７に記載のシステム。
【請求項２０】
コンピュータ可読プログラムであって、コンピュータ上で実行されると、前記コンピュータに、
ある設計に対して離散的なテスト・ケースまたは１組の関連するテスト・ケースを実行するのに必要とされるリソースを抽出させ、
前記抽出されたリソースに基づいてシミュレーション・モデルを構築させ、
設計全体ではなく、前記抽出されたリソースのみを用いて前記シミュレーション・モデルを実行させて、前記離散的なテスト・ケースまたは１組の関連するテスト・ケースによって表される特定の機能または一群の相互に関係する機能をテストし、それによって設計を検証し、
前記離散的な機能のシミュレーション結果とテスト計画を相関させる、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設計をテストするか、または検証する方法およびシステム、あるいはその両方を行う方法およびシステムに関し、より詳細には、シミュレーション・プロセスを用いてシステム・オン・チップ（ＳｏＣ）設計を検証する方法およびシステムに関する。
【背景技術】
【０００２】
昨今の集積回路（ＩＣ）チップは、複雑さおよび精巧さの点でかなり高度化している。例えば、以前の世代のチップ設計では、チップは、論理ゲート間の相互接続部によって実施される比較的簡単な電子論理ブロックで実施されていたが、より新しい世代のチップの設計は、しばしば「コア」と呼ばれる複雑でモジュール化されたＩＣ設計の組合せを含み、これらのコアが合わさってＳｏＣ全体が構成される。これらのより新しい世代のＩＣ設計では、例えば、フィーチャ・サイズをより小型にすることができ、そのため、単一チップ上に構築し得る回路の量が増加することによって、チップ自体の全体的な機能および性能の特徴が大きく向上する。しかし、これには、設計および検証の時間がより長くかかり、それが、追加の開発および製作のコストになることによるコストがかかる。
【０００３】
このような複雑なＩＣチップを設計するために、ＩＣチップ開発には、設計段階および検証段階が含まれる。後者は、チップ自体の実際の動作、したがって機能を決定するのに不可欠である。例えば、設計が予想どおりに動作するかどうかを判定するのはこの検証段階である。
【０００４】
検証段階は、まずハードウエアで設計を実施してこのような設計の実際の動作を検証するコストを避けるために、ソフトウエア・シミュレーションによる手法に向かいつつある。しかし、マルチプロセッサおよびマルチコアによる設計では、シミュレーションごとに設計およびテスト・ベンチ全体を構築しなければならないために、シミュレーション・モデルが極めて大きくなることがある。最新のシミュレーション・ツールを利用しても、シミュレーションの負荷および実行時間ならびに構築時間は、コスト集約的かつ時間集約的になることがある。このことは、複雑な設計の場合に特に当てはまる。というのは、設計の完全なゲート・レベルの表現を構築し、それをシミュレーションにロードしなければならないからである。
【０００５】
例を挙げると、設計を検証する際に、シミュレータ（例えば、ＶｅｒｉｌｏｇまたはＶＨＤＬなどのハードウエア記述言語（ＨＤＬ）で書かれたソフトウエアを受け入れることを含む機能を有する特殊なソフトウエア）により、回路設計（例えばコア）をモデル化して、設計の応答をシミュレーションする。テスト・ケースはこの応答を適用して、設計が予想どおりに機能するかどうかを判定する。しかし、許容し得る程度にバグのない設計を実現するには、この検証ソフトウエアは、完全な設計を既存のツールにロードして、この設計を十分に、すなわち、シミュレーションの形でいくつかのテスト・ケースを適用してこの設計を完全に実行して検証しなければならない。
【０００６】
チップ設計が、個々のコアおよびコア間の相互作用の点でより複雑になるにつれ、検証は、さらに膨大な量の時間と計算リソースを必要とする傾向がある。これは主に、設計全体に関する機能のモデル化および相互作用の検証のためである。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
すなわち、例えば、たった１つの機能をテストするために、あるいは、２つ以上の機能間の相互作用をテストするためにテスト設計全体をロードし実行する必要があり、そのため、検証プロセスは指数関数的に長くなる。現在の検証方法におけるこれらの非効率さにより、時間に追われることが多くなり、ＩＣチップの開発業者および販売業者にとって事業で競争力を維持するための主要なファクタである製品が市場に出るまでの時間がかなり長くなる。
【課題を解決するための手段】
【０００８】
本発明の第１態様における方法は、ある設計に対して離散的なテスト・ケースまたは１組の関連するテスト・ケースを実行するのに必要とされるリソースを抽出するステップを含む。この方法はさらに、抽出されたリソースに基づいてシミュレーション・モデルを構築するステップと、設計全体ではなく、抽出されたリソースだけを用いてこのシミュレーション・モデルを実行し、それによって、離散的なテスト・ケースまたは１組の関連するテスト・ケースによって表される特定の機能または一群の相互に関係する機能をテストして設計を検証するステップとを含む。
【０００９】
本発明の実施形態では、抽出されたリソースを構築して、この設計の特定の機能または一群の相互に関係する機能に関係するパーティションにする。シミュレーション・モデルは、個々の独立したテスト・ケースに分割することができ、それによって、特定の機能または一群の相互に関係する機能をテストするのに必要とされる独立した検証が行われる。本発明の実施形態では、抽出されたリソースは、少なくとも１組の共通必須要素およびテスト・ケース指定要素を含む。
【００１０】
本発明の別の実施形態では、この方法は、材料構成（ＢＯＭ）生成を構築することを含み、これは、少なくともチップ基本要素と、この設計を表すテスト・ケース固有要素とを組み合わせることを含む。チップ基本要素は、少なくとも１組の共通の非テスト・ケース固有要素である。この方法はさらに、テスト・ケースまたは１組のテスト・ケース内で、１組のＫＥＹＷＯＲＤとしてリソースを提供することを含む。これらのＫＥＹＷＯＲＤは、これらのテスト・ケースまたは１組のテスト・ケースについてのリソースを指定するのに使用する。これらのリソースは、ハードウエアとすることができ、内部または外部のリソースの少なくとも１つを含み得る。
【００１１】
本発明の別の実施形態では、この方法は、後続のシミュレーションの実行に関連するテスト・ケースまたは１組のテスト・ケースについてリソースをパースするステップを含む。この方法はさらに、パースされたリソースと共通要素を組み合わせて、コンパイル用のＢＯＭモデル・ビルド・ファイルを生成することを含む。パース処理ステップは、特定のテスト・ケースについての異なるＢＯＭモデル・ビルド・ファイルを識別し、それにアクセスすることも含む。このＢＯＭモデル・ビルド・ファイルは、シミュレーション・モデルをコンパイルするための「スタブ」ファイルを生成する。これらのスタブ・ファイルは、シミュレーション・モデルに完全に機能するモデルおよび空のモデルをインストールするようにモデル・ビルド・プロセスに命令する。この完全に機能するモデルは、シミュレーションの形で正確に振る舞い、検証すべき特定の機能または相互に関係する機能群にそれぞれ関連する１つのパーティションまたは特定の一群のパーティションについて合成される。空モデル表現は、この設計の、シミュレーションも検証もされない残りの部分を表す。
【００１２】
本発明の別の実施形態では、この方法は、１組の共通必須要素および設計用のリソースを提供するステップを含む。これらのリソースは、テスト・ケース仕様についてパースされ、共通必須要素と組み合わせて、材料構成（ＢＯＭ）のモデル・ビルド・ファイルを生成する。このＢＯＭモデル・ビルド・ファイルに基づいてスタブ・ファイルが生成され、それによってシミュレーション・モデルがコンパイルされる。この方法はさらに、設計全体ではなく、シミュレーション・モデルを用いて、検証すべき設計の離散的な機能をシミュレーションするステップを含む。この方法はさらに、離散的な機能のシミュレーション結果とテスト計画とを相関させることを含む。
【００１３】
本発明の別の実施形態では、共通必須要素の組は、非テスト・ケース固有要素を含む。これら非テスト・ケース固有要素は、シミュレーション・モデルについての設計の基本構成要素を記述するものである。
【００１４】
別の実施形態では、このシミュレーション・モデルは、設計全体ではなく、この設計の特定の機能を独立して検証するための個々の独立したサブシステムのパーティションを含む。この設計の特定の機能についてＢＯＭモデル・ビルド・ファイルを提供することができ、それを保存し再利用してシステム・リソースを活用し得る。この方法を用いて、流通用集積回路チップを製作することもできる。この方法はさらに、シミュレーション・モデルを用いて、ある設計に対して特定のテスト・ケースまたは１組のテスト・ケースを実行するのに必要とされるリソースのみを抽出することによって、シミュレーション・モデルのサイズおよび複雑さを体系的に低減する。
【００１５】
本発明の別の実施形態では、これらのリソースは、テスト・ケース必須リソースを指定するのに用いる１組のＫＥＹＷＯＲＤとして指定されるハードウエア・リソースである。これらのハードウエア・リソースは、検証すべき各機能ごとに特定のテスト・ケースを生成し、ＢＯＭモデル・ファイルは、モデル・ビルド・プロセスに命令するスタブ・ファイルを生成する。
【００１６】
本発明の実施形態では、モデル・ビルド・プロセスは、実モデル表現および空モデル表現を含む。実モデル表現は、シミュレーションの形で正確に振る舞い、設計全体ではなく、検証すべき機能を表すテスト・ケース仕様について合成することができる。空モデル表現は、この設計の１つ（または複数）の残りの部分を表す。別の実施形態では、空モデル表現のすべての出力を不活動状態にアサートするために「タイ・オフ」が提供され、それによって、それ以外では空モデル表現がシミュレーション・モデルで用いられないようにする。この方法はさらに、ＡＤＦを用いてユーザ指定パラメータをコンパイルして、シミュレーション・モデルにおいて検証する特定のテストを生成するステップを含む。
【００１７】
本発明の別の態様では、本発明のステップを実施するシステムが提供される。本発明の別の態様では、コンピュータ可読プログラムを含むコンピュータにより使用可能な媒体を備えるコンピュータ・プログラム製品が提供される。このコンピュータ可読プログラムは、コンピュータ上で実行されると、このコンピュータに、ある設計に対して離散的なテスト・ケースまたは１組の関連するテスト・ケースを実行するのに必要とされるリソースを抽出させ、抽出されたリソースに基づいてシミュレーション・モデルを構築させ、設計全体ではなく、抽出されたリソースのみを用いてこのシミュレーション・モデルを実行させて、離散的なテスト・ケースまたは１組の関連するテスト・ケースによって表される特定の機能または一群の相互に関係する機能をテストし、それによって設計検証が行われる。このシステムはさらに、離散的な機能のシミュレーション結果とテスト計画を相関させることを含む。
【発明を実施するための最良の形態】
【００１８】
本発明は、ＩＣ設計をテストするか、または検証する方法およびシステム、あるいはその両方を行う方法およびシステムに関し、より詳細には、改善されたシミュレーション・プロセスを用いたシステム・オン・チップ（ＳｏＣ）設計検証用の方法およびシステムに関する。本発明の実施形態では、このシステムおよび方法は、例えば、ある設計に対して特定のテスト・ケースまたは１組のテスト・ケースを実行するのにまさに必要とされるリソースのみを抽出することによって、シミュレーション・モデルのサイズおよび複雑さを体系的に低減する。このようにして、これら１つ（または複数）のテスト・ケースを実行するのに必要とされる本質的なコンポーネントだけがシミュレーション・モデル内で実際に構築される。このように、これら必要とされる部分のみを構築しシミュレーションすることによって、複雑なＳｏＣ設計が最小限の共通部分に低減される効果が得られる。そのため、このシステムおよび方法により、実施時に、検証の有効性を損なわずに最小限のシミュレーション・モデルが構築される。
【００１９】
材料のビルド（ＢＯＭ）生成
一実施形態では、設計の検証を実施するために、材料構成（ｂｕｉｌｄ  ｏｆ  ｍａｔｅｒｉａｌｓ、ＢＯＭ）を構築する。一実施例として、ＢＯＭは、ＩＣの設計を検証するのに必要とされる項目一覧表を含む。実施時に、この一覧表は、チップ・インテグレータによって提供される１組の共通必須要素と、特定のテスト・ケースについての特定のハードウエア・リソース一覧表とを含み得る。そのため、一実施形態では、このシステムおよび方法は、チップの基礎要素とテスト・ケース固有要素とを組み合わせることによってＢＯＭを構築し、それによって、シミュレーション・モデルについての必要な最小限のＢＯＭが生成される。
【００２０】
一実施形態では、独立した検証を行うために、シミュレーション・モデルを構築し、それを個々の独立したサブシステムまたはテスト・ケース（例えば、個々の設計機能）に分割することができる。このようにして、最終シミュレーション・モデルは、とりわけ、パーティションにまたがる機能を検証することを含み得る、設計の特定機能をテストするのに必要とされるパーティション（モデル）だけを含むことができる。こうすると、各機能をテストするごとに、チップ設計全体をモデル化し、ロードし、シミュレーションすることが不要になる。その代わりに、設計全体ではなく、パーティションまたは別々のチップ機能を検証することができる。
【００２１】
一実施形態では、このパーティション処理は、チップ・インテグレータによって提供されるテスト計画に基づいて行う。ここで、このテスト計画は、設計全体をロードし、シミュレーションし、検証することを必要とせずに特定の設計機能をテストし検証するための個々のテスト・ケースに変換される。一実施形態では、特定のＩＣの共通設計機能用に、システム・リソースを活用するために、すなわち、メモリおよび記憶装置などのコンピュータ・リソースをより効率よく利用するために、これらのパーティションを保存し再利用することができる。こうすると、このような機能をモデル化し直す必要がなくなる。
【００２２】
図１を参照すると、以下のステップを用いてＢＯＭデータを生成してシミュレーション・モデルを構築することができる。これらのステップを、エンド・ユーザは、単にＳｏＣシミュレーションでどの１つ（または複数）のテスト・ケースを実行するかを指定することにより実施して、最適なシミュレーションを行うための可能な最も小さいモデルを自動的に生成することができる。
【００２３】
ステップ１００では、チップ・インテグレータによって、１組の共通必須要素が提供される。これらの共通要素は、非テスト・ケース固有のものとすることができ、実行する基本的なものとしてすべてのモデルについて含めることができる。これらの非テスト・ケース固有要素は、一実施形態では、構築する必要はなく、検証のために用いられる。これらの共通要素は、典型的には環境的なものであり、チップを構築する基本構成要素を記述するのに使用される。非例示的な例として、非テスト・ケース固有要素は、いくつか例を挙げると、マイクロプロセッサ、バス、リセット、およびクロックの記述を含み得る。
【００２４】
ステップ１１０では、テスト・ケースの仕様内で、テスト・ケース必須リソースを指定するのに使用し得る１組のＫＥＹＷＯＲＤとして１つ（または複数）の必要なハードウエア・リソースを指定する。一実施形態では、ハードウエア・リソースのリスト化は、検証すべき設計の各機能ごとに特定のテスト・ケースを生成するために必要とされる。これらのハードウエア・リソースは、例えば、割込みコントローラ、ＤＭＡコントローラ、メモリ・コントローラなどの内部デバイス、ならびにメモリ・モデル、外部バス・マスタなどの外部デバイスとし得る。
【００２５】
特定の一実施例では、ＩＢＭ社のａｕｔｏＴＯＳ（商標）（アプリケーション定義ファイルまたは（ソフトウエア・リソースを指定するところである）ＡＤＦ）を用いてユーザ指定パラメータ（例えばリソース）をコンパイルし、それによって、検証する特定のテストが生成される。当業者には周知のように、ａｕｔｏＴＯＳ（商標）は、テスト・プロセスおよび生成プロセスを自動化するのに使用するコンパイラ・ツールである。一実施形態では、当業者には理解されるように、ａｕｔｏＴＯＳ（商標）を用いて、テンプレートを実施するテスト・ケースを生成することができる。
【００２６】
ステップ１２０では、本発明のシステムおよび方法は、後続のシミュレーションの実行に関連するテスト・ケース（または１組のテスト・ケース）ごとにリソースのキーワードをパースする。ステップ１３０では、これらのパースされたリソースと共通要素を組み合わせ、それを用いてＢＯＭモデル・ビルド・ファイルを生成する。パース処理には、１つ（または複数）の各テスト・ケースごとにリソースを識別することを含めることができ、それによって、このシステムおよび方法が、特定のテスト・ケースについて異なるＢＯＭまたはパーティションを識別し、アクセスすることができる。
【００２７】
ステップ１４０では、ＢＯＭモデル・ビルド・ファイルを用いて、サブセットまたはシミュレーションのモデルのコンパイルを指示するファイルであるＶｅｒｉｌｏｇ「スタブ」ファイルを生成する。当業者には周知のように、Ｖｅｒｉｌｏｇ  ＨＤＬは、電子システムを設計しドキュメント化するのに用いるハードウエア記述言語である。
【００２８】
上記のステップを用いることによって、ＳｏＣシミュレーションで実行する特定のテスト・ケースを指定することが可能である。こうすると、ユーザは、最適なシミュレーションを行うための可能な最も小さいモデルを自動的に生成することができる。
【００２９】
スタブ・ファイル
本発明の方法およびシステムでは、スタブ・ファイルを用いてモデル・ビルド・プロセスに命令する。すなわち、スタブ・ファイルの使用には、モデル・ビルド環境内でＢＯＭモデル・ビルド・ファイルを実施するためのファイルを含めることができる。実施形態の一例として、以下でより詳細に論じるように、これらのスタブ・ファイルは、各構成要素（例えば、設計の機能ブロック）ごとに完全に機能するモデル、または空のモデルをインストールするようにモデル・ビルド・プロセスに命令することができる。
【００３０】
図２を参照すると、一実施例では、モデルの各構成要素は、２つのＨＤＬ（ハードウエア記述言語）表現を含む。ただし、ＨＤＬは単なる一実施形態であって、本発明とともに任意の既知の既存の検証システムを実施し得ることが当業者には理解されよう。
【００３１】
図２を再度参照すると、一方の表現は「実」モデルであり、他方の表現は「空」のモデルまたはボックスである。この「実」モデル表現は、シミュレーションの形で正確に振る舞い、かつ、１つのパーティションまたはある特定の一群のパーティションについて合成し得るモデルである。そのため、この「実」モデル表現は、検証すべき特定の機能または相互に関係する機能の振る舞いを記述するモデルに限定される（設計全体は含まない）。
【００３２】
「空」ボックス表現は、シミュレーションも検証も行わない設計の１つ（または複数）の残りの部分である。一実施形態では、「空」ボックスの中身は、すべての出力をそれらの不活動状態にアサートするのに用いる「タイ・オフ（ｔｉｅ−ｏｆｆ）」である。このようにして、これらのボックスが、それ以外は、検証すべき特定のパーティションのシミュレーション・プロセスで使用されないようにする。当然のことながら、空ボックス表現では、はるかに高速にシミュレーションが行われ、この特定の構成要素は、その特定のシミュレーションには関与せず、そのため、シミュレーションの精度が損なわれることはない。
【００３３】
本発明の一実施形態では、本発明のシステムおよび方法は、検証を実施するのに使用する現在のＴＯＳ  ＡＤＦ（アプリケーション定義ファイル）言語に拡張したものである。そのため、一実施形態では、本発明のシステムおよび方法を実施することによって、ＴＯＳ  ＡＤＦテスト・オペレーティング・システムを使用して、モデル全体の代わりにテスト・ケースを表現する。すなわち、本発明のシステムおよび方法を実施することによって、ＴＯＳ  ＡＤＦを用いて特定のパーティションについて特定のパラメータを実施することができる。別の実施形態では、本発明のシステムおよび方法は、所与のチップの基本操作について必要とされる共通必須要素を指定するＴＯＳ  ＳＤＦ（システム定義ファイル）言語に拡張したものとして用いられる。
【００３４】
本明細書で説明する方法は、集積回路チップの製作で用いられる。得られた集積回路チップは、未加工ウエハの形態で（すなわち、複数のパッケージされていないチップを含む１枚のウエハとして）、またはベア・ダイとして、あるいはパッケージされた形態で製作することによって流通させることができる。後者の場合、チップは、単一チップ・パッケージ（マザー・ボードその他のより高水準キャリアに接続されるリード線を備えたプラスチック・キャリアなど）に、あるいは、マルチチップ・パッケージ（表面相互接続部または埋込相互接続部あるいはその両方を有するセラミック・キャリアなど）に実装される。いずれの場合でも、その後このチップを、他のチップ、離散的な回路要素、または、（ａ）マザー・ボードなどの中間製品または（ｂ）最終製品のいずれかの一部としての他の信号処理デバイスと集積するか、あるいはこれらを組み合わせて集積する。この最終製品は、玩具その他のローエンド応用例から、ディスプレイ、キーボードその他の入力デバイス、および中央プロセッサを有する最新のコンピュータ製品まで、集積回路チップを含む任意の製品とし得る。
【００３５】
本発明は、完全にハードウエアの実施形態、完全にソフトウエアの実施形態、またはハードウエアおよびソフトウエアの要素をともに含む実施形態をとり得る。好ましい実施形態では、本発明は、ファームウエア、常駐ソフトウエア、マイクロ・コードなどを含むソフトウエアで実施されるが、ソフトウエアに含まれる例はこれらに限定されるものではない。さらに、本発明は、コンピュータまたは任意の命令実行システムが使用する、あるいは、それに関係するプログラム・コードを提供する、コンピュータが使用可能な、またはコンピュータ可読の媒体からアクセス可能なコンピュータ・プログラム製品の形態をとり得る。この説明では、コンピュータが使用可能な、またはコンピュータ可読の媒体は、命令実行用のシステム、装置、またはデバイスが使用する、あるいは、それに関係するプログラムを含み、記憶し、通信し、伝播させ、転送することができる任意の装置とし得る。
【００３６】
この媒体は、電子媒体、磁気媒体、光学媒体、電磁気媒体、赤外媒体、または半導体システム（あるいは装置またはデバイス）媒体、あるいは伝播媒体とし得る。コンピュータ可読媒体の例には、半導体メモリまたは固体メモリ、磁気テープ、取り外し可能なコンピュータ用ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、剛体磁気ディスク、および光ディスクが含まれる。光ディスクの現在の例には、読出し専用メモリ型コンパクト・ディスク（ＣＤ−ＲＯＭ）、読書き型コンパクト・ディスク（ＣＤ−Ｒ／Ｗ）、およびＤＶＤが含まれる。
【００３７】
プログラム・コードの記憶または実行あるいはその両方を行うのに適したデータ処理システムには、システム・バスを介してメモリ要素に直接または間接的に結合した少なくとも１つのプロセッサが含まれる。これらのメモリ要素は、プログラム・コードの実際の実行時に使用されるローカル・メモリ、バルク記憶装置、および実行時にバルク記憶装置からコードを取り出さなければならない回数を少なくするために少なくとも何らかのプログラム・コードの一時記憶装置を提供するキャッシュ・メモリを含み得る。
【００３８】
入力／出力デバイスすなわちＩ／Ｏデバイス（キーボード、ディスプレイ、ポインティング・デバイスなどが含まれるが、これらに限定されるものではない）は、直接、あるいは仲介するＩ／Ｏコントローラを介して、システムに結合することができる。データ処理システムを、仲介する専用または公共のネットワークを介して他のデータ処理システム、あるいは離れたプリンタまたは記憶装置に結合することができるように、ネットワーク・アダプタをシステムに結合することもできる。モデム、ケーブル・モデム、およびイーサネット（Ｒ）・カードは、いくつかの現在利用可能なタイプのネットワーク・アダプタの例にすぎない。
【００３９】
実施形態の例に関して本発明を説明してきたが、添付の特許請求の範囲の趣旨および範囲内で改変した本発明を実施し得ることが当業者には理解されよう。
【図面の簡単な説明】
【００４０】
【図１】本発明によるステップを示す流れ図である。
【図２】本発明によるモデル表現を示す図である。
【符号の説明】
【００４１】
【図１】
2007164780.tif 000003
【図２】
2007164780.tif 000004