Expand description
N-way interleaving as a product functor.
The MinRoot hardware interleaves N independent fifth-root
computations around a shared pipeline ring. On each clock cycle,
data from a different computation advances through the stages.
Categorically, interleaving is a product functor F(X) = X^N:
it lifts each pipeline object to an N-tuple and each morphism to
a component-wise application with rotation.
The rotation is a natural transformation σ: F => F that
cyclically shifts which computation is active.
Structs§
- InterleaveK
- The product functor
F(X) = [X; N]for interleaving. - Rotate
- Rotation: cyclically shifts the active slot.
Constants§
- DEFAULT_
INTERLEAVE - The interleave depth used by the default
MinRoothardware.