/* -------------------------------------------------
   Mux:

     input:    n controls   (c1, c0)
               2^n data:    (d3, d2, d1, d0)

     output:   Z
   ------------------------------------------------- */

#include "Sim.h"

void simnet()
{
   Signal sw0, sw1, sw2, sw3, sw7, sw8;

   /* -------------------------------------
      How to have Names on signals
      ------------------------------------- */

   // Signal out(1, "Output");       // This is one way
   Sig(out, 1);                      // This is equiv to: Signal out(1, "out")

   Switch ( "aa", sw3, '3', Zero );  // Data
   Switch ( "ba", sw2, '2', Zero );  // 
   Switch ( "ca", sw1, '1', Zero );  // 
   Switch ( "da", sw0, '0', Zero );  // 

   Switch ( "ga", sw7, '7', Zero );  // 
   Switch ( "ha", sw8, '8', Zero );  // 

   Mux ( "ab-db", (sw7,sw8), (sw3,sw2,sw1,sw0), out ); 

   Probe ( "bc", out );        // Probe out
}



