我有一個寄存器映射,它有16位寬的寄存器。我有一個大於16位的字段,因此它必須跨越兩個地址。如何定義對該字段的後門訪問?如何定義跨越兩個寄存器的字段的後門訪問?
這是我嘗試了我的領域test_pattern[23:0]
:
register_a.add_hdl_path_slice("path.to.regmap.test_pattern[15:0]", 0, 16);
register_b.add_hdl_path_slice("path.to.regmap.test_pattern[23:16]", 0, 8);
這種失敗,此錯誤:
ERROR: VPI TYPERR vpi_handle_by_name() cannot get a handle to a part select.
目前尚不清楚,如果這是我的工具的約束,或者如何UVM代碼使用VPI。在UVM代碼內部查看後,我看到應該處理部分選擇的代碼,但它在#ifdef QUESTA
指令內,所以我認爲這是一個工具約束。
有沒有很好的解決這個問題?
你可能想讓UVM開發者意識到這個問題:http://forums.accellera.org/topic/1725-uvm-12-feedback-required/ – Chiggs