https://github.com/chipfoundry/ip_unit
IP unit monorepo (cocotb/pyuvm verification)
https://github.com/chipfoundry/ip_unit
Last synced: 19 days ago
JSON representation
IP unit monorepo (cocotb/pyuvm verification)
- Host: GitHub
- URL: https://github.com/chipfoundry/ip_unit
- Owner: chipfoundry
- Created: 2026-04-26T10:05:44.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-04-26T10:22:32.000Z (2 months ago)
- Last Synced: 2026-04-26T12:21:11.329Z (2 months ago)
- Language: Verilog
- Size: 1.98 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: .github/README.md
Awesome Lists containing this project
README
# GitHub Actions layout
## Monorepo (`chipfoundry/ip_unit` or equivalent)
Workflows in **this directory** (repository root `.github/workflows/`) are what GitHub runs:
| Workflow | Role |
|----------|------|
| `verify-all.yaml` | Matrix over all `CF_*` IPs; calls `reusable-verify-ip.yml` for each. Triggers on pushes/PRs that touch `CF_*/**` or these workflow files. |
| `reusable-verify-ip.yml` | **Reusable only** — installs Icarus, `cf-ipm`, `verify/pyuvm/requirements.txt`, runs `python test_runner.py` with `SIM=icarus` and `BUSES` from the matrix. |
## Standalone IP repository
If this IP is its **own** Git repo (clone or subtree with the IP at the root), GitHub does **not** read `CF_*/.github/` from a parent monorepo. Copy the IP’s `.github` folder so that `.github/workflows/` sits at the **root** of that repo (same structure as the UART/SPI templates under `CF_UART/.github/`).
Those per-IP `verify.yaml` files assume:
- Repository root = one IP (e.g. `verify/pyuvm` exists at repo root).
- They run **Icarus + Verilator** and optional badge jobs — heavier than the monorepo `verify-all` job.
For parity with CI, standalone workflows should still invoke `python verify/pyuvm/test_runner.py` (or `working-directory: verify/pyuvm` + `test_runner.py`).
## Nested workflow folders (removed)
Workflows must not live under `verify/pyuvm/.github/`; GitHub ignores them.