27 lines
851 B
Plaintext
27 lines
851 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/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
|
||
|
* etc.
|
||
|
* {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:
|
||
|
// Put your code here:
|
||
|
DMux(in=in, sel=sel[2], a=i, b=j);
|
||
|
DMux(in=i, sel=sel[1], a=w, b=x);
|
||
|
DMux(in=j, sel=sel[1], a=y, b=z);
|
||
|
DMux(in=w, sel=sel[0], a=a, b=b);
|
||
|
DMux(in=x, sel=sel[0], a=c, b=d);
|
||
|
DMux(in=y, sel=sel[0], a=e, b=f);
|
||
|
DMux(in=z, sel=sel[0], a=g, b=h);
|
||
|
}
|