astli¶
Modern SystemVerilog toolchain: format, lint, check, elaborate, and manage dependencies.
- Usage:
astli [FLAGS] <SUBCOMMAND>
Global Flags¶
-q --quiet— Suppress informational output and print only errors or explicit results-j --jobs <JOBS>— Number of worker threads to run in parallel (0 uses all available CPU cores)
Default: 0
Environment Variable: ASTLI_JOBS
- --diag <FMT> — Diagnostic output format
Choices: pretty, short, github
Default: pretty
Environment Variable: ASTLI_DIAGNOSTICS
- --color <WHEN> — When to colour the output
Choices: auto, always, never
Default: auto
- --locked — Require astli.lock to be up to date; exit with an error instead of modifying the lockfile
Flags¶
-h --help— Print help-V --version— Print version
astli fmt¶
- Usage:
astli fmt [FLAGS] [FILES]…
Format SystemVerilog source files in place (use - to format stdin to stdout)
Arguments¶
[FILES]…— Source files to process
Flags¶
-f --filelist <FILELIST>— Filelist (.f) with paths relative to current working directory-F --filelist-relative <FILELIST>— Filelist (.f) with paths relative to the filelist itself--check— Check formatting and exit with an error if any files require changes, without modifying them--diff— Display formatting diffs without modifying files on disk--config <FILE>— Path to a custom configuration file instead of searching for astli.toml-h --help— Print help
astli lint¶
- Usage:
astli lint [FLAGS] [ARGS]…
Lint SystemVerilog source files for syntax issues, coding style, and common bugs
Arguments¶
[FILES]…— Source files to process[+incdir++incdir+DIR+...]…— Add include search path(s), separated by '+'[+define++define+NAME[=VALUE]+...]…— Define preprocessor macro(s), separated by '+'
Flags¶
-f --filelist <FILELIST>— Filelist (.f) with paths relative to current working directory-F --filelist-relative <FILELIST>— Filelist (.f) with paths relative to the filelist itself--features <FEATURE>— Enable a package feature (can be repeated)--all-features— Enable all package features by default; pass--no-featuresto disable them unless explicitly selected
Default: true
- -A --allow <RULE> — Silence a lint rule or entire rule group (can be repeated)
- -W --warn <RULE> — Set a lint rule or entire rule group to emit warnings (can be repeated)
- -D --deny <RULE> — Set a lint rule or entire rule group to emit fatal errors (can be repeated)
- --config <FILE> — Path to a custom configuration file instead of searching for astli.toml
- --list — List all available lint rules with their rule group and default severity level
- --top <TOP> — Elaborate from the specified root module for rules requiring hierarchy information (can be repeated)
- -I --incdir <INCDIR> — Add directory to the include search path (can be repeated)
- --define <DEFINE> — Define preprocessor macro as NAME or NAME=VALUE (can be repeated)
- -h --help — Print help
astli check¶
- Usage:
astli check [FLAGS] [ARGS]…
Verify design semantics, port connections, parameter overrides, and undeclared identifiers
Arguments¶
[FILES]…— Source files to process[+incdir++incdir+DIR+...]…— Add include search path(s), separated by '+'[+define++define+NAME[=VALUE]+...]…— Define preprocessor macro(s), separated by '+'
Flags¶
-f --filelist <FILELIST>— Filelist (.f) with paths relative to current working directory-F --filelist-relative <FILELIST>— Filelist (.f) with paths relative to the filelist itself--features <FEATURE>— Enable a package feature (can be repeated)--all-features— Enable all package features by default; pass--no-featuresto disable them unless explicitly selected
Default: true
- --top <TOP> — Elaborate hierarchy starting from the specified root module, interface, or program (can be repeated)
- -I --incdir <INCDIR> — Add directory to the include search path (can be repeated)
- -D --define <DEFINE> — Define preprocessor macro as NAME or NAME=VALUE (can be repeated)
- -h --help — Print help
astli files¶
- Usage:
astli files [FLAGS] [ARGS]…
Prune and topologically sort filelists based on symbol dependencies
Arguments¶
[FILES]…— Source files to process[+incdir++incdir+DIR+...]…— Add include search path(s), separated by '+'[+define++define+NAME[=VALUE]+...]…— Define preprocessor macro(s), separated by '+'
Flags¶
-f --filelist <FILELIST>— Filelist (.f) with paths relative to current working directory-F --filelist-relative <FILELIST>— Filelist (.f) with paths relative to the filelist itself--features <FEATURE>— Enable a package feature (can be repeated)--all-features— Enable all package features by default; pass--no-featuresto disable them unless explicitly selected
Default: true
- --top <TOP> — Retain only the files required to build the specified top-level module (can be repeated)
- --order — Topologically sort files so dependencies precede their dependents (always, for a package)
- --emit <EMIT> — Format of output to emit
Choices: filelist, files, incdirs, tops
Default: filelist
- --why <FILE> — Trace dependency path showing why the top module requires this specific file
- -I --incdir <INCDIR> — Add directory to the include search path (can be repeated)
- -D --define <DEFINE> — Define preprocessor macro as NAME or NAME=VALUE (can be repeated)
- -h --help — Print help
astli pickle¶
- Usage:
astli pickle [FLAGS] [ARGS]…
Bundle design sources into a single self-contained SystemVerilog file
Arguments¶
[FILES]…— Source files to process[+incdir++incdir+DIR+...]…— Add include search path(s), separated by '+'[+define++define+NAME[=VALUE]+...]…— Define preprocessor macro(s), separated by '+'
Flags¶
-f --filelist <FILELIST>— Filelist (.f) with paths relative to current working directory-F --filelist-relative <FILELIST>— Filelist (.f) with paths relative to the filelist itself--top <TOP>— Retain only the files required to build the specified top-level module (can be repeated)--order— Topologically sort files so dependencies precede their dependents--expand— Fully expand macros, inline includes, and evaluate conditional compilation branches--prefix <PREFIX>— Prefix all declared modules, interfaces, packages, and classes--suffix <SUFFIX>— Suffix all declared modules, interfaces, packages, and classes--exclude-rename <NAME>— Prevent renaming of the specified symbol (can be repeated)-I --incdir <INCDIR>— Add directory to theincludesearch path (can be repeated)-D --define <DEFINE>— Define preprocessor macro as NAME or NAME=VALUE (can be repeated)-h --help— Print help
astli elab¶
- Usage:
astli elab [FLAGS] [ARGS]…
Inspect the elaborated instance hierarchy for a top-level module
Arguments¶
[FILES]…— Source files to process[+incdir++incdir+DIR+...]…— Add include search path(s), separated by '+'[+define++define+NAME[=VALUE]+...]…— Define preprocessor macro(s), separated by '+'
Flags¶
-f --filelist <FILELIST>— Filelist (.f) with paths relative to current working directory-F --filelist-relative <FILELIST>— Filelist (.f) with paths relative to the filelist itself--top <TOP>— Top-level module, interface, or program to elaborate (can be repeated)-I --incdir <INCDIR>— Add directory to theincludesearch path (can be repeated)-D --define <DEFINE>— Define preprocessor macro as NAME or NAME=VALUE (can be repeated)-h --help— Print help
astli init¶
- Usage:
astli init [--bender]
Initialize a new astli.toml manifest in the current directory
Flags¶
--bender— Import dependencies from Bender.yml into astli.toml-h --help— Print help
astli update¶
- Usage:
astli update [NAME]…
Re-resolve dependencies and record pinned versions in astli.lock
Arguments¶
[NAME]…— Update only the specified packages while keeping all other locked dependencies pinned
Flags¶
-h --help— Print help
astli fetch¶
- Usage:
astli fetch - Aliases:
checkout
Download and check out dependencies into the shared cache for offline use
Flags¶
-h --help— Print help
astli tree¶
- Usage:
astli tree
Display the resolved dependency tree and package hierarchy
Flags¶
-h --help— Print help
astli path¶
- Usage:
astli path <NAME>…
Print filesystem paths to checked-out dependency packages
Arguments¶
<NAME>…— Names of dependencies as declared in the package manifest
Flags¶
-h --help— Print help
astli patch¶
- Usage:
astli patch [--remove] <NAME> [DIR] - Aliases:
clone
Override a dependency with a local checkout, cloning it if necessary
Arguments¶
<NAME>— Name of the dependency to patch[DIR]— Local directory path for the checkout (cloned at the locked commit if non-existent) [default: .astli/patch/NAME]
Flags¶
--remove— Remove the active patch and return to the locked dependency version-h --help— Print help
astli snapshot¶
- Usage:
astli snapshot <NAME>
Pin a patched dependency to its current commit in astli.toml and remove the patch
Arguments¶
<NAME>— Name of the patched dependency to snapshot
Flags¶
-h --help— Print help
astli cache¶
- Usage:
astli cache <SUBCOMMAND>
Inspect or clean the shared dependency cache
Flags¶
-h --help— Print help
astli cache clean¶
- Usage:
astli cache clean
Clear cached repositories (packages will be re-downloaded when needed)
Flags¶
-h --help— Print help
astli cache dir¶
- Usage:
astli cache dir
Print the absolute path to the local dependency cache directory
Flags¶
-h --help— Print help
astli completion¶
- Usage:
astli completion <SHELL>
Generate shell completion scripts.
Arguments¶
<SHELL>— Target shell to generate completions for
Choices: bash, zsh, fish
Flags¶
-h --help— Print help