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_EX_stage module line 237 and 241 #1023

Open
YoannPruvost opened this issue Jul 10, 2024 · 1 comment
Open
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 Jul 10, 2024

Component

Component:RTL

Issue Description

One of the possible combination in the if statements line 237 and 241 of cv32e40p_EX_stage was not covered during all the simulation non-regressions for 0 cycle latency and 2 cycle latency on the FPU.

After analysis we suspected that this scenario was in fact unreachable as in those configurations all FPU instructions are either single_cycle or multi_cycle (ie more than 1 cycle)

Siemens Questa Static formal tool was used to prove that this scenario was unreachable. For this scenario a dedicated assertion was written, named assert_unreachable_ex_237.

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 implement a fix 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 this scenario hole in v2.

237-241
237-241-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 Jul 10, 2024
@MikeOpenHWGroup
Copy link
Member

Hi @YoannPruvost, can you provide some addition insight into this code coverage hole?

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

2 participants