SHIM: A Deterministic Model for Heterogeneous Embedded Systems
Typical embedded hardware/software systems are implemented using a combination of C and an HDL such as Verilog. While each is well-behaved in isolation, combining the two gives a nondeterministic model of computation whose ultimate behavior must be validated through expensive (cycle-accurate) simulation. The authors propose an alternative for describing such systems. The SHIM (Software/Hardware Integration Medium) model, effectively Kahn networks with rendezvous communication, provides deterministic concurrency. The present the Tiny-SHIM language for such systems and its semantics, demonstrate how to implement it in hardware and software, and discuss how it can be used to model a real-world system.