home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s078 / 1.img / SHFTCNT.PLD < prev    next >
Encoding:
CUPL PLD Program format  |  1991-12-08  |  2.6 KB  |  88 lines

  1. Name        Shftcnt;
  2. Partno        CA0003;
  3. Date        6/15/84;
  4. Revision    01;
  5. Designer    T. Kahl;
  6. Company        Assisted Technology, Inc.;
  7. Assembly    None;
  8. Location    None;
  9.  
  10. /****************************************************************/
  11. /*                                  */
  12. /* This is a four-bit UP/DOWN counter with shifting capability  */
  13. /*                                  */
  14. /****************************************************************/
  15. /* Allowable Target Device Types: 82S105            */
  16. /****************************************************************/
  17.  
  18. /** Input Group **/
  19.  
  20. pin 1 = clk;        /* Clock input for device        */
  21. pin [6..9] = [I3..0];    /* Mode control inputs                 */
  22. pin 19    = !oe;        /* Output enable for registers             */
  23.  
  24. /** Output Group **/
  25.  
  26. pin [15..18] = [F3..0]; /* Function outputs               */
  27.  
  28. /** Internal Node Group **/
  29.  
  30. node [P3..0];        /* Internal state bits declared as nodes*/
  31.  
  32. /** Declarations and Intermediate Variable Definitions **/
  33.  
  34. field mode   = [I3..0];    /* Count/Shift Mode control field      */
  35. field count  = [P3..0];    /* State bit field             */
  36. field output = [F3..0];    /* Output bit field            */
  37. field Q0     = [F0,P0];    /* Output and State bit field 0        */
  38. field Q1     = [F1,P1];    /* Output and State bit field 1        */
  39. field Q2     = [F2,P2];    /* Output and State bit field 2        */
  40. field Q3     = [F3,P3];    /* Output and State bit field 3        */
  41.  
  42. right = mode:2;        /* Define Counter/Shift Modes        */
  43. up    = mode:3;
  44. left  = mode:4;
  45. down  = mode:5;
  46. clear = mode:[8..F];
  47.  
  48. /** Logic Equations **/
  49.  
  50. output.oe = oe;
  51.  
  52. Q0.s = down  &                   !P0
  53.      # up    &                   !P0
  54.      # left  &  P3
  55.      # right &              P1;
  56. Q0.r = down  &                    P0
  57.      # up    &                    P0
  58.      # left  & !P3
  59.      # right &             !P1
  60.      # clear;
  61. Q1.s = down  &             !P1 & !P0
  62.      # up    &             !P1 &  P0
  63.      # left  &                    P0
  64.      # right &        P2;
  65. Q1.r = down  &              P1 & !P0
  66.      # up    &              P1 &  P0
  67.      # left  &                   !P0
  68.      # right &       !P2
  69.      # clear;
  70. Q2.s = down  &       !P2 & !P1 & !P0
  71.      # up    &       !P2 &  P1 &  P0
  72.      # left  &              P1
  73.      # right &  P3;
  74. Q2.r = down  &        P2 & !P1 & !P0
  75.      # up    &        P2 &  P1 &  P0
  76.      # left  &             !P1
  77.      # right & !P3
  78.      # clear;
  79. Q3.s = down  & !P3 & !P2 & !P1 & !P0
  80.      # up    & !P3 &  P2 &  P1 &  P0
  81.      # left  &        P2
  82.      # right &                    P0;
  83. Q3.r = down  &  P3 & !P2 & !P1 & !P0
  84.      # up    &  P3 &  P2 &  P1 &  P0
  85.      # left  &       !P2
  86.      # right &                   !P0
  87.      # clear;
  88.