請幫助解決我在規劃結核病時遇到的一個問題。 假設我在DUT的一些輸入端口是參數,是這樣的:UVM TB和DUT參數控制
module Multiplier #(parameter WIDTH = 8) (
input [WIDTH-1:0] addr,
現在我想我的測試,以控制該寬度參數。 我想要測試將WIDTH參數隨機化,然後將該參數應用於DUT。並根據該參數值,我的整個測試平臺將更改交易信號,驅動程序,監視器等。 實施此參數測試的最佳方式是什麼?
我想在測試類中有WIDTH參數,並在那裏隨機化它。然後在實例化過程中將其分配給DUT。對於TB,將randomize值放在config_db中,並在代理中獲取,並將其分配給config類相應的參數。
感謝 Hayk酒店
我懷疑這是可能的。你的'uvm_test'只在完成之後纔開始,現在所有的模塊已經被實例化了。您需要在此之前設置參數。我會建議在編譯期間使用'$ urandom'之類的東西 – noobuntu
感謝您的回答。你是說在頂級模塊調用中使用$ urandom? – haykp
我相信'$ urandom'只能在運行時調用。 – noobuntu