Skip to content

astli

SystemVerilog formatting and linting, and a dump of each stage of the pipeline.

  • Usage: astli [FLAGS] <SUBCOMMAND>

Global Flags

  • -q --quiet — Suppress file output and only display summary statistics and errors
  • -j --jobs <JOBS> — Number of worker threads to run in parallel (0 uses all available CPU cores)

Default: 0

Environment Variable: ASTLI_JOBS - --diagnostics <FORMAT> — How to write diagnostics

Choices: pretty, short

Default: pretty

Environment Variable: ASTLI_DIAGNOSTICS

Flags

  • -h --help — Print help
  • -V --version — Print version

astli lex

  • Usage: astli lex [FLAGS] [FILES]…

Tokenize SystemVerilog source files and print tokens.

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
  • --no-trivia — Omit trivia tokens (whitespace and comments) from output
  • -h --help — Print help

astli preprocess

  • Usage: astli preprocess [FLAGS] [ARGS]…
  • Aliases: pp

Preprocess SystemVerilog source files and inspect preprocessor state.

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
  • --emit <EMIT> — Output format to emit

Choices: text, tokens, origins, directives, table

Default: text - -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 parse

  • Usage: astli parse [FLAGS] [ARGS]…

Parse SystemVerilog source files and print syntax trees.

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
  • -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)
  • --expand — Parse what a compiler reads: macros expanded, includes followed, and only the branches the build takes
  • -h --help — Print help

astli fmt

  • Usage: astli fmt [FLAGS] [FILES]…

Format SystemVerilog source files, printing the result; - formats stdin

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 — Print the files that are not formatted, and fail if there are any, without modifying them
  • --diff — Print how the files that are not formatted would change, and fail if there are any, without modifying them
  • -w --write — Rewrite files in place with formatted output
  • --config <FILE> — Read the layout from this file rather than the astli.toml found from the current directory up
  • -h --help — Print help

astli lint

  • Usage: astli lint [FLAGS] [ARGS]…

Check SystemVerilog source files against lint rules; an error fails the run

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
  • -A --allow <RULE> — Turn off a rule, or every rule of a group (can be repeated)
  • -W --warn <RULE> — Report a rule, or every rule of a group, as a warning (can be repeated)
  • -D --deny <RULE> — Report a rule, or every rule of a group, as an error (can be repeated)
  • --config <FILE> — Read levels from this file rather than the astli.toml found from the current directory up
  • --list — List the rules, with their group and default level, and lint nothing
  • -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]…

Check a design for undeclared names and instances their definitions do not take; an error fails the run

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
  • -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]…

Trim and order a filelist by the modules, packages and classes its files declare and use

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> — Keep only the files this top needs (can be repeated)
  • --order — Put each file after the files it depends on
  • --emit <EMIT> — Output to emit

Choices: filelist, files, incdirs, tops

Default: filelist - --why <FILE> — Print why the tops need this file, as the chain of references from one - -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]…

Write the files a design needs as one source, its names optionally renamed

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> — Keep only the files this top needs (can be repeated)
  • --order — Put each file after the files it depends on
  • --expand — Write what a compiler reads: macros expanded, includes followed, and only the branches the build takes
  • --prefix <PREFIX> — Prefix each module, interface, program, package and class the files declare, wherever it is named
  • --suffix <SUFFIX> — Suffix each module, interface, program, package and class the files declare, wherever it is named
  • --exclude-rename <NAME> — Leave this name as it is (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 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