UVMでは、テストベンチはDUTの内部レジスタへの可視性がありません。それでは、なぜUVMテストベンチ・アーキテクチャでのレジスタ・モデルのミラーリングと作成が行われていますか?それは何の目的ですか?UVMのレジスタモデルの目的は何ですか?
テストベンチでは、ステータスビットなどが更新されたかどうかは、入力出力ポートのみにアクセスできるため、DUT内で更新されるかどうかはわかりません。
UVMでは、テストベンチはDUTの内部レジスタへの可視性がありません。それでは、なぜUVMテストベンチ・アーキテクチャでのレジスタ・モデルのミラーリングと作成が行われていますか?それは何の目的ですか?UVMのレジスタモデルの目的は何ですか?
テストベンチでは、ステータスビットなどが更新されたかどうかは、入力出力ポートのみにアクセスできるため、DUT内で更新されるかどうかはわかりません。
DUTは、ポート経由で内部レジスタに直接アクセスすることはできませんが、一部のレジスタはインターフェイスプロトコル経由でアクセスできます。レジスタモデルは主にこれらのレジスタを対象としています。しかし、バックドアを介してデザイン内のレジスタにアクセスすることができます(セットアップとメンテナンスのためにはもっと多くの作業が必要です)。
ミラーは、テストベンチがと思う値をDUTのレジスタ値として保存します。 .mirror()
を実行すると、レジスタモデルはレジスタ値(実際)とミラー(予想)を比較します。
ステータスビットは、しばしば予測するのが複雑です。物事を簡素化するために、フィールド(またはレジスタ)の比較を.set_compare(UVM_NO_CHECK)
でオフにすることができます。フィールドレベルでチェックを無効にすると、同じレジスタ内の他のフィールドは引き続き比較されます。
あなたのクラブメッドの場合は、その後、あなたは、このようなレジスタのコールバックとしてや.predict
と.mirror
メソッドを上書きするuvm_reg
とuvm_reg_field
クラスを拡張するオプションを持っているか、より複雑な予測/ステータス・ビットにミラーの比較をしたいです。
この場合、テストベンチから見えるレジスタはなく、UVMレジスタモデルを使用していますか? –
登録モデルは常にバックドアアクセスを使用しますか?私はこの投稿から見ることができますhttps://stackoverflow.com/q/32454818/6641380 –
フロントドアとバックドアの両方がサポートされています。デフォルトは通常フロントドアです。 https://verificationacademy.com/verification-methodology-reference/uvm/docs_1.1d/html/files/reg/uvm_reg-svh.html#uvm_reg.mirror – Greg
UVM RALそれは、デザインのレジスタを読み書きするための高レベルの抽象化を提供し、いくつかの利点
これらの点に言及したとき、彼らは正面玄関またはバックドアアクセスを指していましたか? –
また、私は、テストベンチDUT間のあらゆる相互作用が物理的なインターフェースレベルで起こるという考えを持っていました。その理由は、私がどのようにRALが絵にあるのかを知りたかったからです。しかし今、私の前提は部分的に間違っていたようです。 –
これらの利点には、フロント/バックドアアクセスがあります。 UVMテストベンチを抽象化するレベルをトランザクションに引き上げようとしています。ほとんどの信号が特定のクロックに結びついているため、テストベンチからのタイミングに大きな変化はありません。 –
アクセシビリティについて間違った前提があります。テストベンチからDUTのレジスタまたはネットにアクセスできます。 – Serge
テストベンチでレジスタモデルを使用しないとどのような影響がありますか? DUTレジスタのリファレンスモデルを持っているだけですか、それとも他の目的がありますか? –
@Sergeしたがって、DUTの入力出力ポートから、内部レジスタのすべての書き込みおよび読み出し値にアクセスできますか? –