JP2007164780A - 方法、システムおよびプログラム(設計を検証する方法およびシステム) - Google Patents

方法、システムおよびプログラム(設計を検証する方法およびシステム) Download PDF

Info

Publication number
JP2007164780A
JP2007164780A JP2006317794A JP2006317794A JP2007164780A JP 2007164780 A JP2007164780 A JP 2007164780A JP 2006317794 A JP2006317794 A JP 2006317794A JP 2006317794 A JP2006317794 A JP 2006317794A JP 2007164780 A JP2007164780 A JP 2007164780A
Authority
JP
Japan
Prior art keywords
model
test case
design
test
simulation
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.)
Granted
Application number
JP2006317794A
Other languages
English (en)
Other versions
JP5004566B2 (ja
Inventor
Robert J Devins
ロバート・ジェイムス・デビンス
A Nsame Pascal
パスカル・エイ・セイム
David Wills Milton
デビッド・ウィルズ・ミルトン
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
    • 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
    • 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

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)

Abstract

【課題】設計を検証する方法およびシステムを提供すること。
【解決手段】この方法およびシステムは、ある設計に対して離散的なテスト・ケースまたは1組の関連するテスト・ケースを実行するのに必要とされるリソースを抽出することを含む。この方法およびシステムはさらに、抽出されたリソースに基づいてシミュレーション・モデルを構築することと、設計全体ではなく、抽出されたリソースだけを用いてこのシミュレーション・モデルを実行し、それによって、離散的なテスト・ケースまたは1組の関連するテスト・ケースによって表される特定の機能または一群の相互に関係する機能をテストして設計を検証することと、このシミュレーション結果とテスト計画を相関させることとを含む。
【選択図】図1

