Output Data Fixed-Point Format - Output Data Fixed-Point Format - 1.1 English - PG401

RFSoC DFE Non-Linear Filter LogiCORE IP Product Guide (PG401)

Document_ID
PG401
Release_Date
2026-06-23
Version
1.1 English

The output data on m_axis_dout_tdata is a signed two‑s complement 25‑bit fixed‑point number for each I and Q component. The fixed‑point format of the output is Q25.F, where F is the number of fractional bits. The value of F depends on the input signal format, the LUT coefficient format, and the OUT_SCALE register setting, as described in the following table.

Table 1. Output Fixed-Point Format Parameters
Parameter Symbol Description
Input integer bits N Number of integer bits (excluding sign bit) in the input signal (s_axis_din_tdata). For a Q16.15 formatted input, N = 0.
LUT integer bits P Number of integer bits (excluding sign bit) in the LUT coefficient. For Q16.15 formatted LUT values, P = 0.
Output scale S Value programmed in the OUT_SCALE register (NLF1 offset 0x46, NLF2 offset 0x46). Valid range: 0 to 12. Increasing S shifts the binary point right, increasing the number of fractional bits and reducing the integer dynamic range.
Output fractional bits F F = 18 + S − N − P
Output integer bits I I = 6 − S + N + P (= 24 − F)

The output format for a single grid configuration is:

Output format = Q25.F = Q25.(18 + S − N − P)

For a double grid configuration, the output format also depends on the CASCADE_OUTPUT_BIT_SELECT register (offset 0x06):

Table 2. Double Grid Output Format
CASCADE_OUTPUT_BIT_SELECT Operation Output Format
0 Saturated sum of both NLF block outputs Q25.(18 + S − N − P)
1 Floor average of both NLF block outputs Q25.(17 + S − N − P)
Table 3. Output Format Examples
Input Format LUT Format OUT_SCALE (S) Output Format (Single Grid)
Q16.15 (N = 0) Q16.15 (P = 0) 0 Q25.18
Q16.15 (N = 0) Q16.15 (P = 0) 6 Q25.24
Q16.15 (N = 0) Q16.13 (P = 2) 0 Q25.16
Q16.15 (N = 0) Q16.13 (P = 2) 8 Q25.24
Note: In the Q notation, Q25.F denotes a signed two‑s complement 25‑bit number with F fractional bits. The output is saturated to the full 25‑bit signed range before it is presented on m_axis_dout_tdata, regardless of the value of F. The overflow status is reported on m_axis_dout_tuser.
Note: The OUT_SCALE register controls the output dynamic range. Use the co‑simulation environment to select the appropriate OUT_SCALE value for the target application.