/projects/01/Mux4Way16.hdl

https://github.com/cpatuzzo/nand2tetris · Unknown · 24 lines · 19 code · 5 blank · 0 comment · 0 complexity · 88c2c6cfdd4ed297d73db982f8c77878 MD5 · raw file

  1. // This file is part of www.nand2tetris.org
  2. // and the book "The Elements of Computing Systems"
  3. // by Nisan and Schocken, MIT Press.
  4. // File name: projects/01/Mux4Way16.hdl
  5. /**
  6. * 4-way 16-bit multiplexor.
  7. * out = a if sel == 00
  8. * b if sel == 01
  9. * c if sel == 10
  10. * d if sel == 11
  11. */
  12. CHIP Mux4Way16 {
  13. IN a[16], b[16], c[16], d[16], sel[2];
  14. OUT out[16];
  15. PARTS:
  16. Mux16(a=a, b=b, sel=sel[0], out=ab);
  17. Mux16(a=c, b=d, sel=sel[0], out=cd);
  18. Mux16(a=ab, b=cd, sel=sel[1], out=out);
  19. }