CY7C455
CY7C456
CY7C457
Document #: 38-06003 Rev. *A Page 16 of 23
Architecture
The CY7C455/6/7 consists of an array of 512, 1024, or 2048
words of 18 bits each (implemented by a dual-port array of
SRAM cells), a read pointer, a write pointer, control signals
(CKR, CKW , ENR, ENW, and MR), and flags (HF, E/F, P AFE).
The CY7C455/6/7 also includes the control signals OE, FL, XI,
and XO for depth expansion.
Resetting the FIFO
Upon power-up, the FIFO must be reset with a Master Reset
(MR) cy cle. This ca uses the F IFO to ente r the Empty condition
signified by E/F and PAFE being LO W and HF being HIG H. All
data outputs (Q0−17) go low at the rising edge of MR. In order
for the FIFO to reset to its default state, a falling edge must
occur on MR and the user must not read or write while MR is
LOW (unless ENR and ENW are H IGH or unle ss the devi ce is
being programmed). Upon completion of the master reset cy-
cle, all data outputs w il l g o LO W tAMR after MR is deasserted.
All flags are guaranteed to be valid tMRF after MR is taken
HIGH.
FIFO Operation
When the ENW signal is active (LOW), data present on the
D0−17 pins is written into the FIFO on each rising edge of the
CKW signal. Similarly, when the ENR signal is active, data in
the FIFO memory will be presented on the Q0−17 outpu ts. New
dat a will be p r es ent ed o n ea ch rising edge of CK R w hil e ENR
is active. ENR must s et up tSEN before CKR for it t o be a valid
read. ENW must occur tSEN before CKW for it to be a valid
write.
An outpu t enab le (OE) pi n is provid ed to three-st ate the Q 0−17
outputs when OE is asserted . When OE is enabled (low), data
in the output register will be available to the Q0−17 outputs after
tOE. If devices are cascaded, the OE functi on wi ll on ly ou tpu t
data on the FIFO that is read enabled.
The FIFO contains overflow circuitry to disallow additional
writes when the FIF O is f ull, and unde rflow circuitry to disallow
additional reads when the FIFO is empty. An empty FIFO
maintai ns the data of th e last val id read on its Q0–17 outputs
even after additional reads occur.
Programming
The CY7C455/6/7 is programmed during a maste r reset cycle.
If MR and ENW ar e LOW, a rising ed ge on CK W wi ll w ri te th e
D0−7,8,or9 and D15–17 inputs into the pr og ram mi ng regi ste r[46].
MR must be set up a minimum of tSMRP before the program
write ris ing edge and h eld tHMRP after the pro gram write fallin g
edge. Th e us er has the ab ili ty to a ls o pe rform a pro gram rea d
during th e master res et cycle. This will occur at the rising edge
of CKR when MR and ENR are asserted. The program read
must be perform ed a minim um of tFTP after a program write,
and the program word will be available tAP after the read oc-
curs. If a program write does not occur, a program read may
occur a minimum of tSMRP after MR is ass ert ed. This will rea d
the default program value.
When free- running clocks are tied to CKW and CKR, program-
ming can still occur during a master reset cycle with the adh er-
ence to a few additional timing parameters. The enable pins
must be set-up tSEN before the rising edge of CKW or CKR.
Hold times of tHEN must also be met for ENW and ENR.
Data present on D0−9 during a prog ram write will determine th e
dist ance from Empty (Full) that the Almost Empty (Almost Full)
flags will become active. See Table 1 f or a descr iption of the
six possible FIFO states. P in Table 1 refers to the decimal
equivalent of the binary number represented by D0−7, 8 or 9.
Programming options for the CY7C455/6/7 are listed in
Table 4.
The programmable P AFE function on the CY7C455/6/7 is only
valid whe n not cas caded. If th e user el ect s not to p rogram th e
FIFO’s flags, the default is as follows: the Almost Empty con-
dition (Almost Full condition) is activated when the FIFO con-
tains 16 or less words (empty locations).
Parity is programmed with the D15−17 bits. See Table 4 for a
summary of the various parity programming options. Data
present on D15−17 during a program write will determine
whether the FIFO will generate or check even/odd parity for
the data present on D0−7 and D9−16 thereafter. If the user
elect s no t to pro gram th e FIFO , the p ari ty fun ction is disab led.
Flag operation and parity are described in greater detail in sub-
sequent sections.
Flag Operation
The CY7C455/6/7 provides three status pins when not cas-
caded. The three pins, E/F, PAFE, and HF, allow decoding of
six FIFO states (Table 1). PAFE is not available when the
CY7C455/6/7 is cascaded for depth expansion. All flags are
synchronous, meaning that the change of states is relative to
one of the cl ocks (CKR or CKW, as appro priate).[47] T he Emp-
ty and Almost Empty flag states are exclusively updated by
each rising edge of the read clock (CKR). For example, when
the FIFO contains 1 word, the next read (rising edge of CKR
while ENR=LOW) causes the flag pins to output a state that
represents Empty. The Half Full, Almost Full, and Full flag
states are updated exclusively by the write clock (CKW). For
example, if the CY7C457 contains 2,047 words (2,048 words
indicate Full for the CY7C457), the next write (rising edge of
CKW while ENW=LOW) causes the flag pi ns to out put a st ate
that is decoded as Full.
Since the flags denoting emptiness (Empty , Almost Empty) are
only updated by CKR and the flags signifying fullness (Half
Full, Almost Full, Full) are exclusively updated by CKW, careful
attention must be given to the flag operation. The user must
be aware that if a boundary (Empty, Almost Empty, Half Full,
Almost Full, or Full) is crossed due to an operation from a clock
that the flag is not synchronized to (i.e., CKW does not affect
Empty or Almost Empty), a flag update cycle is necessary to
represent the FIFO’s new state. The signal to which a flag is
not synchronized will be referred to as the opposite clock
(CKW is opposite clock for Empty and Almost Empty flags;
CKR is the opposite clock for Half Full, Almost Full, and Full
flags). Until a proper flag update cycle is executed, the syn-
chronous flags will not show the new state of the FIFO.
Notes:
46. CKW will write D0–9 into the programming register. CKR will read D0–9 during a programming regist er read.
47. The synchronous architecture guarantees the flags valid for approximately one cycle of the clock they are synchronized to.