( ESNUG 537 Item 4 ) -------------------------------------------- [02/28/14]

Subject: Mark Wallace of Cavium's Jasper User Group (JUG'13) Trip Report

>  - The Jasper User Group Meeting is coming up on Oct. 22-23 at the
>    Cypress Hotel in Cupertino, CA.  They'll be having user-lead
>    Birds-of-a-Feathers on: Proof Grids, Property synthesis, IP-XACT,
>    Clock & Reset Set-up and verification, Low power verification,
>    AMBA Proofkit, Protocol verification, Security path verification.
>
>        - from http://www.deepchip.com/items/0528-04.html


From: [ Mark Wallace of Cavium ]

Hi John,

This is a trip report about my experiences at the Jasper User Group meeting
(JUG 2013), which was held in Silicon Valley towards the end of October.

I am a Senior Design Verification Engineer at Cavium in San Jose.   I work
closely with designers to verify internal blocks as well as system-level
scenarios in the network chips.

The two-day meeting covered 14 user presentations and five presentations by
Jasper R&D, together with 8 user-led "birds-of-a-feather" discussions and 7
demo stations.

The user presentations were from: Applied Micro, ARM, Broadcom, Juniper
Networks, Nvidia, Samsung, Sony, and STMicroelectronics, and two "must read"
presentations for new formal users.  The 5 Jasper presentations covered low
power verification, security verification, coverage, debugging, and
behavioral property synthesis.  Around 150 user attended, from the U.S,
Europe, and Japan.

      Offices in Mountain View / Sweden/ Brazil / Israel
      130 employees, 70 in R&D
      Many are PhD's and experts in formal
      Highest # of formal R&D in EDA; >3X nearest competitor

The user-led birds-of-a-feather sessions covered low power verification;
security verification; protocol verification; property synthesis; coverage;
clock/reset verification; IP-XACT; efficient allocation of properties,
proof engines and licenses across available compute resources, using
Jasper's ProofGrid.


