( ESNUG 345 Item 2 ) ---------------------------------------------- [3/1/00]
Subject: ( ESNUG 339 #8 ) We Chose HDL-Lint Instead Of SureFire Or Avanti
> We evaluated Veritools' (http://www.veritools.com) HDLlint tool a few
> months back. We were impressed and purchased a seat. The tool is a
> command line program that lints Verilog code. They claim to do 100% of
> all the checks Verilint does (overpriced tool from Avanti, originally
> from interHDL). Veritools is offering their lint tool at a reasonable
> price compared with other alternatives.
>
> - Gareth O'Loughlin, Design Engineer
> Extreme Packet Devices Kanata, Ontario, Canada
From: Nathan Dohm <dohm@starbridgetech.com>
Hi John,
We are a small semiconductor startup, and as part of our tool selection
process, we were looking to purchase a lint tool. We are Verilog based, and
most of our designers have used Verilint in the past. We got a quote for
Verilint (now owned by Avanti), but felt that it was overpriced, so we
naturally looked for cheaper alternatives.
The one tool that we found was called HDL-Lint, sold by Veritools. (There
is apparently another tool called SureLint from SureFire Verification,
recently acquired by Verisity, but it was not available at the time of our
evaluation. I think it is still in alpha/beta stages at this point.)
HDL-Lint was developed by Everest Design Solutions, LLC, and is distributed
by Veritools. It is included in Veritools' Undertow suite (a waveform
viewing and debugging tool similar to Novus-Debussey) but is also
available as a standalone version. It can be run from the command line (we
run it from emacs), and uses the standard FlexLM license manager.
When we began evaluating the tool, we didn't have an established code base
to test it on (being a startup and all), so I created a few code examples
with typical problems in them. HDL-Lint only caught about half of the
problems. It was soon obvious that they were missing a lot of stuff. I
sent them a long note detailing the problems, and had pretty much dismissed
it as a possibility, but within 24 hours, they came back with a new version
with many of the problems fixed, and a promise to fix the rest quickly.
They also added a couple features we requested. Based on the cost savings
and excellent technical support, we purchased the tool.
HDL-Lint reports (at last count) around 300 code problems, categorized into
Errors (such as syntax errors), Warnings (such as inferred latches or
missing variables in sensitivity lists), and Notes (such as unused
parameters). More checks are added regularly, including a number of style
type checks which sites will want to turn off based on their coding
methodology (these include Notes on nested if statements, no default clause
in case, etc.)
HDL-Lint includes a number of options for turning messages off, either on
the command line or in the code; code-based options include turning messages
off in a block, a file, for a given number of lines, etc. There are a
number of output format modes, including emacs-parsable output (added at our
request) to enable easy checking of code from within emacs using the compile
and next-error commands. (Note that the newest versions of verilog-mode
from SureFire -- 3.37 and 3.38 -- break the standard parsing and require an
edit to get the next-error command to work with HDL-Lint.)
HDL-Lint has a number of interesting command line flags, including different
output formats, library directory and file includes (-y and -v), +define on
the command line, processing of Synopsys translate_off/translate_on
directives, little endian enforcing, and input parameters from files. It
also supports user-supplied Perl code for additional style enforcement, but
we haven't tried this though.
Over the last few months, we have continued to find some problems here and
there (mainly in the form of reporting warnings where it shouldn't) but they
have been resolved quickly. At this point, the tool is a vital part of our
code development.
- Nathan Dohm
StarBridge Technologies Marlboro, MA
|
|