Lint problems

Lint runs static checks over your RTL and flags problems before they cost you a full physical run. Think of it as a spell-checker for your hardware — quick, cheap, and worth clearing first.

What lint catches#

  • Real bugs: unintended latches, signals driven from multiple places, mismatched bus widths, and combinational loops.
  • Smells: unused signals, implicit nets, and incomplete sensitivity or case coverage that often hint at a mistake.

Warnings vs errors

Not every lint problem stops a build, but the ones that do — like an inferred latch where you meant a register — change what gets synthesised. Clear those before you run.

Catching issues before a run#

A physical run spends real compute minutes. Lint is near-instant, so fixing what it finds first means you don't burn a run only to fail in synthesis on a problem the linter already knew about. It's the cheapest feedback loop Vulkos offers.

Lint results appear as a navigable list of problems. Each one links to the exact file and line, so you can jump straight to the source, fix it, and move to the next. Aim to get to a clean list before kicking off a build. For the verification step that runs your testbench, see Simulation results.