// 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/1/DMux8Way.hdl /** * 8-way demultiplexor: * [a, b, c, d, e, f, g, h] = [in, 0, 0, 0, 0, 0, 0, 0] if sel = 000 * [0, in, 0, 0, 0, 0, 0, 0] if sel = 001 * [0, 0, in, 0, 0, 0, 0, 0] if sel = 010 * [0, 0, 0, in, 0, 0, 0, 0] if sel = 011 * [0, 0, 0, 0, in, 0, 0, 0] if sel = 100 * [0, 0, 0, 0, 0, in, 0, 0] if sel = 101 * [0, 0, 0, 0, 0, 0, in, 0] if sel = 110 * [0, 0, 0, 0, 0, 0, 0, in] if sel = 111 */ CHIP DMux8Way { IN in, sel[3]; OUT a, b, c, d, e, f, g, h; PARTS: // One DMux + two DMux4Way DMux(in=in, sel=sel[2], a=tmp1, b=tmp2); DMux4Way(in=tmp1, sel=sel[0..1], a=a, b=b, c=c, d=d); DMux4Way(in=tmp2, sel=sel[0..1], a=e, b=f, c=g, d=h); }