IDT IDT72841L12PF

IDT72801
IDT72811
IDT72821
IDT72831
IDT72841
DUAL CMOS SyncFIFO
Integrated Device Technology, Inc.
FEATURES:
• The 72801 is equivalent to two 72201 256 x 9 FIFOs
• The 72811 is equivalent to two 72211 512 x 9 FIFOs
• The 72821 is equivalent to two 72221 1024 x 9 FIFOs
• The 72831 is equivalent to two 72231 2048 x 9 FIFOs
• The 72841 is equivalent to two 72241 4096 x 9 FIFOs
• Offers optimal combination of large capacity, high speed,
design flexibility and small footprint
• Ideal for prioritization, bidirectional, and width expansion
applications
• 15 ns read/write cycle time FOR THE 72801/72811
• 20 ns read/write cycle time FOR THE 72821/72831/72841
• Separate control lines and data lines for each FIFO
• Separate empty, full, programmable almost-empty and
almost-full flags for each FIFO
• Enable puts output data lines in high-impedance state
• Space-saving 64-pin Thin Quad Flat Pack (TQFP)
• Industrial temperature range (-40OC to +85OC) is available, tested to military electrical specifications
DESCRIPTION:
72801/72811/72821/72831/72841 are dual synchronous
64
63
62
61
60
59
58
57
56
55
54
53
52
51
50
49
QA0
GND
QB8
QB7
QB6
QB5
QB4
QB3
QB2
QB1
FFA
EFA
OEA
RENA2
RCLKA
RENA1
PIN CONFIGURATION
(clocked) FIFOs. The device is functionally equivalent to two
72201/72211/72221/72231/72241 FIFOs in a single package
with all associated control, data, and flag lines assigned to
separate pins.
Each of the two FIFOs (designated FIFO A and FIFO B)
contained in the 72801/72811/72821/72831/72841 has a 9bit input data port (DA0 - DA8), DB0 - DB8) and a 9-bit output
data port (QA0 - QA8, QB0 - QB8). Each input port is
controlled by a free-running clock(WCLKA, WCLKB), and two
write enable pins (WENA1, WENA2, WENB1, WENB2). Data
is written into each of the two arrays on every rising clock edge
of the write clock (WCLKA WCLKB) when the appropriate
write enable pins are asserted.
The output port of each FIFO bank is controlled by its
associated clock pin (RCLKA, RCLKB) and two read enable
pins (RENA1, RENA2, RENB1, RENB2). The read clock can
be tied to the write clock for single clock operation or the two
clocks can run asynchronous of one another for dual clock
operation. An output enable pin (OEA, OEB) is provided on the
read port of each FIFO for three-state output control .
Each of the two FIFOs has two fixed flags, empty (EFA, EFB)
and full (FFA, FFB). Two programmable flags, almost-empty
(PAEA, PAEB) and almost-full (PAFA, PAFB), are provided for
WENA2/LDA
WCLKA
WENA1
RSA
PN64-1
TQFP,
TOP VIEW
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
QB0
FFB
EFB
OEB
RENB2
RCLKB
RENB1
GND
VCC
PAEB
PAFB
DB0
DB1
DB2
DB3
DB4
DB8
DB7
DB6
DB5
DA5
DA4
DA3
DA2
DA1
DA0
PAFA
PAEA
WENB2/LDB
WCLKB
WENB1
RSB
DA8
DA7
DA6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
QA1
QA2
QA3
QA4
QA5
QA6
QA7
QA8
VCC
3034 drw 01
SyncFIFO is a trademark and the IDT logo is a registered trademark of Integrated Device Technology, Inc.
COMMERCIAL TEMPERATURE RANGE
1996 Integrated Device Technology, Inc
NOVEMBER 1996
For latest information contact IDT's web site at www.idt.com or fax-on-demand at 408-492-8391.
5.15
DSC-3034/1
1
72801/72811/72821/72831/72841 DUAL CMOS SyncFIFO
256 x 9, 512 x 9, 1024 x 9, 2048 x 9 and 4096 x 9
COMMERCIAL TEMPERATURE
each FIFO bank to improve memory utilization. If not programmed, the programmable flags default to empty+7 for
PAEA and PAEB, and full-7 for PAFA and PAFB.
The 72801/72811/72821/72831/72841 architecture lends
itself to many flexible configurations such as:
• 2-level priority data buffering
• Bidirectional operation
• Width expansion
• Depth expansion
This FIFO is fabricated using IDTs high-performance submicron CMOS technology.
FUNCTIONAL BLOCK DIAGRAM
WCLKB
WCLKA
DA0 - DA8
DB0 - DB8
WENA2
WENB2
INPUT REGISTER
WRITE CONTROL
LOGIC
WRITE POINTER
RAM ARRAY
256 x 9,
512 x 9, 1024 x 9,
2048 x 9, 4096 x 9
INPUT REGISTER
OFFSET REGISTER
FLAG
LOGIC
WRITE CONTROL
LOGIC
READ POINTER
WRITE POINTER
OFFSET REGISTER
FLAG
LOGIC
RAM ARRAY
256 x 9,
512 x 9, 1024 x 9,
2048 x 9, 4096 x 9
READ CONTROL
LOGIC
READ POINTER
READ CONTROL
LOGIC
OUTPUT REGISTER
OUTPUT REGISTER
RESET LOGIC
RESET LOGIC
QA0 - QA8
RCLKB
RCLKA
QB0 - QB8
3034 drw 01A
5.15
2
72801/72811/72821/72831/72841 DUAL CMOS SyncFIFO
256 x 9, 512 x 9, 1024 x 9, 2048 x 9 and 4096 x 9
COMMERCIAL TEMPERATURE
PIN DESCRIPTIONS
The 72801/72811/72821/72831/72841s two FIFOs, referred
to as FIFO A and FIFO B, are identical in every respect. The
following description defines the input and output signals for
Symbol
Name I/O
Description
DA0-DA8
A Data Inputs
DB0-DB8
B Data Inputs
I
RSA, RSB
Reset
I
Write Clock
I
WENA1
WENB1
Write Enable 1
I
WENA2/LDA
WENB2/LDB
Write Enable 2/
Load
I
QA0-QA8
A Data Outputs O
QB0-QB8
B Data Outputs O
WCLKA
WCLKB
RCLKA
RCLKB
I
Read Clock
I
RENA1
RENB1
Read Enable 1
I
RENA2
RENB2
Read Enable 2
I
Output Enable
I
Empty Flag
O
Programmable
Almost-Empty
Flag
O
OEA
OEB
EFA
EFB
PAEA
PAEB
PAFA
PAFB
FFA
FFB
Programmable O
Almost-Full Flag
Full Flag
FIFO A. The corresponding signal names for FIFO B are
provided in parentheses.
O
9-bit data inputs to RAM array A.
9-bit data inputs to RAM array B.
When RSA (RSB) is set LOW, the associated internal read and write pointers of array A (B) are
set to the first location; FFA (FFB) and PAFA (PAFB) go HIGH, and PAEA (PAEB) and EFA (EFB)
go LOW. After power-up, a reset of both FIFOs A and B is required before an initial WRITE.
Data is written into the FIFO A (B) on a LOW-to-HIGH transition of WCLKA (WCLKB) when the
write enable(s) are asserted.
If FIFO A (B) is configured to have programmable flags, WENA1 (WENB1) is the only write
enable pin that can be used. When WENA1 (WENB1) is LOW, data A (B) is written into the
FIFO on every LOW-to-HIGH transition WCLKA (WCLKB). If the FIFO is configured to
have two write enables, WENA1 (WENB1) must be LOW and WENA2 (WENB2) must be HIGH
to write data into the FIFO. Data will not be written into the FIFO if FFA (FFB) is LOW.
FIFO A (B) is configured at reset to have either two write enables or programmable flags. If
LDA (LDB) is HIGH at reset, this pin operates as a second write enable. If WENA2/LDA
(WENB2/LDB) is LOW at reset this pin operates as a control to load and read the program
mable flag offsets for its respective array. If the FIFO is configured to have two write enables,
WENA1 (WENB1) must be LOW and WENA2 (WENB2) must be HIGH to write data into FIFO
A (B). Data will not be written into FIFO A (B) if FFA (FFB) is LOW. If the FIFO is configured to
have programmable flags, LDA(LDB) is held LOW to write or read the programmable flag
offsets.
9-bit data outputs from RAM array A.
9-bit data outputs from RAM array B.
Data is read from FIFO A (B) on a LOW-to-HIGH transition of RCLKA (RCLKB) when RENA1
(RENB1) and RENA2 (RENB2) are asserted.
When RENA1 (RENB1) and RENA2 (RENB2) are LOW, data is read from FIFO A (B) on every
LOW-to-HIGH transition of RCLKA (RCLKB). Data will not be read from Array A (B) if EFA
(EFB) is LOW.
When RENA1 (RENB1) and RENA2 (RENB2) are LOW, data is read from the FIFO A (B) on
every LOW-to-HIGH transition of RCLKA (RCLKB). Data will not be read from array A (B) if
the EFA (EFB) is LOW.
When OEA (OEB) is LOW, outputs DA0-DA8 (DB0-DB8) are active. If OEA (OEB) is HIGH, the
outputs DA0-DA8 (DB0-DB8) will be in a high-impedance state.
When EFA (EFB) is LOW, FIFO A (B) is empty and further data reads from the output are
inhibited. When EFA (EFB) is HIGH, FIFO A (B) is not empty. EFA (EFB) is synchronized to
RCLKA (RCLKB).
When PAEA (PAEB) is LOW, FIFO A (B) is almost empty based on the offset programmed into
the appropriate offset register. The default offset at reset is Empty+7. PAEA (PAEB) is synchro
nized to RCLKA (RCLKB).
When PAFA (PAFB) is LOW, FIFO A (B) is almost full based on the offset programmed into the
appropriate offset register. The default offset at reset is Full-7. PAFA (PAFB) is synchronized
to WCLKA (WCLKB).
When FFA (FFB) is LOW, FIFO A (B) is full and further data writes into the input are inhibited.
When FFA (FFB) is HIGH, FIFO A (B) is not full. FFA (FFB) is synchronized to WCLKA
(WCLKB).
VCC
Power
+5V power supply pin.
GND
Ground
0V ground pin.
3034 tbl 01
5.15
3
72801/72811/72821/72831/72841 DUAL CMOS SyncFIFO
256 x 9, 512 x 9, 1024 x 9, 2048 x 9 and 4096 x 9
COMMERCIAL TEMPERATURE
ABSOLUTE MAXIMUM RATINGS(1)
Symbol Rating
Terminal Voltage with
VTERM
Respect to GND
Operating Temperature
TA
Temperature Under Bias
TBIAS
TSTG
IOUT
Storage Temperature
DC Output Current
RECOMMENDED OPERATING CONDITIONS
Commercial
–0.5 to +7.0
Unit
V
0 to +70
–55 to +125
°C
°C
–55 to +125
50
°C
mA
Symbol
VCC
GND
VIH
VIL
Parameter
Supply Voltage
Supply Voltage
Input High Voltage
Input Low Voltage
Min.
4.5
0
2.0
—
Typ.
5.0
0
—
—
Max.
5.5
0
—
0.8
Unit
V
V
V
V
3034 tbl 03
3034 tbl 02
NOTE:
1. Stresses greater than those listed under ABSOLUTE MAXIMUM RATINGS
may cause permanent damage to the device. This is a stress rating only
and functional operation of the device at these or any other conditions
above those indicated in the operational sections of the specification is not
implied. Exposure to absolute maximum rating conditions for extended
periods may affect reliability.
CAPACITANCE (TA = +25°C, f = 1.0MHz)
Symbol
Parameter
(2)
CIN
Input Capacitance
(1,2)
Output Capacitance
COUT
Conditions
Max.
Unit
VIN = 0V
10
pF
VOUT = 0V
10
pF
3034 tbl 04
NOTE:
1. With output deselected (OEA, OEB = HIGH).
DC ELECTRICAL CHARACTERISTICS
(Commercial: VCC = 5V ± 10%, TA = 0°C to +70°C)
IDT72801
IDT72811
Symbol
Parameter
Min.
Commercial
tCLK = 15, 20, 25, 35ns
Typ.
Max.
Unit
Input Leakage Current (Any Input)
–1
—
–1
µA
ILO(2)
Output Leakage Current
–10
—
10
µA
VOH
Output Logic “1” Voltage, IOH = –2 mA
2.4
—
—
V
VOL
Output Logic “0” Voltage, IOL = 8 mA
—
—
0.4
V
ICC(3)
Active Power Supply Current
—
—
270
ILI
(1)
mA
3034 tbl 05
IDT72821
IDT72831
IDT72841
Symbol
Parameter
Min.
Commercial
tCLK = 20, 25, 35 ns
Typ.
Max.
Unit
Input Leakage Current (Any Input)
–1
—
–1
µA
ILO(2)
Output Leakage Current
–10
—
10
µA
VOH
Output Logic “1” Voltage, IOH = –2 mA
2.4
—
—
V
VOL
Output Logic “0” Voltage, IOL = 8 mA
—
—
0.4
V
ICC(3)
Active Power Supply Current
—
—
300
ILI
(1)
mA
3034 tbl 06
NOTES:
1. Measurements with 0.4 ≤ VIN ≤ VCC.
2. OEA, OEB ≥ VIH, 0.4 ≤ VOUT ≤ VCC.
3. Measurements are made with outputs open. Tested at fCLK = 20MHz.
Icc limits applicable when using both banks of FIFOs simultaneously.
5.15
4
72801/72811/72821/72831/72841 DUAL CMOS SyncFIFO
256 x 9, 512 x 9, 1024 x 9, 2048 x 9 and 4096 x 9
COMMERCIAL TEMPERATURE
AC ELECTRICAL CHARACTERISTICS
(Commercial: VCC = 5V ± 10%, TA = 0°C to +70°C)
Commercial
IDT72801L12 IDT72801L15 IDT72801L20 IDT72801L25 IDT72801L35
IDT72811L12 IDT72811L15 IDT72811L20 IDT72811L25 IDT72811L35
IDT72821L12 IDT72821L15 IDT72821L20 IDT72821L25 IDT72821L35
IDT72831L12 IDT72831L15 IDT72831L20 IDT72831L25 IDT72831L35
IDT72841L12 IDT72841L15 IDT72841L20 IDT72841L25 IDT72841L35
Symbol
Parameter
Min. Max.
Min. Max.
Min. Max.
Min. Max.
Min. Max. Unit
fS
Clock Cycle Frequency
—
83.3
—
66.7
—
50
—
40
—
tA
Data Access Time
2
8
2
10
2
12
3
15
3
20
ns
tCLK
Clock Cycle Time
12
—
15
—
20
—
25
—
35
—
ns
tCLKH
Clock High Time
5
—
6
—
8
—
10
—
14
—
ns
tCLKL
Clock Low Time
5
—
6
—
8
—
10
—
14
—
ns
tDS
Data Set-up Time
3
—
4
—
5
—
6
—
8
—
ns
tDH
Data Hold Time
0
—
1
—
1
—
1
—
2
—
ns
tENS
Enable Set-up Time
3
—
4
—
5
—
6
—
8
—
ns
tENH
Enable Hold Time
0
—
1
—
1
—
1
—
2
—
ns
tRS
Reset Pulse Width(1)
12
—
15
—
20
—
25
—
35
—
ns
tRSS
Reset Set-up Time
12
—
15
—
20
—
25
—
35
—
ns
tRSR
Reset Recovery Time
12
—
15
—
20
—
25
—
35
—
ns
tRSF
Reset to Flag Time and Output Time
—
12
—
15
—
20
—
25
—
35
ns
tOLZ
Output Enable to Output in Low-Z(2)
0
—
0
—
0
—
0
—
0
—
ns
tOE
Output Enable to Output Valid
3
7
3
8
3
10
3
13
3
15
ns
tOHZ
Output Enable to Output in High-Z(2)
3
7
3
8
3
10
3
13
3
15
ns
tWFF
Write Clock to Full Flag
—
8
—
10
—
12
—
15
—
20
ns
tREF
Read Clock to Empty Flag
—
8
—
10
—
12
—
15
—
20
ns
tPAF
Write Clock to Programmable
—
8
—
10
—
12
—
15
—
20
ns
Almost-Empty Flag
—
8
—
10
—
12
—
15
—
20
ns
tSKEW1 Skew Time Between Read
Clock and Write Clock
for Empty Flag and Full Flag
5
—
6
—
8
—
10
—
12
—
ns
tSKEW2 Skew Time Between Read Clock
and Write Clock for Programmable
Almost-Empty Flag and
Programmable Almost-Full Flag
22
—
28
—
35
—
40
—
42
—
ns
Almost-Full Flag
tPAE
28.6 MHz
Read Clock to Programmable
NOTES:
1. Pulse widths less than minimum values are not allowed.
2. Values guaranteed by design, not currently tested.
3034 tbl 07
5V
1.1K
AC TEST CONDITIONS
In Pulse Levels
Input Rise/Fall Times
D.U.T.
GND to 3.0V
30pF*
3ns
Input Timing Reference Levels
1.5V
Output Reference Levels
1.5V
Output Load
680Ω
3034 drw 03
or equivalent circuit
See Figure 1
3034 tbl 08
5.15
Figure 1. Output Load
*Includes jig and scope capacitances.
5
72801/72811/72821/72831/72841 DUAL CMOS SyncFIFO
256 x 9, 512 x 9, 1024 x 9, 2048 x 9 and 4096 x 9
COMMERCIAL TEMPERATURE
SIGNAL DESCRIPTIONS
FIFO A and FIFO B are identical in every respect. The
following description explains the interaction of input and
output signals for FIFO A. The corresponding signal names
for FIFO B are provided in parentheses.
INPUTS:
Data In (DA0 – DA8, DB0 – DB8) — DA0 - DA8 are the nine
data inputs for memory array A. DB0 - DB8 are the nine data
inputs for memory array B.
CONTROLS:
Reset (RSA, RSB) — Reset of FIFO A (B) is accomplished
whenever RSA (RSB) input is taken to a LOW state. During
reset, the internal read and write pointers associated with the
FIFO are set to the first location. A reset is required after
power-up before a write operation can take place. The Full
Flag FFA (FFB) and Programmable Almost-Full Flag PAFA
(PAFB) will be reset to HIGH after tRSF. The Empty Flag EFA
(EFB) and Programmable Almost-Empty Flag PAEA (PAEB) will
be reset to LOW after tRSF. During reset, the output register
is initialized to all zeros and the offset registers are initialized
to their default values.
Write Clock (WCLKA, WCLKB) — A write cycle to Array
A (B) is initiated on the LOW-to-HIGH transition of WCLKA
(WCLKB). Data set-up and hold times must be met with
respect to the LOW-to-HIGH transition of WCLKA (WCLKB).
The Full Flag FFA (FFB) and Programmable Almost-Full Flag
PAFA (PAFB) are synchronized with respect to the LOW-toHIGH transition of the write clock WCLKA (WCLKB).
The write and read clocks can be asynchronous or coincident.
Write Enable 1 (WENA1, WENB1) — If FIFO A (B) is configured for programmable flags, WENA1 (WENB1) is the only
enable control pin. In this configuration, when WENA1 (WENB1)
is LOW, data can be loaded into the input register of RAM
Array A (B) on the LOW-to-HIGH transition of every write clock
WCLKA (WCLKB). Data is stored in Array A (B) sequentially
and independently of any on-going read operation.
In this configuration, when WENA1 (WENB1) is HIGH, the
input register holds the previous data and no new data is
allowed to be loaded into the register.
If the FIFO is configured to have two write enables, which
allows for depth expansion. See Write Enable 2 paragraph
below for operation in this configuration.
To prevent data overflow, FFA (FFB) will go LOW, inhibiting
further write operations. Upon the completion of a valid read
cycle, the FFA (FFB) will go HIGH after tWFF, allowing a valid
write to begin. WENA1 (WENB1) is ignored when FIFO A (B)
is full.
Read Clock (RCLKA, RCLKB) — Data can be read from
Array A (B) on the the LOW-to-HIGH transition of RCLKA
(RCLKB). The Empty Flag EFA (EFB) and Programmable
Almost-Empty Flag PAEA (PAEB) are synchronized with respect to the LOW-to-HIGH transition of RCLKA (RCLKB).
The write and read clock can be asynchronous or coincident.
Read Enables (RENA1, RENA2, RENB1, RENB2) — When
both Read Enables RENA1, RENA2 (RENB1, RENB2) are
LOW, data is read from Array A (B) to the output register on the
LOW-to-HIGH transition of the read clock RCLKA (RCLKB).
When either of the two Read Enable RENA1, RENA2
(RENB1, RENB2) associated with FIFO A (B) is HIGH, the
output register holds the previous data and no new data is
allowed to be loaded into the register.
When all the data has been read from FIFO A (B), the
Empty Flag EFA (EFB) will go LOW, inhibiting further read
operations. Once a valid write operation has been accomplished, EFA (EFB) will go HIGH after tREF and a valid read can
begin. The Read Enables RENA1, RENA2 (RENB1, RENB2)
are ignored when FIFO A (B) is empty.
Output Enable (OEA, OEB) — When Output Enable OEA
(OEB) is enabled (LOW), the parallel output buffers of FIFO A
(B) receive data from their respective output register. When
Output Enable OEA (OEB) is disabled (HIGH), the QA (QB)
output data bus is in a high-impedance state.
Write Enable 2/Load (WENA2/LDA, WENB2/LDB) — This
is a dual-purpose pin. FIFO A (B) is configured at Reset to
have programmable flags or to have two write enables, which
allows depth expansion. If WENA2/LDA (WENB2/LDB) is set
HIGH at Reset RSA = LOW (RSB = LOW), this pin operates as
a second write enable pin.
If FIFO A (B) is configured to have two write enables, when
Write Enable 1 WENA1 (WENB1) is LOW and WENA2/LDA
(WENB2/LDB) is HIGH, data can be loaded into the input
register and RAM array on the LOW-to-HIGH transition of
every write clock WCLKA (WCLKB). Data is stored in the
array sequentially and independently of any on-going read
operation.
In this configuration, when WENA1 (WENB1) is HIGH and/
or WENA2/LDA (WENB2/LDB) is LOW, the input register of
Array A holds the previous data and no new data is allowed to
be loaded into the register.
To prevent data overflow, the Full Flag FFA (FFB) will go
LOW, inhibiting further write operations. Upon the completion
of a valid read cycle, FFA (FFB) will go HIGH after tWFF, allowing a valid write to begin. WENA1, (WENB1) and WENA2/
LDA (WENB2/LDB) are ignored when the FIFO is full.
FIFO A (B) is configured to have programmable flags when
the WENA2/LDA (WENB2/LDB) is set LOW at Reset RSA =
LOW (RSB = LOW). Each FIFO contains four 8-bit offset
registers which can be loaded with data on the inputs, or read
on the outputs. See Figure 3 for details of the size of the
registers and the default values.
5.15
6
72801/72811/72821/72831/72841 DUAL CMOS SyncFIFO
256 x 9, 512 x 9, 1024 x 9, 2048 x 9 and 4096 x 9
LDA WENA1
LDB WENB1
0
COMMERCIAL TEMPERATURE
WCLKA(1)
OPERATION ON FIFO A
WCLKB(1)
OPERATION ON FIFO B
0
Empty Offset (LSB)
Empty Offset (MSB)
Full Offset (LSB)
Full Offset (MSB)
0
1
No Operation
1
0
Write Into FIFO
1
1
No Operation
NOTE:
3034 drw 04
1. The same selection sequence applies to reading from the registers.
RENA1 and RENA2 (RENB1 and RENB2) are enabled and read is performed on the LOW-to-HIGH transition of RCLKA (RCLKB).
Figure 2. Writing to Offset Registers for FIFOs A and B
If FIFO A (B) is configured to have programmable flags,
when the WENA1 (WENB1) and WENA2/LDA (WENB2/LDB)
72801 - 256 x 9 x 2
8
0
8
0
7
Default Value 007H
Default Value 007H
Default Value 007H
7
0
1
8
8
0
8
(MSB)
0
00
0
8
7
Full Offset (LSB)
1
8
0
Full Offset (LSB) Reg.
Default Value 007H
Default Value 007H
0
0
1
(MSB)
7
72831 - 2048 x 9 x 2
0
8
0
1
(MSB)
(MSB)
0
00
72841 - 4096 x 9 x 2
7
0
8
0
7
Empty Offset (LSB) Reg.
Empty Offset (LSB)
Default Value 007H
Default Value 007H
0
2
3
8
0
(MSB)
(MSB)
000
0000
7
0
8
Default Value 007H
0
2
0
7
Full Offset (LSB)
Full Offset (LSB) Reg.
Default Value 007H
8
0
Empty Offset (LSB) Reg.
8
8
7
Empty Offset (LSB)
0
8
8
Empty Offset (LSB) Reg.
Full Offset (LSB) Reg.
Default Value 007H
8
72821 - 1024 x 9 x 2
72811 - 512 x 9 x 2
7
8
8
are set LOW, data on the DA (DB) inputs are written into the
Empty (Least Significant Bit) offset register on the first LOWto-HIGH transition of the WCLKA (WCLKB). Data are written
into the Empty (Most Significant Bit) offset register on the
second LOW-to-HIGH transition of WCLKA (WCLKB), into
the Full (Least Significant Bit) offset register on the third
transition, and into the Full (Most Significant Bit) offset register
on the fourth transition. The fifth transition of WCLKA (WCLKB)
again writes to the Empty (Least Significant Bit) offset register.
However, writing all offset registers does not have to occur
at one time. One or two offset registers can be written and then
by bringing LDA (LDB) HIGH, FIFO A (B) is returned to normal
read/write operation. When LDA (LDB) is set LOW, and WENA1
(WENB1) is LOW, the next offset register in sequence is
written.
The contents of the offset registers can be read on the QA
(QB) outputs when WENA2/LDA (WENB2/LDB) is set LOW
and both Read Enables RENA1, RENA2 (RENB1, RENB2) are
set LOW. Data can be read on the LOW-to-HIGH transition of
the read clock RCLKA (RCLKB).
A read and write should not be performed simultaneously
to the offset registers.
3
8
0
(MSB)
(MSB)
000
0000
3034 drw 05
Figure 3. Offset Register Formats and Default Values for the A and B FIFOs
5.15
7
72801/72811/72821/72831/72841 DUAL CMOS SyncFIFO
256 x 9, 512 x 9, 1024 x 9, 2048 x 9 and 4096 x 9
COMMERCIAL TEMPERATURE
writes to the 72831's FIFO A (B), or (4096-m) writes to the
72841's FIFO A (B).
FFA (FFB) is synchronized with respect to the LOW-toHIGH transition of the write clock WCLKA (WCLKB). The
offset “m” is defined in the Full Offset Registers.
If there is no Full offset specified, PAFA (PAFB) will go LOW
at Full-7 words.
PAFA (PAFB) is synchronized with respect to the LOW-toHIGH transition of the write clock WCLKA (WCLKB).
OUTPUTS:
Full Flag (FFA, FFB) — FFA (FFB) will go LOW, inhibiting
further write operations, when Array A (B) is full. If no reads
are performed after reset, FFA (FFB) will go LOW after 256
writes to the 72801's FIFO A (B), 512 writes to the 72811's
FIFO A (B), 1024 writes to the 72821's FIFO A (B), 2048 writes
to the 72831's FIFO A (B), or 4096 writes to the 72841's FIFO
A (B).
FFA (FFB) is synchronized with respect to the LOW-toHIGH transition of the write clock WCLKA (WCLKB).
Programmable Almost–Empty Flag (PAEA, PAEB) —
PAEA (PAEB) will go LOW when the read pointer is "n+1"
Empty Flag (EFA, EFB) — EFA (EFB) will go LOW,
inhibiting further read operations, when the read pointer is
equal to the write pointer, indicating that Array A (B) is empty.
EFA (EFB) is synchronized with respect to the LOW-toHIGH transition of the read clock RCLKA (RCLKB).
locations less than the write pointer. The offset "n" is defined
in the Empty Offset Registers. If no reads are performed after
reset, PAEA (PAEB) will go HIGH after "n+1" writes to FIFO A
(B).
If there is no Empty offset specified, PAEA (PAEB) will go
LOW at Empty+7 words.
PAEA (PAEB) is synchronized with respect to the LOW-toHIGH transition of the read clock RCLKA (RCLKB).
Programmable Almost–Full Flag (PAFA, PAFB) — PAFA
(PAFB) will go LOW when the amount of data in Array A (B)
reaches the Almost-Full condition. If no reads are performed
after reset, PAFA (PAFB) will go LOW after (256-m) writes to
the 72801's FIFO A (B), (512-m) writes to the 72811's FIFO A
(B), (1024-m) writes to the 72821's FIFO A (B), (2048-m)
Data Outputs (QA0 – QA8, QB0 – QB8 ) — QA0 - QA8 are
the nine data outputs for memory array A, QB0 - QB8 are the
nine data outputs for memory array B.
TABLE 1: STATUS FLAGS FOR A AND B FIFOS
FFA
FFB
NUMBER OF WORDS IN ARRAY A
NUMBER OF WORDS IN ARRAY B
72801
72811
72821
0
0
0
1 to
n(1)
1 to
(n+1) to (256-(m+1))
(256-m)(2)
n(1)
1 to
(n+1) to (512-(m+1))
(512-m)(2)
to 255
256
n(1)
(n+1) to (1024-(m+1))
(1024-m)(2)
to 511
512
to 1023
1024
PAEA
PAEB
H
H
L
L
H
H
L
H
H
H
H
H
NUMBER OF WORDS IN ARRAY B
EFA
EFB
H
L
H
H
L
L
H
H
PAFA
PAFB
PAEA
PAEB
FFA
FFB
NUMBER OF WORDS IN ARRAY A
72831
PAFA
PAFB
EFA
EFB
72841
0
0
H
H
L
L
1 to n(1)
1 to n(1)
H
H
L
H
(n+1) to (2048-(m+1))
(n+1) to (4096-(m+1))
H
H
H
H
(2048-m)(2) to 2047
(4096-m)(2) to 4095
H
L
H
H
2048
4096
L
L
H
NOTES:
1. n = Empty Offset (n = 7 default value)
2. m = Full Offset (m = 7 default value)
H
3034 tbl 09
5.15
8
72801/72811/72821/72831/72841 DUAL CMOS SyncFIFO
256 x 9, 512 x 9, 1024 x 9, 2048 x 9 and 4096 x 9
COMMERCIAL TEMPERATURE
tRS
RSA (RSB)
tRSS
tRSR
tRSS
tRSR
tRSS
tRSR
RENA1, RENA2
(RENB1, RENB2)
WENA1
(WENB1)
WENA2/LDA (1)
(WENB2/LDB)
tRSF
EFA, PAEA
(EFB, PAEB)
tRSF
FFA, PAFA
(FFA, PAFA)
tRSF
OEA (OEB) = 1(2)
QA0 - QA8
(QB0 - QB8 )
OEA (OEB) = 0
3034 drw 06
NOTES:
1. Holding WENA2/LDA (WENB2/LDB) HIGH during reset will make the pin act as a second write enable pin. Holding WEN2/LDA (WENB2/LDB) LOW during
reset will make the pin act as a load enable for the programmable flag offset registers.
2. After reset, QA0 - QA8 (QB0 - QB8) will be LOW if OEA (OEB) = 0 and tri-state if OEA (OEB) = 1.
3. The clocks RCLKA, WCLKA (RCLKB, WCLKB) can be free-running during reset.
Figure 4. Reset Timing
5.15
9
72801/72811/72821/72831/72841 DUAL CMOS SyncFIFO
256 x 9, 512 x 9, 1024 x 9, 2048 x 9 and 4096 x 9
COMMERCIAL TEMPERATURE
tCLK
tCLKH
tCLKL
WCLKA (WCLKB)
tDH
tDS
(DA0 - DA8
DB0 - DB8 )
DATA IN VALID
tENS
WENA1
(WENB1)
tENH
NO OPERATION
WENA2 (WENB2)
(If Applicable)
NO OPERATION
tWFF
tWFF
FFA
(FFB)
tSKEW1(1)
RCLKA (RCLKB)
RENA1, RENA2
(RENB1, RENB2)
3034 drw 07
NOTE:
1. tSKEW1 is the minimum time between a rising RCLKA (RCLKB) edge and a rising WCLKA (WCLKB) edge for FFA (FFB) to change during the current clock
cycle. If the time between the rising edge of RCLKA (RCLKB) and the rising edge of WCLKA (WCLKB) is less than tSKEW1, then FFA (FFB) may not change
state until the next WCLKA (WCLKB) edge.
Figure 5. Write Cycle Timing
5.15
10
72801/72811/72821/72831/72841 DUAL CMOS SyncFIFO
256 x 9, 512 x 9, 1024 x 9, 2048 x 9 and 4096 x 9
COMMERCIAL TEMPERATURE
tCLK
tCLKL
tCLKH
RCLKA (RCLKB)
tENH
RENA1, RENA2
(RENB1, RENB2)
tENS
NO OPERATION
tREF
tREF
EFA (EFB)
tA
QA0 - QA8
(QB0 - QB8)
VALID DATA
tOLZ
tOHZ
tOE
OEA (OEB)
tSKEW1(1)
WCLKA, WCLKB
WENA1 (WENB1)
WENA2 (WENB2)
3034 drw 08
NOTE:
1. tSKEW1 is the minimum time between a rising WCLKA (WCLKB) edge and a rising RCLKA (RCLKB) edge for EFA (EFB) to change during the current clock
cycle. If the time between the rising edge of RCLKA (RCLKB) and the rising edge of WCLKA (WCLKB) is less than tSKEW1, then EFA (EFB) may not change
state until the next RCLKA (RCLKB) edge.
Figure 6. Read Cycle Timing
5.15
11
72801/72811/72821/72831/72841 DUAL CMOS SyncFIFO
256 x 9, 512 x 9, 1024 x 9, 2048 x 9 and 4096 x 9
COMMERCIAL TEMPERATURE
WCLKA
(WCLKB)
tDS
DA0 - DA8
(DB0 - DB8)
D1
D2
D3
D0 (First Valid
WENA1
(WENB1)
tENS
WENA2 (WENB2)
(If Applicable)
tFRL(1)
tSKEW1
RCLKA
(RCLKB)
tREF
EFA (EFB)
RENA1, RENA2
(RENB1, RENB2)
tA
QA0 - QA8
(QB0 - QB8)
tA
D0
D1
tOLZ
tOE
OEA (OEB)
3034 drw 09
NOTE:
1. When tSKEW1 ≥ minimum specification, tFRL = tCLK + tSKEW1
When tSKEW1 < minimum specification, tFRL = 2tCLK + tSKEW1 or tCLK + tSKEW1
The Latency Timings apply only at the Empty Boundary (EFA, EFB = LOW).
Figure 7. First Data Word Latency Timing
5.15
12
72801/72811/72821/72831/72841 DUAL CMOS SyncFIFO
256 x 9, 512 x 9, 1024 x 9, 2048 x 9 and 4096 x 9
COMMERCIAL TEMPERATURE
NO WRITE
NO WRITE
WCLKA
(WCLKB)
tDS
tSKEW1
tDS
tSKEW1
DATA WRITE
DA0 - DA8
(DB0 - DB8)
tWFF
tWFF
tWFF
FFA (FFB)
WENA1
(WENB1)
WENA2
(WENB2)
(If Applicable)
RCLKA
(RCLKB)
tENS
tENH
tENS
tENH
RENA1
(RENB2)
OEA
(OEB)
tA
LOW
tA
QA0 - QA8
(QB0 - QB8)
DATA IN OUTPUT REGISTER
DATA READ
NEXT DATA READ
3034 drw 10
Figure 8. Full Flag Timing
5.15
13
72801/72811/72821/72831/72841 DUAL CMOS SyncFIFO
256 x 9, 512 x 9, 1024 x 9, 2048 x 9 and 4096 x 9
COMMERCIAL TEMPERATURE
WCLKA (WCLKB)
tDS
tDS
DA0 - DA8
(DB0 - DB8)
DATA WRITE 1
DATA WRITE 2
tENH
tENH
tENS
tENS
WENA1, (WENB1)
tENS
tENH
tENS
tENH
WENA2 (WENB2)
(If Applicable)
(1)
(1)
tFFL
tFRL
tSKEW1
tSKEW1
RCLKA (RLCKB)
tREF
tREF
tREF
EFA (EFB)
RENA1, RENA2
(RENB1, RENB2)
OEA (OEB)
QA0 - QA8
(QB0 - QB8)
LOW
tA
DATA READ
DATA IN OUTPUT REGISTER
3034 drw 11
NOTE:
1. When tSKEW1 ≥ minimum specification, tFRL maximum = tCLK + tSKEW1
When tSKEW1 < minimum specification, tFRL maximum = 2tCLK + tSKEW1 or tCLK + tSKEW1
The Latency Timings apply only at at the Empty Boundary (EFA, EFB = LOW).
Figure 9. Empty Flag Timing
5.15
14
72801/72811/72821/72831/72841 DUAL CMOS SyncFIFO
256 x 9, 512 x 9, 1024 x 9, 2048 x 9 and 4096 x 9
tCLKH
COMMERCIAL TEMPERATURE
tCLKL
(4)
WCLKA
(WCLKB)
tENS
tENH
tENS
tENH
WENA1
(WENB1
WENA2
(WENB2)
(If Applicable)
tPAF
(1)
PAFA
(PAFB)
Full - (m+1) words in FIFO
Full - m words in FIFO
tSKEW2
(2)
(3)
tPAF
RCLKA
(RCLKB)
tENS tENH
RENA1, RENA2
(RENB1, RENB2)
3034 drw 12
Notes:
1. PAF offset = m.
2. (256-m) words for the 72801, (512-m) words the 72811, (1024-m) words for the 72821, (2048-m) words for the 72831, or (4096-m) words for the 72841.
3. tSKEW2 is the minimum time between a rising RCLKA (RCLKB) edge and a rising WCLKA (WCLKB) edge for PAFA (PAFB) to change during that clock
cycle. If the time between the rising edge of RCLKA (RCLKB) and the rising edge of WCLKA (WCLKB) is less than tSKEW2, then PAFA (PAFB) may not
change state until the next WCLKA (WCLKB) rising edge.
4. If a write is performed on this rising edge of the write clock, there will be Full - (m-1) words in FIFO A (B) when PAFA (PAFB) goes LOW.
Figure 10. Programmable Full Flag Timing
5.15
15
72801/72811/72821/72831/72841 DUAL CMOS SyncFIFO
256 x 9, 512 x 9, 1024 x 9, 2048 x 9 and 4096 x 9
tCLKH
COMMERCIAL TEMPERATURE
tCLKL
WCLKA
(WCLKB)
tENS
tENH
tENS
tENH
WENA1
(WENB1)
WENA2
(WENB2)
(If Applicable)
(1)
PAEA,
PAEB
n+1 words in FIFO
n words in FIFO
tSKEW2(2)
tPAE
tPAE
(3)
RCLKA
(RCLKB)
tENS tENH
RENA1, RENA2
(RENB1, RENB2)
3034 drw 13
NOTES:
1. PAE offset = n.
2. tSKEW2 is the minimum time between a rising WCLKA (WCLKB) edge and a rising RCLKA (RCLKB) edge for PAEA (PAEB) to change during that clock
cycle. If the time between the rising edge of WCLKA (WCLKB) and the rising edge of RCLKA (RCLKB) is less than tSKEW2, then PAEA (PAEB) may not
change state until the next RCLKA (RCLKB) rising edge.
3. If a read is performed on this rising edge of the read clock, there will be Empty + (n-1) words in FIFO A (B) when PAEA (PAEB) goes LOW.
Figure 11. Programmable Empty Flag Timing
5.15
16
72801/72811/72821/72831/72841 DUAL CMOS SyncFIFO
256 x 9, 512 x 9, 1024 x 9, 2048 x 9 and 4096 x 9
COMMERCIAL TEMPERATURE
tCLK
tCLKH
tCLKL
WCLKA (WCLKB)
tENH
tENS
LDA (LDB)
tENS
WENA1 (WENB1)
tDS
tDH
DA0 - DA7
(DB0 - DB7)
PAE
OFFSET
(LSB)
PAE
OFFSET
(MSB)
PAF
OFFSET
(LSB)
PAF
OFFSET
(MSB)
3034 drw 14
Figure 12. Write Offset Register Timing
tCLK
tCLKH
tCLKL
RCLKA (RCLKB)
tENS
tENH
LDA (LDB)
tENS
RENA1, RENA2
(RENB1, RENB2)
tA
QA0 - QA7
(QB0 - QB7)
DATA IN OUTPUT REGISTER
EMPTY OFFSET
(LSB)
EMPTY OFFSET
(MSB)
FULL OFFSET
(LSB)
FULL OFFSET
(MSB)
3034 drw 15
Figure 13. Read Offset Register Timing
5.15
17
72801/72811/72821/72831/72841 DUAL CMOS SyncFIFO
256 x 9, 512 x 9, 1024 x 9, 2048 x 9 and 4096 x 9
COMMERCIAL TEMPERATURE
OPERATING CONFIGURATIONS
SINGLE DEVICE CONFIGURATION — When FIFO A (B)
is in a Single Device Configuration, the Read Enable 2 RENA2
(RENB2) control input can be grounded (see Figure 14). In
this configuration, the Write Enable 2/Load WENA2/LDA
(WENB2/LDB) pin is set LOW at Reset so that the pin
operates as a control to load and read the programmable flag
offsets.
RSA (RSB)
WCLKA (WCLKB)
RCLKA (RCLKB)
WENA1 (WENB1)
RENA1 (RENB1)
IDT
72801
72811
72821
72831
72841
WENA2/LDA (WENB2/LDB)
DA0 - DA8 (DB0 - DB8)
FFA (FFB)
OEA (OEB)
QA0 - QA8 (QB0 - QB8)
EFA (EFB)
FIFO
A (B)
PAFA (PAFB)
PAEA (PAEB)
RENA2 (RENB2)
3034 drw 16
Figure 14. Block Diagram of One of the 72801/72811/72821/72831/72841's two FIFOs configured as a single device
WIDTH EXPANSION CONFIGURATION — Word width
may be increased simply by connecting the corresponding
input control signals of FIFOs A and B. A composite flag
should be created for each of the end-point status flags EFA
and EFB, also FFA and FFB). The partial status flags PAEA,
PAFB, PAEA and PAFB can be detected from any one device.
Figure 15 demonstrates an 18-bit word width using the two
FIFOs contained in one IDT72801/72811/72821/72831/72841.
Any word width can be attained by adding additional IDT2801/
72811/72821/72831/72841s.
When the IDT2801/72811/72821/72831/72841 is in a Width
Expansion Configuration, the Read Enable 2 (RENA2 and
RENB2) control inputs can be grounded (see Figure 15). In
this configuration, the Write Enable 2/Load (WENA2/LDA,
WENB2/LDB) pins are set LOW at Reset so that the pin
operates as a control to load and read the programmable flag
offsets.
9
RESET
•
RSA
DATA IN
18
•
9
DA0 - DA8
WRITE CLOCK
WCLKA
WRITE ENABLE
WENA1
WRITE ENABLE/LOAD
WENA2/LDA
FULL FLAG
FFA
FFB
DB0 - DB8
RAM
ARRAY RCLKA
A
WCLKB
RENA1
RSB
RAM
ARRAY
B
256x9
WENB1 256x9
512x9
OEA1
512x9
1024x9 2WENB2/LDB 1024x9
2048x9
2048x9
4096x9
4096x9
RENA2
QA0 - QA8
9
EFA
EFB
EMPTY FLAG
RCLKB
READ CLOCK
RENB1
READ ENABLE
OEB
QB0 - QB8
OUTPUT ENABLE
9
•
18
DATA OUT
RENB2
3034 drw 17
Figure 15. Block diagram of the two FIFOs contained in one 72801/72811/72821/72831/72841configured for an 18-bit width-expansion
5.15
18
72801/72811/72821/72831/72841 DUAL CMOS SyncFIFO
256 x 9, 512 x 9, 1024 x 9, 2048 x 9 and 4096 x 9
COMMERCIAL TEMPERATURE
TWO PRIORITY DATA BUFFER CONFIGURATION
The two FIFOs contained in the IDT2801/72811/72821/
72831/72841 can be used to prioritize two different types of
data shared on a system bus. When writing from the bus to
the FIFO, control logic sorts the intermixed data according to
type, sending one kind to FIFO A and the other kind to FIFO
B. Then, at the outputs, each data type is transferred to its
appropriate destination. Additional IDT2801/72811/72821/
72831/72841s permit more than two priority levels. Priority
buffering is particularly useful in network applications.
Image
Processing
Card
RAM ARRAY A
RCLKA
WCLKA
VCC
Data
9
DA0-DA8
QA0-QA8
WENA2 RENA2
WENB1
9
DB0-DB8
9
WENB2
RENB2
I/O Data
Voice
Processing
Card
Clock
OEB2
RENB1
QB0-QB8
Control
Data
RAM ARRAY B
WCLKB RCLKB
RAM
Address
9
Control
Logic
Control
OEA
RENA
IDT
72801
72811
72821
72831
72841
9-bit bus
Address
Control
Logic
Processor
Clock
Control
Logic
9
WENA1
Clock
Address
Control
I/O Data
Data
9
3034 drw 18
VCC
Figure 16. Block Diagram of Two Priority Configuration
5.15
19
72801/72811/72821/72831/72841 DUAL CMOS SyncFIFO
256 x 9, 512 x 9, 1024 x 9, 2048 x 9 and 4096 x 9
COMMERCIAL TEMPERATURE
BIDIRIECTIONAL CONFIGURATION
The two FIFOs of the IDT2801/72811/72821/72831/72841
can be used to buffer data flow in two directions. In the
RAM ARRAY A
WENA2 RENA2
VCC
WCLKA
WENA1
9
RAM ARRAY B
Control
Logic
DMA Clock
9-bit bus
Data
Peripheral
Controller
9
9-bit bus
Control
OEA
RENA1
IDT
72801
72811
72821
72831
72841
Control
Logic
Address
RCLKA
DA0-DA8
QA0-QA8
9
Processor
Clock
example that follows, a processor can write data to a peripheral
controller via FIFO A, and, in turn, the peripheral controller can
write the processor via FIFO B.
Address
Control
I/O Data
Data
9
WENB1
RENB1
OEB WCLKB
RCLKB
RAM
9
9
QB0-QB8
DB0-DB8
RENB2 WENB2
9
3034 drw 19
VCC
Figure 17. Block Diagram of Bidirectional Configuration
5.15
20
72801/72811/72821/72831/72841 DUAL CMOS SyncFIFO
256 x 9, 512 x 9, 1024 x 9, 2048 x 9 and 4096 x 9
COMMERCIAL TEMPERATURE
DEPTH EXPANSION — IDT2801/72811/72821/72831/
72841 can be adapted to applications that require greater than
256/512/1024/2048/4096 words. The existence of double
enable pins on the read and write ports allow depth expansion.
The Write Enable 2/Load (WENA2, WENB2) pins are used as
a second write enables in a depth expansion configuration,
thus the Programmable flags are set to the default values.
Depth expansion is possible by using one enable input for
system control while the other enable input is controlled by
expansion logic to direct the flow of data. A typical application
would have the expansion logic alternate data access from
one device to the next in a sequential manner. The IDT2801/
72811/72821/72831/72841 operates in the Depth Expansion
configuration when the following conditions are met:
1. WENA2/LDA and WENB2/LDB pins are held HIGH during Reset so that these pins operate as second Write Enables.
2. External logic is used to control the flow of data.
Please see the Application Note" DEPTH EXPANSION OF
IDT'S SYNCHRONOUS FIFOs USING THE RING COUNTER
APPROACH" for details of this configuration.
ORDERING INFORMATION
IDT
XXXXX
Device Type
L
Power
XX
Speed
PF
Package
Process/
Temperature
Range
BLANK Commercial (0°C to +70°C)
Thin Quad Flat Pack (TQFP)
12
15
20
25
35
Clock Cycle
Time(tCLK),
speed in
Nanoseconds
Low Power
72801
72811
72821
72831
72841
5.15
256 x 9 DUAL FIFO
512 x 9 DUAL FIFO
1024 x 9 DUAL FIFO
2048 x 9 DUAL FIFO
4096 x 9 DUAL FIFO
3034 drw 20
21