Open ghost opened 1 year ago
Notes from Discussion with Knute:
New Scope is to add support for Python Shell of Sparta and be able to collect data directly from Sparta into a Python DataFrame for Analysis.
sim = Olympia.getsim()
sim.run()
Things we would like to do:
- sim.enable_logging(args) (args TBD)
- sim.getroot() -> Returns treenodes
- sim.getnode(str_path_to_node) -> Returns a treenode
- sim.getClocks() -> Return clock manager/python array of sparta::Clocks
- sim.getScheduler() -> Return scheduler object
- treenode.getParams() -> Returns a read only parameter tree
- treenode.getCounters() -> Returns a statset
- treenode.getPorts() -> Returns portset
- treenode.getEvents() -> Returns eventset
Additional Support for:
- On a statset, should be able to walk counters (python iteration)
- for each counter, register notifications (sparta::NotificationSource)
- on python end every time a counter is updated, it can process the broadcast and collect
The Sparta modeling framework has the beginnings of python support, although not full fleshed out. This project entails two endeavors:
Basics of the initial implementation:
Advanced implementation (towards the other end of the project). This will allow the user to create an empty simulation container and create components/topology on the fly: