lowRISC / opentitan

OpenTitan: Open source silicon root of trust
https://www.opentitan.org
Apache License 2.0
2.57k stars 770 forks source link

[entropy_src] Ack SM should move into error state upon fatal_loc_event #24410

Open h-filali opened 2 months ago

h-filali commented 2 months ago

Description

Currently the Ack SM does not move into the Error state upon a fatal local event. This is because the local_escalate_i input is set to es_cntr_err instead of fatal_loc_events. Another issue is that when the error code test bit is set to ack_sm_err, then the err_code CSR reports the ack SM error for one cycle and then the error turns into a main SM error, since the main SM then moves into the error state.

I discovered this with the following test run: util/dvsim/dvsim.py hw/ip/entropy_src/dv/entropy_src_sim_cfg.hjson -i entropy_src_fw_ov -t xcelium --fixed-seed 22095553500877194901919262154863091775313409021329761843458377583731512800937

IMO we need to do the following things:

vogelpi commented 2 months ago

Thanks @h-filali for reporting this issue. I think we should fix this for a future release, it's an issue yes but it's not very severe. I label this accordingly.