think I am most of the way there, and my hardware simulator accepts the chip, but when running the test script the comparison fails half way through, I'm guessing there is an issue with feeding the output of the DFF back into the Mux. Any advice would be much appreciated!
16-bit register: If load[t] == 1 then out[t+1] = in[t] else out does not change
CHIP Register {
IN in[16], load;
OUT out[16];
PARTS:
Mux (a=dffout, b=in[15], sel=load, out= dff);
DFF (in = dff, out = dffout, out = out[15]);