( SNUG 03 Item 18 ) ---------------------------------------------- [05/14/03]

Subject: Avanti Apollo vs. Astro, Magma, Sequence Physical Studio

SIMBA, THE LION KING:  Judging from the user comments, Astro appears to be
going through the classic growing pains for a leading EDA tool.  First off,
Astro users are bitching up a storm about all the bugs they're running into,
especially if it has to do with Astro's CTS abilities.  Yet these very same
users stick with Astro because they're getting 3x to 6x better performance.
(In my survey of best/worst Synopsys tools, there were 7 users that listed
Astro as *simultaneously* the best *and* the worst Synopsys product this
year.)  It's the typical I-hate-the-bugs-but-love-the-results user reactions
to a green code EDA tool that they want ungreen.  "Ah... the EDA tool cycle
of life renews itself once again...  I am your father, Simba..."


    Dataquest FY 2001 ASIC P&R Market (in $ Millions)

                 Synopsys/Avanti  ############ $93.9 (36%)
                         Cadence  ##################### $167.0 (64%)


    "Astro is much better than Apollo.  Of course, the first releases were
     buggy as usual.  The strengths of Astro are clock tree synthesis and
     post-route optimisation.  Compared to the Cadence Warp route, Astro is
     4 times faster.  There is no post-route optimisation integrated in
     the Cadence flow: you need to go out of the P&R database into PKS."

         - Philippe Duquennois of Philips


    "We're so past using Apollo that nobody here would to waste the time to
     compare any more.  We get considerably more agressive optimizations in
     Astro than were ever possible in Apollo.  We expect our Astro run
     times to be a tad bit longer because of that.  But nowhere have we
     experienced performance hits big enough that have sent anyone running
     back to Apollo -- particularly after they see the results you can make
     in Astro.  We tend to tune our block sizes to around ~24 hour PrimeTime
     runs, which usually winds up as sub-24 hour runs of our blocks in
     Astro.  It all fits together well.  One recent flipchip design had over
     11 M gates, 400 kb memory and several hundred clocks.  Another flipchip
     had over 10 M gates, 27 Mb memory at 266 Mhz, mixed voltage.  These are
     just snapshots.  Astro has been in production use here over a year now,
     and is our primary P&R tool. 

     For our Astro GUI users, the migration has been easy.  The UI is
     essentially the same, and what is new or changed is fairly self-evident
     in the UI itself.

     For our Scheme scripters, I wouldn't say the change-over to Astro was
     trivial, but early on, our internal support organization here at Agere
     gave us a full set of templates for common operations that many users
     just took as new starting points.

     Bottom line, while Astro is far from perfect, it's still a damned sight
     better than Apollo (or anything else we've looked at.)"

         - Clay Schneider of Agere Systems


    "I have seen performance of 3x to 6x between Apollo global route and
     Astro global route on designs with 1 M and 2.5 M instances.  The switch
     to Astro is pretty straightforward.  But at this time the global route
     GRC do not quite correlate with detailed route.  Apollo's prediction
     correlate better with detailed route."

         - Benjamin Mbouombouo of LSI Logic


    "I inherited the responsibility for introducing a COT flow into our
     company.  I also inherited Apollo/Saturn tools as our P&R tools.  We
     had all sorts of problems getting the Apollo flow running smoothly.
     Mainly due to our inexperience coupled with extremely poor Avanti
     documentation, technical support and quality control.  After much
     effort we managed to tapeout our first Apollo design in 3.5 months
     and have subsequently developed methodology to turn the designs
     around in about a month.

     Our designs are around a million gates.  As a result of our less than
     ideal experience with Apollo, we were dying to get our hands on Astro
     since their technical support kept saying, "well Astro can do that",
     when we had problems with Apollo.

     Evaluated Astro and found a nice performance increase in placement on
     Solaris and additional increase in performance on Linux pretty much
     as advertised.

     We ran Apollo on a SunFire 280 with 2 x 750 Mhz processors, 4 Gb mem,
     Solaris 2.8.  (We were not using multi-threading.)

     We ran Astro on Linux RedHat 7.2 with the big mem patch.  It has 4 Gigs
     of memory, and the processor speed was ~1.1 GHz.

     The design was ~200 k instances.

     Astro version 2001.2.3.5.0.3
     Apollo II version 2000.2.3.4.0.9

     My run time numbers are rounded to the nearest 5 min or so.

                         Apollo/Saturn      Astro Linux    Speed Up
                         -------------      -----------    --------
        Read Netlist         12 min              4 min        3x
        Load SDC             25                  1           25x
        Quick place, HFN,
        Transition Fix      155                 30            5x
        IPO                 360                 90            4x    
        CTS/CTO              60                 30            2x
        -----------------------------------------------------------
        Total               612                155            4x

     Much of the speed increase resulted from the fact Astro runs in
     memory rather than on disk.  In our flow we tend to drop in and out of
     the tool after each seperate action and we still saw benefits of
     running in memory.  For instance, you no longer have to re-run the
     Astro timing engine just to generate a timing report.  Going forward
     we could merge more commands.   We saw further speed ups since you
     can change your timing constraints on the command line in seconds.

     With Apollo it was taking us anywhere between 30 minutes and hour to
     load a new SDC file due to the hierachial ports command.  Another
     useful Astro feature added was the quick place command allowing very
     quick evaluation of the floorplan.

     Astro IPO fixes repeater insertion much better than Apollo/Saturn.  In
     Apollo we were seeing up to 8 buffers being used to fix transitions
     to/from pads even with soft blockages (allow repeater placement only)
     all around the core and between large memories.  Astro did it with
     a max of 3 buffers in a chain.

     In Astro you can generate a netlist cleanly in a few seconds.  This
     is now possible since their IPO engine no longer walks across the
     hierachy.  (You do have to fix the hierachy to do this though, which
     means that you cannot use delete clocks function any more.)  In
     Apollo it was taking us up to 30 minutes to generate a netlist with
     varying quality.

     We were able to port our methodology in the form of Scheme scripts
     and makefiles over from Apollo to Astro in 1 to 2 days.  Their
     documentation is still not great.  Synopsys is trying and released a
     primer outlining a flow.  Their flow was conceptually similar to the
     flow we had developed for Apollo (after much heart ache).

     All went well until we started Astro clock tree synthesis (CTS).  At
     this point we discovered a number of bugs.  We eventually managed to
     create a clock tree smaller than Apollo with similar skew, but it took
     a long while to find the magic sequence of buttons.  The skew reporting
     in Astro is not good as Apollo's either.

     CTS was not ready.  This does raise the quality control questions we
     always had with Avanti.  To be fair Synopsys support has been great.
     A far cry from the Avanti days where we were paying for the Avanti
     AE's to come and witness the bugs and walk away and do very little
     about them."

         - Craig Farnsworth of Cogency Semiconductors


    "We use PhysOpt/Apollo/Astro for our P&R implementation.  The biggest
     set of problems affecting our adoption of Astro is centered around
     the hierarchical Verilog netlist generation command.  We would
     encounter layout (parasitics file) vs. Verilog netlist mismatches
     during post-layout timing analysis.  This forced us to use an Apollo
     netlist generation strategy within Astro in order to bypass these
     issues.  Astro also had some runtime issues in completing CTS on large
     designs.  A design was taped out with 3 different versions of Astro;
     one being a "trusted" baseline release, another version to combat long
     CTS runtimes, and another to generate timing views of completed P&R
     blocks to drive top-level P&R. 
   
     Our overall transition to Astro has been OK, and for the projects that
     used Astro, the feedback is that Astro performed a much better job
     than Apollo/Saturn.  Many algorithms were introduced or improved in
     Astro that make the tool run much faster and perform much better
     than Apollo.

     In one design, Apollo spent about 48 hours on a well endowed machine
     to perform metal density fill, whereas Astro, on the same design and
     same machine, completed the job in 10 hours.  The Linux version of
     Astro can complete the task in 1/5th the time."

         - [ An Anon Engineer ]


    "Our Apollo to Astro transition was full of gotchas.

     Serious problems with dual-port RAM's.  The Artisan DPRAM compilers
     generate memories that have two separate clocks (one for each port) and
     places a constraint between the two clocks to guarantee you will not
     try to write to one port and read the same location from the other port
     within X amount of time.  They do this by placing a hold time
     constraint on each clock with respect to the other clock.  This forces
     the timer to look at each clock port as both a data port and a clock
     port.  While Apollo had no trouble with this concept, Astro choked.

     Patch issued.

     The timer is VERY flakey.  Astro got confused when it saw the clock
     signal going through an inverter to create clkn (the timer would stop
     propagating the clock once it get to the inverter.)

     Patch issued.

     We also saw instances on the clock tree reporting propagation times
     with 10-20 digits, NaN's, etc.

     Patch issued.

     Clock skew reports give outrageously large (~10 nsec) skew numbers.
     You run the timer again, then another skew report, and the problem
     goes away.  Synopsys has observed this behavior on other designs.

     Patch pending.

     Makes me wonder:

         1) Are we the first ones to use Artisan's dual port RAM's (or
            any other RAM that forces these constraints)?
         2) Are we the first ones to see problems with the clock tree?
            Our clock distribution is as simple as it gets: no gated clocks,
            just one inverter that goes to one instance.
         3) Has anyone else taped out with Astro?


      You ask: Is Astro better or worse than Apollo?

      Astro gives better QoR and it is definitely faster (2x) executing."

         - Roberto Landrau of Mitre


    "Astro does 0.18 well.  Very much a step up from Apollo.  Hassles at
     0.11.  Cadence and Magma, too.  Who gets to 0.11 first will own the
     backend for the next 18 months."

         - [ An Anon Engineer ]


    "Our vendor uses a DC-to-netlist and Astro (re-buffer only) flow.  Astro
     seems to do a reasonable job although to date has been very Beta-like.
     Hopefully we've found the kinks and our next layout will go smoother.
     We still have to margin the synthesis to death since we rely on (yuk)
     wire-load models, but Astro does clean up the buffering quite well."

         - Lance Flake of Maxtor


    "We use Synopsys DC and Astro.  Might move to PhysOpt on our next
     design.  We here have not really looked at the others, the layout
     group has but I don't know the results except that they are using
     Astro."

         - Bob Lawrence of Agere Systems


    "Apollo -> Astro is quite easy but still a little painful because
     the release SW quality is as worse.  Astro routing is a lot faster
     than Apollo, plus Astro runs at Linux.  But be aware that exchanging
     between Apollo and Astro database is not as smooth as they said.
     There're some minor while critical bugs in the interface."

         - [ An Anon Engineer ]


    "The transition from Apollo to Astro seem to be painfree for us.  A
     little suprise in the way they treat the high fanout net synthesis as
     clock net which Apollo works better.  It is hard to compare apple to
     apple among Astro/PhysOpt and Magma/Monterey but Magma seems to be able
     to handle some hard to finish blocks better than Astro/Apollo to meet
     both timing and routability."

         - John Zhang of Broadcom


    "Session 3 - Physical Design Methodologies
     
     1:45 - 2:30 -  PhysOpt vs. Astro: How far can we push
     
     Comparison on placement between PhysOpt and Astro.  Compares placement
     area and timing closure.
     
     Unfortunately, it became clear that their comparison was Apples to
     Oranges because they did very different things when running both
     tools, and they did not compare final timing (so are results were
     useless).
     
     Q. Did you use area recovery in any of the runs?
     A. No
     Q. Did you compare routed timing?
     A. No"

         - Santiago Fernandez-Gomez of Pixim, Inc.


    "Astro is very smooth, took me 1 day to finish.  In the terms of timing,
     it's the best, but its turn around time is much longer than Cadence.
     We adopt SoC Encounter instead of Astro/PhysOpt."

         - Tie Li of Applause Technolgy


    "Have not done Apollo to Avanti switch.  We are currently using Apollo
     and Sequence's Physical Studio.  Yes, Synopsys has been pushing us for
     upgrades.  But it costs arm and a leg.  Our current DC/Apollo flow
     works great.  We really don't see any compelling reason for paying
     them more money for Astro."

         - [ An Anon Engineer ]


    "OK.  I expected more.  We use Astro.  In comparison to Jupiter-XT,
     Sequence's Physical Studio is pretty good for large designs, at least
     their data says so.  Celestry is more comprehensive."

         - [ An Anon Engineer ]


    "Magma's toolset is much better integrated, whereas Synopsys has a ways
     to go before they can claim seamless integration.  We've had tons of
     problems getting a Synopsys binary format (.db) out of PhysOpt into
     Floorplan Compiler, for instance."

         - Neel Das of Corrent Corp.


    "I've not worked on a project that is willing to transition to Astro
     yet, and thus have little to no valuable information to give here.
     Do I think the transition has gone smooth?  NO.  Simply said, they are
     asking for more $ for Astro.  In the current economy, if you are
     getting it done with Apollo, why pay more?  There's no injunction here
     to force a migration like from Aquarius or ArcCell.

     Is Astro better?  Without having used it, I would guarentee it's
     better.  It's a silly question to ask, as I see it.  You might as well
     ask, "Have loads of Avanti R&D spent the recent years doing nothing?".

     I haven't used Cadence/Magma/Monterey's equivalent toolsets."

         - [ An Anon Engineer ]


    "Using Cadence Silicon Ensemble and moving towards Avanti Astro.  But
     prefer Magma environment with one single timing engine!!  SE is easy to
     use but a pain to do manual routing!  SoC Encounter same problems.  In
     Astro it's almost impossible to do manual routing.  Remember we're doing
     mixed-signal designs.  For simple digital chips both routers work.  A
     good router should handle manual routing of sensitive nets, pin movement
     and re-shaping of blocks the easy way not using work-arounds.  Let's
     express it this way: SE with Virtuoso-XL capabilities would be a killer,
     or so would Astro with Cosmos capabilities."

         - Bengt-Erik Embretsen of Zarlink Semiconductor


    "I don't know how Astro behaves because some gods in our company decided
     to dump Avanti and go for the Cadence backend flow.  OK.  Cadence First
     Encounter is a NIGHTMARE."

         - [ An Anon Engineer ]


    "PKS was dead on arrival the day Cadence bought it.  Too many bugs.
     Astro is the same shit, different day."

         - [ An Anon Engineer ]


    "The Apollo-to-Astro transition was smooth for us, largely because Astro
     itself is not very buggy.  The main change with Astro is that it has
     many more hammers with which to hit the problem of timing closure.

     Astro stipulates that for every command in the process (placement,
     clock tree synthesis, routing, crosstalk fixing) it will not perform
     optimally, so it provides "Post-" stage timing clean-up commands (Post
     Placement Optimization 1, PostCTS Optimization, Post-Global Route
     Optimization, etc).

     At first you wonder why they don't just put these into the original
     command, but as you start working on specific blocks, you find out that
     you have to specially configure the commands on a block by block basis
     in order to close timing.  The setup- and hold- fixing options tend to
     fight with one another -- set one too strong and you break timing.  Set
     the options too weak and you don't make timing....  There is one
     command (pdsCROptimization) that tells Astro to work on every path that
     has negative slack.  This is helpful for blocks where there are a few
     paths that Astro will never be able to fix timing on for pathological
     reasons.  In the past, Apollo/Astro would not work on all the paths
     that were negative but not as bad as the worst path.   This just short-
     hands the process of fixing timing by hand at the end of the day.   We
     ended up with several mini-flows on a chip.

     There is no "one-size-fits-all" Astro set-up, but the overall approach
     by Astro is pragmatic enough that you can finish a chip with only a
     minimum amount of intervention as compared with the Apollo days.

     We also found that for the lower technologies (0.13 and below) Astro's
     congestion maps are not always very accurate.  For blocks that have
     lots of flops, Astro's placement map and global routing map can be
     radically different.  But it gets worse: Astro's global route map can
     be absolutely clean and you can still get thousands of route violations
     in hot-spots that were never previously predicted in either map.  This
     seems to be due to clock nets that have special widths and spacing
     associated with them.  For blocks that have large amounts of feedthrus,
     again the Astro congestion maps are not very helpful at the routing
     stages -- antenna cleanup can be ruined by 'river-routing' that occurs
     when a large bus goes across the block.  The extra vias needed to fix
     the antennas cause hotspots to appear in a previously clean block.
     Similar problems occur with crosstalk fixing."

         - Margaret Valliant of ReShape, Inc.


    "The Astro product is better than Apollo from both a capacity and timing
     closure point of view.  As for gotchas, he pain threshold required for
     operators of the Astro environment is high.  (It's the only tool flow
     that requires a more experienced operator to use properly is the
     Cadence solution.)  Astro users are already 'numb' to operator pain, so
     it does not  seem too bad, but to early learners it is pretty severe.

     The Astro/PhysOpt combo is a bit better than it was pre-merger.  It
     seems like a lot of work to get the design through.  The Magma solution
     is not quite as tight and does not necessarily give you more margin;
     but it does meet timing and die size with a lot less grief than the
     Astro flow.  A Magma user can also be an engineer with less tapeout
     experience, and still provide a qualified design.

     I have just started playing with the high end MTCL API interface to
     Magma which should allow the power users to push the technology and
     play on the bleeding edge where Astro lives.  It seems to work well,
     especially when you start from the baseline solution that the tool
     provides in standard mode vs starting from ground zero like Astro."

         - Pallab Chatterjee of SiliconMap


    "I mostly do physical design using Cadence's Silicon Ensemble.  We are
     now moving to use First Encounter."

         - Mark Gaffen of Motorola


    "We are starting an evaluation of Astro/Jupiter/Hercules/NanoSim/Cosmos
     this week.  So far, we have no experience with this backend tools from
     Synopsys.  Was always a Cadence user before."

         - Santiago Fernandez-Gomez of Pixim, Inc.


    "We only have a very small design, albeit one with a very whacky aspect
     ratio.  Astro running on Linux was a dream.  Apart from performance,
     the Astro clock skew management and timing & buffering improvements
     were very impressive.  We did not purchase it yet (due to economic
     conditions.)  Migration was a snap and the AE support was excellent."

         - Shiv Sikand of Matrix Semiconductor


 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)