In reply to ben@SystemVerilog.us:
In the below URL i have added the screen shot of waveform.
Your text to link here…
Basically I am writing assertion for the performance monitor.
In that busy signal is range and within that range no of clock cycle should not be more than a certain number(different for different test cases).
So for required condition, If no of clock cycle more than range in each block it should give error(X and Y coord are block).
So I have taken rising and falling point of busy. for each cycle of busy it should check.
below assertion working properly if max is defined as parameter.
assert property (@(posedge clk) $rose(busy) |-> ##[1:max] $fell (busy))
But I want to pass max value from run command line(with $value$plusargs), but when I am doing this it is throwing error as below.
Error-[NCE] Non-constant expression
The following expression should be a constant.
Expression: max
Then I used sequence and passing the value as local variable, and came across above assertion.(Mentioned in previous post)
Assertion is working properly but it is too complex. So if with all above requirement kindly provide simple assertion.
Thanks