home *** CD-ROM | disk | FTP | other *** search
- TITLE HIGH SPEED CASCADABLE
- ; NINE BIT UP/DOWN COUNTER.
- PATTERN 03.
- REVISION 01.
- AUTHOR CHRIS JAY.
- COMPANY MMI SANTA CLARA, CA.
- DATE 23 JUNE 1986.
-
- CHIP 9CASCNT PAL20X10
-
- CK UP D0 D1 D2 D3 D4 D5 D6 /CEI /LD GND
- /OE /CEBEO Q8 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 VCC
- ;
- ;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 TO RECIEVE A 'LOOK AHEAD' CARRY OR BOROW OUTPUT FROM
- ;THE SUCCEEDING REGISTERS IN A DUAL CASCADED COUNTER CONFIGURATION.
- ;THERE ARE NINE REGISTERS IN THE COUNTER, THAT ARE USED FOR THE
- ;COUNT FUNCTION. AND THE ADDITIONAL REGISTER IS USED FOR A CEBEO,
- ;COUNT/BORROW ENABLE OUTPUT IF FURTHER CASCADING IS NEEDED.
- ;TWO COUNTERS MAY BE CASCADED GIVING A HIGH SPEED 18 BIT
- ;COUNTER CONFIGURATION. THIS PAL DEVICE HAS BEEN DESIGNED TO
- ;BE LOADED FROM AN SEVEN BIT DATA BUS, THE TWO MOST SIGNIFICANT
- ;REGISTERS IN THE COUNTER IS ALWAYS LOADED WITH A LOGIC LOW.
- ;
- ; /CEI = L
- ;
- ; /LD UP DATA REGISTERS
- ; _______ _______ _______________________________
- ; | | | |
- ; | L | X | Q7 = Q8 := 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 ;UP COUNT ENABLE
- + /UP*/Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/Q6*/Q7*/Q8*/LD ;DOWN COUNT ENABLE
- :+: /UP*/D0*/D1*/D2*/D3*/D4*/D5*/D6*LD ;ALL LOW ENABLE
- ;
- ;
- /Q0 := /Q0*/LD*/CEI ;HOLD Q0
- + Q0*/LD*CEI ;TOGGLE Q0
- :+: LD*/D0 ;LOAD D0
- ;
- /Q1 := /Q1*/LD ;HOLD Q1
- + /D1*LD ;LOAD D1
- :+: Q0*/LD*UP*CEI ;UP COUNT
- + /Q0*/LD*/UP*CEI ;DOWN COUNT
- ;
- /Q2 := /Q2*/LD ;HOLD Q2
- + /D2*LD ;LOAD D2
- :+: Q0*Q1*/LD*UP*CEI ;UP COUNT
- + /Q0*/Q1*/LD*/UP*CEI ;DOWN COUNT
- ;
- /Q3 := /Q3*/LD ;HOLD Q3
- + /D3*LD ;LOAD D3
- :+: Q0*Q1*Q2*/LD*UP*CEI ;UP COUNT
- + /Q0*/Q1*/Q2*/LD*/UP*CEI ;DOWN COUNT
- ;
- /Q4 := /Q4*/LD ;HOLD Q4
- + /D4*LD ;LOAD D4
- :+: Q0*Q1*Q2*Q3*/LD*UP*CEI ;UP COUNT
- + /Q0*/Q1*/Q2*/Q3*/LD*/UP*CEI ;DOWN COUNT
- ;
- /Q5 := /Q5*/LD ;HOLD Q5
- + /D5*LD ;LOAD D5
- :+: Q0*Q1*Q2*Q3*Q4*/LD*UP*CEI ;UP COUNT
- + /Q0*/Q1*/Q2*/Q3*/Q4*/LD*/UP*CEI ;DOWN COUNT
- ;
- /Q6 := /Q6*/LD ;HOLD Q6
- + /D6*LD ;LOAD D6
- :+: Q0*Q1*Q2*Q3*Q4*Q5*/LD*UP*CEI ;UP COUNT
- + /Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/LD*/UP*CEI ;DOWN COUNT
- ;
- /Q7 := /Q7*/LD ;HOLD Q7
- + LD ;LOAD LOGIC LOW
- :+: Q0*Q1*Q2*Q3*Q4*Q5*Q6*/LD*UP*CEI ;UP COUNT
- + /Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/Q6*/LD*/UP*CEI ;DOWN COUNT
- ;
- /Q8 := /Q8*/LD ;HOLD Q8
- + LD ;LOAD LOGIC LOW
- :+: Q0*Q1*Q2*Q3*Q4*Q5*Q6*Q7*/LD*UP*CEI ;UP COUNT
- + /Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/Q6*/Q7*/LD*/UP*CEI ;DOWN COUNT
- ;
-
- SIMULATION
-
- TRACE_ON CK /LD UP D0 D1 D2 D3 D4 D5 D6 /CEI
- Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 /CEBEO
- SETF OE /CK CEI ;RELIEVE 3-STATE
- SETF LD D0 D1 D2 D3 D4 D5 D6 UP ;LOAD Q0 - Q6 WITH
- CLOCKF CK ;ALL HIGHS Q0 LOW
- SETF /D0 /D1 /D2 /D3 /D4 /D5 /D6 /UP ;LOAD Q0 - Q6 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 D0 D1 D2 D3 D4 ;LOAD 1F HEX
- CLOCKF ;COUNT UP TO 20 HEX
- SETF /LD ;
- CLOCKF CK ;
- SETF LD D5 ;LOAD 3F HEX
- CLOCKF CK ;COUNT TO 40HEX
- SETF /LD ;
- CLOCKF CK ;
- SETF LD D6 ;LOAD 7F HEX
- CLOCKF CK ;COUNT TO 80H
- SETF /LD ;
- CLOCKF CK ;
- PRLDF Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 /Q8 ;LOAD FF HEX
- CLOCKF CK ;COUNT TO 100H
- TRACE_OFF