( ESNUG 502 Item 2 ) -------------------------------------------- [04/19/12]

Subject: Why we switched from Atrenta Spyglass Power to Apache PowerArtist

> We would like to have some user perspective on RTL-level power analysis
> and optimization.  Specifically Apache PowerArtist/PowerArtistXP and
> Atrenta Spyglass Power.  We are seriously considering using one in our
> next design.
>
>    - [ Puss in Boots ]
>      http://www.deepchip.com/items/0495-07.html


From: [ Elvis Has Left The Building ]

Hi John,

Please keep me anonymous.

We initially used Atrenta Spyglass Power, but after 1 year, we switched over
to Apache PowerArtist; which we've been using for 2 years now.

Our chips are 28 nm in dozens of million of gates.

Below are our reasons for switching to Apache:

  1. Support for mixed-language Verilog/VHDL with good inferencing and
     simulation annotation.

     PowerArtist reads a simulation file, such as FSDB.  Simulation
     annotation is the process of apply the signal activity data to
     the design.  Initially with SpyGlass, we hit a lot of problems
     on the simulation annotation side - we found we were getting
     seriously wrong power estimates, especially in "idle" scenarios.

     We focus mostly on the "idle" scenarios which really stress good
     annotation since basically any non-zero activity that the tool
     infers that's not really there becomes really obvious.  We integrate
     a lot of IP with different coding styles using a mixture of:
     Verilog 95, v2k, SV 2005 and 2009, VHDL, etc.,  and we tend to use
     a lot of newer constructs that aren't as well supported plus
     "structures" and even "generates" which aren't as new but still
     not so well-supported.

     Spyglass had un-annotated percentages in the 4-5% range which made
     our "idle" estimates sometimes off by as much as 3X!  It had our
     designers looking in all the wrong places to save power since the
     activity wasn't real.

     What made the annotation problems worse was that all the top power
     violators were usually bogus because of the annotation problems, so
     our designers first impressions of Spyglass Power was that they
     couldn't trust it.

     PowerArtist's sim annotation was significantly better from the
     beginning.  It started at around 2%, then Apache brought it down
     to 0% within a few months.  This gave us the confidence we
     needed to be able to go to designers and tell them their power
     numbers were too high without having to worry if the power tool
     was making up the wrong activity numbers.

  2. TCL support for generating customized reports (similar to PT-PX).

     SpyGlass Power's lack of GUI and TCL support made it difficult to
     further probe to see where things were going awry.  After providing
     feedback on needing a TCL interface and looking at Atrenta's proposed
     timeline for implementation, we decided it wasn't a good fit with
     what we were trying to do.  This factor and the sim annotations above
     were key reasons for us moving to PowerArtist.

     PowerArtist's TcL interface is much more advanced and allowed us to
     generate customized enable reports which we couldn't do with Spyglass.
     Two years ago it wasn't that much better but today Apache has
     considerably more TCL support and is getting better at a much faster
     pace than SpyGlass.

  3. PowerArtist's overall tool stability was better from the start.

     We ran Spyglass on individual blocks from 100-600 K gates in size and
     it sometimes crashed during power elaboration and had problems during
     VCD importing.

     When we evaluated PowerArtist, we tested it on all the same blocks
     that had failed in Spyglass - PA passed all of them.  (Overall
     crashing was not a huge issue for either tool.)

  4. Regressable, we can generate power rollups quickly.

     Both Apache's and Atrenta's tools met could do this.  Both tools can
     be run in batch mode.  Spyglass is slightly faster but with Apache
     we needed to set up far fewer knobs to get observability.  PA also
     does better offline debug of the results.

  5. GUI quickly highlights problems in the design.

     The PowerArtist interface is much more intuitive than Spyglass.  Our
     designers were able to pick it up and start using it immediately.

  6. Fast FSDB performance.

     Initially PowerArtist's FSDB performance was not too competitive.
     Then I worked with Apache's AE to prioritize this and they put in a
     change which cut their runtime on a 1.5M gate block from 50 min down
     to 28 min.  On very large FSDBs, this had a more exponential speedup
     (like 7x+) for things which were previously way too long to run.

     I don't have good reference comparison data on Spyglass.  When we ran
     Spyglass I never felt like FSDB processing was a huge bottleneck.

  7. Reasonably accurate power estimation - within ~20% of post-layout.

     We used PrimeTime PX as our reference power estimation in "average"
     mode.  We only had a few vectors which were apples-to-apples RTL
     vs gate full-dump and useful for doing correlation studies.

     When we did correlation studies, both tools were within about 20% of
     the post-layout gate-level netlist estimate.  I'm confident with
     further block-specific tuning with Apache we could get the error bar
     under 10%; I'm not sure about Spyglass.

     Both tools seemed to use reasonable methods for estimating parasitics.

     Without good knowledge of the floorplan or the P&R flow (which we
     didn't have at the time) I think both tools had good knobs to enable
     decent power forecasting (table-based wire load models, clock tree
     buffer knobs, etc.)  PowerArtist also adds some knobs to tune power
     based on clock domain frequency.  PowerArtist has better modeling of
     clock gating than Atrenta.

     PowerArtist supports Synopsys Design Compiler enhanced clock gating
     (ECG) and enable factoring.  This is a feature where, for example,
     you have 6 flops each with 3 enables:

                        - (E1 & E2) for 2 flops
                        - (E1 & E3) for 2 flops
                        - (E1 & E4) for 2 flops

     With a minimum bit width of 3, normally none of these flops will get
     a clock gate inferred because each "enable" only goes to 2 flops.
     But with ECG, DC will factor out E1 from all the expressions and create
     a clock gate with the "enable" E1 that goes to all 6 flops.

     Before PowerArtist supported ECG our mostly-"idle" scenarios caused
     the power to be off by 2-4x in many cases, because the tool didn't
     infer clock gates in the right places.

     Now Apache has good correlation on "idle" power numbers, where RTL
     is within 20% of the gate-level number.

     We didn't address this topic with Spyglass but I'm pretty sure they
     don't support ECG.

  8. High-quality reduction algorithms.

     Both tools have fully automated optimization but we didn't use it, as
     we decided early-on that we did not want to have a power tool
     automatically rewrite RTL for our designers.   We instead looked at
     each tool's suggestions and implemented the ones that had the most
     ROI.  (Apache's guided XOR and MUX reduction algorithms were probably
     the most useful here.)

     Overall neither tool found many great opportunities for us to go after.

     Most of the benefit we got were from the more targeted Apache reports
     and using Apache's GUI to interactively probe the power by design
     hierarchy and trace around the schematic and source code.

     The Spyglass GUI had limited functionality and was not really helpful.

  9. Support for black-boxes.

     Our design is very large and hierarchical so we so we want to be able
     to stub out lower-level designs as needed.  Both tools supported this.

 10. Bugs and customer support.

     Apache has much better customer support and bug response than Atrenta.

     Both tools had comparable number of bugs, however, with Apache we were
     able to mitigate those issues without much negative impact, due to the
     support we received from their Apache AE.  She would either get us
     scripting workarounds, or would work with R&D to get us a patch within
     a 1-3 days - she almost always gets the issue triaged same-day so we
     can best assess what to do next to solve high-priority problems.

     In contrast, Atrenta support was often slow and we were not impressed
     with the AE we were working with (taking more than a month to solve or
     triage issues that could have taken 2 days).  Even after talking to
     Atrenta R&D and architects for tool enhancements, support for a Tcl
     power interface was more than a year-and-a-half away.  I got the
     impression that their power tool was not on the top of their priority
     list -- in my mind Atrenta is mostly a linting company.

In short, we switched from Spyglass Power to PowerArtist because of all the
issues we experienced above.  I hope this summary helps your readers.

    - [ Elvis Has Left The Building ]
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)