all repos — nand2tetris @ 5a1ae4cc17d0ffcb458164be1cbf3783f4c53fed

my nand2tetris progress

projects/01/Mux4Way16.hdl

 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: projects/01/Mux4Way16.hdl

/**
 * 4-way 16-bit multiplexor:
 * out = a if sel == 00
 *       b if sel == 01
 *       c if sel == 10
 *       d if sel == 11
 */

CHIP Mux4Way16 {
    IN a[16], b[16], c[16], d[16], sel[2];
    OUT out[16];

    PARTS:
    Mux16(a=a, b=b, sel=sel[0], out=mux1-out);
    Mux16(a=c, b=d, sel=sel[0], out=mux2-out);
    Mux16(a=mux1-out, b=mux2-out, sel=sel[1], out=out);
}