summaryrefslogtreecommitdiff
path: root/tools/builtInChips/PC.hdl
blob: f102d994737dcc5422eea144bb28a83fcb47b1a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// This file is part of www.nand2tetris.org
// and the book "The Elements of Computing Systems"
// by Nisan and Schocken, MIT Press.
// File name: tools/builtIn/PC.hdl

/**
 * 16-bit counter with load and reset controls.
 *
 * If reset(t-1) then out(t) = 0
 *    else if load(t-1) then out(t) = in(t-1)
 *         else if inc(t-1) then out(t) = out(t-1) + 1 (integer addition)
 *              else out(t) = out(t-1)
 */

CHIP PC {

    IN  in[16], load, inc, reset;
    OUT out[16];

    BUILTIN PC;
    CLOCKED in, load, inc, reset;
}