In reply to balramnaik03:
You would need to delve in the LRM to determine what tri-state changes constitute an event.
In the meantime, consider those options:
- use $changed. @$changed(`tb_top.GPIO_P[0])
?? Is @$changed(sig) considered an event when sig transitions from X to 2, or from 1 to X?
Is a change from x to 1 considered
// **** $changed requires a clock, that would NOT work for what you want.
//Updated by Ben - use combinational support logic (with the always block) to test changes in values of (`tb_top.GPIO_P[0]) and then based on the the change in values, create your own event to be used by the assertion.
Ben Cohen
http://www.systemverilog.us/ ben@systemverilog.us
For training, consulting, services: contact Home - My cvcblr
- SVA Handbook 4th Edition, 2016 ISBN 978-1518681448
- Real Chip Design and Verification Using Verilog and VHDL, 2002 isbn 978-1539769712
- A Pragmatic Approach to VMM Adoption 2006 ISBN 0-9705394-9-5
- Using PSL/SUGAR for Formal and Dynamic Verification 2nd Edition, 2004, ISBN 0-9705394-6-0
- Component Design by Example ", 2001 ISBN 0-9705394-0-1
- VHDL Coding Styles and Methodologies, 2nd Edition, 1999 ISBN 0-7923-8474-1
- VHDL Answers to Frequently Asked Questions, 2nd Edition ISBN 0-7923-8115
See Paper: 1) VF Horizons:PAPER: SVA Alternative for Complex Assertions | Verification Academy
2) http://systemverilog.us/vf/SolvingComplexUsersAssertions.