BUS-MATCHING
BIDIRECTIONAL FIFO
512 x 18-BIT – 1024 x 9-BIT
1024 x 18-BIT – 2048 x 9-BIT
IDT72510
IDT72520
FEATURES:
• Two side-by-side FIFO memory arrays for bidirectional
data transfers
• 512 x 18-Bit – 1024 x 9-Bit (IDT72510)
• 1024 x 18-Bit – 2048 x 9-Bit (IDT72520)
• 18-bit data bus on Port A side and 9-bit data bus on Port
B side
• Can be configured for 18-to-9-bit, 36-to-9-bit, or 36-to-18bit communication
• Fast 25ns access time
• Fully programmable standard microprocessor interface
• Built-in bypass path for direct data transfer between two
ports
• Two fixed flags, Empty and Full, for both the A-to-B and
the B-to-A FIFO
• Two programmable flags, Almost-Empty and Almost-Full
for each FIFO
• Programmable flag offset can be set to any depth in the
FIFO
• Any of the eight internal flags can be assigned to four
external flag pins
• Flexible reread/rewrite capabilities.
• On-chip parity checking and generation
• Standard DMA control pins for data exchange with
peripherals
• IDT72510 and IDT72520 available in the the 52-pin PLCC
package
DESCRIPTION:
The IDT72510 and IDT72520 are highly integrated firstin, first-out memories that enhance processor-to-processor
and processor-to-peripheral communications. IDT BiFIFOs
integrate two side-by-side memory arrays for data transfers
in two directions.
The BiFIFOs have two ports, A and B, that both have
standard microprocessor interfaces. All BiFIFO operations
are controlled from the 18-bit wide Port A. The BiFIFOs
incorporate bus matching logic to convert the 18-bit wide
memory data paths to the 9-bit wide Port B data bus. The
BiFIFOs have a bypass path that allows the device connected to Port A to pass messages directly to the Port B
device.
Ten registers are accessible through Port A, a
Command Register, a Status Register, and eight Configuration
Registers.
The IDT BiFIFOs have programmable flags. Each FIFO
memory array has four internal flags, Empty, Almost-Empty,
Almost-Full and Full, for a total of eight internal flags. The
Almost-Empty and Almost-Full flag offsets can be set to any
depth through the Configuration Registers. These eight internal flags can be assigned to any of four external flag pins
(FLG
A-FLGD) through one Configuration Register.
Port B has parity, reread/rewrite and DMA functions. Parity generation and checking can be done by the BiFIFO on
data passing through Port B. The Reread and Rewrite con-
SIMPLIFIED BLOCK DIAGRAM
18-Bit
FIFO
18-bits
DataData
Port
A
Control
Flags
The IDT logo is a registered trademark of Integrated Device Techology, Inc.
COMMERCIAL TEMPERATURE RANGE DECEMBER 1995
1996 Integrated Device Technology, Inc.DSC-2669/-
For latest information contact IDT's web site at www.idt.com or fax-on-demand at 408-492-8391.
Processor
Interface
Bypass Path
A
Programmable
Flag Logic
9-bits9-bits
18-Bit
FIFO
Registers
Processor
Interface
B
Handshake
Interface
5.311
Port
B
Control
DMA
2669 drw 01
IDT72510, IDT72520
BUS MATCHING BIDIRECTIONAL FIFOCOMMERCIAL TEMPERATURE RANGE
trols will read or write Port B data blocks multiple times. The
BiFIFOs have three pins, REQ, ACK and CLK, to control
DMA transfers from Port B devices.
PIN CONFIGURATION
A16
DA7
DA6
INDEX
DA10
DA11
DA12
DA13
DA14
DA15
DA17
A0
A1
FLGD
FLGC
FLGB
FLGA
8
9
10
11
12
13
14
15
16
17
18
19
20
DA9
DA8
LDRER
GND
DSAVCC
2514776543
J52-1
RS
GND
LDREW
5250 49 48
1
D
DA5
46
45
44
43
42
41
40
39
38
37
36
35
34
DA4
DA3
A2
D
DA1
DA0
CS
R/
W
RER
REW
REQ
ACK
CLK
D
B0
A
A
B8
D
DB7
DB6
DB5
GND
B)
DS
GND
B (
R
PLCC
TOP VIEW
VCC
29 30 31 32 3321 22 23 24 25 26 27 28
B)
B4
W
B (R/
W
D
DB3
DB2
DB1
5.312
IDT72510, IDT72520
BUS MATCHING BIDIRECTIONAL FIFOCOMMERCIAL TEMPERATURE RANGE
PIN DESCRIPTIONS
SymbolNameI/ODescription
DA0-DA15Data AI/OData inputs and outputs for 16 bits of the 18-bit Port A bus.
DA16-DA17Parity AI/ODA16 is the parity bit for DA0-DA7. DA17 is the parity bit for DA8-
DA15. DA16 and DA17 can be used as two extra data bits if the
parity generate function is disabled.
CS
AChip Select AIPort A is accessed when Chip Select A is LOW.
DS
AData Strobe AIData is written into Port A on the rising edge of Data Strobe when
Chip Select is LOW. Data is read out of Port A on the falling edge of
Data Strobe when Chip Select is LOW.
R/WARead/Write AIThis pin controls the read or write direction of Port A. When CSA is
LOW and R/WA is HIGH, data is read from Port A on the falling edge
of DSA. When CSA is LOW and R/WA is LOW, data is written into
Port A on the rising edge of DSA.
A0, A1AddressesIWhen Chip Select A is asserted, A0, A1, and Read/Write A are used
to select one of six internal resources.
DB0-DB7Data BI / OData inputs and outputs for 8 bits of the 9-bit Port B bus.
DB8Parity BI / ODB8 is the parity bit for DB0-DB7. DB8 can be used as a data bit if
the parity generate function is disabled.
R
B (DSB)Read BI or OIf Port B is programmed to processor mode, this pin functions as an
input. If Port B is programmed to peripheral mode this pin functions
as an output. This pin can function as part of an Intel-style interface
(RB) or as part of a Motorola-style interface (DSB). As an Intel-style
interface, data is read from Port B on a falling edge of RB. As a
Motorola-style interface, data is read on the falling edge of DSB or
written on the rising edge of DSB through Port B. The Default is Intel-
style processor mode (RB as an input).
W
B (R/WB)Write BI or OIf Port B is programmed to processor mode, this pin functions as an
input. If Port B is programmed to peripheral mode this pin functions
as an output. This pin can function as part of an Intel-style interface
(WB) or as part of a Motorola-style interface (R/WB). As an Intel
style interface, data is written to Port B on a rising edge of WB. As
a Motorola-style interface, data is read (R/WB = HIGH) or written (R/
W
B = LOW) to Port B in conjunction with a Data Strobe B falling or
rising edge. The Default is Intel-style processor mode (WB as input).
RER
REW
LDRERLoad RereadILoads the Reread Pointer with the value of the A-to-B FIFO Read
LDREWLoad RewriteILoads the Rewrite Pointer with the value of the B-to-A FIFO Write
REQRequestIWhen Port B is programmed in peripheral mode, asserting this pin
RereadILoads A-to-B FIFO Read Pointer with the value of the Reread
Pointer when LOW.
RewriteILoads B-to-A FIFO Write Pointer with the value of the Rewrite
Pointer when LOW.
Pointer when HIGH. This signal is accessible through the Command
Register.
Pointer when HIGH. This signal is accessible through the Command
Register.
begins a data transfer. Request can be programmed either active
HIGH or active LOW.
2669 tbl 01
5.313
IDT72510, IDT72520
BUS MATCHING BIDIRECTIONAL FIFOCOMMERCIAL TEMPERATURE RANGE
PIN DESCRIPTIONS
SymbolNameI/ODescription
ACKAcknowledgeOWhen Port B is programmed in peripheral mode, Acknowledge is
asserted in response to a Request signal. This confirms that a data
transfer may begin. Acknowledge can be programmed either active
HIGH or active LOW.
CLKClockIThis pin is used to generate timing for ACK, RB, WB,
DS
B and R/WB when Port B is in the peripheral mode.
FLGA-FLGDFlagsOThese four outputs pins can be assigned to any one of the eight
internal flags in the BiFIFO. Each of the two internal FIFOs (A-to-B
and B-to-A) has four internal flags: Empty, Almost-Empty, Almost-
Full, and Full. If parity checking is enabled, the FLGA pin can also
be assigned as a parity error output.
RS
VCCPowerThere are two +5V power pins on all four devices.
GNDGroundThere are four ground pins
ResetIA LOW on this pin will perform a reset of all BiFIFO functions.
Software reset can be achieved through command register.
2669 tbl 02
5.314
IDT72510, IDT72520
BUS MATCHING BIDIRECTIONAL FIFOCOMMERCIAL TEMPERATURE RANGE
DETAILED BLOCK DIAGRAM
RER
LDRER †
LDREW †
Port B
Control
B) ††
DS
B (
REW
R
B) ††
W
B (R/
W
(DB8)
1
MUX
Read Parity Error
Check
Generate/
Parity
B0-DB7)
(D
Port B
8
†
CLK
ACK*
REQ*
RS
DB0-DB8
2669 drw 04
DMA
Reset
Control
8
Check
Generate/
Parity
MUX
Write
Parity Error
9
Reread
ReRead Pointer
Load Reread
Write PointerRead Pointer
A→B FIFO
Parity Bit 16
Parity Bit 17
8
Data Bits 0-7
Data Bits 8-15
18
8
Bypass Path
9
A0-DA7,DA16)
(D
Parity Bit 16
Parity Bit 17
B→A FIFO
Register
Odd Byte
Data Bits 0-7
Data Bits 8-15
18
Rewrite
Write Pointer
ReWrite Pointer
Load Rewrite
Read Pointer
Command
Status
Configuration 0
16
A0-DA15)
(D
Configuration 1
Configuration 2
Configuration 3
Configuration 4
Configuration 5
Configuration 6
Configuration 7
A
CS
Port A
Control
A
A
W
DS
R/
Flag Logic
Programmable
A1
A0
FLGA*
FLGB*
FLGC*
Port A
DA0-DA17
5.315
FLGD*
NOTES:
(*) Can be programmed either active high or active low in internal configuration registers.
(†) Accessible through internal registers.
(††) Can be programmed through an internal configuration register to be either an input or an output.
2669 drw 03
IDT72510, IDT72520
BUS MATCHING BIDIRECTIONAL FIFOCOMMERCIAL TEMPERATURE RANGE
FUNCTIONAL DESCRIPTION
IDT’s BiFIFO family is versatile for both multiprocessor
and peripheral applications. Data can be sent through both
FIFO memories concurrently, thus freeing both processors
from laborious direct memory access (DMA) protocols and
frequent interrupts.
Two full 18-bit wide FIFOs are integrated into the IDT
BiFIFO, making simultaneous data exchange possible. Each
FIFO is monitored by separate internal read and write point-
The microprocessor or microcontroller connected to Port
A controls all operations of the BiFIFOs. Thus, all Port A
interface pins are inputs driven by the controlling processor.
Port B can be programmed to interface either with a second
processor or a peripheral device. When Port B is programmed
in processor interface mode, the Port B interface pins are
inputs driven by the second processor. If a peripheral device
is connected to the BiFIFOs, Port B is programmed to peripheral interface mode and the interface pins are outputs.
ers, so communication is not only bidirectional, it is also
totally independent in each direction. The processor connected to Port A of the BiFIFO can send or receive messages directly to the Port B device using the BiFIFO’s 9-bit
bypass path.
The BiFIFOs can be used in three different bus configurations: 18 bits to 9 bits, 36 bits to 9 bits and 36 bits to 18 bits.
One BiFIFO can be used for the 18- to 9-bit configuration,
18- to 9-bit Configurations
A single BiFIFO can be configured to connect an 18-bit
processor to another 9-bit processor or a 9-bit peripheral.
Bits 11 and 12 of Configuration Register 5 should be set to
00 for a stand-alone configuration. Figures 1 and 2 show the
BiFIFO in 18- to 9-bit configurations for processor and
peripheral interface modes respectively.
and two BiFIFOs are required for 36- to 9-bit or 36- to 18-bit
configurations. Bits 11 and 12 of Configuration Register 5
determine the BiFIFO configuration (see Table 11 for
Configuration Register 5 format).
36- to 9-bit Configurations
Two BiFIFOs can be hooked together to create a 36-bit to
9-bit configuration. This means that a 36-bit processor can
36-BIT PROCESSOR to 18-BIT PROCESSOR CONFIGURATION
Processor
A
Address
Control
Data
RAM
Logic
Control
36
36-bit bus
18
IDT
BiFIFO
(Stand-Alone)
Cntl A Cntl B
ACK
REQ
CLK
Data A Data B
IDT
BiFIFO
(Stand-Alone)
Cntl A Cntl B
ACK
REQ
CLK
Data B
Data A
9
18-bit bus
Logic
Control
18
Processor
B
Control
Data
RAM
2669 drw 04
NOTE:
1. Upper BiFIFO only is used in 18- to 9-bit configuration. Note that
and
W
B.
Figure 1. 36- to 18-Bit Processor Interface Configuration
Cntl A
refers to
5.316
CS
A, A1, A0, R/WA and DSA;
Cntl B
refers to R/
W
B and DSB or RB
IDT72510, IDT72520
BUS MATCHING BIDIRECTIONAL FIFOCOMMERCIAL TEMPERATURE RANGE
36-BIT PROCESSOR to 18-BIT PERIPHERAL CONFIGURATION
IDT
BiFIFO
(Stand-Alone)
Cntl A Cntl B
ACK
Processor
Address
Control
Data
RAM
Logic
Control
36
36-bit bus
18
REQ
CLK
Data B
Data A
IDT
BiFIFO
(Stand-Alone)
Cntl ACntl B
ACK
REQ
CLK
Data A Data B
18
18-bit bus
9
DMA or System
Clock
Peripheral
Controller
Cntl
ACK
REQ
Data
I/O
Data
2669 drw 05
NOTE:
1. Upper BiFIFO only is used in 18- to 9-bit configuration. Note that
and
W
B.
Figure 2. 36- to 18-Bit Peripheral Interface Configuration
Cntl A
talk to a 9-bit processor or a 9-bit peripheral. Both BiFIFOs
are programmed simultaneously through Port A by placing
one command word on the most significant 16 data bits and
one command word on the least significant 16 data bits
(parity bits should be ignored).
One BiFIFO must be programmed as the master device
and the other BiFIFO is the slave device. Bits 11 and 12 of
Configuration Register 5 are set to 10 for the slave device
and 11 for the master device. The first two 9-bit words on
Port B are read from or written to the slave device and the
next two 9-bit words go to the master device.
When both BiFIFOs are in peripheral interface mode, the
Port B interface pins of the master device are outputs and
this BiFIFO controls the bus. The Port B interface pins of the
slave device are inputs driven by the master BiFIFO. Two
BiFIFOs are connected in Figure 4 to create a 36- to 9-bit
peripheral interface.
The two BiFIFOs shown in Figure 3 are configured to
connect a 36-bit processor to a 9-bit processor.
36- to 18-bit Configurations
In a 36- to 18-bit configuration, two BiFIFOs operate in
parallel. Both BiFIFOs are programmed simultaneously, 16
data bits to each device with the 4 parity bits ignored.
Both BiFIFOs must be programmed into stand-alone mode
for a 36-bit processor to communicate with an 18-bit processor or an 18-bit peripheral. This means that bits 11 and 12 of
refers to
CS
A, A1, A0, R/
W
Aand
DS
A;
Cntl B
refers to R/
W
B andDSB or RB
Configuration Register 5 must be set to 00.
This configuration can be extended to wider bus widths
(54- to 27-bits, 72- to 36-bits, …) by adding more BiFIFOs to
the configuration. Figures 1 and 2 show multiple BiFIFOs
configured for processor and peripheral interface modes
respectively.
Processor Interface Mode
When a microprocessor or microcontroller is connected to
Port B, all BiFIFOs in the configuration must be programmed
to processor interface mode. In this mode, all Port B interface
controls are inputs. Both REQ and CLK pins should be pulled
LOW to ensure that the set-up and hold time requirements for
these pins are met during reset. Figures 1 and 3 show
BiFIFOs in processor interface mode.
Peripheral Interface Mode
If Port B is connected to a peripheral controller, all BiFIFOs
in the configuration must be programmed in the peripheral
interface mode. To assure fixed high states for
R
B and WB
before they are programmed into an output, both pins should
be pulled-up to V
CC with 10K resistors.
If the BiFIFOs are in stand-alone configuration mode
(18- to 9-bit, 36- to 18-bit, …), then the Port B interface pins are
all outputs. Of course, only one set of Port B interface pins
should be used to control a single peripheral device, while the
other interface pins are all ignored. Figure 2 shows stand-
5.317
IDT72510, IDT72520
BUS MATCHING BIDIRECTIONAL FIFOCOMMERCIAL TEMPERATURE RANGE
alone configuration BiFIFOs connected to a peripheral.
In a 36- to 9-bit configuration, the master device controls
the bus. The Port B interface pins of the master device are
outputs and the interface pins of the slave device are inputs.
A 36- to 9-bit configuration of two BiFIFOs connected to a
peripheral is shown in Figure 4.
sources: the A→B FIFO, the B→A FIFO, the 9-bit direct data
bus (bypass path), the configuration registers, status and
command registers. The Port A Address and Read/Write pins
determine the resource being accessed as shown in Table 1.
Data Strobe is used to move data in and out of the BiFIFO.
When either of the internal FIFOs are accessed 18 bits of
data are transferred across Port A. Since the bypass path is
Port A Interface
The BiFIFO is straightforward to use in microprocessorbased systems because each BiFIFO port has a standard
microprocessor control set. Port A has access to six re-
only 9 bits wide, the least significant byte with parity
(DA0-DA7, DA16) is used on Port A. All of the registers are 16
bits wide which means only the data bits (DA0-DA15) are
passed by Port A.
36-BIT PROCESSOR to 9-BIT PROCESSOR CONFIGURATION
IDT
BiFIFO
(Master)
Cntl A Cntl B
ACK
REQ
CLK
Data A Data B
Processor
A
Address
Control
Logic
Control
Logic
Control
Processor
B
Control
NOTE:
1.
Cntl A
refers to
Data
RAM
CS
A, A1, A0, R/WAandDSA;
IDT
BiFIFO
36-bit bus
18
Figure 3. 36- to 9-Bit Processor Interface Configuration
Cntl B
refers to R/
(Slave)
Cntl A
Data A Data B
W
Cntl B
ACK
REQ
CLK
Band DSBor RB and WB.
9-bit bus
Data
RAM
2669 drw 06
5.318
IDT72510, IDT72520
BUS MATCHING BIDIRECTIONAL FIFOCOMMERCIAL TEMPERATURE RANGE
36-BIT PROCESSOR to 9-BIT PERIPHERAL CONFIGURATION
IDT
BiFIFO
(Master)
Cntl A Cntl B
ACK
Processor
Address
Control
Data
RAM
Logic
Control
36-bit bus
18
REQ
CLK
Data A Data B
IDT
BiFIFO
(Slave)
Cntl ACntl B
ACK
REQ
CLK
Data A Data B
9-bit bus
DMA or
System
Clock
Peripheral
Controller
Cntl
ACK
REQ
Data
Data
I/O
2669 drw 07
NOTE:
Cntl A
1.
refers to
CS
A, A1, A0, R/WA and DSA;
Figure 4. 36- to 9-Bit Peripheral Interface Configuration
Cntl B
refers to R/
W
B and DSB or RB and WB.
5.319
IDT72510, IDT72520
BUS MATCHING BIDIRECTIONAL FIFOCOMMERCIAL TEMPERATURE RANGE
The bypass path acts as a bidirectional bus transceiver
directly between Port A and Port B. The direct connection
requires that the Port A interface pins are inputs and the Port
B interface pins are outputs. The bypass path is 9 bits wide in
an 18- to 9-bit configuration or in a 36- to 9-bit configuration.
Only in the 36- to 18-bit configuration is the bypass path 18 bits
wide.
During bypass operations, the BiFIFOs must be programmed into peripheral interface mode. Bit 10 of Configuration Register 5 (see Table 11) is set to 1 for peripheral interface
mode. In a 36- to 9-bit configuration, both Port B data buses
will be active. Data written into Port A will appear on both
master and slave Port B buses concurrently. To avoid Port B
bus contention, the data on D
A0-DA7 and DA16 of both BiFIFOs
should be exactly the same. Data read from Port A will appear
on pins DA0-DA7 and DA16 of both BiFIFOs within the same 36bit word.
Command Register
Ten registers are accessible through Port A, a Command
Register, a Status Register, and eight Configuration Registers.
The Command Register is written by setting
CS
A = 0, A1 =
1, A0 = 1. Commands written into the BiFIFO have a 4-bit
opcode (bit 8 – bit 11) and a 3-bit operand (bit 0 – bit 2) as
shown in Figure 5. The commands can be used to reset the
BiFIFO, to select the Configuration Register, to perform intelligent reread/rewrite, to set the Port B DMA direction, to set the
Status Register format, to modify the Port B Read and Write
Pointers, and to clear Port B parity errors. The command
opcodes are shown in Table 2.
The reset command initializes different portions of the
BiFIFO depending on the command operand. Table 3 shows
the reset command operands.
The Configuration Register address is set directly by the
command operands shown in Table 4.
Intelligent reread/rewrite is performed by changing the Port
B Read Pointer with the Reread Pointer or by changing the
Command
Opcode
0000Reset BiFIFO (see Table 3)
0001Select Configuration Register (see Table 4)
0010Load Reread Pointer with Read Pointer Value
0011Load Rewrite Pointer with Write Pointer Value
0100Load Read Pointer with Reread Pointer Value
0101Load Write Pointer with Rewrite Pointer Value
0110Set DMA Transfer Direction (see Table 5)
0111Set Status Register Format (see Table 6)
1000
1001
1010Clear Write Parity Error Flag
1011Clear Read Parity Error Flag
Increment in byte for A→B FIFO Read Pointer
(Port B)
Increment in byte for B→A FIFO Write Pointer
(Port B)
Function
2669 tbl 04
Table 2. Functions Performed by Port A Commands
Port B Write Pointer with the Rewrite Pointer. No command
operands are required to perform a reread/rewrite operation.
When Port B of the BiFIFO is in peripheral mode, the DMA
direction is controlled by the Command Register. Table 5
shows the Port B read/write DMA direction operands.
The BiFIFO supports two Status Register formats. Status
Register format 1 gives all the internal flag status, while Status
Register format 0 provides the data in the Odd Byte Register.
Table 6 gives the operands for selecting the appropriate
Status Register format. See Table 8 for the details of the two
Status Register formats.
Two commands are provided to increment the Port B Read
and Write Pointers in case reread/rewrite is performed.
Incrementing the pointers guarantees that pointers will be on
a word boundary when an odd number of bytes is transmitted
through Port B. No operands are required for these commands.
When parity check errors occur on Port B, a clear parity
error command is needed to remove the parity error. There are
no operands for these commands.
Reset
The IDT72510 and IDT72520 have a hardware reset pin
(RS) that resets all BiFIFO functions. A hardware reset requires the following four conditions:
RER
and
REW
must be HIGH, LDRER and LDREW must be
LOW, and
DS
A must be HIGH (Figure 9). After a hardware
R
B and WB must be HIGH,
reset, the BiFIFO is in the following state: Configuration
Registers 0-3 are 0000H, Configuration Register 4 is set to
COMMAND FORMAT
15121187320
XXXXCommand OpcodeXXXXXCommand Operand
Figure 5. Format for Commands Written into Port A
5.3110
2669 tbl 05
Loading...
+ 22 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.