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

  1. TITLE        HIGH SPEED CASCADABLE 
  2. ;        NINE BIT UP/DOWN COUNTER.
  3. PATTERN        03.
  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 D0 D1 D2 D3 D4 D5 D6 /CEI /LD GND
  12. /OE /CEBEO Q8 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 VCC
  13. ;
  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 TO RECIEVE A 'LOOK AHEAD' CARRY OR BOROW OUTPUT FROM
  18. ;THE SUCCEEDING REGISTERS IN A DUAL CASCADED COUNTER CONFIGURATION.
  19. ;THERE ARE NINE REGISTERS IN THE COUNTER, THAT ARE USED FOR THE
  20. ;COUNT FUNCTION. AND THE ADDITIONAL REGISTER IS USED FOR A CEBEO,
  21. ;COUNT/BORROW ENABLE OUTPUT IF FURTHER CASCADING IS NEEDED.
  22. ;TWO COUNTERS MAY BE CASCADED GIVING A HIGH SPEED 18 BIT
  23. ;COUNTER CONFIGURATION. THIS PAL DEVICE HAS BEEN DESIGNED TO
  24. ;BE LOADED FROM AN SEVEN BIT DATA BUS, THE TWO MOST SIGNIFICANT 
  25. ;REGISTERS IN THE COUNTER IS ALWAYS LOADED WITH A LOGIC LOW. 
  26. ;
  27. ;            /CEI = L
  28. ;
  29. ;       /LD     UP          DATA          REGISTERS   
  30. ;     _______ _______ _______________________________
  31. ;    |    |    |                |
  32. ;    |   L    |   X    |  Q7 = Q8 := LOW, QN := DN    | LOAD
  33. ;    |_______|_______|_______________________________|    
  34. ;    |    |    |                |
  35. ;    |   H    |   L    |     Q N := Q N-1        | COUNT DOWN
  36. ;    |_______|_______|_______________________________|
  37. ;    |    |    |                |
  38. ;    |   H    |   H    |     Q N := Q N + 1     | COUNT UP
  39. ;    |_______|_______|_______________________________|
  40. ;
  41. ;    UP  = H ;  /LD = H         CEBEO := L    ;Q N := MAX COUNT    
  42. ;    UP  = L ;  /LD = H         CEBEO := L    ;Q N := MIN COUNT
  43. ;    UP  = L ;  /LD = L       CEBEO := L    ;Q N := MIN COUNT
  44. ;                
  45. EQUATIONS
  46.  
  47. CEBEO   := UP*Q0*Q1*Q2*Q3*Q4*Q5*Q6*Q7*Q8*/LD        ;UP COUNT ENABLE
  48.     + /UP*/Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/Q6*/Q7*/Q8*/LD    ;DOWN COUNT ENABLE
  49.     :+: /UP*/D0*/D1*/D2*/D3*/D4*/D5*/D6*LD        ;ALL LOW ENABLE
  50.                             ;
  51.                               ;
  52. /Q0    :=  /Q0*/LD*/CEI                  ;HOLD Q0
  53.     +   Q0*/LD*CEI                    ;TOGGLE Q0
  54.     :+: LD*/D0                      ;LOAD D0
  55.                               ;
  56. /Q1    :=  /Q1*/LD                      ;HOLD Q1
  57.     +   /D1*LD                      ;LOAD D1
  58.     :+: Q0*/LD*UP*CEI                  ;UP COUNT
  59.     +   /Q0*/LD*/UP*CEI                  ;DOWN COUNT
  60.                               ;
  61. /Q2    :=  /Q2*/LD                      ;HOLD Q2
  62.     +   /D2*LD                      ;LOAD D2
  63.     :+: Q0*Q1*/LD*UP*CEI                  ;UP COUNT
  64.     +   /Q0*/Q1*/LD*/UP*CEI                  ;DOWN COUNT
  65.                               ;
  66. /Q3    :=  /Q3*/LD                      ;HOLD Q3
  67.         +   /D3*LD                      ;LOAD D3
  68.     :+: Q0*Q1*Q2*/LD*UP*CEI                  ;UP COUNT
  69.     +   /Q0*/Q1*/Q2*/LD*/UP*CEI              ;DOWN COUNT
  70.                             ;
  71. /Q4    :=  /Q4*/LD                    ;HOLD Q4
  72.     +   /D4*LD                    ;LOAD D4
  73.     :+: Q0*Q1*Q2*Q3*/LD*UP*CEI            ;UP COUNT
  74.     +   /Q0*/Q1*/Q2*/Q3*/LD*/UP*CEI            ;DOWN COUNT
  75.                             ;
  76. /Q5    :=  /Q5*/LD                                ;HOLD Q5
  77.     +   /D5*LD                        ;LOAD D5
  78.     :+: Q0*Q1*Q2*Q3*Q4*/LD*UP*CEI                ;UP COUNT
  79.     +   /Q0*/Q1*/Q2*/Q3*/Q4*/LD*/UP*CEI            ;DOWN COUNT
  80.                                 ;
  81. /Q6    :=  /Q6*/LD                        ;HOLD Q6
  82.     +   /D6*LD                        ;LOAD D6
  83.     :+: Q0*Q1*Q2*Q3*Q4*Q5*/LD*UP*CEI            ;UP COUNT
  84.     +   /Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/LD*/UP*CEI            ;DOWN COUNT
  85.                                 ;
  86. /Q7    :=  /Q7*/LD                        ;HOLD Q7
  87.     +   LD                            ;LOAD LOGIC LOW
  88.     :+: Q0*Q1*Q2*Q3*Q4*Q5*Q6*/LD*UP*CEI            ;UP COUNT
  89.     +   /Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/Q6*/LD*/UP*CEI     ;DOWN COUNT
  90.                                 ;
  91. /Q8    :=  /Q8*/LD                        ;HOLD Q8
  92.     +   LD                                   ;LOAD LOGIC LOW
  93.     :+: Q0*Q1*Q2*Q3*Q4*Q5*Q6*Q7*/LD*UP*CEI            ;UP COUNT
  94.     +   /Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/Q6*/Q7*/LD*/UP*CEI ;DOWN COUNT
  95.                                                         ;
  96.  
  97. SIMULATION
  98.  
  99. TRACE_ON     CK /LD UP D0 D1 D2 D3 D4 D5 D6 /CEI 
  100.              Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 /CEBEO
  101. SETF OE /CK CEI                          ;RELIEVE 3-STATE
  102. SETF LD D0 D1 D2 D3 D4 D5 D6 UP            ;LOAD Q0 - Q6 WITH
  103. CLOCKF CK                    ;ALL HIGHS Q0 LOW
  104. SETF /D0 /D1 /D2 /D3 /D4 /D5 /D6 /UP        ;LOAD Q0 - Q6 WITH
  105. CLOCKF CK                    ;ALL LOW. SET FOR
  106. SETF /LD                    ;DOWN COUNT. CLOCK
  107. CLOCKF CK                    ;COUNTER THROUGH
  108. CLOCKF CK                    ;ZERO TO MAX COUNT.
  109. SETF UP                        ;SET UP COUNT.
  110. FOR I := 1 TO 18 DO                ;COUNT UP TO 10HEX.
  111. BEGIN CLOCKF END                ;
  112. SETF LD D0 D1 D2 D3 D4                 ;LOAD 1F HEX
  113. CLOCKF                        ;COUNT UP TO 20 HEX
  114. SETF /LD                    ;
  115. CLOCKF CK                    ;
  116. SETF LD D5                    ;LOAD 3F HEX
  117. CLOCKF CK                    ;COUNT TO 40HEX
  118. SETF /LD                    ;
  119. CLOCKF CK                    ;
  120. SETF LD D6                    ;LOAD 7F HEX
  121. CLOCKF CK                    ;COUNT TO 80H
  122. SETF /LD                    ;
  123. CLOCKF CK                     ;
  124. PRLDF Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 /Q8        ;LOAD FF HEX
  125. CLOCKF CK                    ;COUNT TO 100H
  126. TRACE_OFF    
  127.