Skip to content
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

RTL Code Coverage Hole in cv32e40p_controller module line 640 #1005

Open
pascalgouedo opened this issue Jun 18, 2024 · 0 comments
Open

RTL Code Coverage Hole in cv32e40p_controller module line 640 #1005

pascalgouedo opened this issue Jun 18, 2024 · 0 comments
Labels
Component:RTL For issues in the RTL (e.g. for files in the rtl directory) WAIVED:CV32E40P Issue does not impact a major release of CV32E40P and is waived

Comments

@pascalgouedo
Copy link

pascalgouedo commented Jun 18, 2024

Component

Component:RTL

Issue description

There is 1 condition not covered on line 640 of cv32e40p_controller during all the simulation non-regressions:
No return from interrupt, ecall, ebreak or exceptions on HWLoop 1 last instruction with HWLoop 1 counter <= 1 while it happened on HWLoop 0 (line 630).

Added a scenario in pulp_hardware_loop test with an ecall just before the last instruction of the body in a single HWloop 1 execution (test9).
Showed that this uncovered condition can not happen because when (hwlp_end1_eq_pc = 1 && hwlp_counter1_gt_1 = 0), is_hwloop_body = 0 on line 620 preventing to evaluate this condition. It happened on HWLoop 0 when it is nested in HWloop 1 because is_hwloop_body is still 1 when (hwlp_end0_eq_pc = 1 && hwlp_counter0_gt_1 = 0) is evaluated (and then covered).
But as HWloop 1 can not be nested in HWloop 0 this condition hole will never be covered for HWloop 1.

So it has been waived in v2.
It could maybe be proven using SLEC app of Cadence JasperGold tool?

632_642-1

640

@pascalgouedo pascalgouedo added Component:RTL For issues in the RTL (e.g. for files in the rtl directory) WAIVED:CV32E40P Issue does not impact a major release of CV32E40P and is waived labels Jun 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component:RTL For issues in the RTL (e.g. for files in the rtl directory) WAIVED:CV32E40P Issue does not impact a major release of CV32E40P and is waived
Projects
None yet
Development

No branches or pull requests

1 participant