English
Language : 

CY7C455 Datasheet, PDF (17/23 Pages) Cypress Semiconductor – 512 x 18, 1K x 18, and 2K x 18 Cascadable Clocked FIFOs with Programmable Flags
CY7C455
CY7C456
CY7C457
When updating flags, the FIFO must make a decision as to
whether or not the opposite clock was recognized when a
clock updates the flag. For example (when updating the Empty
flag), if a write occurs at least tSKEW1 after a read, the write is
guaranteed not to be included when CKR updates the flag. If
a write occurs at least tSKEW2 before a read, the write is guar-
anteed to be included when CKR updates flag. If a write occurs
within tSKEW1 after or tSKEW2 before CKR, then the decision of
whether or not to include the write when the flag is updated by
CKR is arbitrary.
The update cycle for non-boundary flags (Almost Empty, Half
Full, Almost Full) is different from that used to update the
boundary flags (Empty, Full). Both operations are described
below.
Boundary and Non-Boundary Flags
Boundary Flags (Empty)
The Empty flag is synchronized to the CKR signal (i.e., the
Empty flag can only be updated by a clock pulse on the CKR
pin). An empty FIFO that is written to will be described with an
Empty flag state until a rising edge is presented to the CKR
pin. When making the transition from Empty to Almost Empty
(or Empty to Less than or Equal to Half Full), a clock cycle on
CKR is necessary to update the flags to the current state. In
such a state (flags showing Empty even though data has been
written to the FIFO), two read clock cycles are required to read
data out of the FIFO. The first read serves only to update the
flags to the Almost Empty or Less than or Equal to Half Full
state, while the second read outputs the data. This first read
cycle is known as the latent or flag update cycle because it
does not affect the data in the FIFO or the count (number of
words in FIFO). It simply deasserts the Empty flag. The flag is
updated regardless of the ENR state. Therefore, the update
occurs even when ENR is deasserted (HIGH), so that a valid
read is not necessary to update the flags to correctly describe
the FIFO. In this example, the write must occur at least tSKEW2
before the flag update cycle in order for the FIFO to guarantee
that the write will be included in the count when CKR updates
the flags. When a free-running clock is connected to CKR, the
flag is updated each cycle. Table 2 shows an example of a
sequence of operations that update the Empty flag.
Boundary Flags (Full)
The Full flag is synchronized to the CKW signal (i.e., the Full
flag can only be updated by a clock pulse on the CKW pin). A
full FIFO that is read will be described with a Full flag until a
rising edge is presented to the CKW pin. When making the
transition from Full to Almost Full (or Full to Greater Than Half
Full), a clock cycle on CKW is necessary to update the flags
to the current state. In such a state (flags showing Full even
through data has been read from the FIFO), two write cycles
are required to write data into the FIFO. The first write serves
only to update the flags to the Almost Full or Greater Than Half
Full state, while the second write inputs the data. This first write
cycle is known as the latent or flag update cycle because it
does not affect the data in the FIFO or the count (number of
words in the FIFO). It simply deasserts the Full flag. The flag
is updated regardless of the ENW state. Therefore, the update
occurs even when ENW is deasserted (HIGH), so that a valid
write is not necessary to update the flags to correctly describe
the FIFO. In this example, the read must occur at least tSKEW2
before the flag update cycle in order for the FIFO to guarantee
that the read will be included in the count when CKW updates
the flags. When a free-running clock is connected to CKW, the
flag updates each cycle. Full flag operation is similar to the
Empty flag operation described in Table 2.
Non-Boundary Flags (Almost Empty, Half Full, Almost Full)
The CY7C455/6/7 features programmable Almost Empty and
Almost Full flags. Each flag can be programmed a specific
distance from the corresponding boundary flags (Empty or
Full). The flags can be programmed to be activated at the
Empty or Full boundary, or at any distance from the Empty/Full
boundary. When the FIFO contains the number of words or
fewer for which the flags have been programmed, the PAFE
flag will be asserted signifying that the FIFO is Almost Empty.
When the FIFO is within that same number of empty locations
from being Full, the PAFE will also be asserted signifying that
the FIFO is Almost Full. The HF flag is decoded to distinguish
the states.
The default distance from where PAFE becomes active to the
boundary (Empty, Full) is 16 words/locations. The Almost Full
and Almost Empty flags can be programmed so that they are
only active at Full and Empty boundaries. However, the oper-
ation will remain consistent with the non-boundary flag opera-
tion that is discussed below.
.
Table 1. Flag Truth Table[48]
E/F PAFE HF
State
7C455
Words in FIFO
7C456
Words in FIFO
7C457
Words in FIFO
0
0
1
Empty
0
0
0
1
0
1
Almost Empty
1 => P
1 => P
1 => P
1
1
1 Less than or Equal to Half Full P + 1 => 256
P + 1 => 512
P + 1 => 1024
1
1
0
Greater than Half Full
257 => 511 – P
513 => 1023 – P
1025 => 2047 – P
1
0
0
Almost Full
512 – P => 511
1024 – P => 1023 2048 – P => 2047
0
0
0
Full
512
1024
2048
Notes:
48. P is the decimal value of the binary number represented by D0–7 for the CY7C455, D0–8 for the CY7C456, and D0–9 for the CY7C457. P = 0 signifies
that the Almost Empty state = Empty state.
Document #: 38-06003 Rev. *A
Page 17 of 23