Expand description
The kernel’s ports: the same as ubft_new’s ubft kernel, so the Vitis
link (config.cfg) connects rhdl_ubft where ubft_new’s kernel was.
| Port | Kind | ubft_new | Here |
|---|---|---|---|
input | AXI4-Stream in, 64 bits | hls::stream<ProposedValue> | Axis64 |
output, remoteUpdate | AXI4-Stream out, 256 bits | hls::stream<ap_uint<256>> | Axis256 |
m_axis_tx_meta | AXI4-Stream out, 256 + keep/last | pkt256 | Axis256 + TxSide |
m_axis_tx_data | AXI4-Stream out, 512 + keep/last | pkt512 | Axis512 + TxSide |
s_axis_tx_status | AXI4-Stream in, 512 | pkt512 (drained) | Axis512 |
network_ptr | AXI4 master, 512-bit data | m_axi gmem0 | AxiRead/AxiWrite |
message_ptr | AXI4 master (reads) | m_axi gmem1 | AxiRead |
s_axi_control | AXI4-Lite | arguments and ap_ctrl_hs | AxiLiteIn/AxiLiteOut |
Words are little-endian 64-bit lanes: lane 0 holds bits 0..64.
Modules§
- regs
- The kernel’s control registers (byte offsets), those of ubft_new’s HLS
kernel (
xubft_hw.h), so its host code drives rhdl_ubft unchanged.
Structs§
- AxiLite
In - AXI4-Lite requests (the layout of the Ed25519 and DSig services’ port).
- AxiLite
Out - AXI4-Lite responses.
- AxiRead
- AXI4 read requests from the kernel (INCR bursts of 64-byte beats).
- AxiRead
Resp - AXI4 read responses to the kernel.
- AxiWrite
- AXI4 write requests from the kernel (single 64-byte beats with byte strobes).
- AxiWrite
Resp - AXI4 write responses to the kernel.
- Axis64
- A 64-bit stream beat.
- Axis256
- A 256-bit stream beat.
- Axis512
- A 512-bit stream beat.
- CfgWrite
- One host write into a scheme’s configuration window.
- Crypto
In - What the consensus controller asks of a signature scheme: the agreed
four streams, plus a one-time setup (seed and peers’ keys). A scheme is
any
Synchronouscomponent withI = CryptoIn, O = CryptoOut(crypto::ed25519::Ed25519Crypto, DSig’scrypto::dsig), and the replica is generic over it. - Crypto
Out - A signature scheme’s answers to the controller.
- TxSide
- The
tkeepof a meta beat (32 bytes, all kept).
Traits§
- Crypto
Scheme - A signature scheme’s compile-time shape. The replica takes
SB = C::SHARE_BEATSas a const generic (kernels cannot read associated constants), and its constructor asserts they agree.
Functions§
- idle64
- No 64-bit beat.
- idle256
- No 256-bit beat.
- idle512
- No 512-bit beat.
- idle_
lite_ in - No AXI4-Lite request.
- idle_
lite_ out - No AXI4-Lite answer.
- idle_
read - No read request.
- idle_
read_ resp - No read answer.
- idle_
write - No write request.