Skip to main content

Module top

Module top 

Source
Expand description

Three-cluster SHA-profile signer top.

SignerTop is the narrow global layer above three structurally identical four-context lane clusters. It admits at most one job per cycle, preserves each cluster’s local 0..=3 tag namespace, and merges only registered 512-bit cluster beats plus compact error metadata. Complete context results and context RAM ports never cross this boundary.

The data path has two explicit ownership stages. A rotating arbiter first registers one cluster as frame owner. On the following cycle, a canonical cluster beat may enter the one-entry global elastic register. The owner stays locked through beat 34, so frames cannot interleave. When that final beat is captured, its cluster may release local credit because the global register now owns the transfer. External delivery is counted separately when the downstream consumer accepts the registered final beat.

While an output beat is stalled, every data and metadata bit remains stable. If the consumer accepts it, the register may capture the next beat in the same cycle. Capturing a final beat also pre-grants a different already-primed cluster. Consequently that next cluster can refill the global register in the stalled final beat’s eventual downstream-handshake cycle, without an extra inter-frame output bubble after the registered grant stage.

Error completions use an independent one-entry elastic merge. The selected cluster alone receives error_ready; after capture, the global register owns the job identity, local context, and cluster identity until the host accepts exactly one notification.

Canonical keep, last, final padding, beat count, and frame job identity are checked before a cluster receives data ready. A violation is never captured, latches a structural fault, and requires shared reset. Shared reset also flushes all three clusters, grant state, output-valid bits, and error ownership. Resetless beat/job registers are ignored while their resettable valid bits are clear.

This module is Rust/RHDL source. Behavioral or generated-hierarchy evidence does not imply synthesis, placement, routing, resource, timing, throughput, side-channel, or FPGA-card evidence.

Structs§

GlobalBeatValidationInput
Inputs for defensive canonical-control and frame-identity validation.
GlobalErrorMerge
Independent one-entry elastic error-completion merge.
GlobalErrorMergeControl
Resettable control for GlobalErrorMerge.
GlobalErrorMergeInput
Input to the independent global error merge.
GlobalErrorMergeOutput
Registered error output and per-cluster capture handshakes.
GlobalErrorSource
One held lane-local error completion offered to the global merge.
GlobalFrameMerge
Registered global frame merge with one elastic output slot.
GlobalFrameMergeControl
Narrow resettable state for GlobalFrameMerge.
GlobalFrameMergeInput
Input to the registered, frame-locked data merge.
GlobalFrameMergeOutput
Data-merge controls, registered output, and audit pulses.
GlobalFrameSource
One selectable registered cluster beat.
GlobalLaneSelection
Three-way rotating selection result.
SignerErrorCompletion
Error completion returned to the host with global cluster identity.
SignerOutputBeat
Global output beat with source-cluster identity outside SHA state.
SignerTop
Exactly three identical four-context lane clusters and narrow global merges.
SignerTopControl
Narrow resettable global admission/fault state.
SignerTopInput
External streaming input to the three-cluster signer top.
SignerTopOutput
Global signer status, data output, and independent error output.

Constants§

SIGNER_CLUSTER_COUNT
Number of independently placed lane-local signer clusters.
SIGNER_FRAME_BEATS
Number of beats in one canonical fused output frame.

Functions§

global_beat_is_canonical_kernel
Validate one candidate before granting its cluster ready.
global_error_merge_kernel
State transition for GlobalErrorMerge.
global_frame_merge_kernel
State transition for GlobalFrameMerge.
select_global_lane_kernel
Select one of three eligible clusters with rotating fairness.
signer_top_kernel
Native-lane transition retained for the original two-const API.
signer_top_with_lane_kernel
State transition and narrow global connectivity for an injected lane.

Type Aliases§

ModularSha256SignerTop
Production signer skeleton linked with a separately generated full SHA lane.
Sha256SignerTop
Production three-cluster, 64-round SHA-profile signer top.