uvm

    0熱度

    1回答

    我需要驗證一個函數,該函數將完成未知數量的循環。我可以通過讀取一些寄存器並將它們的值與模型進行比較來確定它是否完成。 我有一個從uvm_reg_sequence擴展序列,它檢查。我需要這個序列在我的虛擬序列的末尾運行,如果檢查失敗,則循環回到虛擬序列的開始處以運行更多的週期。我會重複這個,直到檢查通過(或者我打了一些超時)。 我認爲我需要的是一種讓虛擬序列從檢查器序列獲得響應來控制這個循環的方法。

    0熱度

    1回答

    1.是否可以在系統verilog中明確列出交叉覆蓋點?類似下面.. 2.Since我只雙峯{{1,2},{3,1},{2,4}}的發生興趣,而不是b1或b2獨立,我可以做到這一點,而無需創建coverpoints b1和b2(即只寫交叉覆蓋)? covergroup test1 with function sample(int i,int j) ; type_option.comment

    0熱度

    1回答

    我面臨的問題集&獲取在uvm_config_db。 // Sequence extended from uvm_sequence, but not directly // Sequence xa class xa; ... uvm_config_db #(bit)::get(null, get_full_name, "x", x); ... en

    0熱度

    1回答

    我正在寫一組使用uvm_reg類的註冊模型。單獨的寄存器大小是8位。創建寄存器塊來包含那些寄存器: class my_reg_block extends uvm_reg_block; my_byte_reg reg_00; my_byte_reg reg_01; my_byte_reg reg_10; my_byte_reg reg_11; ...

    1熱度

    1回答

    我的測試平臺中有4個DAI接口實例。我一直在用我創建的環境運行一些模擬,並且沒有發生錯誤。但是,當我嘗試將我的斷言綁定到接口實例時,出現與在配置數據庫中設置接口有關的錯誤。如下所示 //------------------------------------------------------------------------------------------------------ //C

    3熱度

    1回答

    讓說我只有一個接口和序列項的多個定義: class link_pkt extends uvm_sequence_item; class phy_pkt extends uvm_sequence_item; 在測試過程中,這些項目可以動態地通過一個接口發送出去。 實現驅動程序/音序器的正確方法是什麼?一個司機是否足夠?或需要多個司機? 看來,由於序列項目的多重定義,我將需要多個驅動程序和音序器

    1熱度

    1回答

    我想寫入併發斷言,這是在UVM測試平臺上的DUT上執行一些寄存器寫操作後開始的。 class test extends uvm_test; bit flag; task run_phase(uvm_phase phase); //call register write task , data is chosen in a random fashion write(addr,data);

    1熱度

    1回答

    我在uvm_agent中實現了一個從屬模型。對於「奴隸」,我的意思是它不能單獨發起交易。交易總是由另一方(主DUT)發起。所以它是一種被動的代理(雖然它仍然能夠傳送回複數據包)。 當從機檢測到來自DUT的數據包時,它將自動響應/根據其協議響應(與其他數據包一起)。 從屬代理有一個監聽器來監聽DUT的初始化傳輸。並且由於它能夠傳輸數據包,因此從屬代理也具有驅動程序來發送回複數據包。 +-------

    0熱度

    1回答

    我有一個SPB寄存器序列,它在特定配置中設置硬件寄存器值。通過將寄存器值分配給DAI序列值,此配置的值由後續的DAI序列使用。我已設法此正確地使用以下代碼來分配寄存器的值,以臨時整數被用於約束的DAI序列: task assign_reg_value(); `uvm_info ("VIRT_SEQ_MODEL_PRINT", $sformatf ("Initial Register S

    0熱度

    1回答

    我正在嘗試使用腳本運行幾個測試用例。但運行第一個測試用例後出現錯誤消息。這會停止模擬。我正在用這封郵件附上LOG。我不明白爲什麼會發生這種情況。 我檢查了以前的帖子,並在vsim命令中添加了+ UVM_OBJECTION_TRACE,但我無法找出錯誤的原因。是否有人能幫助我? # UVM_INFO @ 0: run [OBJTN_TRC] Object uvm_test_top raised 1