0

レガシー UVM コードをデバッグしようとしていますが、何が起こっているのかわかりません。とにかく、私の努力の間に、構成データベースを再帰的に出力するべきである print_config(1) という関数に出くわしました。何らかの理由で、階層を取得している間に、保存されている値が印刷出力に表示されません。私は得るだけです:

# resources that are visible in uvm_test_top.env.raster_stroke_agent.driver.sqr_pull_port
# vif [/^.*\.env\.raster_stroke_agent\..*$/] : ?
# -  
# th_testset_path [/^.*$/] : ?
# -  
# th_testset_name [/^.*$/] : ?
# -  
# th_testset_exp_path [/^.*$/] : ?
# -  
# th_number_of_images [/^.*$/] : ?
# -  
# th_cgs_red_lut_cfg_file_name [/^.*$/] : ?
# -  
# th_cgs_green_lut_cfg_file_name [/^.*$/] : ?
# -  
# th_cgs_blue_lut_cfg_file_name [/^.*$/] : ?

を取得するのはなぜですか? 実際の値の代わりに?

編集:私が抱えている基本的な問題は、フィールド「testset_name」を読み取ろうとしているときに、異なる値が得られることです。だから、これはそれがどのように構成されているかです:

基本テスト: set_config_string (" ", testset_name, "ABC") 子テスト: set_config_string (" ", testset_name, "JFK") 孫テスト: set_config_string ("*", testset_name, "XYZ")

シーケンスからこの変数にアクセスしようとすると、「ABC」が表示されます。孫のテスト「set_config_string」を取り出すと、「JFK」になります。

「XYZ」を取得するべきではありませんか?

さらに奇妙なのは、print_config の出力です。

# resources that are visible in uvm_test_top.env.raster_stroke_agent.driver
# vif [/^.*\.env\.raster_stroke_agent\..*$/] : ?
# -  
# th_testset_path [/^.*$/] : ?
# -  
# th_testset_name [/^.*$/] : ?
# -  
# th_testset_exp_path [/^.*$/] : ?
# -  
# th_number_of_images [/^.*$/] : ?
# -  
# testset_path [/^uvm_test_top\..*$/] : ?
# -  
# testset_name [/^uvm_test_top\..*$/] : ?
# -  
# testset_name [/^uvm_test_top\..*$/] : ?

同じコンポーネントの下にテストセット名のエントリが 2 つあるのはなぜですか?

4

1 に答える 1