( DAC 01 Item 18 ) --------------------------------------------- [ 7/31/01 ]

Subject: 0-in, Synopsys 'Ketchum'

SHHHH! IT'S SECRET:  It's no secret these days with most users who read
ESNUG that Synopsys is quietly working on an officially unannounced product
that is, for most intents & purposes, almost a carbon copy of what 0-in's
been doing publically for years.  OK, so there might be some nitpicking
differences -- but you'll have to ask Janick Bergeron what they are -- I'm
just a chip design guy, not a verification whiz.  I'm told both Ketchum and
0-in both use Formal voodoo to 'search' for a design's unreachable states.
That's close enough for me.  (DAC'00 #16 and SNUG'01 #23)


    "Synopsys "Ketchum", Valiosys, and 0-in looked interesting.  I think
     the semi-formal approaches by "Ketchum" and 0-in are a good way to
     get the old 'foot-in-the-door' in regards to getting the designers
     accustomed to specifying simple properties about their design."

          - [ An Anon Engineer ]


    "THURSDAY: Extensive Demo with 0-in.  0-in offers two products 0-in
     Check and 0-In Search.  The first allows the users to embed assertions
     into RTL code via metacomments.  Then extract the assertions with a
     pre-processor and then utilize these assertions during simulation.
     Certain classes of assertions have functional coverage metrics
     associated with them so a user can view the function coverage of a
     given design element.  In addition to user checks, they have a number
     of assertion checkers for numerous industry standard interfaces like:

            LPC, PCI-X, Amba, Infiband, SPI-4, Utopia,
            POS-PHY, CSIX, Hypertransport, etc.

     These checkers also collect functional coverage information about the
     interfaces in question and will flag protocol violations.

     Their second product, 0-in Search, is attempting to use formal
     techniques to amplify existing tests the verification groups have
     already written.  This technology looks interesting.  Its hard to
     explain, so I won't try but I plan on evaluating this and seeing
     if it can find bugs we are currently missing with Specman."

          - Sean Smith of Cisco Systems


    "Ketchum from Synopsys (under NDA)

     2 main features:

     Semi-formal automatic test generation (no checking)
      - measures quality of coverage
      - creates tests targeting areas of low coverage
      - generates tests for hard to reach design structures
      - has been tried on a 2.6 million gate design and on
        DesignWare modules

     Formal proof of properties and assertions
      - assertions checked during simulation and/or through formal
        verification
      - supports simulation-based debug (stimulus generated to
        demonstrate a failure)
      - supports OpenVera and RTL for writing of the assertion checkers
      - some checkers generated automatically (full- and parallel-case)
      - will add support for the Open Verification Library

     Status: Working with pre-release customers, looking for beta partners"

          - [ An Anon Engineer ]


    "I have brief experience with 0-in.  I do not like it.  In general, I do
     not like any tool which is based on comments put in the code.  Code is
     cluttered and everything is very much tool specific."

          - [ An Anon Engineer ]


    "I like the 0-in tool's ability to give designers a structured way to
     put assertions in their Verilog.  (Boy, am I starting to sound like
     a SW person.)"

          - Dan Joyce, Compaq Computers


    "I have seen the 0-in approach a couple years ago, don't know what they
     are up to lately.  I thought their checkers were useful, but had
     reservations about cluttering up my source code with vendor-specific
     pragmas and they didn't have a lot of value in their checkers which
     I couldn't have easily replicated in HDL.  Not really sure what it
     would take for me to pay real money for their tool, but it was
     interesting."

          - Tom Loftus, Intrinsix


    "0-in: Saw them last year, has real potential but does not provide
           exhaustive searches.

     Synopsys "Ketchum": Late and very little new compared to what is
           out there.

     The biggest lie I found at DAC occurred in a demo for Ketchup.  They
     said that Synopsys is the only one attacking the problem of
     constraining the inputs for a formal model checker.  I admit they
     have some novel ideas but not many and they will be late to market
     with an immature product.  There are problems with the Ketchum
     methodology that others were talking about how to solve.

     Real Intent: Tried them last year will probably bring them back."

          - [ An Anon Engineer ]


    "0-in: Our friends at Zero-In announced a joint deal with Synopsys
     called reactive testbenches.  The non-static checkers that 0-in 
     have can create Vera hooks to run and fire under Vera.  Plan on
     doing it with 'e' as well."

          - Peet James, Qualis Design


    "A flier from 0-in caught my eye the other day.  I like the concept of
     embedded assertions in the RTL code triggering error messages in
     simulation.  Adding assertions while designing the RTL seems easy
     enough.  They claim that once a simulation has been written their
     tools can create more testcases that would attempt to break the
     embedded assertions.  I would be curious to know how much 0-In slows
     down simulation time."

          - Kristie Armentrout of Tektronix


    "Synopsys/Ketchum

     New technology for formal verification coupled with simulation.  Aimed
     at generating test sequences to exhaustively exercise all "reachable"
     state combinations for a selected set of signals.  Input is a set of
     registers / signals to cover; N signals implies the tool must try &
     generate sequences to hit up to 2**N possible combinations.  Tool uses
     directed random simulation to hit "easy" combinations, then uses formal
     methods coupled with random sim to hit harder combinations.  Tool also
     capable of proving states unreachable, so in the end you get a report
     indicating states able to reach (and the Verilog testbench necessary to
     hit all those states), states able to prove unreachable, states unable
     to reach which are still potentially reachable.  Technology can be 
     used to drive design into corner-case situations unlikely to ever hit
     with straight random simulation.  Can utilize generated testbench with
     traditional simulation monitors to find bugs.  Synopsys used Ketchum to
     find bugs in DesignWare 16550 UART that escaped detection by
     conventional means.  nVidia and Agere are early customers, claim some
     amount of success with product.  Expect technology to be formally
     released by next DAC.  One of the key engineering directors responsible
     for productizing some of Synopsys' most important leaps (DC, PhysOpt)
     is now heading up this team.  R&D team is very talented, but problem is
     very hard!  Limitations: can be applied to blocks, not chips.  A very
     hard technical problem, easy to space-out (exponential state-space to
     be searched.)  Could be useful to apply technology to particularly
     troublesome blocks (i.e., USB) which have lots of corner-case
     conditions to exercise."

          - [ An Anon Engineer ]


    "There are currently 3 approaches to testing interesting corner cases:

       1.) hand written tests which are difficult and costly,
       2.) a shotgun approach based on directed random testing targeting
           the area of interest, and
       3.) semi-formal where formal methods are used to specify a test
           that will reach a specific corner case.

     Ketchum falls into the third category.  The user defines the corner
     cases of interest by defining target signals using a TCL interface.
     In order to ensure the tests are realistic/implementable the user also
     has to constrain the test environment.  This approach allows the
     verification engineer to focus on specifying what should be verified
     rather than how tests should be implemented.  It also makes the
     methodology much more quantifiable than most verification which is
     a big benefit to managers when discussing tape ship!

     Currently Ketchum is Verilog only which may not be an issue in the USA
     but matters for Europe.  The tool itself still appears to be pre-alpha
     meaning most examples are still being run in-house by Synopsys.

     One important issue with Ketchum is capacity though exhausive state
     coverage is less important than when doing formal verification.
     Without hands on experience it is difficult to get a feel for the types
     of designs it can handle.  The example used during the DAC demo was a
     UART with 23K gates and 2K registers.  When running it could report
     states reached, unreachable and those where status unknown.

     The tool supports OpenVera Temporal assertions.  I am not a fan of Vera
     and believe in using open interfaces but Ketchum assertions can
     apparently also be written in RTL.  Ketchum assertions can be used as
     properties and tests generated that provide counter examples.  This is
     useful to improve acceptability to designers.  It's interesting to note
     that the Ketchum team are trying to boost the tools abilities as a
     model checker."

          - [ An Anon Engineer ]


    "I would not classify 0-In as a newbie tool and from what I saw on the
     show, I think it is by far the most useful one.  There were many 0-In
     wannabe's and they fall short of what I can do with 0-In.

     The wannabes seem to be aimed at replacing simulation early in the
     design phase by replacing block level testbenches with written
     assertions.  Sure, that works but why?  That is not what is slipping
     my schedule by months and costing me a respin of an ASIC!

     All these other tools help me find bugs that I know I have to look for.
     What I want is a tool that finds the bugs that I don't even know I was
     supposed to look for!  Those are the tough bugs to find.  With 0-In, I
     get help to verify that the chip doesn't do any illegal behaviour in
     normal mode and it also checks legal states outside of what I define
     as normal."

          - Anders Nordstrom of Nortel


    "0-In

     Design verification product line: Zero-In Check (with Checkerware
     library), Zero-In Search, Zero-In View all bundled together in a single
     tool suite. 

     Zero-in Check uses the Checkerware library of directives to provide an
     easy way to add assertions (including pretty complicated ones, like
     timing-dependent hand-shakings on a bus) to your rtl code.  You need to
     tag the constructs that you want it to go after, and it will insert
     checkers.  You then run simulations (on VCS for instance) and use their
     GUI to see which checkers fired.  You can also get a rough idea of test
     coverage because the gui tells you how many times in the test suite
     each checker's code was exercised, and what the checker results
     were -- the amount of information delivered depends directly on how
     well the assertion was coded though--it is not bullet-proof. 

     They call their strategy "white-box verification", marketing-speak for
     the assertion-based nature, and attempts to cloud the fundamental truth
     that Verilog assertions are free to everyone, and are commonly used as
     part of a standard DV strategy.  That said, their tool can really
     simplify the coding of complex assertions.  Perhaps most interesting,
     the Checkerware library comes with a full set of bus monitors already
     implemented, including LDT and DDR SDRAM amongst many others.  Assuming
     the bus monitors are good, they could be very useful and timesaving.  

     The Zero-In Search feature is supposed to "amplify" the power of your
     existing tests to find and create new corner cases.  I interpreted this
     to mean that it automatically calculates and adds in timing delays on
     relevant signals in order to create different paths through the code
     and expose new bugs.  This, of course, can be easily accomplished by a
     good suite of randoms as long as one writes test to randomize the
     correct signals timings etc. Again, they seem to have created a way to
     make it a little bit easier to do something that we should already be
     doing anyway. 

     They had testimonials from Sun, Tensilica and HP posted in their booth.
     They said they've done designs of up to 20M Gates (!?) on a multi-
     processor Sun with 1GB of memory.   They have ported to Redhat ver 6.2.

     We both thought this tool was interesting but more of a luxury item.
     It would give you a way to standardize and sometimes simplify checkers
     at the cost of the license fees & the pain of learning how to use it."

          - [ An Anon Engineer ]


    "0-Search by 0-In
     ----------------
     It is a semiformal verification tool.  It "performs formal analysis
     surrounding the states that your testbenches simulate."  At every clock
     tick in a logic simulation, it analyses the logic cones in the design
     and searches for violations of the user-defined properties in a legal
     way.  The purchase price is in the order of $100K.  Leasing program is
     also available."

          - Henry So of Mobilygen, Inc.


    "Zero-In & Real Intent
     ---------------------
     Both companies provide the ability to instantiate very powerful in-line
     assertion checkers as comments in the Verilog code.  Zero-In uses the
     assertions to perform what they call semi-formal checking -- they use
     model checking to explore and "amplify" the existing test vector space.

     Real Intent formally checks each assertion and they can generate
     simulation-based Verilog monitors from the assertions.  Both tools look
     very powerful, and they both have an impressive array of customers.
     Broadcom uses Real Intent, but I think I remember that Broadcom is also
     looking at Zero-In.  nVIDIA has both.  ARM is looking at both.

     In the next chip, we will explore the idea of designers instantiating
     assertion checkers at coding time to assist white box verification
     (internal verification, as opposed to black box verification, which
     operates on the I/O signals only).  I see tremendous power in this
     method.

     Of course, one problem we will have to solve is figuring out how to
     use the assertions with MCL code.  Both companies thought it could be
     done using some sort of include-type file."

          - [ An Anon Engineer ]



 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)