hai, all.
I have a doubt, can we use $rose for multi bits.
- after the reset I have to check for the grant signal.
- grant signal can come at any time after reset is asserted.
- grant signal is 8bits {7:0].
property p;
(@(posedge clk) reset |=> $rose(grnt[7:0])
endproperty
can I use $rose in this way, please correct me if am wrong
In reply to vickyvinay:
$rose can not be used for multi bit. $rose(gnt[7:0]) will use only $rose(gnt[0]) least significant bit position. How many grant bits can be toggle during reset one or many ?
In reply to vickyvinay:
You can use
$rose( | gnt )
In reply to kddholak:
after reset we can have multiple grant signals
In reply to dave_59:
hai, dave,
- Now can I assume that $rose is used for a single bit?
2.can you provide me some more information regarding this?
note: actually grant signal can be high at any instant of time after reset, so the thing is we need to wait for the grant signal.
for multiple bits, I am a little bit confused.
In reply to vickyvinay:
The $rose expects as argument an expression. For a single bit the situation is clear. A vector itself is not an expression. But you can use it together with another system function ($stable).
In your case I’d use:
property p;
(@(posedge clk) reset |=> $rose(!$stable(grnt[7:0]))
endproperty
BTW, including the sampling event into the property is a bad coding style because it limits the reusability of this property to all designs with a clock signal named ‘clk’. Write simply
property p;
reset |=> $rose(!$stable(grnt[7:0]))
endproperty
In reply to chr_sue:
thanks a lot, I will try it and see whether its working or not.