home *** CD-ROM | disk | FTP | other *** search
- TITLE HIGH SPEED CASCADABLE
- ; NINE BIT UP/DOWN COUNTER.
- PATTERN 02.
- REVISION 01.
- AUTHOR CHRIS JAY.
- COMPANY MMI SANTA CLARA, CA.
- DATE 23 JUNE 1986.
-
- CHIP 9CASCNT PAL20X10
-
- CK UP D1 D2 D3 D4 D5 D6 D7 D8 /LD GND
- /OE /CEBEO Q8 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 VCC
- ;O
- ;THE NEW PAL DEVICE SERIES 24XA HAVE ENHANCED SPEED PERFORMANCE OVER
- ;THE STANDARD PAL24X SERIES, WITH AN IMPROVED CLOCK INPUT FREQUENCY.
- ;THE PAL20XA10 HAS BEEN DESIGNED AS AN UP/DOWN COUNTER, WITH THE
- ;CAPABILITY OF PROVIDING A 'LOOK AHEAD' CARRY OR BOROW OUTPUT TO
- ;THE SUCCEEDING REGISTERS IN A DUAL CASCADED COUNTER CONFIGURATION.
- ;THERE ARE NINE REGISTERS IN THE COUNTER, AND ONE REGISTER FOR
- ;CARRY/BOROW OUT. THE 'LOOK AHEAD' FEATURE PERMITS THE USE OF THE
- ;MAXIMUM CLOCK FREQUENCY OF 22.2MHZ BY AVOIDING PROPAGATION DELAYS
- ;ASSOCIATED WITH THE COMBINATIONAL ENCODING AND PROPAGATION OF THE
- ;MAXIMUM COUNT. TWO COUNTERS MAY BE CASCADED GIVING A HIGH SPEED
- ;18 BIT COUNTER CONFIGURATION. THIS COUNTER HAS BEEN DESIGNED TO
- ;BE LOADED FROM AN EIGHT BIT DATA BUS, THE LEAST SIGNIFICANT
- ;REGISTER IN THE COUNTER IS ALWAYS LOADED WITH A LOGIC LOW.
- ;R
- ; /LD UP DATA REGISTERS
- ; _______ _______ _______________________________
- ; | | | |
- ; | L | X | Q0 := LOW, QN := DN | LOAD
- ; |_______|_______|_______________________________|
- ; | | | |
- ; | H | L | Q N := Q N-1 | COUNT DOWN
- ; |_______|_______|_______________________________|
- ; | | | |
- ; | H | H | Q N := Q N + 1 | COUNT UP
- ; |_______|_______|_______________________________|
- ;
- ; UP = H ; /LD = H CEBEO := L ;Q N := MAX COUNT
- ; UP = L ; /LD = H CEBEO := L ;Q N := MIN COUNT
- ; UP = L ; /LD = L CEBEO := L ;Q N := MIN COUNT
- ;
- EQUATIONS
-
- CEBEO := UP*/Q0*Q1*Q2*Q3*Q4*Q5*Q6*Q7*Q8*/LD ;CARRY ENABLE
- + /UP*Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/Q6*/Q7*/Q8*/LD ;BORROW ENABLE
- :+: /UP*/D1*/D2*/D3*/D4*/D5*/D6*/D7*/D8*LD ;LOAD ZERO ENABLE
- ;
- ;
- /Q0 := Q0*/LD ;COUNT
- + LD ;LOAD ZERO
-
-
- ;
- /Q1 := /Q1*/LD ;HOLD Q1
- + /D1*LD ;LOAD D1
-
- :+: Q0*/LD*UP ;COUNT UP
- + /Q0*/LD*/UP ;COUNT DOWN
- ;
- /Q2 := /Q2*/LD ;HOLD Q2
- + /D2*LD ;LOAD D2
- :+: Q0*Q1*/LD*UP ;COUNT UP
- + /Q0*/Q1*/LD*/UP ;COUNT DOWN
- ;
- /Q3 := /Q3*/LD ;HOLD Q3
- + /D3*LD ;LOAD D3
- :+: Q0*Q1*Q2*/LD*UP ;COUNT UP
- + /Q0*/Q1*/Q2*/LD*/UP ;COUNT DOWN
- ;
- /Q4 := /Q4*/LD ;HOLD Q4
- + /D4*LD ;LOAD D4
- :+: Q0*Q1*Q2*Q3*/LD*UP ;COUNT UP
- + /Q0*/Q1*/Q2*/Q3*/LD*/UP ;COUNT DOWN
- ;
- /Q5 := /Q5*/LD ;HOLD Q5
- + /D5*LD ;LOAD D5
- :+: Q0*Q1*Q2*Q3*Q4*/LD*UP ;COUNT UP
- + /Q0*/Q1*/Q2*/Q3*/Q4*/LD*/UP ;COUNT DOWN
- ;
- /Q6 := /Q6*/LD ;HOLD Q6
- + /D6*LD ;LOAD D6
- :+: Q0*Q1*Q2*Q3*Q4*Q5*/LD*UP ;COUNT UP
- + /Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/LD*/UP ;COUNT DOWN
- ;
- /Q7 := /Q7*/LD ;HOLD Q7
- + /D7*LD ;LOAD D7
- :+: Q0*Q1*Q2*Q3*Q4*Q5*Q6*/LD*UP ;COUNT UP
- + /Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/Q6*/LD*/UP ;COUNT DOWN
- ;
- /Q8 := /Q8*/LD ;HOLD Q8
- + /D8*LD ;LOAD D8
- :+: Q0*Q1*Q2*Q3*Q4*Q5*Q6*Q7*/LD*UP ;COUNT UP
- + /Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/Q6*/Q7*/LD*/UP ;COUNT DOWN
- ;
-
- SIMULATION
-
- TRACE_ON CK /LD UP D1 D2 D3 D4 D5 D6 D7 D8
- Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 /CEBEO
- SETF OE /CK ;RELIEVE 3-STATE
- SETF LD D1 D2 D3 D4 D5 D6 D7 D8 UP ;LOAD Q1 - Q8 WITH
- CLOCKF CK ;ALL HIGHS Q0 LOW
- SETF /D1 /D2 /D3 /D4 /D5 /D6 /D7 /D8 /UP ;LOAD Q0 - Q8 WITH
- CLOCKF CK ;ALL LOW. SET FOR
- SETF /LD ;DOWN COUNT. CLOCK
- CLOCKF CK ;COUNTER THROUGH
- CLOCKF CK ;ZERO TO MAX COUNT.
- SETF UP ;SET UP COUNT.
- FOR I := 1 TO 18 DO ;COUNT UP TO 10HEX.
- BEGIN CLOCKF END ;
- SETF LD D1 D2 D3 D4 ;LOAD 1E HEX
-
- CLOCKF ;COUNT UP TO 20 HEX
- SETF /LD ;
- CLOCKF CK CLOCKF CK ;
- SETF LD D5 ;LOAD 3E HEX
- CLOCKF CK ;COUNT TO 40HEX
- SETF /LD ;
- CLOCKF CK CLOCKF CK ;
- SETF LD D6 ;LOAD 7E HEX
- CLOCKF CK ;COUNT TO 80H
- SETF /LD ;
- CLOCKF CK CLOCKF CK ;
- SETF LD D7 ;LOAD FE HEX
- CLOCKF CK ;COUNT TO 100HEX
- SETF /LD ;
- CLOCKF CK CLOCKF CK ;
- SETF LD D8 ;LOAD 1FE HEX COUNT
- CLOCKF CK ;TO 200HEX.
- SETF /LD ;
- CLOCKF CK CLOCKF CK ;
- TRACE_OFF ;