Skip to main content

Module fabric_tile

Module fabric_tile 

Source
Expand description

fabric_tile — the SINGLE SOURCE OF TRUTH for “which ISA ops the spatial fabric realizes”.

The soft-core interpreter runs every op (it is the universal fallback). The spatial fabric — the ASIC-perf datapath — realizes a growing SUBSET: the campaign lowers the ISA onto tiles category by category (“the interpreter itself becomes the fabric”). fabric_tile classifies each Op as the tile it lowers to, or None when it still falls back to the interpreter. This is the fabric analog of isa::silicon_realized: the coverage ratchet (fabric_coverage_lock.rs) keys off it, and — crucially — every op it marks realized must ship an eval == VM equivalence witness, so a coverage claim can never outrun its proof.

Tile kinds grow as coverage grows (bitwise/shift, the shared state plane for collections, floats, CRDT, concurrency, calls). Today the realized set is the arithmetic/comparison datapath plus the plumbing (Move/LoadConst) and control (Return) the fabric framework wires around it.

Enums§

FabricTile
The fabric tile an Op lowers to. A compute tile (Alu/Cmp/Func) has independently-fuzzable datapath semantics and MUST carry an eval == VM witness in the coverage lock; a structural tile (Wire/Control) is realized by the fabric framework itself (a route, a const, a controller edge) and is exercised by every fabric, so it carries no standalone fuzz witness.

Functions§

fabric_coverage
The fraction of the ISA the fabric datapath realizes (the rest runs on the interpreter fallback). Ratchets toward 1.0 as the campaign lowers each op category.
fabric_realized_ops
The mnemonics of every op the fabric realizes today — the ground-truth “covered” set for the ratchet.
fabric_tile
THE authority: the fabric tile this op lowers to, or None when it still falls back to the interpreter. As the campaign lowers each op category, its arm moves from None into a Some(tile) here — and the coverage lock then demands its equivalence witness before the floor can rise.
frontier_reason
Why the fabric has no realization of an op on the interpreter-fallback frontier — None for every realized op, and None for a frontier op nobody has explained, which the coverage locks refuse: an op is tiled or it states its reason, there is no third state. A lane that meets one of these ops refuses the program with this sentence, never a silently dropped op.
hosted_ops
The realized ops a described target’s envelope HOSTS: every op whose tile’s capability the descriptor provides (a structural tile is hosted everywhere). One descriptor’s column of the coverage ratchet — rdu_op_coverage_lock pins it for the SN50 exactly, so a capability lost on the descriptor is as red as a tile lost on the fabric.