The following table lists parameters for the FIR filters on AIE-ML.
Note
TP_RND
values may vary between AIE and AIE-ML for the same rounding mechanism. String macro defitions are recommended for convienience and compatibility between devices. For AIE, see Parameters Supported by FIR Filters.
Parameter Name | Type | Description | Range |
---|---|---|---|
TT_DATA | Typename | Data Type | int16, cint16 |
TT_COEFF | Typename | Coefficient type | int16 cint16 |
TP_FIR_LEN | Unsigned int | The number of taps | Min - 4, Max - see Maximum FIR Length |
TP_SHIFT | Unsigned int | The number of bits to shift unscaled result down by before output. | 0 to 61 |
TP_RND | Unsigned int | Round mode | 0 = 1 = 2 = 3 = 8 = 9 = 10 = 11 = 12 = 13 = |
TP_INPUT_WINDOW_VSIZE | Unsigned int | The number of samples processed by the graph in a single iteration run. For windows, defines the size of input window. For streams, it impacts the number of input samples operated on in a single iteration of the kernel. | Must be a
multiple of
the 256-bits
In addition, must by
divisible by:
No enforced range, but large windows will result in mapper errors due to excessive RAM use, for windowed API implementations. |
TP_CASC_LEN | Unsigned int | The number of cascaded kernels to use for this FIR. | 1 to 9. Defaults to 1 if not set. |
TP_USE_COEFF_RELOAD | Unsigned int | Enable reloadable coefficient feature. An additional ‘coeff’ port will appear on the graph. |
0 (no reload), 1 (use reloads). Defaults to 0 if not set. |
TP_API | Unsigned int | I/O interface port type | 0 = Window 1 = Stream |
For a list of template parameters for each FIR variant, see API Reference Overview.
TP_CASC_LEN describes the number of AIE processors to split the operation over, which allows resources to be traded for higher performance. TP_CASC_LEN
must be in the range 1 (default) to 9.
FIR graph instance creates TP_CASC_LEN
kernels. Computation workload of the FIR (defined by its length parameter TP_FIR_LEN
) is divided and each kernel in the graph is then assigned a fraction of the workload, i.e. each kernel performs TP_FIR_LEN / TP_CASC_LEN
.
Kernels are connected with cascade ports, which pass partial accumulation products downstream until last kernel in chain produces the output.
TP_USE_COEFF_RELOAD allows the user to select if runtime coefficient reloading should be used. When defining the parameter:
0 = static coefficients, defined in filter constructor
1 = reloadable coefficients, passed as argument to runtime function.
Note
When used, port
port<input> coeff;
will be added to the FIR.