// 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/builtInChips/PC.hdl /** * A 16-bit counter with increment, load, and reset modes. * if (inc(t) == 1) out(t+1) = out(t) + 1 * else if (load(t) == 1) out(t+1) = in(t) * else if (reset(t) == 1) out(t+1) = 0 * else out(t+1) = out(t). * * To select a mode, assert the relevant control bit, * and de-assert the other two bits. */ CHIP PC { IN in[16], load, inc, reset; OUT out[16]; BUILTIN PC; CLOCKED in, load, inc, reset; }