Re:Chisel: Constructing Hardware in a Scala Embedded Language
by _chris_ on Wednesday January 03, 2018 @05:20AM
(#16059860)
I myself have had little difficulty in debugging Chisel designs using waveforms: virtually every Chisel node has its name maintained in Verilog.
Sure, there are many, many more temporary variables created between nodes, but what I care about when debugging is "what are the values of my Chisel nodes"? It's like debugging by looking at assembly, but with your C/C++ variable names carried through to the disassembly.
I tried to make a verilog DSL in julia, which was a lot of fun, but I got stuck on how to implement sequential logic (instead of just combinatorial logic). Even better (and should be reasonably doable with clever application of julia's macro and type system) would be to take a julia function and transparently generate verilog from it.