Exploring Coverage with TUI
The ucis view command launches an interactive Terminal UI (TUI) for browsing
coverage data without generating a report file. It works over SSH, requires no
browser, and starts instantly.
ucis view coverage.xml
ucis view coverage.ucisdb # SQLite loads faster for large databases
Quick Assessment (2–3 minutes)
Launch the TUI and check the Dashboard (press 1) — overall percentage and per-type breakdown.
Press 3 (Gaps) to see every item below 100% coverage, sorted by priority.
Press 4 (Hotspots) for algorithmic recommendations on where to focus next.
Press q to quit.
The Five Views
Press the number key at any time to switch views.
- 1 — Dashboard
Overall coverage percentage, counts by type (covergroups, coverpoints, bins, assertions, toggles, branches, statements), and color-coded status indicators.
- 2 — Hierarchy
Expandable tree of the design hierarchy. Use arrow keys to navigate. Each node shows its coverage percentage and color.
→/Enter— expand node←— collapse node↑/↓(ork/j) — move up/down
- 3 — Gaps
Filtered list of all items below 100% coverage, lowest first. Shows item name, type, percentage, and full path.
- 4 — Hotspots
Priority-ordered recommendations:
P0 (red) — modules below 50%, needs immediate attention
P1 (yellow) — completely untested coverpoints (0%) or near-complete items (≥90%, easy wins)
P2 (blue) — other partially covered items
- 5 — Metrics
Statistical analysis: hit-count distribution histogram, mean/median/stddev, coverage tier breakdown (complete / high / medium / low), bin utilization rate.
- 6 — Code Coverage
File-level code coverage table showing statement, branch, and toggle hit rates per source file. Requires a database with code-coverage data (e.g. imported from Verilator).
- 7 — Test History
Per-test contribution analysis. Each row shows total and unique coverage items hit by that test. When the database includes v2 history (NCDB v2), the detail panel also shows flake score, pass/fail counts, and mean CPU time. Sort with
N(name),D(date),C(coverage),U(unique).- 8 — Testplan
Testplan closure status. Requires a testplan embedded in the database (see Testplan Integration). Shows every testpoint with its stage, closure status, and pass/fail counts. The header displays a stage roll-up with colour-coded progress. Press
rto refresh.
Global Keys
Key |
Action |
|---|---|
|
Switch view |
|
Help overlay |
|
Quit |
TUI vs. HTML Reports
Use the TUI for quick interactive checks during active verification. Use Interactive HTML Report when you need a shareable artifact.
Remote Use
The TUI works well over SSH. Enable compression for better responsiveness:
ssh -C user@build-server
ucis view /path/to/regression.ucisdb
Tips
Use SQLite — convert XML to SQLite first for large databases:
ucis convert --input-format xml --output-format sqlite coverage.xml -o coverage.ucisdbPress
?inside the TUI for a full keyboard reference overlay.