説明

データ処理システムにおけるトラフィックフローの統計的表示の使用

【課題】データ処理システムの設計のための検証試験を実施するための装置及び方法が提供される。
【解決手段】該装置は、該データ処理システムの設計の少なくとも一部を表す検証対象システムと、該検証対象システムのインタフェースに接続するため、かつ該検証試験の実施中に該インタフェースを介して該検証対象システムに入力するための信号を生成するためのトランザクタと、を備える。プロファイルストレージは、該インタフェースでの所望のトラフィックフローの統計的表示を提供するプロファイルを保管し、該統計的表示は複数のトラフィック属性に対する統計情報を提供し、また当該トラフィック属性間の少なくとも1つの依存性を特定する。次に、該トランザクタは、生成される該信号が該プロファイルで特定された依存性を考慮するように、生成される該信号を決定するために該プロファイルを参照する。このような機構によって、該トランザクタは、現実のシステムで観察されるであろうトラフィックフローを一層現実に近く再現することが可能になる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理システムを設計するための検証試験の実行中等、データ処理システムにおけるトラフィックフローの統計的表示の使用に関する。
【背景技術】
【0002】
設計を効果的かつ効率的に試験および/または検証できることは、ますます重要になっている。典型的なデータ処理システムの設計は、複雑性が急速に高まっており、その上、多様な異なる製造元または企業により設計される回路ブロックを含んでいる。いわゆるシステムオンチップ(SoC)設計は、単独の集積回路上に多数のコンポーネントを集積し、コストと性能の面では強力な利点を有するが、設計が確実に製造過程に移され得る前には大量の検証および試験を必要とする。このような検証および試験の実施は、データ処理システムの設計全体に関して、または、例えば、特定のマスタデバイス、特定のスレーブデバイス、相互接続コンポーネント等、データ処理システム内での使用を目的とする1つ以上の特定のコンポーネントに関して、実施され得る。
【0003】
この検証および試験実施要件は、新しいシステムを市場に投入する際のボトルネックとなっている。したがって、このような設計の検証および試験実施の効率性および有効性を改善できる方策は非常な利点となる。
【0004】
データ処理システムの設計の検証を模索するために使用され得る1つの公知の手法は、試験が予定されるデータ処理システムの設計の少なくとも一部を表す検証対象システム(SUV)を構成することである。SUVは、SUVが形成される検証実行環境に応じて、多様な形態を採ることが可能である。例えば、検証実行環境は、シミュレータツールを使用して実装され得、この場合、SUV内に含まれる1つ以上のコンポーネントは典型的にソフトウェアモデルの形態を採ることになる。代替として、検証実行環境は、エミュレータにより提供され得、例えば、FPGA(フィールド・プログラマブル・ゲート・アレイ)プラットフォーム上に合成可能なハードウェアを提供し得る。この実施形態においては、多様なコンポーネントは、最終目的コンポーネントのハードウェアモデルと見なすことができるが、最終のハードウェア実装形態ではない。また別の代替実施形態においては、検証実行環境は、ASIC実装として提供され得、実質的に、完全なシリコン実装として検証対象システムを提供する(後者の手法は、例えば、ハードウェアプラットフォーム上で稼動中のソフトウェアで検証試験の実施を模索する場合に有用であり得る)。
【0005】
いかなる様式でSUVが形成される場合でも、(ハードウェアまたはソフトウェアのいずれかのレベルで)正常な操作を試験するために、一連の検証テストが次に、SUV上で実施され、システムの異なる部分間で多様なトランザクションを実行させ、各トランザクションはシステムの特定の部分間の1つ以上の転送を定義する。理想的には、SUVの動作は、そのSUVにより表されるデータ処理システムの部分の動作をできるだけ厳密に追跡することが望ましい。しかしながら、これは、SUVに含まれる多様なコンポーネントの開発と実施される検証試験の開発両方に時間がかかる点で、コストがかかるということがわかる。例えば、詳細な機能モデルは、実在のコンポーネントが実在のシステムで実行するであろう内容を再現することを模索するSUVの多様なコンポーネントのために開発され得、事実、一部のSUVにおいては実在のコンポーネント自体が使用され得る。しかしながら、このような機能モデルを作成するには多大な開発努力を要し、さらに、検証試験が実施される間の開発段階によるが、実際に実在するコンポーネントは使用可能でない可能性がある。
【0006】
検証試験自体を考慮すると、検証試験の実施に関わる複雑性およびコストに顕著に寄与する別の要素は、検証試験中に実行される適切なトランザクションシーケンスの開発である。実在のシステムで観察されるであろうアクティビティを再現することを模索する特定のトランザクションのリストを定義することを模索する、詳細な試験ベクトルが作成され得るが、このような詳細なベクトルのリストは、作成に長い時間がかかり、事実、SUV内での実行に長い時間がかかる。さらに、このような試験ベクトルは、大きなストレージ要件があるために、エミュレーションまたはASIC環境において配備することが困難であり得る。
【0007】
したがって、このような複雑性を削減することを目的として、開発された別の試験手法は、SUVの1つ以上のコンポーネントを表すように、トランザクションの使用が関与し、トランザクションは、簡素化されたモデルで、外部的には、代用されるコンポーネントと同一のハードウェア要素をモデル化すると見なされ得るが、内部的には顕著に簡素化される。実施例として、機能モデルが特定のタイプのCPUを表すように開発され得るが、これは、汎用マスタデバイスを表すトランザクタにより置換され得る。このようなトランザクタは、次に、ユーザ設定ファイルにより制約される転送のランダムパターンを生成するように構成され得、このような手法は、しばしば制約付きランダム試験と称される。トランザクションの1つの実施例は、XVC(eXtensible Verification Component)で、しばしば、いくつかのXVCが設計に代用され得、個別のXVCに対する試験が試験マネージャによって調整される。
【0008】
典型的に、異なるトランザクションを構成する転送がシステム内で作成および処理される方式は、トランザクションプロトコルにより制御される。ユーザ設定ファイルが、トランザクタにより生成されるいかなる転送もトランザクションプロトコルに準拠するように、ランダム試験を制約するために使用され得る。したがって、制約付きランダム試験の手法は、トランザクションプロトコルに準拠する多数のランダム転送を生成するために使用され得る。さらに、トランザクタは、システム設計においてコーナーケース(つまり、正常な動作パラメータ以外で発生する問題または状況)を効率的に検証するために、1つ以上の方向形式のベクトルを実行するように構成され得る。
【0009】
上記の様式でトランザクタを使用することによって、機能モデルまたは詳細な試験ベクトルを採用する前述の技法に比べると、複雑性とコストが顕著に低下した、SUV内のインタフェースの徹底した試験が可能になり得る。しかしながら、このようなトランザクタは、設計内の置換したコンポーネントと同等な方式で動作することを模索しないので、したがって、このようなトランザクタを使用するといくつかの欠点に悩まされる。
【0010】
トランザクタを使用する制約付きランダム試験の結果として発生するトラフィックフローは、実際のシステムにおいてトランザクタおよびSUVにより表されるコンポーネント間で発生する内容を表すものではないので、したがって、最適化または性能の測定が不可能である。さらに、AXI等の最新トランザクションプロトコルに伴なう大量のプロトコル容量も手伝って、制約付きランダム試験の実施だけに基づいて、特に所望のカバレッジポイントに達することは困難であり得る。その上に、ある意味を持った方式でランダム試験実施を制約することを、容易に明白な様式で達成することは困難であり、制約は通常トランザクタにハードコードされ、したがって、試験実施手順の複雑性とコストが増すことになる。
【0011】
確率論的モデル(つまり、ランダムパラメータを使用して実在のコンポーネントの動作を推定するモデル)により決定されるトラフィック生成を説明する論文がいくつか発表されている。例えば、Fifth International Workshop on System−on−Chip for Real−Time Applications(IWSOC’05、2005)iwsocの535ページから540ページに掲載されている、Z Lu et alによる「Traffic Configuration for Evaluating Networks on Chips」は、チャネルがソースノードから送信先ノードへの論理的パスであるような、単独の通信チャネルの空間配置、時間的特徴およびメッセージサイズの仕様を捕捉するために使用されるトラフィック構成ツリーを説明する。これらの特性は、統計的集計として捉えられる。この表示は、次に、処理要素がどのように動作し得るかの推定に基づいて合成ネットワークトラフィックを生成するために使用される。
【0012】
A. Scherrer et al によるTechnical Report 2005−53、LIP、ENS−Lyon、December 2005の「Analysis and Synthesis of Cycle−Accurate On−Chip Traffic with Long−Range Dependence」は、合成トレースジェネレータを駆動するために、VCD(値変更ダンプ)波形(VCDはアクティビティ参照リストの形態である)からオンチップトラフィックの統計的属性を抽出するための方法論を説明する。
【0013】
「Verification Methodology Manual for System Verilog(VMM)」は、ランダムシナリオ生成を説明し、各シナリオは、生成のために使用するハードコードされた1組の重みを有する。各属性で異なる配分が維持され得る。
【0014】
上記の多様な技法は合成トラフィック生成のための多様な手法を提供するが、このような合成トラフィックを生成させるために、検証対象システムとのインタフェースにトランザクタが使用される場合、そのトラフィックは実在のシステムで実際に発生するであろうトラフィックを依然として厳密に表していないので、性能の評価や最適化には有用ではないという問題が依然として存在する。
【発明の概要】
【課題を解決するための手段】
【0015】
第1の態様の観点からは、本発明は、データ処理システムの設計のために検証試験を実施するための装置を提供し、該装置は、データ処理システムの設計の少なくとも一部を表す検証対象システムと、検証対象システムのインタフェースに接続するため、かつ検証試験実施中に前記インタフェースを介して検証対象システムに入力するための信号を生成するためのトランザクタと、前記インタフェースで所望のトラフィックフローの統計的表示を提供するプロファイルを保管するためのプロファイルストレージと、を備え、統計的表示は複数のトラフィック属性の統計的情報を提供し、その複数のトラフィック属性の間の少なくとも1つの依存性を特定し、トランザクタは、生成される信号がプロファイルで特定される少なくとも1つの依存性を考慮するように、生成される信号を決定するためにプロファイルを参照する。
【0016】
本発明の発明者は、実際に、可能なトランザクションを定義するために使用されるトランザクションプロトコルから発生する多様なトラフィック属性の間に依存性が存在することを観察した。例えば、トランザクションプロトコルにより定義される多様なトランザクションプロトコルの属性が存在することはしばしばあり、これらのトランザクションプロトコルの属性は、トラフィック属性の例として考えられ得る。これらのトランザクションプロトコル属性の間には、使用されるトランザクションプロトコルに応じて、依存性が定義され得る。例えば、AXIを考えると、存在し得る依存性の1つの具体的な実施例では、キャッシュラインフィル(cache line fill)リクエストから発生する「WRAP4」のバーストタイプの属性を備える読取トランザクションは、「casheable」のキャッシュ可能/バッファ可能属性も有することである。依存性が発生し得るトラフィック属性の別の実施例は、トランザクションプロトコルに従って生成される特定のトラフィック信号間のタイミングを特定するタイミング属性である。
【0017】
さらに、本発明の発明者は、トラフィックフローの統計的表示を提供するための公知の技法は全て、これらの統計的表示のトラフィック属性間の依存性を捕捉しないことに気づいた。この結果、このような公知の統計的表示が、検証対象システムに結び付けられてトランザクタにより生成される信号を制御するために使用される場合、これは、実在のシステムで実際に生成される信号と比較すると、生成された信号において多大な誤りを引き起こす可能性がある。さらに、提供される統計的表示だけに基づくと、トランザクタは、トランザクションプロトコルを考慮すると実際には不正な信号を生成する可能性があり、したがって、このような不正なトランスファが生成されることを避けるために、不正なプロトコルの組み合わせ(典型的には、トランザクタにハードコードされる制約による)を明示的に定義する必要がある。さらに、大きなプロトコルスペースにおいてトラフィックフローのこのような平坦な統計的表示を使用する場合、試験実施を対象のカバレッジポイントに向かわせるに十分なようにトランザクタの動作を制約することは困難である。
【0018】
これらの観察に基づいて、本発明の発明者は、生成される信号を決定する際にトランザクタによって参照され得るプロファイルを開発することを決定した。そのプロファイルはトランザクタとSUVの間のインタフェースで所望のトラフィックフローの統計的表示を提供し、プロファイルの統計的表示は複数のトラフィック属性の統計情報を提供するだけでなく、トラフィック属性間の少なくとも1つの依存性を特定する。この結果、トランザクタがプロファイルを参照すると、生成される信号はプロファイルで特定された指定の少なくとも1つの依存性を考慮したものとなる。このように、トランザクタは、実在のシステムで観察されるであろうトラフィックの性質にもっと近い制約付きのランダムトラフィックを生成するために使用され得る。
【0019】
さらに、トラフィック属性間の少なくとも1つの依存性はプロファイルで捕捉されるので、トランザクタが不正なトランザクションを生成する可能性が少なくなり、したがって、トランザクタが避けることが必要な不正なプロトコルの組み合わせを明示的に定義するために必要な作業が少なくなる。さらに、プロトコル状態の空間全体に及ぶことを模索する検証試験を作成するのではなく、プロファイルで特定された少なくとも1つの依存性を考慮することによって、トランザクタのアクティビティは、実在のシステムにより実行される可能性が実際に高いプロトコルの状態空間の部分に焦点をおくことができる。
【0020】
この発明の使用を通して、試験手順におけるトランザクタの適用性が拡大され得る。これまで、特定の検証試験を実施するためのトランザクタは比較的安価な機構を提供したにもかかわらず、実在のコンポーネントの機能を模倣することを目的としたことはまったくなく、代わりに、このような機能性が必要であるいずれの試験においても機能モデルが使用されていたが、トランザクタは、今や、実在のシステムの特定の機能が再現される必要がある場合でも、特定の状況において機能モデルに代わるはるかに安価な代替として使用され得る。特に、プロファイルは複数のトラフィック属性の統計情報だけでなく、トラフィック属性間の少なくとも1つの依存性も捕捉するので、トランザクタは、実在のシステムで発生するであろうトラフィックフローをもっと厳密に再現する信号のはるかにもっと現実的なシーケンスを作成することができる。
【0021】
また、このようなアプローチは、第三者にコンポーネントの機能モデルを出荷して、これらの第三者に試験の実施を可能にすることに関わる当事者に、はるかに改善されたセキュリティレベルを提供することにも留意されたい。特に、機能モデルを出荷する代わりに、トランザクタを、任意選択でそのトランザクタにより実行される1つ以上のプロファイルとともに出荷することが可能になり、その第三者が同様な試験を実施することを可能にするが、さもなければ機能モデルの出荷により公開されるかもしれないコンポーネントの内部機能を全く公開することがない。特に、トランザクタと、トラフィック属性間の依存性を考慮するプロファイルとの使用を通して、インタフェースでのコンポーネントの動作だけが第三者に公開され、コンポーネントの内部構造および動作に関しては何も推論され得ない。
【0022】
プロファイルは、多様な方式に構成され得る。しかしながら、一実施形態においては、プロファイルは階層構造を採用して、所望のトラフィックフローの該統計的表示内の該少なくとも1つの依存性を特定する。階層構造は多様な形態を採ることができるが、一実施形態においては、階層構造は、ヒストグラムの階層構造で、各ヒストグラムが該トラフィック属性のうちの1つの統計情報を提供する。したがって、純粋に例示を目的として、プロファイルで特定されたトラフィック属性が、各アクセスリクエストのバースト長、バーストタイプおよびキャッシュ可能/バッファ可能の属性を含む場合、バーストタイプがバースト長に依存していると定義され、かつキャッシュ可能/バッファ可能がバーストタイプに依存していると定義される場合、ヒストグラムは、定義された依存性を考慮しながら、これらのトラフィック属性の各々に対して開発され得ると考えることができる。したがって、可能なバースト長各々に対して異なるバーストタイプのヒストグラムが作成され得、同様にバーストタイプのヒストグラム各々に対して、そのヒストグラムで捕捉されるバースとタイプ各々対して異なるキャッシュ可能/バッファ可能のヒストグラムが生成され得る。このようなアプローチにより、アクセスリクエストが、該プロファイルを考慮してトランザクタにより生成されると、このようなアクセスリクエスト各々のバースト長、バーストタイプおよびキャッシュ可能/バッファ可能の属性は、これらのトラフィック属性間の依存性が必ず考慮されるように、階層構造を考慮しながら生成され、それによって、階層構造により定められるようにこれらの属性の選択を制約する。
【0023】
プロファイルの統計的表示により表される、インタフェースでの所望のトラフィックフローは、多様な形態を採ることができる。しかしながら、一実施形態においては、所望のトラフィックフローは、トランザクタがデータ処理システムの機能モデルまたは実際のコンポーネントと置換された場合、該インタフェースで観察されることが予測されるトラフィックフローを表す。機能モデルは、例えば、レジスタ転送レベル(RTL)モデル、サイクル近似(CX)モデル等、多様な形態を採り得る。このような機能モデルまたは実際のコンポーネントの代わりにトランザクタを使用できることによって、依然としてこのような所望のトラフィックをシミュレートできる一方で、検証試験の実施に関わる複雑性とコストを大幅に削減する。
【0024】
所望のトラフィックフローの統計的表示が取得され得る様式はいくつか存在する。例えば、プロファイルは、所望のトラフィックフローの知識に基づいてユーザにより手作業で定義される可能性がある。しかしながら、代替の実施形態においては、所望のトラフィックフローの統計的表示は、該機能モデルまたは該実際のコンポーネントが使用される際に発生するトラフィックフローを監視することにより取得される。上記のように、機能モデルは多様な形態を採ることができるが、モデル化されている実際のコンポーネントの完全な転送機能を再現するモデルであることが目的とされる。RTLモデルまたはCXモデルは、所望のトラフィックフローの統計的表示を作成するために、トラフィックフローが監視される可能性がある機能モデルの適切な実施例となる。
【0025】
プロファイルが統計情報を提供するトラフィック属性は、多様な形態を採ることができる。一実施形態においては、トラフィックフローは、トランザクションプロトコルに従い作成され、該複数のトラフィック属性は少なくとも1つのトランザクションプロトコル属性を含む。このようなトランザクションプロトコル属性の特定例は、前述のように、バースト長、バーストタイプ、キャッシュ可能/バッファ可能の属性等である。
【0026】
しかしながら、プロファイルが統計情報を提供できるトラフィック属性は、トランザクションプロトコルの属性に限定されない。代わりに、一実施形態においては、複数のトラフィック属性は、代わりに、またはこれに加えて、トランザクションプロトコルに従い作成される特定のトラフフィック信号間のタイミングを特定する少なくとも1つのタイミング属性を含むことができる。このようなタイミング属性の例は、データのビートの間のサイクル数を特定する待機状態カウントである。プロファイル内のトランザクションプロトコル属性とタイミング属性の両方、さらにこれらの属性間の1つ以上の依存性を捕捉することによって、トランザクタは、実在のシステムにおいて、またはシステムの関連コンポーネントをモデルする詳細機能モデルを使用して観察され得るトラフィックの非常に現実的な推定を提供するトラフィックを生成できる。さらに、トランザクション間のタイミングを捕捉することは、プロファイル内の複数のフローの関連帯域幅の指標を与えることになる。
【0027】
本発明の上記の第1の態様によると、本発明は、トランザクタを駆動するために、複数のトラフィック属性に対する統計情報を提供し、かつこれらのトラフィック属性間の少なくとも1つの依存性を特定するプロファイルの使用に関するが、本発明の第2の態様によると、このようなプロファイルを生成するための技法が提供される。特に、本発明の第2の態様によると、データ処理システム内のトラフィックフローの統計的表示を提供するプロファイルを生成するための装置が提供され、該装置は、データ処理システムの設計の少なくとも一部を表す検証対象システムと、検証対象システムのインタフェースに接続するため、かつそのインタフェースでトラフィックフローを観察するためのモニタと、を備え、モニタは複数のトラフィック属性とその複数のトラフィック属性間の少なくとも1つの依存性を特定する制御入力に応答して、観察されたトラフィックフローに基づいて該プロファイルを作成し、該プロファイルの統計的表示は、該複数のトラフィック属性の統計情報を提供し、かつ該複数のトラフィック属性間の該少なくとも1つの依存性を特定する。
【0028】
したがって、本発明の第2の態様においては、モニタは、複数のトラフィック属性およびそれらのトラフィック属性間の少なくとも1つの依存性を特定する制御入力を受信し、次に、その観察されたトラフィックフローのプロファイルを作成するために、検証対象システム内のインタフェースでトラフィックフローを監視するように構成される。モニタに入力される制御入力に起因して、そのプロファイルは特定された属性に対する統計情報を提供し、また、トラフィック属性間で特定された依存性を捕捉する。
【0029】
このようなアプローチは、本発明に従いプロファイルを作成するために特に効率的な機構を提供する。モニタに入力される制御入力は多様な形態を採ることができる。一実施形態においては、制御入力は、複数のトラフィック属性と該少なくとも1つの依存性とを設定するプロファイルテンプレートの形態を採り、モニタは観察されたトラフィックフローに基づいてプロファイルテンプレートを生成することにより該プロファイルを生成する。
【0030】
したがって、このようなテンプレートは、例えば、ヒストグラムの階層構造を特定することができ、これらのヒストグラムは最初は空で、その後、観察されたトラフィックフローに基づいて、モニタがこれらのヒストグラムを生成する。
【0031】
代替の実施形態において、制御入力は、複数のトラフィック属性と該少なくとも1つの依存性とを設定する初期のプロファイルの形態を採り、さらに少なくとも部分的に統計情報が投入され、モニタは、観察されたトラフィックフローに基づいて初期のプロファイルの統計情報を補完することにより該プロファイルを生成する。
【0032】
したがって、この実施形態においては、部分的に投入されたプロファイルテンプレートが開始点として使用され、次に、モニタが、観察されたトラフィックフローに基づいて統計情報を補完する。空のプロファイルテンプレートまたは部分的に投入された初期のプロファイルを使用することによって、IDまたはアドレス主導の依存性等、多様で有用な階層トポロジーに及ぶプロファイルが提供され得る。さらに、例えば、プロセッサ等、SoCのコンポーネントを開発中の企業の例を考えると、この企業は、第三者に、この第三者により使用され得るモデリングコンポーネントを提供することができるが、この場合、そのモデリングコンポーネントはトランザクタと1つ以上の典型的なプロファイルの形態を採り、企業はプロセッサの詳細な知識を使用して、典型的かつ正確なプロファイルテンプレート、または部分的に投入された初期のプロファイルを第三者に納品して、次にそれを検証試験で使用する。
【0033】
このようなプロファイルの1つの目的は、トランザクタへの入力として使用することであるが、本発明の発明者は、このようなプロファイルは他の目的にも使用され得ることに気づいた。特に、データ処理システムの設計を検証する場合に発生する別の問題は、例えば、RTLモデルビューとサイクル近似モデルビューまたはエミュレーションビュー等、わずかに異なるその設計の複数のビューの性能または動作を比較する場合である。本発明の発明者は、本発明のプロファイルの使用により、特に、トラフィック属性間の依存性を捕捉することにより実現されるさらに正確で強力な統計的表示により、このような複数の設計ビューの間でさらに正確な比較が行われ得ると判断した。特に、一実施形態においては、比較ロジックは、モニタにより生成されたプロファイルをデータ処理システムの代替の表示に対して生成された追加のプロファイルに比較するために使用され得、追加のプロファイルも、該複数のトラフィック属性に統計的表示を提供し、かつ、該複数のトラフィック属性間の該少なくとも1つの依存性を特定する。どちらもトラフィック属性間の依存性を捕捉する2つのプロファイルを比較することによって、トラフィック属性の平坦な統計的表示からは明らかにならないような、プロファイル間のわずかな違いが特定され得る。純粋に例として、CPUのRTLモデルとCPUのサイクル近似モデルとの平坦な統計的表示は、どちらも、同様に見えるバースト長とバーストタイプの統計情報を特定し得る。しかしながら、本発明のプロファイルを使用すると、さらに、例えば、バーストタイプがバースト長に依存していることを特定するなら、平坦な統計情報が収集された場合には完全に隠されるであろう、異なるバースト長に対するバーストタイプのわずかな違いが明らかにされ得る。
【0034】
モニタにより作成されるプロファイルと比較されるデータ処理システムの代替の表示は、多様な方式で作成され得る。しかしながら、一実施形態において、装置は、データ処理システムの設計の少なくとも一部を表す代替の検証対象システムであって、検証対象システムとは異なるデータ処理システムの実現形態である、代替の検証対象システムと、該代替の検証対象システム内の同等なインタフェースに接続し、かつ、追加のプロファイルを作成するためにその同等なインタフェースでトラフィックフローを観察するモニタと、検証対象システムと代替の検証対象システムの操作の違いを決定するために、プロファイルと該追加のプロファイルを比較する比較ロジックと、をさらに備える。したがって、この実施形態においては、モニタは、まず、第1のプロファイルを作成するために検証対象システムに接続されてから、次に、第2のプロファイルを作成するために代替の検証対象システムに接続され、次に、比較ロジックが、2つのSUVの操作の違いを決定するために、第1と第2のプロファイルを比較する。また、プロファイルは、トラフィックフローの多様な態様の性能を視覚化するためにも使用され得る。
【0035】
本発明のプロファイルの別の可能な用途は、検証対象システム内のエラー検出の分野にある。特に、プロファイルが本発明に従い作成され、システムのインタフェースで予測されるトラフィック動作を捕捉する場合、エラー検出回路は、検証対象システムで発生する実際のトラフィックフローを観察するために、検証対象システムの同等なインタフェースに結合され得る。エラー検出回路は、次に、本発明に従い生成されるプロファイルへのアクセスも有するように構成され得、プロファイルを考慮して、観察されたトラフィックフローが予期されないものであった場合にエラー信号を生成するように配置され得る。
【0036】
本発明のプロファイルは、所望のトラフィック属性だけでなく、トラフィック属性間の依存性も捕捉するため、正常なシステムで予測されるべきトラフィックの非常に現実的な観点を提供することができる。プロファイルを考慮して予測されるトラフィックフローと、検証対象システム内で実際に発生するトラフィックフローとの間に不一致があると、エラーにフラグを立てることができ、検証対象システムが不正に動作していることを示す。
【0037】
このような状況の検証対象システムは、多様な形態を採り得る。所望のデータ処理システムのモデルであり得る一方で、一部の実施形態においては、最終のデータ処理システム自体でもあり得、エラー検出回路は、ソフトウェアの不具合またはハードウェアの故障等、何らかの原因により何らかの望ましくないシステム動作を検出するために使用される。
【0038】
第3の態様の観点から、本発明は、データ処理システムの設計のために検証試験を実施する方法を提供し、該方法は、データ処理システムの設計の少なくとも一部を表す検証対象システムを提供するステップと、トランザクタを検証対象システムのインタフェースに接続するステップと、該検証試験の実施中、該インタフェースを介して、トランザクタにより生成された信号を検証対象システムに入力するステップと、該インタフェースで所望のトラフィックフローの統計的表示を提供するプロファイルをプロファイルストレージ内に保管するステップであって、統計的表示は複数のトラフィック属性に統計情報を提供し、かつ、該複数のトラフィック属性間の少なくとも1つの依存性を特定する、ステップと、検証対象システムに入力するために生成される信号を決定するために、生成される信号が統計データで特定された該少なくとも1つの依存性を考慮するように、トランザクタに該プロファイルを参照させるステップと、を含む。
【0039】
第4の態様の観点から、本発明は、データ処理システム内のトラフィックフローの統計的表示を提供するプロファイルを生成する方法を提供し、該方法は、データ処理システムの設計の少なくとも一部を表す検証対象システムを提供するステップと、モニタを検証対象システムのインタフェースに接続するステップと、モニタを介して、インタフェースでトラフィックフローを観察するステップと、複数のトラフィック属性とその複数のトラフィック属性間の少なくとも1つの依存性を特定する制御入力に応答して、モニタに、観察されたトラフィックフローに基づいて該プロファイルを作成させるステップと、を含み、該プロファイルの統計的表示は、該複数のトラフィック属性の統計情報を提供し、かつ該複数のトラフィック属性間の該少なくとも1つの依存性を特定する。
【0040】
第5の態様の観点から、本発明は、コンピュータ上で実行されると、コンピュータに本発明の第3の態様の方法または本発明の第4の態様のいずれかを実施させるコンピュータプログラムを含むコンピュータプログラム製品を提供する。
【0041】
本発明の上記および他の目的、機能および利点は、添付の図面を参照しながら、以下の例示的な実施形態の詳細説明を読むことによって明らかになる。
【図面の簡単な説明】
【0042】
【図1】本発明の一実施形態に従い、検証実行環境内のコンポーネントを示す模式図である。
【図2】本発明の代替の実施形態に従い、検証実行環境を示す模式図である。
【図3A】先行技術のトラフィックフローの平坦な統計的表示を示す。
【図3B】本発明の一実施形態に従い、トラフィックフローの統計的表示内の依存性を特定するように階層構造を採用するプロファイルを示す。
【図3C】本発明の一実施形態に従い、トラフィックフローの統計的表示内の依存性を特定するように階層構造を採用するプロファイルを示す。
【図4A】先行技術のトラフィックフローの平坦な統計的表示を示す。
【図4B】本発明の代替の実施形態に従い、トラフィックフローの統計的表示内の依存性を特定するように階層構造を採用するプロファイルを示す。
【図5】本発明の一実施形態に従い、トラフィック属性の階層構造を採用するプロファイルを示し、図中、トラフィック属性はトランザクションとタイミングの両方の属性を含む。
【図6】本発明の一実施形態に従い、プロファイルを生成するためのモニタの動作を示す模式図である。
【図7】本発明の一実施形態に従い、プロファイルを作成するために実行されるステップを示す模式図である。
【図8】本発明の一実施形態に従い、検証対象システムから代替のプロファイルを生成するために、図6に示したモニタがどのように使用され得るかを示す模式図である。
【図9】図6および8で生成されたプロファイルが比較目的のためにどのように使用され得るかを模式的に示す。
【図10A】本発明の実施形態に従い生成されたプロファイルの比較により、先行技術を使用して取得された平坦な統計的表示の比較からは発見されないであろう不一致がどのように特定され得るかを示す。
【図10B】本発明の実施形態に従い生成されたプロファイルの比較により、先行技術を使用して取得された平坦な統計的表示の比較からは発見されないであろう不一致がどのように特定され得るかを示す。
【図11】検証対象システムのエラーを検出するためにプロファイルを使用するための技法を示す模式図である。
【図12】本発明の実施形態の技法が採用され得る、データ処理装置を示す模式図である。
【発明を実施するための形態】
【0043】
図1は、本発明の一実施形態に従い、検証実行環境10内で提供されるコンポーネントを模式的に示す模式図である。検証実行環境内に、試験されるデータ処理システムの設計の少なくとも一部を表す検証対象システム(SUV)20が提供される。検証実行環境およびSUVは多様な形態を採り得る。例えば、検証実行環境は、シミュレータツールを使用して実装され得、この場合、SUV内に含まれる1つ以上のコンポーネントは典型的にソフトウェアモデルの形態を採ることになる。代替として、検証実行環境は、例えば、合成可能なハードウェアを提供するエミュレータにより提供され得、この場合、SUVのコンポーネントは最終目的のコンポーネントのハードウェアモデルと見なされ得るが、最終のハードウェア実装そのものではない。別の代替の実施形態においては、検証実行環境は、ASIC実装として提供され得、事実、完全集積実装としてSUVを提供する。
【0044】
図1に示された実施例において、SUVは、相互接続コンポーネント70を介していくつかのスレーブコンポーネント35、40に結合されたいくつかのマスタコンポーネント25、30を含む。相互接続70は、接続された多様なコンポーネント間の通信を可能にするようにいくつかの方式で構成され得るが、一実施形態においては、相互接続70は、ポイントツーポイントリクエスト/応答チャネル構造を採用する。
【0045】
以下の説明において、「接続」は、2つのコンポーネントを通信可能にする物理的なリンクを説明するために使用される。例えば、AMBA接続は、マスタインタフェース、スレーブインタフェースおよび相互接続を備える。接続は、何らかの様式で関連するが、異なる方向であり得る1つ以上の「チャネル」を備える(つまり、一部のチャネルはマスタからスレーブへと通過するが、一方で他のチャネルはスレーブからマスタへと通過する)。これらのチャネル間の依存性は、接続の属性として説明される。関連性のないチャネルは、2つの接続部分として考えられる。
【0046】
「チャネル」は、単方向通信を形成する一組の信号とインタフェースである。各チャネルは、正確に1つのソースと1つ以上のシンクを有し、つまり、マルチキャストであり得る。チャネルは、接続のサブセットを形成し、したがって、例としては、AXI読取接続は2つのチャネル(アドレス読取チャネルとデータ読取チャネル)を有し、AXI書込接続は3つのチャネル(アドレス書込チャネル、データ書込チャネルおよび応答書込チャネル)を有する。チャネルは、1つ以上の「トラフィックフロー」を有する。
【0047】
「トラフィックフロー」は、チャネルの事実上独立した通信である。トラフィックフローは、チャネル全体で通信されるペイロードを記述し、そのペイロードに応じて、データフローまたは制御フローにさらに分類され得る。2つ以上のトラフィックフローが単独のチャネルを共有する場合は、両方を組み合わせた属性を備える単独のフローとして記述される可能性がある。
【0048】
図1に図示したSUVは、ハードウェアと関連ソフトウェア要素の正常な操作を評価するために、検証試験の実施中に特定の接続とチャネルのアクセスを可能にする。検証試験の実施を支援するために、1つ以上のトランザクタ45、55が、SUVのインタフェースに接続され、検証試験の実施中にSUVに入力するための信号を生成するために使用される。図1に図示したように、トランザクタは、刺激信号をSUVに入力することによりトランザクションを開始するために使用されるマスタトランザクタであり得、各トランザクションは指定されたコンポーネント間の1つ以上の転送を定義する。さらに、トランザクタは、送信された転送リクエストに応答して、SUVに信号を返信するように構成されるスレーブトランザクタ55であり得る。典型的な先行技術のシステムにおいては、トランザクタは、特定のユーザ設定ファイルに基づいて、制約付きランダム試験を実施するために使用されてきた、あるいは、システム設計のコーナーケースを検証するために、1つ以上の方向形式のベクトルを実行するために使用されてきた。しかしながら、トランザクタは、例えば、汎用マスタデバイスまたは汎用スレーブデバイス等の汎用のコンポーネントを表す簡素化されたモデルであるので、現在までその使用は、トランザクタが、設計で置換したコンポーネントと同等な方式で動作する必要がない状況に制約されてきた。特に、トランザクタを使用する制約付きランダム試験の結果発生するトラフィックフローは、実在のシステムにおいてトランザクタとSUVにより表される、コンポーネント間で発生するトラフィックフローを表すものではない。
【0049】
しかしながら、本発明の実施形態に従うと、トランザクタは、プロファイル50、60を参照して生成される信号を決定し、各プロファイルは、関連するトランザクタが結合されるインタフェースでの所望のトラフィックフローの統計的表示を提供し、統計的表示は、複数のトラフィック属性の統計情報を提供し、これに加えて、それらのトラフィック属性の間の少なくとも1つの依存性を特定する。プロファイルにより提供される統計的表示内の属性間で少なくとも1つの依存性を捕捉することによって、トランザクタは、現実のシステムで観察されるであろうトラフィックの性質にはるかに近い制約付きランダムトラフィックを作成するために使用され得ることが発見された。これにより、これまでトランザクタは不適切であると考えられてきた特定の試験手順でのトランザクタの使用が可能になる。このようなプロファイルの使用に起因する他の利点も発見された。例えば、トラフィック属性間の少なくとも1つの依存性がプロファイルで捕捉されるので、先行技術の制約付きランダム試験実施技法を使用するよりも、トランザクタが不正なトランザクションを生成する可能性が低い。したがって、トランザクタ内で不正なプロトコルの組み合わせを明示的に定義するために必要な作業が少なくなる。さらに、指定された依存性を考慮することにより、トランザクタの動作は、実在のシステムで実際に実行される可能性が高いプロトコル状態空間の部分に焦点をおくことがさらに容易になり得、それにより、検証試験時間が短縮する。
【0050】
図1において、SUVは、相互接続により接続されるいくつかのコンポーネントを備えるが、SUVは多様な形態をとることが可能なこと、さらに、図2に図示するように、例えば、単一のコンポーネントだけを組み入れ得ることを理解されたい。特に、図2に図示した実施例において、SUV130は、メモリコンポーネント140を含み、その操作が検証される。マスタトランザクタ120は、複数のトラフィック属性の統計情報だけでなく、それらの属性間の少なくとも1つの依存性をも提供するプロファイル110により駆動され、トランザクタが、実在のシステムのマスタデバイスとメモリ制御装置との間で発生するであろう現実のトラフィックフローをさらに正確に再現する制御信号を発信することを可能にする。メモリ制御装置コンポーネント140は、メモリコンポーネント150にも接続され、トランザクタ120からの信号入力に応答してメモリアクセス動作を実施することを可能にする。
【0051】
プロファイルにより提供される統計的表示は、多様な方式で構成され得る。しかしながら、一実施形態においては、プロファイルは、所望のトラフィックフローの統計的表示内の1つ以上の依存性を特定するために、階層構造を採用する。階層構造は多様な形態を採ることができるが、一実施形態においては、階層構造は、ヒストグラムの階層構造で、各ヒストグラムがトラフィック属性のうちの1つに対する統計情報を提供する。
【0052】
図3Aから3Cは、この概念をさらに詳しく示す。この実施例において、トランザクタは、CPUのトラフィックをモデル化するために使用され、トランザクションプロトコル属性のバースト長、方向、およびバーストタイプという、3つのトラフィック属性がプロファイル内で捕捉される、と想定する。これらの属性の平坦な統計的表示が、例えば、実在のシステムでこれらを監視することによって形成された場合、図3Aに図示したバースト長、方向、およびバーストタイプに対して3つの個別のヒストグラム200、205、210が作成され得る。
【0053】
この統計情報が、その後、トランザクタによりトラフィックを生成するために使用される場合、トランザクタは、属性の不正な(または観察されない)組み合わせを十分に作成し得、結果のトラフィックは、実在のシステムで観察されるトラフィックに近くなくなる。例えば、トランザクタは、バースト長が「5」、方向が「書込」、およびバーストタイプが「増分」であるトランザクションを作成し得るが、現実には、このようなトランザクションは、現実のシステムでは決して発生し得ない。例えば、実在のシステムで発生するであろうトランザクションについて、以下の情報が分かっている場合がある。
【0054】
【表1】

