Parent
Tracked by LinxISA/linx-isa#165.
Implement the reissued PTO-SPEC 0.58 architecture at exact commit
8a77c9f0eab36cc41051519366ff163171f81463.
Normative decision: ADR 0054.
RTL requirements
- Replace active compressed C.B.IOS with 32-bit B.IOS using match
0x00001013, mask 0xf00871ff, SharedTID[27:20], PE_MASK[18:15], and
TSize[11:9]. Reserved bits must reject; old overlapping words are C.B.DIMI.
- TSize 1..7 is 128 B..8 KiB per selected PE for Local B.IOT destinations and
Shared B.IOS destinations. Core capacity charge is popcount(mask) times the
per-PE size.
- Local T/U/M/N destinations allocate/rename independently for selected PEs.
Consumers use renamed per-PE producers, not a source PE-mask selector.
- Implement one Core-private S0..S255 bank accessible by all four PEs, with
per-PE descriptor/payload, immutable allocation_mask, and initialized_mask.
- First allocating write fixes allocation_mask. Later writes may update a
subset only; expansion and incompatible descriptor changes reject before
allocation/rename/payload/lifetime effects.
- Commit descriptor plus selected payload atomically. Arbitration order is not
architectural; do not specify a conflict winner.
- PE mask mapping is fixed (1000=PE0 ... 0001=PE3), selected lanes are not
packed, and mask zero is a strict no-op.
- Keep B.IOR scalar/address-only and B.IOT Local-only; remove mask-only Shared
B.IOT behavior. Enforce mixed-mask equality and Shared CUBE/TGEMV legality.
Verification
- Decode parity and overlap tests for B.IOS, B.IOR, all B.IOT forms, scalar
encodings, and six Linx-only vector reservations.
- Assertions for no-effect rejection, exact capacity charge, zero-mask no-op,
subset-only Shared updates, atomic descriptor/payload commit, and reset.
- Directed tests for masks 0001/0011/0111/1111, every TSize code, S0/S255,
undefined reads, mixed TMOV/TLSU, and cooperative TMATMUL.
- Trace parity with linx-model/LinxCoreModel before the superproject gitlink is
updated.
Parent
Tracked by LinxISA/linx-isa#165.
Implement the reissued PTO-SPEC 0.58 architecture at exact commit
8a77c9f0eab36cc41051519366ff163171f81463.Normative decision: ADR 0054.
RTL requirements
0x00001013, mask0xf00871ff, SharedTID[27:20], PE_MASK[18:15], andTSize[11:9]. Reserved bits must reject; old overlapping words are C.B.DIMI.
Shared B.IOS destinations. Core capacity charge is popcount(mask) times the
per-PE size.
Consumers use renamed per-PE producers, not a source PE-mask selector.
per-PE descriptor/payload, immutable allocation_mask, and initialized_mask.
subset only; expansion and incompatible descriptor changes reject before
allocation/rename/payload/lifetime effects.
architectural; do not specify a conflict winner.
packed, and mask zero is a strict no-op.
B.IOT behavior. Enforce mixed-mask equality and Shared CUBE/TGEMV legality.
Verification
encodings, and six Linx-only vector reservations.
subset-only Shared updates, atomic descriptor/payload commit, and reset.
undefined reads, mixed TMOV/TLSU, and cooperative TMATMUL.
updated.