USER PRESENTATIONS

  - APPLIED MICRO Keith Schakel gave an excellent primer on adopting and
    using formal verification - one of the two "must reads" for new formal
    users.  It covered:

            Inputs to JasperGold
            Outputs from JasperGold
            State definition
            State space
            Reachable and unreachable states
            Full proofs
            Counterexamples
            Bounded proofs
            State space explosion
            Underconstraining
            Overconstraining
            Coverage

            

    Concluded with "Counter-intuitive Truths About Formal" rundown:

       Free inputs automatically take every possible value, every
       combination of values, and every sequence of every possible
       combination of values; testbenches are unnecessary for
       formal; and proofs are valid even if huge chunks of the
       design are abstracted away.

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

  - ARM Laurent Arditi showed how they used Jasper formal - mostly at
    the top level - to verify the Cortex A12 in Jira.  Jasper found
    25 percent of the 963 real bugs, but constituted only 10 percent
    of the total verification effort.

            

    Some bugs, such as clock issues, X-propagation and load store unit
    (LSU) FSM bugs would never have been found by simulation.  The
    presentation showed how formal can "please your project manager,
    too" by significantly boosting verification ROI.

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

  - ARM Alex Netterville showed how they used Jasper's formal apps to
    verify the memory interfaces for a new processor design (Pelican).

            

    This enabled ARM to test a functional unit in its own unit-level
    formal bench, isolated from the rest of the design; to run top-level
    formal to check the interactions of all functional units; and to use
    black-box abstraction to verify a functional unit within a "whole
    design" context. The team used Jasper's Visualize tool to analyze
    interface models, both in checking expected interface specification
    behavior and in exploring back-to-back request patterns.

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

  - BROADCOM Shuqing Zhao described using formal to detect X-propagation
    in a power management controller for a quad-core processor.  They used
    formal reset analysis to detect uninitialized flip-flops and Jasper's
    X-Propagation Verification App to analyze the identified RTL blocks.

            

    It detected 4 flip-flops that were not initialized by reset, despite
    prior "comprehensive" UVM-constrained random simulation.  It also
    detected one flop that caused a "nasty bug" in the state-machine
    transition after reset.

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

  - BROADCOM William Su highlighted the different outcomes in applying
    constraints in formal vs. simulation - the 2nd of the two "must reads"
    for new formal users.  Using the formal results from 4 case studies
    in live projects, the presentation concluded that "less is more."

            

    In contrast to a constrained-random testbench, where more constraints
    can aid bug detection, over-constraining a formal tool can have the
    opposite result, significantly limiting its ability to explore the
    state space and to detect corner case bugs.  In the worst case, over-
    constraining can leave verification holes.  The presentation showed
    that it was easier to achieve convergence by

         (a) using fewer constraints

    and
         (b) using cover properties to determine which functionality
             has been covered.

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

  - BROADCOM Normando Montecillo won "best paper" award for his talk on
    an innovative use of Jasper's Scoreboard proof accelerator.  The task
    was to verify a design-under-test (DUT) that had the legal ability to
    occasionally throw away data. In the conventional use of Scoreboard,
    all input data must appear at the outputs, and there is no means to
    remove data that has been input to the tool. 

            

    To identify data that should be prevented from entering the tool, the
    team devised an approach in which the tool's output is constrained to
    observe the data to be dropped.  These values are then used to qualify
    the data input to the tool.  "This technique appears to defy logic and
    causality in the simulation world, but works in the formal world.
    There are more clever techniques waiting to be discovered, we just
    need to remove some of our preconceived boundaries."

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

  - JUNIPER Rohit Date used the Jasper Connectivity Verification App for
    the verification of BIST repair in a chip with 5,000 SRAM instances.

            

    They had decided against simulation because of its laborious flow and
    long run/debug times.  Juniper chose formal because of its ability to
    verify each connection's property in isolation and its strong
    correlation between property and bug, yielding faster turnaround and
    debug.  The team found 7 critical bugs in 2 months.  Deployment time
    was 6 weeks, including devising the parameters of the flow, building
    the flow, running pilot test cases, and using the results to perfect
    the flow to ensure that it would work on all blocks.  The flow was
    developed towards the end of the design schedule, but is reusable on
    a "verify as you go" basis in future projects.

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

  - JUNIPER Anamaya Sullerey presented the bring-up and verification of a
    load balancer.  Simulation was used as the sign-off method, so only
    a limited amount of time was allocated to formal verification.

            

    The team detected most of the bugs/issues with 9 basic properties,
    saving many weeks of simulation-based discovery and debug time.  The
    first implementation of the load balancer took 3 days to verify, with
    each bug taking only a couple of hours to find and debug.  However,
    verification of the circuit after architecture modification was much
    faster because the properties and infrastructure remained the same.
    Although the original goal was to use formal verification only as a
    "first line of defense," subsequent simulation found no further bugs.

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

  - NVIDIA Scott Xu described how they took just 10 hours to verify the
    connectivity on a multicore SoC, using Jasper formal.  There were
    40,000 paths, with registers and asynchronous FIFOs along the paths,
    and 150 clocks.  The team reported Jasper has "good performance, easy
    setup, easy debug, and good local support."  They also noted that
    Jasper has a customized function for reverse connectivity extraction.

            

    Despite using 40 simulation licenses per job, simulation could not
    cover all source signals; and could not verify all registers and
    asynchronous FIFOs; and could not check time latency from source to
    destination.  They said Cadence IFV could not support parallel
    processing of their 40,000+ properties.  Even after partitioning
    the verification tasks, IFV's regression time was still more than
    3 days, and it was difficult to debug. 

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

  - NVIDIA Homayoon Akhiani used JG-COV App's reset analysis and debug
    to find the logic that takes the longest time to reset.

            

    With the help of appropriate black boxing, the team systematically
    analyzed the SoC design to identify long-delay resets, enabling them
    to devise a less time-consuming reset methodology.  The team also
    used Jasper's Visualize, which automatically generates waveforms
    without the need for a testbench.  The methodology found reset
    problems missed by simulation (by extra-long resets), and some
    gated clocks that did not clock during reset.

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

  - NVIDIA Syed Suhaib used Jasper Sequential Equivalency Checking (SEC)
    App to verify clock-gating schemes used in dynamic power reduction.
    He emphasized that clock-gating verification is often left until
    late in the design, and inadequate verification can mean "lights out"
    for large sections of the chip; severe violation of the power specs;
    costly engineering change orders (ECOs); and even re-spins.

            

    NVIDIA used the SEC App to compare IP blocks free of clock-gating with
    their clock-gated versions.  They said the App implemented a 15 minute
    automatic mapping of the two designs' I/O, and automatic generation of
    all requisite assertions.  Debug was straightforward because the App's
    GUI places the two DUT instances side-by-side, making mismatches
    obvious to identify and debug.  The 20 man team created a script which
    automatically plotted the mismatches between signals until the first
    failure was found.  The SEC App found 41 clock gating bugs, 50% of
    which were found after supposedly high-coverage simulation.

    The presenter said simulation was "necessary but not sufficient."

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

  - SAMSUNG Joanna Zhang showed how they used formal verification to devise
    an automated flow to verify a CPU interrupt scheme consisting of 200
    interrupt lines. Instead of manually writing 200 assertions, the team
    used Jasper's Visualize tool to generate waveforms for each interrupt.

            

    The team then used the data in tabular form, together with a simple
    script, to automatically generate the assertions.  The assertions
    detected incorrect reset values and missing synchronizers.  This took
    as long as using manually-written assertions, but will deliver time
    and effort savings in its future reuse on modified and new RTL code.

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

  - SONY Kenta Ono described how they applied Jasper formal to verify a
    complex timing generation block, parts of which are reused in multiple
    designs.  Formal got 100% functional coverage with a 25% cut in human
    effort vs. simulation, which never hit the required coverage.

            

    The team expects more reductions in human effort because the re-usable
    parts of the design can now be deployed without further verification.
    They were a relative newcomer to formal verification.

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

  - STMICRO: This case study (presented by a stand-in from Jasper) showed
    how they used Jasper's Low Power Verification App to verify interface
    slices and signals on an ARM-based quad-core CPU sub-system with
    multiple power domains.  Power verification started a few weeks from
    tapeout, so they used existing assertion-based verification IP from
    Jasper - Intelligent Proof Kits for ACE, AX13, APB and ATB.  They also
    used Jasper's Power Sequencer and Scoreboard proof accelerators.

    Exhaustive verification identified problems with some clamp values in
    the first hour of the first verification run.  The team went on to
    verify the low power aspects of ACE, AX13, APB and ATB interface slices
    for protocol correctness and data integrity in all valid power states.
    The team -- whose members were relatively new to formal methods -- said
    that environment setup was fast, and that the reuse of power-aware
    properties for future projects/derivatives would be easy. 

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

My take-away: The two days gave me a good overview of the breadth and depth
of the use of Jasper formal.  The meeting was highly interactive, and the
exchange of important "how to" information with fellow users and Jasper R&D
spanned the whole range of functional verification challenges.

For me, JUG is definitely a "mark your calendar" event.  Although it would
have also been a good introduction to formal on its own, it also helped that
I had participated in a 1 month formal eval just two months before.   Even
with my limited eval experience I was able to ask additional questions and
the Jasper AEs helped by carrying me to additional points of interest.

Over the next year I would like to eval IP-XACT and the Security Apps that
Jasper has.  From the birds-of-a-feather discussion on IP-XACT, I saw how
others used the tool to improve register verification and documentation.

From their Security App demo, I got an idea how it might help verify
datapath security.

    - Mark Wallace
      Cavium, Inc.                               San Jose, CA

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