( DAC 03 Item 10 ) ----------------------------------------------- [ 01/20/04 ]

Subject: Verisity Specman "e" vs. Synopsys Vera vs. System Verilog

UP IN THE AIR:  Although Aart would like you to think that his System Verilog
is taking over the chip designer world by storm, the responses in this survey
are all over the map.  Verisity Specman "e", Synopsys Vera, and Synopsys
System Verilog each have their own camps of fanatical supporters.  Each side
gives viable arguements as to why their language will win and why the others
will fail.  What's the truth here?  You tell me.  My hat is off, though, to
Verisity for finally making "e" an IEEE open standard language.  Smart move.
Grep on "Specman" and you'll find a lot of their users here, too.


    I'm currently a 75/25 VHDL/Verilog guy.  I'm playing wait and see on
    System Verilog. 
   
    DesignWare is too expensive.  Should be bundled for free with DC license.
   
        - Kevin Hubbard of Siemens
   
   
    I like what I've see in System Verilog -- it really should be the next
    HDL I use.  Now if all the vendors come through with their promised
    support, everyone wins.
   
        - [ An Anon Engineer ]
   
   
    We're interested in Vera.
   
        - Damien Chardonnereau of Iroc Tech.
    
   
    I believe that all should be a one common language.  As the fight is
    over, all should align to Verilog.  This is the reason that we chose not
    to use at this stage neither Specman nor the other verification languages
    (but we do use Real Intent tools from Verix)
   
        - Yuval Itkin of Metalink Ltd.
   
   
    IBM RuleBase and FOCS.
   
        - [ An Anon Engineer ]
   
   
    Languages are often used to simlify tools implementation.  For the long
    term these may disappear and hidden by standard languages like C or C++
    models.
   
        - Ahmed Jerraya
   
   
    Just starting to learn Vera.  Haven't used it much but looks like it most
    useful for verification purposes rather than design.
   
        - [ An Anon Engineer ]
   
   
    For functional verification, Verilog is inadequate and cumbersome.
    Macro-expansion of Verilog using Perl, for instance, is a poor man's
    alternative.  Most people who claim to use just Verilog use the PLI to
    connect to a C environment that they have written.  The rest use
    languages like Vera or Specman.
   
    Specman is well suited for networking applications since the AE's can
    actually set up a working environment for starters.  The language is
    somewhat awkward and buggy, but powerful.  It is expensive.  I haven't
    used it in the last two years, though I used it for three years before
    then.
   
    Vera is new, cheap and versatile but requires more work to build a
    working environment.  Like Specman it has bugs, especially in the new
    features it has "borrowed" from Specman.  We have recently been looking
    at the coverage features of Vera to make sure corner cases are tested
    regularly.
   
    Both Vera and Specman slow down simulation dramatically compared to plain
    Verilog (especially without PLI hooks to C).  They also complicate the
    use of hardware accelerators.  However they save on engineer time.
   
    It takes a while for any new language to be stable enough to be good
    enough for production use by a large group so I can't comment on the
    newer languages.
   
        - Viranjit Madan of Sun Microsystems
   
   
    Any move away from a standard is just a ploy to grab market share and
    will be counterproductive to the industry.  The result will be poorer
    quality tools and underserved customers.
   
        - Luke Simonson of UCLA
   
      
    In all honesty, I think whatever next generation RTL language got to be
    based on Verilog.  I think System Verilog has an edge.
   
        - [ An Anon Engineer ]
   
   
    Verilog/VHDL can never be replaced.
   
        - [ An Anon Engineer ]
   

    Everyone sounds like Verisity now.  The whole world has PSL/Sugar
    assertions, and several established tools have added constrained random
    vector generation.  Does Verisity have an edge?  They say their
    constrained random vectors are third generation.  (I must admit, some
    of their competitors schemes seemed poorly thought out.)  Verisity's
    functional coverage is almost certainly the best. Can they explain all
    this to customers?  In my experience Verisity sales pitches are often
    not aimed well at the level of their customers, and are often burning
    bush talks about paradigm shifts or mired in the details of Specman.
    Let's face it though, this is not a simple tool to explain.

        - John Weiland of Intrinsix


    We purchased Specman 5 years ago and could not have done the chips we
    have without it.  At the time there was no good alternative because we
    had no skill using C.  I still think that it is the best alternative out
    there unless you have a lot of C experience.  E is not a difficult
    language to learn and is easy to use, coming from a Verilog Only
    perspective.  Some of the concepts are difficult, but these have to be
    learned no mater what HVL you use.
   
    System Verilog looks good but lacks the power we need to do the size of
    chips we do.  If you need incremental upgrades to your environment this
    could be a good choice in 2008 which is when it appears it will be fully
    implemented by the Major simulators.
   
    Can we say standards war?  Specman's big downfall is its cost.
   
        - Steven Jorgensen of Hewlett-Packard
   
   
    We're big e users.  At least this is a language designed to the need it's
    intended to satisfy.  It's also higher level than a "generic assembly
    language".  :-)  Specman is one of the central engines of our
    verification flow and we're pretty happy with it.  It would be nice if it
    were faster of course.
   
        - Kevin Jones of Rambus
   

    We have been using Specman for a couple of years, and are generally
    pleased with it's capability.  We do not use Vera or TestBuilder.
    When we evaluated them a couple of years ago Specman was superior
    in function, capability, and we got a great deal from Verisity.

        - Al Scalise of Silicon Image, Inc.


    Specman is an extremely well thought out tool.  Their Aspect Oriented
    Programming, where pretty much any struct's member list and their
    properties/contents can be modified by overlaying one file.  This
    yields extremely well for test writing and quick hacks.  It keeps the
    golden classes working and untouched.

    The e language is terse and intuitive and does a lot of things for you
    automatically.  Vera is more C++ like, does not have "when" based
    inheritance, and AOP is still not released.  The constraint resolver
    inherently works well with the auto-gen functionality in Specman,
    whereas it is a huge hurdle for the Vera constraint resolver, where
    the auto-gen feature is missing and needs the user to write a new()
    for everything.  This leads to a lot of hand-holding and more code
    to maintain, especially when you are generating hierarchies of classes.

    Specman should take lesser man months to create a stable release of
    environment and tests including coverage for a given project.  It is
    certainly lesser lines of code, to maintain.  It instills a flow
    which works well.

    The major minus... the per license cost, especially when Vera is
    bundled now with VCS simulator.

        - [ An Anon Engineer ]


    Verisity Specman:

    Pros:

    + Easy protocol layering using sequences: I used this during our last
      project where I had to drive a Ethernet over ATM scenario into an
      UTOPIA interface. Compared to its complexity it is really simple to
      generate the stimuli.
    + Constance in random pattern generation: even if a struct is extended by
      adding or removing members all old members get the same 'random' value
      if the same seed is used for generation.
    + The Verisity consultants: IMHO this is the most important point for
      picking Specman as your tool of choice.  Introducing a new tool is
      always kind of problematic because it is difficult to consider
      the emerging friction losses in a project plan. Verisity addresses
      those points by offering something which is called an EPL (Early
      project launch).  For each new project a team of Verisity engineers
      ramps up a testbench which fulfills the project's basic needs so that
      newbies have a well-defined starting point. One doesn't need to start
      from scratch with all the implied disappointments and set-backs.

    Cons:

    - The tool's resource consumption. It significantly uses memory and CPU.
    - Debugging sequences. The built-in debugger isn't able to handle the
      recently introduced sequence structs. It is very hard to debug anything
      which is related to them.

    I hope it helps a little for your DAC trip report.

        - Martin Baumert of Infineon

   
    We have been using Specman for 7 years now.  Overall it's a powerful
    verification tool, and we're happy with it.  It has a strong generation
    engine which we use heavily, self-checking, and coverage of which
    we use some.

    The stability/compatibility between Specman releases forced us to stick
    to a release from three years ago for our chip spins.  Specman
    performance is also something that has to improve, and we're looking
    for the new release to do that.

    The reusability aspect is very important to us, and our e environment
    has lent itself to reuse again and again.  The e reuse methodology
    is even more promising, and we decided to adopt the latest release
    on our new chip.  As a start, we'll be sending the whole verification
    team to a reuse training.

        - Doron Stein of Cisco Systems


    Verisity offers a well thought out verification methodology.

    Random Generation engine - This is neat technology where you constrain
    fields in your environment so that the random generator chooses values
    for those fields while obeying your constraints.  Sounds easy right?
    It works great but when it doesn't do what you want it to do, or when
    you give contradicting constraints, it can be a bear to resolve.  Granted
    they have tried to give tools to debug these generation problems but it
    is by far the worst and most time consuming part building a verification
    environment.  I've accumulated a few grey hairs fixing these.

    Functional coverage - This is a great feature for which I haven't heard
    of an equal out there (I'd like to hear of any.) Being able to gather
    statistics of scenarios that the random generator has produced with
    ability to do crosses and transition coverage gives much needed insight
    into how well your environment is testing the design.

    Reuse Methodology - Verisity came up with some reuse methodlogy manual
    that would allow maximum reuse of verifications components.  They also
    provided additional features in the language that would allow this.
    Extensive examples were provided which have been used by many that I
    know as baselines for their verification environments.  This has been
    of much practical help.

    Step through debugging environment - The ability to easily step through
    a simulation and debug problems is very nice and has helped me find bugs
    in my environment quickly.

    The error messages from Specman can be quite obscure and could use some
    work. Also, I have found it a pain in the neck to make Specman work in
    environments that have C models, Denali models, verilog all together.  I
    don't know if there is a good solution to this but I can't help but
    mention it.

    BTW, Testbuilder users that I have talked to have complained a lot about
    the number of core dumps they have had.  I haven't had this problem with
    Specman.

    As with any tool, once I learnt the quirks, I have been able to build
    testbenches pretty easily and found lots of bugs quickly.

        - [ An Anon Engineer ]


    I think there are too many languages and I am not going to jump to a
    language that is proprietary and maybe disappearing.  This is not good
    news for "e".  You can call it open or standard how much you want, in my
    books it is not a standard until it is an IEEE standard.  I think the
    future looks bright for System Verilog if only Accellera will donate it
    to the IEEE.
   
        - Anders Nordstrom of Elliptic Semiconductor
    
   
    Tempermentally, I'm very averse to committing to anything language that's
    proprietary not an open standard.  Although I like what e can do, I don't
    like placing ourselves in a situation where one company can squeeze us
    for more money in a year or two.
   
    Being a Verilog user, I would really like to see System Verilog totally
    take over, but I have my doubts about this happening.  I don't see us
    committing to System Verilog until it's very clear what is the
    trajectory is.
   
        - Tomoo Taguchi of Hewlett Packard
   
   
    None of the vendors or presentations I went to had anything to say about
    new developments targeted for VHDL users. 
   
    All the non-Synopsys/Cadence folks were party line non-committal about
    System Verilog vs Verilog with PSL/Sugar.  They all promised support of
    what ever was out there as soon as it became available and stable.  That
    said, from the way the discussions went, it was clear that only Synopsys
    had any say in what System Verilog was going to be like.
   
        - [ An Anon Engineer ]
   
   
    Verisity's Specman "e"? - IEEE Standardization of the 'e' language is a
    great move and a risky move.  The 'e' language is a great verification
    language and opening it up could bring even more 'e'-players and more
    'e'-credibility into the verification game.  It is also a very risky move
    on the part of Verisity.  I have been shamelessly stealing VHDL features
    to add to Verilog for years.  Once 'e' becomes an open standard, I will
    probably want to see 'e' features also added to System Verilog.  I think
    Verisity has a bright and talented team so I hope they know what they are
    doing by making their language IEEE open and freely available.
   
    Synopsys Superlog/System Verilog & Vera?  This is the HDL future.  This
    is the best of Verilog, VHDL, Superlog, Vera, PSL, Direct-C compilation,
    and more.  I can hardly wait to use the new System Verilog features on
    a real design.
   
        - Clifford Cummings of Sunburst Design
   


 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)