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。
文章评论(0条评论)
登录后参与讨论