localparam[14:0] _e_953 = 0;
localparam[14:0] _e_958 = 1;
assign _e_956 = \count + _e_958;
assign _e_955 = _e_956[14:0];
assign _e_948 = _e_949 ? _e_953 : _e_955; localparam[14:0] _e_953 = 0;
localparam[14:0] _e_958 = 1;
assign _e_956 = \count + _e_958;
assign _e_955 = _e_956[14:0];
assign _e_948 = _e_949 ? _e_953 : _e_955;My probably controversial opinion on output code quality is that if you have to see the generated Verilog, I've done something wrong since there is probably a compiler bug if you need to go down to that level.
Of course, you could just be looking at output from tools like timing reports, and then as someone else commented out, it is a bit of a tooling issue. Spade does emit (* src = *) attributes which yosys and friends accept to show the original Spade source instead of Verilog, but it is still kind of leaky in some cases
But that's because the tools debug at the C level. That isn't the case for SV at all - all the tools operate at the SV level.
Unless you're going to create commercial grade simulators, debuggers, synthesis tools etc. then users are going to be debugging SV.
My day job is debugging generated SV and even though it isn't nearly as bad as the code smallpipe posted it still suuucks. It costs me a lot of time reverse engineering it.
If anything is going to replace SV (and I really hope it does) it really really needs to focus on producing clean debuggable output. That includes things like using interfaces, structs and so on.
https://en.wikipedia.org/wiki/Computer-aided_software_engine...
The word "just" is carrying the weight of the world on its shoulders…
Also, "just a tooling issue" is a pretty big problem when you're talking about something that wants to be adopted as part of the toolchain.
FPGA toolchains are infamous for one of the worst and cursed toolchains in the world. Where writing tcl scripts to imperatively connects blocks together in a block diagram that will integrate all the verilog code is not just normal, but encouraged. Because their internal block diagram description file is git hostile