fix(tmpl): handle sparse registers correctly
Registers can have multiple fields with gaps inbetween, e.g. bit 24 and bits 7..0 being used. The default assignment was assuming packed registers and forced the rest, bits 31..9 in this example, to zero, creating a conflict on bit 24.
Solve this by creating entity-wide signals for each field's data, then assign them to slices of the output vector in a single combinational process.