Understanding the working of Embedded Concurrent Assertions

Concurrent assertions are not procedural statements and do not block procedural processes/threads.

Concurrent assertions are declarative constructs that are scheduled, sampled, and evaluated in the same manner, regardless of whether they are declared within or outside a procedural process. The only difference lies in the context of a procedural process. When a concurrent assertion is declared within a procedural process, it doesn’t initiate an assertion thread until the process reaches the point in the code where the assertion is evaluated.n is declared. Outside, it initiates an assertion thread every clock cycle.

1 Like