Description

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

  1. ある設計に対して離散的なテスト・ケースまたは1組の関連するテスト・ケースを実行するのに必要とされるリソースを抽出するステップと、
    前記抽出されたリソースに基づいてシミュレーション・モデルを構築するステップと、
    設計全体ではなく、前記抽出されたリソースだけを用いて前記シミュレーション・モデルを実行して、前記離散的なテスト・ケースまたは1組の関連するテスト・ケースによって表される特定の機能または一群の相互に関係する機能をテストし、それによって設計を検証するステップとを含む、方法。
  2. 前記抽出されたリソースを構築して、前記設計の前記特定の機能または一群の相互に関係する機能に関係するパーティションにする、請求項1に記載の方法。
  3. 前記シミュレーション・モデルは、個々の独立したテスト・ケースに分割され、それによって、特定の機能または一群の相互に関係する機能をテストするのに必要とされる独立した検証が行われる、請求項1に記載の方法。
  4. 前記抽出されたリソースは、少なくとも1組の共通必須要素およびテスト・ケース指定要素を含む、請求項1に記載の方法。
  5. 少なくともチップ基本要素と、前記設計を表すテスト・ケース固有要素とを組み合わせることを含む材料構成(BOM)生成を構築するステップをさらに含む、請求項1に記載の方法。
  6. 前記チップ基本要素は、少なくとも1組の共通の非テスト・ケース固有要素である、請求項5に記載の方法。
  7. 前記テスト・ケースまたは1組のテスト・ケース内で、1組のKEYWORDとして前記リソースを提供するステップをさらに含み、前記KEYWORDを使用して、前記テスト・ケースまたは1組のテスト・ケースについての前記リソースを指定する、請求項5に記載の方法。
  8. 前記リソースは、ハードウエアであり、内部または外部のリソースの少なくとも1つを含む、請求項7に記載の方法。
  9. 後続のシミュレーションの実行に関連する前記テスト・ケースまたは1組のテスト・ケースについて前記リソースをパースするステップをさらに含む、請求項1に記載の方法。
  10. 前記パースされたリソースと共通要素を組み合わせて、コンパイル用のBOMモデル・ビルド・ファイルを生成するステップをさらに含む、請求項9に記載の方法。
  11. 前記パースするステップは、特定のテスト・ケースについての異なるBOMモデル・ビルド・ファイルを識別し、それにアクセスすることを含む、請求項9に記載の方法。
  12. 前記BOMモデル・ビルド・ファイルは、前記シミュレーション・モデルをコンパイルするためのスタブ・ファイルを生成する、請求項10に記載の方法。
  13. 前記スタブ・ファイルは、前記シミュレーション・モデルに完全に機能するモデルおよび空のモデルをインストールするようにモデル・ビルド・プロセスに命令する、請求項12に記載の方法。
  14. 前記完全に機能するモデルは、シミュレーションの形で正確に振る舞い、検証すべき前記特定の機能または相互に関係する機能群にそれぞれ関連する1つのパーティションまたは特定の一群のパーティションについて合成され、
    前記空のモデルは、前記設計の、シミュレーションも検証もされない残りの部分を表す、請求項13に記載の方法。
  15. 1組の共通必須要素を提供するステップと、
    ある設計用のリソースを提供するステップと、
    テスト・ケース仕様について前記リソースをパースするステップと、
    前記パースされたリソースと前記共通必須要素を組み合わせて、材料構成(BOM)モデル・ビルド・ファイルを生成するステップと、
    前記BOMモデル・ビルド・ファイルに基づいてスタブ・ファイルを生成してシミュレーション・モデルをコンパイルするステップと、
    設計全体ではなく、前記シミュレーション・モデルを用いて、検証すべき前記設計の離散的な機能をシミュレーションするステップと、
    前記離散的な機能のシミュレーション結果とテスト計画とを相関させるステップとを含む、方法。
  16. 前記リソースは、テスト・ケース必須リソースを指定するのに用いる1組のKEYWORDとして指定されるハードウエア・リソースであり、前記ハードウエア・リソースは、検証すべき各機能ごとに特定のテスト・ケースを生成し、
    前記BOMモデル・ファイルは、モデル・ビルド・プロセスに命令するスタブ・ファイルを生成し、
    前記モデル・ビルド・プロセスは、実モデル表現および空モデル表現を含み、前記実モデル表現は、シミュレーションの形で正確に振る舞い、設計全体ではなく、検証すべき機能を表す前記テスト・ケース仕様について合成することができ、
    空モデル表現は、前記設計の1つ(または複数)の残りの部分を表す、請求項15に記載の方法。
  17. 1組の共通な非テスト・ケース固有要素を提供する手段と、
    1組のキーワードとして、テスト・ケース必須リソースを指定するのに用いるリソースを指定する手段と、
    テスト・ケースまたは1組のテスト・ケースごとに後続のシミュレーションの実行に関連する前記キーワードの組をパースする手段と、
    前記パースされたリソース・キーワードと前記共通要素を組み合わせて、BOMモデル・ビルド・ファイルを生成する手段と、
    前記BOMビルド・ファイルを使用してスタブ・ファイルを生成する手段とを備えるシステムであって、前記スタブ・ファイルは、シミュレーション・モデルのコンパイルを指示して、ある設計の離散的な機能を検証する、システム。
  18. 前記リソースは、テスト・ケース必須リソースを指定するのに用いるハードウエア・リソースである、請求項17に記載のシステム。
  19. 前記モデル・ビルド・プロセスは、実モデル表現および空モデル表現を含み、前記実モデル表現は、シミュレーションの形で正確に振る舞い、設計全体ではなく、検証すべき機能を表す前記テスト・ケースの仕様について合成することができ、前記空モデル表現は、前記設計の1つ(または複数)の残りの部分を表す、請求項17に記載のシステム。
  20. コンピュータ可読プログラムであって、コンピュータ上で実行されると、前記コンピュータに、
    ある設計に対して離散的なテスト・ケースまたは1組の関連するテスト・ケースを実行するのに必要とされるリソースを抽出させ、
    前記抽出されたリソースに基づいてシミュレーション・モデルを構築させ、
    設計全体ではなく、前記抽出されたリソースのみを用いて前記シミュレーション・モデルを実行させて、前記離散的なテスト・ケースまたは1組の関連するテスト・ケースによって表される特定の機能または一群の相互に関係する機能をテストし、それによって設計を検証し、
    前記離散的な機能のシミュレーション結果とテスト計画を相関させる、コンピュータ・プログラム。
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 true JP2007164780A (ja) 2007-06-28
JP5004566B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150096612A (ko) * 2014-02-14 2015-08-25 삼성전자주식회사 시스템 온 칩의 테스트 시스템 및 그것의 테스트 방법

Families Citing this family (8)

* 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
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 北京计算机技术及应用研究所 一种基于数字化仿真环境的系统级测试验证方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08147344A (ja) * 1994-11-17 1996-06-07 Fujitsu Ltd 論理回路設計用パス解析表示装置
JPH09293002A (ja) * 1995-12-01 1997-11-11 Eagle Design Autom Inc ハードウェア・ソフトウェア相互作用を結合した、コンピュータシステムのシミュレーション・システム、および、方法
US20030154061A1 (en) * 2001-11-21 2003-08-14 Willis John Christopher Method for semi-automatic generation and behavioral comparison of models
US20030191618A1 (en) * 2002-04-04 2003-10-09 Gabele Carol Ivash Method and system for reducing storage requirements of simulation data via keyword restrictions
JP2005222371A (ja) * 2004-02-06 2005-08-18 Canon Inc 論理回路の機能検証システムおよび方法

