2016-06-20 21 views
0

analysis_portからanalysis_impにデータを転送するには通常analysis_exportが必要です。 analysis_impを別のanalysis_impに接続できないため、ポートから実装へのデータ転送オブジェクトとして機能します。なぜ我々はanalysis_portが必要なときにanalysis_exportを必要とする

ただし、analysis_port -sは他のanalysis_port-sに接続できます。 私の質問はなぜanalysis_exportが必要なのですか?analysis_exportの代わりにanalysis_portを使うことができますか?

+0

説明が分からない ここをクリックしてください:https://verificationacademy.com/verification-methodology-reference/uvm/docs_1.1a/html/files2/tlm1-txt.html、in 「使用法」セクション。なぜポートオブジェクトを使用しないでエクスポートするのか知りたいのですか? – haykp

+1

エクスポートは**リクエストに**受動的に**応答します。一方、ポートは要求を開始します。パケットが 'leaf1'から' comp1'に移動すると、階層は* port-port *接続に変わります。今度は 'comp1'と' comp2'は同じ階層にあり、 'comp2'は' comp1'からの要求に**応答します。 'comp2'に' subcomp2'にも同様のコメントが適用されます。なぜなら両方とも*にしか反応しないからです。 – sharvil111

+0

回答ありがとうございました 申し訳ありませんが、私は理解しません saingは受動的に反応していますか? comp2がcomp1からの要求にのみ応答する場合、なぜエクスポートが必要なのか? – haykp

答えて

1

エクスポートインターフェイスが接続目的でのみ使用され、ポートインターフェイスがデータの送信に使用される可能性があるようです(port.write(data); [書き出し機能を実装する必要はありません]

しかし、analysis_exportとanalysis_portの実装は非常に似ています。 それはまた、交換することもできるように見えます。唯一の違いは、どのタイプのインタフェースであるかを示すMASK/typeビットです(export/port)。これ以外は、インタフェース実装は同じように見えます。

主な違いは、インターフェイスが接続されている(接続機能)場合、接続の確立方法にチェックが実装されていることです。ポート・ツー・ポート、ポート・ツー・エクスポート、ポート・ツー・フリップ、エクスポート・エクスポート、 これらは、エクスポートを使用してインターフェイスを伝播し、最後にそれらをある実装に接続するために使用されます。 しかし、現在の実装からは、ポートとエクスポートの両方に呼び出すことができる書き込み関数があり、接続でも互換性をもって使用できるようです。

ポートがエクスポートに接続されると、他のエクスポートにのみ接続でき、実装時に終了する必要があります。 [何らかの理由でポートポート接続だけでランタイムが生成されない]

また、過去にいくつかの実装が異なる可能性があります[推測すると、UVMの履歴に従った人はそれに答える。 ]

関連する問題