( 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
|
|