|
|
--- |
|
|
tags: |
|
|
- eda |
|
|
- openroad |
|
|
- autotuning |
|
|
- optimization |
|
|
- hardware |
|
|
--- |
|
|
|
|
|
# EdgeEDA Agent |
|
|
|
|
|
EdgeEDA is an agentic design-space tuner for OpenROAD-flow-scripts (ORFS). |
|
|
It runs multi-fidelity experiments (synth/place/route/finish), computes a |
|
|
scalar reward, and iteratively proposes knob settings. |
|
|
|
|
|
## What is included |
|
|
- Agent code under `src/edgeeda` |
|
|
- CLI for running sweeps and exporting plots |
|
|
- Example configs under `configs/` |
|
|
- Utility scripts under `scripts/` |
|
|
|
|
|
## What you need locally |
|
|
- OpenROAD-flow-scripts (ORFS) |
|
|
- OpenROAD + Yosys available on PATH, or set `OPENROAD_EXE` / `YOSYS_EXE` |
|
|
|
|
|
## Quickstart |
|
|
```bash |
|
|
python -m pip install -r requirements.txt |
|
|
|
|
|
# Run a quick sweep (edit config paths as needed) |
|
|
python -m edgeeda.cli tune --config configs/gcd_nangate45_sweep24_finish.yaml --timeout 900 |
|
|
|
|
|
# Generate plots |
|
|
python generate_plots.py --db runs/sweep_finish.sqlite --out runs/sweep_finish/plots |
|
|
``` |
|
|
|
|
|
## Notes |
|
|
This repo does not ship ORFS artifacts or large result folders to keep size |
|
|
manageable. Use the provided configs to point to your ORFS checkout. |
|
|
|
|
|
## Citation |
|
|
If you use this agent in academic work, cite the accompanying paper in |
|
|
`IEEE_EdgeEDA_Agent_ISVLSI/` of the source repository. |