-
Notifications
You must be signed in to change notification settings - Fork 871
[dv,otp_ctrl] Fix some unit test failures #27664
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
FYI: I created issue #27665 for the surprising way tlul_lc_gate fsm errors are flagged. |
@Razer6 @davidschrammel please comment on this or add yourselves as reviewers. |
@@ -1,6 +1,10 @@ | |||
// Copyright lowRISC contributors (OpenTitan project). | |||
// Licensed under the Apache License, Version 2.0, see LICENSE for details. | |||
// SPDX-License-Identifier: Apache-2.0 | |||
<% | |||
buffered_parts = [(i, part) for (i, part) in enumerate(otp_mmap["partitions"]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we both need the index and the partitions? Down below I think only the indices are used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed
Allow scoreboard to wait some cycles for an expected timeout to become an outgoing alert to account for flops on the path. The otp_macro fsm errors are flagged as bus integrity errors, which sounds wrong and perhaps should be fixed to be flagged as fatal_prim_otp_alert. For now I changed the order of checks in task check_sec_cm_fi_resp, in otp_ctrl_common_vseq.sv.tpl. Templetize function sec_cm_fi_ctrl_svas since the buffered partitions depend on per-top config. The function was also incorrect for earlgrey. Signed-off-by: Guillermo Maturana <matute@zerorisc.com>
1394efd
to
3462cd4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @matutem, this looks good to me.
@Razer6 could you merge this at your convenience? It seems I have no merge rights. |
$asserton(0, "tb.dut.gen_partitions[4].gen_buffered.u_part_buf.ScrmblDataKnown_A"); | ||
$asserton(0, "tb.dut.gen_partitions[5].gen_buffered.u_part_buf.ScrmblDataKnown_A"); | ||
$asserton(0, "tb.dut.gen_partitions[6].gen_buffered.u_part_buf.ScrmblDataKnown_A"); | ||
$asserton(0, "tb.dut.gen_partitions[7].gen_lifecycle.u_part_buf.ScrmblDataKnown_A"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lifecycle is also a buffered partition; so isn't this asserton
/assertoff
still needed for the LC partition?
Allow scoreboard to wait some cycles for an expected timeout to become an outgoing alert to account for flops on the path.
The otp_macro fsm errors are flagged as bus integrity errors, which sounds wrong and perhaps should be fixed to be flagged as fatal_prim_otp_alert. For now I changed the order of checks in task check_sec_cm_fi_resp, in otp_ctrl_common_vseq.sv.tpl.
Templetize function sec_cm_fi_ctrl_svas since the buffered partitions depend on per-top config. The function was also incorrect for earlgrey.