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)

  1. Launch the TUI and check the Dashboard (press 1) — overall percentage and per-type breakdown.

  2. Press 3 (Gaps) to see every item below 100% coverage, sorted by priority.

  3. Press 4 (Hotspots) for algorithmic recommendations on where to focus next.

  4. 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

  • / (or k / 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 r to refresh.

Global Keys

Key

Action

18

Switch view

?

Help overlay

q / Ctrl+C

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.ucisdb

  • Press ? inside the TUI for a full keyboard reference overlay.