原创 $time任务函数测量脉宽

2010-6-3 19:06 2255 3 3 分类: FPGA/CPLD

module t;
    reg clk;
    time rise_edge,width;
   
    initial
    begin
        @(posedge clkl)
        rise_edge = $time;
        @(negedge clk)
        width= $time - rise_edge;
        $display("the on-period of clock is %t.", width);
    end
   
    initial
    begin
        #5 clk = 0;
        #17 clk = 1;
        #12 clk = 0;
    end
endmodule


 点击看大图 


分析:第一个initial过程模块中,先等待clk的上升沿,在利用$time返回仿真时间,在等待clk下降沿,当前仿真时间与rise_edge做差,得到脉宽。


注意rise_edge 和width变量类型为time

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
3
关闭 站长推荐上一条 /3 下一条