OR Reduce [TM]
Time-multiplexed OR reduction operation with configurable output mode. TM mode: reduces each phase separately to 1 bit (TM output). Full Reduce mode: reduces all bits across all phases to a single bit (non-TM output). Supports TM factors from 2 to 32. Pure combinational logic.
Introduction
This block performs an OR reduction on a time-multiplexed (TM) input with configurable output mode.
TM mode: Reduces each phase separately. 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 when at least one input bit in that phase is 1.
$$ \mathrm{OUT}[phase] = \bigvee_{i=0}^{N-1} \mathrm{IN}[phase][i] $$
Full Reduce mode: Reduces all bits across all phases together. The output is a single bit (non-TM), which is 1 when at least one input bit in any phase is 1.
$$ \mathrm{OUT} = \bigvee_{phase=0}^{TM-1} \bigvee_{i=0}^{N-1} \mathrm{IN}[phase][i] $$
where $\bigvee$ denotes OR reduction over all bits.
Pin Description
Reduced 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: OR-reduce each phase separately (TM output). Full Reduce: OR-reduce all bits across all phases (single bit output)
Selects the output mode:
- TM: OR-reduce each phase separately. Output is TM with 1 bit per phase.
- Full Reduce: OR-reduce all bits across all phases. Output is a single bit (non-TM).
Default: TM
Options: TM Full Reduce
Functional description
TM mode
For each TM phase, the component performs:
$$ y[phase] = x[phase]_0 \lor x[phase]1 \lor \ldots \lor x[phase]{N-1} $$
Output is 1 for a given phase if any input bit in that phase is 1. 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 OR reduction of the corresponding 8 input bits
Full Reduce mode
The component performs OR reduction across all bits of all phases:
$$ y = x[0]_0 \lor x[0]1 \lor \ldots \lor x[TM-1]{N-1} $$
Output is 1 if any input bit across any phase is 1. 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 OR reduction of all 32 input bits
Timing
Purely combinational with zero latency.
Typical use cases
- TM mode: Detecting if any bit in each phase is set (per-phase activity detection)
- Full Reduce mode: Global activity detection across all phases
- Zero detection (invert input first)
- Error flag aggregation