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