Regarding Race Condition

In reply to bdreku:

Hi,

How 2nd point is different than the 1st one ?

  1. The same signal is driven and sampled at the same time.
    => To avoid this race condition, a clocking block in interface is used as it provides an input and output skews to sample and drive, respectively.
  2. Race condition between testbench and design.
    => The program block is used to avoid this race, as module executes on an active region, while program block executes in reactive region.

Regards,
Saket