Search code examples
verilogsystem-veriloghdlsystem-verilog-assertions

How to ensure a signal is high until another signal has been asserted in System Verilog


I want to check is signal 'a' is high until signal 'b' has been asserted.

signal 'a' should not become 0 before signal 'b' = 1;

How to do it using concurrent assertions?


Solution

  • assert property (@(posedge clk) $rose(A) |-> A throughout B[->1]);