Skip to content

Commit 3d68bfa

Browse files
committed
Added cocotb-coverage import
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
1 parent 52097a7 commit 3d68bfa

28 files changed

Lines changed: 3890 additions & 216 deletions

README.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Python API to Unified Coverage Interoperability Standard (UCIS) Data Model
99

1010
- **Python API** for manipulating UCIS coverage databases
1111
- **CLI Tools** for database conversion, merging, and reporting
12+
- **Coverage Import** - Import from Verilator, cocotb-coverage, and AVL frameworks
1213
- **MCP Server** for AI agent integration (see [MCP_SERVER.md](MCP_SERVER.md))
1314
- **AgentSkills Support** for enhanced AI agent understanding (see https://agentskills.io)
1415
- Support for XML, YAML, and UCIS binary formats
@@ -137,6 +138,50 @@ for scope in db.scopes():
137138
print(f" {coveritem.name}: {coveritem.count} hits")
138139
```
139140

141+
### Coverage Import
142+
143+
Import coverage from various verification frameworks:
144+
145+
**Command Line (CLI):**
146+
```bash
147+
# cocotb-coverage (XML/YAML)
148+
pyucis convert --input-format cocotb-xml coverage.xml --output-format xml --out output.xml
149+
pyucis convert --input-format cocotb-yaml coverage.yml --output-format xml --out output.xml
150+
151+
# AVL (JSON)
152+
pyucis convert --input-format avl-json coverage.json --output-format xml --out output.xml
153+
154+
# Merge multiple runs
155+
pyucis merge --input-format cocotb-xml run1.xml run2.xml --output-format xml --out merged.xml
156+
```
157+
158+
**Python API:**
159+
160+
cocotb-coverage (Python testbenches):
161+
```python
162+
from ucis.format_detection import read_coverage_file
163+
164+
# Automatically detects cocotb XML or YAML format
165+
db = read_coverage_file('cocotb_coverage.xml')
166+
db = read_coverage_file('cocotb_coverage.yml')
167+
```
168+
169+
AVL - Apheleia Verification Library:
170+
```python
171+
from ucis.avl import read_avl_json
172+
173+
# Import AVL JSON coverage (all variations supported)
174+
db = read_avl_json('avl_coverage.json')
175+
```
176+
177+
Verilator:
178+
```bash
179+
# Import Verilator coverage via CLI
180+
pyucis convert --input-format vltcov coverage.dat --out coverage.xml
181+
```
182+
183+
See documentation for complete import examples and supported formats.
184+
140185
## Documentation
141186

142187
- [MCP Server Documentation](MCP_SERVER.md)

0 commit comments

Comments
 (0)