Entropy Pool
The entropy pool (sep_entropy_fifo) is a read-only 64-bit AXI aperture through
which software drains conditioned entropy. It is a top-level block in sep,
reached as a target on the SEP local crossbar; see the Memory Map for
its address window. The pool is filled autonomously by a native EDN endpoint on a
separate hardware path, not through the crossbar; see the TRNG and DRBG for the
fill path and the entropy it carries.
1. Access Policy
-
A read of
DATApops one 64-bit conditioned word. Reading an empty pool returnsSLVERRrather thanOKAY, so an empty pool is distinguishable from a genuine zero word. -
STATUSandIRQ_CAUSEare non-destructive reads.STATUSreports pool occupancy (fifo_level), the low-watermark condition (pool_low), an EDN fill stall (fill_stall) and a FIFO integrity fault (pool_error); the latter three are also raised to the PIC (see the Interrupts). -
The pool is read-only. A write to any offset terminates with
BRESP=SLVERRand changes no state. -
All three registers are 64-bit access-width (
STATUS,IRQ_CAUSEandDATAeach occupy one 8-byte slot) and are read with a single 64-bit access. A 32-bit read of a register’s upper word (offset +4) is not decoded: it returnsSLVERRwith zero data, and forDATAit does not pop the pool. Read the full 64-bit word to obtain a register’s value. The exact decode response codes are tabulated with the aperture in the Memory Map. -
The aperture accepts single-beat accesses only (Single-Beat Register Access). An access to an unmapped offset within the aperture likewise returns
SLVERRwith zero data.
2. Memory Map and Register Reference
2.1. Memory Map
Register offsets are relative to the block base in the subsystem memory map. The detailed map below defines each register and its fields.
2.2. Detailed Register Map
SEP Entropy Pool
Read-only entropy pool FIFO; DATA reads drain conditioned entropy supplied by the native EDN, and writes return SLVERR.
Register List:
| Address | Name | Access | Description |
|---|---|---|---|
| 0x0 | STATUS | R | - |
| 0x8 | IRQ_CAUSE | R | - |
| 0x10 | DATA | R | - |
Register Details:
STATUS
| Bits | Field | Access | Reset | Description |
|---|---|---|---|---|
| 63:9 | Reserved | - | - | Reserved |
| 8 | pool_error | R | - | The pool detected a FIFO integrity error |
| 7 | fill_stall | R | - | The EDN fill request exceeded the configured stall threshold |
| 6 | pool_low | R | - | The pool occupancy is below the configured low watermark |
| 5:0 | fifo_level | R | - | Current number of available 64-bit entropy words |
IRQ_CAUSE
| Bits | Field | Access | Reset | Description |
|---|---|---|---|---|
| 63:3 | Reserved | - | - | Reserved |
| 2 | pool_error | R | - | - |
| 1 | fill_stall | R | - | - |
| 0 | pool_low | R | - | - |
DATA
| Bits | Field | Access | Reset | Description |
|---|---|---|---|---|
| 63:0 | entropy | R | - | Pops one conditioned entropy word; an empty pool returns SLVERR |