在systemverilog代碼運(yùn)行中,EDA工具會(huì)先給1個(gè)隨機(jī)種子值(seed),所有代碼里的隨機(jī)數(shù)都是根據(jù)這個(gè)初始種子衍生出來(lái)的。因此,通常來(lái)說(shuō),只要代碼沒(méi)有改動(dòng),且初始種子一樣,那么仿真運(yùn)行結(jié)果也一樣。那么在questasim里如何設(shè)置和查看種子值呢?
1. 設(shè)置種子值
Questasim給vsim命令提供了-sv_seed | random的參數(shù)。有幾個(gè)關(guān)鍵點(diǎn):
如果vsim后面沒(méi)有跟著sv_seed,那么默認(rèn)seed是0;
如果vsim后面跟著sv_seed,但沒(méi)有提供 或 random,那么會(huì)報(bào)錯(cuò);
如果sv_seed后面跟著非負(fù)32-bit整數(shù)(interger),那么這個(gè)非負(fù)整數(shù)就是初始seed值。如果是無(wú)效值的話,那么questasim會(huì)報(bào)warning信息并且忽略掉;
如果sv_seed后面這個(gè)random單詞的話,那么vsim命令每次運(yùn)行都會(huì)使用隨機(jī)生成的seed;
sv_seed在modelsim.ini文件里是只讀的,不能改寫(xiě);
2. 讀取種子值
Questasim里提供了$get_initial_random_seed系統(tǒng)函數(shù),User可以在systemverilog code里調(diào)用這個(gè)系統(tǒng)函數(shù)就可以得到當(dāng)前仿真使用的初始seed值。
另外一種方式是在Tcl shell窗口中,通過(guò)echo $Sv_Seed把seed值展示在shell窗口。
3. 使用例子
3.1 設(shè)置初始seed值為666的整數(shù):
vsim -sv_seed 666
3.2 設(shè)置初始seed值為隨機(jī)數(shù):
vsim -sv_seed random
4. 測(cè)試代碼
測(cè)試代碼如下:
vsim -sv_seed random
$display("1. The seed is: %0d, random data:%0d", $get_initial_random_seed, $urandom);
vsim -sv_seed 666
$display("2. The seed is: %0d, random data:%0d", $get_initial_random_seed, $urandom);
vsim
$display("3. The seed is: %0d, random data:%0d", $get_initial_random_seed, $urandom);
vsim -sv_seed
$display("4. The seed is: %0d, random data:%0d", $get_initial_random_seed, $urandom);
結(jié)果如下:
1. The seed is: 281111952, random data:3445949350
2. The seed is: 666, random data:3072267859
3. The seed is: 0, random data:313949478
Error. Use the -help option for complete vsim usage.
4. Error. Use the -help option for complete vsim usage.
-
EDA工具
+關(guān)注
關(guān)注
4文章
273瀏覽量
32827 -
Verilog
+關(guān)注
關(guān)注
29文章
1367瀏覽量
112225 -
TCL
+關(guān)注
關(guān)注
11文章
1783瀏覽量
89903
發(fā)布評(píng)論請(qǐng)先 登錄
Questasim軟件安裝破解教程
怎么在uvision里查看數(shù)據(jù)寄存器的值?
如何查看mdk環(huán)境調(diào)試的值?
293無(wú)法更新模擬器questasim的設(shè)置文件怎么辦?
用R命令查看的寄存器的值是當(dāng)前CPU中AX這些寄存器真實(shí)的值嗎?
在keil軟件的debug環(huán)境下查看變量的值,為什么有時(shí)添加不進(jìn)去?
ModelSim和QuestaSim功能簡(jiǎn)介及應(yīng)用

如何使用WEBENCH查看工作值和圖表評(píng)估電源設(shè)計(jì)?
通過(guò)種子發(fā)芽箱來(lái)實(shí)時(shí)掌控種子發(fā)芽的環(huán)境
種子發(fā)芽箱的產(chǎn)品特點(diǎn),它的使用效果如何
種子發(fā)芽箱主機(jī)的作用,讓種子發(fā)芽率得到極大的提高
Proteus里設(shè)置任意電源值的POWER的實(shí)現(xiàn)

Questasim與Visualizer的livesim仿真如何啟動(dòng)呢?

評(píng)論