3 ms·
Neither CLaSH nor Chisel do this. You're probably thinking of stuff like SystemC, which attempts to compile C-like imperative code to hardware. If your languag
by wyager 9y ago
Neither CLaSH nor Chisel do this. You're probably thinking of stuff like SystemC, which attempts to compile C-like imperative code to hardware.
If your language (in the case of CLaSH) or DSL (in the case of Chisel) is designed correctly, there's a clear and direct correspondence between high-level semantic constructs and low-level hardware constructs.
Take a look at Conal Elliot's Lambda-CCC. The semantics of synthesizable hardware and the semantics of lazy lambda calculus are exactly the same in many fundamental ways. There's no fooling or trickery going on. If you understand why your lambda calculus program is divergent, you understand why your circuit is unstable.