AURIG Lint

A VHDL lint engine and CLI with configurable rules for naming, library policy, synthesizability, and documentation, reporting as text, JSON, Markdown, or HTML.

AURIG Lint checks VHDL sources against a configurable rule set and reports what it finds as text, JSON, Markdown, or a browsable HTML report with per-file source viewers. It runs on a single file or across a whole project, and its exit code can be gated at a chosen severity so it fits into an existing build or review step.

The rules cover naming conventions for signals, constants, generics and entities, allowed libraries, non-standard arithmetic, positional port and generic maps, latch inference, reset requirements, and documentation and comment checks. Defaults live in a metadata file and can be overridden with a policy file, so a team can encode its own conventions without touching the engine.

Adopting it on an existing codebase does not mean facing every finding at once. A baseline workflow records the current state and reports only new diagnostics from that point on, which lets a team hold the line on new code while it works through the backlog.

Running it needs Tcl and tcllib, plus a checkout of AURIG Core on the Tcl package path, since Lint bundles no parser of its own. It needs no vendor toolchain and no licence, so it is one of the pieces of the stack you can try immediately.

← Open source