Show HN: SimBricks – Modular Full-System Simulation for HW-SW Systems
https://simbricks.github.io/With FPGA or ASIC designs at scale, it can take hours to run gate-level simulations spanning just a few milliseconds of operation. How can this be integrated into a networked system-of-systems as shown in the demo? Or are the simulations shown running at a lower level of fidelity?
So nothing stops you from including a gate-level simulation, other simulators will just slow down accordingly (with very slow simulators the synchronization overheads are generally negligible). That said, GLS might not be the most common use-case here. Would a full-system simulation with GLS actually gets you additional insights relative to just simulating the RTL? (genuine question)
For our internal use-cases so far, we have primarily done TLM and RTL simulations. Depending on the level of fidelity (e.g. fast functional with Qemu, or slow detailed OoO CPU in gem5) here we are talking seconds to hours for simulating a few seconds.
One interesting bit that the modularity gets you, is that you can mix fidelities of components. So if you do want to test a GLS component as part of a large system with multiple instances of your design, you could consider only doing GLS for one instance and using just the RTL simulation or even a TLM for the others. This does not speed up the simulation, but drastically reduces the compute needed.
But curious on what your take is for when you think the full-system perspective would be useful.