Expand description
Four-lane, three-phase SHA-512 compression fabric.
The signing pipeline hashes secret expansion, nonce material, and challenge material concurrently. A single iterative compressor would serialize those independent jobs, so this module keeps four complete compression contexts. Each lane performs one SHA-512 round in three registered phases and accepts a fresh 1024-bit block whenever it is idle. The 16-word circular schedule is held locally; neither message data nor schedule words leave the core.
Structs§
- Sha512
Compress - A 242-cycle SHA-512 compressor with a 16-word circular schedule.
- Sha512
Compress In - Request accepted by one compression lane when
Sha512CompressOut::readyis asserted. - Sha512
Compress Out - Result and flow-control signals from one compression lane.
- Sha512
Pool - Four independent SHA-512 compression lanes with dual issue and dual retire.
- Sha512
Pool In - Two-request input accepted by
Sha512Pool. - Sha512
Pool Out - Flow control and two completion ports from
Sha512Pool. - Sha512
Pool Request - One tagged request port of
Sha512Pool. - Sha512
Pool Result - One tagged completion port of
Sha512Pool.
Functions§
- big_
sigma0 - SHA-512 round Sigma0.
- big_
sigma1 - SHA-512 round Sigma1.
- rotr
- Rotate right.
- round_
constant - SHA-512 round constant
K_t. - sha512_
compress_ kernel - State transition for
Sha512Compress. - sha512_
pool_ kernel - State transition and lane crossbar for
Sha512Pool. - small_
sigma0 - SHA-512 message-schedule sigma0.
- small_
sigma1 - SHA-512 message-schedule sigma1.