Skip to content

Commit

Permalink
[doc] add coverage description in readme
Browse files Browse the repository at this point in the history
  • Loading branch information
Clo91eaf committed Oct 6, 2024
1 parent 01cb6ba commit e87063a
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ It's build script is in `nix/gcd` folder, providing the below attributes:
* [{tb,formal}-]rtl: SystemVerilog generated from the lowered MLIR bytecode
* tb-dpi-lib: DPI library written in Rust for both Verilator and VCS
* verilated[-trace]: C++ simulation executable and libaray generated by Verilator with/without `fst` waveform trace
* vcs[-trace]: C simulation executable compiled by VCS with/without `fsdb` waveform trace
* vcs[-trace]: C simulation executable compiled by VCS with/without `fsdb` waveform trace and 'coverage.vdb' for coverage report
* jg-fpv: Formal Property Verification report generated by JasperGold

To get the corresponding output, developers can use:
Expand Down Expand Up @@ -90,6 +90,14 @@ nix run '.#gcd.vcs-trace' --impure -- +dump-start=0 +dump-end=10000 +wave-path=t

The DPI lib can automatically match the arguments and does not interact with VCS. In this case, the first three parameters will be passed to the DPI lib to control waveform generation, and the last parameter will be passed to the VCS to dump the results of all sva statements.

To generate the coverage report, you can run:

```bash
urg -dir gcd-sim-result/result/coverage.vdb/
``

The coverage report will be generated in the `./urgReport` directory.

* Note that in order to use VCS for simulation, you need to set the environment variables `VC_STATIC_HOME` and `SNPSLMD_LICENSE_FILE` and add the`--impure` flag.

To run the formal property verification. Then you can run:
Expand Down

0 comments on commit e87063a

Please sign in to comment.