feat: project 5 start

This commit is contained in:
2026-02-05 13:57:30 +01:00
parent de9a24a50a
commit 3a97f5922f
12 changed files with 354 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
// 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/PC.hdl
/**
* A 16-bit counter.
* if reset(t): out(t+1) = 0
* else if load(t): out(t+1) = in(t)
* else if inc(t): out(t+1) = out(t) + 1
* else out(t+1) = out(t)
*/
/*
* Personal Notes
*
*
*/
CHIP PC {
IN in[16], reset, load, inc;
OUT out[16];
PARTS:
// Inc
Inc16(in=regOut, out=inc16Out);
Mux16(a=regOut, b=inc16Out, sel=inc, out=incOut);
// Load
Mux16(a=incOut, b=in, sel=load, out=loadOut);
// Reset
Mux16(a=loadOut, b[0..15]=false, sel=reset, out=resetOut);
Register(in=resetOut, load=true , out=regOut, out=out);
}