Skip to content

chipfoundry/cf_verify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cf_verify

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.

Features

  • 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

Quick Start

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/

Workflow for a New IP

  1. Scaffoldcf-verify init --yaml CF_IP.yaml generates the full verify/uvm-python/ directory with working register tests, auto-generated coverage, and stubs.
  2. Implement — Fill in the IP-specific protocol driver, monitor, reference model, and custom test sequences.
  3. Runcf-verify run executes all tests across configured bus types.
  4. Report — View results in report.html or RESULTS.md.

License

Apache 2.0

About

Universal IP Verification Framework for ChipFoundry IPs — pyuvm + cocotb

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors