Home / Language / Simulation Engine in SystemC

Simulation Engine in SystemC

SystemC is applied to system-level modeling, architectural exploration, performance modeling, software development, functional verification, and high-level synthesis. SystemC is often associated with electronic system-level (ESL) design, and with transaction-level modeling (TLM).

    1. notify() : Immediate
    2. notify(SC_ZERO_TIME), wait(SC_ZERO_TIME) : Delta
    3. notify(t), wait(t) : Timed

First, elaboration occurs. During elaboration, SystemC modules are constructed and various simulation parameters are established. This elaboration phase is followed by a call to sc_start(), which invokes the simulation kernel. This call begins the initialization phase. Processes (e.g., SC_THREAD processes) defined during elaboration need to be started. During the initialization phase, all processes are placed initially into a ready pool and the preparation for the next phase, execution. The execution phase hands control to the SystemC simulation kernel, which orchestrates the execution of processes to create an illusion of concurrency.

A simulation process is run when an event to which it is sensitive occurs. Several simulation processes may begin at the same instant in simulator time. Because of this case, all of the simulation processes are evaluated and then their outputs are updated. An evaluation followed by an update is referred to as a delta-cycle. If no additional simulation processes need to be evaluated at that instant (as a result of the update), then simulation time is advanced. When no additional simulation processes need to run, the simulation ends

__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 *