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 ──▶ HBMap_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
| Offset | Name | Access |
|---|---|---|
0x800 | arg probe_count | W |
0x804 | arg probe_gap: idle cycles between requests | W |
0x808 | arg probe_slot: key slot of the verify requests | W |
0x80c | arg probe_tamper: tamper every n-th (0 never) | W |
0x810 | arg probe_go | W |
0x814 | arg probe_announce: feed the signer’s certificate announce back into the verifier (as a peer’s) | W |
0x818 | arg frames (u64): HBM address of frame 0 (2 KiB stride) | W |
0x840 | PROBE_DONE: verdicts received | R |
0x844 | PROBE_MATCHED | R |
0x848 | PROBE_MISMATCHED | R |
0x84c/0x850 | PROBE_FIRST_BAD lo/hi: first mismatching verdict word | R |
0x854 | FRAMES_WRITTEN: frames acknowledged by HBM | R |
0x858 | WRITE_ERROR | R |
Structs§
- Card
Input - Card kernel inputs.
- Card
Output - Card kernel outputs.
- Ubft
Card - 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_BADlo.- REG_
PROBE_ MATCHED PROBE_MATCHED.- REG_
PROBE_ MISMATCHED PROBE_MISMATCHED.- REG_
WRITE_ ERROR WRITE_ERROR.
Functions§
- ubft_
card_ kernel - The card’s logic.