Argon
A language and editor for constraint-based integrated-circuit layout.
cargo install --git https://github.com/ucb-substrate/argon --locked argon
Why Argon?
Constraints
Positions and dimensions are solver variables. State how edges relate and the solver places the geometry. Change a parameter and the layout follows.
Parametric cells
Cells take typed arguments and nest to form a hierarchy. You get functions, enums, loops, and modules in a Rust-like syntax, and the type checker catches mistakes before any layout is generated.
Two-way editing
Neovim owns the source and the GUI renders the result. Draw on the canvas and Argon writes the code into your buffer. Edit the code and the canvas updates as you type.
Documentation
Get involved
Argon is developed on GitHub. Bug reports and pull requests are welcome. Notes for contributors live in the repository's docs directory.