Expand description
Historical nine-context, three-lane SHA transport fabric.
This module is deliberately limited to transport. It arbitrates complete
[CompressionInput] requests onto three fixed-throughput SHA lanes and
routes their fixed-latency [CompressionOutput] responses back to context
slots. It does not decide which WOTS task is dependency-ready, store
intermediate hashes, or prove signature throughput.
The issue side scans nine context slots from a four-bit round-robin cursor, accepts at most three distinct canonical requests, and advances past the last accepted slot. A valid request is canonical only when its task tag is well formed and the tag’s context field names the slot carrying it. Since a slot is visited once per scan, one context can never occupy two lanes in a cycle.
The return side validates each tag before indexing a context. Malformed and out-of-range tags are rejected. If two lanes nevertheless return to the same context in one cycle, every member of that collision is rejected and the context receives no response. Equal-latency lanes combined with the distinct-issue invariant make that condition unreachable in a correctly integrated design, but detecting it turns an integration fault into an explicit signal rather than silent data loss.
Only the round-robin cursor is registered and reset. Request payloads, response payloads, tags, and router state are purely combinational here.
§Architecture status
This central 9-by-3 fabric is a preserved foundation from an earlier
architecture study. The selected production signer does not instantiate
ShaTransportFabric. Instead, each crate::cluster::LaneLocalCluster
keeps four contexts, one lane, response routing, and result framing local;
crate::top::Sha256SignerTop replicates that cluster three times. The
local topology prevents wide context memory ports from crossing the global
boundary and provides twelve total contexts.
Tests of this module establish its own issue/routing behavior only. They do not establish production-signer topology, WOTS dependency scheduling, sustained signature throughput, synthesis, timing, resources, or hardware behavior.
Structs§
- Issue
Control Input - Compact valid/tag view consumed by the emitted-RTL arbitration gate.
- Issue
Control Output - Compact arbitration decision used to drive the payload mux.
- Issue
Input - Nine context-owned requests presented to the round-robin issue kernel.
- Issue
Output - Issue grants and the three lane inputs for one cycle.
- Response
Control Input - Compact valid/tag view consumed by the emitted-RTL response gate.
- Response
Control Output - Compact validated response-routing decision.
- Response
Router Input - Three compression-lane responses presented to the return router.
- Response
Router Output - Per-context routed responses and fail-closed lane status.
- ShaTransport
Fabric - Historical stateful nine-context arbiter plus combinational response router.
- Transport
Input - Combined request/response ports for
ShaTransportFabric. - Transport
Output - Combined issue and return results for
ShaTransportFabric.
Constants§
- CONTEXT_
COUNT - Number of context slots in this historical central fabric.
- LANE_
COUNT - Number of compression-lane slots in this historical central fabric.
Functions§
- host_
issue_ oracle - Independent host oracle for one issue-arbitration cycle.
- host_
response_ router_ oracle - Independent host oracle for one response-routing cycle.
- issue_
control_ kernel - Fairly select at most three distinct canonical context tags.
- issue_
requests_ kernel - Fairly select at most three distinct canonical context requests.
- response_
control_ kernel - Validate three lane tags and compute their context destinations.
- route_
responses_ kernel - Validate and route three fixed-latency lane responses to nine contexts.
- sha_
transport_ fabric_ kernel - Connectivity kernel for
ShaTransportFabric.