home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / palsum3 / 9bcasc1.pds < prev    next >
Text File  |  1987-08-26  |  5KB  |  135 lines

  1. TITLE        HIGH SPEED CASCADABLE
  2. ;        NINE BIT UP/DOWN COUNTER.
  3. PATTERN        02.
  4. REVISION    01.
  5. AUTHOR        CHRIS JAY.
  6. COMPANY        MMI SANTA CLARA, CA.
  7. DATE        23 JUNE 1986.
  8.  
  9. CHIP 9CASCNT PAL20X10
  10.  
  11. CK UP D1 D2 D3 D4 D5 D6 D7 D8 /LD GND
  12. /OE /CEBEO Q8 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 VCC
  13. ;O
  14. ;THE NEW PAL DEVICE SERIES 24XA HAVE ENHANCED SPEED PERFORMANCE OVER
  15. ;THE STANDARD PAL24X SERIES, WITH AN IMPROVED CLOCK INPUT FREQUENCY.
  16. ;THE PAL20XA10 HAS BEEN DESIGNED AS AN UP/DOWN COUNTER, WITH THE
  17. ;CAPABILITY OF PROVIDING A 'LOOK AHEAD' CARRY OR BOROW OUTPUT TO
  18. ;THE SUCCEEDING REGISTERS IN A DUAL CASCADED COUNTER CONFIGURATION.
  19. ;THERE ARE NINE REGISTERS IN THE COUNTER, AND ONE REGISTER FOR
  20. ;CARRY/BOROW OUT. THE 'LOOK AHEAD' FEATURE PERMITS THE USE OF THE
  21. ;MAXIMUM CLOCK FREQUENCY OF 22.2MHZ BY AVOIDING  PROPAGATION DELAYS
  22. ;ASSOCIATED WITH THE COMBINATIONAL ENCODING AND PROPAGATION OF THE
  23. ;MAXIMUM COUNT. TWO COUNTERS MAY BE CASCADED GIVING A HIGH SPEED
  24. ;18 BIT COUNTER CONFIGURATION. THIS COUNTER HAS BEEN DESIGNED TO
  25. ;BE LOADED FROM AN EIGHT BIT DATA BUS, THE LEAST SIGNIFICANT
  26. ;REGISTER IN THE COUNTER IS ALWAYS LOADED WITH A LOGIC LOW.
  27. ;R
  28. ;       /LD     UP          DATA          REGISTERS
  29. ;     _______ _______ _______________________________
  30. ;    |    |    |                |
  31. ;    |   L    |   X    |     Q0 := LOW, QN := DN    | LOAD
  32. ;    |_______|_______|_______________________________|    
  33. ;    |    |    |                |
  34. ;    |   H    |   L    |     Q N := Q N-1        | COUNT DOWN
  35. ;    |_______|_______|_______________________________|
  36. ;    |    |    |                |
  37. ;    |   H    |   H    |     Q N := Q N + 1     | COUNT UP
  38. ;    |_______|_______|_______________________________|
  39. ;    
  40. ;    UP  = H ;  /LD = H         CEBEO := L    ;Q N := MAX COUNT    
  41. ;    UP  = L ;  /LD = H         CEBEO := L    ;Q N := MIN COUNT
  42. ;    UP  = L ;  /LD = L       CEBEO := L    ;Q N := MIN COUNT
  43. ;                
  44. EQUATIONS
  45.  
  46. CEBEO   := UP*/Q0*Q1*Q2*Q3*Q4*Q5*Q6*Q7*Q8*/LD        ;CARRY ENABLE
  47.     + /UP*Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/Q6*/Q7*/Q8*/LD    ;BORROW ENABLE
  48.     :+: /UP*/D1*/D2*/D3*/D4*/D5*/D6*/D7*/D8*LD    ;LOAD ZERO ENABLE
  49.                             ;
  50.                               ;
  51. /Q0    := Q0*/LD                      ;COUNT
  52.     +  LD                          ;LOAD ZERO
  53.  
  54.  
  55.                               ;
  56. /Q1    :=  /Q1*/LD                      ;HOLD Q1
  57.     +   /D1*LD                      ;LOAD D1
  58.  
  59.     :+: Q0*/LD*UP                      ;COUNT UP
  60.     +   /Q0*/LD*/UP                      ;COUNT DOWN
  61.                               ;
  62. /Q2    :=  /Q2*/LD                      ;HOLD Q2
  63.     +   /D2*LD                      ;LOAD D2
  64.     :+: Q0*Q1*/LD*UP                  ;COUNT UP
  65.     +   /Q0*/Q1*/LD*/UP                  ;COUNT DOWN
  66.                               ;
  67. /Q3    :=  /Q3*/LD                      ;HOLD Q3
  68.         +   /D3*LD                      ;LOAD D3
  69.     :+: Q0*Q1*Q2*/LD*UP                  ;COUNT UP
  70.     +   /Q0*/Q1*/Q2*/LD*/UP                ;COUNT DOWN
  71.                             ;
  72. /Q4    :=  /Q4*/LD                    ;HOLD Q4
  73.     +   /D4*LD                    ;LOAD D4
  74.     :+: Q0*Q1*Q2*Q3*/LD*UP                ;COUNT UP
  75.     +   /Q0*/Q1*/Q2*/Q3*/LD*/UP            ;COUNT DOWN
  76.                             ;
  77. /Q5    :=  /Q5*/LD                                ;HOLD Q5
  78.     +   /D5*LD                        ;LOAD D5
  79.     :+: Q0*Q1*Q2*Q3*Q4*/LD*UP                ;COUNT UP
  80.     +   /Q0*/Q1*/Q2*/Q3*/Q4*/LD*/UP                ;COUNT DOWN
  81.                                 ;
  82. /Q6    :=  /Q6*/LD                        ;HOLD Q6
  83.     +   /D6*LD                        ;LOAD D6
  84.     :+: Q0*Q1*Q2*Q3*Q4*Q5*/LD*UP                ;COUNT UP
  85.     +   /Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/LD*/UP            ;COUNT DOWN
  86.                                 ;
  87. /Q7    :=  /Q7*/LD                        ;HOLD Q7
  88.     +   /D7*LD                        ;LOAD D7
  89.     :+: Q0*Q1*Q2*Q3*Q4*Q5*Q6*/LD*UP                ;COUNT UP
  90.     +   /Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/Q6*/LD*/UP            ;COUNT DOWN
  91.                                 ;
  92. /Q8    :=  /Q8*/LD                        ;HOLD Q8
  93.     +   /D8*LD                               ;LOAD D8
  94.     :+: Q0*Q1*Q2*Q3*Q4*Q5*Q6*Q7*/LD*UP            ;COUNT UP
  95.     +   /Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/Q6*/Q7*/LD*/UP     ;COUNT DOWN
  96.                                                         ;
  97.  
  98. SIMULATION
  99.  
  100. TRACE_ON     CK /LD UP D1 D2 D3 D4 D5 D6 D7 D8
  101.              Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 /CEBEO
  102. SETF OE /CK                                ;RELIEVE 3-STATE
  103. SETF LD D1 D2 D3 D4 D5 D6 D7 D8 UP        ;LOAD Q1 - Q8 WITH
  104. CLOCKF CK                    ;ALL HIGHS Q0 LOW
  105. SETF /D1 /D2 /D3 /D4 /D5 /D6 /D7 /D8 /UP    ;LOAD Q0 - Q8 WITH
  106. CLOCKF CK                    ;ALL LOW. SET FOR
  107. SETF /LD                    ;DOWN COUNT. CLOCK
  108. CLOCKF CK                    ;COUNTER THROUGH
  109. CLOCKF CK                    ;ZERO TO MAX COUNT.
  110. SETF UP                        ;SET UP COUNT.
  111. FOR I := 1 TO 18 DO                ;COUNT UP TO 10HEX.
  112. BEGIN CLOCKF END                ;
  113. SETF LD D1 D2 D3 D4                 ;LOAD 1E HEX
  114.  
  115. CLOCKF                        ;COUNT UP TO 20 HEX
  116. SETF /LD                    ;
  117. CLOCKF CK CLOCKF CK                ;
  118. SETF LD D5                    ;LOAD 3E HEX
  119. CLOCKF CK                    ;COUNT TO 40HEX
  120. SETF /LD                    ;
  121. CLOCKF CK CLOCKF CK                ;
  122. SETF LD D6                    ;LOAD 7E HEX
  123. CLOCKF CK                    ;COUNT TO 80H
  124. SETF /LD                    ;
  125. CLOCKF CK CLOCKF CK                ;
  126. SETF LD D7                    ;LOAD FE HEX
  127. CLOCKF CK                    ;COUNT TO 100HEX
  128. SETF /LD                    ;
  129. CLOCKF CK CLOCKF CK                ;
  130. SETF LD D8                    ;LOAD 1FE HEX COUNT
  131. CLOCKF CK                    ;TO 200HEX.
  132. SETF /LD                    ;
  133. CLOCKF CK CLOCKF CK                ;
  134. TRACE_OFF                    ;
  135.