[dv/common] VCS UNR flow
Set up VCS UNR flow. For detail refer to [slides](https://docs.google.com/presentation/d/13FwwSeBaxtHZkLMmW3TI0YGO93_BTPZZFnIpX2kQhHI/edit#slide=id.ga3bb534d6e_0_57)
Remaining TODO
1. Some module doesn’t use tb.dut as dut hierarchy, may need separate
cfg file
2. Make sure all IPs pass with UNR flow (need solution for issue 3)
3. Document the flow
Signed-off-by: Weicai Yang <weicai@google.com>
diff --git a/util/dvsim/dvsim.py b/util/dvsim/dvsim.py
index 53ccc62..f4bef41 100755
--- a/util/dvsim/dvsim.py
+++ b/util/dvsim/dvsim.py
@@ -441,6 +441,11 @@
'coverage database directory with the new '
'coverage database.'))
+ covg.add_argument("--cov-unr",
+ action='store_true',
+ help=('Run coverage UNR analysis and generate report. '
+ 'This only supports VCS now.'))
+
covg.add_argument("--cov-analyze",
action='store_true',
help=('Rather than building or running any tests, '
@@ -572,6 +577,17 @@
cfg.print_list()
sys.exit(0)
+ # Purge the scratch path if --purge option is set.
+ if args.purge:
+ cfg.purge()
+
+ # If --cov-unr is passed, run UNR to generate report for unreachable
+ # exclusion file.
+ if args.cov_unr:
+ cfg.cov_unr()
+ cfg.deploy_objects()
+ sys.exit(0)
+
# In simulation mode: if --cov-analyze switch is passed, then run the GUI
# tool.
if args.cov_analyze:
@@ -579,10 +595,6 @@
cfg.deploy_objects()
sys.exit(0)
- # Purge the scratch path if --purge option is set.
- if args.purge:
- cfg.purge()
-
# Deploy the builds and runs
if args.items != []:
# Create deploy objects.