In reply to naaj_ila:
within 13 clock cycle valid should fall until req is 1.
YOUR requirements are not clear. 2 options depending on what you want
($rose(req)&& valid)|->
(##[0:13] $fell(valid)) intersect (req[->1]);
($rose(req)&& valid)|->
(##[0:13] $fell(valid)) and (req[->1]); // propably this
// When Req raises, after 12 clock cycles, vaild should not raise until Req is 1
//($rose(req) ##1 req[*12] ) |-> !$rose(valid) throughout (~req[->1]);
// that does express the requirements
// also, I don't understand your requirements
You need to rewrite them.
You wrote a rose of req, followed by a repeat of req 12 times as an antecedent.
The consequent has no rose of valid throughout req[*0:$] ##1 !req
Hi Ben, Thanks for the reply.
Here is the flow.
Assertion1)
When Req raises, Valid can rise within 13 clock cycle
After 13 clock cycles, Valid should not rise during Req=1.
(If Req drops after 13 clock cycle, should not check Valid)
Assertion2)
When Req raises and when Ready is 1.
Valid should drop within 13 clock cycles during Req=1.
(If Req drops within 13 clock cycle, should not check Valid)