Expand description
One-lane, four-context SHA-profile WOTS cluster.
This module is the first complete lane-local slice of the selected
three-cluster topology. Four structurally identical
SingleContextWorkEngine instances share one fully pipelined SHA-256
compression lane. Request arbitration and response routing stay local, so a
later top level only needs to combine three registered output streams; it
never needs to mux context RAM outputs or complete retained results.
Requests are selected by a rotating four-way arbiter. A canonical request
may issue at most once per cycle, and the cursor advances past the accepted
context. The lane has no backpressure. Its response tag is validated before
the payload is routed to exactly one local context. The tag’s context field
is always local (0..=3); lane or SLR identity is deliberately absent.
Generation remains in the canonical tag, while the opaque external job
identifier is retained in separate resetless cluster storage.
Completed, non-faulted contexts are framed without exposing their wide RAM
ports outside the cluster. A result read has one mandatory cycle of latency.
LaneLocalResultFramer pipelines those reads through a two-entry elastic
beat buffer, sustaining one accepted 512-bit beat per cycle once primed when
the consumer is always ready. Arbitrary stalls are a correctness contract:
the registered head beat remains stable and at most one read response is in
flight. A frame owns one context until beat 34 transfers, so frames cannot
interleave and the context’s output credit is released only on that final
handshake.
A context whose sticky fault coexists with result_valid is released and
discarded without emitting any successful beat. Malformed or out-of-range
lane responses are routed nowhere and latch an observable cluster fault.
Shared reset flushes the lane, all contexts, the framer, cursors, valid bits,
and sticky fault state. Resetless data registers are ignored while their
separately reset ownership bits are clear.
The implementation has source and behavioral-simulation evidence only.
Structural identity is explicit through [ReplicatedSynchronous], but that
is not synthesis, placement, timing, resource, or hardware evidence.
Structs§
- Assemble
Lane Local Beat Input - Inputs needed to assemble one canonical output beat.
- Lane
Framer Context Input - Selectable retained-result view consumed by the lane-local framer.
- Lane
Issue Control Input - Compact request-arbitration input for four local contexts.
- Lane
Issue Control Output - One-cycle rotating request-arbitration decision.
- Lane
Issue Input - Request payloads presented by all four local contexts.
- Lane
Issue Output - Selected lane payload and per-context handshakes.
- Lane
Local Beat - One registered lane-local stream transfer.
- Lane
Local Cluster - One SHA lane local to four structurally identical work contexts.
- Lane
Local Cluster Control - Narrow resettable cluster control.
- Lane
Local Cluster Input - External input to one four-context lane-local cluster.
- Lane
Local Cluster Output - Observable status and registered stream output from one local cluster.
- Lane
Local Framer Control - Narrow resettable state for
LaneLocalResultFramer. - Lane
Local Result Framer - Registered, non-interleaving lane-local result framer.
- Lane
Local Result Framer Input - Inputs to the registered lane-local result framer.
- Lane
Local Result Framer Output - Framer read/release controls and registered stream output.
- Lane
Response Route Output - Fail-closed routing result for one local lane response.
- Lane
Result Selection - Fair retained-result selection.
- Lane
Start Selection - Fair start-allocation decision.
Constants§
- LANE_
LOCAL_ BEAT_ BUFFER_ DEPTH - Number of registered beat slots in the local elastic output buffer.
- LANE_
LOCAL_ CONTEXTS - Number of scheduler contexts local to one SHA compression lane.
- LANE_
LOCAL_ OUTPUT_ BEATS - Number of 512-bit transfers in one fused signature/public-key frame.
Traits§
- Compression
Lane Component - Exact synchronous interface required from a lane-local compression engine.
Functions§
- assemble_
lane_ local_ beat_ kernel - Assemble one canonical 512-bit lane-local output transfer.
- issue_
lane_ request_ kernel - Mux the request selected by
lane_issue_control_kernel. - lane_
issue_ control_ kernel - Select at most one canonical local request with rotating fairness.
- lane_
local_ cluster_ kernel - Native-lane state transition retained for the original two-const API.
- lane_
local_ cluster_ with_ lane_ kernel - State transition and local connectivity for an injected compression lane.
- lane_
local_ result_ framer_ kernel - State transition for
LaneLocalResultFramer. - route_
lane_ response_ kernel - Validate and route one fixed-latency lane response.
- select_
lane_ result_ kernel - Select one non-faulted result with rotating fairness.
- select_
lane_ start_ kernel - Select one ready context with rotating fairness.
Type Aliases§
- Modular
Sha256 Lane Local Cluster - Production cluster whose complete lane is supplied as a separate RHDL artifact.
- Sha256
Lane Local Cluster - Production 64-round, four-context lane-local SHA-256 cluster.