vcs initreg 小記


vcs 的initreg功能是為了給reg變量一個初始值,以免不定態的變量值在dut內部傳播,導致dut出現掛死。

setenv VCS_PRINT_INITREG_INITIALIZATION 1

設置這個環境變量后,vcs會把0時刻頂層目錄下的所有信號的初始值打印到仿真目錄下的一個文件里面。

 

initreg用法分為兩步:編譯選項為

+vcs+initreg+random

仿真選項為

+vcs+initreg+0
//intialize to value 0
+vcs+initreg+1
//initialize to value 1

+vcs+initreg+x

//intialize to value x
+vcs+initreg+z //initialize to value z

+vcs+initreg+random
//initialize to value 0 or 1 with default random seed
+vcs+initreg+seed 
//initialize to value 0 or 1 with user-defined seed
+vcs+initreg+config+initfile
//follow below text

 initfile內部的語法規則:

tree tb.dut.inst 0  0

第一個0代表層次關系,0代表當前level以及下面的所有level; 1當前level;2當前level以及下一級level

第二個0代表初始值為0;可以是0|1|x|z

module dev 1

所有例化了dev的模塊值都初始化為1

modtree dev 0 1

對dev及其下面所有的模塊值初始化為1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM