Skip to main content

Module replica

Module replica 

Source
Expand description

One rhdl_ubft replica: the kernel that takes the place of ubft_new’s.

 host ─AXI4-Lite─▶ Control ─args/start─▶ Protocol ◀─status
                                          │  ▲
    kvstore ─input───────────────────────▶│  │──output, remoteUpdate─▶ kvstore
                                          ▼  │
  network_ptr ◀─AXI4─ Fetcher, ShareReader, Writer
  RoCE ◀─tx_meta, tx_data─ Broadcaster ◀─share RAM◀─ sig
  message_ptr ◀─AXI4─ crypto C (setup + service) ◀─sign/verify─ Protocol

A replica is generic over N (the most replicas the build supports) and G (the window). Its signature scheme is fixed per type: [define_replica!] stamps out one replica type for a scheme (RHDL’s derives cannot take a component as a type parameter), with the scheme’s share beats SB checked against CryptoScheme::SHARE_BEATS.

TypeSchemeFeature
RhdlUbftEd25519Ed25519, configured verify machinesed25519
RhdlUbftDsigDSigdsig (DSig’s module)

Re-exports§

pub use crate::ports::AxiLiteIn;
pub use crate::ports::AxiLiteOut;
pub use crate::ports::AxiRead;
pub use crate::ports::AxiReadResp;
pub use crate::ports::AxiWrite;
pub use crate::ports::AxiWriteResp;
pub use crate::ports::Axis64;
pub use crate::ports::Axis256;
pub use crate::ports::Axis512;
pub use crate::ports::CryptoIn;
pub use crate::ports::CryptoOut;
pub use crate::ports::CryptoScheme;

Structs§

ReplicaIn
The replica’s inputs.
ReplicaOut
The replica’s outputs.
RhdlUbftEd25519
An rhdl_ubft replica with this scheme (see the module docs).
RhdlUbftExternal1
An rhdl_ubft replica with this scheme (see the module docs).

Functions§

rhdl_ubft_ed25519_kernel
The wiring.
rhdl_ubft_external1_kernel
The wiring.