13
IDT723622/723632/723642 CMOS SyncBiFIFO
256 x 36 x 2, 512 x 36 x 2, 1,024 x 36 x 2
COMMERCIALTEMPERATURERANGE
in memory to [256/512/1,024-(Y+1)]. Otherwise, the subsequent synchroniz-
ing clock cycle may be the first synchronization cycle (see Figures 14 and 15).
MAILBOX REGISTERS
Each FIFO has a 36-bit bypass register to pass command and control
information between port A and port B without putting it in queue. 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
writesA0-A35datatothemail1registerwhenaportAWriteisselectedby
CSA,
W/
RA,andENAandwithMBAHIGH.ALOW-to-HIGHtransitiononCLKBwrites
B0-B35 data to the mail2 register when a port B Write is selected by
CSB, W/
RB, and ENB and with MBB HIGH. Writing data to a mail register sets its
corresponding flag (
MBF1orMBF2)LOW.Attemptedwritestoamailregister
are ignored while the mail flag is LOW.
When data outputs of a port are active, the data on the bus comes from
the FIFO output register when the port Mailbox select input is LOW and from
the mail register when the port-mailbox select input is HIGH. The Mail1
RegisterFlag(
MBF1)issetHIGHbyaLOW-to-HIGHtransitiononCLKBwhen
a port B Read is selected by
CSB, W/RB, and ENB and with MBB HIGH. The
Mail2RegisterFlag(
MBF2)issetHIGHbyaLOW-to-HIGHtransitiononCLKA
when a port A read is selected by
CSA, W/RA, and ENA and with MBA HIGH.
The data in a mail register remains intact after it is read and changes only when
newdataiswrittentotheregister.FormailregisterandMailRegisterflagtiming
diagrams, see Figure 16 and 17.
ALMOST-FULL FLAGS (
AFA, AFB)
The Almost-Full flag of a FIFO is synchronized to the port clock that writes
data to its array. The state machine that controls an Almost-Full flag monitors a
writepointerandreadpointercomparatorthatindicateswhentheFIFOmemory
statusisalmost-full,almost-full-1,oralmost-full-2.Thealmost-fullstateisdefined
by the contents of register Y1 for
AFAandregisterY2forAFB.Theseregisters
are loaded with preset values during a FlFO reset or programmed from port
A (see Almost-Empty flag and Almost-Full flag offset programming section).
AnAlmost-FullflagisLOWwhenthenumberofwordsinitsFIFOisgreaterthan
or equal to (256-Y), (512-Y), or (1,024-Y) for the IDT723622, IDT723632, or
IDT723642respectively. AnAlmost-FullflagisHIGHwhenthenumberofwords
in its FIFO is less than or equal to [256-(Y+1)], [512-(Y+1)], or [1,024-(Y+1)]
for the IDT723622, IDT723632, or IDT723642 respectively. Note that a data
word present in the FIFO output register has been read from memory.
TwoLOW-to-HIGHtransitionsoftheAlmost-Fullflagsynchronizingclock
are required after a FIFO read for its Almost-Full flag to reflect the new level of
fill. Therefore, the Almost-Full flag of a FIFO containing [256/512/1,024-(Y+1)]
or less words remains LOW if two cycles of its synchronizing clock have not
elapsed since the read that reduced the number of words in memory to [256/
512/1,024-(Y+1)]. AnAlmost-FullflagissetHIGHbythesecondLOW-to-HIGH
transitionofitssynchronizingclockaftertheFIFOreadthatreducesthenumber
ofwordsinmemoryto[256/512/1,024-(Y+1)]. ALOW-to-HIGHtransitionofan
Almost-Full flag synchronizing clock begins the first synchronization cycle if it
occursattimetSKEW2orgreaterafterthereadthatreducesthenumberofwords