prism_control_reassembler¶
Latency1 cycle admission, 2 cycles to first payload byteMemorydual port block RAM
prism_control_reassembler collects bounded, potentially out-of-order CONTROL fragments that share a session cookie and transaction identifier. It emits one ordered payload only after the message is complete.
Contracts¶
- Fragment start: accepts a
prism_control_header_tand the payload length for one fragment. - Fragment byte stream: accepts exactly the bytes belonging to the admitted fragment.
- Reassembled message: publishes the canonical header, total payload length, and ordered byte stream.
- Error result: reports a
prism_status_evalue through an independent ready/valid channel.
Contract behavior¶
- Bounds concurrent messages, fragment size, total capacity, and fragment count through elaboration parameters.
- Registers each fragment request before context matching, isolating packet validation from reassembly state updates.
- Matches fragments by session cookie and transaction identifier while checking invariant header fields.
- Accepts duplicate fragments only when their stored content is consistent.
- Releases a message in fragment-index order after all expected fragments arrive.
- Reports malformed, conflicting, oversized, or timed-out transactions without publishing a partial request.