socrocket / pysc

Python SystemC implementation of USI
7 stars 1 forks source link

pysc project status #2

Open Nic30 opened 7 years ago

Nic30 commented 7 years ago

Hello,

is this project still alive? Also I am working on something similar, maybe we can cooperate.

bfarkas commented 7 years ago

Yep, alive and actively used in several projects.

I had a look at your repositories. Looks indeed interesting. Are you familiar with SystemC at all?

Nic30 commented 7 years ago

Currently I am working on SystemC serializer HWToolkit. Next step is binding compiled SystemC to existing python agents. Bad for me. It seems that in pysc python is called from c++. I need to drive simulator from python.

bfarkas commented 7 years ago

Do you have any publications where you explain your work?

What do you mean by "SystemC serializer HWToolkit"? Are you working on a HW serializer component in SystemC or are you working on serializing SystemC objects?

Regarding driving the simulator from python, I suggest you have a look at one of our publications: "A Scriptable Standard-Compliant Reporting and Logging Framework for SystemC" http://doi.acm.org/10.1145/2983623 (this also includes sample code)

hackerhelmut commented 7 years ago

I have a version of PySc working as a python library. Problem is the SystemC kernels do not lean up the simulation nicely. So you can only run one SystemC simulation in the lifetime of your python application. Moreover it it not that portable anymore it only works with the Accellera SystemC kernel.

Nic30 commented 7 years ago

@bfarkas

@hackerhelmut Awesome, did you use sc_simcontext explicitly? From what I know it should work and should be able to run multiple simulations on separate threads. Restrictions with Accellera does not apply to me because whole SysemC from view of my library is just another export target and external simulator.

hackerhelmut commented 7 years ago

sc_simcontext is needed to get hold of the simulation objects. But every simulation model and some parts of the python wrapper inherit from sc_object which puts a lot of restrictions on the developer and can only be used with a sc_simcontext.

Nic30 commented 7 years ago

Now I have finally read your publication. I also know this problem from my previous experience with AMBA ACE DMAs. It was much more simple than todays CPUs. I was able just split design on parts and use distributed simulation.

From my point of view I do not have any useful advices for you. I was always wondering if it is possible to boot kernel in QUEMU and then copy the state to simulation and run it from there. I did wont to try it but i had no time to do it.

Now I can see that pysc is something like extra functionality from view of my library. First I need to have way to compile designs into SystemC and co-simulate them.

You can close this issue. If you want a contact there is my email: michal.o.socials..........gmail..com But I do not see any use from your side yet.