216
EXTERNAL
SRAM
SRAM devices. The Xilinx Spartan-3 device also contains smaller embedded memory
blocks. The use of this memory is discussed in Chapter
11.
10.2 SPECIFICATION OF THE IS61 LV25616AL SRAM
10.2.1
Block
diagram and
I/O
signals
The S3 board has two IS61LV25616AL devices, which are 256K-by-16 SRAM manufac-
tured by Integrated Silicon Solution, Inc.
(ISSI).
A
simplified block diagram is shown in
Figure lO.l(a). This device has an 18-bit address bus,
ad,
a bidirectional 16-bit data bus,
dio,
and five control signals. The data bus is divided into upper and lower bytes, which
can be accessed individually. The five control signals are:
0
cen
(chip enable): disables or enables the chip
0
wen
(write enable): disables or enables the write operation
0
oen
(output enable): disables or enables the output
0
lbn
(lower byte enable): disables or enables the lower byte of the data bus
0
ubn
(upper byte enable): disables or enables the upper byte of the data bus
All these signals are active low and the
n
suffix is used to emphasize this property. The
functional table is shown in Figure lO.l(b). The
cen
signal can be used to accommodate
memory expansion, and the
wen
and
oen
signals
are
used for write and read operations.
The
lbn
and
ubn
signals are used to facilitate the byte-oriented configuration.
In the remainder of the chapter, we illustrate the design and timing issues of a memory
controller. For clarity, we use one SRAM device and access the SRAM in 16-bit word
format. This means that the
cen, lbn,
and
ubn
signals should always be activated (i.e.,
tied to
'0').
The simplified functional table is shown in Figure lO.l(c).
10.2.2
Timing parameters
The timing characteristics of an asynchronous SRAM are quite complex and involve more
than two dozen parameters. We concentrate only on a few key parameters that are relevant
to
our
design.
The simplified timing diagrams for two types of read operations are shown in Fig-
ure 10.2(a) and (b). The relevant timing parameters are:
0
~RC:
read cycle time, the minimal elapsed time between two read operations. It is
about the same as
tAA
for SRAM.
0
~AA:
address access time, the time required to obtain stable output data after an
address change.
0
toHA:
output hold time, the time that the output data remains valid after the address
changes. This should not be confused with the hold time of an edge-triggered FF,
which is a constraint for the
d
input.
tDOE:
output enable access time, the time required to obtain valid data after
oen
is
activated.
0
tHZOE:
output enable to high-Z time, the time for the tri-state buffer to enter the
high-impedance state after
oen
is deactivated.
0
tLZOE:
output enable to low-Z time, the time for the tri-state buffer to leave the
high-impedance state after
oen
is
activated. Note that even when the output is no
longer in the high-impedance state, the data is still invalid.
Values of these parameters for the IS61LV25616AL device are shown in Figure 10.2(c).