Understanding Clocked FIFOs
6
Programmin g the 7C45X
Th e 7C45X family of clocked FIFOs can be programmed d ur-
ing the Master Reset cycle. Programming affects the Al-
mostEmpty and AlmostFull flags and sets the Parity. Pro-
gramming is accomplished by writing data to the FIFO while
asserting MR LOW. The program word is stored in the pro-
gram register. The programming informat ion may be verified
my reading the FIFO while MR is still asserted LOW. The
FIFO program register is programmed to its default value if
no write is perform e d during a M aster Reset.
Data lines D0−D5 are u sed to program the AlmostEmpty and
AlmostFull flags. The value of D0−D5, which is written into the
program register, determines the distance from the FIFO
boundary flags (Em pty and Full) that these flags become ac-
tive. The distance is programmable in 16-word increments
and is determined by 16•P where P is the value of D0−D5.
The PAFE pin encodes the programmable flag states.
Data lines D6-D8 program the FIFO parity option. D8 enables
the Parity feature when set HIGH. D7 selects between Parity
Generation and Parity Checking. Parity Generation is select-
ed when D7 is LOW. D6 selects even parity when set LOW
and odd parity when set HIGH.
Parity generation provides a simple means for systems to
detect data bit errors. When enabled, the FIFO parity checker
will examine bits D0-D7 being written into the FIFO before
writing th em into the memor y array. The ninth bit ( D8) will be
set accordin g to the par ity mode set in the program re gister.
Even-parity mode will set D8 such that the sum off all the bits
including D8 is even. Odd- par ity mode will set D8 such that
the sum is odd. D8 is available on output line Q8/PG/PE dur-
ing a read from the FIFO. Parity check e rs down stream in the
system can use D8 to determine when data has been corrupt-
ed.
The 7C 45X can be configured as a parity error checker. Dur-
ing a write, data bits D0−D8 are examined before being
store d in the memory arra y. D8 i s set LOW i f a parity error i s
detected. When set for even parity checking, a parity error
occurs if bits D0−D7 add to an odd number . Odd-parity check-
ing will detect an err or if D0−D8 a dd to an even number. D8
is wr itte n into the memory array wi th the rest of bit s D0−D8.
The parity-error bit (D8) is then available on Q8/PG/PE during
a read from the FIFO.
Depth Expansion
The 7C45X Family of Clocked FIFOs feature depth expand-
ability. Two or more 7C45Xs may be cascaded to achieve a
single, large FIFO memory array. Depth expansion may be
used in a pplications requiring buffering of large data packets,
using extremely disparate read and write rates, or having long
read latencies.
Depth expansion i s achieved by cascading s everal FIFOs us-
ing the expansion pins. Data is automatically multiplexed
from the FIFOs onto a single output bus using the FIFO’s
three-state output drivers. The flags must be combined to
form composite flags.
Figure 6
shows two FIFOs cascaded
for depth expansion.
The cascaded devices act as a single FIFO memory array.
Read and write control is passed from one FIFO to another
using the expansion pins. When a single FIFO has had all of
its memory locations writ ten to, it a sserts the E xpansion Out
pin (XO) signaling the ne xt FIFO to begin writing to it s arra y.
Similar l y, when the FIFO has had all of its memory locations
read from, it deasserts the Expansion Out pin to signal the
next FIFO to read data from its array. The FIFOs’ ex pansion
pins form a simple token ring.
Figure 5. MR Pul se Generation
DQ DQ
Reset MR
CLK
Reset
MR
CLK
> tPMR