Skip to main content

Module interleave

Module interleave 

Source
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 MinRoot hardware.