DRAM
PLD
DESCRIPTIONS
"bu.
cycle
tracking
state.dlagr.m
[bu,cyc,pipecycl
.tate
[1,11:
"Idle
if
(!ad,
I
pclk)
then
[0,11
e I
,e
[1,
1 1 ;
,tate
[0,11:
".ctlve
if
(Iready
I
.d.
I
pclk)
el,e
If
(Iready
I
!.d.
el.e
[0,11;
,tate
[1,01:
"plpelined
if
(pclk>
then
[0,11
e I
,e
[1,
0 1 ;
st.te
[0,01:
"Illegal
got
a
[1,
1 1 ;
the
n
[1,
1 1
pclk)
then
[1,01
""II"llllt,"""""IIIIIIIIII"""IIII""II"IIIIIIIIII"II"1111""IIIIUIIHIIII"'IIIIIIIIIIIII"IIII"II"II""
start.diagram
[dram,tart,rowsell;
.tate
idle:
"wait
for
DRAM
or
refresh
cycle.
If
(pclk
I
!ad.
I mio I
select
I
!muxoe
I
!p.2
I
r.,Op
•
!refin
)
then
startdram
el,e
if
(pclk
I
!ad,
• mlo I
,elect
I
!muxoe
•
p.2
•
ra,lp
!refln)
then
,tartdram
el,e
If
(pclk
•
ad.
& mlo •
,elect.
!muxoe
•
ra,lp
•
ra.Op
•
!bu,cyc
•
!iready
•
!refln)
then
.tartdram
el,e
idle;
,t.te
,tartdram:
goto
coLden;
"
B5sert
dramstart
,tate
col.den:
"change
row,el
to
,elect
column
on
mux.
if
(pclk)
then
coLden2
else
coLden;
,tate
coLden2:
If
(polk)
then
Idle
el,e
coLden2;
""II""IIII"UIIII"IIII""""IIIIIIIIU"IIIIIIII"IIII""'III1IIInll""IIII'III""lllln'IIIII""IIIIOIIII""
.t.te.di.gram
[r.,OI;
,tate
ra,Oldle:
"wait
for
DRAM
or
refre,h
cycle,
if
(pclk
I
!ad,
•
miD
I
,elect.
!muxoe
I
!pa2
I
r.,Dp
!refin)
then
ra,Oaet
el.e
if
(pelk
I
,elect
I
miD'
!muxoe
&
!pa2
I
ra,Op
!bu,eye
•
!refln
I !
Iready)
then
ra,Oaet
el,e
if
(pelk
I muxoe I
!refadroe)
then
ra,Oaet
el.e
ra,Oidle;
,tate
ra.Daet:
"
."ert
r.,
for
bank 0
If
(pelk
I
reset)
then
ra,Oldle
else
if
(pelk
I
Iready)
then
rasOldle
else
if
(pclk
& muxoe &
ref.droe)
then
rasOldle
el!H!!
rasOactj
"IIII""""IIII""II""II"IIIIIIII'U"IIIIII"IIII""II"IIII"IIII""IIIIUII""IIII"""II""IIII"IIIIII""II
Figure 8-2. DRAMP1
PLD
Equations (Contd.)
8-3