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