Expand description
Opaque SHA-lane tag encoding for fused WOTS tasks.
The compression lane must preserve all 32 bits without interpreting them. This module is the sole authority for their layout:
| Bits | Width | Meaning |
|---|---|---|
| 0..=3 | 4 | scheduler context |
| 4..=6 | 3 | TaskKind |
| 7..=13 | 7 | WOTS segment or mask index |
| 14..=17 | 4 | chain step |
| 18..=23 | 6 | SHA/public-key block index |
| 24..=31 | 8 | context generation/sequence |
Structs§
- Decoded
Task Tag - Host-side decoded representation of an opaque task tag.
- TagFields
- Unpacked fields consumed and produced by RHDL tag kernels.
Enums§
- Task
Kind - Compression task classes in their fixed three-bit wire encoding.
- Task
TagError - Error returned while decoding or constructing an opaque task tag.
Constants§
- BLOCK_
INDEX_ SHIFT - Shift of the block-index field in a task tag.
- CHAIN_
STEP_ SHIFT - Shift of the chain-step field in a task tag.
- CONTEXT_
SHIFT - Shift of the context field in a task tag.
- GENERATION_
SHIFT - Shift of the generation field in a task tag.
- KIND_
SHIFT - Shift of the task-kind field in a task tag.
- SEGMENT_
SHIFT - Shift of the segment field in a task tag.
- TASK_
TAG_ BITS - Number of bits in the opaque compression-lane tag.
Functions§
- decode_
tag_ kernel - Unpack an opaque SHA-lane tag without changing any bit.
- decode_
task_ tag - Decode and validate a host-side opaque task tag.
- encode_
tag_ kernel - Pack all tag fields into the fixed 32-bit SHA-lane representation.
- hardware_
fields - Convert host-side decoded fields to the RHDL representation.
- software_
fields - Convert RHDL tag fields to their host-side numeric representation.
- tag_
is_ well_ formed_ kernel - Return whether a tag uses the canonical bounds for its task class.