Rinki Posted November 28, 2023 Report Posted November 28, 2023 is it possible to execute two different threads of same systemC module parallelly. like can we store resultant output of one thread in file mean while another thread output at console, all at same time?(in sense of real time). Quote
David Black Posted November 28, 2023 Report Posted November 28, 2023 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. Quote
Recommended Posts
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.