Skills for AI-assisted hardware design using open-source tools.
Start with the orchestration skill. It selects a flow, loads only the relevant tool guidance, and connects analysis, editing, verification and measurement. There is no chatbot runtime or model dependency in this repository.
SKILL.md Parent orchestration skill
flow/backend/ Physical-design analysis and improvement
flow/rtl/ RTL authoring and design changes
examples/backend/gcd/ GCD design and independent model task
examples/rtl/ RTL example conventions
tools/ Shared tool skills and package installation guides
toolchain.json Pinned package and fixture references
tests/ Fast, offline repository and example checks
Watch the GCD timing-improvement flow: OpenROAD, AI report analysis, Naja-Scope inspection, NajaEDA editing, Kepler Formal SEC, and a second OpenROAD run to compare the results.
gcd-timing-demo.mp4
46 seconds, no audio.
- Read the package setup. Kepler Formal uses Nix and the
public
keplertechCachix cache; no source submodules are required in 22b. - Choose the backend or RTL flow.
- For a concrete backend attempt, give the model the GCD task.
An agent can read these files directly. AGENTS.md points agents to the same entry point; human users can follow the same procedures. Skills are instructions, not a security sandbox or an API that enforces verification.
Run Kepler Formal SEC after an edit. Report full proof, partial proof, inconclusive proof, counterexample and tool error distinctly. Partial or inconclusive proof is a non-blocking warning, never a claim of full equivalence. Counterexamples and tool errors stop the candidate flow.
Keep originals unchanged and save each candidate, commands, tool versions,
input hashes, proof coverage and physical reports in a separate runs/ directory.
Never claim a PPA improvement from gate counts alone.
python3 -m unittest discover -s tests -vThe skills workflow runs these offline checks. The separate GCD reference workflow tests package installation and real tool stages using the saved solution under reference/. It uses no model, and its success does not establish that a model can solve the independent task.