【0055】
本発明の実施形態の技法を使用して、表1に特定された依存性が階層構造のヒストグラムに捕捉されると、プロファイルを生成するために同一のトラフィックを監視する場合、結果として作成されるプロファイルは、図3Bに模式的に図示されたプロファイルであり得る。この実施例において、バースト長ヒストグラム200は変わらず、一次トランザクションプロトコル属性として使用される。バースト長ヒストグラムの各エントリに対して、個別の方向ヒストグラムが作成され、したがって、例としての目的で図示されているように、方向ヒストグラム220は、バースト長4に対して作成され得、方向ヒストグラム225はバースト長8に対して作成され得る。表1と比較することによって、3つのクラスのトランザクションのうちのいずれもバースト長4を指定し得、したがって、方向ヒストグラムは、読取と書込アクセスの混合型を含む可能性があるが、バースト長8は、キャッシュ不可能のフェッチトランザクションにだけ指定され得、これらのトランザクションは必ず読取トランザクションであり、したがって、方向ヒストグラム225は読取アクセスだけを含むようになることが確認され得る。
【0056】
同様に、各方向ヒストグラムの各エントリに対して、個別のバーストタイプのヒストグラムが作成される。したがって、方向ヒストグラム220に対して、2つのバーストタイプヒストグラム230、235が作成され、同様に、方向ヒストグラム225に対して、1つのバーストタイプヒストグラム240が作成される。さらに、タイミング属性が捕捉されると、各トランザクションクラスの相対帯域幅が決定され得る。
【0057】
トランザクタが生成する信号を決定するために、図3Bに模式的に図示したプロファイルがトランザクタにより参照される場合、生成される信号は、トランザクタとSUVとの間のインタフェースで、現実のシステムで発生する現実のトラフィックフローをさらに一層厳密に表すトラフィックフローとなる。
【0058】
完全性のために、図3Cは、図3Bで図示したプロファイルのXML表現を提供する。示したように、長さヒストグラムの5つの「bin x_values」は、それぞれ、長さ1、2、4、5および8を特定し、頻度は6、2、12、1および5であることを示す。さらに、バースト長が4の方向ヒストグラム220は、それぞれ10と6の読取と書込値を有し、一方で、バースト長8の方向ヒストグラム225は、読取エントリだけを含み、これは、デフォルトで1の値に設定されることが確認される。また、3つのバーストタイプヒストグラム230、235および240も図3CのXML表現で特定されることも確認される。
【0059】
図4Aは、別の実施例の状況に成功技術のアプローチを使用して作成される可能性があるトラフィックフローの平坦な統計的表示を図示し、ここでも、3つのトランザクションプロトコルの属性が捕捉されるが、今回は、属性はバースト長、バーストタイプおよびキャッシュ可能/バッファ可能である。ARLEN、ARBURSTおよびARCACHEが、AXIのこれらのトランザクションプロトコル属性に与えられた名前で、図4Aは、AXIデータフローを監視することによって取得され得る結果を示す。
【0060】
図4Bでは、本発明の実施形態に従い生成されたプロファイルが図示され、同一のAXIデータフローに基づくがここではこの実施形態に従い、ARLENは一次ヒストグラムと考えられ、ARCHACHEは、ARBURSTに依存し、ARBURSTはARLENに依存する。図4Aに図示した平坦な統計的表示がトランザクタを駆動するために使用された場合、図4Bに図示した本発明の実施形態のプロファイルでトランザクタが駆動される状況と比較すると、非常に異なる結果が達成されることがわかる。例えば、図4Aの独立したヒストグラム250、255、260を使用すると、ARLENが1でARBURSTがWRAPタイプのトランザクションが作成される可能性がある。しかしながら、図4Bから、そして特にARBURSTヒストグラム270から明らかであるように、この組み合わせは、本来のデータフローには存在しておらず、AXIプロトコルにおいては不正となる。図4Bに図示した階層表示を使用することにより、トランザクタはこのようなトランザクションを決して作成しないため、この問題は対処される。
【0061】
依存性の階層は、例えば、捕捉時に、モニタツールが使用され、現実のシステムのトラフィックフローを観察することによりプロファイルを生成する場合、プロファイルが生成される時点に定義され得る。捕捉時に依存性が定義されることを可能にすることによって、その時点で特定の対象属性に焦点を置くことが可能である。例えば、メモリ制御装置のインタフェースで、属性「ID」は、非常に異なるトランザクションプロトコル属性とタイミング属性を含む独立的なフローの間を区別するために使用され得る。代替として、ユーザは、待機状態(データのビート間のサイクル数を特定)に関心を抱き得るので、どのタイプのトランザクションが異なるデータパフォーマンスを作成するかを発見するために、待機状態を上位レベルのヒストグラムとして使用することが可能である。待機状態が上位レベルのヒストグラムとして使用される実施例は図5に図示される。方向ヒストグラム310とタイプヒストグラム325から明らかであるように、高い待機状態は、バーストタイプ増分の読取トランザクションで発生する。
【0062】
図6は、本発明の一実施形態に従い、上記のプロファイルが生成され得る機構を示す。図6に図示したように、検証対象システム400は、相互接続420を介していくつかのスレーブデバイス425、430、435に結合されたいくつかのマスタデバイス405、410、415を備える。マスタデバイス405は、CPUのRTLモデルとして形成される。
【0063】
モニタツール440は、RTLモデル405と相互接続420との間のインタフェースで発生するトラフィックフローを観察するために使用され、これに基づいて第1のプロファイル450を作成する。モニタツール440がプロファイルを作成することを可能にするように、プロファイルテンプレートまたは初期のプロファイルがモニタツールへの入力として提供される。特に、複数の対象トラフィック属性を定義し、かつ、これらの属性間の依存性を定義するプロファイルテンプレートが使用され得、モニタツールは、次に、観察されたトラフィックフローに基づいてプロファイルテンプレートを生成することによって、プロファイルを作成する。したがって、一実施形態において、プロファイルテンプレートは、階層構造のヒストグラムを特定し、これらのヒストグラムは最初は空であり、その後、観察されたトラフィックフローに基づいて、モニタツールがこれらのヒストグラムを投入する。
【0064】
プロファイルテンプレートを使用する代わりに、モニタツール440への制御入力は、初期のプロファイルの形態を採り得る。プロファイルテンプレートと同様に、これは、複数の対象トラフィック属性およびそれらの間の依存性を定義するが、少なくとも部分的に統計情報を投入される。特に、手動入力された何らかの情報、または異なるSUVを監視することにより作成された何らかの情報等で部分的に更新されていることがあり得る。この事例においては、モニタツールは、次に、観察されたトラフィックフローに基づいて、初期のプロファイルの統計情報を補完することによって、プロファイルを作成する。
【0065】
図7は、図6に説明した機構を使用する場合に実施されるステップをまとめた流れ図である。まず、ステップ500で、対象のトラフィック属性が定義される。これらは、トランザクションプロトコル属性、タイミング属性または、この2つの混合であり得る。その後、ステップ510で、属性間の依存性が特定され、これは、典型的に、SUVで監視されるデバイスのタイプに依存する。例えば、特定のタイプのデバイスでは、バースト長を一次属性として選択することが適切であると考えられ得るが、他のタイプのデバイスでは、他の何らかの属性を選択することが適切であり得る。さらに、選択される依存性は、デバイスのタイプだけではなく、例えば、トランザクタと生成されたプロファイルを使用してどのようなタイプの試験が実施されるか等、プロファイルがその後どのように使用されるかにも依存し得る。
【0066】
ステップ520で、対象のトラフィック属性と依存性の両方を捕捉する階層構造を提供するために、プロファイルテンプレートが作成される。したがって、前述の実施例を考慮すると、プロファイルテンプレートは、この段階では、階層構造のヒストグラムを含むが、ヒストグラムは現在まだ投入されていない。ステップ500から520までは、全部ユーザにより手動で実施され得る、または、代替として、これらのステップのうちの1つ以上が自動化される可能性がある。
【0067】
ステップ530で、モニタツール440は、次に、SUV400のトラフィックを監視し、この結果、プロファイル450を生成するためにステップ540でプロファイルテンプレートを投入する。
このようなプロファイルの1つの使用目的は、トランザクタへの入力(図1および2を参照して前述した実施例のように)であるが、このようなプロファイルは他の目的にも使用され得る。例えば、ここで図8および9を参照して検討するように、このプロファイルは、わずかに異なる特定の設計の複数のビューの性能または動作を比較するために使用され得る。特に、トラフィック属性間の依存性を捕捉することにより実現されるさらに正確な統計的表示によって、このような設計の複数のビューの間でさらに正確な比較を実行することが可能になる。
【0068】
したがって、図8に示すように、モニタツール440は、代替の検証対象システム600の同等なインタフェースに接続されるように配置され得、次に、同じプロファイルテンプレートまたは初期のプロファイルを使用することによって、観察されたトラフィックフローに基づいて第2のプロファイル650を作成することができる。図6に図示したSUV400と同様に、図8のSUV600は、相互接続620を介して、3つのスレーブデバイス625、630、635に結合された3つのマスタデバイス605、610、615を有する。しかしながら、図6のSUV600とは異なり、図8で使用されるCPUモデル605は、図6で使用したRTLモデル405ではなく、サイクル近似(CX)モデルである。
【0069】
第2のプロファイル650が生成されると、図9に模式的に図示すように、CPUのサイクル近似モデルがCPUのRTLモデルの動作をどの程度正確に追跡するかの出力指標を作成するために、2つのプロファイル450、650が比較ロジック660を使用して比較され得る。比較ロジックが実装され得るいくつかの方式があるが、一実施形態においては、比較ロジックは、コンピュータ上で稼動するソフトウェアルーチンの形態を採り、その入力として2つのプロファイル450、650を受信する。
【0070】
図10Aおよび10Bは、平坦な統計的表示を比較することを模索する代替のアプローチと比較すると、本発明の実施形態に従い生成されたプロファイルを比較する場合に達成され得る利点を示す。
【0071】
特に、図10Aに示すように、トラフィックフロー700、710の2つの平坦な統計的表示が模式的に示されるが、平坦な統計的表示700は、図6のSUV400のRTLモデル405と相互接続420との間のインタフェースを監視することから取得され、一方で、平坦な統計的表示710は、図8のサイクル近似モデル605と相互接続620との間の同等なインタフェースを監視することから取得される。比較720が実施されると、2つの平坦な統計的表示の間の類似性により、サイクル近似モデルは、RTLモデルの動作を厳密に推定することを示すことが確認される。
【0072】
しかしながら、図10Bは、同じ状況を示すが、ここでは、図6および8を参照して説明された機構を使用して取得された2つのプロファイル450、640が使用される。この実施例においては、バースト長は一次ヒストグラムとして選択され、バーストタイプはバースト長に依存すると想定される。この事例においては、比較730が実施されると、バースト長の動作は類似しているが、バースト長3のアクセスは、サイクル近似モデルとRTLモデルを比較すると、実際には、異なるバーストタイプの特性を有することが検出される。このようにして、RTLモデルと比較すると、サイクル近似モデルの動作の違いを特定するが、これは、平坦な統計的表示が使用された場合には、気づかれずに終わってしまう違いである。
【0073】
本発明の実施形態に従う技法を使用して生成されたプロファイルの別の用途は、エラー検出分野にある。複雑なシステムは複雑な動作を有する。すべての可能な不正モデルを列挙すること、および言うまでもなく検出することは非常に困難である。従来のエラー検出方式は、システムに対して比較する1組のエラーパターンを構築する。これは、システムの詳細な知識を使用して手作業で行われることが非常に多い。1組の詳細な試験と応答が作成されてから、特有の事前に特定された故障を診断するために使用され得る故障辞書を形成する。エラーパターンに付随する問題は、特殊な試験シーケンスにより実現することが必要な特定のシステム状態に非常に限定されることである。したがって、正常に稼動中のシステムにおいて使用するには不適切である。
【0074】
本発明の一実施形態において、この問題は、システムのトラフィックプロファイルを、システムが正常に稼動している際に観察されるプロファイルから分岐させる所定の動作として、エラーを定義することにより対処され得る。前述のプロファイルの統計的性質は、いかなる特定の通信のコンテンツおよびタイミングの固有の可変性が捕捉されることを可能にし、このようにして、いかなる比較も必ず適切な許容範囲を使用することになる。
【0075】
図11は、エラーを検出するために提案される機構を模式的に示す。まず、正常なシステム800は、1つ以上のプロファイル820を作成するために監視され、それらのプロファイルの各々は、前述の階層構造を採用し、したがって、1つ以上のトラフィック属性間の依存性を捕捉する。これらのプロファイル820の組は、正常に操作する場合にシステムから予測される1組の予測プロファイルを形成する。
【0076】
次に、予測プロファイル820を作成する場合に監視されたインタフェースと同一組のインタフェースを監視して、同一の一連のプロファイルを作成し、次に、システム810から作成された実際のプロファイル830と予測プロファイル820との間の比較操作840を実行することにより、システム810の不正な動作が検出される。プロファイルの階層構造のために、プロファイル間の不一致は、容易に特定され得、エラーの迅速な検出を可能にする。
【0077】
このようなアプローチの使用を通して、機能のシミュレーションは、予測されるトラフィックフローと比較され得る。実際に作成されたプロファイルが予測プロファイルに一致する場合、実際の動作は予測される動作に一致すると考えられ、システムは正常に動作していると考えられる。しかしながら、不一致がある場合、機能のシミュレーションは不正に動作していると考えられ、エラーがフラグされ得る。同一の技法は、ソフトウェアの不具合またはハードウェアの故障など原因が何であっても望ましくないシステム動作を検出するために、設計の物理的実現において使用され得る。
【0078】
システムがいくつかの異なるアプリケーションで使用される場合、上記の手法の感度は、各々異なるアプリケーション中の動作に対応するトラフィックプロファイルを何組か使用することによって改善され得る。
【0079】
上記のアプローチの使用を可能にするためには、稼動中のシステム800から予想される1組のプロファイル820を取得することが必要で、一実施形態において、これは、システムのRTLエミュレーションを使用して実現され得る。
【0080】
図12は、本発明の実施形態の上記の技法を実施するために使用され得るタイプの汎用目的コンピュータ900を模式的に示す。汎用目的コンピュータ900は、中央処理ユニット902、ランダムアクセスメモリ904、読取専用メモリ906、ネットワークインタフェースカード908、ハードディスクドライブ910、ディスプレイドライバ912およびモニタ914、およびキーボード918とマウス920を備えたユーザ入力/出力回路916と、を含み、全てがコモンバス922を介して接続される。動作中、中央処理ユニット902は、ランダムアクセスメモリ904、読取専用メモリ906、ハードディスクドライブ910のうちの1つ以上に保管され得る、または、ネットワークインタフェースカード908を介して動的にダウンロードされ得る、コンピュータプログラム命令を実行する。処理が実施された結果は、ディスプレイドライバ912およびモニタ914を介して、ユーザに表示され得る。汎用目的コンピュータ900の操作を制御するためのユーザ入力は、ユーザ入力/出力回路916を介して、キーボード918またはマウス920から受信され得る。コンピュータプログラムは、多様なコンピュータ言語で作成される可能性があることがわかる。コンピュータプログラムは、記録媒体上に保管および分散され得る、または、汎用目的コンピュータ900に動的にダウンロードされ得る。適当なコンピュータプログラムの制御下で操作する場合、汎用目的コンピュータ900は、上記の技法を実行することができ、上記の技法を実行するための装置を形成すると考えられ得る。汎用目的コンピュータ900のアーキテクチャは、大幅に変わることが可能で、図12は1つの実施例に過ぎない。
【0081】
本発明の実施形態に従い、所望のトラフィックフローの統計的表示内のトラフィック属性間で少なくとも1つの依存性を特定するように、階層構造を採用するプロファイルが提供される。このようなプロファイルは、トランザクタに検証対象システム内で一層現実に近いトラフィックフローを作成させるように、トランザクタを駆動するために使用され得る。さらに、このようなプロファイルは、2つの異なるSUVの操作間の不一致を一層容易に特定するために使用され得る。その上に、このようなプロファイルは、プロファイルのうちの1つを考慮して、観察されたトラフィックフローが予測外である状況を検出することにより、SUV内のエラー検出を可能にするためにも使用され得る。
【0082】
本発明の例示的な実施形態は、本明細書において添付の図面を参照しながら詳細に説明されてきたが、本発明はそれらの正確な実施形態に限定されないこと、さらに、添付の請求項により画定される本発明の範囲および精神を逸脱することなく、当業者によりこれに多様な変更および変形が有効であり得ること、を理解されたい。
【符号の説明】
【0083】
10 検証実行環境
20 検証対象システム
25 マスタコンポーネント
30 マスタコンポーネント
35 スレーブコンポーネント
40 スレーブコンポーネント
45 トランザクタ
50 プロファイル
55 トランザクタ
60 プロファイル
70 相互接続
110 プロファイル
120 トランザクタ
130 検証対象システム
140 メモリコンポーネント
150 メモリコンポーネント
400 検証対象システム
405 マスタデバイス
410 マスタデバイス
415 マスタデバイス
420 相互接続
425 スレーブデバイス
430 スレーブデバイス
435 スレーブデバイス
440 モニタツール
450 第1のプロファイル
600 検証対象システム
605 マスタデバイス
610 マスタデバイス
615 マスタデバイス
620 相互接続
625 スレーブデバイス
630 スレーブデバイス
635 スレーブデバイス
650 第2のプロファイル

