Verilog only assigns first bit of a bus
Oops, I had a typo in the top level that caused quartus to not see the wire[11:0] DAC_data; declaration and instead assume it was an implied single bit wire without throwing a warning.  Seems like a good failure mode.