Name       Cnt7bit;
Partno     1;
Date       10/23/2000;
Revision   1;
Designer   KEH;
Company    RHIT;
Assembly   1;
Location   Terre Haute, IN;
Device     G20V8A;

/******************************************************************/
/*  EC130 (KEH) CUPL Input File for                               */
/* Seven-Bit Binary up counter with synchronous CLR and ENABLE    */                                              
/* and Top Count (TC) output                                      */
/*                                                                */
/******************************************************************/
/*  Allowable Target Device Types: GAL20V8A                       */
/******************************************************************/

/**  Inputs  **/

Pin  1       =  CLK;     /*  Clock Input                          */

Pin  2       =  CLR;     /*  Synchronous Clear => when clock rises*/
                         /*  Q6:0 is zeroed if CLR = 1            */
Pin  3       =  EN;      /*  Count Enable - must be high to cause
                             counter to advance when clock rises  */
/**  Outputs  **/

Pin  15      =  TC       ;      /*  Top Count                     */
Pin  16      =  !Q6       ;     /*  Counter MSB                   */
Pin  17      =  !Q5       ;     /*                                */
Pin  18      =  !Q4       ;     /*                                */
Pin  19      =  !Q3       ;     /*                                */
Pin  20      =  !Q2       ;     /*                                */
Pin  21      =  !Q1       ;     /*                                */
Pin  22      =  !Q0       ;     /*  Counter LSB                   */

/**  Logic Equations  **/

Q0.D = 
        ( EN & !Q0             				/* Toggle Q0  */
        # !EN & Q0) & !CLR;  				/* Hold Q0    */

Q1.D = 
        ( EN & !Q1 & Q0      				/* Toggle Q1  */
        # EN & Q1 & !Q0      				/* Hold Q1    */
        # !EN & Q1) & !CLR;  				/* Hold Q1    */
 
Q2.D =
        ( EN & !Q2 & Q1 & Q0      			/* Toggle Q2  */
        # EN & Q2 & !Q1           			/* Hold Q2    */
        # EN & Q2 & !Q0           			/* Hold Q2    */
        # !EN & Q2) & !CLR;       			/* Hold Q2    */

Q3.D =              
        ( EN & !Q3 & Q2 & Q1 & Q0 			/* Toggle Q3  */
        # EN & Q3 & !Q2           			/* Hold Q3    */
        # EN & Q3 & !Q1           			/* Hold Q3    */
        # EN & Q3 & !Q0           			/* Hold Q3    */
        # !EN & Q3) & !CLR;       			/* Hold Q3    */

Q4.D =  ( EN & !Q4 & Q3 & Q2 & Q1 & Q0 			/* Toggle Q4  */
        # EN & Q4 & !Q3                			/* Hold Q4    */
        # EN & Q4 & !Q2                			/* Hold Q4    */
        # EN & Q4 & !Q1                			/* Hold Q4    */
        # EN & Q4 & !Q0                			/* Hold Q4    */
        # !EN & Q4) & !CLR;            			/* Hold Q4    */

Q5.D =  ( EN & !Q5 & Q4 & Q3 & Q2 & Q1 & Q0   		/* Toggle Q5  */
        # EN & Q5 & !Q4                       		/* Hold Q5    */
        # EN & Q5 & !Q3                       		/* Hold Q5    */
        # EN & Q5 & !Q2                       		/* Hold Q5    */
        # EN & Q5 & !Q1                       		/* Hold Q5    */
        # EN & Q5 & !Q0                       		/* Hold Q5    */
        # !EN & Q5) & !CLR;                   		/* Hold Q5    */

Q6.D =  (EN & !Q6 & Q5 & Q4 & Q3 & Q2 & Q1 & Q0		/* Toggle Q6  */
        # EN & Q6 & !Q5                         	/* Hold Q6    */
        # EN & Q6 & !Q4                         	/* Hold Q6    */
        # EN & Q6 & !Q3                         	/* Hold Q6    */
        # EN & Q6 & !Q2                         	/* Hold Q6    */
        # EN & Q6 & !Q1                         	/* Hold Q6    */
        # EN & Q6 & !Q0                         	/* Hold Q6    */
        # !EN & Q6) & !CLR;                    	        /* Hold Q6    */

TC   =  Q6 & Q5 & Q4 & Q3 & Q2 & Q1 & Q0 & EN;          /* Top Count  */