cfelton / rhea

A collection of MyHDL cores and tools for complex digital circuit design

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Outside Interfacing

zignig opened this issue · comments

I'm not sure if this is myhdl proper or a thing for rhea ...

What I would like to able to do is interface a running myhdl simulation to the network. Have the exposed objects (serial port, cso, memory maps, etc ... ) to a udp port.

Exposed a a packet interface udp <---> serial port. That way data capture and control commands can be issued remotely to the simulation.

From my reading of the code , this would need to be some inside the simulation loop , kind of like the cosimulation subsytem.

Thoughts ?

@zignig sorry for the delay on feedback, we (myhdl) are in the midst of the GSoC 2016 student proposals which is consuming majority of my free time.

In the past, there has been some efforts to add a "socket" communication path for cosimulation. Currently the myhdl simulators communicates with Verilog simulators (could also with VHDL) via unix pipes, this requires a unix platform of some type. On window if developers want to cosim they have to use cygwin or something similar. A small effort/investigation was done in the past to test it out, I forget how far the investigator got.

If a socket comm was available in the myhld simulator for cosim it might also enable what you want to do. Different servers could be created for cosimulation. This would require some effort, most things in myhdl (like many open-source projects, e.g. Python) having a MEP and discussions would be best.

All of the above assumes very low-level cosim synchronization, you could also open a socket in a myhdl generator and send whatever simulation information you wanted to external code. I have experiment with this using pypy running my cores simulation and another python process analyzing the data on the fly (because many of the scientific packages are missing from pypy).