In addition to the methods described above, FIR can decompose the decimation process into multiple polyphases using the TP_PARA_DECI_POLY
template parameter.
TP_PARA_DECI_POLY
is to remove the bottleneck posed by the input bandwidth on the overall throughput of the FIR filter.TP_PARA_DECI_POLY > 1
, use the TP_PARA_DECI_POLY
number of input phases to provide extra input stream bandwidth.TP_PARA_DECI_POLY
input data phases. Outputs from these input phases are then added together to produce the overall filter’s output.Note
The total number of input phases will be the result of multiplication of: NUM_INPUT_PORTS = TP_PARA_DECI_POLY x TP_SSR
.
For example, when TP_SSR = 1
, and TP_PARA_DECI_POLY = 3
, the input stream would look like:
in[0] = i0, i3, i6, i9, ... in[1] = i1, i4, i7, i10, ... in[2] = i2, i5, i8, i11, ...
The output stream would have SSR output paths and look like:
out[0] = o0, o1, o2, o3, o4, ...
For TP_SSR = 1
, TP_PARA_DECI_POLY = 4
, the input stream would look like:
in[0] = i0, i4, i8, ... in[1] = i1, i5, i9, ... in[2] = i2, i6, i10, ... in[3] = i3, i7, i11, ...
The output stream would look the same as in the previous configuration because TP_PARA_DECI_POLY
only affects the number of input streams.
When TP_SSR = 2
, TP_PARA_DECI_POLY = 3
, the input stream would look like:
in[0] = i0, i6, i12, i18, i24, ... in[1] = i1, i7, i13, i19, i25, ... in[2] = i2, i8, i14, i20, i26, ... in[3] = i3, i9, i15, i21, i27, ... in[4] = i4, i10, i16, i22, i28, ... in[5] = i5, i11, i17, i23, i29, ...
the output stream would look like:
out[0] = o0, o2, o4, o6, o8, o10, ... out[1] = o1, o3, o5, o7, o9, o11, ...
For more details about how to configure the various parameters to meet various performance metrics, refer to Configuration Notes