drbg_axis_edn_adapter

Fan a 32-bit AXI-Stream entropy source out to native EDN client ports.

Entropy passes through these pipeline stages in order:

  • axis (32b) into a 4-entry prim_fifo_sync staging FIFO.
  • prim_arbiter_ppc round-robin arbitration across N requesters.
  • A per-endpoint 1-deep holding FIFO.
  • edn_ack_sm driving edn_ack / edn_bus.

edn_fips is forwarded from the AXI-Stream tuser sideband through both FIFO stages so a FIPS-aware client such as OTBN RND sees correct provenance. Upstream producers drive tuser:

  • The DRBG native-EDN-to-AXIS adapter forwards edn_fips from u_edn.
  • External streams should drive it from the producer's FIPS policy, commonly tied low when the source is not NIST SP 800-90A approved.

clear_i synchronously flushes staged entropy and every endpoint. endpoint_cancel_i synchronously cancels only the corresponding endpoint and does not disturb another client's in-flight response. It must assert before the client's reset asserts and hold until that reset deasserts.

Parameters

Table 1. Parameters
NameTypeDefaultDescription
NUM_ENDPOINTSint unsigned4Number of native EDN clients (e.g. AES, KMAC, OTBN RND/URND).

Ports

Table 2. Ports
NameDirectionTypeDescription
clk_iinputlogicSystem clock.
rst_niinputlogicAsync reset, active-low.
endpoint_cancel_iinputlogic [NUM_ENDPOINTS-1:0]Per-client synchronous cancel. Must assert before its reset and hold until the reset deasserts; does not disturb other clients.
clear_iinputlogicSynchronous flush of staged entropy and every endpoint, active-high.
axis_req_iinputdrbg_axis_req_t32b AXI-Stream sink from the producer (valid/data/strb/tuser). Adapter drives tready; only beats with every tstrb bit set are accepted, and tuser is forwarded as edn_fips.
axis_rsp_ooutputdrbg_axis_rsp_tAXI-Stream ready toward the producer; high while the 4-entry staging FIFO has space, all tstrb bits are set and clear_i is low.
edn_req_iinputedn_pkg::edn_req_t [NUM_ENDPOINTS-1:0]Native EDN requests from clients.
edn_rsp_ooutputedn_pkg::edn_rsp_t [NUM_ENDPOINTS-1:0]Native EDN responses to clients; ack, bus and fips are forced to zero during clear_i or that endpoint's reset.