Linting

Last modified 2014-03-08

Sini

What is meant by lint? It was the name originally given to a program that flagged suspicious and non-portable constructs in software programs.

Later this was extended to hardware languages as well for early design analysis. That means rule checks will be applied on the developed RTLs and it helps to identify errors which we would be getting in the upcoming design cycle stages like synthesis etc.This also helps to make sure that during optimization stage, design functionality is not changed. Overall, it points out where the code is likely to have bugs.

One important point about linting is that it checks the cleanness and portability of the HDL code for various EDA tools and not anything related to the actual functionality of the design.

How does it work? There are some set of rules defined in the lint tool. Rule means a condition that has to be checked on your design. User can enable and disable the required rules as per his requirement. Once these rules are run on the design, and if design source code does not conform to a rule, violation will be reported.

You can have your own policy file (tcl file) specifying the rules to be checked for. Also specify whether you want particular rule check result has to be an error, warning or info.

lint

Steps

  1. Change configuration/Define rule set.
  2. User can change the configuration settings and modify the rules set by enabling or disabling as per their requirement.
  3. Invoke tool and Source rules
  4. Analyse Design
  5. Elaborate
  6. Generate report

Areas Covered

Sample Rules

Tools: Some of the available tools in the market to do linting and CDC checks are