Skip to content

Commit

Permalink
Merge pull request openhwgroup#2150 from silabs-robin/scover
Browse files Browse the repository at this point in the history
Coverage Analysis - 40s Non-DUT Refines
  • Loading branch information
silabs-hfegran authored Sep 8, 2023
2 parents a61480f + 5580cef commit 6fd3a0a
Show file tree
Hide file tree
Showing 6 changed files with 1,707 additions and 243 deletions.
34 changes: 19 additions & 15 deletions cv32e40s/sim/tools/xrun/README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,28 @@
## Xcelium tools directory
## Xcelium Tools Directory

Various Xcelium-based utilities and scripts.
Xcelium-based utilities and scripts.

### Simulator control scripts

These TCL scripts can be passed to Xcelium by the core-v-verif Makefiles when using Xcelium. The following scripts are currently supported:
### Simulator Control Scripts

| Script | Usage |
|--------|-------|
| probe.tcl | Generates probes for waveform database viewable with Cadence SimVision. Invoked when WAVES=1 passed to the make test command |
| indago.tcl | Generates probes for waveform database viewable with Cadence Indago. Invokedf when WAVEs=1 ADV_DEBUG=1 passed to the make test command |
These scripts can be passed to Xcelium by the core-v-verif Makefiles.
The following scripts are currently supported:

### Coverage refinement files
| Script | Usage |
|------------|-------|
| probe.tcl | Generates probes for waveform database viewable with Cadence SimVision. Invoked when WAVES=1 passed to the make test command |
| indago.tcl | Generates probes for waveform database viewable with Cadence Indago. Invokedf when WAVES=1 ADV_DEBUG=1 passed to the make test command |

These XML files should be created using coverage tools such as IMC or Vmanager. These are used to generate coverage reports that focus on necessary coverage while removing exceptions that are unhittable or not significant for the design being verified.

### Coverage Refinement Files

These refinement files should be created using coverage tools such as IMC or Vmanager.
They are used to generate coverage reports that focus on necessary coverage, while removing exceptions that are unhittable or not significant for the design being verified.

*Note that some files are automatically generated and some are manually maintained. This is indicated in the table.*

| File | Maintenance | Description |
|------|-------------|-------------|
| cv32e40s.hierarchy.vRefine | Manual | Removes hierarchies from coverage database that are not to be considered for coverage (e.g. testbench |
| cv32e40s.auto.vRefine | Automatic | Auto-generated refinements based on parameter usage for the CV32E40S without PULP extensions. *Do not manually edit* |
| cv32e40s.manual.vRefine | Manual | Manually added coverage exception based on deesign verification reviews. |
| File | Maintenance | Description |
|-----------------------------------|-------------|-------------|
| cv32e40s.non_dut_code_cov.vRefine | Manual | Removes non-DUT code coverage from coverage database, that are not to be considered for coverage (e.g. testbench) |
| cv32e40s.auto.vRefine | Automatic | Auto-generated refinements based on parameter usage for the CV32E40S without PULP extensions. *Do not manually edit* |
| cv32e40s.manual.vRefine | Manual | Manually added coverage exception based on deesign verification reviews. |
Loading

0 comments on commit 6fd3a0a

Please sign in to comment.