Skip to main content

time_mux_n_bounded

Function time_mux_n_bounded 

Source
pub fn time_mux_n_bounded(
    grids: &[&Grid],
    config: u64,
    width: u32,
    cfg_width: u32,
) -> BoundedExpr
Expand description

The RECONFIGURABLE array (Phase 5): ONE tile grid runs ANY of grids selected by a CONFIG WORD — the generalization of time_mux_bounded from a 1-bit ctx (2 fabrics) to a cfg_width-bit word (N fabrics). Every tile computes all N fabrics’ drives over the SHARED muxed neighbour channels, then selects by config; the output tap muxes likewise. This is “the fabric IS the interpreter”: the config word (streamed per block from the LGB1 frame) reconfigures the SAME silicon to be any block’s datapath. config is fixed to a concrete value here so the lock proves, per value k, that the reconfigured array is EXACTLY the bespoke island grids[k] (config == k ⇒ array ≡ grids[k]). All grids must share dimensions (same-shape fabrics place identically).