验证环境中的program为什么必须是automatic
最近在項(xiàng)目中,發(fā)現(xiàn)驗(yàn)證環(huán)境中的頂層的program(一般將program作為驗(yàn)證環(huán)境的入口),都是automatic的。
?
其實(shí)Program默認(rèn)是static的,那么為什么需要把驗(yàn)證環(huán)境做成automatic呢?
?
原因如下:
如果不加automatic,則program中的變量是static,也就是靜態(tài)的。變量的存儲(chǔ)在一個(gè)固定的空間。
?
如果使用automatic,則變量是動(dòng)態(tài)分配空間的,這樣可以避免對(duì)同一個(gè)變量操作,造成后面的覆蓋前面的情況。
?
?
代碼示例如下:
program automatic soc_ver_program();
?
`include "./regs_def.svi"
`include "./driver_inc.sv"
`include "./soc_testcase_inc.sv"
?
initial begin
run_test(); //注意這里的run_test后面不要加參數(shù),這樣不需要對(duì)不同用例重新編譯,符合UVM方法學(xué)相關(guān)語(yǔ)法。
end
?
endprogram
?
?
注意:此program里面,調(diào)用了run_test(),run_test->create tc -> create env。大致的順序是這樣的。
?
轉(zhuǎn)載于:https://www.cnblogs.com/zeushuang/p/8250042.html
總結(jié)
以上是生活随笔為你收集整理的验证环境中的program为什么必须是automatic的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 青岛麦田华彩影视学校
- 下一篇: 线程 信号量