home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0020 - 0029 / ibm0020-0029 / ibm0028.tar / ibm0028 / CUPL30-4.ZIP / TCOUNTER.SI < prev    next >
Encoding:
Text File  |  1986-11-09  |  4.0 KB  |  76 lines

  1. Name      Tcounter;
  2. Partno      CA0020;
  3. Date      6/9/86;
  4. Revision  01;
  5. Designer  Kahl;
  6. Company   Personal CAD Systems, Inc.;
  7. Assembly  None;
  8. Location  None;
  9. Device    ep600;
  10.  
  11. /****************************************************************/
  12. /*                                */
  13. /* 16 Bit Synchronous Up/Down Counter                */
  14. /*                                */
  15. /* This is a 16-bit up/down counter with built-in shift         */ 
  16. /* register using toggle flip-flops.  The various modes are     */
  17. /* controlled by the signals CNTUP (1 = count up)                  */
  18. /*                           SHIFT (1 = shift)               */
  19. /*                           SHLFT (1 = shift left)             */
  20. /****************************************************************/
  21. /* Allowable Target Device Types :  EP600                          */
  22. /****************************************************************/
  23.  
  24. ORDER:    clock1, clock2, %2, data_in, %2, 
  25.         cntup, %1, shift, %1, shlft, %2, counter;
  26.  
  27. VECTORS:
  28.  
  29. $msg"          d                         ";
  30. $msg"      cc  a                         ";
  31. $msg"      ll  t  c s s                  ";
  32. $msg"      oo  a  n h h                  ";
  33. $msg"      cc  -  t i l  qqqqqqqqqqqqqqqq";
  34. $msg"      kk  i  u f f  111111          ";
  35. $msg"      12  n  p t t  5432109876543210";
  36. $msg"      ------------------------------";
  37.            00  x  1 1 1  LLLLLLLLLLLLLLLL    /* reset registers         */
  38.        cc  1  0 1 1  LLLLLLLLLLLLLLLH    /* shift (left) data_in=1    */
  39.        cc  1  0 1 1  LLLLLLLLLLLLLLHH    /* shift (left) data_in=1    */
  40.        cc  1  0 1 1  LLLLLLLLLLLLLHHH    /* shift (left) data_in=1    */
  41.        cc  1  0 1 1  LLLLLLLLLLLLHHHH    /* shift (left) data_in=1    */
  42.        cc  1  0 1 1  LLLLLLLLLLLHHHHH    /* shift (left) data_in=1    */
  43.        cc  1  0 1 1  LLLLLLLLLLHHHHHH    /* shift (left) data_in=1    */
  44.        cc  1  0 1 1  LLLLLLLLLHHHHHHH    /* shift (left) data_in=1    */
  45.        cc  1  0 1 1  LLLLLLLLHHHHHHHH    /* shift (left) data_in=1    */
  46.        cc  1  0 1 1  LLLLLLLHHHHHHHHH    /* shift (left) data_in=1    */
  47.        cc  1  0 1 1  LLLLLLHHHHHHHHHH    /* shift (left) data_in=1    */
  48.        cc  1  0 1 1  LLLLLHHHHHHHHHHH    /* shift (left) data_in=1    */
  49.        cc  1  0 1 1  LLLLHHHHHHHHHHHH    /* shift (left) data_in=1    */
  50.        cc  1  0 1 1  LLLHHHHHHHHHHHHH    /* shift (left) data_in=1    */
  51.        cc  1  0 1 1  LLHHHHHHHHHHHHHH    /* shift (left) data_in=1    */
  52.        cc  1  0 1 1  LHHHHHHHHHHHHHHH    /* shift (left) data_in=1    */
  53.        cc  1  0 1 1  HHHHHHHHHHHHHHHH    /* shift (left) data_in=1    */
  54.            00  x  0 0 0  HHHHHHHHHHHHHHHH    /* change modes to count   */
  55.            cc  x  1 0 0  LLLLLLLLLLLLLLLL    /* count (up) to 0000    */
  56.            cc  x  0 0 0  HHHHHHHHHHHHHHHH    /* count (down) to FFFF    */
  57.            cc  0  0 1 0  LHHHHHHHHHHHHHHH    /* shift (right) data_in=0    */
  58.            cc  0  0 1 0  LLHHHHHHHHHHHHHH    /* shift (right) data_in=0    */
  59.            cc  0  0 1 0  LLLHHHHHHHHHHHHH    /* shift (right) data_in=0    */
  60.            cc  0  0 1 0  LLLLHHHHHHHHHHHH    /* shift (right) data_in=0    */
  61.            cc  0  0 1 0  LLLLLHHHHHHHHHHH    /* shift (right) data_in=0    */
  62.            cc  0  0 1 0  LLLLLLHHHHHHHHHH    /* shift (right) data_in=0    */
  63.            cc  0  0 1 0  LLLLLLLHHHHHHHHH    /* shift (right) data_in=0    */
  64.            cc  0  0 1 0  LLLLLLLLHHHHHHHH    /* shift (right) data_in=0    */
  65.            cc  0  0 1 0  LLLLLLLLLHHHHHHH    /* shift (right) data_in=0    */
  66.            cc  0  0 1 0  LLLLLLLLLLHHHHHH    /* shift (right) data_in=0    */
  67.            cc  0  0 1 0  LLLLLLLLLLLHHHHH    /* shift (right) data_in=0    */
  68.            cc  0  0 1 0  LLLLLLLLLLLLHHHH    /* shift (right) data_in=0    */
  69.            cc  0  0 1 0  LLLLLLLLLLLLLHHH    /* shift (right) data_in=0    */
  70.            cc  0  0 1 0  LLLLLLLLLLLLLLHH    /* shift (right) data_in=0    */
  71.            cc  0  0 1 0  LLLLLLLLLLLLLLLH    /* shift (right) data_in=0    */
  72.            cc  0  0 1 0  LLLLLLLLLLLLLLLL    /* shift (right) data_in=0    */
  73. $repeat 63;
  74.        cc  x  1 0 0  ****************    /* count (up) to 00FF    */
  75.            00  x  1 1 1  LLLLLLLLLLLLLLLL    /* reset registers         */
  76.