|
CHIP Memory {
IN in[16], load, address[15];
OUT out[16];
PARTS:
DMux (in=load, sel=address[14], a=ramload, b=device);
DMux (in=device, sel=address[13], a=screenload, b=keyload);
RAM16K (in=in, load=ramload, address=address[0…13], out=ram);
Screen (in=in, load=screenload, address=address[0…12], out=screen);
Keyboard (out=keyboard);
Mux16 (a=ram, b=screen, sel=screenload, out=temp);
Mux16 (a=temp, b=keyboard, sel=keyload, out=out);
}
This is my Memory Chip and I can't see anything wrong with it. However, the Hardware Stimulator is refusing to run it and when I submit it into the grader output, I am told that I have an 'unspecified sub-bus'. I really need some help - the hardware stimulator also refuses to run anything with RAM16K and Screen, is it because I've made some mistake in the code?
For example, this will run:
CHIP copy {
IN in[16], load, address[15];
OUT out[16];
PARTS:
DMux (in=load, sel=address[14], a=ramload, b=device);
DMux (in=device, sel=address[13], a=screenload, b=keyload);
Keyboard (out=data);
Mux16 (a=in, b=in, sel=screenload, out=temp);
Mux16 (a=temp, b=data, sel=keyload, out=out);
}
but once I add in one line of Screen (in=in, load=load, address=address[0...12], out=unknown);, it will stop working. Example:
CHIP copy {
IN in[16], load, address[15];
OUT out[16];
PARTS:
DMux (in=load, sel=address[14], a=ramload, b=device);
DMux (in=device, sel=address[13], a=screenload, b=keyload);
Keyboard (out=data11);
Screen (in=in, load=screenload, address=address[0…12], out=data10);
Mux16 (a=in, b=data10, sel=screenload, out=temp);
Mux16 (a=temp, b=data11, sel=keyload, out=out);
}
Please explain?
|