( SNUG 04 Item 14 ) ---------------------------------------------- [08/11/04]

Subject: Synopsys PrimeTime-SI vs. Cadence CeltIC

IS THERE A SHIFT COMING?  Looking at the 2 year old Dataquest numbers, the
obvious leader is Cadence CeltIC.

      Dataquest FY 2002 Signal Integrity Analysis Market (in $ Millions)

            Cadence CeltIC  #################### $20.1 (57%)
                  Sequence  ##### $5.0 (14%)
     Synopsys PrimeTime-SI  #### $4.2 (12%)
               Quantic EMC  ### $3.2 (9%)
                    others  ### $2.8 (8%)

But again, these are 2 year old numbers.  Why I'm obsessing on this is that
an awful lot of the user comments I received in this survey harped on the
fact that they want to use PrimeTime-SI because it's so closely connected
to the monopoly (97% market share) PrimeTime tool.  The other interesting
thing is that Synopsys now has PT-SI working now.  (Earlier surveys were
filled with users complaining about how broken PT-SI was.  No so now.)  We
could be seeing the beginning of a market shift in this niche.  Or not.


   9.) How about IR drop tools like Synopsys AstroRail, Magma BlastRail,
       Cadence Simplex VoltageStorm?  Which do you use?  How about noise
       tools like PrimeTime-SI vs. CeltIC vs. Sequence NoiseIT?  Who is
       ahead?  Who is behind?  Which do you use?


    None of them good enough for analog transistor level.

        - [ An Anon Engineer ]


    We use AstroRail and CeltIC.  PrimeTime-SI looks like it is gaining
    share and, more importantly, correlating better with SPICE.  At some
    technology inflection point (perhaps 90 nm, perhaps smaller), we will
    want to have a tighter integration of SI effects in STA.  Exporting
    timing-windows to/from CeltIC is time-consuming, and, more importantly,
    CeltIC won't honour detailed exceptions that PrimeTime does, making
    its Xtalk pessimistic.  I think PrimeTime-SI will win in the long run
    so long as people are signing off STA with PrimeTime...

        - Andrew Bell of PMC-Sierra, Inc.


    We have used PrimeTime as our static timing signoff engine for our COT
    flow for the last 4 years in both 0.13u and 0.18u technologies.  Our
    chips range from 5 to 15 million gates with both digital and analog
    content.  Our chips have very detailed clocking, and we have used
    the multi-clock feature of PrimeTime to combine many runs into a single
    run.  Version 2003.12-SP1 has been able to handle designs of ours fully
    flat with 1.2 to 2.0 million instances at the expense of runtime and
    memory usage.

    For the sake of run time, we have utilized ILM models at the top level
    of our design.  But, in conjunction w/ ILM runs, we run fully annotated
    SI timing runs to verify we have covered all aspects of crosstalk in
    our design.  ILM models are useful, but we have found several corner
    cases that are not covered with the ILM.  An example is a timing path
    between two different input clocks of the block (a reg to reg data
    transfer across clock domains).  In ILM generation, this path is removed
    as it is fully contained within the block.  However, if the clock
    latencies are not properly analyzed in the block run, this path could
    easily be missed without a fully annotated run.

    Another issue with ILMs is how they currently store coupling caps.  We
    don't use this feature as we find that aggressor timing is stored based
    on the block setup, and is often missing the full information from the
    chip level (ie, multiple clock propagation, clock latencies, etc).  A
    fully annotated run is needed to see these effects.  We have used ILMs
    for chip level noise analysis and crosstalk reporting as these tasks
    take too much time in the fully annotated runs.

    On the noise front, we switched over to using PT-SI for noise last year.
    We have combined our crosstalk runs with our noise runs into a single
    run.  Once past our initial library characterization issues, we have had
    success with the noise results from PT-SI.  We have completed designs
    with PT-SI noise using strict DC margins, as well as propagated noise.

    In the last few releases, PT has improved capacity and run time
    dramatically.  An area we want to see improvement on is the handling of
    crosstalk/noise effects in multi-mode runs.  Currently, there are few
    controls to define "exclusive" clocks that are defined in the same run
    for the noise and crosstalk effects.

        - Todd Hawes of AMCC


    We are actively using Primetime-SI for STA sign-off in our .13 micron
    ASIC flow.

    Having previously used PrimeTime, PT-SI did not require any significant
    changes to our flow - same netlist, libraries, SDC files.  Obviously the
    parasitic extraction (StarRC-XT) had to include cross-coupling caps.
    There were some filter settings to define.  These were supplied by
    Synopsys and we didn't need to modify them.  Other than this it was only
    necessary to add a small number of commands to our existing PT scripts
    to enable crosstalk analysis in order to get PT-SI working.

    Runtimes are obviously longer than PrimeTime, but when run on a 64-bit
    Linux platform have not significantly impacted timing closure.  PT-SI
    uses an iterative approach to STA, with violating nets being reselected
    for analysis on each pass.  The greater the number of violating nets,
    the longer the runtime.  One design, in excess of 400 K instances, took
    7 hours to generate two timing reports (each with 3 internal iterations)
    at slow PVT corner, but only 2 hours at fast PVT corner.

    The timing reports show clearly where crosstalk is hitting the critical
    paths.  Initially we used the GUI to 'click' through the database to
    identify specific aggressors for a given victim net.  More recently, we
    generate reports identifying the aggressors' impact on a victim
    (coupling, timing windows etc.).

    The only real issue we have with using PT-SI currently is the fact that
    we have not achieved the degree of crosstalk-delay correlation between
    PT-SI and Magma which we would like.  There's a whole new learning curve
    for the understanding of the intricacies of the two tools' crosstalk
    analysis (and crosstalk delay analysis in general).

    There is currently no ability to feedback repair information to our
    Magma P&R flow.  I believe other STA tools have the ability to output
    an ECO script.  We rely on manual/scripting methods to fix the problems
    reported by PT-SI, ultimately extending our closure time due to
    iterating around the ECO/PTSI loop.

        - Stuart Vernon of PowerVR / Imagination Technologies Ltd.


    With PT-SI in the beginning the update_timing runtime was anything from
    10 hrs to infinity.  But thanks to the excellent support from a Synopsys
    AE we found the correct switches and fixed few constraint issues and the
    runtime was down to 6 hrs.  Due to memory usage (6+ Gb), I was forced to
    use 64-bit V-2003.12 for Solaris.  This was still way too much.  With
    one mistake in the constraints you loose one working day.

    In the beginning of the year I got one 64-bit Linux and with the 64-bit
    PT-SI V-2003.12-SP1-3.  My update_timing is now down to 2 hrs.  This is
    already useful; you can do several runs during one day.  The memory
    usage has not decreased too much, just few percents.  This is something
    that concerns me as my next design will be 3 times bigger.

        - Pasi Tukiainen of Nokia


    I have been using PT-SI for 1.5 years now on our communication chips
    (.13 micron), starting from version 2002 through 2003.12.   We use PT-SI
    for timing sign-off, not necessarily because it is the most accurate;
    instead we see its perceived pessimism as giving us more inbuilt timing
    margin.  Here are some of my thoughts:

     - PT-SI is an extension of PrimeTime, so the basic setup is easy to
       transition to.  Additional effort is needed to correlate the
       timing/slew with other tools we have, and to refine the settings
       in PT-SI to balance between accuracy and runtime.

     - Capacity.  We have run chips above 5 million gates through PT-SI.
       Its capacity is comparable to CeltIC.
 
     - Runtime.  I think PT-SI's runtime is decent.  It has improved in
       recent releases, and is helped by Linux/Opteron platforms.  Turning
       on the crosstalk delay analysis in PT typically doubles the total
       runtime of the tool.

     - I think Scalable Polynomial Delay Models are required for PT-SI when
       IR drop is taken into consideration, and characterization of this
       type will take much more effort.  We would prefer such libraries to
       be qualified and directly provided to us by library providers.

     - Accuracy.  In crosstalk delay, PT-SI is on the pessimistic side.
       It's min-max timing windows also seems a bit pessimistic as compared
       with slot-based windows available in some other tools.
 
    We had some problems with Clock Reconvergence Pessimism Removal (CRPR)
    modeling in v2003.03/06, but this is supposed to be fixed in the latest
    release.  PT-SI's biggest strength is its ease of use as an extension to
    PrimeTime.  Its biggest area to improve is accuracy; it needs to be less
    pessimistic.  PT-SI's recent inclusion into the TSMC reference flow 5.0
    is giving it improved credibility.  We will continue to monitor its
    progress and other solutions in the market.

        - [ An Anon Engineer ]


    Currently evaluating IR tools.  On the xtalk delay side of things
    PrimeTime-SI lines right up with SPICE.  Magma is but a few percent
    away.  Currently thrashing on a design that was taped out with CeltIC
    and PrimeTime-SI shows massive failures.  Given we trust PrimeTime-SI,
    I wouldn't put as much faith in CeltIC.

        - [ An Anon Engineer ]


    PrimeTime-SI was our sign-off tool, but I am now fielding requests for
    information from people trying to use CeltIC.

        - [ An Anon Engineer ]


    We went through a evaluation of PrimeTime-SI for noise during latter
    part of 2003.  It took a while as it has been a learning curve to
    incorporate static noise as part of the PrimeTime flow.  Most of the
    issues we dealt with were setup related with PrimeTime-SI.  Once we got
    the right setup, we were happy to observe that PrimeTime-SI noise
    numbers correlate reasonably to Avanti HSPICE.  The accuracy we saw
    was within 6% of HSPICE.  We observed:

     - PT-SI had good performance and memory usage.  Much improved with
       recent 2003.12 release.  But expect 2X and up on runtime difference
       between PrimeTime and PrimeTime-SI with noise analysis.

     - it fit seamlessly in the PrimeTime flow

     - the noise library generation by third party vendor was a hinder.
       This should be provided by Synopsys as a utility.  Furthermore,
       QA'ing a new noise library is an extra assurance step that needs
       to be considered.   (Actually they have recently provided us with
       such a utility and we are now evaluating it.)

     - chasing down the aggressors and their contributions to the noise
       is not straight forward.  A series of get_attribute, report_net,
       get_attribute commands are needed to get to the desire info.

     - potential latch violation due to glitch propagation is not (yet)
       implemented.  This option is useful for pruning down non-harmful
       noise violations.

    To do this eval, our library group generated the noise table for a
    0.15 um library.  We found:

     - your library units must match between time/capacitance and
       voltage/current.

     - the Synopsys Library Screener can be used to verify that the
       characterized library meets the basic requirements for post-layout
       accuracy in PrimeTime and PrimeTime-SI.  (The Synopsys Lib group
       gave us the screener.)

     - the Synopsys Noise Correlation kit can be used to verify the noise
       accuracy on a library cell, especially on a newly generated noise
       library.  (This kit was provided by the PrimeTime-SI group.)

     - your netlist must be clean of any unnecessary bus keeper cells.

     - any nets that might undergo cap or resistance characteristics
       change during the fab process need to be removed from the noise
       analysis.

     - all design ports must have realistic transition time constraints.

     - your generated clocks must also have realistic transition times
       defined.

    Additionally due to the fact that PrimeTime-SI is a STA approach, any
    violated noise net in the fabricated chip would need to be validated
    using vectors.  These vectors must show the same victim and aggressor
    relationship as in a final PrimeTime-SI run with the same conditions.

        - Ken Wong of Conexant


    We use CeltIC for noise analysis and believe that they have the right
    solution.  The next in line is Sequence.  We use VoltageStorm, and are
    unable to comment further details.

        - Santhosh Pillai of Parama Networks


    I'm a new PrimeTime-SI user.  I started to do some real work with the
    tool about 4 weeks ago.  Here are my first impressions.

    Just to give you some background.  I'm a PT user but have not used PT-SI
    before.  I have however done SI analysis with an in-house developed tool
    that we have been using up to now.  I'm currently responsible for the
    physical implementation of a subchip from netlist to layout.  It is
    fairly small, about 200 Kgates and is done in a 90 nm process node.

    PT-SI is integrated into our design flow -- what this means is that I just
    have to run a couple of make targets in order to generate a complete
    setup file, with all the reselection- filtering- and exit criterias, and
    a PT-SI command file that will execute the analysis.  All I need to
    provide is the PT constraints, the netlist and a clock grouping file.
    Since the tool is integrated in our flow getting started was not a big
    issue.

    The key benefits as I see it is that PrimeTime-SI is fully integrated
    with PrimeTime, which also is our signoff tool.  This makes it easy to
    get started and you don't need to learn a whole new environment nor
    convert data between tools.  Our old flow was executed in two steps,
    first we generated timing reports in PT and these where then processed
    by another tool; running PT-SI is easier and smoother.

    Runtimes have been OK, this is a very small block so that is not a
    limiting factor.  Runtimes are between 0.5 to 1 hour CPU-time depending
    on the performance of the machine, 0.5 hour is using a fairly powerful
    Linux box and 2 iterations (3 timing updates).  SI memory consumption
    has been ~850 Mbytes which is 2.5X compared to normal STA.

    So far, my biggest criticism of PT-SI is that I don't like the way
    the clock grouping works. I started off by defining all the clocks I
    have in the subchip as synchronous but forgot to define the virtual
    clocks I use to constrain my I/O's.  PT-SI then generates false paths
    between the virtual clocks and all other clocks leaving my I/O paths
    untimed!  I would prefer if the tool gave some warning that all the
    relations between the clocks are not defined.  It could then treat all
    clocks not covered in the set_clock_group statements as asynchronous
    from an aggressor victim point of view but still time the paths to and
    from these clocks.  By doing it this way the worst case would be modeled
    instead of not timing them at all with the risk of missing real
    violations if logs are not properly read.  I want to have full control
    of the false paths set in the design and don't like the idea of leaving
    that to the tool.

    I have also played a little bit with its "what if capabilites" such as
    get_alternative_lib_cells and report_alternative_lib_cell.  This gives a
    quick indication of what a potential fix could buy you timing wise.
    With the save_session capability it is easy to fire off a number of runs
    in parallel in batch mode and then pick them up and do some analysis in
    interactive mode once a problem is spotted in the reports, without
    having to rerun the session.  This was not possible in our old flow.

        - Magnus von Bromssen of Texas Instruments


    For PrimeTime-SI the improvement we see is in the 3X range.  Also uses
    far less memory (2-3X reduction) which means we can run it on cheap
    Opteron boxes instead of expensive Suns or Itaniums.

    For noise we use PrimeTime-SI, which with the current performance
    improvements mean that we can run our entire chip with SI analysis
    in less than 3 hours on an Itanium.

        - [ An Anon Engineer ]


    Cadence has significant lead with CeltIC.  PrimeTime-SI is still a
    non-starter due to model unavailability both for commercial and
    home grown IP.

        - [ An Anon Engineer ]


    For SI, I use CeltIC - mixed feelings.

        - Gord Allan of Carleton University (Canada)


    We use PrimeTime-SI for noise-induced-delay analysis; CeltIC for
    noise-induced-glitch analysis.  Relatively few characterization tools
    available to produce the data necessary to use PT-SI on glitches.
    Working towards that as low-priority.  CeltIC is getting the job done,
    so little motivation to work quickly on PT-SI noise.  Also, still
    using internal noise analysis tools left over from before there was a
    CeltIC or a PT-SI.  EDA vendors were at least one process generation
    too late with their solutions (as per usual).

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