SRAM and FIFO Memories in Actel’s Low-Power Flash Devices
v1.1
6 - 13
Full flag is asserted. Similarly, the Almost-Empty flag is asserted whenever the difference between
the write address and read address is less than or equal to the almost-empty value (AEVAL).
Due to synchronization between the read and write clocks, the Empty flag will deassert after the
second read clock edge from the point that the write enable asserts. However, since the Empty flag
is synchronized to the read clock, it will assert after the read clock reads the last data in the FIFO.
Also, since the Full flag is dependent on the actual hardware configuration, it will assert when the
actual physical implementation of the FIFO is full.
For example, when a user configures a 128×18 FIFO, the actual physical implementation will be a
256×18 FIFO element. Since the actual implementation is 256×18, the Full flag will not trigger until
the 256×18 FIFO is full, even though a 128×18 FIFO was requested. For this example, the Almost-
Full flag can be used instead of the Full flag to signal when the 128th data word is reached.
To accommodate different aspect ratios, the almost-full and almost-empty values are expressed in
terms of data bits instead of data words. SmartGen translates the user’s input, expressed in data
words, into data bits internally. SmartGen allows the user to select the thresholds for the Almost-
Empty and Almost-Full flags in terms of either the read data words or the write data words, and
makes the appropriate conversions for each flag.
After the empty or full states are reached, the FIFO can be configured so the FIFO counters either
stop or continue counting. For timing numbers, refer to the appropriate family datasheet.
Signal Descriptions for FIFO4K18
The following signals are used to configure the FIFO4K18 memory element:
WW and RW
These signals enable the FIFO to be configured in one of the five allowable aspect ratios
(Table 6-6).WBLK and RBLK
These signals are active-low and will enable the respective ports when LOW. When the RBLK signal
is HIGH, that port’s outputs hold the previous value.
WEN and REN
Read and write enables. WEN is active-low and REN is active-high by default. These signals can be
configured as active-high or -low.
WCLK and RCLK
These are the clock signals for the synchronous read and write operations. For FIFO4K18, the same
clock 180° out of phase (inverted) between clock pins should be used.
Note: (For Automotive ProASIC3) These can be driven independently or with the same driver.
RPIPE
This signal is used to specify pipelined read on the output. A LOW on RPIPE indicates a
nonpipelined read, and the data appears on the output in the same clock cycle. A HIGH indicates a
pipelined read, and data appears on the output in the next clock cycle.
RESET
This active-low signal resets the control logic and forces the output hold state registers to zero
Table 6-6
Aspect Ratio Settings for WW[2:0]
WW[2:0]
RW[2:0]
D×W
000
4k×1
001
2k×2
010
1k×4
011
512×9
100
256×18
101, 110, 111
Reserved