Skip to content

Commit

Permalink
[entropy_src/dv] Reduce max delay for CS AES Halt IF in max rate test
Browse files Browse the repository at this point in the history
This is useful to reduce the backpressure in the pipeline as this leads
to entropy bits being dropped eventually which the scoreboard cannot
handle at the moment.

Signed-off-by: Pirmin Vogel <[email protected]>
  • Loading branch information
vogelpi committed Mar 5, 2024
1 parent 4efccb5 commit 87ac604
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions hw/ip/entropy_src/dv/env/entropy_src_env.sv
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,13 @@ class entropy_src_env extends cip_base_env #(
cfg.m_aes_halt_agent_cfg.agent_type = push_pull_agent_pkg::PullAgent;
cfg.m_aes_halt_agent_cfg.if_mode = dv_utils_pkg::Device;
cfg.m_aes_halt_agent_cfg.pull_handshake_type = push_pull_agent_pkg::FourPhase;
// When CSRNG has just started operating its AES, it may take up to 48 cycles to acknowledge the
// request.
// When CSRNG has just started operating its AES, it may take up to 48 cycles to acknowledge
// the request. When running ast/rng at the maximum rate (this is an unrealistic scenario
// primarily used for reaching coverage metrics) we reduce the max acknowledge delay to
// reduce backpressure and avoid entropy bits from being dropped from the pipeline as our
// scoreboard cannot handle this.
cfg.m_aes_halt_agent_cfg.zero_delays = 0;
cfg.m_aes_halt_agent_cfg.device_delay_max = 48;
cfg.m_aes_halt_agent_cfg.device_delay_max = (cfg.rng_max_delay == 1) ? 8 : 48;
// CSRNG drops its ack in the cycle after entropy_src has dropped its req.
cfg.m_aes_halt_agent_cfg.ack_lo_delay_max = 1;

Expand Down

0 comments on commit 87ac604

Please sign in to comment.