User Guide
Table Of Contents
8
A sample timing diagram of a FIFO with depth configuration of 4, almost empty value set to 1, and rising
clock edge is shown in
Figure 3-2.
Operations with a Variable Aspect Ratio
A FIFO with variable aspect width has different depth and width configurations for the write and read
side. There are some special considerations when using this type of FIFO:
Data order - Write side has smaller width than Read side: The FIFO starts writing to the least significant
portion of the memory up. (refer to the timing diagram below)
• Data order - The Write side has larger width than Read side, i.e. the FIFO starts reading from the
least significant portion of the memory. Meaning if the first word into the write side is 0xABCD, the
words read out of the FIFO will be 0xCD followed by 0xAB.
• Full flag generation - The FULL is asserted when a full word from the write perspective cannot
be written in. The FULL de-asserted only if there is enough space in the FIFO to write a full word
from the write aspect ratio. (refer to the timing diagram in
Figure 3-3)
• Empty flag generation - The EMPTY is de-asserted only when a full word from the read aspect
ratio can be read out. The EMPTY is asserted if the FIFO does not contain a full word from the
read aspect ratio (refer to the timing diagram in Figure 3-3).
• The implication of the status flag generation is that it is possible to have a partial word in the FIFO
that may not be immediately visible on the read side. For example, consider when the write side
has a smaller width than the read side. The write side writes 1 word and finishes. In this type of
scenario, the application using the FIFO must consider what a partial data word represents.
• If the partial data word cannot be processed downstream than it is meaningless to take it out of
the FIFO until it has reached a full-word. However, if the partial word is considered valid and can
be processed downstream in its 'incomplete' state, then some other type of mechanism needs to
be designed to handle this condition.
Figure 3-3 illustrates a condition where the write side is configured has x4 width and the read side as x8
width.
Figure 3-2 • Read Operation and Flags
Figure 3-3 • Write and Read Operations with a Variable Aspect