CY7C43636/CY7C43646
CY7C43666/CY7C43686
31
PRELIMINARY
To load a FI FO’ s Al most Emp ty fl ag and Almost Full flag of f set
registers with one of the three preset values listed in
Table 1
,
the Serial Program Mode (SPM) and at least one of the
fl ag-s elect inputs must b e HIGH during th e LOW -to-HI GH tran-
sit ion of its M aster Reset inpu t (MRS1 and MRS2). For exam-
ple, to load the preset value of 64 into X1 and Y1, SPM, FS0,
and FS1 must be HIGH when FIFO1 reset (MRS1) returns
HIGH . Fl ag-offs et regist ers associated with FIFO2 are loaded
with one of the preset values in the same way with Master
Reset (MRS2). When using one of the preset values for the
flag offsets, the FIFO’s can be reset simultaneously or at dif-
ferent times.
To program the X1, X2, Y1, an d Y2 registers f rom Port A, per-
form a Master Reset on both FI FOs simultaneously with SPM
HIGH and FS0 and FS1 LOW during the LOW-to-HIGH tran-
sition of MRS1 and MRS2. After this reset is complete, the first
four writes to FIFO1 do not store data in RAM but load the
offset registers in t he order Y1, X1, Y2, X2. The Port A data
inputs used by the offset registers are (A7–0), (A8–0), (A 9–0),
(A11–0), or (A13–0), f or the CY7C4 36X6, respec tively . The high-
est numbered input is used as the most significant bit of the
binary n umber in each ca se . Valid prog ramm ing v al ues f or the
registers range fr om 1 to 252 for the CY7C43626; 1 to 508 for
the CY7C43636; 1 to 1012 for the CY7C43646; 1 to 4092 for
the CY7C43666; 1 to 16380 for the CY7C43686. After all the
offset registers are programmed from Port A, the Port C
Full /Inpu t Ready (FFC/I RC) is set HI GH and both FIF Os begi n
normal operation.
To program the X1, X2, Y1, and Y2 registers s eria ll y, in itiate a
Master Reset with SPM LOW, FS0/SD LOW and FS1/SEN
HIGH d uring t he LO W -t o-HIGH t rans iti on of MRS1 and MRS2.
After this reset is complete, the X and Y register values are
loaded bit-wise through the FS0/SD input on each
LOW-to-HIGH transition of CLKA that the FS1/SEN input is
LOW. Thirty-two, thirty-six, forty, forty-eight, or fifty-six bit
writes are needed to complete the programming for the
CY7C436X6, respect iv el y. The four regis ters ar e written i n the
order Y1, X1, Y2, and, finally, X2. The first-bit write stores the
most significant bit of the Y1 register and the last-bit write
stores the l east significant bit of the X2 r egister. Each regist er
value can be programmed from 1 to 252 (CY7C43626), 1 to
508 (CY7C43636), 1 to 1020 (CY7C43646), 1 to 4092
(CY7C43666), or 1 to 16380 (CY7C43686).
When the opt ion t o p rogr am t he off set r egist ers seriall y is cho-
sen, the Port A Full/Input Ready (FFA/IRA) flag remains LOW
until all register bits are written. FFA/IRA is set HIGH by the
LOW-to-HIGH transition of CLKA after the last bit is loaded to
allow normal FIFO1 operation. The Port C Full/Input ready
(FFC/IRC) flag also remains LOW throughout the serial pro-
gramming process, until all register bits are written. FFC/IRC
is set HIGH by the LOW-to-HIGH transition of CLKC after the
last bit is loade d to al low normal FIFO2 operati on.
SPM, FS0/SD, and FS1/SEN function the same way in both
CY Standard a nd FWFT modes .
FIFO Write/Read Operat ion
The state of the Por t A data (A 0–35) lines is controlled by Port
A Chip Select (CSA) and Port A Write/Read Select (W/RA).
The A0–35 lines are in the High-impedance state when either
CSA or W/RA is HIGH. The A0–35 lines are active outputs
when bo th CS A and W/RA are LOW.
Data is loaded into FIFO1 from the A0–35 inputs on a
LO W-to-HIGH transit ion of CLKA when CSA is LOW, W/RA is
HIGH, ENA is HIGH, MBA is LOW , an d FF A/IRA is HI GH. Data
is read from FIFO2 to the A0–35 outputs by a LOW-to-HIGH
transition of CLKA when CSA is LOW, W/RA is LOW, ENA is
HIGH, MBA is LOW, and EFA/ORA is HIGH (see
Ta bl e 2
).
FIFO reads and wri tes on Port A are independent of an y con-
current Port B operation.
The state of the Por t B data (B0–17) lines is controlled by the
P ort B Chip Select (CSB) and P ort B Read se lect (RENB). The
B0–17 lines are in the high-impedance state when either CSB
is HIGH or RENB is LOW. The B0–17 lines are active outputs
when CSB is LOW and RENB is HIGH.
Data is loaded into FIFO2 from the C0–17 inputs on a
LOW-to-HIGH transition of CLKC when CSC is LOW, WENC
is LOW, ENC is HIGH, MBC is LOW, and FFC/IRC is HIGH.
Data is read from FIFO1 to the B0–17 outputs by a
LOW-to-HIGH transition of CLKB when CSB is LOW, RENB
is HIGH, ENB is HI GH, MBB is LOW, and EFB/ORB is HIGH
(see
Table 3
). FIFO reads o n Port B A and writes t o P ort C are
independent of any concurrent Por t A operation.
The set-up and hold t ime constraints t o the port clocks for the
port Chip Sel ects a nd Write/ rea d sele cts ar e only for ena bli ng
write and read operations and are not related to high-imped-
ance cont rol of t he data outp uts. If a port e nable i s LOW during
a clock cycle, the port’s Chip Select and Write/Read select
ma y change s tat es during the set-up and hold ti me window of
the cycle.
When operating the FIFO in FWFT Mode and the Output
Ready flag i s LO W, the next word wri tten is automatically sent
to the FIFO’s output register by the LOW-to-HIGH t ransition o f
the port clock that sets the Output Ready flag HIGH, data re-
sidi ng in t he F IFO’s memory arra y i s cl oc ked t o t he out put reg -
ister only when a read i s selec ted usi ng t he port’ s Ch ip Sel ect ,
Write/Rea d select, Enab le, and Mailbox select.
When ope rati ng the FIF O in CY St andard M ode, r egardle ss of
whether t he Emp ty Fl ag is LOW or HIGH, data r esiding 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/Rea d select, Enab le, and Mailbox select.
Synchronized FIFO Fla gs
Each FIFO is synchronized to its port clock through at least
two flip- flop stages . This is done to improv e flag-signal reliabi l-
ity by reducing the probability of the metastable events when
CLKA , CLKB, and CLKC operate asynchronously to one an-
other. EFA/ORA, AEA, FFA/IRA , an d AFA are sync hron ized t o
CLKA. EFB/ORB and AEB are synchronized to CLKB.
FFC/IRC and AFC are synchronized to CLKC.
Ta bl e 5
and
Table 6
show the relationship of each port flag to FIFO1 and
FIFO2.
Empty/Output Ready Fla gs (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
regis ter . When the Output read y flag is LOW, the pr ev iou s dat a
word is present in the FIFO output register and attempted
FIFO reads are i gnored.
In the CY Standard Mode , t he Empty Flag (EFA, EFB) function
is select ed. When the Empty Flag is HIGH, data is av ailab le in
the FIFO’s RAM memory for reading to the output register.