/3/1/Register.hdl
http://github.com/happy4crazy/elements_of_computing_systems · Unknown · 34 lines · 30 code · 4 blank · 0 comment · 0 complexity · cc293166622b098b46242b2fcb041b03 MD5 · raw file
- // This file is part of the materials accompanying the book
- // "The Elements of Computing Systems" by Nisan and Schocken,
- // MIT Press. Book site: www.idc.ac.il/tecs
- // File name: projects/03/1/Register.hdl
-
- /**
- * 16-Bit register.
- * If load[t-1]=1 then out[t] = in[t-1]
- * else out does not change (out[t] = out[t-1])
- */
-
- CHIP Register {
-
- IN in[16], load;
- OUT out[16];
-
- PARTS:
- Bit(in=in[0], load=load, out=out[0]);
- Bit(in=in[1], load=load, out=out[1]);
- Bit(in=in[2], load=load, out=out[2]);
- Bit(in=in[3], load=load, out=out[3]);
- Bit(in=in[4], load=load, out=out[4]);
- Bit(in=in[5], load=load, out=out[5]);
- Bit(in=in[6], load=load, out=out[6]);
- Bit(in=in[7], load=load, out=out[7]);
- Bit(in=in[8], load=load, out=out[8]);
- Bit(in=in[9], load=load, out=out[9]);
- Bit(in=in[10], load=load, out=out[10]);
- Bit(in=in[11], load=load, out=out[11]);
- Bit(in=in[12], load=load, out=out[12]);
- Bit(in=in[13], load=load, out=out[13]);
- Bit(in=in[14], load=load, out=out[14]);
- Bit(in=in[15], load=load, out=out[15]);
- }