Jump to content

Recommended Posts

Posted

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

Posted

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

Posted

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...