home *** CD-ROM | disk | FTP | other *** search
-
- TITLE LIFO RAM CONTROLLER.
- PATTERN 2B.
- REVISION 02.
- AUTHOR CHRIS JAY.
- COMPANY MMI SANTA CLARA, CA.
- DATE 23 SEPTEMBER 1986.
- ;REVISION DATE 12 APRIL 1987.
- ;
- ;SEVEN BIT UP/DOWN COUNTER TO SUPPLY ADDRESS
- ;INPUTS A6 - A12 TO A 8K CMOS RAM ARRAY THAT
- ;IS CONTROLLED AS A LAST IN FIRST OUT STACK
- ;THE COUNTER WILL INCREMENT BEFORE AN ACTIVE
- ;WRITE AND DECREMENT AFTER AN ACTIVE READ OF
- ;THE MEMORY. AN ACTIVE READ IS POP OPERATION AND
- ;A WRITE OPERATION IS THE EXECUTION OF A PUSH CYCLE.
- ;THE CONTROL SIGNALS APPLIED TO THE INPUTS
- ;ARE FROM A PAL32VX10 DESIGNED AS A COUNTER
- ;AND CONTROLLER CHIP TO THE CMOS RAM ARRAY.
- ;THERE IS A STACK FULL FLAG WHICH WILL BECOME
- ;ASSERTED WHEN THE RAM IS COMPLETELY
- ;FILLED.
- ;
- CHIP LIFOCONT PAL20X8
- ;
- ;PIN 1 2 3 4 5 6
- CLK /RST CEI PUSH POP NC
-
- ;PIN 7 8 9 10 11 12
- NC NC NC NC NC GND
-
- ;PIN 13 14 15 16 17 18
- /OE NC Q6 Q7 Q8 Q9
-
- ;PIN 19 20 21 22 23 23
- Q10 Q11 Q12 /STKFL NC VCC
-
- STRING UP 'CEI*/RST*PUSH'
- STRING DN 'CEI*/RST*POP'
-
- EQUATIONS
- ;
- /Q6 := /Q6 ;HOLD
- + RST ;RESET
- :+: CEI*/RST ;COUNT
- ;
- /Q7 := /Q7 ;HOLD
- + RST ;RESET
- :+: Q6*UP ;COUNT UP
- + /Q6*DN ;COUNT DOWN
- ;
- /Q8 := /Q8 ;HOLD
- + RST ;RESET
- :+: Q6*Q7*UP ;COUNT UP
- + /Q6*/Q7*DN ;COUNT DOWN
- ;
- /Q9 := /Q9 ;HOLD
- + RST ;RESET
- :+: Q6*Q7*Q8*UP ;COUNT UP
- + /Q6*/Q7*/Q8*DN ;COUNT DOWN
- ;
- /Q10 := /Q10 ;HOLD
- + RST ;RESET
- :+: Q6*Q7*Q8*Q9*UP ;COUNT UP
- + /Q6*/Q7*/Q8*/Q9*DN ;DOWN COUNT
- ;
- /Q11 := /Q11 ;HOLD
- + RST ;RESET
- :+: Q6*Q7*Q8*Q9*Q10*UP ;COUNT UP
- + /Q6*/Q7*/Q8*/Q9*/Q10*DN ;COUNT DOWN
- ;
- /Q12 := /Q12 ;HOLD
- + RST ;RESET
- :+: Q6*Q7*Q8*Q9*Q10*Q11*UP ;COUNT UP
- + /Q6*/Q7*/Q8*/Q9*/Q10*/Q11*DN ;COUNT DOWN
- ;SET STACK
- STKFL := Q6*Q7*Q8*Q9*Q10*Q11*Q12*/RST*CEI ;FULL WHEN
- ;ALL REGS HIGH
- ;
- SIMULATION ;
- TRACE_ON CLK RST PUSH POP ;
- CEI ;
- Q6 Q7 Q8 Q9 Q10 ;
- Q11 Q12 /STKFL ;
- SETF OE /CLK RST /CEI ;SET ALL SIGNALS
- /PUSH /POP ;INACTIVE EXCEPT
- CLOCKF CLK ;RESET. CLOCK
- SETF /RST CEI ;RESET INPUT.
- CLOCKF CLK ;ENABLE COUNTER
- SETF /PUSH POP ;INPUT. ENABLE POP
- FOR I := 0 TO 32 DO ;INPUT.
- BEGIN CLOCKF CLK ;32 CLOCK PULSES.
- END ;TO INVOKE 32 POP
- SETF PUSH /POP ;COMMANDS.
- FOR I := 0 TO 32 DO ;ENABLE PUSH.
- BEGIN CLOCKF CLK ;DISABLE POP
- END ;APPLY 32 CLOCK
- TRACE_OFF ;PULSES.
- ;