3.3V MULTI-QUEUE FLOW-CONTROL DEVICES
(8 QUEUES) 18 BIT WIDE CONFIGURATION
589,824 bits
1,179,648 bits
2,359,296 bits
IDT72V51333
IDT72V51343
IDT72V51353
FEATURES:
•
•
•
•
•
•
•
•
•
Choose from among the following memory density options:
IDT72V51333
Total Available Memory = 589,824 bits
IDT72V51343
Total Available Memory = 1,179,648 bits
IDT72V51353
Total Available Memory = 2,359,296 bits
Configurable from 1 to 8 Queues
Queues may be configured at master reset from the pool of
Total Available Memory in blocks of 512 x 18 or 1,024 x 9
Independent Read and Write access per queue
User programmable via serial port
Default multi-queue device configurations
-IDT72V51333: 4,096 x 18 x 8Q or 8,192 x 9 x 8Q
-IDT72V51343: 8,192 x 18 x 8Q or 16,384 x 9 x 8Q
-IDT72V51353: 16,384 x 18 x 8Q or 32,768 x 9 x 8Q
100% Bus Utilization, Read and Write on every clock cycle
166 MHz High speed operation (6ns cycle time)
3.7ns access time
•
•
•
•
•
•
•
•
•
•
•
•
Individual, Active queue flags (OV,
FF, PAE, PAF)
8 bit parallel flag status on both read and write ports
Provides continuous
PAE
and
PAF
status of up to 8 Queues
Global Bus Matching - (All Queues have same Input Bus Width
and Output Bus Width)
User Selectable Bus Matching Options:
- x18in to x18out
- x9in to x18out
- x18in to x9out
- x9in to x9out
FWFT mode of operation on read port
Partial Reset, clears data in single Queue
Expansion of up to 8 multi-queue devices in parallel is available
JTAG Functionality (Boundary Scan)
Available in a 256-pin PBGA, 1mm pitch, 17mm x 17mm
HIGH Performance submicron CMOS technology
Industrial temperature range (-40°C to +85°C) is available
FUNCTIONAL BLOCK DIAGRAM
MULTI-QUEUE FLOW-CONTROL DEVICE
WRITE CONTROL
READ CONTROL
WADEN
FSTR
WRADD
WEN
WCLK
6
RADEN
ESTR
7
Q
0
RDADD
REN
RCLK
OE
x9, x18
DATA IN
Din
Qout
x9, x18
DATA OUT
WRITE FLAGS
READ FLAGS
FF
PAF
PAFn
8
OV
PAE
PAEn
Q
7
8
5940 drw01
IDT and the IDT logo are registered trademarks of Integrated Device Technology, Inc.
COMMERCIAL AND INDUSTRIAL TEMPERATURE RANGES
1
2003
Integrated Device Technology, Inc. All rights reserved. Product specifications subject to change without notice.
JUNE 2003
DSC-5940/9
IDT72V51333/72V51343/72V51353 3.3V, MULTI-QUEUE FLOW-CONTROL DEVICES
(8 QUEUES) 18 BIT WIDE CONFIGURATION 589,824, 1,179,648 and 2,359,296 bits
COMMERCIAL AND INDUSTRIAL
TEMPERATURE RANGES
DESCRIPTION:
The IDT72V51333/72V51343/72V51353 multi-queue flow-control de-
vices are single chip within which anywhere between 1 and 8 discrete FIFO
queues can be setup. All queues within the device have a common data input
bus, (write port) and a common data output bus, (read port). Data written into
the write port is directed to a respective queue via an internal de-multiplex
operation, addressed by the user. Data read from the read port is accessed
from a respective queue via an internal multiplex operation, addressed by
the user. Data writes and reads can be performed at high speeds up to
166MHz, with access times of 3.7ns. Data write and read operations are totally
independent of each other, a queue maybe selected on the write port and
a different queue on the read port or both ports may select the same queue
simultaneously.
The device provides Full flag and Output Valid flag status for the queue
selected for write and read operations respectively. Also a Programmable
Almost Full and Programmable Almost Empty flag for each queue is provided.
Two 8 bit programmable flag busses are available, providing status of all
queues, including queues not selected for write or read operations, these flag
busses provide an individual flag per queue.
Bus Matching is available on this device, either port can be 9 bits or 18 bits
wide. When Bus Matching is used the device ensures the logical transfer of data
throughput in a Little Endian manner.
The user has full flexibility configuring queues within the device, being able
to program the total number of queues between 1 and 8, the individual queue
depths being independent of each other. The programmable flag positions are
also user programmable. All programming is done via a dedicated serial port.
If the user does not wish to program the multi-queue device, a default option is
available that configures the device in a predetermined manner.
Both Master Reset and Partial Reset pins are provided on this device. A Master
Reset latches in all configuration setup pins and must be performed before
programming of the device can take place. A Partial Reset will reset the read and
write pointers of an individual queue, provided that the queue is selected on both
the write port and read port at the time of partial reset.
A JTAG test port is provided, here the multi-queue flow-control device has a
fully functional Boundary Scan feature, compliant with IEEE 1149.1 Standard
Test Access Port and Boundary Scan Architecture.
See Figure 1,
Multi-Queue Flow-Control Device Block Diagram
for an outline
of the functional blocks within the device.
2
IDT72V51333/72V51343/72V51353 3.3V, MULTI-QUEUE FLOW-CONTROL DEVICES
(8 QUEUES) 18 BIT WIDE CONFIGURATION 589,824, 1,179,648 and 2,359,296 bits
Din
x9, x18
D0 - D17
WCLK
WEN
INPUT
DEMUX
COMMERCIAL AND INDUSTRIAL
TEMPERATURE RANGES
WRADD
WADEN
6
Write Control
Logic
Write Pointers
JTAG
Logic
TMS
TDI
TDO
TCK
TRST
FSTR
PAFn
FSYNC
FXO
FXI
FF
PAF
SI
SO
SCLK
SENI
SENO
FM
IW
OW
MAST
8
PAF
General Flag
Monitor
Upto 8
FIFO
Queues
Active Q
Flags
0.5 Mbit
1.1 Mbit
2.3 Mbit
Dual Port
Memory
OV
PAE
Active Q
Flags
Serial
Multi-Queue
Programming
PAE
General Flag
Monitor
8
PAEn
ESTR
ESYNC
EXI
EXO
Read Pointers
Reset
Logic
7
Read Control
Logic
RDADD
RADEN
REN
ID0
ID1
ID2
DF
DFM
PRS
MRS
Device ID
3 Bit
PAE/ PAF
Offset
RCLK
OUTPUT
MUX
OUTPUT
REGISTER
5940 drw02
OE
Q0 - Q17
Qout x9, x18
Figure 1. Multi-Queue Flow-Control Device Block Diagram
3
IDT72V51333/72V51343/72V51353 3.3V, MULTI-QUEUE FLOW-CONTROL DEVICES
(8 QUEUES) 18 BIT WIDE CONFIGURATION 589,824, 1,179,648 and 2,359,296 bits
COMMERCIAL AND INDUSTRIAL
TEMPERATURE RANGES
PIN CONFIGURATION
A1 BALL PAD CORNER
A
D14
D13
D12
D10
D7
D4
D1
TCK
TDO
ID1
Q3
Q6
Q9
Q12
Q14
Q15
B
D15
D16
D11
D9
D6
D3
D0
TMS
TDI
ID0
Q2
Q5
Q8
Q11
Q13
DNC
C
D17
GND
GND
D8
D5
D2
TRST
GND
ID2
Q0
Q1
Q4
Q7
Q10
Q17
DNC
D
GND
GND
GND
VCC
VCC
VCC
VCC
VCC
VCC
VCC
VCC
VCC
VCC
Q16
DNC
DNC
E
GND
GND
GND
VCC
VCC
VCC
VCC
GND
GND
VCC
VCC
VCC
VCC
DNC
DNC
DNC
F
GND
GND
GND
VCC
VCC
GND
GND
GND
GND
GND
GND
VCC
VCC
DNC
DNC
DNC
G
GND
GND
GND
VCC
VCC
GND
GND
GND
GND
GND
GND
VCC
VCC
DNC
DNC
DNC
H
GND
GND
GND
VCC
GND
GND
GND
GND
GND
GND
GND
GND
VCC
DNC
DNC
DNC
J
GND
GND
GND
VCC
GND
GND
GND
GND
GND
GND
GND
GND
VCC
GND
DNC
DNC
K
GND
GND
GND
VCC
VCC
GND
GND
GND
GND
GND
GND
VCC
VCC
GND
MAST
FM
L
SI
DFM
DF
VCC
VCC
GND
GND
GND
GND
GND
GND
VCC
VCC
GND
IW
OW
M
SENO
SENI
SO
VCC
VCC
VCC
VCC
GND
GND
VCC
VCC
VCC
VCC
OE
RDADD0 RDADD1
N
WRADD1 WRADD0
SCLK
VCC
VCC
VCC
VCC
VCC
VCC
VCC
VCC
VCC
VCC
RDADD2 RDADD3
GND
P
GND
GND
WRADD2
WADEN
PAF3
PAF6
PAF7
FF
OV
PAE
PAE7
PAE6
PAE3
RDADD4 RDADD5 RDADD6
R
WRADD4 WRADD3
FSYNC
FSTR
PAF2
PAF5
PAF4
PAF
DNC
DNC
DNC
PAE5
PAE2
RADEN
ESTR
ESYNC
T
WRADD5
FXI
FXO
PAF0
PAF1
WEN
WCLK
PRS
MRS
RCLK
REN
PAE4
PAE1
PAE0
EXO
EXI
1
NOTE:
1. DNC - Do Not Connect.
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
5940 drw03
PBGA (BB256-1, order code: BB)
TOP VIEW
4
IDT72V51333/72V51343/72V51353 3.3V, MULTI-QUEUE FLOW-CONTROL DEVICES
(8 QUEUES) 18 BIT WIDE CONFIGURATION 589,824, 1,179,648 and 2,359,296 bits
COMMERCIAL AND INDUSTRIAL
TEMPERATURE RANGES
DETAILED DESCRIPTION
MULTI-QUEUE STRUCTURE
The IDT multi-queue flow-control device has a single data input port and
single data output port with up to 8 FIFO queues in parallel buffering between
the two ports. The user can setup between 1 and 8 Queues within the device.
These queues can be configured to utilize the total available memory, providing
the user with full flexibility and ability to configure the queues to be various depths,
independent of one another.
MEMORY ORGANIZATION/ ALLOCATION
The memory is organized into what is known as “blocks”, each block being
512 x 18 or 1,024 x 9 bits. When the user is configuring the number of queues
and individual queue sizes the user must allocate the memory to respective
queues, in units of blocks, that is, a single queue can be made up from 0 to m
blocks, where m is the total number of blocks available within a device. Also the
total size of any given queue must be in increments of 512 x 18 or 1,024 x 9.
For the IDT72V51333, IDT72V51343 and IDT72V51353 the Total Available
Memory is 64, 128 and 256 blocks respectively (a block being 512 x 18 or 1,024
x 9). If any port is configured for x18 bus width, a block size is 512 x 18. If both
the write and read ports are configured for x9 bus width, a block size is 1,024
x 9. Queues can be built from these blocks to make any size queue desired and
any number of queues desired.
BUS WIDTHS
The input port is common to all queues within the device, as is the output port.
The device provides the user with Bus Matching options such that the input port
and output port can be either x9 or x18 bits wide, the read and write port widths
being set independently of one another. Because the ports are common to all
queues the width of the queues is not individually set, so that the input width of
all queues are equal and the output width of all queues are equal.
WRITING TO & READING FROM THE MULTI-QUEUE
Data being written into the device via the input port is directed to a discrete
queue via the write queue select address inputs. Conversely, data being read
from the device read port is read from a queue selected via the read queue select
address inputs. Data can be simultaneously written into and read from the same
queue or different queues. Once a queue is selected for data writes or reads,
the writing and reading operation is performed in the same manner as
conventional IDT synchronous FIFO, utilizing clocks and enables, there is a
single clock and enable per port. When a specific queue is addressed on the
write port, data placed on the data inputs is written to that queue sequentially
based on the rising edge of a write clock provided setup and hold times are met.
Conversely, data is read on to the output port after an access time from a rising
edge on a read clock.
The operation of the write port is comparable to the function of a conventional
FIFO operating in standard IDT mode. Write operations can be performed on
the write port provided that the queue currently selected is not full, a full flag output
provides status of the selected queue. The operation of the read port is
comparable to the function of a conventional FIFO operating in FWFT mode.
When a queue is selected on the output port, the next word in that queue will
automatically fall through to the output register. All subsequent words from that
queue require an enabled read cycle. Data cannot be read from a selected
queue if that queue is empty, the read port provides an Output Valid flag indicating
when data read out is valid. If the user switches to a queue that is empty, the
last word from the previous queue will remain on the output register.
As mentioned, the write port has a full flag, providing full status of the selected
queue. Along with the full flag a dedicated almost full flag is provided, this almost
full flag is similar to the almost full flag of a conventional IDT FIFO. The device
5
provides a user programmable almost full flag for all 8 queues and when a
respective queue is selected on the write port, the almost full flag provides status
for that queue. Conversely, the read port has an output valid flag, providing
status of the data being read from the queue selected on the read port. As well
as the output valid flag the device provides a dedicated almost empty flag. This
almost empty flag is similar to the almost empty flag of a conventional IDT FIFO.
The device provides a user programmable almost empty flag for all 8 queues
and when a respective queue is selected on the read port, the almost empty flag
provides status for that queue.
PROGRAMMABLE FLAG BUSSES
In addition to these dedicated flags, full & almost full on the write port and output
valid & almost empty on the read port, there are two flag status busses. An almost
full flag status bus is provided, this bus is 8 bits wide. Also, an almost empty flag
status bus is provided, again this bus is 8 bits wide. The purpose of these flag
busses is to provide the user with a means by which to monitor the data levels
within queues that may not be selected on the write or read port. As mentioned,
the device provides almost full and almost empty registers (programmable by
the user) for each of the 8 queues in the device.
The 4 bit
PAEn
and 4 bit
PAFn
busses provide a discrete status of the Almost
Empty and Almost Full conditions of all 8 queue's. If the device is programmed
for less than 8 queue's, then there will be a corresponding number of active
outputs on the
PAEn
and
PAFn
busses.
The flag busses can provide a continuous status of all queues. If devices are
connected in expansion mode the individual flag busses can be left in a discrete
form, providing constant status of all queues, or the busses of individual devices
can be connected together to produce a single bus of 8 bits. The device can
then operate in a "Polled" or "Direct" mode.
When operating in polled mode the flag bus provides status of each device
sequentially, that is, on each rising edge of a clock the flag bus is updated to show
the status of each device in order. The rising edge of the write clock will update
the Almost Full bus and a rising edge on the read clock will update the Almost
Empty bus.
When operating in direct mode the device driving the flag bus is selected by
the user. The user addresses the device that will take control of a respective
flag bus, these
PAFn
and
PAEn
flag busses operating independently of one
another. Addressing of the Almost Full flag bus is done via the write port and
addressing of the Almost Empty flag bus is done via the read port.
EXPANSION
Expansion of multi-queue devices is also possible, up to 8 devices can be
connected in a parallel fashion providing the possibility of both depth expansion
or queue expansion. Depth Expansion means expanding the depths of
individual queues. Queue expansion means increasing the total number of
queues available. Depth expansion is possible by virtue of the fact that more
memory blocks within a multi-queue device can be allocated to increase the
depth of a queue. For example, depth expansion of 8 devices provides the
possibility of 8 queues of 32K x 18 deep within the IDT72V51333, 64K x 18 deep
within the IDT72V51343 and 128K x 18 deep within the IDT72V51353, each
queue being setup within a single device utilizing all memory blocks available
to produce a single queue. This is the deepest queue that can setup within a
device.
For queue expansion of the 8 queue device, a maximum number of 64 (8
x 8) queues may be setup, each queue being 16K x18 or 32K x 9 deep, if less
queues are setup, then more memory blocks will be available to increase queue
depths if desired. When connecting multi-queue devices in expansion mode all
respective input pins (data & control) and output pins (data & flags), should be
“connected” together between individual devices.