【特許請求の範囲】
【請求項1】
データ処理システムの設計のために検証試験を実施するための装置であって、
前記データ処理システムの前記設計の少なくとも一部を表す検証対象システムと、
前記検証対象システムのインタフェースに接続するため、かつ前記検証試験の実施中に前記インタフェースを介して前記検証対象システムへの入力のための信号を生成するためのトランザクタと、
前記インタフェースで所望のトラフィックフローの統計的表示を提供するプロファイルを保管するためのプロファイルストレージであって、前記統計的表示は複数のトラフィック属性に対する統計情報を提供し、前記複数のトラフィック属性間の少なくとも1つの依存性を特定する、プロファイルストレージと、を備え、
前記トランザクタは、生成される前記信号が前記プロファイルで特定された前記少なくとも1つの依存性が考慮されるように、生成される前記信号を決定するために前記プロファイルを参照する、
装置。
【請求項2】
前記プロファイルは、所望のトラフィックフローの前記統計的表示内の前記少なくとも1つの依存性を特定するように、階層構造を採用する、請求項1に記載の装置。
【請求項3】
前記階層構造は、ヒストグラムの階層構造であり、各ヒストグラムは前記トラフィック属性のうちの1つに対する統計情報を提供する、請求項2に記載の装置。
【請求項4】
前記所望のトラフィックフローは、前記トランザクタが前記データ処理システムの機能モデルまたは実際のコンポーネントと置換された場合、前記インタフェースで観察されることが予測されるであろうトラフィックフローを表す、請求項1に記載の装置。
【請求項5】
所望のトラフィックフローの前記統計的表示は、前記機能モデルまたは前記実際のコンポーネントが使用される際に発生するトラフィックフローを監視することにより取得される、請求項4に記載の装置。
【請求項6】
前記トラフィックフローは、トランザクションプロトコルに従い生成され、前記複数のトラフィック属性は、少なくとも1つのトランザクションプロトコル属性を含む、請求項1に記載の装置。
【請求項7】
前記トラフィックフローは、前記トランザクションプロトコルに従い生成され、前記複数のトラフィック属性は、前記トランザクションプロトコルに従い生成された特定のトラフィック間のタイミングを特定する少なくとも1つのタイミング属性を含む、請求項1に記載の装置。
【請求項8】
データ処理システム内のトラフィックフローの統計的表示を提供するプロファイルを生成するための装置であって、
前記データ処理システムの前記設計の少なくとも一部を表す検証対象システムと、
前記検証対象システムのインタフェースに接続するため、かつそのインタフェースで前記トラフィックフローを観察するためのモニタと、を備え、
前記モニタは、複数のトラフィック属性と前記複数のトラフィック属性間の少なくとも1つの依存性を特定する制御入力に反応して、前記観察されたトラフィックフローに基づいて前記プロファイルを生成し、前記プロファイルの統計的表示は、前記複数のトラフィック属性に対して統計情報を提供し、かつ前記複数のトラフィック属性間の前記少なくとも1つの依存性を特定する、
装置。
【請求項9】
前記制御入力は、前記複数のトラフィック属性と前記少なくとも1つの依存性とを設定するプロファイルテンプレートの形態を採り、前記モニタは、前記観察されたトラフィックフローに基づいて前記プロファイルテンプレートを投入することにより前記プロファイルを作成する、請求項8に記載の装置。
【請求項10】
前記制御入力は、前記複数のトラフィック属性と前記少なくとも1つの依存性とを設定する初期のプロファイルの形態を採り、かつ、少なくとも部分的に統計情報が投入され、前記モニタは、前記観察されたトラフィックフローに基づいて前記初期のプロファイルの統計情報を補完することにより前記プロファイルを作成する、請求項8に記載の装置。
【請求項11】
前記モニタにより作成された前記プロファイルを、前記データ処理システムの代替表示に対して生成された追加のプロファイルと比較するための比較ロジックをさらに含み、前記追加のプロファイルは、前記複数のトラフィック属性に対する統計情報を提供し、かつ、前記複数のトラフィック属性間の少なくとも1つの依存性を特定する、請求項8に記載の装置。
【請求項12】
前記データ処理システムの前記設計の少なくとも一部を表す代替の検証対象システムであって、前記検証対象システムとは前記データ処理システムの実装が異なる、代替の検証対象システムと、
前記代替の検証対象システム内の同等のインタフェースに接続し、追加のプロファイルを作成するためにその同等のインタフェースでトラフィックフローを観察する前記モニタと、
前記検証対象システムと前記代替の検証対象システムの動作の違いを決定するために、前記プロファイルと前記追加のプロファイルを比較するための比較ロジックと、をさらに含む、請求項8に記載の装置。
【請求項13】
インタフェースで前記トラフィックフローを観察するために、前記データ処理システムの前記設計の少なくとも一部を表す追加の検証対象システムのインタフェースに結合するためのエラー検出回路をさらに備え、
前記エラー検出回路は、前記モニタにより生成されたプロファイルへのアクセスを有し、かつ、前記プロファイルを考慮して、観察される前記トラフィックフローが予期されないものである際にエラー信号を生成する、請求項8に記載の装置。
【請求項14】
前記プロファイルは、トラフィックフローの前記統計的表示内に少なくとも1つの依存性を特定するように、階層構造を採用する、請求項8に記載の装置。
【請求項15】
前記階層構造は、ヒストグラムの階層構造で、各ヒストグラムは前記トラフィック属性のうちの1つに統計情報を提供する、請求項14に記載の装置。
【請求項16】
前記トラフィックフローは、トランザクションプロトコルに従い生成され、前記複数のトラフィック属性は、少なくとも1つのトランザクションプロトコル属性を含む、請求項8に記載の装置。
【請求項17】
前記トラフィックフローは、前記トランザクションプロトコルに従い生成され、前記複数のトラフィック属性は、前記トランザクションプロトコルに従い生成された特定のトラフィック間のタイミングを特定する少なくとも1つのタイミング属性を含む、請求項8に記載の装置。
【請求項18】
データ処理システムの設計のために検証試験を実施する方法であって、
前記データ処理システムの前記設計の少なくとも一部を表す検証対象システムを提供するステップと、
前記検証対象システムのインタフェースにトランザクタを接続するステップと、
前記検証試験の実施中、前記インタフェースを介して、前記トランザクタにより生成された信号を前記検証対象システムに入力するステップと、
前記インタフェースで所望のトラフィックフローの統計的表示を提供するプロファイルをプロファイルストレージ内に保管するステップであって、前記統計的表示は複数のトラフィック属性に対する統計情報を提供し、前記複数のトラフィック属性間の少なくとも1つの依存性を特定する、ステップと、
生成される前記信号が前記プロファイルで特定された前記少なくとも1つの依存性を考慮するように、前記検証対象システムに入力するために生成される前記信号を決定するために、前記トランザクタに前記プロファイルを参照させるステップと、
を含む方法。
【請求項19】
コンピュータ上で実行されると、前記コンピュータに請求項18に記載の前記方法を実行させる、コンピュータプログラムを含む、コンピュータプログラム製品。
【請求項20】
データ処理システム内のトラフィックフローの統計的表示を提供するプロファイルを生成する方法であって、
前記データ処理システムの前記設計の少なくとも一部を表す検証対象システムを提供するステップと、
前記検証対象システムのインタフェースにモニタを接続するステップと、
前記モニタを介して、そのインタフェースで前記トラフィックフローを観察するステップと、
複数のトラフィック属性と前記複数のトラフィック属性間の少なくとも1つの依存性を特定する制御入力に応答して、前記モニタに、前記観察されたトラフィックフローに基づいて前記プロファイルを作成させるステップであって、前記プロファイルの統計的表示は、前記複数のトラフィック属性に対する統計情報を提供し、かつ前記複数のトラフィック属性間の前記少なくとも1つの依存性を特定する、ステップと、
を含む方法。
【請求項21】
コンピュータ上で実行されると、前記コンピュータに請求項20に記載の方法を実行させる、コンピュータプログラムを含む、コンピュータプログラム製品。

【図1】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図3C】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10A】
image rotate

【図10B】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2010−140487(P2010−140487A)
【公開日】平成22年6月24日(2010.6.24)
【国際特許分類】
【外国語出願】
【出願番号】特願2009−280883(P2009−280883)
【出願日】平成21年12月10日(2009.12.10)
【出願人】(504394342)アーム・リミテッド (134)
【Fターム(参考)】