Files
eceg431/03/a/Bit.hdl

21 lines
605 B
Plaintext

// This file is part of www.nand2tetris.org
// and the book "The Elements of Computing Systems"
// by Nisan and Schocken, MIT Press.
// File name: projects/3/a/Bit.hdl
/**
* 1-bit register:
* If load is asserted, the register's value is set to in;
* Otherwise, the register maintains its current value:
* if (load(t)) out(t+1) = in(t), else out(t+1) = out(t)
*/
CHIP Bit {
IN in, load;
OUT out;
PARTS:
// choose new input or current stored value
Mux(a=dffOut, b=in, sel=load, out=muxOut);
// DFF (new): hold val
DFF(in=muxOut, out=out, out=dffOut);
}