From 9542deeb483a00b6fabed7574720926ce97d7511 Mon Sep 17 00:00:00 2001 From: Frederick Yin Date: Tue, 16 Aug 2022 11:54:23 +0800 Subject: Projects, 01-06 completed --- projects/01/DMux8Way.hdl | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 projects/01/DMux8Way.hdl (limited to 'projects/01/DMux8Way.hdl') diff --git a/projects/01/DMux8Way.hdl b/projects/01/DMux8Way.hdl new file mode 100644 index 0000000..fd46745 --- /dev/null +++ b/projects/01/DMux8Way.hdl @@ -0,0 +1,26 @@ +// 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: + DMux(in=in, sel=sel[2], a=ad, b=eh); + DMux(in=ad, sel=sel[1], a=ab, b=cd); + DMux(in=eh, sel=sel[1], a=ef, b=gh); + DMux(in=ab, sel=sel[0], a=a, b=b); + DMux(in=cd, sel=sel[0], a=c, b=d); + DMux(in=ef, sel=sel[0], a=e, b=f); + DMux(in=gh, sel=sel[0], a=g, b=h); +} -- cgit v1.2.3