home *** CD-ROM | disk | FTP | other *** search
- 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.
-