Operands and parameters
SrcL- Reg5 source: R0..R23, T#1..T#4, or U#1..U#4
BWE publishes the WaitEvent nonblocking execution-control request.
PTO-SCALAR-BWEbwe SrcL| Field | Bits | Signedness | Architectural role | Encoded zero |
|---|---|---|---|---|
SrcL | 5 | encoding-defined | Reg5 source: R0..R23, T#1..T#4, or U#1..U#4 | Encoded zero names the architectural zero GPR. |
Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.
| Decoded item | Bit range | Value |
|---|---|---|
| Constant | 31:20 | 12'b000000000001 |
| SrcL | 19:15 | variable |
| Constant | 14:0 | 15'b000000000101011 |
{
"reg": [
{
"bits": 15,
"name": "15'b000000000101011"
},
{
"bits": 5,
"name": "SrcL"
},
{
"bits": 12,
"name": "12'b000000000001"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}bwe SrcL
SrcLThis Operation comes directly from the instruction owner; the page does not rewrite its behavior.
readonly func InstructionContractOperation_BWE() => ScalarOperationbegin return ScalarOperation_BWE;end;readonly func InstructionContractHandler_BWE() => ScalarSemanticHandlerbegin return ScalarHandler_ExecuteControlRequest;end;
pure func InstructionContractRequiresSystemBlock_BWE() => booleanbegin return TRUE;end;
pure func InstructionContractControlRequest_BWE() => ExecutionControlRequestbegin return ExecutionControl_WaitEvent;end;
pure func InstructionContractControlRequestIsNonblocking_BWE() => booleanbegin return TRUE;end;// PTO-INSTRUCTION: {"assembly":["bwe SrcL"],"block":[],"catalog_indices":[18],"catalog_records":[{"asm":"bwe SrcL","constraints":[],"encoding":[{"index":0,"mask":"0xfff07fff","match":"0x0010002b","width_bits":32}],"encoding_kind":"L32","fields":[{"name":"SrcL","pieces":[{"instruction_lsb":15,"value_lsb":0,"width":5}],"signedness":"encoding-defined","width":5}],"form_id":"bwe_32_e5a5240bdf9b","length_bits":32,"mnemonic":"BWE","semantic_family":"SYS","semantic_group":"SYS","semantic_handler":"ExecuteControlRequest","semantic_summary":"BWE publishes the WaitEvent nonblocking execution-control request.","status":"accepted"}],"classification":["sys"],"contract":{"block_composition":["BWE executes as one scalar operation in the body of an active SYS block."],"canonical_assembly":["bwe SrcL"],"defaults":["Every displayed operand is encoded explicitly. Encoded zero is an assigned value and never denotes omission."],"encoding_class":"standalone-encoded","examples":["bwe SrcL"],"exceptions":["Invalid block placement raises Illegal Block Exception before encoded-field legality or effects.","A reserved encoding or rejected access raises Illegal Instruction before destination, queue, system-state, or TPC effects."],"field_contracts":{},"field_zero_meanings":{"SrcL":"Encoded zero names the architectural zero GPR."},"legality":["Every fixed bit and explicit field constraint is checked before operation semantics.","Every assigned Reg5 source selector follows the common scalar-source availability rule."],"memory_effects":["none"],"operands":[{"field":"SrcL","role":"Reg5 source: R0..R23, T#1..T#4, or U#1..U#4"}],"ordering":["Check block placement and encoded legality before source reads or architectural effects.","Snapshot every scalar source before the selected system effect, then advance TPC only after success."],"standalone_opcode":true,"state_effects":["Snapshot SrcL, publish ExecutionControl_WaitEvent and the exact XLEN operand, increment the architecture-request epoch, then advance TPC.","PTO defines no additional asleep, mailbox, timeout-counter, or pending-wake state for this nonblocking request."]},"depends_on":["PTO-SCALAR-MODEL-SYS-SEMANTICS"],"id":"PTO-SCALAR-BWE","mnemonic":"BWE","summary":"BWE publishes the WaitEvent nonblocking execution-control request.","surface":"scalar"}// PTO-REVIEW: {"review_method":"formal-definition-read","outcome":"FORMAL-COMPLETE","reviewed_fields":["assembly","encoding","defaults","operation","state","memory","ordering","faults","reserved"]}// NDF-BEGIN: PTO-BWE-DECISION-BINDING-001// ndf: kind=contract level=L1 layer=scalar status=accepted// BWE 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-BWE-DECISION-BINDING-001// DOC-BEGIN: decodereadonly func InstructionContractOperation_BWE() => ScalarOperationbegin return ScalarOperation_BWE;end;// DOC-END: decode// DOC-BEGIN: operationreadonly func InstructionContractHandler_BWE() => ScalarSemanticHandlerbegin return ScalarHandler_ExecuteControlRequest;end;
pure func InstructionContractRequiresSystemBlock_BWE() => booleanbegin return TRUE;end;
pure func InstructionContractControlRequest_BWE() => ExecutionControlRequestbegin return ExecutionControl_WaitEvent;end;
pure func InstructionContractControlRequestIsNonblocking_BWE() => booleanbegin return TRUE;end;// DOC-END: operation
BWE publishes its assigned nonblocking execution-control request using a snapshotted scalar operand.
The ASL DOC region selects ScalarHandler_ExecuteControlRequest. Placement and encoded legality are checked before sources or system state can change.
The instruction occupies one scalar operation position in the body of an active SYS block.
SrcL carries the Reg5 source: R0..R23, T#1..T#4, or U#1..U#4.
Encoded zero is an assigned field value, never an omitted operand.
The snapshotted SrcL value is published with ExecutionControl_WaitEvent, and the architecture-request epoch increments before TPC advances.
The request is nonblocking in the portable model and creates no separate sleep, mailbox, timeout-counter, or pending-wake state.
Every assigned Reg5 selector follows the common scalar-source rule.
Invalid SYS-block placement is rejected before field checks. Reserved encodings or denied access produce no destination, queue, system-state, or TPC effect beyond the ordinary trap envelope.
This spelling example is illustrative; exact legality and effects remain in the generated contract below.
Start with bwe SrcL and trace its encoded fields through preflight before following the selected system effect.
Bodies come from owning ASL. Dragging or buttons change only this page-session view order.
BWE 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-BWE-DECISION-BINDING-001asl/scalar/sys/BWE.asl47c5159731617cef430639ae3c53c5a56097560cba59ed1f00072f5a46f6d754289233c28343ae1089969a21efc96eeab48cab6b98a97f7c355934f41e912ad014 matching entries
PTO-AVS-SCALAR-BWE-DECODE-001tests/asl/scalar/sys/BWE/scalar-decode-bwe-canonical-001.asl3be6814899f4b52b2f6e855453e8999f14defd4a9961d8f7db1ee10eedbe0e84PTO-AVS-SYS-BWE-EXEC-001tests/asl/scalar/sys/BWE/scalar-exec-bwe-direct-001.asl4a988bbb021e807ba96e55514e4dd79f8f01bc0fd5c095340cd5f76531528d5dPTO-AVS-SYS-BWE-PLACE-001tests/asl/scalar/sys/BWE/scalar-fault-bwe-place-001.asl55c9ae1fc26a56e119d15472c51e1a82f8fe065f2ddcbdda5d5a086fb7a3340aPTO-AVS-SYS-BWE-TSRC-001tests/asl/scalar/sys/BWE/scalar-exec-bwe-tsrc-001.asl1737db9204ab3279efa84b5a2618522a848ed9b8036f7c9e0daf14ecc6d4122aPTO-AVS-SYS-BWE-USRC-001tests/asl/scalar/sys/BWE/scalar-exec-bwe-usrc-001.asl11bc82bba7d313b64f73aff0aba9cab35f2a9133176b4555c19809f1a66d93d7PTO-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-0018…
ADR-0018docs/status/decisions/0018-pto-v0-trap-disposition.mdce33454ffd2a595425ebece5954c9990ea2b9c4890008ad700599f767d7b9716Loading ADR-0031…
ADR-0031docs/status/decisions/0031-scalar-sys-totality-and-profile-boundaries.md5680b3516be6c28a1ccb198c99f5efb66317c65330f6d87434173024d2795a7dLoading ADR-0059…
ADR-0059docs/status/decisions/0059-mnemonic-field-encoding-closure.mdf18d13f735cfaf9f2803c754c5818f4af33d1cc42c489f0d9ce060b07bb3a196Loading ADR-0084…
ADR-0084docs/status/decisions/0084-scalar-system-and-queue-operations.mde068992fa81e2c4ac46e492391a2f784141d68e041bf0b9e0586c37217d1e08c{
"classification": [
"sys"
],
"documentation": "docs/scalar/sys/BWE.md",
"id": "PTO-SCALAR-BWE",
"instruction_contract": {
"artifact": "spec/evidence/instruction-contract-closure.json",
"mnemonic": "BWE",
"ndf_clause": "PTO-INST-SCALAR-BWE"
},
"mnemonic": "BWE",
"readiness_subjects": [
"ADR-0018",
"ADR-0031",
"ADR-0059",
"ADR-0084"
],
"semantic_tests": [
"PTO-AVS-SYS-BWE-EXEC-001",
"PTO-AVS-SYS-BWE-PLACE-001",
"PTO-AVS-SYS-BWE-TSRC-001",
"PTO-AVS-SYS-BWE-USRC-001"
],
"source": "asl/scalar/sys/BWE.asl",
"surface": "scalar",
"tests": [
"PTO-AVS-SCALAR-BWE-DECODE-001",
"PTO-AVS-SYS-BWE-EXEC-001",
"PTO-AVS-SYS-BWE-PLACE-001",
"PTO-AVS-SYS-BWE-TSRC-001",
"PTO-AVS-SYS-BWE-USRC-001"
]
}0.58.5 · Release candidate7dc8b7e5b121d2b2499a2273bebff29e2cd8681247c5159731617cef430639ae3c53c5a56097560cba59ed1f00072f5a46f6d75482242c8c71b01e8e968c6b2fe538e8bc7eaa942fcbeec873f9aea5950e670b8basl/scalar/sys/BWE.aslasl/scalar/sys/BWE.aslasl/scalar/sys/BWE.asl