Skip to main content

argonc command reference

argonc is the compiler. It takes every input on the command line, so for everyday work use arc, which reads them from Argon.toml.

argonc <ROOT> (--check | --cell <EXPR>) [OPTIONS]
Argument or optionRequired/defaultDescription
<ROOT>RequiredLibrary directory or its lib.ar.
--checkOne mode requiredParse, resolve, and type-check, then stop. Can't be combined with --cell.
--cell <EXPR>One mode requiredCell to run.
--tech <PATH>Required with --cellTechnology file.
--dependency <NAME=PATH>RepeatableAdd a dependency. The path can be a directory or a lib.ar.
--gds-import <NAME=PATH>RepeatableImport a GDS cell. NAME may be a module path.
-o, --output <PATH>Beside lib.arWhere to write the compiled layout.
--gds <PATH>NoneAlso write GDS to this path.
--gds-onlyOffWrite only the GDS given by --gds. Skips the compiled layout and the debugging information only the editor reads, so it uses much less memory. Can't be combined with --output.
--spice <PATH>NoneAlso write a SPICE netlist to this path. Requires --cell.
--spectre <PATH>NoneAlso write a Spectre netlist to this path. Requires --cell.
--netlist-width <COLS>80Break netlist lines longer than this many characters; 0 turns wrapping off. Requires --spice or --spectre.
--error-formathumanhuman or json.
argonc . --check
argonc . --cell 'top()' --tech tech.toml -o target/top.bin --gds target/top.gds
argonc . --cell 'top()' --tech tech.toml --gds target/top.gds --gds-only
argonc . --cell 'inv(2., 1., 2)' --tech tech.toml --spice target/inv.spice --spectre target/inv.scs

Netlists are described in Schematics.