Universal IP Verification Framework for ChipFoundry IPs.
Built on pyuvm (IEEE 1800.2) + cocotb + cocotb-coverage, cf_verify
provides a complete, reusable verification infrastructure for digital IPs with
APB, AHB-Lite, and Wishbone bus interfaces.
- Reusable bus agents for APB, AHB-Lite, and Wishbone protocols
- YAML-driven register model — parses the standard ChipFoundry IP YAML descriptor
- Auto-generated functional coverage from YAML registers, flags, and FIFOs
- Code generator (
cf-verify init) — scaffolds a complete verification directory from a YAML descriptor - Test runner (
cf-verify run) — orchestrates tests across bus types and simulators - Report generator (
cf-verify report) — produces self-contained HTML and GitHub Markdown reports - Dual simulator support — Icarus Verilog for speed, Verilator for RTL code coverage
pip install cf-verify
# Scaffold a verification environment for a new IP
cf-verify init --yaml path/to/CF_SPI.yaml
# Run all tests
cf-verify run --yaml path/to/CF_SPI.yaml --sim icarus
# Generate reports
cf-verify report --results-dir verify/uvm-python/sim/- Scaffold —
cf-verify init --yaml CF_IP.yamlgenerates the fullverify/uvm-python/directory with working register tests, auto-generated coverage, and stubs. - Implement — Fill in the IP-specific protocol driver, monitor, reference model, and custom test sequences.
- Run —
cf-verify runexecutes all tests across configured bus types. - Report — View results in
report.htmlorRESULTS.md.
Apache 2.0