CY7C43642AV
CY7C43662AV/CY7C43682AV
PRELIMINARY
Document #: 38-06020 Rev. ** Page 26 of 31
siding in the FIFO’s memory array is clocke d to the output re g-
ister only when a read is selected using the port’s Chip Select,
Write/Read select, Enable, and Mailbox select.
When opera ting the FIFO in CY Standard M ode, regardless of
whether the Empty Flag is LOW or HIGH, data residing in the
FIFO’s memory array is clocked to the output register only
when a read is selected using the port’s Chip Select, Write/
Read select, Enable, and Mailbox select.
Synchronized Flags
Each FIFO is synchronized to its port clock through at least
two fli p-flop stages. Th is is done to improve flag-s ignal reliabi l-
ity by reducing the probability of the metastable events when
CLKA and CLKB operate asynchronously to one another . EF A/
ORA, AEA, FFA/IRA, and AFA are synchronized to CLKA.
EFB/ORB, AEB, FFB/IRB, and AFB are synchronized to
CLKB. Table 4 and Table 5 show the rel ati ons hi p of ea ch port
flag to FIFO1 and FIFO2.
Empty/Output Ready Flags (EFA/ORA, EFB/ORB)
These are dual-purpose flags. In the FWFT Mode, the Output
Ready (ORA, ORB) function is selected. When the Output
Ready flag is HIGH, new data is present in the FIFO output
register. When the Output Ready flag is LOW, the previous
data word remains in the FIFO output register and any FIFO
reads are ignored.
In the CY Standard Mo de, the Empty Flag (E FA, EFB) function
is sele cted. When the Emp ty Flag is HIGH, dat a is availab le in
the FIFO’s RAM memory for reading to the output register.
When Empty Flag is LOW, the previous data word remains in
the FIFO output register and any FIFO reads are ignored.
The Emp ty/Outpu t Ready flag of a F IFO is sync hronized to the
port clock that reads data from its array. For both the FWFT
and CY Standa rd mo des , the FIFO read poin ter is in cre me nt-
ed each time a new word is clocked to its output register. The
state machine that controls an Output Ready flag monitors a
write poi nter and read poin ter comp arator tha t indica tes when
the FIFO SRAM status is empty, empty+1, or empty+2.
In FWFT Mod e, from the ti me a word is written to a FIFO, it ca n
be shifted to the FIFO output register in a minimum of three
cycles of the Output Ready flag synchronizing clock. There-
fore, an Output Ready flag is LOW if a word in memory is the
nex t dat a to be se nt to t he FI FO out p ut reg i st er and th r e e cy -
cles have not elapsed since the time the word was written. The
Output Ready flag of the FIFO remains LOW until the third
LOW -to-HIGH tran si tio n o f the sy nc hron iz ing c lo ck occ urs , s i-
multane ously fo rcing t he Output Ready flag H IGH and s hifting
the word to the FIFO output register.
In the CY Standard Mod e, from the time a word is writte n to a
FIFO, the Empty Flag will indicate the presence of data avail-
able for reading in a minimum of two cycles of the Empty flag
synchronizing clock. Therefore, an Empty flag is LOW if a word
in memory is the next data to be sent to the FIFO output reg-
ister an d tw o cy cl es hav e not ela ps ed s in ce the tim e t he w o rd
was written . The Empty flag of the FIFO remains LOW until th e
second LOW -to-HIGH transition of the synchronizing cl ock oc-
curs, forc ing the Empty flag H IGH; only then can d ata be read.
A LOW-to-HIGH transition on an Empty/Output Ready flag
synch ronizi ng cl ock beg ins the fir st sync hroniz ation cy cle of a
write if the clock transition occurs at time tSKEW1 or greater
after the write. Otherwise, the subsequent clock cycle will be
the first synchronization cycle.
Full/Input Ready Flags (FFA/IRA, FFB/IRB)
This is a dual-purpose flag. In FWFT Mode, the Input Ready
(IRA and IRB) fu nc tion is sel ected. In CY Stan dard Mode, th e
Full Flag (FFA and FFB) function is selected. For both timing
modes, when the Full/Input Ready flag is HIGH, a memory
location is free in the SRAM to receive new data. No memory
locations are free when the Full/Input Ready flag is LOW and
any writes to the FIFO are ignored.
The Full /Input Ready fl ag of a FIFO i s synchronize d to the port
clock that writes data to it s array . For both FWFT and CY Stan-
dard modes, each time a word is written to a FIFO, its write
pointer is incremen ted. The state machine th at controls a Ful l/
Input Ready flag monitors a write pointer and read pointer
compara tor tha t indi ca tes when the FIFO SRAM status is full,
full–1, or full–2. From the time a word is read from a FIFO, its
previous memory location is ready to be written to in a mini-
mum of two cycles of the Full/Input Ready flag synchronizing
clock. Therefore, an Full/Input Ready flag is LOW if less than
two cycles of the Full/Input Ready flag synchronizing clock
have elapsed since the next memory write location has been
read. The second LOW-to-HIGH transition on the Full/Input
Ready flag synchronizing clock after the read sets the Full/
Input Ready flag HIGH.
A LOW -to-HIGH tra nsition on a Ful l/Input R eady flag syn chro-
nizing clock begins the first synchronization cycle of a read if
the clock transition occurs at time tSKEW1 or greater after the
read. Otherwise, the subsequent clock cycle can be the first
synchronization cycle.
Almost Empty Flags (AEA, AEB)
The Almost Empty flag of a FIFO is synchronized to the port
clock that reads data from its array. The state machine that
controls an Almost Empty flag monitors a write pointer and
read pointer comparator that indicates when the FIFO SRAM
status is almost empty, almost empty+1, or almost empty+2.
The Almost Empty state is defined by the contents of register
X1 for AE B and register X2 for AEA . These regist ers are loa d-
ed with preset values during a FIFO reset, programmed from
Port A, or programmed serially (see Almost Empty flag and
Almost Full fl ag of fse t p rogram ming abo ve). An Almos t Empt y
flag is LOW when its FIFO contains X or less words and is
HIGH when its FIFO contains (X+2) or more words.[1]
The Almost Empty flag is set HIGH by the first LOW-to-HIGH
transition of its synchronizing clock after two FIFO writes that
fills memory to the (X+2) level. A LOW-to-HIGH transition of an
Almost Empty flag synchronizing clock begins the first syn-
chronization cycle if it occurs at time tSKEW2 or greater after
the write that fills the FIFO to (X+2) words. Otherwise, the sub-
sequent synchronizing clock cycle will be the first synchroni-
zation cycle.
Almost Full Flags (AFA, AFB)
The Almost Full flag of a FIFO is synchronized to the port clock
that write s data to its array. The state machi ne that controls an
Almost Full flag monitors a write pointer and read pointer com-
parator that indicates when the FIFO SRAM status is almost
full, almost full–1, or almost full–2. The Almost Full state is
defined by t he conte nts o f re gi ste r Y1 fo r AFA and regis ter Y2
for AFB. These re gis ters a re l oa ded w ith pr eset val ues d urin g
a FIFO reset, programmed from Port A, or programmed seri-
ally (see Almost Empty flag and Almost Full flag offset pro-
grammi ng above). An Al mo st Fu ll fl ag is LO W whe n th e num -