Академический Документы
Профессиональный Документы
Культура Документы
User Manual
No part of this document may be reproduced or transmitted in any form or by any means, electronic, or
mechanical, for any purpose, without the express written permission of Apache Design Solutions, Inc.
This manual and the program described in it are owned by Apache Design Solutions, Inc. and may be
used only as authorized in the license agreement controlling such use, and may not be copied except in
accordance with the terms of this agreement.
Disclaimer
Apache Design Solutions, Inc. makes no warranty of any kind, expressed or implied, with respect to
software or documentation, its quality, or performance. The information in this document is subject to
change without notice and does not represent a commitment on the part of apache Design Solutions, Inc.
All trademarks are the property of Apache Design Solutions, Inc. All other trademarks mentioned herein
are the property of their respective owners.
apache_sales@ansys.com
apache_support@ansys.com
www.ansys.com
INTRODUCTION ........................................................................................................................................ 4
Chapter -2.................................................................................................................................................. 11
Chapter -3.................................................................................................................................................. 30
Chapter -4.................................................................................................................................................. 44
Chapter -6.................................................................................................................................................. 69
INTRODUCTION
RedHawk-GPS is a Power Grid prototyping tool targeted for designing an optimum power grid spec for
the chip considering various power, noise, reliability aspects across chip, package and system.
RedHawk-GPS can be used to create power grid prototype and perform various early analysis using
RedHawk and automatically optimize the power grid to come up with the best power plan for a chip.
RedHawk-GPS is targeted for enabling true power grid design for SoC designs. The main focus behind
RedHawk-GPS is to enable quick power grid prototyping iterations to help user come up with “design
dependent” power grid specs which meets the power requirements of the design.
RedHawk-GPS : Features
Floorplan
Import/Creation
Routed DEF from 3rd Party
OR Tools
PDN creation
Power Analysis
Early RH Analysis
PDN Optimization
Manual/Automatic
Floorplanning: RedHawk-GPS can be used very early in the design cycle, even before the Floorplan is
ready. The tool allows user to create black-box level floorplan. User can define PG nets, draw new
blocks, modify existing blocks and create placement/routing blockages etc using GPS. GPS can also
import an existing Floorplan DEF and build the power grid on top of it and also Import a Routed DEF and
perform PDN Optimizations on the imported Routed DEF
PDN creation: Power grid creation option has several features for creating mesh, ring, switch array,
bump array etc for creating a structural power grid. GPS can save the power grid spec inside the DB, so it
is easy for the user to make quick power grid related changes later. User can also draw custom/manual
routes in the GUI using manual draw/edit creation options. There are extensive power grid editing
capabilities available in the tool which allows the user to perform operations like split, join, stretch, move
etc.
Routed DEF Import: RedHawk-GPS has can be used to import Routed DEF’s 3rd party tools. DEF
can contain the PG routing information as well as placement and signal routing details.
RedHawk-GPS can be used to perform early analysis and optimization of the designs imported
from 3rd party tools.
Power Analysis / Assignment: One of the biggest challenges in performing early IR drop analysis is to
get accurate power numbers for each block in the design. If the user already has this information
available, GPS allows him to interactively do hierarchical power assignment for different regions in the
design. If power number is not available, GPS can automatically caluclate the power from gate level
power calculation using RH-PS(Stand-alone Powerstream). User needs to provide Verliog netlist, SDC,
etc for doing this. Based on gate level power calculation results, GPS will automaticaly assign the power
number for each block for IR drop analysis. Similary, for dynamic analysis, GPS can estimate the current
waveform and capacitance number for each block.
PDN Optimization: Based on early analysis results, user can optimize the power grid using GPS
Optimizer. Using GPS, user can clone the design layout in a separate GPS session and do quick
modifications in the power grid. This will enable user to evaluate the quality of different power grid flavors
by comparing voltage drop, pad current, rush current etc. GPS also has an automatic optimization
feature. In this mode, user can provide an IR target and layout constraints for optimization. GPS will come
up with the right width/spacing required to meet user IR target. It will also implement these changes in the
layout and create an automatically cloned GPS session with the new power grid.
GPS Inputs:
GPS requires only Technology LEF as input to do Power Grid Prototyping. GPS can be used to create a
black-box level Floorplan and Power Delivery Network (PDN). Optionally, user can import an existing
Floorplan DEF or completely Routed DEFfrom other PNR tools in LEF/DEF format.
GPS Outputs:
GPS creates a DEF with power grid routing. The DEF will contain all the objects present in the input
DEF, plus the power grid geometries created by GPS.
User can go to “File -> Export LEF/DEF” to Export DEF
GPS also allows Selective Exporting of a DEF. Users can Selectively Export various sections in the DEF,
this can be controlled through “Export LEF/DEF” window.
For placement section, user can control the type of instances to be included in output DEF using “Details”
option as shown below:
Summary:
RedHawk-GPS is a true power grid prototyping solution to perform several what-if experiments to come
up with the best possible power grid spec meeting design challenges. It is tightly integrated with the whole
Chip-Package-System eco-system in Apache flow to provide quick and accurate analysis feedback to the
designer to optimize the power grid.
GETTING STARTED
This chapter will provide an overview of RedHawk-GPS GUI features and concepts. It describes various
topics like how to setup RedHawk-GPS, input reqiurements for running RedHawk-GPS, navigating in
RedHawk-GPS GUI etc.
The main input to the tool is a Setup Tcl File. This file will contain the pointers to various files and some
tool settings required.
The only mandatory input required for running RedHawk-GPS is Technology LEF file. User needs to
provide the pointer to their tech LEF using “data read lefs” command in the Setup Tcl File.
This Setup Tcl file can be sourced in RedHawk-GPS using the following TCL command:
source <Setup Tcl file>
You can find more details about all Tcl commands in Appendix-B.
Invoking RedHawk-GPS:
RedHawk-GPS is bundled as a separate binary inside RedHawk standard installation package. For
invoking RedHawk-GPS, you need to set the following environment variables:
After setting the above ENV variables, RedHawk-GPS can be invoked using the following command:
redhawk -gps
RedHawk-GPS can be executed in either GUI mode or Non-GUI mode. “redhawk -gps” command will
bring up the tool in GUI mode. In this mode, user can perform various operations using different features
This will bring up RedHawk-GPS in GUI mode and automatically execute the command file. Command
file can contain various GPS TCL commands like creating the power grid, executing early analysis,
performing optimization etc.
The same thing can be done in Non-GUI mode using –b switch, like shown below:
This will execute the run command file in Non-GUI mode. User will not be able to see the layout in GUI in
this mode. But, he can still do power grid creation, early analysis and optimization in this mode also.
User can invoke GPS TCL prompt using the following command:
redhawk -gps –i
This will open up a TCL shell where user can execute various GPS TCL commands. User can also
source the run command file here using “source <command-file>” command.
RedHawk-GPS is supported in RHEL-5 & Suse-11 Platforms. Only, Linux 64-bit binary version is
supported.
1 7
RedHawk-GPS allows user to do quick what-if iterations on the power grid spec so that user can do side-
by-side comparison of different power grid layout options. For enabling this, GPS comes with a very
powerful feature called “Session Cloning”. User can clone the entire GPS session in a separate GUI and
make different power grid optimizations in the layout. The icon displayed on the top-right side of the GUI
indicates the session name. By default, when GPS is invoked, it will display “P” as the session identifier to
indicate that it is the “Parent” session.
Similarly, GPS dumps out log files and reports for each session in different sub-directories inside adsRpt
folder. For example, all logs and reports for parent session will be dumped out in “adsRpt/p/” folder.
adsRpt/p/gps.log: This is the central log file containing log messages from all commands executed in
GPS. Every error or warning message in a given type is associated with a unique error/warning code. If
any command encounters the same error or warning more than 2 times, only the first 2 messages are
printed into the central log file.
adsRpt/p/gps.warn: This file contains all warning messages for each warning type.
adsRpt/p/gps.err: This file contains all error messages for each error type.
adsRpt/p/gps.cmd: Every GUI operation in GPS has an equivalent TCL command associated with it.
Whenever user performs an operation in GUI, corresponding TCL command will be written out inside
“gps.cmd” file. This file is very useful for recreating the GPS session. User can execute “redhawk -gps –f
gps.cmd” file to recreate the layout in a new GPS session.
adsRpt/p/gps.replay: This file captures all the actions performed in GUI like mouse movements, menu-
clicks etc. User can replay this GUI replay file using “redhawk -gps –r gps.replay” command. User can
also assign some delay between successive steps using “–replay_delay” switch, like shown below:
By default, GPS shows the Log files from latest GPS session inside adsRpt directory. User can also find
the history for all Log/Error/Cmd files form past sessions under the following directory:
adsRpt/p/Log/
adsRpt/p/Warn/
adsRpt/p/Err/
adsRpt/p/Cmd/
adsRpt/p/Replay/
RedHawk-GPS has a tool-bar widget containing a set of icons available for accessing some of the most
commonly used functions. They are grouped based on their functionality.
Analyze View
Pointing the mouse above any of this toolbar icon will display a tooltip showing the equivalent function.
After loading the Setup Tcl file in RedHawk-GPS, you will be able to see the technology layers in layer
select window (LSW):
Each entry in LSW has 2 check-boxes (V & S). “V” is for controlling the visibility and the “S” is for
controlling the select-ability. There is also an “All-visible” & “All-selectable” check-box at the top of each
section.
There is a “Color/Brush” selection button associated with each object in LSW, which allows the user to
control the details of color and brush pattern used for rendering each layer. When you click on this button,
following window will pop up. User can pick the color and brush pattern for each object from this window.
User can also right click on the Layer Select panel to access more functions like showing all Metal
layers, making all Vias selectable etc.
“Net Select Window” can be accessed using “Net” tab. This panel allows the visibility & selectability of
different nets in the design.
By default, metal and via geometries will be colored based on the layer color chosen in LSW. There is
also an option to color via/wire geometries based on the net names. After creating the power grid, user
can go to the “Nets” tab and click on “Color by Net” button to colorize the geometries based on net name.
With this option enabled, all geometries will be colored using Net color instead of Layer color. This feature
is very useful in displaying various domains in the design using different color.
GUI Navigation:
Following are the most essential shortcuts for navigating through GUI:
Zoom-in: Drag the mouse right button, diagonally from top to bottom; Or, scroll the mouse wheel-
up
Zoom-out: Drag the mouse right button, diagonally from bottom to top; Or, scroll the mouse
wheel-down
Fit screen: Press “F” key
Query Property Window: Select the object and press “Q” key
For example, Zoom-in can be done using any of the following options:
Keyboard shortcut using “Z” key
Using mouse wheel scroll-up.
By dragging mouse right button diagonally from top to bottom
Using shortcut menu icon
More details about RedHawk-GPS key-binding are available in Appendix-C section. “Options -> Keyboard
binding” also has the same details.
There are 2 different ways user can select objects in the GUI:
Using mouse left clicks: Whenever user clicks an object in the GUI, it gets selected. User can do
Shift or Ctrl key + multiple left clicks to select multiple objects together
Rectangle selection: If user draws a rectangle in the GUI using left click + drag , all “selectable”
objects inside the rectangle will get selected
Selected objects can be cleared in the GUI using the following menu shortcut icon:
When an object is selected in GUI, status bar will display the key properties of that object in status bar.
More detailed messages will be displayed in the message window.
Night-vision Mode:
One of the common challenges in selecting objects in GUI is that the object is selected in yellow color,
there could be several other metal/via geometries using similar color shades for rendering. So, it is very
difficult to distinguish the selected object in the canvas. RedHawk-GPS has a special rendering mode
called “Night-vision mode”, where all objects will be displayed in dim mode and only selected object will
be rendered in yellow color. So, it is very easy to distinguish the selected objects in the GUI.
This will display the selected object more clearly in the GUI.
User can query a location in the GUI using “Go To” button in shortcut icons menu.
User needs to specify the xy coordinates for the location to be queried. There is also an option for adding
a marker at the queried location in the GUI.
There is also a search function available to search for different objects in the GUI. This can be accessed
using the following icon (binocular).
This option allows user to search for different objects like Cell, Instance etc.
User can take GUI snapshot images using the following Shortcut menu icon. The tool allows taking
snapshot for just the canvas or entire GUI.
Window Arrangement:
RedHawk-GPS allows different window arrangement options to customize the appearance of different
sub-windows. This can be done using “Window Arrangement” option under “Options” menu.
You can also detach the sub-windows like LSW and Message window using the “detach” button. The
same button can be used to attach the window back to the main GUI cockpit. There is also a “close”
button available to close these windows
Using this option, you can view some of the sub-windows like Perspective view (Bird’s eye-view or World
view) in RedHawk-GPS. These windows are not enabled by default in RedHawk-GPS.
GPS will derive the drawing grid value based on Technology LEF units. For e.g. if the UNITS specified in
technology file is 1000, GPS will set the drawing grid value to 0.001um (1/1000). GPS will not allow user
to draw any geometry below the drawing grid.
In GPS GUI, grid will be displayed when you zoom in very close in the canvas. At higher zoom levels, grid
display is turned off. User can turn off the grid display using “Show Grid” icon in the tool icon bar.
User can also control the default drawing grid in GPS using the following option inside “options ->
Preferences” window described below.
User can control the default behavior for various options using “Preferences” option under “options”
menu. For example, you can control the default grid size in the console using following option.
“Tool Preferences” window has several options available to control the behavior of different features like
Move, Highlight, Grid etc.
There are some other options like “Window Themes” and “Toolbars” under Options menu. They can be
used to change the look and feel of RedHawk-GPS GUI components.
For knowing GPS version, user can access “Help -> About” menu:
User can access RedHawk-GPS user manual using “Help -> Manual” menu in GPS. This will bring up
RedHawk-GPS Manual. Manual can also be downloaded from Apache Support site. The PDF will also be
available inside $APACHEROOT/doc directory.
Help for any TCL command and subcommands can be accessed using “-help” switch.
For example, “db –help”
“db create -help”
“db create net -help”
User can terminate GPS session either by executing “exit” command in TCL prompt or using “File -> Exit”
menu option.
This chapter will provide an overview of RedHawk-GPS Floorplanning related features. RedHawk-GPS
allows creating black-box level floorplan if user has an idea of block size and placement locations. This
feature is very useful if the design Floorplan is not ready for starting the power grid creation experiments.
RedHawk-GPS can also import an existing floorplan DEF and create power grid on top of it or import a
Routed DEF and perform PDN optimizations.
Floorplanning options can be accessed through “Floorplan” menu pull-down as shown below.
Floorplan DEF can be imported using “data read defs” section in the Setup Tcl File. A Fullchip Floorplan
can consist of multiple DEF files; Eg: One DEF file for TOP design and several other DEF files for blocks.
For blocks which are at Floorplan stage will contain only the Floorplan information like macro placement,
std cell rows etc. GPS will allow user to create power grid for such blocks. Some of them can already be
detail routed. The DEF file will contain all routing information. GPS just needs to do pin tapping for these
blocks.
In the “data read defs” section, user needs to specify the type of DEF file imported.
For importing DEF file for the top design, user needs to add “top” keyword after DEF file path.
For importing DEF file for the blocks which are at FP stage, user needs to add “block” keyword
after DEF file path.
The floorplan will be imported in RedHawk-GPS canvas after sourcing the setup Tcl file.
From the Floorplan DEF, RedHawk-GPS only imports the following information, by default:
Floorplan size
Block/Hard-macro placement information
PG net names and Logical connectivity information for different blocks
Std cell rows and placement site information
Block PG pin information
Routing blockages
Placement blockages
User also needs to import the LEF files for cells present in the Floorplan. Floorplan can contain hard-
macros, IOs, Switches, Routed blocks etc. LEF needs to be provided as an input to GPS. LEF can be
imported in GPS using “data read lefs” command.
Note that, the first LEF files provided inside “data read lefs” section should be technology LEF file.
If the design contains power gates, user should provide the switch model file in Setup Tcl file using the
following keyword. This can be generated using APLSW utility available inside RedHawk.
RedHawk-GPS does not import the following information from the Floorplan files in default mode:
Standard cell placement information
Switch instances
Wire/via geometries
If user imports a detailed routed DEF, GPS will extract complete Netlist information, Placement
information, PG Routing and Signal Routing Information. This option is very useful when user wants to
take an existing design and perform power grid related experiments. Optimized power grid spec from
GPS can be used for new version of the design. Note that, this option is not a replacement for RedHawk-
FAO feature.
After importing the Floorplan, GUI will display various Floorplan objects like blocks, routing blockages,
hard-macros etc
GPS doesn’t display standard cell rows and Instance pins by default. User can turn on the display of
these objects using the following section in LSW.
For creating a black-box level floorplan, user needs to define the Floorplan size first. This can be done
using “Floorplan -> Define Floorplan Size” menu. This options pops up the following window:
Here, user can define the Floorplan area details. Core offset is used to define the core area in the
floorplan. Core offset defines the spacing kept between the core area and DIE bbox to accommodate the
IO ring.
User can create black-boxes in the floorplan using “Floorplan -> Draw Region” option. This option is
useful for drawing blocks which are not ready in the Floorplan. After selecting this option, user needs to
draw a rectangle in the GUI representing the block bounding box.
Single left-click to start drawing the rectangle; Release the mouse button.
Start moving the mouse cursor diagonally, GUI will start displaying a rectangle.
Second left click to complete the rectangle.
As soon as user makes the second click, RedHawk-GPS pops up the following window.
This option can also be used to draw nested hierarchical blocks (with more than one level of hierarchy) in
the design. RedHawk-GPS will automatically set the parent block based on the location of the new block
drawn. For example, if user is drawing a block “B” inside an existing block “A”, instance name will be
automatically set to “A/B”. User can also change the parent to any other upper level hierarchies using the
drop-down menu button. Following hierarchical naming convention is very important for making
hierarchical power assignment in early stage analysis.
Menu items in GPS are context sensitive. Some of the menu options will not be active all the time.
For example, “Draw Region” menu will get activated only after Floorplanning related commands are
executed. There is a “Flow Tracker” inside GPS which takes care of work-flow tracking. This will make
sure that wrong options are not executed by mistake causing flow issues at later stage.
Routing blockages can be drawn in RedHawk-GPS using “Floorplan -> Draw Routing Blockages” menu.
After clicking on this menu item, user needs to draw a rectangle in the GUI representing the blockage
bounding box.
Single left-click to start drawing the rectangle; Release the mouse button.
Start moving the mouse cursor diagonally, GUI will start displaying a rectangle.
Second left click to complete the rectangle.
As soon as user completes the second click, the following GUI window will pop up. All the fields inside
this GUI box will be auto-populated by the tool.
RedHawk-GPS is capable of handling objects which are rectilinear in shape. Following capabilities are
supported:
For creating a rectilinear region, “Floorplan -> Draw Rectilinear Region” option needs to be used.
After selecting this option, user can start drawing the rectilinear region in the canvas by following the
steps mentioned below:
Left mouse click on canvas to start drawing. Release the mouse button.
Move the mouse in any orthogonal direction. A line will be displayed along with the mouse
movements. Ruler message will also be displayed showing the length of the line being drawn.
Successive mouse clicks will add stop-over and change direction. User can also continue in the
same direction if needed
Double click to complete the drawing. GPS will automatically snap the last clicked point to the
initial starting point coordinates.
Similarly, GPS can also create rectilinear blockages using “Floorplan -> Draw Rectilinear Blockage”
option.
RedHawk-GPS can draw Placement Blockages also before Power Grid Creation . For doing this ,
“Floorplan->Draw Placement Blockage’ option can be used .
After selecting this option, user can start drawing the placement blockage in the canvas by following the
steps mentioned below:
Left mouse click on canvas to start drawing.
Drag the mouse and create a rectangular region where the blockage needs to be placed.
User can make edits to the blockage name and bounding bbox and then click “OK” to confirm
blockage creation . Blockage will be created in GPS gui as shown below .
RedHawk-GPS can also instantiate existing cells from the library. For doing this, “Floorplan -> Instantiate
Cell” option can be used. This will pop up the following window:
After selecting the cell using cell-picker, user needs to enter the instance name in “Instantiate Cell”
window. There are two options for placing the instance. User can specify the location using exact
coordinates. Or, user can choose “Place Using Mouse” option to directly place the instance in the GUI
using mouse.
There are 3 different ways in which user can define PG net information in GPS.
Using “Define PG Nets window”
Through Floorplan DEF/Routed DEF
Through Setup Tcl file
Here, user needs to define the PG net name, voltage and the net type values. User can also define the
logical connectivity information for the PG net in the window. For defining logical connectivity, user needs
to provide the instance name pattern and the pin name. Wildcards are allowed on instance name pattern
field. For example, if user wants to connect VDD pins of all instances under BLOCK1 hierarchy to VDD1
net, he can define “BLOCK1/*” in the “Inst Pattern” field and “VDD” in the pin field while defining VDD1
net. Once user clicks Apply button, the net will appear in the Net browser panel in the left. Later, user can
select this net and change the properties if needed.
Defining P/G nets through Floorplan/Routed DEF: If user is importing a Floorplan/Routed DEF, the PG
net information will directly come from SPECIAL_NETS section in the DEF. GPS will automatically
populate “Define PG Nets” window with PG net names, Net type. “Show Connectivity” button can be used
to display the existing logical connectivity in the DEF. As DEF does not contain voltage values, GPS will
use some default value (-1) in the voltage filed for these nets. User needs to update the voltage field with
correct voltage values before performing IR drop analysis.
Defining P/G nets through Setup Tcl file: User can also define the POWER & GROUND nets in the
design using below commands in setup Tcl file. GPS will automatically populate “Define PG Nets” window
using the values specified in setup Tcl file. Here also, user needs to update the logical connectivity
information for each P/G net using “Define P/G Nets” window.
If the design contains power gates, user should provide the switch model file in setup Tcl file using the
following keyword. This can be generated using APLSW utility available inside RedHawk. Here is an
example showing how to define these keywords:
POWER-GRID CREATION
This chapter describes various power grid creation features available in RedHawk-GPS. RedHawk-GPS
can be used to create various type of power grid geometries listed below:
Route Mesh
Via Mesh
Core ring and Macro Rings
Switch cell array
Bump Array
Standard cell row straps
Hard Macro pin tapping
These options are available under the pull-down menu named “Power Grid”.
When any of the power grid related featured are executed, RedHawk-GPS will automatically freeze
the Floorplan related features like “Create Region” and “Create Block”. This is because all automated
power grid creation features are tightly coupled with the Floorplan objects. Any changes in the Floorplan
during power grid creation will create consistency issues.
User can create a route mesh using “Power Grid -> Create Route Mesh” option. This will pop up the
following window.
For creating a new mesh, user needs to enter the spec details in the “spec section”. Each spec is
associated with a unique name. GPS User can draw the mesh in multiple nets. ”Select” button associated
with “Nets” entry field will pop up the net picker shown below. User can pick the nets to be included from
this window.
User needs to define width, spacing and group pitch for the mesh. Following diagram gives an idea of
what each of these parameters represent in RedHawk-GPS context.
While drawing the route mesh, RedHawk-GPS can also drop vias to other existing metal layers in the
design. Via dropping can be done to any upper layer or lower layer with respect to the current layer being
drawn. For this, user can select “Drop vias” option. In this, user can choose the lower and upper layers to
be used for via dropping. For example, if user is drawing a mesh in MET3, he can choose to drop vias to
both MET2 (by using “Lower Layer” option) and MET4 (by using “Upper Layer” option). Drop down menu
will by default display the possible Lower and Upper layers based on the current layer being selected for
drawing the mesh. User can also choose not to drop vias in upper or lower direction by selecting “---“ from
the pull-down.
User needs to define the specific area where this mesh needs to be applied. By default, the tool will draw
the mesh in the entire core area. There are 3 options available for the user to select the mesh boundary.
Using scope Browser
BBOX Option: Using mouse, by drawing a bbox in the canvas
Entire core area(default)
BBOX option allows user to draw a specific rectangle in the GUI using mouse.
Select “Use Mouse” option and come to canvas
Start drawing the rectangle using single left click. Release the mouse.
Move the mouse cursor diagonally(without clicking any button)
Another left click to complete the rectangle
The bounding box for the rectangle will be auto-populated in the form. User can also manually edit these
coordinates.
Scope Browser:
Scope Browser is a powerful option for defining the mesh area. It allows the user to apply different power
grid mesh specs for different hierarchies/regions in the design. Scope browser displays the hierarchical
view of all blocks, regions and hard IPs present in the design. User can select or unselect specific
hierarchies in this browser using check-boxes associated with each entry. RedHawk-GPS will draw the
power routes only in the region covered by selected hierarchies. Scope browser can also be detached
from “Create route mesh” window for better view-ability.
Using scope browser user can create complex power grid schemes. Following is an example showing a
complex mesh which can be created using scope browser.
If there are many instances to be selected or un-selected in scope browser, clicking on each
instance name is quite tedious. This can be done easily using Shift key. Click on the first and last instance
to be selected/un-selected after pressing Ctrl key. All instances listed between the clicked entries will get
automatically get selected in the scope browser. After this, right click option will enable a menu (shown
below) where user can check or un-check the selected entries.
While drawing the mesh, user can also define an offset from the outer-most bounding box selected for the
mesh boundary. By default, RedHawk-GPS will use zero offset on all 4 sides so that the mesh will touch
the boundary rectangle. If user wants to keep an offset from the boundary, he can specify the offset on all
4 sides.
While implementing the mesh, GPS starts drawing the mesh from left (for a vertical mesh) or from bottom
(for a horizontal mesh). So, GPS will give precedence to the Left (L) and Bottom (B) offset to compared to
other 2 offset values. For Right (R) and Top (T) edges, user can specify some offset values if he wants to
override the default offset derived based on width/spacing/pitch values.
GPS allows user to choose a specific via-rule for via insertion. In the “ Via Options” tab of “Create Route
Mesh” window, there is a new option available for selecting this.
In this window., GPS will display the list of via layers on the left pane. This list is displayed based on the
“Upper” and “Lower” metal layers chosen in the via addition section of “Basic” tab. In case of stacked
vias, GPS will display multiple via layers in the left pane. After selecting a particular via layer in the left
pane, GPS will display all available via-rules for that via layer in the right pane. Both GENERATE via rules
and Custom via-rules will be listed here. User can select the appropriate via-rule for inserting the via.
If there are routes in different metal layers running parallel to each other (Eg: MET1 rail overlapping with
MET2 rail), by default, GPS will insert vias for the entire overlap area. But, there is also an option to insert
vias based on a user defined length and spacing. There is also another option to avoid inserting vias
between parallel metal layers. All these options are available under “Advanced” tab of “Create Route
Mesh“ window as shown below.
While using “Insert via based on user defined spec” option, user can define the “Length” and “Spacing” of
individual via segments using the “Define” button as shown below.
By default , short detection is turned on in RedHawk-GPS . During power grid creation, if tool detects that
a short is going to happen, it will break the short at a distance of 0.0005 um. User can explicitly mention
the distance in microns, at which the short needs to be broken using the following window under
Advanced section of Create Route Mesh window.
User can also turn off short check by checking ‘DISABLE SHORT CHECK’ option available in this
window.
The equivalent GIS keyword for turning off/on short check is:
config set short_check 0/1 (Default 0)
The equivalent GIS keyword for mentioning Distance to avoid short is:
config set min_spacing <distance_in_microns> (Default: 0.0005 um)
While using “Create Route Mesh” command, if some blocks or regions are excluded in the scope
browser, the mesh created by GPS will stop exactly at the boundary of scopes which are excluded.
Similarly, for blockages, the mesh created will stop exactly at the blockage boundary. This can sometimes
cause shorts between the route mesh geometry and the other geometries present in the un-selected
scope or blockage area. In order to avoid such shorts, there is a new option added in GPS, which allows
defining an offset from the excluded scopes or blockages while drawing the route mesh. This option is
available under “Advanced” tab of “Create Route Mesh” window as shown below.
The default value of these settings is zero. The same settings can be defined inside Setup Tcl file also
using the following keywords. In this case, the values defined in Setup Tcl file will be used for all route
meshes created in the design. User can override it using the settings available in GUI form shown above.
Highlighting Mesh:
If user selects any mesh spec from spec browser and clicks “Highlight” button, RedHawk-GPS will
highlight all mesh geometries belonging to the particular mesh in GUI. This helps the user make sure that
the mesh is created as per his expectation. The GUI will go to Night-vision mode when we highlight the
mesh. This helps in viewing the mesh more clearly. User can click F12 to quit night-vision mode.
Whenever user creates mesh GPS will save the Mesh spec inside the DB. This allows user to
modify/delete any mesh even later. “Create Mesh” window will contain the spec details for all meshes
present in the design. User can see the spec name in the top left panel of “Create Mesh” window. If the
user wants to make any changes in the mesh spec, he can click on this spec and edit the details of the
mesh will be displayed in the spec window. User can make any edits in the mesh spec. RedHawk-GPS
will re-create the mesh based on new user spec.
If user wants to delete the mesh, he can select the mesh from mesh browser and click on “Delete” button.
All geometries belonging to the mesh will be deleted from the design.
User can also make manual edits like split, join, stretch, clone etc for some part of the geometries
in the mesh. More details about manual edit will be explained in next chapter. Note that, once a mesh is
edited using any of the manual edit options, the corresponding geometry will be marked as “Manual” in
the tool. When user is making any spec edit on the original mesh, it will completely recreate all Mesh
geometries. For example, if the original MESH had a width of 10u; Using manual edit, user increased the
width to 15u. Now, user changed the spec of this mesh and changed the width to 20u. After doing this
spec edit, user will see 2 geometries at the location where he did manual edits (one with 15u and the
other with 20u).
Via mesh can be created using “Power Grid -> Create Via Mesh” option. This will pop up the following
GUI form.
Here, user needs to select the “Upper” and “Lower” metal layers for dropping the vias. Stacked vias can
be inserted using this option. The via mesh bounding box can be defined using one of the 3 options
(similar to create route mesh). User can also define the mesh offset from boundaries in this window.
Note that via mesh will be created only if the specified metal layer exist in the area selected for via
addition. By default, RedHawk-GPS will insert vias for all nets present in the region selected. User can
choose a specific net for Via model insertion from Nets option
In the advanced tab, similar to “Create Route Mesh” window, you can find options for advanced vias rule
handling. Refer to “Create Route Mesh” section for more details.
Also in the advanced tab of “Create Via Mesh’ option , we have options to turn on/off short checks and
also available is the option to mention distance to avoid shorts . See “Create Route Mesh” section for
more details.
After clicking on “Apply” button, GPS will implement the via mesh in layout and the corresponding spec
name will appear in the left side panel of “Create Via Mesh” window. User can select the spec name and
click on “Highlight” button to highlight the via mesh geometries in GUI.
RedHawk-GPS can create rings around the core bounding box (CBB). This option is available under
“Power Grid -> Create Ring” menu. This will pop up the following window.
After clicking on “Apply” button, GPS will implement the ring in layout and the corresponding spec name
will appear in the left side panel of “Create Ring” window. User can select the spec name and click on
“Highlight” button to highlight the ring geometries in GUI.
If the Floorplan DEF contains standard cell rows, GPS allows user to create standard cell row straps by
pre-routing std cell rails. This can be done using the option “Power Grid -> Create Std Cell Strap”. It will
pop up the following window.
Similarly, GPS will auto populate the Logical connectivity section with the available P/G pin names from
standard cell library. User needs to specify the net names for each P/G pin. GPS will assign these net
names while routing the standard cell rails.
Standard cell strap bounding box can be specified using 3 different methods. Default behavior is to draw
standard cell rails in the entire core area; Refer to “Create Route Mesh” section to understand more
details about this item.
If user wants to make any modifications in standard cell rails, he can change the spec details and click on
“Apply” button again. Similarly, user can also delete the standard cell rail geometries by clicking on
“Delete” button.
Pin tapping feature allows dropping vias from a route layer into LEF/DEF pins of hard macros and blocks.
This can be done during “Create Mesh” feature itself as described before. GPS also allows another
advanced option user can create dedicated pin tapping for selected hard macros on selected layers etc.
This can be done using “Power Grid -> Create Hard Macro Pin Tapping” option.
User also needs to select the route layer from which the vias need to be dropped. At a time, user is
allowed to select only one layer for pin tapping.
By default, GPS will try to drop vias to all possible pin layer geometries inside the hard macro (depending
on intersection of route layer and pin layer). User can also choose specific Pin layers to be used for pin
tapping by selecting the check-box associated with “Tap pins only on following layers” option. User can
select multiple pin layers for pin tapping.
User can also select the hard macros and blocks to be included in pin tapping. By default, GPS will do pin
tapping for all hard macros and blocks (both FP blocks and detailed routed blocks) in the design. User
can also select instances for pin tapping from GUI using “Select instances using mouse” option. After
choosing this option, user can go to canvas and select multiple instances using Ctrl key & left mouse
After clicking on “Apply” button, GPS will implement the pin tapping in the layout and the corresponding
spec name will appear in the left side panel of “Create Pin Tapping” window. User can select the spec
name and click on “Highlight” button to highlight the via geometries used for pin tapping in the GUI.
If user wants to make any modifications in pin tapping, he can change the spec details and click on
“Apply” button again. Similarly, user can also delete the pin tapping geometries by clicking on “Delete”
button.
In the advanced tab, similar to “Create Route Mesh” window, you can find options for advanced vias rule
handling. Refer to “Create Route Mesh” section for more details.
Switch Array can be created using the option “Power Grid -> Create Switch Array”. This will pop up the
following GUI window.
In this form, user can pick the switch cell master name from the library using the cell picker. “Select”
button will invoke cell-picker window. Switches will be classified in a separate hierarchy if user is
importing Switch models using “data read switch_model” within the setup Tcl file.
Offset parameter defines the offset of switch Lower-Left (LL) coordinate from the boundaries. User can
define offset on all 4 sides.
For switch insertion, user needs to define X-pitch and Y-pitch. Following diagram shows the details of X-
pitch and Y-pitch values.
While specifying X-pitch and Y-pitch, user needs to make sure that external and internal pin geometries of
the switch will align with respective route geometries.
User needs to define the logical connectivity details for the switch internal/external pin in the advanced
tab. GPS will auto-populate the pin names and user can connect these pins to one of the available nets.
After clicking on “Apply” button, GPS will implement the switch array in the layout and the corresponding
spec name will appear in the left side panel of “Create Switch Array” window. User can select the spec
name and click on “Highlight” button to highlight the switches in GUI.
If user wants to make any modifications in the switch array, he can change the spec details and click on
Apply button again. Similarly, user can also delete the switch array by clicking on “Delete” button.
Bump Array can be created using “Power Grid -> Create Bump Array” option. The following GUI form will
be popped up.
In “Create Bump Array” option, user can create virtual Plocs (Pad Locations) in a user defined layer,
which will create a virtual PG pin.
Using Layer section, user can define the layer to be used for Ploc creation. “Select” button will invokethe
“Layer Picker” window, from which user can select one layer:
Bump array bounding box can be specified using 3 different methods. Default behavior is to insert the
bumps or plocs in the entire core area; Offset can also be defined from 4 different sides. Refer to “Create
Route Mesh” section to understand more details about these items.
After clicking on “Apply” button, GPS will implement the bump array in the layout and the corresponding
spec name will appear in the left side panel of “Create Bump Array” window. User can select the spec
name and click on “Highlight” button to highlight the plocs in GUI.
If user wants to make any modifications in the bump array, he can change the spec details and click on
Apply button again. Similarly, user can also delete the bump array by clicking on “Delete” button.
PLOCs will be visible in GUI using Orange and White dots (similar to RedHawk). Orange dots represent
plocs belonging to POWER nets and White represents ploc geometries belonging to GROUND.
Visibility of Plocs can be controlled using the following menu shortcut icon:
User can also import an existing ploc file in GPS using “import_ploc” command as shown below:
import_ploc <file.ploc>
MANUAL DRAW/EDIT
This chapter has details of various Manual Draw/Edit capabilities in RedHawk-GPS. It is possible to do
the following draw/edit functions in RedHawk-GPS.
Drawing a Wire
Inserting a Single Via/Via Array
Adding Pad Location
Editing properties for different objects in the design
Deleting different objects
Splitting a Wire
Joining Wires
Stretching a Wire, Blockage or Region
Moving different objects
Cloning different objects in GUI
Drawing/Deleting Ruler
For drawing a wire in GUI, user has to first select “Draw Wire” option from “Draw & Edit” pull-down menu
or from shortcut icon menu. It will pop up the following GUI window.
User can draw multiple nets (interleaved) together using this option. Using net picker, user picks up the
nets for drawing the wire. In one command, user can also draw multiple wire segments in
horizontal/vertical directions. User can select the metal layers to be used for both directions in GUI form.
For interleaved nets, user can also define the width/spacing parameters. Spacing is defined from edge to
edge as shown below:
User needs to follow the actions below for drawing wires in GUI:
Click “Draw “ button in dialog box – Come to canvas
User can draw complex wire shapes like shown below in a single operation using this feature:
In the advanced tab, similar to “Create Route Mesh” window, you can find options for advanced vias rule
handling. Refer to “Create Route Mesh” section for more details.
“Insert Via” option can be used for inserting a via. This option will pop-up the following window:
In this window, user needs to select the Net name, Lower layer and upper layer. User can insert via in a
given (x,y) coordinate by directly entering the coordinate values or he can place the via using mouse.
For placing via using mouse, user can choose “Place using Mouse” option and click on Apply button. In
the GUI, mouse cursor will change to “Insert Via” symbol. User can click on any location in the GUI to
insert the via. Note that, the via will be inserted only if GPS finds the net in specified upper/lower layers in
the clicked location.
In the advanced tab, similar to “Create Route Mesh” window, you can find options for advanced vias rule
handling. See image below . Refer to “Create Route Mesh” section for more details.
“Draw/Edit -> Add Pad Location” option can be used for adding pad locations (PLOC) in the GUI at a
given location. This will open up the following GUI form.
Deleting an Object:
For deleting objects in the GUI, user can select object(s) using mouse clicks. Then, pressing “Delete” key
will delete the objects in the design.
User cannot make edit operations like move, delete etc on objects imported through block DEF.
Any object in the TOP Floorplan DEF or any object created by the user using RedHawk-GPS can be
edited.
Moving an Object:
User can move different objects in the GUI by following the actions described below:
• Click on Move button
• Cursor will change to move symbol
• Go to any visible object
• Single left click to pick up the object
• Move mouse to desired location. Object will move along with mouse
• Single left click to drop the object
• Pick-up another object to repeat similar action on another object
• ESC to come out of Move mode
It is also possible to move multiple objects together by following the actions described below:
• Select multiple objects through “shift + left clicks”
• Click move button or bindkey(M)
• Cursor will change to move icon
• Single left click to pick up selected objects
• Move mouse to desired location, object will move along with mouse
• Single left click to drop the object
• ESC to come out of move mode
Rotate/Flip Objects
GPS can also rotate or flip floorplan objects. Only top level def objects and regions created in top are
allowed to be rotated or flipped. To rotate an object, user can follow the steps described below.
STEP-1: Click on the floorplan object User can also use the ‘Control’ key and choose multiple objects.
To flip an object , click on the floorplan object and then goto “Draw & Edit -> Rotate/Flip” option. User can
also use the ‘Control’ key and choose multiple objects . Then choose either ‘Flip Vertical’ or “Flip
Horizontal’ option. See image below.
User can choose to align a set of objects in top, left, right and bottom edges using “Draw & Edit -> Align”
option. Multiple objects can be selected using left click of mouse and keyboard CTRL button. Once the
selection is complete, choose either the “Align Top”, “Align Bottom” , “Align Left” or “Align Right” options.
See example below.
STEP-1: User selects multiple objects to be aligned using “Ctrl” key + left clicks
RedHawk-GPS allows splitting a wire along its width. Following are the actions needed for splitting a wire.
• Select the wires to be splitted using mouse clicks(single or multiple using shift/ctrl keys)
• Click Split button or corresponding bindkey(s/S)
• Scissor symbol will appear in the cursor
• Single left click anywhere on canvas
• Moving mouse horizontally or vertically should draw horizontal or vertical line (orthogonal only)
from the first click point
• Single left click to complete the line
• Selected routes crossing the line will get splitted
Joining Wires:
User can join 2 wires together if they are touching each other and their widths are exactly the same.
Joining can be done only across the width. The geometries should perfectly align for enabling this
function.
Stretching an Object:
RedHawk-GPS allows user to stretch objects like Wire, Region and Blockage to modify the size.
Stretching can be done to modify the length or width of an object. User needs to follow the actions below
to perform this function:
Click stretch button or use corresponding bindkey (T)
Go to any visible object on its edge (stretch symbol will appear as the cursor)
Single left click to pick up the edge
Move mouse to stretch the edge
One more left click to complete stretch operation
Start another stretch operation by clicking on a new edge
ESC to come out of stretch operation
User can also use this function to perform stretch operation on multiple objects together by following the
actions below:
Cloning feature can be used to create a duplicate copy of an object. User can follow the actions described
below to perform this operation:
Following table summarizes all edits possible with different objects present in the design.
RedHawk-GPS allows editing property for different objects in the GUI. Pressing “Q” button in the key-
board will bring up the Property window for selected object. In the property window, certain fields are
editable for each object. Fields which are grayed out in the property window cannot be edited.
User cannot edit the property for any objects imported from the block DEFs. This is because, the
changes done inside block DEF will not be dumped out in the output DEF, so RedHawk will not see the
corresponding change during analysis. User can make edits on any objects imported from the top
floorplan DEF or the objects created by the user through RedHawk-GPS.
Property window will also display the Object ID information which can be used mainly for debug purpose.
1. Wire Property:
Editing wire property allows changing net name, location, width and spacing information.
This property window will also display the PG creation spec used for creating the mesh. If the wire is
created using manual “Draw Wire” option, it will be marked as “Manual”. If the wire segment is a part of
any mesh created using automated PG creation options like “Create Route Mesh”, “Create Ring” etc, then
the corresponding Spec name will appear under “Spec” entry. User can click on “View/Edit” window to
open the Spec browser for this mesh to modify the spec parameters.
Note that, if you change the property for any of the wire segment associated with a power grid created
using Automated PG creation options like “Create Mesh” or “Create ring” etc, the corresponding mesh
geometry will be marked as “Manual”.
Editing Via property allows changing net name, via count and location. Here also, user can view/edit the
mesh spec if the via is a part of power grid created using automated options.
3. Instance Property
Instance property box allows user to edit the instance name, location and orientation. This window also
allows the user to modify the logical connectivity information for the instance, which defines the pin-to-net
connectivity for each P/G pin of the instance.
Instance Pin Property box displays the pin details like name, net, layer, type etc. User is not allowed to
change any of the pin properties.
Routing Blockage property box allows changing the blockage name, bounding box and the layer settings
used in the blockages. Note that user can only edit the property for blockages created through RedHawk-
GPS. Blockages imported from DEF/LEF cannot be edited.
Placement blockage property block displays the details like, Hierarchy name, bounding box etc for the
blockage.
7. Region Property:
Region property box allows changing the region name and bounding box information.
8. Ploc Property
Ploc property box allows editing the location and Net names.
Creating Ruler:
User can create a ruler using the menu pull-down item “Draw/Edit -> Draw Ruler”. Ruler can be used for
making measurements in GUI. After selecting this option, user can click on the GUI to create the ruler.
A single left click will start drawing the ruler.
Release the mouse and start moving the mouse cursor.
Mouse movements are allowed in orthogonal as well as 45 degree direction.
To delete all rulers in the canvas, use “Delete Ruler” option under “Draw/Edit” menu. The same option is
available under the toolbar icon as well.
By default, GPS allows only Manhattan style movements while drawing the ruler. The following option
inside “Options -> Preferences” window can be used to allow Free-hand movements.
After creating the Power Grid or Importing a Routed DEF RedHawk-GPS can perform various analyses
using RedHawk. These options can be accessed through the following pull-down menu.
“Setup Analysis” option allows user to configure various analysis related settings, while “Perform
Analysis” option actually perform the analysis using RedHawk. There are various types of analysis
supported in GPS like Static, Dynamic, Rampup and CPM creation. Following section describes how to
configure the settings and perform these analysis.
For performing static and dynamic analysis, user needs to do power/current/cap assignment for the
design. For static analysis, only power assignment is required. But, for dynamic, user needs to perform
current waveform and capacitance assignments.
There are two different methods in which power, current and cap assignment can be done in GPS:
Interactive Power/Current/Cap Assignment using GUI
Automatic Power/Current/Cap Assignment using RH-PS
In case of Routed DEF Import , for most of the Routed Designs, the Power Numbers would be
already available in many ways as listed below.
1. APL
2. IPF
3. BPFS
These Power Assignment options can be given under “config set additional_gsr_settings” in GPS and
perform Static/Dynamic Anaysis without doing any Power assignment in GPS
One of the challenges in RedHawk early analysis flow is it requires user to provide the accurate power
specification for each block/domain in the design. In a typical design, there could be several blocks and
hundreds of memories. There could be different voltage domains in a design. This will result in a very big
power spec containing several lines in a fullchip. Similarly in early “dynamic” analysis, user has to provide
the current waveform and capacitance for each block. Most of the users will not have this information
available. Even if they have some inputs, it is very difficult to provide this info in text format. User makes
several mistakes while doing this early power assignment.
In GPS, entire power assignment flow is GUI driven. User can select blocks or draw regions in GUI using
mouse and assign power, current waveform, cap etc. User can also preview the power assignment in GUI
to verify the details before performing IR analysis. Tool also does basic sanity checks in the power
assignment so that there will be less chance of user errors.
If user already knows the power number for each block in the design, he can use the interactive power
assignment options inside GPS to assign the power. This can be done using “Analyze -> Power
Assignment” option inside GPS. It will pop-up the following window:
User needs to specify the region for power assignment while defining the spec. There are 3 options
available for defining the area to be used for power assignment:
Use the entire core area(default) : This will distribute the assigned power to the entire core area
BBOX option: Power will be distributes inside the user specified BBOX. User can also draw this
bbox on-the-fly using mouse or get the current zoom coordinates.
Using Scope browser: This option is explained in detail in the below section
Scope browser allows user to select a particular hierarchy for the power assignment. This hierarchy can
be a PNR block or a hard macro or a region. User can select this hierarchy from the block selector
window shown below. The hierarchy needs to be selected in the left side box.
For each power assignment spec, you can select the spec name and click on “Highlight” button to
highlight the region where the current assignment will happen.
User can clear the power assignment Highlighting using “Clear Power-Highlight” icon shown below.
“Static” tab in the “Assign Power” window allows user to define the average power/current for each
domain in the selected region. For POWER nets, user needs to provide the power number in Watts, while
for GROUND nets user needs to provide the current value in Amps.
For each domain, user needs to define the metal layer to be used for current sink hook-up. During
early IR analysis, RedHawk will distribute the power uniformly on all via layers attached to the specified
metal layer. User usually wants to do power assignment on the lower-most metal layer for each region so
that he can see the IR drop maps till the bottom most layer. Manually specifying the lower most layer for
each region is very error prone. GPS has the capability for automatically deriving the lower-most layer for
each net for the specified region. It can be done using “Auto-populate Nets/Layers button” in the “Assign
Power” window.
Power Assignment for dynamic analysis can be done using “Dynamic” tab in the same window. In this tab
also, user needs to define the current sink hookup layer for each net. This can be done using “Auto-
populate” nets and layers button.
In the “Default Triangle” option, RedHawk will construct the default triangle shaped current waveform
based on the average power, Frequency and Transition. User can customize these parameters through
“Define” button.
Second option for defining current waveform is through “Custom Waveform” method. Here, user can
select the waveform shape and define various parameters for the waveform using “Define” button. There
are 3 waveform types supported:
Trapezoidal
Single triangle
Dual triangle
Here is an example showing trapezoidal waveform annotation options. In this form, user needs to define
various parameters defining the waveform.
Third option for assigning current waveform is through various standard current waveform models.
Note that, the above mentioned models are applied to the master cell, so they are not instance
specific. All instances belonging to the same master will have the same model applied. If user tries to
assign different models to multiple instances of same master, the last assignment will be considered for
analysis.
For assigning cap and related parameters in GPS, there are 3 options available.
First option will allow user to define the cap per unit area parameter. GPS will estimate the cap
contribution for each block in the design using it’s area. User can define different Cap per unit area values
for different blocks in the design.
Second option is to manually define ESC, ESR and Leakage parameters for various domains in the
design. GPS will convert these parameters into equivalent APL cdev models.
GPS will automatically translate the power assignment options inside RedHawk-GPS into equivalent GSR
commands like BLOCK_POWER_ASSIGNMENT, BLOCK_POWER_FOR_SCALING, APL_FILES etc
and include it in RedHawk GSR. The advantage of doing power assignment through RedHawk-GPS is
the interactive nature of the GUI and the hierarchical design view available in RedHawk-GPS GUI.
In the Floorplanning stage, user will have gate level netlist information available in Verilog or DEF netlist
format. RH-PS can take either of these inputs and perform a gate level power estimation using SDC, LIB,
CPF/UPF etc. RH-PS can use wire-load models for estimating the capacitance for early power estimation.
GPS will launch RH-PS under-the-hood; After power calculation, GPS will automatically retrieve the
power for each block (per domain) from RH-PS and use it for early static IR analysis.
Similarly, for dynamic, RH-PS can estimate the Total cap for each block (per domain) using gate count
information available in verilog and APL cdev. GPS will convert this into APL cdev file for each block and
provide it to RH. Also, RHPS can construct the demand current waveform for each block (per domain)
using it’s switching scenario engine, timing window information (from ATE) and APL current files. GPS will
convert the demand current waveform for each block into APL current format using Sim2iprof and provide
it to RH.
Verilog, SDC & LIB Files are required for Average power calculation. GPS needs the APL files for
estimating the current waveform and capacitance for each block. CPF file defines the domain logical
connectivity so that RH-PS can generate the power number for each domain separately.
It is mandatory to have top level Verilog module available in the “config set verilog_files” section in-
order to use this option. It is okay even-if some blocks are missing in the list. User can manually assign
the power for these blocks using Manual power assignment option. But, the top level Verilog is a must.
RH-PS based power calculation can be invoked using “Analyze -> Power Calculation” option. GPS will
automatically create the command file required for RH-PS. User can make edits in the command file
before invoking RH-PS.
RH-PS GUI can also display the block-wise power pie-chart. This data is very useful for identifying the
blocks which are high power consuming.
After doing power assignment, GPS can do early analysis. User needs to provide the following additional
information inside Setup Tcl file for performing the analysis.
Note that “config set tech” section is mandatory. “data read switch_model” section is required only if the
design contains power gates.
RH Analysis can be performed using “Analyze -> Analyze in RH” option. This will bring up the following
window.
Here user can select the type of analysis he wants to perform. For example, he can choose to run both
static and dynamic Drop/EM analysis together. Or, the run can be performed for low-power rampup
analysis. After choosing the right option, user can click on the “Next” button to proceed to the next
window. It will open up the following GUI form:
If you are passing any file-pointers to RedHawk using “config set additional_gsr_settings”
command, you need to provide the absolute path instead of relative path. This is because, actual
RedHawk execution is happening inside a sub-directory inside adsRpt folder, so RedHawk will not be
able to see the files in relative path.
The “TCL” tab displays the command file used for running RedHawk. User can modify this section also to
add/edit/delete any commands. For Eg, user can add “explore design” command at the end if he wants to
run “RedHawk Explorer” after performing analysis.
There is an option to “Create setup only. Don’t run RH”; if user selects this option, RedHawk-GPS will
only create the setup required for running RedHawk. This allows user to perform RH analysis outside
RedHawk-GPS later.
RedHawk GPS also allows user to create an early Chip Power Model (CPM). Various CPM related
settings can be done using “Analyze” -> “Setup Analysis” -> “CPM” menu.
GPS can perform early rampup analysis for designs containing switches. For configuring various settings
related to rush current analysis, “Setup Analysis” -> “Rampup” option can be used. This window has two
sections: “Global section” for specifying global parameters and “Block Specific Section” for specifying
block level parameters.
Block specific section has 3 tabs: “Spec Details” tab allows user to select a particular block (or top design”
to be included in rampup. User can also specify “Use Entire Core Area” to enable rampup on the entire
design. There is also an option to enable rampup on a user defined BBOX region.
For the selected block or region, user needs to define the switch daisy chain timing and capacitance
information. This can be done using “Timing” and “Capacitance” tab in block specific section.
In the “Timing” tab, there are two options for annotating the switch daisy chain timing for the selected
block. In “User Defined Timing File” option, user can import either a USER_STA_FILE or STA_FILE
containing switch timing window information. You can find more details about these file formats in
RedHawk user manual.
In the “Capacitance” tab, there are two options for annotating the capacitance values (using CDEV and
PWECDEV).
In the CDEV based capacitance annotation, user can specify the capacitance for the selected block.
“Unit/Area” allows user to define capacitance per unit area. Tool will calculate the total capacitance for the
block based on its area and distribute it uniformly in the lower most nodes for performing analysis. User
can also define the ESR/ESC/Leakage values for the block using “User Values” option.
In the PWCDEV based option, user can import PWCDEV file for the selected block using “Import Piece-
wise Cap” file option. There is also an option for entering the ESC/ESR/Cap values manually for various
voltage points using “Manually Enter Piece-wise Cap Data” option, shown below.
GPS has an option to synchronize the GUI with RedHawk GUI. This will make sure that the zoom
operations performed inside GPS window will automatically get reflected in RedHawk GUI also. Similarly,
the layer visibility inside GPS GUI is also synchronized with RedHawk. This option can be turned ON
using “Options -> Synchronize GPS to RedHawk” menu.
Synchronizing GPS GUI with RedHawk may slow down the GUI. This option is not enabled by
default due to this reason.
If RedHawk GUI is synchronized with GPS, there is an easy way to bring up RH GUI to front, using the
following icon. This icon will be grayed out if GPS GUI is not synchronized with RedHawk.
After performing the analysis, RedHawk-GPS will also display the result summary from RedHawk. This is
available under “Analyze -> View Results Summary” page.
Grid Details:
In “Grid Details” section, GPS provides grid related details like meta density report, track utilization report
etc. Metal density section has the metal density percentage for each metal layer. This information is
generated using “dump metal_density” command in RedHawk.
“Power Summary” section has details about power consumption in the design. This data is generated
from “power_summary.rpt” file present in RedHawk run.
“Per Domain” tab gives power consumption details per voltage domain.
Static IR Summary:
“Per Domain” section gives worst static IR value for each domain.
“Static EM” section has details about worst EM violation % in the design.
“Dynamic Voltage Drop” section has details about worst dynamic voltage drop parameters in the design.
GPS OPTIMIZERBETA
RedHawk-GPS allows user to optimize the PDN and quickly see the impact of those changes in
RedHawk analysis results. There are two ways this optimization can be done.
Optimizer can be launched using “Optimizer” menu pull-down. This will pop up the following window:
This chapter will discuss more details about various optimization modes available in GPS in detail.
During the early stage of power grid design, user may want to experiment with several power grid design
options. For example, user will try to compare IR drop results by changing the metal width/pitch.
Sometimes, user wants to change the number of bumps or switches used in the design and check the
impact of this change in voltage drop and EM. These experiments will require user to compare different
power grid layouts side-by-side.
For enabling such experiments, GPS has a very powerful feature called “Session cloning”. Using this
option, user can clone the entire GPS session in another GUI. The new GUI will display the same design
layout as in the parent session. User can make any power grid modifications in the cloned session like
manual draw/edit or Spec edit etc. After optimizing the power grid, user can perform analysis and
compare the results between parent session and cloned session side-by-side.
For cloning the GPS session, user needs to use “Clone” button inside Optimizer window. By default, GPS
will display the session identifier for parent session (P) in this window. When user clicks on the clone
button, GPS will launch a new session and display the same design layout in the new GUI. Optimizer
window also will display the session identifier for newly cloned session (C1). User can click on these icons
to bring up the corresponding GUI to front.
”Optimizer” menu of all cloned session will be grayed out. This is because GPS doesn’t allow
cloned sessions to be cloned further. Only parent session can be cloned to create child sessions. Cloned
session will have all other features available inside the parent session.
Cloned GPS session will also contain a session identifier on the top right corner. Even the Title-bar will
display the session name. Session identifier icon in the GUI has a pull-down menu; When user selects a
particular session in this pull-down, corresponding GUI will be brought to front.
Both parent and cloned sessions are sharing the same process ID in Unix. When you close the
cloned session using “close” button (X button in the title-bar), the GUI will disappear. But the cloned
Manual Optimization:
User can use the cloned session and do PDN optimization using one of the following methods:
Spec Edits
Manual Draw/Edits
Spec Edits: GPS saves the PDN spec inside the DB. Inside the cloned session, user will be able to see
the spec for all PDN objects in the corresponding spec browser (similar to parent session). For Eg, if user
open “Create Route Mesh” window, he will be able to see all route meshes present in the design. When
user selects any particular route mesh, GPS will display the spec details in the right side panel. User can
make any modifications in the spec and click on Apply button to make the corresponding change in the
layout.
If user doesn’t remember the spec name for the mesh he is trying to edit, there is an easy way to
find it. User can click on any wire segment belonging to that mesh and bring up the property window (Q).
When we edit the spec for a particular mesh, the vias attached to the mesh gets automatically
modified. For example, if you are increasing the width of MET3 layer from 10u to 20u, all vias attached to
MET3 will also get automatically scaled to accommodate the increased metal width. This is a very useful
feature when you are making quick edits in the power mesh.
Manual Edits: In the cloned session, user can do operations like split, join, stretch etc to manually
optimize the power grid. User can also change the property of different objects using Property View/Edit
window. Using these features, users will be able to make customized modifications in the power grid.
After making the manual edits in the cloned session, user can perform analysis using RedHawk and
compare the results with parent session side-by-side.
Automatic Optimization:
Using manual optimization, user can quickly create different power grids and compare them to come up
with the correct power grid specification required to meet user IR drop target. This will require multiple
iterations as user needs to create different cloned session to implement the grid changes. RedHawk-GPS
has an option to do this optimization in a more efficient way, using “Automatic Optimizer”.
In Automatic optimization mode, user can provide an IR drop target which he wants to meet. GPS will
profile the IR drop for various regions in the designs and identify the regions where power grid needs to
be strengthened and regions where power grid can be relaxed. GPS will then adjust the metal width to
meet the IR drop target defined by user. User can also provide layout constraints to define the variations
This can be done through “Constraints” tab in optimizer. User needs to define the target parameters &
layout constraints before performing optimization.
Global: For defining Global constraints like IR drop target, Global width tolerance etc
Layer: For defining layer specific constraints
Mesh: For defining mesh specific constraints
Region: For defining region specific constraints
Net: For defining net specific constraints
Global Constraints:
This section allows user to define the following parameters for optimization:
Optimization Target This is the target parameter which GPS will try to optimize. Currently,
Parameter GPS allows defining only “Worst IR” as the target optimization parameter.
When “Worst IR” is selected, GPS will try to optimize the worst “wire” IR
drop.
Target IR drop % This parameter defines the wire voltage drop percentage user is targeting
for. For example, if the ideal voltage for a specific net is 1.0V and user
defines 5% as target IR drop percentage, GPS will try to optimize the
design in such a way that the Voltage-drop in this net is below 50mv.
If the design contains multiple nets with different ideal voltages, GPS
applies the same IR drop % as the target for all nets. For example,
assume that the design has 2 nets, VDD with 1.0V as ideal voltage &
VDDS with 1.8V as ideal voltage. If user defines 5% as the target IR drop
%, GPS will try to optimize the wire drop on VDD net below 50mv and
VDDS net below 90mv.
For ground nets, GPS takes the lowest value among the ideal voltages for
different nets for computing target IR drop %. In the above example,
voltage drop target for ground net will be computed based on 1.0V.
If user wants to define different IR drop target % for different nets, he can
use “Nets” tab (explained later).
Tolerance allowed in metal This is a global parameter defining the percentage of variation allowed in
width wire width during optimization. User needs to define both minimum and
maximum percentage values here. For example, if the original width for a
wire is 10u and user defines min percentage as 90% and max percentage
as 120%, GPS will try to restrict the width variation within 9u to 12u.
This global tolerance value will be applied to all metal layers, by default. If
user wants to define layer specific tolerance values, he should use
1. Center: By default, GPS will fix the center of the wire while changing
the width.
2: Low: GPS will align the lower side of the geometry (means left edge
for a vertical wire and bottom edge for a horizontal wire)
3. High: GPS will align the higher side of the geometry (means right edge
for a vertical wire and top edge for a horizontal wire).
Use tapering while This will enable wire tapering while for EM avoidance during width
changing width changes. This will be explained later.
Layer constraints:
“Layer constraints” section can be used to define the layer specific width tolerance values.
Mesh constraints:
By default, GPS will identify the mesh specs to be optimized based on hot-spot analysis. GPS will profile
the IR drop for various regions in the designs and identify the regions where power grid needs to be
strengthened and regions where power grid can be relaxed. GPS will either up-size or down-size the all
the mesh specs belonging to these regions. If user wants GPS not optimize the grid belonging to certain
mesh specs, he can un-select the corresponding mesh in the “Mesh constraints” window. By default, GPS
will show all mesh specs as selected. User can select/unselect mesh specs using Ctrl key and mouse
clicks.
By default, GPS will automatically identify the regions to be optimized by comparing the voltage drop
profile for each region with user IR drop target. GPS will strengthen the power grid for regions which are
having voltage drop greater than user threshold and downsize the regions which have voltage drop much
less than the user IR drop target. If user doesn’t want some regions to be optimized, he can control it
through “Region constraints” window:
Net constraints:
By default, GPS will try to optimize all nets in the design. If user doesn’t want to optimize certain domains,
he can unselect the nets using “Nets constraints” window. Using this window, user can also define net
specific IR drop constraints.
Running Optimizer:
After defining the constraints, user can go to “Optimize” tab for running the optimizer. “Effort level for
optimization” defines the convergence accuracy of optimization. Default value is “Medium” and user can
also define effort level as “High” or “Low”. Effort level setting of “High” gives highest level of accuracy with
impact on run time.
Distributed processing will help reduce the memory usage of parent machine where GPS is running. By
default, RedHawk will be launched in the same machine where GPS is running. This can cause some
machine overload.
Clicking on “Run Optimizer” button will start running optimizer. At the end of optimization, GPS will launch
the GUI for optimized session, Optimizer “Home” window will also be populated with a new session “A1”.
User can compare various result parameters between multiple sessions using “Results” tab in Optimizer
window. This will give the comparison between the parent session and different cloned sessions available
in Optimizer. All cloned sessions which are either created through manual cloning or Automatic
Optimization will be included in the result comparison. This window enables quick comparison of various
session so that user can easily study the trade-off between various power grid specs in terms of voltage
drop, metal density etc.
After selecting “Results” tab, user needs to click on “Refresh” button on the bottom left corner. GPS will
populate the results window with results from various RH sessions.
“Grid Details” section gives details about metal density comparison for each layer.
Table contains the metal density percentage comparison details for each layer. The header of each
column indicates the session ID. When user clicks on any row in the table, the bar chart on the right side
gets updated with details for that particular metal layer.
“Power Summary” section gives power comparison between various sessions. There are two tabs
available in this section. “Per Domain” tab gives power comparison for each voltage domain in the design.
The header of each column indicates the session ID. When user clicks on any row in the table, the bar
chart on the right side gets updated with details for that particular domain.
“Per Block” tab gives power comparison for each block (Physical hierarchy) in the design. There is a
particular category named top_level_insts. This category includes power consumed by top level
instances, not belonging to any particular physical hierarchy. All other categories will represent the power
consumption for each hierarchy, including it’s sub-blocks.
Static IR Comparison:
“Static IR” section gives static IR drop comparison between various sessions. There are three tabs
available in this section. “Summary” tab gives the comparison of worst IR drop parameter in each
category.
“Per Domain” tab gives the comparison of worst IR drop parameter for each domain.
“Per Layer” tab gives the comparison of worst IR drop parameter for each layer. This is the cumulative
drop starting from the voltage source (not per layer drop contribution).
Static EM Comparison:
“Static EM” section gives static EM comparison between various sessions. Worst EM % parameters and
the number of EM violations are compared here.
Please refer to the document at the following link for setup Tcl file reference: <hyperlink>
Following is an example template user can use for creating the Setup Tcl file for their designs.
Key-binding Description
Ctrl + R Refresh/Redraw
Z Zoom in
Shift + Z Zoom out
F Zoom Fit
Left Arrow Pan left
Right Arrow Pan Right
Up Arrow Pan up
Down Arrow Pan down
Shift + P Last View
Shift + N Next View
Shift + G Canvas Grid Toggle
F12 Night Vision Mode Toggle
Key-binding Description
Q Query/Edit Properties
K Draw Ruler
Ctrl + Shift + A Clear All Selections, Rulers, Markers and Highlights
Shift + S Clear All Selections
Shift + K Clear All Rulers
Shift + M Clear All Markers
Shift + H Clear Power Highlights
Following is the list of key-bindings related to Floorplanning, Power grid creation and Analysis:
Key-binding Description
M Move
Delete Delete
T Stretch
S Split
C Clone
J Join
ESC Cancel
R Rotate Right
L Rotate Left
V Flip Vertical
H Flip Horizontal
Key-binding Description