// 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/DMux4Way.hdl /** * 4-way demultiplexor: * [a, b, c, d] = [in, 0, 0, 0] if sel = 00 * [0, in, 0, 0] if sel = 01 * [0, 0, in, 0] if sel = 10 * [0, 0, 0, in] if sel = 11 */ CHIP DMux4Way { IN in, sel[2]; OUT a, b, c, d; PARTS: DMux(in= in, sel=sel[1] , a=topHalf , b=botHalf ); DMux(in= topHalf, sel=sel[0] , a=a , b=b ); DMux(in= botHalf, sel=sel[0] , a=c , b=d ); } /** CHIP DMux { IN in, sel; OUT a, b; PARTS: Not(in=sel,out=notSel); And(a=in,b=notSel,out=a); And(a=in,b=sel,out=b); } */