TM
Block Preview

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

IN_0 Input 16 bit TM
OUT Output 1 bit TM

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)
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: 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