Name       dblclk;  /* This name should match filename */
Partno     1;       /* Since .JED output filename = name */
Date       10/23/2000; /* The other files match .pld file name */
Revision   1;
Designer   KEH;
Company    RHIT;
Assembly   1;
Location   Terre Haute, IN;
Device     G20V8A;


/******************************************************************/
/*  EC130 (KEH) CUPL Input File for                               */
/* Double Click Detector Control Unit                             */                                              
/*                                                                */
/******************************************************************/
/*  Allowable Target Device Types: GAL20V8A                       */
/******************************************************************/

/**  Inputs  **/

Pin  1       =  CLK;     /*  Clock Input                          */
Pin  2       =  B;       /*  Button Input                         */
Pin  3       =  TC;      /*  Top Count Input                      */
/**  Outputs  **/

Pin  15      =  SINGLE   ;      /*  SINGLE click detected output  */
Pin  16      =  DOUBLE   ;      /*  DOUBLE click detected output  */
Pin  17      =  EN       ;      /*  COUNTER ENABLE output         */
Pin  18      =  LD       ;      /*  COUNTER LD output             */
Pin  20      =  !Q2       ;      /*  Machine State (MSB)           */
Pin  21      =  !Q1       ;      /*                                */
Pin  22      =  !Q0       ;      /*  Machine State (LSB)           */

/**  Logic Equations  **/

Q2.D = !Q2 & Q1 & Q0 & !B & TC # Q2 & !Q1 & Q0 # Q2 & Q1 & Q0 & !TC # !Q2 & Q1 & !Q0 & !B
        # Q2 & Q1 & !Q0 # Q2 & !Q1 & !Q0 & !TC;

Q1.D = !Q2 & !Q1 & Q0 & !B # !Q2 & Q1 & Q0 & !B & !TC # !Q2 & Q1 & Q0 & B # !Q2 & Q1 & !Q0 & B
       # !Q2 & Q1 & !Q0 & !B # Q2 & !Q1 & Q0 # Q2 & Q1 & Q0 & !TC;

Q0.D = !Q2 & !Q1 & !Q0 & B # !Q2 & !Q1 & Q0 & B # !Q2 & !Q1 & Q0 & !B # !Q2 & Q1 & Q0 & !B & !TC
       # !Q2 & Q1 & Q0 & !B & TC # Q2 & !Q1 & Q0  # Q2 & Q1 & Q0 & !TC;

LD = !Q2 & !Q1 & !Q0 # Q2 & !Q1 & Q0 # Q2 & Q1 & !Q0;

EN = !Q2 & Q1 & Q0 # Q2 & Q1 & Q0 # Q2 & !Q1 & !Q0;

SINGLE = Q2 & Q1 & Q0;

DOUBLE = Q2 & !Q1 & !Q0;