Home / Language / What’s the diffrence between notify() and notify(SC_ZERO_TIME)

What’s the diffrence between notify() and notify(SC_ZERO_TIME)

notify() function in order to trigger event. It can be called with parameters as below.

    • notify() :Immediate notification
    • notify(SC_ZERO_TIME) :Delta notification
    • notify(double v, sc_time_unit tu) :Timed notification
  • In fact, Delta notification is Timed notification with timed value is zero.
  • When an event using Immediate notification, It is implies execution will be in the same delta-cycle(in Evaluate phase). Later, the Update phase will be called.
  • When an event using Delta notification, It is will to wait until Update phase called. and allows other processes in the current delta-cycle to complete.

We use an example to clarify:

Output:

When reg write value is 0x1F1F1F1F. The value will not update to reg until Update phase called. So, in monitor_signal_immediate_method ,the reg value still is 0x00000000 ( old value). And in monitor_signal_delta_method ,the reg value  is 0x1F1F1F1F ( new value)

Download Project (VS2015):

Google Drive 1 Google Drive 2

__FreeSourceC.com__

About admin

Check Also

Simulation Engine in SystemC

SystemC is applied to system-level modeling, architectural exploration, performance modeling, software development, functional verification, and …

Leave a Reply

Your email address will not be published. Required fields are marked *