10
IDT72V3611 3.3V, CMOS SyncFIFO
TM
64 x 36 COMMERCIAL TEMPERATURE RANGE
NOTE:
1. X is the value in the Almost-Empty flag and Almost-Full flag register.
Synchronized Synchronized
Number of Words to CLKB to CLKA
in the FIFO EF AE AF FF
0LLHH
1 to X H L H H
(X+1) to [64-(X+1)] H H H H
(64-X) to 63 H H L H
64 H H L L
the read sets the FF HIGH and data can be written in the following clock cycle.
A LOW-to-HIGH transition on CLKA begins the first synchronization cycle
of a read if the clock transition occurs at time t
SKEW1 or greater after the read.
Otherwise, the subsequent clock cycle can be the first synchronization cycle (see
Figure 6).
ALMOST-EMPTY FLAG ( AE )
The FIFO Almost-Empty flag is synchronized to the port clock that reads
data from its array (CLKB). The state machine that controls the AE flag monitors
a write pointer and read pointer comparator that indicates when the FIFO
memory status is almost-empty, almost-empty+1, or almost-empty+2. The
almost-empty state is defined by the value of the Almost-Full and Almost-Empty
Offset register (X). This register is loaded with one of four preset values during
a device reset (see the Reset section). The AE flag is LOW when the FIFO
contains X or less words in memory and is HIGH when the FIFO contains (X+1)
or more words.
Two LOW-to-HIGH transitions on the port-B clock (CLKB) are required
after a FIFO write for the
AE
flag to reflect the new level of fill. Therefore, the
AE
flag of a FIFO containing (X+1) or more words remains LOW if two CLKB
cycles have not elapsed since the write that filled the memory to the (X+1) level.
The
AE
flag is set HIGH by the second CLKB LOW-to-HIGH transition after the
FIFO write that fills memory to the (X+1) level. A LOW-to-HIGH transition on
CLKB begins the first synchronization cycle if it occurs at time t
SKEW2
or greater
after the write that fills the FIFO to (X+1) words. Otherwise, the subsequent CLKB
cycle can be the first synchronization cycle (see Figure 7).
ALMOST-FULL FLAG ( AF )
The FIFO Almost-Full flag is synchronized to the port clock that writes
data to its array (CLKA). The state machine that controls an AF flag monitors
a write pointer and read pointer comparator that indicates when the FIFO
memory status is almost-full, almost- full-1, or almost-full-2. The almost-full state
is defined by the value of the Almost-Full and Almost-Empty Offset register (X).
This register is loaded with one of four preset values during a device reset (see
the Reset section). The AF flag is LOW when the FIFO contains (64-X) or more
words in memory and is HIGH when the FIFO contains [64-(X+1)] or less words.
Two LOW-to-HIGH transitions on the port-A clock (CLKA) are required
after a FIFO read for the AF flag to reflect the new level of fill. Therefore, the
AF flag of a FIFO containing [64-(X+1)] or less words remains LOW if two CLKA
cycles have not elapsed since the read that reduced the number of words in
memory to [64-(X+1)]. The AF flag is set HIGH by the second CLKA LOW-to-
HIGH transition after the FIFO read that reduces the number of words in memory
to [64-(X+1)]. A LOW-to-HIGH transition on CLKA begins the first synchroni-
zation cycle if it occurs at time tSKEW2 or greater after the read that reduces the
number of words in memory to [64-(X+1)]. Otherwise, the subsequent CLKA
cycle can be the first synchronization cycle (see Figure 8).
MAILBOX REGISTERS
Two 36-bit bypass registers are on the IDT72V3611 to pass command and
control information between port A and port B. The Mailbox select (MBA, MBB)
inputs choose between a mail register and a FIFO for a port data transfer
operation. A LOW-to-HIGH transition on CLKA writes A0-A35 data to the mail1
register when port-A write is selected by CSA, W/RA, and ENA with MBA HIGH.
A LOW-to-HIGH transition on CLKB writes B0-B35 data to the mail2 register
when port-B write is selected by CSB, W/RB, and ENB with MBB HIGH. Writing
data to a mail register sets its corresponding flag (MBF1 or MBF2) LOW.
Attempted writes to a mail register are ignored while its mail flag is LOW.
When the port-B data (B0-B35) outputs are active, the data on the bus
comes from the FIFO output register when the port-B Mailbox select (MBB) input
SYNCHRONIZED FIFO FLAGS
Each FIFO flag is synchronized to its port clock through two flip-flop stages.
This is done to improve the flags’ reliability by reducing the probability of
metastable events on their outputs when CLKA and CLKB operate asynchro-
nously to one another. FF and AF are synchronized to CLKA. EF and AE are
synchronized to CLKB. Table 4 shows the relationship of the flags to the level
of FIFO fill.
EMPTY FLAG ( EF )
The FIFO Empty Flag is synchronized to the port clock that reads data from
its array (CLKB). When the EF is HIGH, new data can be read to the FIFO output
register. When the EF is LOW, the FIFO is empty and attempted FIFO reads
are ignored.
The FIFO read pointer is incremented each time a new word is clocked
to its output register. The state machine that controls an EF monitors a write
pointer and read pointer comparator that indicates when the FIFO memory
status is empty, empty+1, or empty+2. A word written to the FIFO can be read
to the FIFO output register in a minimum of three port-B clock (CLKB) cycles.
Therefore, an EF is LOW if a word in memory is the next data to be sent to the
FIFO output register and two CLKB cycles have not elapsed since the time the
word was written. The EF of the FIFO is set HIGH by the second LOW-to-HIGH
transition of CLKB, and the new data word can be read to the FIFO output
register in the following cycle.
A LOW-to-HIGH transition on CLKB begins the first synchronized cycle of
a write if the clock transition occurs at time t
SKEW1
or greater after the write.
Otherwise, the subsequent CLKB cycle can be the first synchronization cycle
(see Figure 5).
FULL FLAG ( FF )
The FIFO Full Flag is synchronized to the port clock that writes data to its
array (CLKA). When the FF is HIGH, a FIFO memory location is free to receive
new data. No memory locations are free when the FF is LOW and attempted
writes to the FIFO are ignored.
Each time a word is written to the FIFO, its write pointer is incremented. The
state machine that controls the FF monitors a write pointer and read pointer
comparator that indicates when the FIFO memory status is full, full-1, or full-2.
From the time a word is read from the FIFO, its previous memory location is
ready to be written in a minimum of three port-A clock cycles. Therefore, a FF
is LOW if less than two CLKA cycles have elapsed since the next memory write
location has been read. The second LOW-to-HIGH transition on CLKA after
TABLE 4 – FIFO FLAG OPERATION
11
IDT72V3611 3.3V, CMOS SyncFIFO
TM
64 x 36 COMMERCIAL TEMPERATURE RANGE
is LOW and from the mail1 register when MBB is HIGH. Mail2 data is always
present on the port-A data (A0-A35) outputs when they are active. The Mail1
Register Flag (MBF1) is set HIGH by a LOW-to-HIGH transition on CLKB when
a port-B read is selected by CSB, W/RB, and ENB with MBB HIGH. The Mail2
Register Flag (MBF2) is set HIGH by a LOW-to-HIGH transition on CLKA when
a port-A read is selected by CSA, W/RA, and ENA with MBA HIGH. The data
in a mail register remains intact after it is read and changes only when new data
is written to the register. For relevant mail register and mail register flag timing
diagrams, see Figure 9 and Figure 10.
PARITY CHECKING
The port-A (A0-A35) inputs and port-B (B0-B35) inputs each have four
parity trees to check the parity of incoming (or outgoing) data. A parity failure
on one or more bytes of the input bus is reported by a LOW level on the port
Parity Error Flag (PEFA, PEFB). Odd or even parity checking can be selected,
and the Parity Error Flags can be ignored if this feature is not desired.
Parity status is checked on each input bus according to the level of the Odd/
Even parity (ODD/EVEN) select input. A parity error on one or more bytes
of a port is reported by a LOW level on the corresponding port Parity Error Flag
(PEFA, PEFB) output. Port-A bytes are arranged as A0-A8, A9-A17, A18-
A26, and A27-A35, and port-B bytes are arranged as B0-B8, B9-B17, B18-
B26, and B27-B35. When Odd/Even parity is selected, a port Parity Error Flag
(PEFA, PEFB) is LOW if any byte on the port has an odd/even number of LOW
levels applied to its bits.
The four parity trees used to check the A0-A35 inputs are shared by the
mail2 register when parity generation is selected for port-A reads
(PGA=HIGH). When port-A read from the mail2 register with parity generation
is selected with CSA LOW, ENA HIGH, W/RA LOW, MBA HIGH, and PGA
HIGH, the port-A Parity Error Flag (PEFA) is held HIGH regardless of the levels
applied to the A0-A35 inputs. Likewise, the parity trees used to check the B0-
B35 inputs are shared by the mail1 register when parity generation is selected
for port-B reads (PGB=HIGH). When a port-B read from the mail1 register with
parity generation is selected with CSB LOW, ENB HIGH, W/RB LOW, MBB
HIGH, and PGB HIGH, the port-B Parity Error Flag (PEFB) is held HIGH
regardless of the levels applied to the B0-B35 inputs.
PARITY GENERATION
A HIGH level on the port-A Parity Generate select (PGA) or port-B Parity
Generate select (PGB) enables the IDT72V3611 to generate parity bits for
port reads from a FIFO or mailbox register. Port-A bytes are arranged as A0-
A8, A9-A17, A18-A26, and A27-A35, with the most significant bit of each byte
used as the parity bit. Port-B bytes are arranged as B0-B8, B9-B17, B18-B26,
and B27-B35, with the most significant bit of each byte used as the parity bit. A
write to a FIFO or mail register stores the levels applied to all thirty-six inputs
regardless of the state of the Parity Generate select (PGA, PGB) inputs. When
data is read from a port with parity generation selected, the lower eight bits of
each byte are used to generate a parity bit according to the level on the ODD/
EVEN select. The generated parity bits are substituted for the levels originally
written to the most significant bits of each byte as the word is read to the data
outputs.
Parity bits for FIFO data are generated after the data is read from the FIFO
RAM and before the data is written to the output register. Therefore, the port-
B Parity Generate select (PGB) and ODD/EVEN have setup and hold time
constraints to the port-B clock (CLKB) for a rising edge of CLKB used to read
a new word to the FIFO output register.
The circuit used to generate parity for the mail1 data is shared by the port-
B bus (B0-B35) to check parity and the circuit used to generate parity for the
mail2 data is shared by the port-A bus (A0-A35) to check parity. The shared
parity trees of a port are used to generate parity bits for the data in a mail register
when the port Write/Read select (W/RA, W/RB) input is LOW, the port Mail select
(MBA, MBB) input is HIGH, Chip Select (CSA, CSB) is LOW, Enable (ENA,
ENB) is HIGH, and the port Parity Generate select (PGA, PGB) is HIGH.
Generating parity for mail register data does not change the contents of the
register (see Figure 13 and Figure 14).
12
IDT72V3611 3.3V, CMOS SyncFIFO
TM
64 x 36 COMMERCIAL TEMPERATURE RANGE
Figure 3. FIFO Write Cycle Timing
Figure 2. Device Reset and Loading the X Register with the Value of Eight
CLKA
RST
FF
AE
AF
MBF1,
MBF2
CLKB
EF
FS1,FS0
4657 drw 05
tRSTS
tRSTH
tFSH
tFSS
tWFF
tWFF
tPAE
0,1
tPAF
tRSF
tREF
CLKA
FF
ENA
MBA
CSA
W/RA
t
CLKH
t
CLKL
t
CLK
t
ENS1
t
ENS1
t
ENS3
t
ENS2
t
ENH1
t
ENH1
t
ENH3
t
ENH2
t
ENS2
t
ENH2
t
ENH2
t
ENS2
4657 drw 06
PEFA
A0 - A35
t
DS
t
DH
W1
W2
No Operation
ODD/
EVEN
ValidValid
t
PDPE
t
PDPE
HIGH

72V3611L20PF

Mfr. #:
Manufacturer:
IDT
Description:
FIFO 64 x 36 SyncFIFO, 3.3V
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union