Jump to content

SC_THREAD parallel execution


Recommended Posts

SystemC processes use a cooperative multitasking model of computation. Thus on face-value, the answer is "no"; however, proficient C++ programmers can obtain a level of pre-emptive concurrency by careful and proper application of proper mutexes or atomics in combination with creation of asynchronous primitive channels using async_request_update() in the channel. The new IEEE-1666-2023 standard introduces some essential new components to make this work properly. A public review version of the SystemC version 3.0 PoC library should be released this week and supports this.

IMPORTANT: IEEE-1666-2023 requires C++17 (Modern C++) or later for this to work. There are no alternatives. This usually requires use of the -std=c++17 compiler switch both for library installation and compiling your applications. Proficient C++ programmers won't have any issue with this.

See https://systemc.org/events/scef202309/ for more information. Also, download the latest IEEE standard.

I highly suggest using the CMake configuration and installation process to simplify your life.

By "proficient", I mean practitioners with proper formal C++ training. Googling, hacking and chatGPT simply won't cut it. Either you know and understand C++ fully or you will have a very tough time getting it right.


Link to comment
Share on other sites

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.

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...