TM
Block Preview

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

IN_0 Input 16 bit TM
OUT Output 1 bit TM

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)
IN Variable bit
Input data vector, always TM. Width: Input Size × TM Factor
Default: Must be connected

Properties

Property window

Input size (bits) InputSize

Set the size of each input in bits

Number of bits per input sample (per phase). Range: 1 – 16384.

Default: 16

Range: 1 – 16384

TM Factor TMFactor

Time Multiplexing factor (number of phases)

Time-multiplexing factor. Range: 2 – 32.

Default: 4

Range: 2 – 32

Output mode OutputMode

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