Jump to content
ANKUR SAINI

Need understanding of SystemC model use-cases

Recommended Posts

As we know, SystemC can be used to create system level models @ different abstraction levels. It could be either used for
Architectural analysis, performance modeling or software development purposes.

I would like to understand and want to get an insight on - what are the key differences while modeling these different
models @ different levels. In what ways or context they differ !

Share this post


Link to post
Share on other sites

Well, this topic could fill an entire book...

If you implement a model the first question you should as is: What is the purpose of the model? Which questions should the simulation of the model answer?

Looking at architectural exploration which goes quite often hand in hand with performance analysis the question is: does my HW/SW split and my HW partitioning satisfy my perfomance requirements (wrt. latency, thru-put, compute.efficiency, power,...). In this case you usually do not need to implement a particular functionality in detail rather something that 'behaves like' in terms of your requirements. E.g. if you need to check that your communication scheme (buses, arbiters, bridges etc.) fulfills the needed band with you use traffic generators but have a fairly accurate bus model, sometimes even at AT. And you need to implement the mechanisms to observer and extract the needed performance indicators to allow the analysis

For software development the requirements are different. Here the maximum simulation speed is required so whereever possible you take short cuts. Bus transaction are not modelled anymore rather DMI is used (of course if functionality allows to do so e.g. when reading from/writing to a memory) and the entire model may run in LT mode which allowes parts to independently advance in time. Peripheral units may be modelled register-accurate but with out real functionality, i.e. a system control unit does not follow the needed scheme if changing e PLL frequency and alike.

This might give you some high-level clue. There are many more things to it but all of them depend on the answer to the initial questions.

Maybe the DCVon Europe 2017 tutorial on virtiual protorypes might provide a few more answers. You may find a PDF version of it at the MINRES site in the Publications and Papers section or at https://minres.com/downloads/VP_Tutorial_DVCon-2017.pdf as well as at the DVCon Europe website https://dvcon-europe.org/conference/history

Best regards

-Eyck

Share this post


Link to post
Share on other sites

@Eyck: Thanks for such a detailed info. This definitely has given a lot of insights. And I am really excited now to look at the pointer you mentioned above.
I have ran through it and looks like this doc is really highlighting the important aspects of Virtual Platforms and their usage and applications.
Once again thanks for sparing out time and sharing this knowledge.

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

×