Skip to main content

Module sha512_parallel

Module sha512_parallel 

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

Sha512Compress
A 242-cycle SHA-512 compressor with a 16-word circular schedule.
Sha512CompressIn
Request accepted by one compression lane when Sha512CompressOut::ready is asserted.
Sha512CompressOut
Result and flow-control signals from one compression lane.
Sha512Pool
Four independent SHA-512 compression lanes with dual issue and dual retire.
Sha512PoolIn
Two-request input accepted by Sha512Pool.
Sha512PoolOut
Flow control and two completion ports from Sha512Pool.
Sha512PoolRequest
One tagged request port of Sha512Pool.
Sha512PoolResult
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.