Family Cites Families (50)

* 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
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
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
US6199031B1 (en) 1998-08-31 2001-03-06 Vlsi Technology, Inc. HDL simulation interface for testing and verifying an ASIC model
US20060117274A1 (en) * 1998-08-31 2006-06-01 Tseng Ping-Sheng Behavior processor system and method
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
US7356786B2 (en) * 1999-11-30 2008-04-08 Synplicity, Inc. Method and user interface for debugging an electronic system
US6823497B2 (en) * 1999-11-30 2004-11-23 Synplicity, Inc. Method and user interface for debugging an electronic system
US7072818B1 (en) * 1999-11-30 2006-07-04 Synplicity, Inc. Method and system 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
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
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
EP1678576A4 (en) * 2003-09-30 2011-09-21 Mentor Graphics Corp SYSTEM VERIFICATION USING ONE OR MORE AUTOMATED
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08147344A (ja) * 1994-11-17 1996-06-07 Fujitsu Ltd 論理回路設計用パス解析表示装置
JPH09293002A (ja) * 1995-12-01 1997-11-11 Eagle Design Autom Inc ハードウェア・ソフトウェア相互作用を結合した、コンピュータシステムのシミュレーション・システム、および、方法
US20030154061A1 (en) * 2001-11-21 2003-08-14 Willis John Christopher Method for semi-automatic generation and behavioral comparison of models
US20030191618A1 (en) * 2002-04-04 2003-10-09 Gabele Carol Ivash Method and system for reducing storage requirements of simulation data via keyword restrictions
JP2005222371A (ja) * 2004-02-06 2005-08-18 Canon Inc 論理回路の機能検証システムおよび方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150096612A (ko) * 2014-02-14 2015-08-25 삼성전자주식회사 시스템 온 칩의 테스트 시스템 및 그것의 테스트 방법
KR102166663B1 (ko) 2014-02-14 2020-10-19 삼성전자주식회사 시스템 온 칩의 테스트 시스템 및 그것의 테스트 방법

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5004566B2 (ja) 設計を検証するシステム
US8417504B2 (en) Conversion of circuit description to a transaction model
CN1885295B (zh) 使用逻辑单元建置集成电路
US7472361B2 (en) System and method for generating a plurality of models at different levels of abstraction from a single master model
US8326592B2 (en) Method and system for verifying electronic designs having software components
JP5798132B2 (ja) ハードウェア設計のコンカレント及びシリアル混在型論理シミュレーション
US10671785B1 (en) Framework for reusing cores in simulation
US9690681B1 (en) Method and system for automatically generating executable system-level tests
CN113343629B (zh) 集成电路验证方法、代码生成方法、系统、设备和介质
CN117094269B (zh) 一种验证方法、装置、电子设备及可读存储介质
US20080300806A1 (en) Power consumption calculating method
Gao et al. Software and hardware co-verification technology based on virtual prototyping of RF SOC
JP2005108007A (ja) Lsi設計検証装置及びlsi設計検証方法
Yang et al. HDLs modeling technique for burst-mode and extended burst-mode asynchronous circuits
US20240111660A1 (en) Managing high performance simulation representation of an emulation system
Pal Reusability and Scalability of an SoC Testbench in Mixed-Signal Verification—The Inevitable Necessity
Nascimento et al. RISC-V SoC Physical Implementation in 180 nm CMOS with a Quark Core Based on FemtoRV32
Lahbib et al. Verification flow optimization using an automatic coverage driven testing policy
KR20070039857A (ko) 체계적 점진적 구체화를 통한 전자시스템수준에서부터게이트수준까지의 검증 방법
Mohsin Verification of a Single Port RAM Using UVM Methodology
Kurula A FRAMEWORK FOR EARLY SYSTEM-ON-CHIP CO-VALIDATION
KR20230148646A (ko) 오픈소스 rtl 설계 도구와 함께 시뮬레이션이 가능한 hdevs 형태의 rtl-devs 시뮬레이터
Kalsing Automatic generation of register side effect test in embedded software.
Westmeier et al. Enhancing a simulation environment for computer architecture to a systemc based testbench tool for design verification
Stojanovic Why is a Verification Engineer the Most Wanted Person these Days?

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