Data Output Control (DOUT_WORDS) - 1.1 English

Soft-Decision FEC Integrated Block LogiCORE IP Product Guide (PG256)

Document ID
PG256
Release Date
2022-10-19
Version
1.1 English

If the AXIS_WIDTH parameter setting for the DOUT_WORDS field is 0, then the DOUT_WORDS input takes one value per block, and this specifies the number of LLR values transferred on all lanes of DOUT.

If the AXIS_WIDTH parameter setting for DOUT_WORDS field is 1, then the number of bytes transferred per cycle on DOUT is specified on a transfer-by-transfer basis by DOUT_WORDS. To aid integration the TLAST input for this interface should be driven with a 1 for the last transfer of a block. This input is not used to synchronize output, but it is checked and an interrupt is available to signal inconsistencies.

Note: If DOUT_WORDS is 0, then there is only one transfer per block and so it is expected that TLAST is driven High on each transfer on this stream.

If the data interface is configured for soft output (that is, a decode operation is being performed and hard_op is 0), then the DOUT_WORDS stream specifies the number of LLR values in the respective lane of output.

If DOUT is configured for hard output, then DOUT_WORDS specifies the number of bytes of hard output transferred per cycle (only multiples of 8 bits can be specified). In both cases, data words in DOUT lanes are always in the least significant bytes of the DOUT lane, for example, if two words are provided in lane 0, they are in bits 7:0 and 15:8.

DOUT_WORDS is internally overridden to ensure that multiple blocks do not straddle a transaction on DOUT (the final transaction is shortened, if necessary, in the same way as for DIN_WORDS as described in Data Input Control AXI4-Stream Slave (DIN_WORDS)). As such it is possible to keep DOUT_WORDS constant over a block even if the block length is not a multiple of DOUT_WORDS.

If operating out-of-order, with AXIS_WIDTH.DOUT_WORDS = 1, and mixed block lengths, then the STATUS output can be used to determine the number of outputs, to set TLAST (if used). The STATUS output can also be used to set DOUT_WORDS if it is being changed on a block-by-block basis. If TLAST is not being used, then TLAST interrupts can be masked on this interface to avoid unnecessary interrupts (see Interrupt Mask Register).

Table 1. LLR Output Words AXI4-Stream Slave (DOUT_WORDS) Interface Definition
AXIS_WIDTH. DOUT_WORDS Setting Bit Width for Each AXIS_WIDTH.DOUT Setting Field Bits Range Description
4x 2x 1x
0 8b 8b 8b words 7:0 0-16 Number of output data words in dout(127...…0)
Unused Number of output data words in dout(255...…128)
Unused Number of output data words in dout(383…...256)
Number of output data words in dout(511...…384)
1 32b 16b 8b words(0) 7:0 0-16 Number of output data words in dout(127...…0)
Unused words (1) 15:8 0-16 Number of output data words in dout(255...…128)
Unused words (2) 23:16 0-16 Number of output data words in dout(383…...256)
words (3) 31:24 0-16 Number of output data words in dout(511...…384)