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 lines 1187 and 1210 #1011

Open
YoannPruvost opened this issue Jun 25, 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

@YoannPruvost
Copy link
Contributor

YoannPruvost commented Jun 25, 2024

Component

Component:RTL

Issue description

There are to "if, else if" statement line 1187 and 1210 of cv32e40p_controller where the "All False" condition were not covered during all the simulation

After analysis we suspected that those scenario were in fact unreachable.
Siemens Questa OneSpin Static formal tool was used to prove that those two scenario were unreachable. For each statement, line 1187 and 1210, a dedicated assertion was written, respectively named assert_all_true_ctrl_1187_1189_and_1191 and assert_all_true_ctrl_1210_and_1212

All information necessary to reproduce and analyze our work with formal can be found in the ReadMe in the cv32e40p/scripts/formal folder

As it was too late to update those lines in the RTL due to long RISC-V ISA Formal Verification runs and requiring to update all waivers files as well, it has been decided to waive those 2 branches holes in v2.

1187-1
1187-2

1210-1
1210-2

@YoannPruvost YoannPruvost 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 25, 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