CHIP DFF16 {
IN in[16];
OUT out[16];
PARTS:
DFF(in=in[0],out=out[0]);
DFF(in=in[1],out=out[1]);
DFF(in=in[2],out=out[2]);
DFF(in=in[3],out=out[3]);
DFF(in=in[4],out=out[4]);
DFF(in=in[5],out=out[5]);
DFF(in=in[6],out=out[6]);
DFF(in=in[7],out=out[7]);
DFF(in=in[8],out=out[8]);
DFF(in=in[9],out=out[9]);
DFF(in=in[10],out=out[10]);
DFF(in=in[11],out=out[11]);
DFF(in=in[12],out=out[12]);
DFF(in=in[13],out=out[13]);
DFF(in=in[14],out=out[14]);
DFF(in=in[15],out=out[15]);
}
CHIP Register16 {
IN in[16],load;
OUT out[16];
PARTS:
DFF16(in=MuxOut,out=MuxInA, out=out);
Mux16(a=MuxInA,b=in,sel=load,out=MuxOut);
}