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

What’s the difference 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 implied 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

[ SC Tutorial ] 3. SystemC Data types

SystemC has a number of predefined data types to support hardware designs spanning from the …

Leave a Reply

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