Referring to the Comportable guideline for peripheral device functionality, the module edn
has the following hardware interfaces defined
- Primary Clock:
clk_i
- Other Clocks: none
- Bus Device Interfaces (TL-UL):
tl
- Bus Host Interfaces (TL-UL): none
- Peripheral Pins for Chip IO: none
Port Name | Package::Struct | Type | Act | Width | Description |
csrng_cmd | csrng_pkg::csrng | req_rsp | req | 1 | EDN supports a signal CSRNG application interface. |
edn | edn_pkg::edn | req_rsp | rsp | 8 | The collection of peripheral ports supported by edn. The width (4) indicates the number of peripheral ports on a single instance. Due to limitations in the parametrization of top-level interconnects this value is not currently parameterizable. However, the number of peripheral ports may change in a future revision. |
tl | tlul_pkg::tl | req_rsp | rsp | 1 | |
Interrupt Name | Type | Description |
edn_cmd_req_done | Event | Asserted when a software CSRNG request has completed. |
edn_fatal_err | Event | Asserted when a FIFO error occurs. |
Alert Name | Description |
recov_alert | This alert is triggered when entropy bus data matches on consecutive clock cycles. |
fatal_alert | This alert triggers (i) if an illegal state machine state is reached, or (ii) if a fatal integrity failure is detected on the TL-UL bus. |
Countermeasure ID | Description |
EDN.CONFIG.REGWEN | Registers are protected from writes. |
EDN.CONFIG.MUBI | Registers have multi-bit encoded fields. |
EDN.MAIN_SM.FSM.SPARSE | The EDN main state machine uses a sparse state encoding. |
EDN.ACK_SM.FSM.SPARSE | The EDN ACK state machine uses a sparse state encoding. |
EDN.FIFO.CTR.REDUN | The FIFO pointers of several FIFOs are implemented with duplicate counters. |
EDN.CTR.REDUN | Counter hardening on the generate command maximum requests counter. |
EDN.MAIN_SM.CTR.LOCAL_ESC | A mismatch detected inside any EDN counter moves the main state machine into a terminal error state. |
EDN.CS_RDATA.BUS.CONSISTENCY | Comparison on successive bus values for genbits returned from csrng that will distribute over the endpoint buses. |
EDN.TILE_LINK.BUS.INTEGRITY | Tilelink end-to-end bus integrity scheme. |