Files
nand2tetris/projects/01/Mux8Way16.hdl
2014-11-10 21:50:48 -08:00

24 lines
616 B
Plaintext

// 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/Mux8Way16.hdl
/**
* 8-way 16-bit multiplexor:
* out = a if sel == 000
* b if sel == 001
* etc.
* h if sel == 111
*/
CHIP Mux8Way16 {
IN a[16], b[16], c[16], d[16],
e[16], f[16], g[16], h[16],
sel[3];
OUT out[16];
PARTS:
Mux4Way16(a=a, b=b, c=c, d=d, sel=sel[0..1], out=m0);
Mux4Way16(a=e, b=f, c=g, d=h, sel=sel[0..1], out=m1);
Mux16(a=m0, b=m1, sel=sel[2], out=out);
}