3
獲得註冊名(在regmodel提供)我有一個簡單的序列我可以從字符串
regmodel.REGx.write (...)
讓我們考慮我已經下regmodel即8個寄存器。 REG0,REG1,REG2,...,REG7 我想通過數字作爲測試加參數,說+ NUM = 4
使用$ sformat或$ psprintf,我可以創建具有正確的註冊名稱的字符串變量例如
if ($value$plusargs ("NUM=%0d", num))
$display ("Testcase passed %0d num", num);
else
num = 0;
$sformat (regName, "REG%0d", num);
現在我已經寄存器名,但我不能使用下列內容:
regmodel.regName.write (...)
寄存器名是字符串類型regmodel好好嘗試一下有任何寄存器名寄存器名,是否有任何其他的方式來實現這個?我正在查看get_name,get_full_name,但在這種情況下無法提供幫助。
現在我可以有if - else 8次或者case語句,但是對於大量的寄存器來說真的很不方便。
感謝它完美的工作,儘管我現在沒有創建單獨的功能。現在我查看Register model - > Blocks(https://verificationacademy.com/verification-methodology-reference/uvm/docs_1.1d/html/index.html)的文檔,我發現它在那裏:) – wisemonkey