Power Analysis Using Astro Rail PDF
Power Analysis Using Astro Rail PDF
by Vincent GRENET
STMicroelectronics Digital TV division
with contributions from Emmanuel PLUCHART
Synopsys France
Abstract
This paper describes a general design methodology, developed by STMicroelectronics
Digital TV group, for integrating voltage drop analysis in a hierarchical digital
implementation flow, using Synopsys’ Astro-Rail tool. The paper consists of two main
sections. The first part details the portion of the flow that is used to prepare, input the data
and describes the creation of macro models for hard blocks. The second part specifies the
steps that must be taken to fully analyze the data. The paper demonstrates how the usage of
the macro-modeling methodology for soft blocks can improve the performance and reduce
the turnaround time and hardware requirements during the hierarchical analysis flow.
STMicroelectronics Digital TV group has already applied the flow described herein to
a number of successfully taped-out designs. In some cases, Astro-Rail has helped to highlight
certain failures due to unconnected power rails or missing vias.
Table of Contents
Table of Figures
Fig 1: Design vehicle floorplan ...............................................................................................4
Fig 2: Physical implementation flow chart ............................................................................5
Fig 3: mkLibGen usage ...........................................................................................................7
Fig 4: Power analysis flow chart.............................................................................................9
Initially, power analysis using mainly voltage drop and electromigration analysis tools
was included to fulfill LVS checks, however as power constraints become more and more
critical in our designs, it has become apparent that we need new approaches for tackling the
power issues. Today main power analysis tools applications are power grid validation,
relative power consumption estimation, power pads count and placement optimization.
There are some EDA tools available on the market to address the above needs, dealing
with some major issues, such as capacity, runtime, and data preparation complexity, which
are key for this type of tool/methodology. Some of these tools are more accuracy-driven, with
important hardware needs, but they generally come too late in the flow as the tape-out
database has to be used. In other tools, modeling is quite complex, but they solve
performance issues with no certified quality of results.
STMicroelectronics’ Digital TV division CAD team has deployed Synopsys’ power-
analysis solution based mainly on the Astro-Rail tool, taking into account the following
characteristics of the main platform:
• .lef/.def as worldwide open standard or based on Milkyway database
• Support for various sets of modeling from black box through grey box to accurate
white box model
• Support for various methodologies from full top down to a full flat implementation
style
• Scalable accuracy from cell-based to transistor-level simulation to allow everything
from prototyping to signoff analysis
Analog IPs
Fig 1: Design
vehicle floorplan
(milkyway based)
MILKYWAY database
mkLibGen
Top down
Today’s complex designs must employ hierarchy in order to better meet both time-to-
market and design constraint concerns. The use of hierarchy in the design, when combined
with the hierarchical nature of an analysis tool, such as Astro-Rail, can improve flows to
reduce turn-around time and hardware requirements during the analysis stages.
The solution is to enable a macro-modeling flow that provides both the accuracy of a
flattened solution and the capacity of a hierarchical analysis mode.
When the blocks, which will possibly be used and re-used in multiple projects, are stored
in the reference libraries, the macro-models created from these blocks will be stored in the
reference libraries, too. Thus when the top-level library is linked to the reference libraries, the
tool will detect the existing models and utilize that data instead of re-extracting it from the
block details. The reference library thus represents a complete collection of data for the block
in question, which can be ported to any new designs.
In the Astro-Rail tool, both the white-box and the gray-box macro-models are stored in
the .PARA view directory of the database. As such, they do not contain directly viewable
data. This is in contrast with the .CEL (layout view) and .CONN views of soft and hard
macros we will be dealing with on the way to generating the macro-models. These visual
collections of information are utilized in the complete hierarchical analysis of a design, and
represent the most costly method, in terms of memory and runtime, of performing rail
analysis. One of the benefits of the macro-modeling technique is the improved performance.
Another benefit of the macro-modeling methodology is that each single macro only needs to
be processed once, no matter how many times it is placed in the top-level design.
The difference between a gray-box model and a white-box model is in the level of
abstraction. Using a white box macro in analyzing a hierarchical design during the top-level
analysis runs longer and requires more memory usage because you can see the power and
ground nets inside the macro — but no cell placement or signal-net routing information — of
a white-box when displaying top-level analysis results on the voltage drop or electro-
migration maps. A white box macro is not directly viewable, compared with a .CEL or
.CONN view, but it can be seen in the resulting rail analysis output.
A fully integrated and push-button in-house tool, mkLibGen, has been developed, using
Library Compiler, Hercules, and Astro, to perform data preparation. From the worldwide
standards, such as .lef, .gds, and .lib, all Milkyway views are generated as a layout view
(.CEL), an abstract view (.FRAM), timing views (.TIM and .LM), and power views (.CONN
and .PWR if described in .lib). Based on a perl template module, mkLibGen delivers a
SNUG Europe 2005 6 Power analysis
in
hierarchical implementation flow
custom scheme script per library and technology. mklibGen is fully incremental, which
means that the existing Milkyway views are stored and others can be generated, when the
required data are available.
Usage : mkLibGen -name <library name> -lib <library path> [-lef <.lef file>] [-stf_bc <best pvt .lib file>] [-
stf_wc <worst pvt .lib file>] [-gds <.gds file>] -pvt_bc <best case opcond> -pvt_wc <worst case opcond> [-tf
<.tf technology file>] [-mapIn <stream-in mapping file>] [-mapOut <stream-out mapping file>] -tech
<technology name> [-io|core|macro] [-simplify] [-nouniquify] [-suffix <suffix string>] [-power] [-top <top
cell(s)>] [-dbModel] [-pdbModel] [-nbti] [-tileLib <milkyway unit tile library>] [-d] [-h|-help]
A connectivity view (.CONN) is build from the .gds layout description file using
Hercules and Astro. As all .gds extractors, Hercules needs to find certain labels in the layout
description in order to identify design ports. In our case, especially the power ports have to be
described. Unfortunately, IP layouts do not share strict development guidelines and are, in
most cases, hierarchically build. . They are a collection of small parts, which have been
developed and validated separately, so that for power ports a deep AVSS label can be called
VSS at top level and vice versa. In the same way, some global node or virtual connectivities
syntax can exist. This is a big issue for the layout analysis, as many shorts or opens are found
when the flat extraction is performed.
The connectivity (.CONN) views represent the power and ground network of the hard
macro. The method we have chosen to generate these views is based on the Hercules
connectivity engine and the poCreateConnViewByHerc command, called under the hood by
mkLibGen. Astro-Rail automatically generates a Hercules runset, based on the values
provided in the command window. The Hercules run extracts connectivity from the .CEL
view and generates in the specified database a flat view of the power/ground network
material only, called .SMASH view. Subsequently, Astro-Rail automatically uses this
.SMASH view to create the CONN view of the cell in the same library. In the working
directory, a file called ‘runset.ev’ is generated, used by the tool to create the .SMASH view. If
multiple runs are performed, the runset file will be overwritten each time with the new
information. The normal output files from a Hercules run will also be created in the working
directory.
The second portion of the macro-model of a hard macro describes where the current (and
hence the power) is drawn off of the power/ground network. mkLibGen uses the
poGenCurrSource form to create a draw on the power/ground network at the locations of
intersecting metals. The cell in question must already have its .CONN view created. The
current source locations are intersections in the power/ground network for the individual nets.
Hence if a metal1 vdd rail intersects with a metal2 gnd rail, this location will not be used for a
current source inside either net. After the command has finished, the current source file (csf)
will be appended to the .CONN view in the Milkyway library.
Once the Current Source File is attached to the .CONN view, the white-box model of the
hard macro is created, using the poPGExtraction command. It extracts the power and ground
nets and saves the white-box model in the PARA directory.
The Astro-Rail extraction engine supports the Table-Look-Up Plus (TLUPlus) models
from Star-RCXT for resistance and capacitance effects on power and ground nets. This
allows Astro-Rail to accurately handle advanced process rules.
A soft macro is any top-level component that has to be placed and routed. It can contain
standard cells, hard macros, or other soft macros. The .CEL view of a soft macro is used to
create the white-box. Before creating the white box model, it is necessary to proceed through
several stages. In particular, the power analysis stage needs to be performed (which requires
the loading of power supply voltages, net switching information, and possibly 3rd-party
transition times) and the power/ground nets need to be extracted.
Database clean up
poPurgePowerInfo + poCleanupExtraction
Once the power analysis and PG extraction stages have been completed, the white-box
model for a soft macro is generated using the poGenWhiteBox command. A rail analysis is
also performed for the designer to get an early check on the voltage drop of the soft blocks
and a .CONN view of the block is generated.
The soft macro modeling takes approximately 4% of the total netlist to gdsii runtime.
Here is an example:
o ~350k instances + 62 memory cuts
o Cmos090
o 166Mhz clock frequency
o 25 hours runtime to execute full P&R single pass flow (Opteron 2Ghz hardware)
o 40 minutes to run full power analysis using 2.5Go memory:
activity propagation
voltage drop analysis for power and ground nets
electromigration analysis for power and ground nets
design power consumption reporting
design power modeling
To ease the top level integration, soft block packaging as the latest mkAstro step is
implemented. All worldwide standard formats have been written out before for signoff
purposes. But to use the advantage of working on an integrated framework through the
Milkyway link, a binary library is generated per soft block. The main characteristics of this
library are:
• Without a detailed implementation context, which means no absolute nor relative
paths are kept any longer and thus no reference libraries are linked.
• Self-contained, but as light from the disk usage point of view as possible.
• Allowing full accurate top level integration and refinement
Five major steps are performed to build this library:
• Using geMakeMacro abstract, .FRAM view is created.
• From the Astro timing analysis, timing modeling is performed using
astTimingModel native command. All timing arcs are described in a .TIM view as
all clock pins properties.
• From a previous Astro-Rail power analysis, the white and grey box modeling
.CONN and .PARA views are kept.
• From Astro or StarRCXT RC extraction, a parasitic modeling is generated and RC
.PARA view stored.
• Using Astro axComputeHierAntennaProp, the native command antenna modeling
is done.
• Finally, an Astro stream in process is done to get a full layout .CEL view. To
secure final .gds generation on the fly, a scheme-based uniquify process is
performed on all child cells.
This Milkyway library allows the top-level integrator to perform design timing analysis, SI
fixing, power analysis, and full stream out in the integrator’s JupiterXT environment.
SNUG Europe 2005 10 Power analysis
in
hierarchical implementation flow
2.5. Top level power analysis
We are running a top-level power analysis under JupiterXT, calling Astro-Rail under the
wood. Astro-Rail’s flexibility allows to perform power analysis (mainly voltage drop and
electromigration analysis) all along the building of the design top-level integration database:
• The full black-box support capability allows to perform a very early power-grid
integrity check, using rough power budgets for each partition. At the same time, this
allows to optimize design padring by trying to get a uniform voltage-drop map in the
early stages.
• Through a smooth bottom-up process, all the detailed soft-block implementation
modeling recurs in the top-level integration database, using mkAstro or mkLibGen
Milkyway libraries. For the top level integrator, this bottom-up process is free thanks
to the Milkyway database. Each soft-block binary library is added as a top-level
reference library and the existing soft block is deleted to allow to link on.
At any time, a preferred macro-modeling style (black box, grey box, or white box)
can be selected, according to the end-user needs.
From the scripting point of view, the top-level power analysis requires the same bundle
of technology files and scripts as the block level analysis. The only difference is in the
description of power pads, which can be handled through an interactive browser by masters
or instances.
As an example, we are listing below the key numbers observed on our 500K-instances
design using 2Ghz Opteron hardware. All these values represent the power and ground
voltage drop and electromigration analysis:
• Library modeling : ~10 hours for all IOs and memory cuts
• Full flat analysis :
o Runtime : 45 minutes
o Memory consumption : 4.8 Go
• Hierarchical analysis :
o Runtime : 1 hour and 50 minutes cumulated
Top-level analysis, following a full bottom-up process : 24 minutes
Block-level analysis and power modeling :
• Soft block 1 : 31 minutes
• Soft block 2 : 32 minutes
• Soft block 3 : 4 minutes
• Soft block 4 : 19 minutes
o Memory consumption : 3.5 Go memory peak
Top-level analysis, following a full bottom up-process : 3.5 Go
Block-level analysis and power modeling :
• Soft block 1 : 1.7 Go
• Soft block 2 : 2.0 Go
• Soft block 3 : 0.3 Go
• Soft block 4 : 1.1 Go
In short, the hierarchical approach provides:
• 27% memory saving
• 47% top-level analysis runtime saving for each top-level iteration, thanks to
modeling, which outbalances the 50% total runtime increase
SNUG Europe 2005 11 Power analysis
in
hierarchical implementation flow
3.0 Conclusions
STMicroelectronics’ digital TV flow for hierarchical rail analysis has been successfully
used in several designs. It saved one day’s work for a designer who misconnected some IOs
to the power ring. Apart from failure analysis, the flow can somehow be used for quantitative
analysis as well. The flow is easy to use because it is integrated into our place and route
environment and it is based on the Milkyway database, used for the implementation flow. The
analysis can be performed early in the back-end design cycle. The macro-modeling
capabilities allow a bottom-up approach and can reduce turn-around time and hardware
requirement on big SoCs. The flow described herein is open, in the sense that any third-party
soft or hard macros can be modeled and re-used during the top-level analysis.
Beyond static, we are also looking into a vectorless dynamic analysis, using the Synopsys
tool:
• The speed of memory interfaces rises each year and we need to pay close attention to
phenomena like simultaneous IOs switching (IOSS).
• Today, first power failures in our advanced chips are observed on silicon during scan
shifting. These observations are the first alerts of dynamic-power issues that need to
be addressed before a functional failure occurs.