Expand description
UbftEngine: the register file, the trusted-key loader and the
Ed25519 verify core around UbftSigner and UbftVerifier.
The register map and the streams are in super.
§Trusted keys
The host writes up to KEY_SLOTS Ed25519 public keys (one per peer
replica) and key_mask before start. After start the loader puts each
masked slot’s key into the verify core, one at a time (about 108,000
cycles each for the 1,1,1,0 core), and opens the verify stream once
every masked slot has settled. A key that does not decode sets fault bit
3; records naming that slot then fail their certificate check.
§Certificate requests
The verify core asks for one Ed25519 check per new batch certificate.
The request is held in registers in front of the Ed25519 core (its input
logic is deep; see crate::verify::engine), with the public key of the
request’s key slot.
Structs§
- CfgWrite
- A register write from a component that embeds the engine (the same offsets and rules as an AXI-Lite write; no response).
- Ubft
Engine - The uBFT signature service kernel.
- Ubft
Input - Kernel inputs.
- Ubft
Output - Kernel outputs.
Functions§
- latency_
word_ kernel - One register word of a latency block (
i= 0N, 1LAST, 2MIN, 3MAX, 4SUMlo, 5SUMhi). - ubft_
engine_ kernel - The kernel’s logic.