Beruflich Dokumente
Kultur Dokumente
Johnie Au
Cypress Semiconductor
San Jose, USA
www.cypress.com
ABSTRACT
Template-based power network synthesis provides the means & flexibility to quickly tune-up the
power grid by turning some parametric knobs of the templates to adapt to on-going placement
and routing changes during floorplan exploration phase. It is extremely crucial for Low Power
System-On-a-Chip (SOC) to have precise power grid design to minimize multivoltage supply
variations for optimum performance due to on chip voltage variations. By specifying coordinates
of desired rectilinear power plan regions for the template, different favors of power network can
be built accordingly to the power requirement. As power network is mostly driven by placement
of I/O, macros and standard cells, clock tree and signal congestion, rectilinear power plan regions coordinates can be calculated from the bounding box of any cells or features on the chip
with respect to the core area. By using the basic polygon operating functions in IC Compiler,
complex power plan regions serving various purposes can then be derived quickly and easily
without too much effort. The paper will attempt to discuss a few examples and illustrate their
applications.
Table of Contents
1.
Introduction ........................................................................................................................... 3
2.
Low Power Integrated Circuits demand adaptive power nework design ............................ 3
3.
4.
5.
Conclusions ......................................................................................................................... 13
6.
References ........................................................................................................................... 13
Table of Figures
Figure 1. Simple Design with Single Power Domain ..................................................................... 3
Figure 2. Multiple Power domain and Voltage Area. ..................................................................... 4
Figure 3. Power swtich array in Shutdown Domains .................................................................... 4
Figure 4. Dynamic IRdrop with package RLC .............................................................................. 5
Figure 5. Template-based PNS Flow Chart .................................................................................... 5
Figure 6. Simple Power Plan Region .............................................................................................. 6
Figure 7. Complex Power Plan Regions ......................................................................................... 6
Figure 8. Using "compute_polygon " inline with "create_power_plan_regions" ........................... 7
Figure 9. Template for Top Metal Layer N, N-1 ............................................................................ 8
Figure 10. 2 top layers (N) versus Single top layer (N) with jumpers (N-1) ................................. 8
Figure 11. Application for XOR and RESIZE ............................................................................... 9
Figure 12. Overlapping irregular shaped macros ......................................................................... 10
Figure 13. Resized then OR before power plan region creation ................................................... 10
Figure 14. Column of MTCMOS in a power domain ................................................................... 11
Figure 15. create_power_plan_regions ... get_cells *mtcmos* .................................................... 11
Figure 16. MTCMOS power strapping ........................................................................................ 12
Figure 17. Centroid of a polygon ................................................................................................. 12
SNUG 2012
1. Introduction
This paper reviews the usage of Template-based power network synthesis and explore the possible application with the help of basic polygon operations supported in ICC. The Templatebased power network synthesis flow was first introduced in 2010 SNUG. As described in the
paper and application notes, this flow helps to automate multivoltage power network design for
integrated circuits. Power plan region was introduced as yet another user defined region to
bound dedicated power network based on voltage area, polygon list, group of macros or the core.
The flow works perfectly with simple rectilinear shaped features and polygons but sometimes
stumbles on multivoltage design with irregular shaped or overlapping features. Luckily, the flow
can be enhanced as the irregular shaped features can be pre-processed and reshaped all within IC
Compiler using the supported basic polygon operations.
SNUG 2012
Advanced low power design may also have on-chip power switches of different type (Fig.3) to
control power supply in the shutdown power domain to conserve power when the block is disabled. The number of power switches must be sufficient to support functional as well as scan
switching current requirement.
Low power SoC feature sets are evolving quickly as the mobile market and touch screen market
are expanding. As complex power grid plays an important role in floor planning, being able to
rapidly generate a prototype power network is advantageous in speeding up the entire place and
route process. Traditional power design approach is to layout a general power grid manually and
modify and enhance as needed, mostly due to design change, voltage area change, ir drop feedback and others. Nevertheless nowadays low power designs power grid interact with cell
placement quite often especially with power management cells like power switches, level shifters
and isolation cells. Any change in power management cells triggers power grid ECO. Worst of
all, static and dynamic voltage drop final feedback also come at the end close to tapeout. Any IR
SNUG 2012
drop surprises (Fig.4) which requires power grid enhancement would definitely stall tapeout.
Only if we can better predict the low power architecture, the cell placement, the potential buffers
or repeaters needed, the power consumption profiles, that we can design and build a bullet proof
power grid sitting on the shelf waiting for tapeout.
As shown in (Fig.5), the template-based flow allows user to create new regions, so call power
plan regions, on the floorplan. These regions are solely for power grid creation guided by the
power grid strategies and templates for creating complex multivoltage power grid. In other
words, power plan regions are physical regions which are defined to bound the implementation
of the selected template. With a set of predefined templates, of which dictates the metal strapSNUG 2012
ping specifications, the power plan strategies then select the appropriate templates for each
power plan region for specific power net and further re-shaping of the region. Power plan regions
are simply rectilinear physical regions. Simple power plan regions could be just a group of voltage areas, including or excluding a selected set of hard macros like I/O or memories (see Fig. 6).
Plan Region
For multvoltage design, the power plan regions would look a little busy (see Fig.7).
SNUG 2012
As shown in Fig.7, complex power plans consist of many groups of irregular shapes of hard macros; disjoint voltage areas, always-on regions all over the chip. One example to automate the
generation of all necessary power_plan_regions, without stretching them manually, is to use a
foreach loop on the voltage_areas collection. Nevertheless, voltage areas often do have the optimal shape for laying down power ring and power grid as its purpose is for cell placement only.
To make use of the floorplan features and create usable power plan regions, the existing features
polygon coordinates must be re-shaped for the automation to be usable. The create_power_plan_regions"command does have options to remove notch and jog and expand but
lagging options to merge polygons and does any AND, OR, NOT, XOR functions. Nevertheless,
as described in reference.2, IC Compiler(s) can perform the basic polygon operations. And to
streamline the polygon merging, for example, before running the create_power_plan command,
once can run the polygon operation inline with the command as shown in Fig.8.
As power plan regions can be derived from any existing floorplanning features. With the help of
basic polygon operations supported by IC Compiler , complex power plan regions can then be
derived automatically and react instantly to any floorplan/macro placement updates along the
entire design cycle. Basic Polygon Operation Commands are convert_to_polygon, compute_polygons, convert_from_polygon, get_polygon_area and resize_polygon.
SNUG 2012
Another application of pre-processing the polygons before feeding into create_power_plan_regions is as follows. Generating top level power grid with top metal layer N
and Layer N-1 is straight forward using the template for the 2 layers as shown in Fig.9.
However, to generate a top level power grid with only the Layer Metal N, allowing only jumper
in Layer Metal N-1 is tricky.
Figure 10. 2 top layers (N) versus Single top layer (N) with jumpers (N-1)
SNUG 2012
One solution is to make use of the polygon operations like OR and XOR.
SNUG 2012
Besides basic power plan region formation, custom power plan or power grid can be accommodated with a twist of the flow. For instance, resize_polygon seems straight forward but can be
quite powerful if use wisely. For example, design with hard macro of irregular shapes cannot be
simply grouped to form a power plan region if macro overlapped and causing self-cutting polygon (see Fig.12) when grouped (OR) together, due to tool limitation.
By simply resizing the left macro to the right before ORg with the macro to the right (see
Fig.13), the self-cutting polygon is eliminated and therefore forming a legal and desired power_plan_regions.
SNUG 2012
10
In Fig 14. multiple columns of MTCMOS (header cells) are placed and required lower layer N-3
vertical as well as Layer (N-2) horizontal strapping to the Top Layer N strapping right on top of
the columns. One way to accomplish the task is to form a power plan region around the
MTCMOS cells ( see Fig 15. )
However, the columns are bound together to form a single polygon which includes an unwanted
channel between columns. To get ride of the channel, polygon coordinates of the
power_plan_region can be extracted by:
get_attribute [get_power_plan_regions pp_mtcmos] points
and then the resulting polygon coordinates specified by the points can be recalculated to get
ride of the unwanted channels.
Finally, vertical and horizontal straps can be generated by the template-based flow as follows:
Set_power_plan_strategy strategy_mtcmos_merged \
-power_plan_regions $pp_mtcmos_merged \
-nets {vccd vccd_virt} \
-extension {stop:first_target} \
-template $scrdir/mtcmos.tpl:met23_strap
SNUG 2012
11
Calculating and displaying the Skeleton & centroid of a polygon helps build a rigid grid.
The centroid can be defined as the point about which the polygon would balance if it were cut
out in plywood of uniform thickness and suspended.
Figure 17. Centroid of a polygon
SNUG 2012
12
values to further automate the power strategy decision. In additions, if the power plan region is a
shutdown power plan which requires power switches, the number of power switches can also be
derived automatically based on the power consumption and the driving capabilities of the power
switches.
5. Conclusions
Template-based Power Network Synthesis, combined with the basic polygon operations, provides a flexible and automated flow for generating or prototyping complex power network for
integrated circuits. Nevertheless, more polygon operations can be added to enable even more
complex operations which would ease polygon formation. I would also like to see power consumption values as an input in the template-based power network to automatically derive the
number of stripes needed to meet voltage drop requirement.
6. References
[1] Synopsys Template-Based Power Network Synthesis Application Note Version E-2010.12-SP2,
March 2011
[2] Synopsys Basic Polygon Operations in IC Compiler Application Note Version C-2009.06, December
2009
SNUG 2012
13