@drq you'll probably just end up reinventing the wheels of usual programming languages, so the only sensible way to do this is a backend for a compiler (gcc, llvm) that produces something like verilog instead of assembly(probably exists already), and recompiling all the software... and then spend a lifetime optimizing the backend...