除了为零延迟/宽度故障进行Verilog建模外,是否有其他方法编写断言或检查程序?
我正在验证时钟本身,想知道是否有办法标记零宽度故障?这应该可以除了为零延迟/宽度故障进行Verilog建模外,是否有其他方法编写断言或检查程序?,verilog,system-verilog,uvm,system-verilog-assertions,Verilog,System Verilog,Uvm,System Verilog Assertions,我正在验证时钟本身,想知道是否有办法标记零宽度故障?这应该可以 property check_for_glitch_fall(clk, bit disable_chk); realtime fall_time; disable iff(disable_chk) @(posedge clk) (1, fall_time = $realtime) |=> @(negedge clk) (($realtime - fall_time) != 0); e
property check_for_glitch_fall(clk, bit disable_chk);
realtime fall_time;
disable iff(disable_chk)
@(posedge clk)
(1, fall_time = $realtime) |=>
@(negedge clk)
(($realtime - fall_time) != 0);
endproperty : check_for_glitch_fall
这不适用于以下verilog代码。我的verilog检查程序是working@VishwasuDeshpande请具体说明。@dave_59您能在这方面提供帮助吗?它没有故障,但可能有一个零延迟循环。这与问题无关。verilog module base checker在一个时间戳内检测到更改。断言并不正确。
initial begin
#100
a=0;
b=0;
#10
a=1;
b=1;
#100
forever
#10 a = ~a;
end
initial begin
#500
$finish;
end
always @(a) begin
$display("%f edge on a %d", $realtime, a);
b=1;
b=0;
end
always @(b) begin
$display("%f edge on b %d", $realtime, b);
a=0;
a=1;
end