Jump to content
Sign in to follow this  
manuelselva

Accellera kernel process order

Recommended Posts

Hello all,

 

In the standard it's specified that a SystemC implementation "if a specific version of a specific implementation runs a specific application using a specific input data set, the order of process execution shall not vary from run to run".

 

I am getting non deterministic results for a particular SystemC application, and before digging into the details of its implementation, I wanted to know wether or not the Accellera standard implementation ensures this point ?

 

Moreover I would be interested to know what specific situations may lead to non determinism in SystemC ?

 

Thank for any help on this,

 

---------

Manuel

Share this post


Link to post
Share on other sites

I would expect the Accellera simulator to produce the same results each time it is run, assuming same OS, same SystemC code.

 

I would be very surprised if you ran a C++ program twice and got different results each time, and the Accellera Proof of Concept simulator is just a C++ program.

 

If you are running exactly the same executable twice and getting different results, you must be using some other source of randomness (such as time of day, or /dev/random) inside your program,

 

regards

Alan

Share this post


Link to post
Share on other sites

Hi Alan,

 

Thank you very much for the quick answer. It confirms what I think, and I would have to look more into the details of the application source to find the standard source of randomness (may be I am adding iteration over a map to the ones you mentioned).

 

Regards,

 

---------

Manuel

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
Sign in to follow this  

×