Hi everyone, I am very new to verification so I am needing some help. I am trying to write an assert statement using the implication |-> operator inside a testbench but it doesn’t seem to do anything. I just wrote a simple counter in EDA playground to try this out, so you can see my code below. The assert statement doesn’t seem to display the “pass” or “fail” message and doesn’t throw an error. Even if I assert something that I know to be false, nothing happens. Obviously I am using this wrong. Any help would be greatly appreciated!
The expect statement is a procedural blocking statement that allows waiting on a property evaluation. While the expect statement is not considered SVA because it does not provide any verification significance, but rather a sync capability using properties.
Use the immediate and concurrent assertion statements (I.e., assert, assert property).
Use a good book. In the meantime, definitely read my paper Understanding the SVA Engine,
(Item 3 in my signature). That paper assumes that you know what a task is.
Hi Ben, thanks for the reply! I will definitely give your paper a read.
I was playing around with assert property and expect, wasn’t quite sure what the difference was so thanks for clarifying. I am now using “assert property” and everything is working properly in EDA Playground. But when I copy and paste the exact same code into Vivado, the concurrent ‘assert property’ statement does not display anything in the console, but the immediate ‘assert’ statement does. I am using Vivado 2018.2. Any idea why?