验证环境中的program为什么必须是automatic
生活随笔
收集整理的這篇文章主要介紹了
验证环境中的program为什么必须是automatic
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近在項目中,發現驗證環境中的頂層的program(一般將program作為驗證環境的入口),都是automatic的。
?
其實Program默認是static的,那么為什么需要把驗證環境做成automatic呢?
?
原因如下:
如果不加automatic,則program中的變量是static,也就是靜態的。變量的存儲在一個固定的空間。
?
如果使用automatic,則變量是動態分配空間的,這樣可以避免對同一個變量操作,造成后面的覆蓋前面的情況。
?
?
代碼示例如下:
program automatic soc_ver_program();
?
`include "./regs_def.svi"
`include "./driver_inc.sv"
`include "./soc_testcase_inc.sv"
?
initial begin
run_test(); //注意這里的run_test后面不要加參數,這樣不需要對不同用例重新編譯,符合UVM方法學相關語法。
end
?
endprogram
?
?
注意:此program里面,調用了run_test(),run_test->create tc -> create env。大致的順序是這樣的。
?
轉載于:https://www.cnblogs.com/zeushuang/p/8250042.html
總結
以上是生活随笔為你收集整理的验证环境中的program为什么必须是automatic的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 青岛麦田华彩影视学校
- 下一篇: 天路是谁写的啊?