XOR Reduce [TM]
Time-multiplexed XOR reduction operation with configurable output mode. TM mode: reduces each phase separately to 1 bit (TM output, per-phase parity). Full Reduce mode: reduces all bits across all phases to a single bit (non-TM output, global parity). Supports TM factors from 2 to 32. Pure combinational logic.
Introduction
This block performs an XOR reduction on a time-multiplexed (TM) input with configurable output mode.
TM mode: Reduces each phase separately, computing the parity per phase. For each TM phase, the N-bit vector is reduced to a single bit. The output is TM with 1 bit per phase, and each bit is 1 for odd number of 1s in that phase.
$$ \mathrm{OUT}[phase] = \bigoplus_{i=0}^{N-1} \mathrm{IN}[phase][i] $$
Full Reduce mode: Reduces all bits across all phases together, computing the global parity. The output is a single bit (non-TM), which is 1 for an odd total number of 1s across all phases.
$$ \mathrm{OUT} = \bigoplus_{phase=0}^{TM-1} \bigoplus_{i=0}^{N-1} \mathrm{IN}[phase][i] $$
where $\bigoplus$ denotes XOR reduction over all bits.
Pin Description
Parity output. Behavior depends on Output mode:
- TM mode: TM output, width =
1 × TM Factor(1 bit per phase) - Full Reduce mode: Non-TM output, width =
1(single bit)
Input Size × TM Factor
Properties
Set the size of each input in bits
Number of bits per input sample (per phase). Range: 1 – 16384.Default: 16
Range: 1 – 16384
Time Multiplexing factor (number of phases)
Time-multiplexing factor. Range: 2 – 32.Default: 4
Range: 2 – 32
TM: XOR-reduce each phase separately (TM output). Full Reduce: XOR-reduce all bits across all phases (single bit output)
Selects the output mode:
- TM: XOR-reduce each phase separately. Output is TM with 1 bit per phase (per-phase parity).
- Full Reduce: XOR-reduce all bits across all phases. Output is a single bit (non-TM, global parity).
Default: TM
Options: TM Full Reduce
Functional description
TM mode
For each TM phase, the component performs:
$$ y[phase] = x[phase]_0 \oplus x[phase]1 \oplus \ldots \oplus x[phase]{N-1} $$
This computes the parity of each phase independently. Output is 1 for a given phase if there’s an odd number of 1s in that phase. The output has the same TM factor as the input (1 bit per phase).
Example: Input size = 8 bits, TM = 4
- Input: 32 bits total (8 bits × 4 phases)
- Output: 4 bits (1 bit per phase, TM)
- Each output bit is the XOR reduction (parity) of the corresponding 8 input bits
Full Reduce mode
The component performs XOR reduction across all bits of all phases:
$$ y = x[0]_0 \oplus x[0]1 \oplus \ldots \oplus x[TM-1]{N-1} $$
This computes the global parity across all phases. Output is 1 if there’s an odd total number of 1s across all phases. The output is a single bit (non-TM).
Example: Input size = 8 bits, TM = 4
- Input: 32 bits total (8 bits × 4 phases)
- Output: 1 bit (single bit, non-TM)
- Output bit is the XOR reduction (parity) of all 32 input bits
Timing
Purely combinational with zero latency.
Typical use cases
- TM mode: Per-phase parity calculation for error detection
- Full Reduce mode: Global parity/checksum generation across all phases
- Error detection codes (ECC)
- Data integrity verification