( ESNUG 500 Item 8 ) -------------------------------------------- [03/08/12]

Subject: Huh? SKILL sklint() already built into the Virtuoso environment

> Are there any linters available for Cadence SKILL code?  I want to check
> Assura's rule & RSF files syntax.  It would be great to run an actual
> SKILL lint without tying up Virtuoso or Assura licenses.
>
>     - Eduardas Kiseliovas
>       Texas Instruments


From: John Stabenow <stabenow=user domain=cadence not mom>

Hi, John,

As far as I know, there's no 3rd party SKILL linter available for sale in
the commercial EDA market.  Why?  It doesn't make sense to make one
because SKILL Lint is already available as part of the SKILL Development
Environment, which includes a debugger, a profiler, tracing capability and
also a SKILL IDE.

It's accessed via the SKILL Development Toolbox from the Virtuoso Command
Interpreter Window, or using the SKILL sklint() function.

SKILL Lint is a static checker, which uses the SKILL infrastructure to parse
the file and analyse the code for problems and potential improvements.  It
has an extensible set of rules (which can be customized by the user), with
a rich set of built-in rules.  You provide SKILL Lint with the file you wish
to analyze, and choose which rules you wish to enable or disable.

Some of the things it can check are:

 *  Global variables which lack a well defined prefix (should be local)
 *  Local variables and arguments to functions which are not used
 *  Functions called with an incorrect number of arguments
 *  Functions with keyword arguments where the keywords don't match the
    definition (the function checks will work without having to define
    special rules for user-defined functions - it will use the function
    definitions to do this analysis)
 *  Syntax checks - improperly formed function calls
 *  Undefined functions
 *  Use of Cadence functions which have been changed/deleted (this can be
    restricted to only show the changes since a specified version for which
    the SKILL code was originally written)
 *  Use of private functions
 *  Warnings about functions which are due to be made obsolete
 *  Suggested performance improvements

It outputs a detailed breakdown of which lines in your code have problems,
with information about where variables have been referenced and so on.
This information is presented with several levels of severity.  In addition
it gives score (out of 100) for the code quality.  The advice you receive
makes it very clear to the user what he/she needs to change..

Because it is a static check, it is able to spot many things that could be
missed without comprehensive testing requiring all branches of your SKILL
code to be reached.

SKILL Lint can be used on Assura rules (because they're in SKILL syntax),
although the main benefit would be just to check any embedded SKILL code
in the rule files.

We don't have an explicit Linter for Assura, but often the requirement for
Assura rules is to check performance.  For that, Assura outputs profiling
information about the time spent in each rule, together with documented
guidance on how to more efficiently write the rules.

    - John Stabenow
      Cadence Design Systems, Inc.               San Jose, CA
Join    Index






   
 Sign up for the DeepChip newsletter.
Email
 Read what EDA tool users really think.


Feedback About Wiretaps ESNUGs SIGN UP! Downloads Trip Reports Advertise

"Relax. This is a discussion. Anything said here is just one engineer's opinion. Email in your dissenting letter and it'll be published, too."
This Web Site Is Modified Every 2-3 Days
Copyright 1991-2024 John Cooley.  All Rights Reserved.
| Contact John Cooley | Webmaster | Legal | Feedback Form |

   !!!     "It's not a BUG,
  /o o\  /  it's a FEATURE!"
 (  >  )
  \ - / 
  _] [_     (jcooley 1991)