Jump to content
SystemCInDepth

Dynamic processes and initialization phase

Recommended Posts

Hi,

I created a dynamic process during the evaluation phase and added dont_initialize() to the process. Now, the process will not be added to the runnable processes queue.

But Initialization phase is already over. How this dont_initialize() affects the execution of this dynamic process. What SystemC kernel is doing with dont_initialize() for this process.

<OR>

Is dont_initialize() just a way to hold addition of the process to the runnable process queue in the same evaluation phase?

Thanks !

Share this post


Link to post
Share on other sites

Yes, creating a process with dont_initialize() set just keeps it off the runnable queue until it is triggered by its static sensitivity (or through an explicit reset() on a process handle of it).  Without dont_initialize(), static process are marked as runnable during the initialization phase, while dynamic processes are made runnable immediately (i.e. in the current/next evaluation phase).

Hope that helps,
  Philipp

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×