/*
 * mysub.c
 * Submodule template file
 * [eichin:19880511.2039EST]
 */

#include <msimdecl.h>
#define FUNCTION driver_func
#define DRIVER(C, A, B) make_binop(driver_func, C, A, B)
#define DONE
/*
 * driver.c
 * z = driver(a, b): if (a==HI) then b else TRISTATE
 */ 
#define DRIVER_DELAY 10

driver_func(dep)
     Generics dep;
{
  STATE result = TRISTATE;
  Wire outwire;
  STATE nextinput;
  
  SAVEOUTWIRE(dep, outwire);
  
  READNEXTSTATE(dep, nextinput);

  switch(nextinput)
    {
    case LOGIC_HI:
      READNEXTSTATE(dep, result);
      break;
    case LOGIC_LOW:
      break;
    }
  
  SETOUTPUT(outwire, result, globaltime+DRIVER_DELAY);
}
