|
Fixed it with a friend.
The issue was HDL syntax, which seems quite strict and unforgiving. I was not utilizing the Mux16 API correctly. If you keep reading, you may see spoilers! (I've tried to give away as little as possible.)
I was trying to do
Mux16(a[16]=variable[16], b[16]=bvariable[16], sel=thing, out[16]=outvariable[16]);
etc. etc.
The correct call that worked is
Mux16(a=variable[0..15], b=bvariable[0..15], sel=thing, out=outvariable);
Once the internally held Muxes had been generated, no [0..15] was needed. So I had a call that looked like
Mux16(a=variable, b=bvariable, sel=thing, out=out);
|