Jump to content

A model of an algorithm is created and tested. What is a way to make transition from the SystemC model to software implementation?

Igor Plastov

Recommended Posts

Hello, I am beginner I had developped model of application  in terms of SystemC. Now I am trying to understand workflow from model to software implementation.  So, my qustion to community Is there some formal way to make transformation of the SystemC model code to the clean C++ code for desktop console application?  

Best regards, 

Link to comment
Share on other sites

That's an odd question since:

1. SystemC is software (C++ actually).

2. SystemC is used to model software running on hardware.

So, most folks would model the hardware and use the software to validate the use cases. The next step would be to implement the hardware and then run the software on the real hardware. Some of the software used in a SystemC model would possibly be transformed into hardware (e.g., using an HLS synthesis tool such as Cadence Stratus, Siemens EDA's Catapult or Xilinx Vitis_HLS) or conventionally with RTL.

Where is the software you ask? It depends on your approach to the modeling.

1. In some cases, it is represented by code inside a thread that uses calls to access TLM. In that case, the calls would need to be replaced with direct hardware access (e.g., with memory mapped accesses using a pointer).

2. In more traditional situations, the software would have been cross-compiled and run on an ISS wrapped into the SystemC model. Some companies even sell these.

Link to comment
Share on other sites

Thank you, David!
IMHO due to abstract nature of SystemC, handy implemented parallelism and signals, it could be used for simulation of software applications and systems of software applications on feasibility study.
In current moment I am looking a bridge for transition from feasibility study to a SW development phase. Something, which could work like HLS, but on the output it will give (with some limitations) a C++ code where SC_METHODs of a model are represented as threads, signals as a glib event, Qt events or D-Bus signals and so on.
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...