English
Language : 

DS471 Datasheet, PDF (7/37 Pages) Xilinx, Inc – Channel FIFO
Channel FIFO (CFIFO) (v1.00a)
Allowable Parameter Combinations
There are several interdependencies of CFIFO parameter settings. These are captured in Table 3.
Table 3: Parameter Dependencies
Dependent Parameter
Name / Number
Impacting
Parameter
Name/ Number
C_TOTAL_DEPTH RG2
C_FAMILY
RG6
C_TOTAL_DEPTH WG2
C_FAMILY
WG6
Dependency Description
If RG6 is SPARTAN31, then RG2 can have a
value in the range of 4 to 16384 words.
If RG6 is any other string, then RG2 can
only have a value in the range of 4 to 4096
words.
If WG6 is SPARTAN31, then WG2 can have
a value in the range of 4 to 16384 words.
If WG6 is any other string, then WG2 can
only have a value in the range of 4 to 4096
words.
1. The constant SPARTAN3 is provided in the family package (family.vhd) as part of the proc_common library (all
versions). This constant, along with constant definitions for all other currently available family types, are defined
as strings and provide a standard way for users to specify family types. These constants, plus the function
equalIgnoreCase, are used by the CFIFOs to select the appropriate block RAMs for the FIFO memory.
Other Parameter Considerations
1. The FIFO memory array will always be (C_DWIDTH / 8) bits wider than C_DWIDTH (RG3,WG3)
to provide storage for the channel status information and to accommodate storing the tag input
with each data word in the WFIFO.
2. The port widths for the channel number and occupancy/vacancy have upper bounds which are
derived from functions that calculate the width based on RG1 (for the RFIFO channel number
width) and WG1 (for the WFIFO channel number width), and RG1, RG2, and RG3 (for the RFIFO
occupancy width) and WG1, WG2, and WG3 (for the WFIFO vacancy width), respectively. The
user is encouraged to use the functions provided in a VHDL package called channel_fifo_pkg
(channel_fifo_pkg.vhd) included with the CFIFO designs. Functions are provided in this package
for computing the bit width of the channel number and the vacancy/occupancy signals. These
same functions are used in the CFIFO designs.
Channel FIFO Package Helper Functions
Channel Number Width Function
get_chnl_width(num_channels: positive) return positive;
The get_chnl_width function requires a positive integer containing the number of channels in the
CFIFO as its only argument and returns a positive integer that contains the bit width for a signal that
can represent all the channel numbers from zero to one minus the number of channels.
DS471 April 24, 2009
www.xilinx.com
7
Product Specification