summaryrefslogtreecommitdiff
path: root/chips/Bit.hdl
blob: 52e0539e32d6a2d1465105ee9d6ad4df3ba90b88 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// 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/03/a/Bit.hdl

/**
 * 1-bit register:
 * If load[t] == 1 then out[t+1] = in[t]
 *                 else out does not change (out[t+1] = out[t])
 */

CHIP Bit {
    IN in, load;
    OUT out;

    PARTS:
    // Put your code here:
    Mux (a=dffout, b=in, sel=load, out=muxout);
    DFF (in=muxout, out=dffout);
    Or (a=dffout, b=dffout, out=out);
}