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 dùng để trigger một event. Nó có một vài biến thể dưới đây.

    • notify() :Immediate notification
    • notify(SC_ZERO_TIME) :Delta notification
    • notify(double v, sc_time_unit tu) :Timed notification
SystemC notify
  • Thực tế, Delta notificationTimed notification với giá trị thời gian v = 0.
  • Khi một event sử dụng Immediate notification, thì có nghĩa là việc thực thi sẽ diễn ra trong cùng delta-cycle đó(Evaluate phase)
  • Khi một event sử dụng Delta notification, Việc thực thi sẽ đợi cho đến khi Simulation stage chuyển qua Update phase. Và cho phép các process khác trong delta-cycle hiện tại cũng hoàn thành.

Chúng ta cùng sử dụng một ví dụ để làm rõ:

Output:

  1. Khi ghi giá trị 0x1F1F1F1F vào reg portGiá trị sẽ không được update vào reg port cho tới khi Simulation stage chuyển qua Update phase.
  2. Vì thế, trong cùng delta-cycle đó , monitor_signal_immediate_method được gọi ,giá trị của reg port vẫn là 0x00000000 ( giá trị cũ ).
  3. Và khi chuyển qua Update phase, monitor_signal_delta_method được gọi ,giá trị của reg port sẽ là giá trị mới 0x1F1F1F1F.

Download Project (VS2015):

Google Drive 1 Google Drive 2

__FreeSourceC.com__

About admin

Check Also

[ SC Tutorial ] 3. SystemC Data types

SystemC có một số kiểu dữ liệu được xác định trước để hỗ trợ các …

Leave a Reply

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