JP5004566B2 - 設計を検証するシステム - Google Patents

設計を検証するシステム Download PDF

Info

Publication number
JP5004566B2
JP5004566B2 JP2006317794A JP2006317794A JP5004566B2 JP 5004566 B2 JP5004566 B2 JP 5004566B2 JP 2006317794 A JP2006317794 A JP 2006317794A JP 2006317794 A JP2006317794 A JP 2006317794A JP 5004566 B2 JP5004566 B2 JP 5004566B2
Authority
JP
Japan
Prior art keywords
model
design
simulation
test case
test
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.)
Expired - Fee Related
Application number
JP2006317794A
Other languages
English (en)
Other versions
JP2007164780A (ja
Inventor
ロバート・ジェイムス・デビンス
パスカル・エイ・セイム
デビッド・ウィルズ・ミルトン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007164780A publication Critical patent/JP2007164780A/ja
Application granted granted Critical
Publication of JP5004566B2 publication Critical patent/JP5004566B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

本発明は、設計を検証する方法およびシステムに関し、より詳細には、シミュレーション・プロセスを用いてシステム・オン・チップ(SoC)設計を検証する方法およびシステムに関する。
昨今の集積回路(IC)チップは、複雑さおよび精巧さの点でかなり高度化している。例えば、以前の世代のチップ設計では、チップは、論理ゲート間の相互接続部によってもたらされる比較的簡単な電子論理ブロックを具体化していたが、より新しい世代のチップの設計は、しばしば「コア」と呼ばれる複雑でモジュール化されたIC設計の組せを含み、これらのコアが合わさってSoC全体が構成される。これらのより新しい世代のIC設計では、例えば、フィーチャ・サイズをより小型にすることができ、そのため、単一チップ上に構築し得る回路の量が増加することによって、チップ自体の全体的な機能および性能の特徴が大きく向上する。しかし、これには、コストがかかる。というのは、設計および検証の時間がより長くかかり、その結果、追加の開発および製作のコストを要するからである
このような複雑なICチップを設計するために、ICチップ開発には、設計段階および検証段階が含まれる。後者は、実行可能性(workability)、したがってチップ自体の機能を決定するのに不可欠である。例えば、設計が予想どおりに機能するかどうかを決定するのはこの検証段階である。
検証段階は、まずハードウェアで設計を実してこのような設計の実行可能性を検証するコストを避けるために、ソフトウェア・シミュレーションによる手法に向かいつつある。しかし、マルチプロセッサおよびマルチコア設計では、シミュレーションごとに設計およびテスト・ベンチ全体を構築しなければならないために、シミュレーション・モデルが極めて大きくなることがある。最新のシミュレーション・ツールを利用しても、シミュレーションの負荷および実行時間ならびに構築時間は、コストおよび時間が非常に大きくなることがある。このことは、複雑な設計の場合に特に当てはまる。というのは、設計の完全なゲート・レベルの表現を構築し、それをシミュレーションにロードしなければならないからである。
例を挙げると、設計を検証する際に、シミュレータ(例えば、VerilogまたはVHDLなどのハードウェア記述言語(HDL)で書かれたソフトウェアを受け入れることを含む機能を有する特殊なソフトウェア)は、回路設計(例えばコア)をモデル化して、この設計の応答をシミュレーションする。テスト・ケースはこの応答を適用して、この設計が予想どおりに機能するかどうかを決定する。しかし、許容し得る程度にバグのない設計を達成するには、この検証ソフトウェアは、完全な設計を既存のツールにロードして、この設計を成功裏に検証しなければならない。すなわち、シミュレーション中の設計を十分に働かせるように、多数のテスト・ケースを適用しなければならない。
チップ設計が、個々のコアおよびコア間の相互作用の点でより複雑になるにつれ、検証は、さらに膨大な量の時間と計算リソースを必要とする傾向がある。これはとして、設計全体に関する機能の相互作用のモデル化および検証のためである。
すなわち、例えば、検証プロセスは、たった1つの機能をテストするかまたは2つ以上の機能間の相互作用をテストする場合でさえ、テスト設計全体をロードして働かせる必要があり、そのため、指数関数的に長くなる。現在の検証方法におけるこれらの非効率さにより、時間に追われることが多くなり、ICチップの開発業者および販売業者にとって事業で競争力を維持するための主要なファクタである製品が市場に出るまでの時間がかなり長くなる。
本発明の第1の側面では、設計を検証する方法が提供される。この方法は、ある設計に対して離散的なテスト・ケースまたは1組の関連するテスト・ケースを実行するのに必要とされるリソースを抽出するステップを含む。この方法はさらに、抽出されたリソースに基づいてシミュレーション・モデルを構築するステップと、設計全体ではなく、抽出されたリソースだけを用いてこのシミュレーション・モデルを実行することにより、設計検証用の離散的なテスト・ケースまたは1組の関連するテスト・ケースが表す特定の機能または一群の相互に関係する機能をテストするステップとを含む。
本発明の実施形態では、抽出されたリソースは、この設計の特定の機能または一群の相互に関係する機能に関係するパーティションとして構築される。シミュレーション・モデルは、特定の機能または一群の相互に関係する機能をテストするのに必要とされる独立検証のための、個々の独立したテスト・ケースに分割することができる。本発明の実施形態では、抽出されたリソースは、少なくとも1組の共通必須要素およびテスト・ケース固有要素を含む。
本発明の別の実施形態では、この方法は、BOM(build of materials:部品表)生成を構築することを含み、これは、少なくともチップ基本要素と、この設計を表すテスト・ケース固有要素とを組み合わせることを含む。チップ基本要素は、少なくとも1組の共通の非テスト・ケース固有要素である。この方法はさらに、テスト・ケースまたは1組のテスト・ケース内で、リソースを1組のKEYWORDとして提供することを含む。これらのKEYWORDは、これらのテスト・ケースまたは1組のテスト・ケースについてのリソースを指定するのに使用する。これらのリソースは、ハードウェアとすることができ、少なくとも1つの内部または外部リソースを含み得る。
本発明の別の実施形態では、この方法は、後続のシミュレーションの実行に関連するテスト・ケースまたは1組のテスト・ケース用のリソースをパースするステップを含む。この方法はさらに、パースされたリソースのキーワードと共通要素を組み合わせて、コンパイル用のBOMモデル・ビルド・ファイルを生成することを含む。パースするステップは、特定のテスト・ケース用の異なるBOMモデル・ビルド・ファイルを識別し、それにアクセスすることも含む。このBOMモデル・ビルド・ファイルは、シミュレーション・モデルをコンパイルするための「スタブ」ファイルを生成する。これらのスタブ・ファイルは、シミュレーション・モデルに完全に機能するモデル表現(すなわち、実モデル表現)および空モデル表現をインストールするようにモデル・ビルド・プロセスに命令する。この実モデル表現は、シミュレーション中に正確に振る舞い、検証すべき特定の機能または相互に関係する機能群にそれぞれ関連する1つのパーティションまたは特定の一群のパーティションについて合成される。空モデル表現は、この設計の、シミュレーションも検証もされない残りの部分を表す。
本発明の別の実施形態では、この方法は、1組の共通必須要素および設計用のリソースを提供するステップを含む。これらのリソースは、テスト・ケース仕様についてパースされ、共通必須要素と組み合わされ、BMのモデル・ビルド・ファイルを生成する。このBOMモデル・ビルド・ファイルに基づいて、シミュレーション・モデルをコンパイルするためのスタブ・ファイルが生成される。この方法はさらに、設計全体ではなく、シミュレーション・モデルを用いて、検証すべき設計の離散的な機能をシミュレーションするステップを含む。この方法はさらに、離散的な機能のシミュレーション結果とテスト計画とを相関させることを含む。
本発明の別の実施形態では、1組の共通必須要素は、非テスト・ケース固有要素を含む。これら非テスト・ケース固有要素は、シミュレーション・モデルの設計の基本ビルディング・ブロックを記述する。
別の実施形態では、このシミュレーション・モデルは、設計全体ではなく、この設計の特定の機能を独立して検証するための個々の独立したサブシステムのパーティションを含む。この設計の特定の機能についてBOMモデル・ビルド・ファイルを提供することができ、それを保存し再利用してシステム・リソースを活用し得る。この方法を用いて、流通用集積回路チップを製作することもできる。この方法はさらに、シミュレーション・モデルを用いて、ある設計に対して特定のテスト・ケースまたは1組のテスト・ケースを実行するのに必要とされるリソースのみを抽出することによって、シミュレーション・モデルのサイズおよび複雑さを体系的に低減する。
本発明の別の実施形態では、これらのリソースは、テスト・ケース必須リソースを指定するのに用いる1組のKEYWORDとして指定されるハードウェア・リソースである。これらのハードウェア・リソースは、検証すべき各機能ごとに特定のテスト・ケースを生成し、BOMモデル・ビルド・ファイルは、モデル・ビルド・プロセスに命令するためのスタブ・ファイルを生成する。
本発明の実施形態では、モデル・ビルド・プロセスは、実モデル表現および空モデル表現を含む。実モデル表現は、シミュレーション中に正確に振る舞い、設計全体ではなく、検証すべき機能を表すテスト・ケース仕様について合成することができる。空モデル表現は、この設計の1つ(または複数)の残りの部分を表す。別の実施形態では、空モデル表現のすべての出力を不活動状態にアサートするために「タイ・オフ」が提供され、それによって、それ以外では空モデル表現がシミュレーション・モデルで用いられないようにする。この方法はさらに、ADF(アプリケーション定義ファイル)を用いてユーザ指定パラメータをコンパイルすることにより、シミュレーション・モデルにおいて検証すべき特定のテストを生成するステップを含む。
本発明の別の側面では、本発明のステップを実するシステムが提供される。本発明の別の側面では、コンピュータ可読プログラムが提供される。このコンピュータ可読プログラムは、コンピュータ上で実行されると、このコンピュータに、ある設計に対して離散的なテスト・ケースまたは1組の関連するテスト・ケースを実行するのに必要とされるリソースを抽出させ、抽出されたリソースに基づいてシミュレーション・モデルを構築させ、設計全体ではなく、抽出されたリソースのみを用いてこのシミュレーション・モデルを実行させることにより、設計検証用の離散的なテスト・ケースまたは1組の関連するテスト・ケースによって表される特定の機能または一群の相互に関係する機能をテストさせ、さらに離散的な機能のシミュレーション結果とテスト計画を相関させることを含む。
本発明は、IC設計を検証する方法およびシステムに関し、より詳細には、改善されたシミュレーション・プロセスを用いたシステム・オン・チップ(SoC)設計検証用の方法およびシステムに関する。本発明の実施形態では、このシステムおよび方法は、例えば、ある設計に対して特定のテスト・ケースまたは1組のテスト・ケースを実行するのに必要とされるリソースのみを抽出することによって、シミュレーション・モデルのサイズおよび複雑さを体系的に低減する。このようにして、これら1つ(または複数)のテスト・ケースを実行するのに必要とされる本質的なコンポーネントだけがシミュレーション・モデル内で実際に構築される。このように、これら必要とされる部分のみを構築しシミュレーションすることによって、複雑なSoC設計が最小限の共通部分に低減される効果が得られる。そのため、このシステムおよび方法により、実時に、検証の有効性を損なわずに最小限のシミュレーション・モデルが構築される。
M生
1つの実装では、設計の検証を実施するために、BOMを構築する。一実施例として、BOMは、ICの設計を検証するのに必要とされる項目のリストを含む。実時に、このリストは、チップ・インテグレータによって提供される1組の共通必須要素と、特定のテスト・ケースの特定のハードウェア・リソースのリストとを含み得る。そのため、一実施形態では、このシステムおよび方法は、チップの基本要素とテスト・ケース固有要素とを組み合わせることによってBOMを構築し、それによって、シミュレーション・モデルについての必要な最小限のBOMが生成される。
一実施形態では、独立した検証を行うために、シミュレーション・モデルを構築し、それを個々の独立したサブシステムまたはテスト・ケース(例えば、個々の設計機能)に分割することができる。このようにして、最終的なシミュレーション・モデルは、とりわけ、パーティションにまたがる機能を検証することを含み得る、設計の特定機能をテストするのに必要とされるパーティション(モデル)だけを含むことができる。こうすると、各機能をテストするごとに、チップ設計全体をモデル化し、ロードし、シミュレーションすることが不要になる。その代わりに、設計全体ではなく、パーティションまたは別々のチップ機能を検証することができる。
一実施形態では、このパーティション処理は、チップ・インテグレータによって提供されるテスト計画に基づいて行う。ここで、このテスト計画は、設計全体をロードし、シミュレーションし、検証することを必要とせずに特定の設計機能をテストし検証するための個々のテスト・ケースに変換される。1つの実装では、特定のICの共通設計機能についてシステム・リソースを活用するために、すなわち、メモリおよび記憶装置などのコンピュータ・リソースをより効率よく利用するために、これらのパーティションを保存し再利用することができる。こうすると、このような機能をモデル化し直す必要がなくなる。
図1を参照すると、以下のステップを用いてシミュレーション・モデルを構築するためのBOMデータを生成することができる。これらのステップを実装すると、エンド・ユーザは、単にSoCシミュレーション中にどの1つ(または複数)のテスト・ケースを実行するかを指定するだけで、最適なシミュレーション用の可能な最も小さいモデルを自動的に生成することができる。
ステップ100では、チップ・インテグレータによって、1組の共通必須要素が提供される。これらの共通必須要素は、非テスト・ケース固有要素とすることができ、実行すべき基本的なものとしてすべてのモデルについて含めることができる。1つの実装では、これらの非テスト・ケース固有要素は構築する必要はなく、検証のために用いられる必要もない。これらの共通必須要素は、典型的には環境的なものであり、チップを構築すべき基本ビルディング・ブロックを記述するのに使用される。非例示的な例として、非テスト・ケース固有要素は、いくつか例を挙げると、マイクロプロセッサ、バス、リセット、およびクロックの記述を含み得る。
ステップ110では、テスト・ケースの仕様内で、テスト・ケース必須リソースを指定するのに使用し得る1組のKEYWORDとして1つ(または複数)の必要なハードウェア・リソース指定される。一実施形態では、ハードウェア・リソースのリスト化は、検証すべき設計の各機能ごとに特定のテスト・ケースを生成するために必要とされる。これらのハードウェア・リソースは、例えば、割込みコントローラ、DMAコントローラ、メモリ・コントローラなどの内部デバイス、ならびにメモリ・モデル、外部バス・マスタなどの外部デバイスとし得る。
特定の例では、IBM社のautoTOS(商標)ADF(アプリケーション定義ファイル:ソフトウェア・リソースを指定するところである)を用いてユーザ指定パラメータ(例えばリソース)をコンパイルし、それによって、検証すべき特定のテスト生成することができる。当業者には周知のように、autoTOS(商標)は、テスト・プロセスおよび生成プロセスを自動化するのに使用するコンパイラ・ツールである。1つの実装では、当業者には理解されるように、autoTOS(商標)を用いて、テンプレートを実するテスト・ケースを生成することができる。
ステップ120では、本発明のシステムおよび方法は、後続のシミュレーションの実行に関連するテスト・ケース(または1組のテスト・ケース)ごとにリソースのキーワードをパースする。ステップ130では、これらのパースされたリソースのキーワードと共通必須要素を組み合わせ、それを用いてBOMモデル・ビルド・ファイルを生成する。パース処理には、1つ(または複数)の各テスト・ケースごとにリソースを識別することを含めることができ、それによって、このシステムおよび方法が、特定のテスト・ケースについて異なるBOMまたはパーティションを識別し、アクセスすることができる。
ステップ140では、BOMモデル・ビルド・ファイルを用いて、サブセットまたはシミュレーションのモデルのコンパイルを指示するファイルであるVerilog「スタブ」ファイルを生成する。当業者には周知のように、Verilog HDLは、電子システムを設計し且つ文書化するのに用いるハードウェア記述言語である。
上記のステップを用いることによって、SoCシミュレーションで実行すべき特定のテスト・ケースを指定することが可能である。こうすると、ユーザは、最適なシミュレーション用の可能な最も小さいモデルを自動的に生成することができる。
スタブ・ファイル
本発明の方法およびシステムでは、スタブ・ファイルを用いてモデル・ビルド・プロセスに命令することができる。すなわち、スタブ・ファイル使用すると、BOMモデル・ビルド・ファイルを実装すべきファイルを、モデル・ビルド環境内に含めることができる。実施形態の一例として、以下でより詳細に論じるように、これらのスタブ・ファイルは、各ビルディング・ブロック(例えば、設計の機能ブロック)ごとに実モデル表現、または空モデル表現をインストールするようにモデル・ビルド・プロセスに命令することができる。
図2を参照すると、一実施例では、モデルの各ビルディング・ブロックは、2つのHDL(ハードウェア記述言語)表現を含む。ただし、HDLは単なる1つの実装であって、本発明とともに任意の既知の既存の検証システムを実し得ることが当業者には理解されよう。
図2を再度参照すると、一方の表現は「実」モデルであり、他方の表現は「空」モデルまたはボックスである。この「実」モデル表現は、シミュレーション中に正確に振る舞い、かつ、1つのパーティションまたはある特定の一群のパーティションについて合成し得るモデルである。そのため、この「実」モデル表現は、検証すべき特定の機能または相互に関係する機能の振る舞いを記述するモデルに限定される(設計全体は含まない)。
「空」ボックス表現は、シミュレーションも検証も行わない設計の1つ(または複数)の残りの部分である。1つの実装では、「空」ボックスの中身は、すべての出力をそれらの不活動状態にアサートするのに用いる「タイ・オフ(tie-off)」である。このようにして、これらのボックスが、それ以外は、検証すべき特定のパーティションのシミュレーション・プロセスで使用されないようにする。当然のことながら、空ボックス表現では、はるかに高速にシミュレーションが行われ、この特定のビルディング・ブロックが、その特定のシミュレーションに関しなければ、シミュレーションの精度が損なわれることはない。
本発明の1つの実装では、本発明のシステムおよび方法は、検証を実施するのに使用する現在のTOS ADF(アプリケーション定義ファイル)言語拡張したものである。そのため、一実施形態では、本発明のシステムおよび方法を実することによって、TOS ADFテスト・オペレーティング・システムを使用して、モデル全体の代わりにテスト・ケースを表現する。すなわち、本発明のシステムおよび方法を実することによって、TOS ADFを用いて特定のパーティションについて特定のパラメータを実することができる。別の実装では、本発明のシステムおよび方法は、所与のチップの基本操作について必要とされる共通必須要素を指定するTOS SDF(システム定義ファイル)言語拡張したものとして用いられる。
本明細書で説明する方法は、集積回路チップの製作用いられる。得られた集積回路チップは、未加工ウエハの形態で(すなわち、複数のパッケージされていないチップを含む1枚のウエハとして)、またはベア・ダイとして、あるいはパッケージされた形態で製作することによって流通させることができる。後者の場合、チップは、単一チップ・パッケージ(マザー・ボードその他のより高水準キャリアに接続されるリード線を備えたプラスチック・キャリアなど)に、あるいは、マルチチップ・パッケージ(表面相互接続部または埋込相互接続部あるいはその両方を有するセラミック・キャリアなど)に実装される。いずれの場合でも、その後このチップを、他のチップ、離散的な回路要素、または、(a)マザー・ボードなどの中間製品または(b)最終製品のいずれかの一部としての他の信号処理デバイスと集積するか、あるいはこれらを組み合わせて集積する。この最終製品は、玩具その他のローエンド応用例から、ディスプレイ、キーボードその他の入力デバイス、および中央プロセッサを有する最新のコンピュータ製品まで、集積回路チップを含む任意の製品とし得る。
本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはハードウェアおよびソフトウェアの要素をともに含む実施形態をとり得る。好ましい実施形態では、本発明は、ファームウェア、常駐ソフトウェア、マイクロ・コードなどを含むソフトウェアで実装されるが、ソフトウェアに含まれる例はこれらに限定されるものではない。さらに、本発明は、コンピュータまたは任意の命令実行システムが使用する、あるいは、それに関係するプログラム・コードを提供する、コンピュータが使用可能な、またはコンピュータ可読媒体からアクセス可能なコンピュータ・プログラムの形態をとり得る。この説明では、コンピュータが使用可能な、またはコンピュータ可読媒体は、命令実行用のシステム、装置、またはデバイスが使用する、あるいは、それに関係するプログラムを含み、記憶し、通信し、伝播させ、転送することができる任意の装置とし得る。
この媒体は、電子媒体、磁気媒体、光学媒体、電磁気媒体、赤外媒体、または半導体システム(あるいは装置またはデバイス)媒体、あるいは伝播媒体とし得る。コンピュータ可読媒体の例には、半導体メモリまたは固体メモリ、磁気テープ、取り外し可能なコンピュータ用ディスケット、ランダム・アクセス・メモリ(RAM)、読出し専用メモリ(ROM)、剛体磁気ディスク、および光ディスクが含まれる。光ディスクの現在の例には、読出し専用メモリ型コンパクト・ディスク(CD−ROM)、読書き型コンパクト・ディスク(CD−R/W)、およびDVDが含まれる。
プログラム・コードの記憶または実行あるいはその両方を行うのに適したデータ処理システムには、システム・バスを介してメモリ要素に直接または間接的に結合した少なくとも1つのプロセッサが含まれる。これらのメモリ要素は、プログラム・コードの実際の実行時に使用されるローカル・メモリ、バルク記憶装置、および実行時にバルク記憶装置からコードを取り出さなければならない回数を少なくするために少なくとも何らかのプログラム・コードの一時記憶装置を提供するキャッシュ・メモリを含み得る。
入力/出力デバイスすなわちI/Oデバイス(キーボード、ディスプレイ、ポインティング・デバイスなどが含まれるが、これらに限定されるものではない)は、直接、あるいは仲介するI/Oコントローラを介して、システムに結合することができる。データ処理システムを、仲介する専用または公共のネットワークを介して他のデータ処理システム、あるいは離れたプリンタまたは記憶装置に結合することができるように、ネットワーク・アダプタをシステムに結合することもできる。モデム、ケーブル・モデム、およびイーサネット(R)・カードは、いくつかの現在利用可能なタイプのネットワーク・アダプタの例にすぎない。
実施形態の例に関して本発明を説明してきたが、添付の特許請求の範囲の趣旨および範囲内で改変した本発明を実施し得ることが当業者には理解されよう。
本発明によるステップを示す流れ図である。 本発明によるモデル表現を示す図である

Claims (1)

  1. 設計を検証するシステムであって、
    (a)1組の共通必須要素を提供する手段と、
    (b)1組のキーワードとして、テスト・ケース必須リソースを指定するのに用いるハードウェア・リソースを指定する手段と、
    (c)後続のシミュレーションの実行に関連するテスト・ケースまたは1組のテスト・ケースごとに前記1組のキーワードをパースする手段と、
    (d)前記パースされた1組のキーワードと前記共通必須要素を組み合わせて、BOMモデル・ビルド・ファイルを生成する手段と、
    (e)前記BOMビルド・ファイルを使用してスタブ・ファイルを生成する手段とを備え、
    前記スタブ・ファイルは、設計の離散的な機能を検証するためのシミュレーション・モデルのコンパイルを指示するものであって、前記シミュレーション・モデル内に実モデル表現および空モデル表現をインストールするようにモデル・ビルド・プロセスに命令し、
    前記実モデル表現は、シミュレーション中に正確に振る舞い、設計全体ではなく、検証すべき機能を表す前記テスト・ケースの仕様について合成することができ、
    前記空モデル表現は、前記設計のシミュレーションも検証もされない残りの部分を表し、かつ前記空モデル表現のすべての出力を不活動状態にアサートすることにより、前記空モデル表現が前記シミュレーション・モデル内で用いられないことを保証するためのタイ・オフを含む、システム。
JP2006317794A 2005-12-09 2006-11-24 設計を検証するシステム Expired - Fee Related JP5004566B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/275093 2005-12-09
US11/275,093 US7711534B2 (en) 2005-12-09 2005-12-09 Method and system of design verification

Publications (2)

Publication Number Publication Date
JP2007164780A JP2007164780A (ja) 2007-06-28
JP5004566B2 true JP5004566B2 (ja) 2012-08-22

Family

ID=36075160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006317794A Expired - Fee Related JP5004566B2 (ja) 2005-12-09 2006-11-24 設計を検証するシステム

Country Status (3)

Country Link
US (1) US7711534B2 (ja)
JP (1) JP5004566B2 (ja)
CN (1) CN101008963B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8219947B2 (en) * 2008-09-15 2012-07-10 Synopsys, Inc. Method and apparatus for merging EDA coverage logs of coverage data
KR20100084036A (ko) * 2009-01-15 2010-07-23 삼성전자주식회사 소프트웨어의 에러 검출 장치 및 방법
US20130096901A1 (en) * 2011-10-12 2013-04-18 International Business Machines Corporation Verifying Simulation Design Modifications
EP2720149A3 (en) * 2012-09-07 2018-01-24 Samsung Electronics Co., Ltd Apparatus and method for generating assertion based on user program code, and apparatus and method for verifying processor using assertion
KR102166663B1 (ko) * 2014-02-14 2020-10-19 삼성전자주식회사 시스템 온 칩의 테스트 시스템 및 그것의 테스트 방법
US10042747B2 (en) 2014-11-12 2018-08-07 International Business Machines Corporation System and method for determining requirements for testing software
CN104615810A (zh) * 2015-01-20 2015-05-13 北京航空航天大学 一种基于函数型数据分析的仿真模型验证方法
CN112731117A (zh) * 2021-01-11 2021-04-30 Oppo广东移动通信有限公司 芯片的自动验证方法和系统,及存储介质
CN116467211B (zh) * 2023-04-26 2023-09-26 北京计算机技术及应用研究所 一种基于数字化仿真环境的系统级测试验证方法

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3786430A (en) * 1971-11-15 1974-01-15 Ibm Data processing system including a small auxiliary processor for overcoming the effects of faulty hardware
US4583222A (en) * 1983-11-07 1986-04-15 Digital Equipment Corporation Method and apparatus for self-testing of floating point accelerator processors
JPS62157961A (ja) 1985-12-30 1987-07-13 Fanuc Ltd マルチプロセツサシステムの割込制御方法
JP2550063B2 (ja) * 1987-04-24 1996-10-30 株式会社日立製作所 分散処理システムのシミユレ−シヨン方式
US4873656A (en) * 1987-06-26 1989-10-10 Daisy Systems Corporation Multiple processor accelerator for logic simulation
US5167023A (en) * 1988-02-01 1992-11-24 International Business Machines Translating a dynamic transfer control instruction address in a simulated CPU processor
JPH0628036B2 (ja) * 1988-02-01 1994-04-13 インターナショナル・ビジネス・マシーンズ・コーポレーシヨン シミュレーシヨン方法
US4959781A (en) * 1988-05-16 1990-09-25 Stardent Computer, Inc. System for assigning interrupts to least busy processor that already loaded same class of interrupt routines
US5488713A (en) * 1989-12-27 1996-01-30 Digital Equipment Corporation Computer simulation technique for predicting program performance
US5553002A (en) * 1990-04-06 1996-09-03 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, using milestone matrix incorporated into user-interface
JPH04148461A (ja) 1990-10-12 1992-05-21 Hitachi Ltd マルチプロセッサシステムテスト方式
JPH07281925A (ja) * 1994-04-06 1995-10-27 Fujitsu Ltd マルチプロセッサシミュレーション装置
US6208954B1 (en) * 1994-09-16 2001-03-27 Wind River Systems, Inc. Method for scheduling event sequences
JP3459481B2 (ja) * 1994-11-17 2003-10-20 富士通株式会社 論理回路設計用パス解析表示装置
TW286397B (ja) * 1995-04-07 1996-09-21 Discovision Ass
US5740347A (en) * 1995-05-01 1998-04-14 Synopsys, Inc. Circuit analyzer of black, gray and transparent elements
US5838948A (en) * 1995-12-01 1998-11-17 Eagle Design Automation, Inc. System and method for simulation of computer systems combining hardware and software interaction
JPH09325946A (ja) 1996-06-05 1997-12-16 Toshiba Corp マルチプロセッサのテスト回路
US5862366A (en) * 1996-09-12 1999-01-19 Advanced Micro Devices, Inc. System and method for simulating a multiprocessor environment for testing a multiprocessing interrupt controller
US6014512A (en) * 1996-10-18 2000-01-11 Samsung Electronics Co., Ltd. Method and apparatus for simulation of a multi-processor circuit
US6115763A (en) * 1998-03-05 2000-09-05 International Business Machines Corporation Multi-core chip providing external core access with regular operation function interface and predetermined service operation services interface comprising core interface units and masters interface unit
GB9814014D0 (en) * 1998-06-29 1998-08-26 Sgs Thomson Microelectronics Design of an application specific processor (ASP)
US6321181B1 (en) * 1998-08-24 2001-11-20 Agere Systems Guardian Corp. Device and method for parallel simulation
US20060117274A1 (en) * 1998-08-31 2006-06-01 Tseng Ping-Sheng Behavior processor system and method
US6199031B1 (en) * 1998-08-31 2001-03-06 Vlsi Technology, Inc. HDL simulation interface for testing and verifying an ASIC model
US6968514B2 (en) * 1998-09-30 2005-11-22 Cadence Design Systems, Inc. Block based design methodology with programmable components
US6467082B1 (en) * 1998-12-02 2002-10-15 Agere Systems Guardian Corp. Methods and apparatus for simulating external linkage points and control transfers in source translation systems
US6625679B1 (en) * 1999-04-19 2003-09-23 Hewlett-Packard Company Apparatus and method for converting interrupt transactions to interrupt signals to distribute interrupts to IA-32 processors
US6510531B1 (en) * 1999-09-23 2003-01-21 Lucent Technologies Inc. Methods and systems for testing parallel queues
US6633940B1 (en) * 1999-10-11 2003-10-14 Ati International Srl Method and apparatus for processing interrupts in a computing system
US6678645B1 (en) * 1999-10-28 2004-01-13 Advantest Corp. Method and apparatus for SoC design validation
GB2363214B (en) * 1999-10-29 2002-05-29 Sgs Thomson Microelectronics A method of identifying an accurate model
US6606676B1 (en) * 1999-11-08 2003-08-12 International Business Machines Corporation Method and apparatus to distribute interrupts to multiple interrupt handlers in a distributed symmetric multiprocessor system
US7072818B1 (en) * 1999-11-30 2006-07-04 Synplicity, Inc. Method and system for debugging an electronic system
US6823497B2 (en) * 1999-11-30 2004-11-23 Synplicity, Inc. Method and user interface for debugging an electronic system
US7356786B2 (en) * 1999-11-30 2008-04-08 Synplicity, Inc. Method and user interface for debugging an electronic system
US6718294B1 (en) * 2000-05-16 2004-04-06 Mindspeed Technologies, Inc. System and method for synchronized control of system simulators with multiple processor cores
US7143021B1 (en) * 2000-10-03 2006-11-28 Cadence Design Systems, Inc. Systems and methods for efficiently simulating analog behavior of designs having hierarchical structure
US7139947B2 (en) * 2000-12-22 2006-11-21 Intel Corporation Test access port
US6742166B2 (en) * 2001-07-20 2004-05-25 Hewlett-Packard Development Company, L.P. System and method for evaluating functional coverage linked to a verification test plan
US7328195B2 (en) * 2001-11-21 2008-02-05 Ftl Systems, Inc. Semi-automatic generation of behavior models continuous value using iterative probing of a device or existing component model
US20030149962A1 (en) * 2001-11-21 2003-08-07 Willis John Christopher Simulation of designs using programmable processors and electronically re-configurable logic arrays
US7353156B2 (en) * 2002-02-01 2008-04-01 International Business Machines Corporation Method of switching external models in an automated system-on-chip integrated circuit design verification system
US7277841B1 (en) * 2002-02-11 2007-10-02 Sun Microsystems, Inc. Method for adaptive sub-gridding for power/ground plane simulations
US6732338B2 (en) * 2002-03-20 2004-05-04 International Business Machines Corporation Method for comprehensively verifying design rule checking runsets
US7373290B2 (en) * 2002-04-04 2008-05-13 International Business Machines Corporation Method and system for reducing storage requirements of simulation data via keyword restrictions
US7203633B2 (en) * 2002-04-04 2007-04-10 International Business Machines Corporation Method and system for selectively storing and retrieving simulation data utilizing keywords
US7194400B2 (en) * 2002-04-04 2007-03-20 International Business Machines Corporation Method and system for reducing storage and transmission requirements for simulation results
US7292970B1 (en) * 2002-04-30 2007-11-06 Unisys Corporation Finding unexercised logic for use in code coverage testing
US6925621B2 (en) * 2002-06-24 2005-08-02 Agilent Technologies, Inc. System and method for applying timing models in a static-timing analysis of a hierarchical integrated circuit design
US7000079B2 (en) * 2003-04-17 2006-02-14 International Business Machines Corporation Method and apparatus for verification of coherence for shared cache components in a system verification environment
US7234093B2 (en) * 2003-09-30 2007-06-19 Sudhir Dattaram Kadkade Resource management during system verification
JP2005222371A (ja) * 2004-02-06 2005-08-18 Canon Inc 論理回路の機能検証システムおよび方法
US7320090B2 (en) * 2004-06-09 2008-01-15 International Business Machines Corporation Methods, systems, and media for generating a regression suite database
US7313772B2 (en) * 2005-05-24 2007-12-25 International Business Machines Corporation Systems, methods, and media for block-based assertion generation, qualification and analysis

Also Published As

Publication number Publication date
CN101008963A (zh) 2007-08-01
US7711534B2 (en) 2010-05-04
CN101008963B (zh) 2012-06-27
US20060064296A1 (en) 2006-03-23
JP2007164780A (ja) 2007-06-28

Similar Documents

Publication Publication Date Title
JP5004566B2 (ja) 設計を検証するシステム
US8417504B2 (en) Conversion of circuit description to a transaction model
US7472361B2 (en) System and method for generating a plurality of models at different levels of abstraction from a single master model
US6470482B1 (en) Method and system for creating, deriving and validating structural description of electronic system from higher level, behavior-oriented description, including interactive schematic design and simulation
US8326592B2 (en) Method and system for verifying electronic designs having software components
US8234624B2 (en) System and method for developing embedded software in-situ
US8181131B2 (en) Enhanced analysis of array-based netlists via reparameterization
US10255400B1 (en) Debugging system and method
US20020152061A1 (en) Data processing system and design system
US10671785B1 (en) Framework for reusing cores in simulation
JPH11513512A (ja) ディジタル信号プロセッサの製造方法
US10380283B2 (en) Functional verification with machine learning
US9690681B1 (en) Method and system for automatically generating executable system-level tests
CN101263498A (zh) 用于集成电路设计仿真的断言的开发
US20070150249A1 (en) Verification Operation Supporting System and Method of the Same
TW202411872A (zh) 驗證系統、驗證方法、電子設備以及儲存媒體
US9639644B1 (en) Method and apparatus for master-clone optimization during circuit analysis
US8065641B2 (en) Automatically creating manufacturing test rules pertaining to an electronic component
US8959467B2 (en) Structural rule analysis with TCL scripts in synthesis or STA tools and integrated circuit design tools
US8429581B2 (en) Method for verifying functional equivalence between a reference IC design and a modified version of the reference IC design
Choi et al. Early HW/SW Co-Verification Using Virtual Platforms
US20240111660A1 (en) Managing high performance simulation representation of an emulation system
US7634396B2 (en) Method and computer program product for generation of bus functional models
US10380296B2 (en) Connecting designs in mixed language environments
Lahbib et al. Verification flow optimization using an automatic coverage driven testing policy

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120424

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120522

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150601

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees