Skip to main content

Module card

Module card 

Source
Expand description

UbftCard: the uBFT service with its probe, as one card kernel for measurement.

  host ── AXI-Lite ──▶ front: 0x000..0x7ff ──▶ UbftEngine registers
                             0x800..0xfff ──▶ probe registers (below)
  UbftProbe ◀── four streams ──▶ UbftEngine
  UbftProbe ── frames ──▶ HbmWriter ── m_axi_frames ──▶ HBM

ap_start goes to the engine; the run is done when the engine is (set its sign_count and verify_count to the probe’s count). The probe starts once its go argument is set and the engine accepts requests.

§Probe registers

OffsetNameAccess
0x800arg probe_countW
0x804arg probe_gap: idle cycles between requestsW
0x808arg probe_slot: key slot of the verify requestsW
0x80carg probe_tamper: tamper every n-th (0 never)W
0x810arg probe_goW
0x814arg probe_announce: feed the signer’s certificate announce back into the verifier (as a peer’s)W
0x818arg frames (u64): HBM address of frame 0 (2 KiB stride)W
0x840PROBE_DONE: verdicts receivedR
0x844PROBE_MATCHEDR
0x848PROBE_MISMATCHEDR
0x84c/0x850PROBE_FIRST_BAD lo/hi: first mismatching verdict wordR
0x854FRAMES_WRITTEN: frames acknowledged by HBMR
0x858WRITE_ERRORR

Structs§

CardInput
Card kernel inputs.
CardOutput
Card kernel outputs.
UbftCard
The card kernel.

Constants§

ARG_FRAMES
frames (u64).
ARG_PROBE_ANNOUNCE
probe_announce.
ARG_PROBE_COUNT
Offset of arg probe_count.
ARG_PROBE_GAP
probe_gap.
ARG_PROBE_GO
probe_go.
ARG_PROBE_SLOT
probe_slot.
ARG_PROBE_TAMPER
probe_tamper.
REG_FRAMES_WRITTEN
FRAMES_WRITTEN.
REG_PROBE_DONE
PROBE_DONE.
REG_PROBE_FIRST_BAD
PROBE_FIRST_BAD lo.
REG_PROBE_MATCHED
PROBE_MATCHED.
REG_PROBE_MISMATCHED
PROBE_MISMATCHED.
REG_WRITE_ERROR
WRITE_ERROR.

Functions§

ubft_card_kernel
The card’s logic.