( DAC'19 Item 3b ) ------------------------------------------------ [02/20/20]

Subject: Ascent Lint less noisy vs. SNPS Spyglass makes Best of 2019 #3b

SAME SPEED, LESS NOISY: Although this year's users comments didn't cite SNPS
Spyglass very much,  Real Intent Ascent Lint got kudos for being less noisy
when compared to "the other linter" (which everyone *knows* is Spyglass.)
     
  "Ascent Lint's performance is faster than another commercial tool
   I've used."

  "We use Ascent Lint for our linting because during our eval, it had
   a lower noise level than the other linter we compared it with." 

  "Real Intent's standard RTL linting rules are well-designed to
   highlight issues, while minimizing the noise-level.  We can turn
   off/customize our rule set or do waivers."

And the best linting quote this year was:

  "It's important to lint your System Verilog code.  If you are not
   careful, System Verilog will let you shoot yourself in the foot."

STRUCTURAL LINTING ROLLS ON: Static RTL linting sign-off is still going
strong, even while formal linting comes out of hibernation.  (DAC'19 #3d)

        ----    ----    ----    ----    ----    ----    ----
        ----    ----    ----    ----    ----    ----    ----
        ----    ----    ----    ----    ----    ----    ----

      QUESTION ASKED:

        Q: "What were the 3 or 4 most INTERESTING specific EDA tools
            you've seen this year?  WHY did they interest you?"

        ----    ----    ----    ----    ----    ----    ----
 
    We use Real Intent Lint as part of a customized flow.  
 
        - We run Ascent Lint prior to our simulations -- and we run it
          many times.

        - We also use it for final RTL linting sign-off step 
 
    I would recommend it to others.

        ----    ----    ----    ----    ----    ----    ----

    Real Intent Ascent Lint 

    It's very important to lint your System Verilog code.  If you are not 
    careful, SysVerilog will let you shoot yourself in the foot, more so
    than the more structured VHDL.

    We use Ascent Lint for our linting because during our eval:

        - It had a lower noise level than our prior tool.  

        - Real Intent's support was better.

    RTL Linting Sign-Off Methodology

    Ascent Lint is part of our sign-off.  Before anything is released or
    merged, we want to know it will be a working design without any open
    issues.  

    We run Ascent Lint early and often.

        1. Start early

           We start by running Ascent Lint with our design framework 
           and our modules, before we run simulation.  

           The benefit of running early is that it can identify issues
           that would take much longer to work their way up through 
           simulation, where you would have to do lots of back tracing 
           to find and narrow down to what you connected it improperly.  

           It's even useful to run Ascent Lint early on small modules 
           that are part of a larger function and will not be 
           independently simulated.  However, it's always a judgment
           call as to the size of the module/block that you run it on.

        2. Often -- part of "continuous integration"

           It's part of our continuous integration sign-off process.  

           The trigger to run Ascent Lint is whenever we have a code
           change 

            a. We do a lint run before any merge request.  

            b. We also do a lint run at the top level afterward.  If 
               your code change is internal, you may be okay without 
               this.  However, if you change the ports, but forget to
               change what instantiates it, you will have a mismatch.

           If you already have continuous integration for your SV
           simulation, just insert running Ascent lint before simulation.

        3. Final RTL linting Sign-off

           We run our final RTL linting sign-off at a minimum before 
           we run Vivado synthesis.

    Linting Rules

    Ascent Lint can pick up syntax errors, such as whether you meant to 
    assign 1-bit number to 10-bit number.

    Real Intent's standard RTL linting rules are well-crafted to highlight
    issues, while minimizing the noise-level.  We can turn off/customize 
    our rule set or do waivers.  

        - We usually use the default rule set, but may filter out
          one or two rules.

        - i.e., it's a better coding practice to have a certain 
          comment-to-code ratio, but you can turn it off.

    We don't see stupid duplication of warnings/errors in Real Intent's
    reports.  If we do see a problem that shows in multiple spots it's
    because they are related, e.g. the left and right sides of a mismatch.
    Either one may be wrong, so you can fix one, or fix the other, though
    you can always create new problems when you do so.

    Real Intent also supports the DO-254 safety spec for safety critical 
    designs.  We haven't had too many of those designs in our group, but
    when we do, having the DO-254 rules built-in is beneficial.

    Performance

    Ascent Lint runs verify fast on full designs which makes it painless
    to run early and often

    Ascent Lint Runtime

            -  3K LUT   under 1 min
            - 80K LUT   under 2 min

    Real Intent typically completes a run for us in under 3 minutes.  

    Conclusion

    Using Ascent Lint with System Verilog is very, very important.  If you 
    wait too long, it can overwhelm you, so run it early and often -- also
    learn better practices so you don't repeat.

    Real Intent's support continues to be great.  They are responsive, 
    helpful, and do a good job of trouble shooting.  We still occasionally 
    come up with a new way and they'll have an update for us within a few
    days.

        ----    ----    ----    ----    ----    ----    ----

    Real Intent Ascent Lint's performance is faster than another commercial
    tools I've used.

    We use Real Intent Ascent Lint as a routine checker, to help find RTL 
    bugs following each submitted RTL change.

    We have an existing internal flow for Ascent Lint, which doesn't require
    any action from the designer.  However, I also ran Ascent in a 
    stand-alone (native) way, since our internal flow does not support VHDL,
    while Ascent Lint does.  

    I did the ramp-up with some help from CAD, and it was quick -- it only
    took about 1 day.  Real Intent provides a policy file as part of the 
    installation.  The policy defines a recommended set of 'high value' 
    rules, which enabled me to get results quickly.  
 
              Ascent/Lint/lib/policies/VerilogVHDLStdDefault.policy
  
    Room for improvement: debug/documentation -- I'd like to have schematics
    available for any rule which involves signal(s).

    I'd recommend it.  It's a good performance tool for linting.  

        ----    ----    ----    ----    ----    ----    ----

    We use Real Intent Ascent Lint for code quality checks.  

    We use the tool's standard checks and add our company's own policy 
    checks based on our code quality standards.

        ----    ----    ----    ----    ----    ----    ----

    Ascent Lint has good functionality, is easy to ramp up, and easy to
    debug.  

    The rule policy exploration is intuitive, and the GUI is user friendly.
    It's a default rule set is helpful for ramping up a basic flow.  

        - The rules can be configured, such as if you disagree with their 
          default severity level -- which I sometimes do.
  
        - You can turn off irrelevant rules and configure it up front, 
          so you don't flag issues that are not of interest.

    Ascent Lint's noise level is mostly better than other tools I've run.  
    (Some issues can trigger multiple warnings/errors.)  It does a good
    job in combining multiple violations in the charts.

    It's policy and criteria views are good, but the custom views are less
    intuitive -- this where I'd like to see Real Intent make improvements.

    I'd recommend Ascent Lint.  Its biggest strengths are its simplicity and
    run time -- it does the job.

        ----    ----    ----    ----    ----    ----    ----

    We use Ascent Lint.  Much better than SpyGlass.

        ----    ----    ----    ----    ----    ----    ----

Related Articles

    Real Intent Meridian CDC & Verix CDC tools take Best of 2019 #3a
    Ascent Lint less noisy vs. SNPS Spyglass makes Best of 2019 #3b
    Real Intent Meridian RDC has 20X less noise gets Best of 2019 #3c
    Real Intent's AutoFormal *formal* linting makes Best of 2019 #3d

Join    Index    Next->Item







   
 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-2025 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)