Operands and parameters
DataType- tile element data type selector
Mode- execution mode selector
Function- tile operation function selector
Closes the current bundle, initializes the next bundle descriptor, and selects its transfer and execution kind.
PTO-BLOCK-BSTART-TEPLBSTART.TEPL Mode, Function, DataType| Field | Bits | Signedness | Architectural role | Encoded zero |
|---|---|---|---|---|
DataType | 5 | encoding-defined | tile element data type selector | Encoded zero selects FP64. |
Mode | 2 | encoding-defined | execution mode selector | — |
Function | 5 | encoding-defined | tile operation function selector | — |
Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.
| Decoded item | Bit range | Value |
|---|---|---|
| DataType | 31:27 | variable |
| Mode | 26:25 | variable |
| Function | 24:20 | variable |
| Constant | 19:0 | 20'b00011001000110000001 |
{
"reg": [
{
"bits": 20,
"name": "20'b00011001000110000001"
},
{
"bits": 5,
"name": "Function"
},
{
"bits": 2,
"name": "Mode"
},
{
"bits": 5,
"name": "DataType"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}BSTART.TEPL Mode, Function, DataType
DataTypeModeFunctionDecode and Operation come directly from the instruction owner and remain separated by execution phase.
readonly func InstructionContractMatches_BSTART_TEPL(operation: CommandOperation) => booleanbegin return (operation == CommandOperation_bstart_tepl_32_d022db6dacb3);end;readonly func InstructionContractHandler_BSTART_TEPL() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;
pure func InstructionContractAcceptsEngineAlias_BSTART_TEPL( engine: TileExecutionEngine) => booleanbegin return TileEngineHasCanonicalBundleStartAlias(engine);end;
pure func InstructionContractAcceptsTileOperation_BSTART_TEPL( operation: integer {0..PTO_TILE_OPERATION_COUNT-1}) => booleanbegin return TileTEPLAliasAcceptsOperation(TileTEPLAlias_TEPL, operation);end;// PTO-INSTRUCTION: {"assembly":["BSTART.TEPL Mode, Function, DataType"],"block":[],"catalog_indices":[33],"catalog_records":[{"accepted_assembly_mnemonics":["BSTART.TEPL","BSTART.VEC","BSTART.SFU"],"asm":"BSTART.TEPL Mode, Function, DataType","canonical_assembly_by_engine":{"SFU":"BSTART.SFU","VEC":"BSTART.VEC"},"carrier_mnemonic":"BSTART.TEPL","constraints":[{"field":"DataType","operator":"one-of","values":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,24,25,26,27,28]}],"encoding":[{"index":0,"mask":"0x000fffff","match":"0x00019181","width_bits":32}],"encoding_kind":"L32","fields":[{"name":"DataType","pieces":[{"instruction_lsb":27,"value_lsb":0,"width":5}],"signedness":"encoding-defined","width":5},{"name":"Mode","pieces":[{"instruction_lsb":25,"value_lsb":0,"width":2}],"signedness":"encoding-defined","width":2},{"name":"Function","pieces":[{"instruction_lsb":20,"value_lsb":0,"width":5}],"signedness":"encoding-defined","width":5}],"form_id":"bstart_tepl_32_d022db6dacb3","length_bits":32,"mnemonic":"BSTART.TEPL","semantic_family":"CMD","semantic_group":"Bundle Split","semantic_handler":"ExecuteBundleStart","semantic_summary":"Closes the current bundle, initializes the next bundle descriptor, and selects its transfer and execution kind.","status":"accepted"}],"classification":["execution"],"contract":{"block_composition":["BSTART.TEPL is the unchanged Mode:Function carrier. It retires any active predecessor, installs one Tile-element block descriptor, and accepts either the VEC or SFU operation assigned to that selector.","BSTART.TEPL remains accepted compatibility input, but canonical assembly and disassembly select BSTART.VEC or BSTART.SFU from the operation's execution engine."],"canonical_assembly":["BSTART.TEPL Mode, Function, DataType"],"defaults":["No operand field is omitted; every encoded field has the value carried by the selected form."],"encoding_class":"standalone-encoded","examples":["BSTART.TEPL 0, 0, FP32"],"exceptions":["Reserved DataType codes, unassigned Mode:Function selectors, non-TEPL operations, or invalid descriptors raise before predecessor retirement or new BARG effects.","An accepted selector whose operation is not assigned to VEC or SFU is illegal for this carrier."],"field_contracts":{"DataType":{"ref":"PTO-FIELD-BLOCK-DATATYPE"}},"field_zero_meanings":{"DataType":"Encoded zero selects FP64."},"legality":["Mode:Function is a seven-bit selector with Mode in bits 6:5 and Function in bits 4:0.","Only assigned TEPL-carried operations are legal; unassigned selector holes reject before effects.","DataType accepts 0..14, 16..20, and 24..28; 15, 21..23, and 29..31 are reserved.","BSTART.TEPL is compatibility input only; canonical output uses the operation's VEC or SFU alias."],"memory_effects":["none"],"operands":[{"field":"DataType","role":"tile element data type selector"},{"field":"Mode","role":"execution mode selector"},{"field":"Function","role":"tile operation function selector"}],"ordering":["Carrier field, selector, operation, engine, and descriptor legality precede predecessor retirement and BARG publication."],"standalone_opcode":true,"state_effects":["After successful predecessor retirement, installs the selected Tile-element descriptor and a BARG whose BlockType denotes the Tile-element block.","The selected operation executes only when BSTOP or the next BSTART commits the completed block."]},"depends_on":["PTO-BLOCK-MODEL-SCHEMA-PROFILE-ENCODING","PTO-ARCH-OVERVIEW-INSTRUCTION-CLASSIFICATION"],"id":"PTO-BLOCK-BSTART-TEPL","mnemonic":"BSTART.TEPL","summary":"Closes the current bundle, initializes the next bundle descriptor, and selects its transfer and execution kind.","surface":"block"}// PTO-REVIEW: {"review_method":"formal-definition-read","outcome":"FORMAL-COMPLETE","reviewed_fields":["assembly","encoding","defaults","operation","state","memory","ordering","faults","reserved"]}// NDF-BEGIN: PTO-BSTART-TEPL-DECISION-BINDING-001// ndf: kind=contract level=L1 layer=block status=accepted// BSTART.TEPL MUST implement the mnemonic-local canonical assembly, encoded// legality, defaults, state and memory effects, ordering, and fault boundaries// declared in this owner. The operation region below is the executable binding// for every accepted decision that names this mnemonic.// NDF-END: PTO-BSTART-TEPL-DECISION-BINDING-001// DOC-BEGIN: decodereadonly func InstructionContractMatches_BSTART_TEPL(operation: CommandOperation) => booleanbegin return (operation == CommandOperation_bstart_tepl_32_d022db6dacb3);end;// DOC-END: decode// DOC-BEGIN: operationreadonly func InstructionContractHandler_BSTART_TEPL() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;
pure func InstructionContractAcceptsEngineAlias_BSTART_TEPL( engine: TileExecutionEngine) => booleanbegin return TileEngineHasCanonicalBundleStartAlias(engine);end;
pure func InstructionContractAcceptsTileOperation_BSTART_TEPL( operation: integer {0..PTO_TILE_OPERATION_COUNT-1}) => booleanbegin return TileTEPLAliasAcceptsOperation(TileTEPLAlias_TEPL, operation);end;// DOC-END: operation
BSTART.TEPL is a 32-bit block-start command for the TEPL form. It establishes the pending block identity and selectors; the completed block, not the start command alone, owns body execution and result commitment.
Header commands execute sequentially after the start, while BSTOP or the next BSTART is the boundary that validates and retires the completed block. The current owner gives this exact composition checklist:
BSTART.TEPL is the unchanged Mode:Function carrier. It retires any active predecessor, installs one Tile-element block descriptor, and accepts either the VEC or SFU operation assigned to that selector.
BSTART.TEPL remains accepted compatibility input, but canonical assembly and disassembly select BSTART.VEC or BSTART.SFU from the operation's execution engine.After any active predecessor is retired successfully, the command initializes the new pending BARG or operation descriptor and continues header execution at the sequential PC. No block destination or memory result becomes visible merely because the start decoded.
DataType selects the element data type or inheritance sentinel; its exact assigned domain remains in the generated contract below.Mode supplies the named selector or attribute field; its exact assigned domain remains in the generated contract below.Function supplies the named selector or attribute field; its exact assigned domain remains in the generated contract below.The start transition is all-or-nothing with predecessor retirement for applicability and target checks. After the start succeeds, the later completion boundary validates the full composition before any body result can commit.
Reserved selectors, invalid targets, malformed completed composition, or failed predecessor retirement are rejected before new-block or body effects.
This worked example is illustrative; it illustrates the current owner without replacing it.
BSTART.TEPL Mode, Function, DataTypeAssume predecessor retirement and target checks succeed. BSTART.TEPL Mode, Function, DataType opens the pending BSTART.TEPL form; subsequent header/body commands remain provisional until BSTOP or the next BSTART validates the complete composition.
Bodies come from owning ASL. Dragging or buttons change only this page-session view order.
BSTART.TEPL MUST implement the mnemonic-local canonical assembly, encoded legality, defaults, state and memory effects, ordering, and fault boundaries declared in this owner. The operation region below is the executable binding for every accepted decision that names this mnemonic.
PTO-BSTART-TEPL-DECISION-BINDING-001asl/block/execution/BSTART.TEPL.asl989b116fe7f8e9cdc26ddaeb65e9520f2d207d3850f678d02aeb199294b1e770f54e19021fefc5be4dd9f4b28e8913cf40ea89c468d23eef5d39651d607af05613 matching entries
PTO-AVS-BLOCK-BSTART-TEPL-ALIASES-001tests/asl/block/execution/BSTART.TEPL/block-static-bstart-tepl-aliases-001.asl74f56dadc3bba98d7d451496922b552ca651bb1e557e5178f9143e71dd28e578PTO-AVS-BLOCK-BSTART-TEPL-DECODE-001tests/asl/block/execution/BSTART.TEPL/block-decode-bstart-tepl-canonical-001.asl1995eb3a76843bce088a7e805fc23ca983f0ffe70b924c41e0849618d1740467PTO-AVS-BLOCK-BSTART-TEPL-RESERVED-001tests/asl/block/execution/BSTART.TEPL/block-fault-bstart-tepl-reserved-001.asl831baa2b44d5765c438b0ca783c6e094467d9c6624358c1d75c06a9fe98b0a09PTO-EVIDENCE-RELEASE-TRACEABILITYPTO-EVIDENCE-RELEASE-TRACEABILITYspec/evidence/release-traceability-readiness.jsonc7327021d39dc67ac5564bc55073b3870a397d79ac8d9648284d56e33bc14a3ePTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSUREPTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSUREspec/evidence/instruction-contract-closure.json3ef2bb62421c79dff8fa77a1c7983923b523244b8090812883ef81286ca8106aPTO-EVIDENCE-ARCHITECTURE-READINESSPTO-EVIDENCE-ARCHITECTURE-READINESSspec/evidence/architecture-readiness.json4b0b85199101251bea744e0f3591cc31906909dc80d5ab651c417a936036a004PTO-EVIDENCE-RELEASE-GATE-READINESSPTO-EVIDENCE-RELEASE-GATE-READINESSspec/evidence/release-gate-readiness.jsona0f4d2b6920c08981ea55fd8ef820708a40d4feb5402c5150e8e9ab532d84ce0PTO-EVIDENCE-RELEASE-MANIFESTPTO-EVIDENCE-RELEASE-MANIFESTspec/release-manifest.json1a64c109ed7a90351c41e2a418b3c0ebaf8ad975838986d2101385186b85c0d8Loading ADR-0032…
ADR-0032docs/status/decisions/0032-bundle-command-totality-and-profile-boundaries.mde1f91826817343c0977a565a91e495a15397b83fa2af227124f225821ffa54aeLoading ADR-0052…
ADR-0052docs/status/decisions/0052-direct-tile-and-bundle-catalog-closure.md5fdb38bf480e37affe5075f93b35a57d32803018c986bfe05160f188a19ccaf6Loading ADR-0055…
ADR-0055docs/status/decisions/0055-complete-bundle-bior-schema-and-defaults.mdd84224ee1980cb16a6c4efb6ce3c5c2649d5db27002e7e6429850da189a2cdffLoading ADR-0059…
ADR-0059docs/status/decisions/0059-mnemonic-field-encoding-closure.mdf18d13f735cfaf9f2803c754c5818f4af33d1cc42c489f0d9ce060b07bb3a196Loading ADR-0080…
ADR-0080docs/status/decisions/0080-tile-elementwise-and-irregular-operations.md3f6aed3e2ac792a75e46787be99eb8c1d5ce204b098f531aa9fcb80b87448d72{
"classification": [
"execution"
],
"documentation": "docs/block/execution/BSTART.TEPL.md",
"id": "PTO-BLOCK-BSTART-TEPL",
"instruction_contract": {
"artifact": "spec/evidence/instruction-contract-closure.json",
"mnemonic": "BSTART.TEPL",
"ndf_clause": "PTO-INST-BLOCK-BSTART-TEPL"
},
"mnemonic": "BSTART.TEPL",
"readiness_subjects": [
"ADR-0032",
"ADR-0052",
"ADR-0055",
"ADR-0059",
"ADR-0080"
],
"semantic_tests": [
"PTO-AVS-BLOCK-BSTART-TEPL-RESERVED-001"
],
"source": "asl/block/execution/BSTART.TEPL.asl",
"surface": "block",
"tests": [
"PTO-AVS-BLOCK-BSTART-TEPL-ALIASES-001",
"PTO-AVS-BLOCK-BSTART-TEPL-DECODE-001",
"PTO-AVS-BLOCK-BSTART-TEPL-RESERVED-001"
]
}0.58.5 · Release candidate7dc8b7e5b121d2b2499a2273bebff29e2cd86812989b116fe7f8e9cdc26ddaeb65e9520f2d207d3850f678d02aeb199294b1e7709b2bfc73f32517bdb85466b450e36cb78219915f1d666551e7847b4e1ea11310asl/block/execution/BSTART.TEPL.aslasl/block/execution/BSTART.TEPL.aslasl/block/execution/BSTART.TEPL.asl