Assertion failing - no clue why!

In reply to somys:
You error is in the location of the “!” operator


You have:  
(!(data_valid & (src_port==id))) throughout ( (($rose(signal_sop)) && (src_port == id))[->1] );

Should be: 
(!data_valid && src_port==id) throughout ($rose(signal_sop) && src_port==id)[->1];

BTW, you have way too many parentheses, makes code hard to follow.

Ben Cohen
http://www.systemverilog.us/ ben@systemverilog.us
For training, consulting, services: contact Home - My cvcblr


See Paper: VF Horizons:PAPER: SVA Alternative for Complex Assertions | Verification Academy