(57)【要約】本発明は、システムブロックの性能分析を行うための改善された方法に備えるものである。ある実施形態では、システムブロックが、TLMモデル及びRTL等価モデルの双方でモデル化される。次に、テストベンチが刺激物のセットを生成し、ここでテストベンチは、TLMモデル又はRTL等価モデルに対してその刺激物のセットを適用して、タイミング情報のセットを生成できるアプリケーションである。その後、その刺激物のセットを使用して、TLMモデルの性能分析が行われ、かつ、刺激物のセットを使用して、RTL等価モデルの性能分析が行われる。
2005525660.tif 000002
【特許請求の範囲】
【請求項１】
システムブロックの性能分析を行うための方法であって、
前記システムブロックを、TLMモデル及びRTL等価モデルの双方でモデル化し、
刺激物のセットを前記TLMモデル又は前記RTL等価モデルに対して適用して、タイミング情報のセットを生成することができるアプリケーションであるテストベンチにおいて、前記刺激物のセットを生成し、
前記刺激物のセットを使用して、前記TLMモデルの性能分析を行い、
前記刺激物のセットを使用して、前記RTL等価モデルの性能分析を行う、
ステップを含むことを特徴とする方法。
【請求項２】
前記TLMモデルの性能分析を行うステップが、前記TLMモデルにおけるタイミング情報のセットをデータベース内に格納することを含み、前記RTL等価モデルの性能分析を行うステップが、前記RTL等価モデルにおけるタイミング情報のセットを前記データベース内に格納することを含む、
請求項1記載の方法。
【請求項３】
前記タイミング情報を分析して、前記RTL等価モデルと比較して前記TLMモデルの正確さを定めるステップ、
をさらに含む請求項2記載の方法。
【請求項４】
前記タイミング情報を分析するステップが、前記テストベンチ外部のアプリケーションを使用して行われる、
請求項3記載の方法。
【請求項５】
前記TLMトランザクションモデルの性能分析を行うステップが、
一又はそれ以上のトランザクションを含む刺激物のセットを、第一のトランザクション検証モデルで受け取ること、
前記刺激物のセットを、前記第一のトランザクション検証モデルで読み取り可能なフォーマットに変換すること、
前記一又はそれ以上のトランザクションのセット中の特定のトランザクションにおける、開始時間を含むタイミング情報の第一のセットをデータベース内に記録すること、
前記特定のトランザクションを処理すること、及び
前記特定のトランザクションにおける、終了時間を含むタイミング情報の第二のセットを前記データベース内に記録すること、
を含む請求項1記載の方法。
【請求項６】
前記特定のトランザクションを処理するステップが、
前記特定のトランザクションの処理を完了するために、第二のトランザクション検証モデルが必要とされるかどうかを判断すること、
前記特定のトランザクションに対応する情報を、前記第二のトランザクション検証モデルに送ること、
前記第二のトランザクション検証モデルで、前記特定のトランザクションを処理すること、及び
前記第二のトランザクション検証モデルが前記トランザクションを処理し終えたことを、前記第一のトランザクション検証モデルに通知すること、
を含む請求項5記載の方法。
【請求項７】
前記RTL等価モデルについて性能分析を行うステップが、
一又はそれ以上のトランザクションを含む刺激物のセットを、第一のトランザクション検証モデルで受け取ること、
前記刺激物のセットを、前記第一のトランザクション検証モデルで読み取り可能なフォーマットに変換すること、
前記一又はそれ以上のトランザクションのセット中の特定のトランザクションにおける、開始時間を含むタイミング情報の第一のセットをデータベース内に記録すること、
前記特定のトランザクションを処理すること、及び
前記特定のトランザクションにおける、終了時間を含むタイミング情報の第二のセットを、前記データベース内に記録すること、
を含む請求項1記載の方法。
【請求項８】
前記刺激物のセットを前記第一のトランザクション検証モデルで読み取り可能なフォーマットに変換するステップが、前記刺激物のセットをトランザクションレベルから信号レベルに変換することを含む、
請求項7記載の方法。
【請求項９】
前記特定のトランザクションを処理するステップが、
前記特定のトランザクションの処理を完了するために、第二のトランザクション検証モデルを必要とするかどうかを判断すること、
前記特定のトランザクションに対応する、信号レベルに対応する情報を、前記第二トランザクション検証モデルに送ること、
前記特定のトランザクションを、前記第二のトランザクション検証モデルで処理すること、及び
前記特定のトランザクションが前記第二のトランザクション検証モデルで処理し終わったことを示す前記第二のトランザクション検証モデルからの応答を、前記第一のトランザクション検証モデルで受け取ること、
を含む請求項7記載の方法。
【請求項１０】
前記TLMモデルが周期近似であり、かつ前記RTL等価モデルが周期厳密である、
請求項1記載の方法。
【請求項１１】
前記TLMモデルのタイミング分析を行うステップ、及び前記RTL等価モデルのタイミング分析を行うステップが、前記テストベンチで実行される、
請求項1記載の方法。
【請求項１２】
システムブロックの性能分析を行うための命令の一又はそれ以上のシーケンスを保持するコンピューター読み取り可能な媒体であって、
一又はそれ以上のプロセッサによる前記命令の一又はそれ以上のシーケンスの実行が、前記一又はそれ以上のプロセッサに、
前記システムブロックを、TLMモデル及びRTL等価モデルの双方でモデル化させ、
刺激物のセットを前記TLMモデル又は前記RTL等価モデルに対して適用して、タイミング情報のセットを生成することができるアプリケーションであるテストベンチにおいて、前記刺激物のセットを生成させ、
前記刺激物のセットを使用して、前記TLMモデルの性能分析を行わせ、
前記刺激物のセットを使用して、前記RTL等価モデルの性能分析を行わせる、
ことを特徴とするコンピューター読み取り可能な媒体。
【請求項１３】
前記TLMモデルの性能分析を行うステップが、前記TLMモデルにおけるタイミング情報のセットをデータベース内に格納することを含み、前記RTL等価モデルの性能分析を行うステップが、前記RTL等価モデルにおけるタイミング情報のセットを前記データベース内に格納することを含む、
請求項12記載のコンピューター読み取り可能な媒体。
【請求項１４】
前記一又はそれ以上のプロセッサに、前記タイミング情報を分析させて、前記RTL等価モデルと比較して前記TLMモデルの正確さを定めさせること、
をさらに含む請求項13記載のコンピューター読み取り可能な媒体。
【請求項１５】
前記タイミング情報を分析するステップが、前記テストベンチ外部のアプリケーションを使って行われる、
請求項14記載のコンピューター読み取り可能な媒体。
【請求項１６】
前記TLMモデルの性能分析を行うステップが、
一又はそれ以上のトランザクションを含む刺激物のセットを、第一のトランザクション検証モデルで受け取ること、
前記刺激物のセットを、前記第一のトランザクション検証モデルで読み取り可能なフォーマットに変換すること、
前記一又はそれ以上のトランザクションのセット中の特定のトランザクションにおける、開始時間を含むタイミング情報の第一のセットを、データベース内に記録すること、
前記特定のトランザクションを処理すること、及び
前記特定のトランザクションにおける、終了時間を含むタイミング情報の第二のセットを、前記データベース内に記録すること、
を含む請求項12記載のコンピューター読み取り可能な媒体。
【請求項１７】
前記特定のトランザクションを処理するステップが、
前記特定のトランザクションの処理を完了するために、第二のトランザクション検証モデルが必要とされるかどうかを判断すること、
前記特定のトランザクションに対応する情報を、前記第二のトランザクション検証モデルに送ること、
前記特定のトランザクションを、前記第二のトランザクション検証モデルで処理すること、及び
前記第二のトランザクション検証モデルが前記トランザクションを処理し終わったことを、前記第一のトランザクション検証モデルに通知すること、
を含む請求項16記載のコンピューター読み取り可能な媒体。
【請求項１８】
前記RTL等価モデルの性能分析を行うステップが、
一又はそれ以上のトランザクションを含む刺激物のセットを、第一のトランザクション検証モデルで受け取ること、
前記刺激物のセットを、前記第一のトランザクション検証モデルで読み取り可能なフォーマットに変換すること、
前記一又はそれ以上のトランザクションのセット中の特定のトランザクションにおける、開始時間を含むタイミング情報の第一のセットを、データベース内に記録すること、
前記特定のトランザクションを処理すること、及び
前記特定のトランザクションにおける、終了時間を含むタイミング情報の第二のセットを、前記データベース内に記録すること、
を含む請求項12記載のコンピューター読み取り可能な媒体。
【請求項１９】
前記刺激物のセットを前記第一のトランザクション検証モデルで読み取り可能なフォーマットに変換するステップが、前記刺激物のセットをトランザクションレベルから信号レベルに変換することを含む、
請求項18記載のコンピューター読み取り可能な媒体。
【請求項２０】
前記特定のトランザクションを処理するステップが、
前記特定のトランザクションの処理を完了するために、第二のトランザクション検証モデルが必要とされるかどうかを判断すること、
前記特定のトランザクションに対応する、信号レベルに対応する情報を、前記第二のトランザクション検証モデルに送ること、
前記特定のトランザクションを前記第二のトランザクション検証モデルで処理すること、及び
前記特定のトランザクションが前記第二のトランザクション検証モデルで処理し終わったことを示す、前記第二のトランザクション検証モデルからの応答を、前記第一のトランザクション検証モデルで受け取ること、
を含む請求項18記載のコンピューター読み取り可能な媒体。
【請求項２１】
前記TLMモデルが周期近似であり、かつ、前記RTL等価モデルが周期厳密である、
請求項12記載のコンピューター読み取り可能な媒体。
【請求項２２】
前記TLMモデルのタイミング分析を行うステップ、及び前記RTL等価モデルのタイミング分析を行うステップが、前記テストベンチで実行される、
請求項12記載のコンピューター読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、システムレベル設計の分野に関するものであり、特にトランザクションモデルの改善された性能分析を行うことに関するものである。
【背景技術】
【０００２】
(本発明の背景及び要約)
シリコン技術の進歩は、より大きくかつより複雑な設計を単一チップ上に形成することを、ますます可能にする。チップ上のコンポーネントは、システムブロックにまとめることができる。システムブロックは、例えばCPU、バス、又はタイマーのようなチップ上のコンポーネントのモデルである。設計は、単一チップ上の数百万又は数千万のトランジスタから構成されることができる。しかしながら同時に、市場の需要は、設計者に、より速くかつ効率的に設計を開発することを強要し続ける。結果として、設計者は、システムブロックの性能を高めようと励み、これは、タイミング及び正確さのような特性によって計測することができる。
【０００３】
トランザクションは、例えば一又はそれ以上のバイトをCPUからメモリに書き込む、というような信号レベルの個別の操作である。様々な抽象レベルで動作するトランザクションを処理するためのモデル(「トランザクションモデル」)を、システムブロックの設計及び試験において、システム設計者は使用することができる。一般に、モデルの抽象レベルは、モデルの正確さに反比例し、モデルのシミュレーションのスピードに正比例する。言い換えると、抽象レベルが高くなるにつれて、シミュレーションのスピードが増大する一方で、正確さが減少する。
【０００４】
システムブロックの設計は、初めに、TLMモデルのようなトランザクションモデルを使用して試験することができる。その後、システムブロックの設計は、例えばRTL等価モデルを介してというような、より下位の抽象レベルで試験及び検証することができる。上位の抽象レベルで動作するトランザクションモデルは、TLM(トランザクションレベルモデリング)モデルと呼ばれる。トランザクションレベルモデリングは、モジュール間の通信が機能装置の実装の詳細から切り離されるデジタルシステムをモデル化する上位レベルの手法を参照する。上位抽象レベルで動作するTLMモデルは、RTL(レジスタ転送レベル)モデルのような下位抽象レベルで動作する対応するモデルを持つことができる。レジスタ転送レベルは、デジタルシステムを機能装置間の同期転送であると説明する抽象レベルを参照する。
【０００５】
トランザクションモデルを使うシステムブロックの試験及び検証において、テストベンチを使用することができる。テストベンチは、この文脈では、刺激物のセット(試験ベクトルのような)をモデルに適用して、システムブロックのタイミング又は性能を分析することに使用される情報のセットを生成することのできるアプリケーションである。TLMモデル上で動作することができるツールの１つの非制限的な実例が、カリフォルニア州サンノゼに在るCadenceDesignSystemsで市販されている仮想コンポーネント協調設計(「VCC」)ツールである。RTL等価モデルに上で動作することができるツールの非制限的な実例は、カリフォルニア州サンノゼに在るCadenceDesignSystemsで市販されているNC-Simツールである。
【０００６】
システム設計者を支援するためにトランザクションモデルができるだけ正確であることは、有利である。トランザクションモデルの検証は、TLMモデルがRTL等価モデルとくらべてどれくらい正確であるかを入手するだけでなく、シミュレーション速度及び正確さに関してトレードオフがどこに存るかを入手することも含む。従来技術では、トランザクションモデルは主に、テストベンチの能力を見せるように構築されていたので、トランザクションモデルの性能は、RTL等価モデルに対して検証されなかったが、それはトランザクションモデルの性能の正確さを下げるため、望ましくない。さらに、それらのRTL等価モデルに対するTLMモデルの検証が、ケースバイケースで実行される。言い換えると、TLMモデルが最初に検証され、次に、対応するRTL等価モデルがTLMモデルとは独立して検証される。同じ刺激物のセットを使って、それらのRTL等価モデルに対してTLMモデルを試験及び検証するための機構は、現在全く存在しない。２つの世界(TLMモデルとRTLモデルの間の)は完全に切り離されているので、TLMモデル及びRTL等価モデルを試験するために別々のテストベンチが必要となる。異なる抽象レベルのモデルを試験するために別々のテストベンチを使用することは、モデル間の正確な比較を妨げる。
【０００７】
TLMモデルとRTL等価モデルの間の分離は、この技術分野における更なる問題を生み出す。TLMモデル及びRTL評価モデルの双方が、システムブロック内のトランザクションのタイミング及び継続時間を試験するために使用される。TLMモデルが周期近似とできる一方で、RTL等価モデルは周期厳密とできるので、TLMモデル及びRTL等価モデルを使用する同じトランザクションのタイミングは、一般的には一致しないとすることができる。周期厳密モデルでは、処理される各トランザクションのために、正確なサイクルカウントが利用可能である。トランザクションの処理の間に生じるイベントは、それらがどのクロックサイクルで生じるかについて、正確に示される。その一方で、周期近似モデルは、例えばパイプライン及びキャッシュ効果のモデル化が完全に正確とすることができないように、どの側面についても完全ではないので、サイクル近似モデルでは、近似のサイクルカウントのみが、トランザクション処理の間に生じるイベントのために利用可能である。従って、上位抽象レベルと下位抽象レベルの間の試験環境と検証環境の間の差異が、クロックサイクルを正確に合わせることができないことにより複雑になるため、TLMモデルと対応するRTL等価モデルの間でのトランザクションの継続時間又はタイミングで検出されるずれを説明することは難しい。従って、この技術分野では、トランザクションレベルモデルにおける改善された性能分析の必要性が存在する。
【０００８】
従って、本発明は、システムブロックの性能分析を行うための改善された方法に備えるものである。ある実施形態では、システムブロックが、TLMモデル及びRTL等価モデルの双方でモデル化される。次に、テストベンチが刺激物のセットを生成し、ここでテストベンチは、TLMモデル又はRTL等価モデルに対してその刺激物のセットを適用して、タイミング情報のセットを生成できるアプリケーションである。その後、その刺激物のセットを使用して、TLMモデルの性能分析が行われ、かつ、刺激物のセットを使用して、RTL等価モデルの性能分析が行われる。本発明の側面、目的、及び利点の更なる詳細は、以下の詳細な説明、図面、及び特許請求の範囲で説明する。
【０００９】
本発明を、添付図面の図において、限定としてではなく例示として説明し、ここでは同じ参照番号は同じ要素を参照する。
【発明の開示】
【００１０】
(実施形態の詳細な説明)
以下の記述では、説明の目的のため、多数の具体的な詳細を、本発明の完全な理解を提供するために示す。しかしながら、これらの具体的な詳細なしでも本発明を実践できることが、当業者には明らかであろう。他の例では、本発明を不必要に不明瞭にしないようにするために、良く知られた構造及びデバイスをブロック図の形で示す。
【００１１】
本発明の実施形態は、性能検証システム100の使用を通して改善されたトランザクションのタイミング分析を実行すること、に有利に備える。図１Aは、本発明の実施形態による性能検証システム100の図である。図１Aが示すように、性能検証システム100は、テストベンチ110、上位レベルドメイン120、下位レベルドメイン130、及びデータベース140から構成される。テストベンチ110、上位レベルドメイン120、下位レベルドメイン130、及びデータベース140の各々は、作用するように互いに接続される。言い換えると、性能検証システム100のコンポーネントの各々の間で、情報を転送することができる。
【００１２】
テストベンチ110は、刺激物のセット(試験ベクトルのような)をトランザクションモデルに適用して、システムブロックのタイミング又は性能を分析することに使用される情報のセットを生成するアプリケーションである。テストベンチに適用されるその刺激物のセットは、一又はそれ以上のトランザクションを含むことができる。性能検証システム100では、テストベンチ110が、同じ刺激物のセットを、上位レベルドメイン120及び下位レベルドメイン130の双方に適用することができる。ある実施形態では、例えばC++のようなオブジェクト指向プログラミング言語を用いてテストベンチ110を構築することができる。
【００１３】
上位レベルドメイン120は、一又はそれ以上のトランザクションモデルで動作して、トランザクションのタイミング及び継続時間を分析することに役立つタイミング情報を生成する処理エンティティーである。ある実施形態では、上位レベルドメイン120で利用されるトランザクションモデルは、TLMモデルとすることができる。ある実施形態では、上位レベルドメイン120のTLMブロックを、例えばC++又はSystemCのようなプログラミング言語を使って、実装することができる。下位レベルドメイン130は、RTL等価モデルで動作して、トランザクションのタイミング及び継続時間を分析することに役立つタイミング情報を生成する処理エンティティーである。
【００１４】
データベース140は、組織化された手法でデータを持続及び格納するための、当業者に知られている任意の動作可能なコンポーネントとすることができる。たとえば、データベース140は、任意の商用データベース、一又はそれ以上のファイルのセット、又はデジタル情報を持続するための他の形式の機構とすることができる。性能検証システム100では、データベース140が、上位レベルモデル及び下位レベルモデルにおけるタイミング情報を格納する。
【００１５】
図１Bは、本発明の実施形態による性能検証システム100のもう1つの図である。図1Bが示すように、ある実施形態では、上位レベルドメイン120はTLMドメイン120として参照されることができ、下位レベルドメイン130はRTLドメイン130として参照されることができる。説明を楽にするために、上位レベルドメイン120及び下位レベルドメイン130の以下の説明は、図1Bに則って、それぞれTLMドメイン120及びRTLドメイン130についてなされる。TLMドメイン120が、TLMモデルで動作してトランザクションのタイミング及び継続時間を分析することに役立つタイミング情報を生成する如何なる処理エンティティーも包含することを意図しており、かつ、RTLドメイン130が、RTL等価モデルで動作してトランザクションのタイミング及び継続時間を分析することに役立つタイミング情報を生成する如何なる処理エンティティーも包含することを意図している。
【００１６】
性能検証システム100の上位レベルプロセスフローにおけるステップを、本発明の実施形態により、ここで説明する。最初に、テストベンチが、TLMモデル又はRTL等価モデルに適用される刺激物のセットを生成する。テストベンチ110は、その刺激物のセットを、TLMドメイン120に送ってTLMモデルを試験するか、又はRTLドメイン130に送ってRTL等価モデルを試験する。TLMドメイン120及びRTLドメイン130は、刺激物のセットを受け取ると、それを解釈することができるので、TLMドメイン120及びRTLドメイン130に同じ刺激物のセットを提供することができる。その後、TLMドメイン120又はRTLドメイン130が、トランザクションモデルに対して刺激物のセットを処理し、データベース140に記録されるタイミング情報を生成する。データベース140に格納されるタイミング情報には、刺激物のセットがトランザクションモデルによって処理されたときの、その刺激物のセットにおける各トランザクションのタイミング及び継続時間についての情報を含まれる。言い換えると、TLMドメイン120は、TLMモデルを使用して処理されるトランザクションについてのタイミング情報をデータベース140に格納し、RTLドメイン130は、RTL等価モデルを使用して処理されるトランザクションについてのタイミング情報をデータベース140に格納する。
【００１７】
データベース140内に格納されるタイミング情報は、トランザクションモデルを検証するために使用することができる。本発明の実施形態では、例えば双方ともカリフォルニア州サンノゼのCadenceDesignSystemで市販されるSimVision及びTransactionExplorerのような、テストベンチ110外部のアプリケーションを使用してデータベースに格納されるタイミング情報の分析を行うことができるが、この機能はまた、他の実施形態では、テストベンチ110を通して提供されることができることを意図している。データベース140内に格納されるタイミング情報は、同じ刺激物のセットに基づいており、かつトランザクションベースでモデルとは独立しているので、そのタイミング情報は、異なる抽象レベルのモデル間の有意義な比較を助ける。幾つかの場合、トランザクションにおけるタイミング情報は、異なる抽象レベルのモデルについて別々に格納されるのではなく、むしろ中心的に格納され、かつ各トランザクションについてトランザクションモデルとそれらのRTL等価モデルの間で有意義に比較され得る。他の場合、異なる抽象レベルのモデル間の比較が有意義に行われ得る前に、統計的計算もまた必要とされ得る。
【００１８】
TLMドメイン120及びRTLドメイン130は各々、刺激物のセットを処理することに使用されるサブコンポーネントから構成され得る。ある実施形態では、TLMドメイン120及びRTLドメイン130は、一又はそれ以上のTVM210及びバス220を含む。図2は、本発明の実施形態によりTVM210から構成される性能検証システム100の図である。TVM210(トランザクション検証モデル)は、試験刺激物生成器で作られるトランザクションレベルの要求を、RTL設計上の詳細な信号レベルのプロトコルにマッピングするコンポーネントである。このマッピング処理は、例えば、特定のトランザクションにおける読み取り又は書き込み動作にセットされる「タイプ」フィールドから、同じトランザクションにおけるRTLレベルでの等価な読み取り/書き込み信号をアサートする値への変換を必要とする。バス220は、どの情報が送られ得るかということを通して、当業者によく知られた通信経路である。例えば、バス220は、様々なTVM210間で(例えば、マスターTVM210AとスレーブTVM210Bの間で)、データを渡すことができる。TVM210は、どのように刺激物のセットをTVM210で使用可能なフォーマットに変換するか、についての知識を持つことができる。
【００１９】
特定のTVM210は、様々な形式のTVM210のうちの1つとすることができる。例えば、図2が示すように、特定のTVM210は、マスターTVM210A、スレーブTVM210B、又はスレーブ周辺TVM210Cであるとすることができる。マスターTVM210Aは、トランザクションの処理の初期化を担うコンポーネントをモデル化するTVM210である。従って、マスターTVM210Aは、各トランザクションを最初に処理することができる。マスターTVM210Aの非制限的実例は、AMBA(AHB、APB、及びAPBif)TVM210A(示されていない)を含む。スレーブTVM210Bは、トランザクションの処理においてマスターTVM210Aを支援するTVMである。従って、幾つかのトランザクションは、そのトランザクションを完全に処理するために、スレーブTVM210Bを必要としないこともある。スレーブTVM210Bがモデル化するサブコンポーネントの非制限的実例は、メモリブロック(示されていない)を含む。一般的には、システムブロックの各サブコンポーネントについてマスターTVM210A及び/又はスレーブTVM210Bが存在する。特定のスレーブ210Bがシステムブロックのサブコンポーネントのために利用可能でない場合には、スレーブ周辺TVM210Cを使用することができる。スレーブ周辺TVM210Cは、汎用スレーブTVM210Bである。スレーブ周辺TVM210Cでモデル化され得るサブコンポーネントの形式の非制限的実例は、メモリ、キャッシュ、及びブリッジを含む。典型的には、マスターTVM210Aがトランザクションの処理を開始することができ、その後、処理のために情報をスレーブTVM210Bに送る。特定のトランザクションが、特にVCCドメイン220内でトランザクションの処理を完了するために、スレーブTVM210B又はスレーブ周辺TVM210Cを必要とせず、マスターTVM210Aの使用を要求することのみできる可能性もある。
【００２０】
図3は、本発明の実施形態により、TLMドメイン120で性能分析を行うステップのシーケンスを示すフローチャートである。最初にステップ310では、テストベンチ110が、一又はそれ以上のトランザクションを含む刺激物のセットを生成する。テストベンチ110は、TLMドメイン120内の適切なマスターTVM210Aを識別して、刺激物のセットを処理し、その後、その刺激物のセットをTLMドメイン120内の識別されたマスターTVM210Aに送ることができる。次にステップ320では、マスターTVM210Aが、刺激物のセットを、TLMドメイン120内のTVM210で使用されるフォーマットに変換する。その後、ステップ330では、マスターTVM210Aがトランザクションを処理し始める。ステップ330では、マスターTVM210Aが、トランザクションが始まった時間をデータベース140内に格納することにより、トランザクションの開始時間を記録する。トランザクションについての付加的情報もまた、開始時間と共に、同時にデータベース140内に格納することができる。
【００２１】
ステップ335では、トランザクションの処理を支援するためにTLMドメイン120内のスレーブTVM210B又はスレーブ周辺TVM210Cが必要とされ得るかどうかを、マスターTVM210Aが判断する。ステップ335を実行するとき、スレーブ周辺TVM210Cは、適切なコンポーネントがトランザクションを処理し続けるためにスレーブTVM210Bを利用できないかどうか、を考慮されるだけとすることができる。ステップ335の判定が否定である場合には、処理はステップ360に進む。ステップ335の判定が肯定である場合には、ステップ340において、マスターTVM210Aが、処理されているトランザクションについての情報を、バス220によってスレーブTVM210B又はスレーブ周辺TVM210Cに送ることができる。スレーブTVM210B又はスレーブ周辺TVM210Cが、処理されているトランザクションについての情報を、ステップ340において受け取った後は、スレーブTVM210B又はスレーブ周辺TVM210Cがトランザクションを処理し続ける。その後処理が完了すると、ステップ350において、スレーブTVM210B又はスレーブ周辺TVM210Cが、トランザクションが処理されたことを示す確認メッセージを、バス220によってマスターTVM210Aに送ることができる。マスターTVM210Aがその確認メッセージを受け取ると、処理はステップ360に進む。ステップ360では、マスターTVM210Aが、トランザクションの終了時間をデータベース140内に記録する。トランザクションについての付加的情報もまた、その終了時間と共に、同時にデータベース140内に格納することができる。
【００２２】
図4は、本発明の実施形態により、RTLドメイン130で性能分析を行うステップのシーケンスを示すフローチャートである。最初にステップ410では、テストベンチ110が、一又はそれ以上のトランザクションを含む刺激物のセットを生成する。テストベンチ110は、RTLドメイン130内の適切なマスターTVM210Aを識別して、刺激物のセットを処理し、その後、その刺激物のセットを識別されたマスターTVM210Aに送ることができる。次にステップ420では、マスターTVM210Aが、トランザクション情報を信号レベルに変換することができる。その後、ステップ430において、マスターTVM210Aがトランザクションを処理し始める。ステップ430では、トランザクションが始まった時間をデータベース140内に格納することにより、マスターTVM210Aがそのトランザクションの開始時間を記録する。トランザクションについての付加的情報もまた、開始時間と共に、同時にデータベース140内に格納することができる。
【００２３】
ステップ435において、トランザクションの処理を支援するために、RTLドメイン130内のスレーブTVM210B又はスレーブ周辺TVM210Cが必要とされ得るかどうかを、マスターTVM210Aが判断する。ステップ435の判定が否定である場合には、処理はステップ460に進む。ステップ435の判定が肯定である場合には、ステップ440において、マスターTVM210Aが、トランザクション信号情報をスレーブTVM210B又はスレーブ周辺TVM210Cに送る。スレーブTVM210B又はスレーブ周辺TVM210Cが、処理されているトランザクションについての情報を、ステップ440において受け取った後、スレーブTVM210B又はスレーブ周辺TVM210Cが、その情報を信号レベルからトランザクションレベルに変換し、その後、トランザクションを処理し続ける。
【００２４】
その後処理が完了すると、ステップ450において、スレーブTVM210B又はスレーブ周辺210Cが、トランザクションが処理されたことをバス220によってマスターTVM210Aに通知することができる。マスターTVM210Aが、トランザクションが処理されたという通知をスレーブTVM210B又はスレーブ周辺TVM210Cから受け取ると、処理はステップ460に進む。ステップ460では、マスターTVM210Aが、トランザクションの終了時間をデータベース140内に記録する。トランザクションについての付加的情報もまた、終了時間と共に、同時にデータベース140内に格納することができる。
【００２５】
図5は、本発明の実施形態により実行されるトランザクションのタイミング分析の図である。データベース140内に格納されたタイミング情報を表示するためにユーザーインターフェースを使用することができ、それには例えば、カリフォルニア州サンノゼにあるCadenceDesignSystemsで市販されているSimVisionがある。例えば図5に示すようなユーザーインターフェースを使用して、様々な抽象レベルに従って処理されるトランザクションの開始時間、終了時間、及び継続時間を表示することができる。このようなツールを使用して、RTL等価モデルに対して、トランザクションモデルを検証することができる。何らかの差異が検出される場合には、上位レベル及び/又は下位レベルの抽象モデルの正確さを高めるために、トランザクションのタイミングについての詳細な情報を使用することができる。
【００２６】
本発明を実践するために必要な命令のシーケンスの実行を、コンピューターシステム600によって本発明の実施形態で行うことができる。本発明の実施形態では、本発明を実践するために必要な命令のシーケンスの実行を、単一コンピューターシステム600により行う。本発明の他の実施形態によれば、通信リンク615で繋がれる二又はそれ以上のコンピューターシステム600は、互いに協調して、本発明を実践するために必要な命令のシーケンスを実行することができる。不必要に本発明を曖昧にするのを避けるために、たった1つのコンピューターシステム600の説明を以下に示すが、しかしながら、任意の数のコンピューターシステム600を用いて本発明を実践することができることを、理解すべきである。
【００２７】
ここで、本発明の実施形態によるコンピューターシステム600の機能コンポーネントのブロック図である図6を参照して、本発明の実施形態によるコンピューターシステム600を説明する。ここで使用するように、コンピューターシステム600という語は、一又はそれ以上のプログラムを格納、及び独立して実行することができる任意のコンピューティングデバイスを説明するために、広く使用されるものである。
【００２８】
各コンピューターシステム600は、バス606につながる通信インターフェース614を含むことができる。通信インターフェース614は、コンピューターシステム600間の双方向通信を提供する。それぞれのコンピューターシステム600の通信インターフェース614は、電気、電磁気、又は光信号を送信及び受信し、これには、例えば命令、メッセージ、及びデータのような様々な形式の信号情報を表すデータストリームが含まれる。通信リンク615が、一コンピューターシステム600を他のコンピューターシステム600とつなぐ。例えば、通信リンク615はLANとすることができ、その場合、通信インターフェース614はLANカードとすることができる、あるいは、通信リンク615はPSTNとすることができ、その場合、通信インターフェース614は統合サービスデジタル網(ISDN)のカード又はモデムとすることができる。
【００２９】
コンピューターシステム600は、それぞれの通信リンク615及び通信インターフェース614を通して、メッセージ、データ、及びプログラム、すなわちアプリケーションコードを含む命令、を送信及び受信することができる。プログラムコードが受け取られたとき、その受信されたプログラムコードは、それぞれのプロセッサ607で実行することができ、及び/又は、後の実行のために、ストレージデバイス610又は他の関連不揮発性媒体に格納することができる。
【００３０】
ある実施形態では、コンピューターシステム600は、例えばコンピューターシステム600により容易にアクセス可能なデータベース632を収容するようなデータストレージシステム631と連携して動作する。コンピューターシステム600は、データインターフェース633を通して、データストレージシステム631と通信する。バス606につながるデータインターフェース633は、電気、電磁気、又は光信号を送信及び受信し、これには、例えば命令、メッセージ、及びデータのような様々な形式の信号情報を表すデータストリームが含まれる。本発明の実施形態では、通信インターフェース614で、データインターフェース633の機能を実行することができる。
【００３１】
コンピューターシステム600は、バス606、又は一括して情報と呼ばれる命令、メッセージ、及びデータを伝達するための他の通信機構、及び、情報を処理するためにバス606で結合される一又はそれ以上のプロセッサ607を含む。コンピューターシステム600はまた、ランダムアクセスメモリ(RAM)又は他のダイナミックストレージデバイスのような、プロセッサ607により実行される動的なデータ及び命令を格納するためにバス606に繋がるメインメモリ608も含む。メインメモリ608はまた、一時的なデータ、すなわち変数、又はプロセッサ607による命令の実行の間の他の中間情報を格納するために、使用することができる。
【００３２】
コンピューターシステム600は、読み出し専用メモリ(ROM)609、又はプロセッサ607のための静的なデータ及び命令を格納するためにバス606に繋がる他のスタティックストレージデバイス、をさらに含むことができる。磁気ディスク又は光ディスクのようなストレージデバイス610もまた提供され、プロセッサ607のためのデータ及び命令を格納するためにバス606につなげられることもある。
【００３３】
コンピューターシステム600は、バス606を介して、ユーザーに情報を表示するためのブラウン管(CRT)等のようなディスプレイデバイス611につなげることができる。例えば、英数字及びその他のキーのような入力デバイス612を、情報及びコマンド選択をプロセッサ607に伝達するために、バス606につなげる。
【００３４】
本発明の一実施形態により、個々のコンピューターシステム600は、メインメモリ608内に収容される一又はそれ以上の命令の一又はそれ以上のシーケンスを実行するそれぞれのプロセッサ607により、特定の動作を行う。このような命令を、ROM609又はストレージデバイス610のような他のコンピューター使用可能な媒体からメインメモリ608内に読み込むことができる。メインメモリ608内に収容された命令のシーケンスの実行は、プロセッサ607に、以下に説明する処理を実行させる。代替の実施形態では、ハードワイヤード回路を、ソフトウェア命令の代わりに、又はソフトウェア命令と連携して使用して、本発明を実装することができる。従って、本発明の実施形態は、ハードウェア回路及び/又はソフトウェアのどの特定の組み合わせにも限定されない。
【００３５】
ここで使用する「コンピューター使用可能な媒体」という語は、情報を提供する、又はプロセッサ607により使用可能な任意の媒体を参照する。このような媒体は、不揮発性媒体、揮発性媒体、及び伝送媒体等を含む多くの形をとることができる。不揮発性媒体、すなわち電源無しで情報を保持できる媒体には、ROM609、CD ROM、磁気テープ、及び磁気ディスクが含まれる。揮発性媒体、すなわち電源無しで情報を保持することのできない媒体には、メインメモリ608が含まれる。伝送媒体には、バス606を構成する線を含む、同軸ケーブル、銅線、及び光ファイバーが含まれる。伝送媒体はまた、搬送波、すなわち周波数、振幅、又は位相について変調することができる電磁波の形をとって、情報信号を伝送することができる。さらに、伝送媒体は、無線波及び赤外線データ通信の間に生成されるような、音波又は光波の形をとることができる。
【００３６】
前述の明細書において、本発明を、その特定の実施形態を参照して説明した。しかしながら、本発明のより広い技術的範囲から外れることなく、それに様々な変更及び変形を行うことができることは明白であろう。例えば、本出願で説明するプロセスフロー図に示す処理行為の特定の順序及び組み合わせは、単なる例示にすぎず、異なる又は付加的な処理行為、又は処理行為の異なる組み合わせ又は順序を使用して、本発明を実行することができることを、読者は理解する。従って、本明細書及び図面は、限定的な観点ではなく、例示的な観点で考えられるものである。
【図面の簡単な説明】
【００３７】
【図１Ａ】本発明の実施形態による性能検証システム100の第一の図である。
【図１Ｂ】本発明の実施形態による性能検証システム100の第二の図である。
【図２】本発明の実施形態による、TVM210から構成される性能検証システム100の図である。
【図３】本発明の実施形態による、TLMドメイン220での性能分析におけるステップのシーケンスを示すフローチャートである。
【図４】本発明の実施形態による、RTLドメイン230での性能分析におけるステップのシーケンスを示すフローチャートである。
【図５】本発明の実施形態によるトランザクションの性能分析の図である。
【図６】本発明の実施形態によるコンピューターシステム600の機能コンポーネントのブロック図である。
【図１Ａ】
2005525660.tif 000003
【図１Ｂ】
2005525660.tif 000004
【図２】
2005525660.tif 000005
【図３】
2005525660.tif 000006
【図４】
2005525660.tif 000007
【図５】
2005525660.tif 000008
【図６】
2005525660.tif 000009
【国際調査報告】
2005525660.tif 000010
2005525660.tif 000011