home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HAM Radio 1
/
HamRadio.cdr
/
tech
/
palsum5
/
udcount.pds
< prev
next >
Wrap
Text File
|
1987-08-26
|
4KB
|
132 lines
TITLE TEN BIT COUNT
; HIGH SPEED.
PATTERN 01.
REVISION 01.
AUTHOR CHRIS JAY.
COMPANY MMI SANTA CLARA, CA.
DATE 4 JUNE 1986.
CHIP 10COUNT PAL20X10
;PINS 1 2 3 4 5 6
CLK /LD D1 D2 D3 D4
;PINS 7 8 9 10 11 12
D5 D6 D7 D8 UP GND
;PINS 13 14 15 16 17 18
/OE Q9 Q8 Q7 Q6 Q5
;PINS 19 20 21 22 23 24
Q4 Q3 Q2 Q1 Q0 VCC
;
;THE PAL20X10 HAS BEEN DESIGNED AS A 10 BIT LOADABLE UP/DOWN COUNTER
;FOR HIGH SPEED WIDE COUNT APPLICATIONS. THE COUNTER IS NON CASCADABLE,
;HAVING COUNTER OUTPUTS Q0 TO Q9, THERE IS A LOAD INPUT /LD AND AN UP/
;DOWN CONTROL. DATA INPUTS ARE D1 TO D8, BOTH LOAD AND COUNT OPERATIONS
;ARE SYNCHRONISED TO THE RISING EDGE OF A CLOCK INPUT APPLIED TO PIN 1
;OF THE PAL.THE Q OUTPUT CONDITION CAN BE CONTROLLED BY /OE, AT PIN 13.
;REGISTERS Q1 TO Q8 ARE LOADED THROUGH THE D1 TO D8 INPUTS, Q0 IS ALWAYS
;LOADED WITH A LOGIC LOW AND THE UP/DOWN CONTROL (UP) IS USED TO LOAD Q9
;WHEN THE COUNTER IS IN THE LOAD MODE.
;
; TRUTH TABLE
;
; /LD UP
; _______ _______
; | | |
; COUNT DOWN | H | L | QN := QN - 1
; |-------|-------|
; COUNT UP | H | H | QN := QN + 1
; |-------|-------|
; LOAD | L | D9 | Q0 := 0, Q9 := UP, QN := DN
; |_______|_______|
;
EQUATIONS
/Q0 := Q0*/LD ;COUNT
+ LD ;LOAD
:+: GND + GND ;
/Q1 := /Q1*/LD ;HOLD
+ /D1*LD ;LOAD
:+: Q0*/LD*UP ;COUNT UP
+ /Q0*/LD*/UP ;COUNT DOWN
/Q2 := /Q2*/LD ;HOLD
+ /D2*LD ;LOAD
:+: Q0*Q1*/LD*UP ;COUNT UP
+ /Q0*/Q1*/LD*/UP ;COUNT DOWN
/Q3 := /Q3*/LD ;HOLD
+ /D3*LD ;LOAD
:+: Q0*Q1*Q2*/LD*UP ;COUNT UP
+ /Q0*/Q1*/Q2*/LD*/UP ;COUNT DOWN
/Q4 := /Q4*/LD ;HOLD
+ /D4*LD ;LOAD
:+: Q0*Q1*Q2*Q3*/LD*UP ;COUNT UP
+ /Q0*/Q1*/Q2*/Q3*/LD*/UP ;COUNT DOWN
/Q5 := /Q5*/LD ;HOLD
+ /D5*LD ;LOAD
:+: Q0*Q1*Q2*Q3*Q4*/LD*UP ;COUNT UP
+ /Q0*/Q1*/Q2*/Q3*/Q4*/LD*/UP ;COUNT DOWN
/Q6 := /Q6*/LD ;HOLD
+ /D6*LD ;LOAD
:+: Q0*Q1*Q2*Q3*Q4*Q5*/LD*UP ;COUNT UP
+ /Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/LD*/UP ;COUNT DOWN
/Q7 := /Q7*/LD ;HOLD
+ /D7*LD ;LOAD
:+: 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
+ /D8*LD ;LOAD
:+: Q0*Q1*Q2*Q3*Q4*Q5*Q6*Q7*/LD*UP ;COUNT UP
+ /Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/Q6*/Q7*/LD*/UP ;COUNT DOWN
/Q9 := /Q9*/LD ;HOLD
+ /UP*LD ;LOAD
:+: Q0*Q1*Q2*Q3*Q4*Q5*Q6*Q7*Q8*/LD*UP ;COUNT UP
+ /Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/Q6*/Q7*/Q8*/LD*/UP ;COUNT DOWN
SIMULATION
TRACE_ON D1 D2 D3 D4 D5 D6 D7 D8 UP ;ENABLE TRACE
CLK /LD Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 ;ON ALL PINS
SETF OE /CLK ;ENABLE O/P
SETF LD D1 D2 D3 D4 D5 D6 D7 D8 UP ;TEST FOR
CLOCKF ;LOAD ALL HIGH
SETF /D1 /D2 /D3 /D4 /D5 /D6 /D7 /D8 /UP ;TEST FOR LOAD
CLOCKF ;ALL LOW
SETF /LD /UP ;TEST DOWN
CLOCKF ;COUNT AND
SETF UP ;ROLL UNDER
FOR I := 0 TO 17 DO ;CLOCK THROUGH
BEGIN ;ZERO TO 0FHEX
CLOCKF ;
END ;
SETF LD D1 D2 D3 D4 D5 /UP ;LOAD 1E HEX
CLOCKF ;
SETF /LD UP ;CHECK FOR
CLOCKF CLOCKF ;INCREMENT TO
SETF LD /UP D6 ;20HEX.
CLOCKF ;LOAD 3EHEX
SETF /LD UP ;CHECK FOR
CLOCKF CLOCKF ;INCREMENT TO
SETF LD /UP D7 ;40HEX. LOAD
CLOCKF ;FEHEX CHECK
SETF /LD UP ;FOR INCREMENT
CLOCKF CLOCKF ;TO 100HEX
SETF LD /UP D8 ;LOAD 1FE HEX
CLOCKF ;CHECK FOR
SETF LD UP ;INCREMENT TO
CLOCKF CLOCKF ;200HEX
SETF /LD UP ;3FEHEX
CLOCKF CLOCKF ;TEST FOR WRAP
TRACE_OFF ;AROUND TO ZERO.