Reload Order File - 7.2 English

FIR Compiler (PG149)

Document ID
PG149
Release Date
2022-10-26
Version
7.2 English

Care must be taken to correctly interpret the reload order, as it is based on the actual number of coefficients calculated by the filter. The Coefficient Padding section of Filter Symmetry discusses how the FIR Compiler sometimes implements a filter with more coefficients than specified. The actual coefficients calculated are displayed on the Implementation Details tab. When the filter is configured to utilize coefficient symmetry, you must pad the filter response at the beginning and the end with (actual - specified)/2 zeros before applying the reload order. This Figure demonstrates a padded filter response. When the filter is non-symmetric, the coefficient set must be padded with (actual - specified) zeros at the end of the filter response before applying the reload order.

In the case of a polyphase interpolating filter utilizing coefficient symmetry, where the Symmetric Pairs technique has been used, the coefficients must be preprocessed before being loaded into the filter. The combination of the non-symmetric subfilters are defined as the sum or difference of two coefficient indexes. When the filter configuration requires multiple DSP slices to implement a single Multiply-Accumulate unit, the definition is extended to include bit ranges of the source coefficients.

This Figure contains an example of the _reload_order.txt file, for a non-symmetric 16-tap single rate filter where the clock rate is four times the input sample rate.

Figure 3-52: Reload Order Text File Format Example 1

X-Ref Target - Figure 3-52

pg149-designing00254_pg149.jpg

This Figure contains an example for a symmetric 15-tap interpolate by 3 filter where the clock rate is six times the input sample rate and a coefficient width of 16 bits.

Figure 3-53: Reload Order Text File Format Example 2

X-Ref Target - Figure 3-53

pg149-designing00256_pg149.jpg

This Figure contains an example with the same filter configuration as in This Figure , but with a coefficient width of 30 bits (the width of the reload port is extended when the Symmetric Pairs technique is used, so in this example, the reload port is 33 bits wide).

Contact Xilinx Technical Support if you need any assistance or guidance in implementing the reload coefficient ordering for your specific filter implementation.

X-Ref Target - Figure 3-54

Figure 3-54: Reload Order Text File Format Example 3

Reload index 0 (17 downto 0) = “00” & Coefficient 7 (15 downto 0)

Reload index 0 (32 downto 18) = Coefficient 7 (29) & Coefficient 7 (29 downto 16)

Reload index 1 (17 downto 0) = “00” & Coefficient 10 (15 downto 0)

Reload index 1 (32 downto 18) = Coefficient 10 (29) & Coefficient 10 (29 downto 16)

Reload index 2 (17 downto 0) = “00” & Coefficient 6 (15 downto 0) -

“00” & Coefficient 8 (15 downto 0)

Reload index 2 (32 downto 18) = Coefficient 6 (29) & Coefficient 6 (29 downto 16) -

Coefficient 8 (29) & Coefficient 8 (29 downto 16)

Reload index 3 (17 downto 0) = “00” & Coefficient 9 (15 downto 0) -

“00” & Coefficient 11 (15 downto 0)

Reload index 3 (32 downto 18) = Coefficient 9 (29) & Coefficient 9 (29 downto 16) -

Coefficient 11 (29) & Coefficient 11 (29 downto 16)

Reload index 4 (17 downto 0) = “00” & Coefficient 6 (15 downto 0) +

“00” & Coefficient 8 (15 downto 0)

Reload index 4 (32 downto 18) = Coefficient 6 (29) & Coefficient 6 (29 downto 16) +

Coefficient 8 (29) & Coefficient 8 (29 downto 16)

Reload index 5 (17 downto 0) = “00” & Coefficient 9 (15 downto 0) +

“00” & Coefficient 11 (15 downto 0)

Reload index 5 (32 downto 18) = Coefficient 9 (29) & Coefficient 9 (29 downto 16) +

Coefficient 11 (29) & Coefficient 11 (29 downto 16)

Reload index 6 (17 downto 0) = “00” & Coefficient 1 (15 downto 0)

Reload index 6 (32 downto 18) = Coefficient 1 (29) & Coefficient 1 (29 downto 16)

Reload index 7 (17 downto 0) = “00” & Coefficient 4 (15 downto 0)

Reload index 7 (32 downto 18) = Coefficient 4 (29) & Coefficient 4 (29 downto 16)

Reload index 8 (17 downto 0) = “00” & Coefficient 0 (15 downto 0) -

“00” & Coefficient 2 (15 downto 0)

Reload index 8 (32 downto 18) = Coefficient 0 (29) & Coefficient 0 (29 downto 16) -

Coefficient 2 (29) & Coefficient 2 (29 downto 16)

Reload index 9 (17 downto 0) = “00” & Coefficient 3 (15 downto 0) -

“00” & Coefficient 5 (15 downto 0)

Reload index 9 (32 downto 18) = Coefficient 3 (29) & Coefficient 3 (29 downto 16) -

Coefficient 5 (29) & Coefficient 5 (29 downto 16)

Reload index 10 (17 downto 0) = “00” & Coefficient 0 (15 downto 0) +

“00” & Coefficient 2 (15 downto 0)

Reload index 10 (32 downto 18) = Coefficient 0 (29) & Coefficient 0 (29 downto 16) +

Coefficient 2 (29) & Coefficient 2 (29 downto 16)

Reload index 11 (17 downto 0) = “00” & Coefficient 3 (15 downto 0) +

“00” & Coefficient 5 (15 downto 0)

Reload index 11 (32 downto 18) = Coefficient 3 (29) & Coefficient 3 (29 downto 16) +

Coefficient 5 (29) & Coefficient 5 (29 downto 16)