
9-29
Memory Usage Guide
Lattice Semiconductor
LatticeECP/EC and LatticeXP Devices
Table 9-11. EBR-based FIFO and FIFO_DC Memory Port Definitions
Reset (or RST) only resets the output registers of the FIFO and FIFO_DC. It does not reset the contents of the
memory.
The various supported sizes for the FIFO and FIFO_DC in LatticeECP/EC and LatticeXP devices are shown in
Table 9-12. FIFO and FIFO_DC Data Widths Sizes for LatticeECP/EC and LatticeXP Devices
FIFO Flags
The FIFO and FIFO_DC have four flags available: Empty, Almost Empty, Almost Full and Full. The Almost Empty
and Almost Full flags have a programmable range.
The program ranges for the four FIFO flags are specified in
Table 9-13.Table 9-13. FIFO Flag Settings
The only restriction on the flag setting is that the values must be in a specific order (Empty=0, Almost Empty next,
followed by Almost Full and Full, respectively). The value of Empty is not equal to the value of Almost Empty (or
Full is equal to Almost Full). In this case, a warning is generated and the value of Empty (or Full) is used in place of
Almost Empty (or Almost Full). When coming out of reset, the Active High Flags empty and Almost Empty are set
to high, since they are true.
Port Name in Generated
Module
Description
CLK
Clock (FIFO)
Rising Clock Edge
CLKR
Read Port Clock (FIFO_DC)
Rising Clock Edge
CLKW
Write Port Clock (FIFO_DC)
Rising Clock Edge
WE
Write Enable
Active High
RE
Read Enable
Active High
RST
Reset
Active High
DI
Data Input
—
DO
Data Output
—
FF
Full Flag
Active High
AF
Almost Full Flag
Active High
EF
Empty Flag
Active High
AE
Almost Empty
Active High
FIFO Size
Input Data
Output Data
8K x 1
DI
DO
4K x 2
DI[1:0]
DO[1:0]
2K x 4
DI[3:0]
DO[3:0]
1K x 9
DI[8:0]
DO[8:0]
512 x 18
DI[17:0]
DO[17:0]
256 x 36
DI[35:0]
DO[35:0]
FIFO Attribute Name
Description
Programming Range
Program Bits
FF
Full flag setting
2N - 1
14
AFF
Almost full setting
1 to (FF-1)
14
AEF
Almost empty setting
1 to (FF-1)
14
EF
Empty setting
0
5