class Packet;
rand bit [31:0] src_addr, des_addr, data[4];
constraint c { src_addr >10;
des_addr >10;}
endclass
initial begin
Packet p1;
p1=new();
p1.srandom(100);
assert (p1.randomize());
//else $display("ERROR!");
$display("%d", p1.src_addr);
$display("%d", p1.des_addr);
$display("%d", p1.data[0]);
$display("%d", p1.data[1]);
$display("%d", p1.data[2]);
$display("%d", p1.data[3]);
end
1, 手动设置seed为100, p1.srandom(100);
2, 随机化, p1.randomize(0;
cc = g++
sv_file =ch06.sv
all: clean comp run
clean:
rm -rf comp.log simv ucli.key csrc run.log simv.daidir vc_hdrs.h
comp:
vcs -sverilog ${sv_file} -l comp.log
run:
./simv -l run.log
./simv -l run.log
Chronologic VCS simulator copyright 1991-2013
Contains Synopsys proprietary information.
Compiler version H-2013.06; Runtime version H-2013.06; Aug 25 10:48 2014
558890116
3058217485
1955256730
1804025437
3160202246
1737188030
$finish called from file "ch06.sv", line 9.
$finish at simulation time 100000