Skip to main content

Module cluster

Module cluster 

Source
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§

AssembleLaneLocalBeatInput
Inputs needed to assemble one canonical output beat.
LaneFramerContextInput
Selectable retained-result view consumed by the lane-local framer.
LaneIssueControlInput
Compact request-arbitration input for four local contexts.
LaneIssueControlOutput
One-cycle rotating request-arbitration decision.
LaneIssueInput
Request payloads presented by all four local contexts.
LaneIssueOutput
Selected lane payload and per-context handshakes.
LaneLocalBeat
One registered lane-local stream transfer.
LaneLocalCluster
One SHA lane local to four structurally identical work contexts.
LaneLocalClusterControl
Narrow resettable cluster control.
LaneLocalClusterInput
External input to one four-context lane-local cluster.
LaneLocalClusterOutput
Observable status and registered stream output from one local cluster.
LaneLocalFramerControl
Narrow resettable state for LaneLocalResultFramer.
LaneLocalResultFramer
Registered, non-interleaving lane-local result framer.
LaneLocalResultFramerInput
Inputs to the registered lane-local result framer.
LaneLocalResultFramerOutput
Framer read/release controls and registered stream output.
LaneResponseRouteOutput
Fail-closed routing result for one local lane response.
LaneResultSelection
Fair retained-result selection.
LaneStartSelection
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§

CompressionLaneComponent
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§

ModularSha256LaneLocalCluster
Production cluster whose complete lane is supplied as a separate RHDL artifact.
Sha256LaneLocalCluster
Production 64-round, four-context lane-local SHA-256 cluster.