$display 打印信息自动换行
eg: $display("%b+%b=%d",a,b,c);
%h或%H以16进制输出
%d或%D以10进制输出
%o或%O以8进制输出initial begin $display("hello"); $display("hi"); a=4'd5; b=4'd6; #100; $display("%b+%b=%d",a,b,c); end
这段代码输出
hello hi 0101+0110=11
$write 打印信息不会自动换行
eg: $write("%b+%b=%d",a,b,c);
initial begin $write("hello"); $write("hi\n"); a=4'd5; b=4'd6; #100; $write("%b+%b=%d",a,b,c); end
这段代码输出
hellohi 0101+0110=11
$strobe 打印信息自动换行,最后执行
initial begin $strobe("sttrobe:%b+%b=%d,a,b,c"); a=4'd5; $display("display:%b+%b=%d,a,b,c"); b=4'd6; c=a+b; end
输出为
display:0101+xxxx=x strobe:0101+0110=11
$monitor 监测变量(持续检测)
initial begin a=4'd5; #100; b=4'd6; #100; c=a+b; end initial $monitor("%b+%b=%d",a,b,c);
输出为
0110+xxxx=x 0110+0101=x 0110+0101=11
$stop 暂停仿真
$stop 仿真结束
$time 时间函数,返回64位当前仿真时间
$random 用于产生随机函数,返回随机数
reg [3:0] a; always # a=$random; initial $monitor("a=%d @time %d",a,$time);
输出为
a=x @time o a=4 @time 10 a=1 @time 20
$readmemb 读文件函数,用于读取二进制文件函数
$readmemh 用于读取16进制文件函数
使用格式为
$readmemb ("<数据文件名>",存储器名);
$readmemh ("<数据文件名>",存储器名);reg [7:0] a [5:0];//设计一个6个8位寄存器a initial begin $randmemb("fire.txt",a); for(i=0;i<=5;i=i+1)begin #10; $weitr("%s",a[i]); end end fire.txt文件为 01010111 //w 01100101 //e 01101100 //l 01100011 //c 01101111 //o 01101101 //m
输出为 welcom