home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s079 / 1.img / V8FCNTR.APL < prev    next >
Encoding:
Text File  |  1992-11-17  |  7.1 KB  |  181 lines

  1. TITLE 'APEEL FILE: PEEL18CV8 8-Bit Counter with Function Controls
  2. DESIGNER:   Robin Jigour and John Birkner
  3. DATE:       9/14/87'
  4.  
  5. P18CV8
  6.  
  7. "DESCRIPTION
  8.  
  9. "                      PEEL18CV8
  10.  
  11. " 8-bit Binary Counter with Hold, Reset, Repeat and Output Enable
  12. "                     ____  ____
  13. "                    |    \/    |
  14. "               CLK  { 1     20 }  Vcc
  15. "             (TEST) { 2     19 }- Q0     ( - = output )
  16. "                    { 3     18 }- Q1
  17. "                    { 4     17 }- Q2
  18. "                    { 5     16 }- Q3
  19. "                    { 6     15 }- Q4
  20. "              HOLD  { 7     14 }- Q5
  21. "              SRES  { 8     13 }- Q6
  22. "              REP   { 9     12 }- Q7
  23. "               Gnd  {10     11 }  /OE
  24. "                    |__________|
  25.  
  26. "
  27. " This application uses the PEEL18CV8 as an 8 bit counter with four
  28. " control functions: hold, reset, repeat and output enable. The
  29. " operation of each control listed below.  The Synchronous Preset
  30. " term was utilized to free-up a product term from the eighth bit of
  31. " the counter.  This allowed the hold function to be implemented.
  32.  
  33. " SRES  (Synchronous Reset) - When SRES is set high the outputs
  34. " (Q0-7) will go low after the next clock.  When SRES is set high
  35. " the counter will start counting up with each clock.
  36.  
  37. " HOLD  (Hold Count) - When HOLD is set high the count will hold the
  38. " present state. When HOLD is low the counter will resume.
  39.  
  40. " REP (Repeat Count) - When REP is set high, the counter repeat the
  41. " count after reaching FF hex.  When REP is set low, the counter will
  42. " stop after one complete count.
  43.  
  44. " OE  (Output Enable) - When OE is high the outputs will disable to
  45. " high impedance.  When low the outpus are enabled.
  46.  
  47. " (TEST) - This input is used to preload the registers to simplify
  48. " test vector operation.
  49.  
  50.  
  51. "PIN ASSIGNMENTS
  52.  
  53.  CLK      pin 1
  54.  TEST     pin 2                     "For test only, set Q0-Q5 to 1's.
  55.  HOLD     pin 7
  56.  SRES     pin 8
  57.  REP      pin 9
  58.  !OE      pin 11
  59.  
  60.  
  61. "Outputs"
  62.  
  63.  Q7       pin 12 = pos reg feed_reg  "All positive registered outputs.
  64.  Q6       pin 13 = pos reg feed_reg
  65.  Q5       pin 14 = pos reg feed_reg
  66.  Q4       pin 15 = pos reg feed_reg
  67.  Q3       pin 16 = pos reg feed_reg
  68.  Q2       pin 17 = pos reg feed_reg
  69.  Q1       pin 18 = pos reg feed_reg
  70.  Q0       pin 19 = pos reg feed_reg
  71.  
  72.  
  73. "Internal Nodes"
  74.  
  75.  AC        node 21                   "Asynchronous Clear node.
  76.  SP        node 22                   "Synchronous Preset node.
  77.  
  78.  
  79. EQUATIONS
  80.  
  81. AC  = !SRES & !REP & !Q7 & !Q6 & !Q5 & !Q4 & !Q3 & !Q2 & !Q1 & !Q0
  82.          "If REP=1 repeat count else stop at count 00 hex.
  83.  
  84. SP  = !SRES & Q7 & Q6 & Q5 & Q4 & Q3 & Q2 & Q1 & !Q0
  85.          "Free up product term on Q7.
  86.  
  87. Q0  =  !SRES & !HOLD & !Q0 #           "Count.
  88.        !SRES &  HOLD &  Q0 #           "Hold state.
  89.        !SRES &  TEST
  90. Enable Q0 = OE                         "Enable output.
  91.  
  92. Q1  =  !SRES & !HOLD  & !Q1 &  Q0 #
  93.        !SRES & !HOLD  &  Q1 & !Q0 #
  94.        !SRES &  HOLD  &  Q1       #
  95.        !SRES &  TEST
  96. Enable Q1 = OE
  97.  
  98. Q2  =  !SRES & !HOLD  & !Q2 &  Q1 &  Q0 #
  99.        !SRES & !HOLD  &  Q2 & !Q1       #
  100.        !SRES & !HOLD  &  Q2 &       !Q0 #
  101.        !SRES &  HOLD  &  Q2             #
  102.        !SRES &  TEST
  103. Enable Q2 = OE
  104.  
  105. Q3  =  !SRES & !HOLD  & !Q3 &  Q2 &  Q1 &  Q0 #
  106.        !SRES & !HOLD  &  Q3 & !Q2             #
  107.        !SRES & !HOLD  &  Q3 &       !Q1       #
  108.        !SRES & !HOLD  &  Q3 &             !Q0 #
  109.        !SRES &  HOLD  &  Q3                   #
  110.        !SRES &  TEST
  111. Enable Q3 = OE
  112.  
  113. Q4  =  !SRES & !HOLD  & !Q4 &  Q3 &  Q2 &  Q1 &  Q0 #
  114.        !SRES & !HOLD  &  Q4 & !Q3                   #
  115.        !SRES & !HOLD  &  Q4 &       !Q2             #
  116.        !SRES & !HOLD  &  Q4 &             !Q1       #
  117.        !SRES & !HOLD  &  Q4 &                   !Q0 #
  118.        !SRES &  HOLD  &  Q4                         #
  119.        !SRES &  TEST
  120. Enable Q4 = OE
  121.  
  122. Q5  =  !SRES & !HOLD  & !Q5 &  Q4 &  Q3 &  Q2 &  Q1 &  Q0 #
  123.        !SRES & !HOLD  &  Q5 & !Q4                         #
  124.        !SRES & !HOLD  &  Q5 &       !Q3                   #
  125.        !SRES & !HOLD  &  Q5 &             !Q2             #
  126.        !SRES & !HOLD  &  Q5 &                   !Q1       #
  127.        !SRES & !HOLD  &  Q5 &                         !Q0 #
  128.        !SRES &  HOLD  &  Q5                               #
  129.        !SRES &  TEST
  130. Enable Q5 = OE
  131.  
  132. Q6  =  !SRES & !HOLD  & !Q6 &  Q5 &  Q4 &  Q3 &  Q2 &  Q1 &  Q0 #
  133.        !SRES & !HOLD  &  Q6 & !Q5                               #
  134.        !SRES & !HOLD  &  Q6 &       !Q4                         #
  135.        !SRES & !HOLD  &  Q6 &             !Q3                   #
  136.        !SRES & !HOLD  &  Q6 &                   !Q2             #
  137.        !SRES & !HOLD  &  Q6 &                         !Q1       #
  138.        !SRES & !HOLD  &  Q6 &                               !Q0 #
  139.        !SRES &  HOLD  &  Q6
  140. Enable Q6 = OE
  141.  
  142. Q7  =  !SRES & !HOLD  & !Q7 &  Q6 &  Q5 &  Q4 &  Q3 &  Q2 &  Q1 &  Q0 #
  143.        !SRES & !HOLD  &  Q7 & !Q6                                     #
  144.        !SRES & !HOLD  &  Q7 &       !Q5                               #
  145.        !SRES & !HOLD  &  Q7 &             !Q4                         #
  146.        !SRES & !HOLD  &  Q7 &                   !Q3                   #
  147.        !SRES & !HOLD  &  Q7 &                         !Q2             #
  148.        !SRES & !HOLD  &  Q7 &                               !Q1       #
  149.        !SRES &  HOLD  &  Q7
  150. Enable Q7 = OE
  151.  
  152.  
  153. TEST_VECTORS
  154.  
  155. ( CLK  TEST  HOLD  SRES  REP  OE -> Q7  Q6  Q5  Q4  Q3  Q2  Q1  Q0 )
  156.    C    0     0     1     0    1 ->  X   X   X   X   X   X   X   X
  157.    C    0     0     1     0    1 ->  L   L   L   L   L   L   L   L
  158.    C    0     0     0     1    1 ->  L   L   L   L   L   L   L   H
  159.    C    0     0     0     0    0 ->  Z   Z   Z   Z   Z   Z   Z   Z
  160.    C    0     0     0     0    1 ->  L   L   L   L   L   L   H   H
  161.    C    0     0     1     0    1 ->  L   L   L   L   L   L   L   L
  162.    C    0     0     0     0    1 ->  L   L   L   L   L   L   L   L
  163.    C    0     0     0     1    1 ->  L   L   L   L   L   L   L   H
  164.    C    0     0     0     0    1 ->  L   L   L   L   L   L   H   L
  165.    C    1     0     0     0    1 ->  L   L   H   H   H   H   H   H
  166.    C    0     0     0     0    1 ->  L   H   L   L   L   L   L   L
  167.    C    1     0     0     0    1 ->  L   H   H   H   H   H   H   H
  168.    C    0     0     0     0    1 ->  H   L   L   L   L   L   L   L
  169.    C    1     0     0     0    1 ->  H   L   H   H   H   H   H   H
  170.    C    0     0     0     0    1 ->  H   H   L   L   L   L   L   L
  171.    C    0     0     0     0    1 ->  H   H   L   L   L   L   L   H
  172.    C    0     0     0     0    1 ->  H   H   L   L   L   L   H   L
  173.    C    0     1     0     0    1 ->  H   H   L   L   L   L   H   L
  174.    C    0     1     0     0    1 ->  H   H   L   L   L   L   H   L
  175.    C    1     0     0     0    1 ->  H   H   H   H   H   H   H   H
  176.    C    0     1     0     0    1 ->  H   H   H   H   H   H   H   H
  177.    C    0     1     0     0    1 ->  H   H   H   H   H   H   H   H
  178.    C    0     0     0     0    1 ->  L   L   L   L   L   L   L   L
  179.    C    0     0     0     0    1 ->  L   L   L   L   L   L   L   L
  180.    C    0     0     0     1    1 ->  L   L   L   L   L   L   L   H
  181.