Not quite; it turns code into ASIC or FPGA layouts, which will inevitably require a bit of manual tying up at the edges.
"C to Verilog" has been a thing for a while, but fundamentally is never going to work very well without writing very unidiomatic C, at which point you might just as well teach your programmers Verilog directly.
Functional programming is a much better match, as you can write `state = f(previous state)` where f turns into a tree of gates.