仿真基本函数用法

$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
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值