Professional Documents
Culture Documents
Design Compiler and Physical Compiler Multivoltage
Design Compiler and Physical Compiler Multivoltage
Design Compiler and Physical Compiler Multivoltage
Physical Compiler®
Multivoltage User Guide
Version Y-2006.06, June 2006
Comments?
Send comments on the documentation by going
to http://solvnet.synopsys.com, then clicking
“Enter a Call to the Support Center.”
Copyright Notice and Proprietary Information
Copyright © 2006 Synopsys, Inc. All rights reserved. This software and documentation contain confidential and proprietary
information that is the property of Synopsys, Inc. The software and documentation are furnished under a license agreement and
may be used or copied only in accordance with the terms of the license agreement. No part of the software and documentation may
be reproduced, transmitted, or translated, in any form or by any means, electronic, mechanical, manual, optical, or otherwise,
without prior written permission of Synopsys, Inc., or as expressly provided by the license agreement.
Right to Copy Documentation
The license agreement with Synopsys permits licensee to make copies of the documentation for its internal use only.
Each copy shall include all copyrights, trademarks, service marks, and proprietary rights notices, if any. Licensee must
assign sequential numbers to all copies. These copies shall contain the following legend on the cover page:
“This document is duplicated with the permission of Synopsys, Inc., for the exclusive use of
__________________________________________ and its employees. This is copy number __________.”
Destination Control Statement
All technical data contained in this publication is subject to the export control laws of the United States of America.
Disclosure to nationals of other countries contrary to United States law is prohibited. It is the reader’s responsibility to
determine the applicable regulations and to comply with them.
Disclaimer
SYNOPSYS, INC., AND ITS LICENSORS MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH
REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
Registered Trademarks (®)
Synopsys, AMPS, Cadabra, CATS, CRITIC, CSim, Design Compiler, DesignPower, DesignWare, EPIC, Formality, HSIM,
HSPICE, iN-Phase, in-Sync, Leda, MAST, ModelTools, NanoSim, OpenVera, PathMill, Photolynx, Physical Compiler,
PrimeTime, Saber, SiVL, SNUG, SolvNet, System Compiler, TetraMAX, VCS, and Vera are registered trademarks of
Synopsys, Inc.
Trademarks (™)
Active Parasitics, AFGen, Apollo, Astro, Astro-Rail, Astro-Xtalk, Aurora, AvanTestchip, AvanWaves, BOA, BRT,
ChipPlanner, Circuit Analysis, Columbia, Columbia-CE, Comet 3D, Cosmos, CosmosEnterprise, CosmosLE,
CosmosScope, CosmosSE, Cyclelink, DC Expert, DC Professional, DC Ultra, Design Advisor, Design Analyzer, Design
Vision, DesignerHDL, DesignTime, Direct RTL, Direct Silicon Access, Discovery, Dynamic Model Switcher,
Dynamic-Macromodeling, EDAnavigator, Encore, Encore PQ, Evaccess, ExpressModel, Formal Model Checker,
FoundryModel, Frame Compiler, Galaxy, Gatran, HANEX, HDL Advisor, HDL Compiler, Hercules, Hercules-II,
plus
Hierarchical Optimization Technology, High Performance Option, HotPlace, HSIM , HSPICE-Link, i-Virtual Stepper,
iN-Tandem, Integrator, Interactive Waveform Viewer, Jupiter, Jupiter-DP, JupiterXT, JupiterXT-ASIC, JVXtreme, Liberty,
Libra-Passport, Libra-Visa, Library Compiler, Magellan, Mars, Mars-Rail, Mars-Xtalk, Medici, Metacapture, Milkyway,
ModelSource, Module Compiler, Nova-ExploreRTL, Nova-Trans, Nova-VeriLint, Orion_ec, Parasitic View, Passport,
Planet, Planet-PL, Planet-RTL, Polaris, Power Compiler, PowerCODE, PowerGate, ProFPGA, ProGen, Prospector,
Raphael, Raphael-NES, Saturn, ScanBand, Schematic Compiler, Scirocco, Scirocco-i, Shadow Debugger, Silicon
Blueprint, Silicon Early Access, SinglePass-SoC, Smart Extraction, SmartLicense, Softwire, Source-Level Design, Star,
Star-DC, Star-MS, Star-MTB, Star-Power, Star-Rail, Star-RC, Star-RCXT, Star-Sim, Star-SimXT, Star-Time, Star-XP,
Taurus, TimeSlice, TimeTracker, Timing Annotator, TopoPlace, TopoRoute, Trace-On-Demand, True-Hspice,
TSUPREM-4, TymeWare, VCS Express, VCSi, Verification Portal, VFormal, VHDL Compiler, VHDL System Simulator,
VirSim, and VMC are trademarks of Synopsys, Inc.
SystemC is a trademark of the Open SystemC Initiative and is used under license.
ARM and AMBA are registered trademarks of ARM Limited.
All other product or company names may be trademarks of their respective owners.
Design Compiler and Physical Compiler Multivoltage User Guide, version Y-2006.06
ii
Contents
iii
2. Logic Synthesis Phase
Invoking Design Compiler With Multivoltage
Capabilities Enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
Target Library Subsetting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
Inserting Buffer-Type Level Shifters. . . . . . . . . . . . . . . . . . . . . . . . . 2-5
Inserting Isolation Cells and Enable-Type Level Shifters. . . . . . . . . 2-6
Using Power Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
Inferring Power Domains From an RTL Design . . . . . . . . . . . . . 2-9
Creating Power Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10
Reporting Errors in Multivoltage Designs . . . . . . . . . . . . . . . . . 2-16
Voltage Areas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17
Design Compiler Top-Down Compile Flow . . . . . . . . . . . . . . . . . . . 2-17
Handling Designs That Use Isolation Cells and
Level Shifters, Including Enable-Type Level Shifters . . . . . . 2-20
Inserting Level Shifters When Enable-Type
Level Shifter Library Cells Are Available . . . . . . . . . . . . 2-21
Inserting Level Shifters When Enable-Type Level
Shifter Library Cells Are Not Available . . . . . . . . . . . . . . 2-23
Top-Down Compile Example Script . . . . . . . . . . . . . . . . . . . . . . 2-24
Design Compiler Bottom-Up Compile Flow . . . . . . . . . . . . . . . . . . . 2-27
Bottom-up Compile Script for Designs That Reference
Multiple Multivoltage NLDM Libraries. . . . . . . . . . . . . . . . . . 2-30
Automated Chip Synthesis Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-32
Automated Chip Synthesis Flow Using Multiple
Multivoltage NLDM Libraries . . . . . . . . . . . . . . . . . . . . . . . . 2-34
iv
Automated Chip Synthesis Script for Designs
That Reference Multiple Multivoltage NLDM Libraries . . . . . 2-35
v
Appendix A. Using Buffer-Type Level Shifters
General Properties of Buffer-Type Level Shifters . . . . . . . . . . . . . . A-2
Buffer-Type Level-Shifter Insertion Flow . . . . . . . . . . . . . . . . . . . . . A-4
Optionally Setting Buffer-Type Level-Shifter Strategy . . . . . . . . . . . A-5
Level-Shifter Threshold (Automatic and User-Specified). . . . . . . . . A-5
Checking the Design for Level Shifters and
Level-Shifter Violations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-8
Removing Level Shifters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-9
Inserting Buffer-Type Level Shifters. . . . . . . . . . . . . . . . . . . . . . . . . A-9
Placing Level Shifters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-15
vi
report_timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-13
report_delay_calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-15
report_hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-15
Index
vii
viii
Preface FIX ME!
ix
What’s New in This Release
The following new features, enhancements, and changes to the
multivoltage capabilities are supported by Design Compiler and
Physical Compiler, version Y-2006.06:
Preface
x
• Design Compiler supports the use of both isolation cells and
enable-type level shifters in the same multivoltage design.
However, you use slightly modified compile flows, depending on
whether enable-type level shifter library cells are available and on
whether a power domain’s isolation cell is located outside or
inside the domain. If enable-type level shifter cells are available,
Design Compiler can map the GTECH isolation cells to the
appropriate enable-type level shifter library cell.
• The command check_mv_design is introduced in this release.
It can invoke various checking algorithms under-the-hood, based
on the switches you specify. The current set of switches include
- -isolation – To report on electrical isolation errors between
power domains
- -connection_rules – To report on always-on and
pass-gate violations
- -opcond_mismatches – To report on incompatible operating
conditions between instantiated technology cells and the cell’s
parent design
- -target_library_subset – To report on inconsistent
settings among target libraries, target library subsets, and
operation conditions
In future releases, new switches will be provided so that more
checking algorithms can be invoked through this command.
This flow is part of the larger multivoltage design flow of the Galaxy
Design Platform. Currently, the flow applies only to designs with fixed
power domains, each operating at a single voltage; that is, designs
that employ dynamic or adaptive voltage scaling are not supported
in this release.
• Design Compiler
• JupiterXT
Preface
xii
• Physical Compiler
• Astro
• Star-RCXT
• PrimeTime
• Formality
To understand how to use the tools in the Galaxy flow, see the
appropriate user guides. This user guide documents the Design
Compiler/Physical Compiler part of the flow.
Audience
This user guide is for design engineers who use Design Compiler
and Physical Compiler to implement designs.
Preface
xiv
Related Publications
For additional information about Design Compiler and Physical
Compiler, as well as the other tools of the Galaxy Design Platform,
see
Convention Description
Preface
xvi
Customer Support
Customer support is available through SolvNet online customer
support and through contacting the Synopsys Technical Support
Center.
Accessing SolvNet
SolvNet includes an electronic knowledge base of technical articles
and answers to frequently asked questions about Synopsys tools.
SolvNet also gives you access to a wide range of Synopsys online
services including software downloads, documentation on the Web,
and “Enter a Call to the Support Center.”
To access SolvNet,
Customer Support
xvii
Contacting the Synopsys Technical Support Center
If you have problems, questions, or suggestions, you can contact the
Synopsys Technical Support Center in the following ways:
• Open a call to your local support center from the Web by going to
http://solvnet.synopsys.com (Synopsys user name and
password required), then clicking “Enter a Call to the Support
Center.”
• Send an e-mail message to your local support center.
- E-mail support_center@synopsys.com from within North
America.
- Find other local support center e-mail addresses at
http://www.synopsys.com/support/support_ctr.
• Telephone your local support center.
- Call (800) 245-8005 from within the continental United States.
- Call (650) 584-4200 from Canada.
- Find other local support center telephone numbers at
http://www.synopsys.com/support/support_ctr.
Preface
xviii
1
Multivoltage/Multisupply Designs and
Design Flow 1
This chapter includes the following sections:
1-1
Multivoltage and Multisupply Designs
In XG mode, Design Compiler and Physical Compiler support the
following types of designs:
• Multivoltage
• Multisupply
• Mixed multivoltage and multisupply
In multivoltage designs, the subdesign instances (blocks) operate at
different voltages. In multisupply designs, the block voltages are the
same. In the mixed design case, some blocks operate at different
voltages and other blocks operate at a common voltage.
For multisupply designs, you use isolation cells to isolate the input
and output signals of the power domains. These cells should be
instantiated at the RTL level of the design description.
Level-shifter and isolation cells are placed near the voltage area
boundaries, usually at the top level of the design. However, by
appropriately specifying the port voltages, these cells can be placed
inside the voltage areas. A default voltage area is derived for
top-level leaf cells and the buffer-type level shifters that do not belong
to any block.
• report_operating_conditions
• report_target_library_subset
• check_mv_design
• check_level_shifters
• check_isolation_cells
In multivoltage mode, the following existing commands are
enhanced:
• report_cell
You use Physical Compiler to place the cells and optimize the
design. You must define the placement voltage areas and insert
level shifters and isolation cells before running physopt.
Note:
Before running the physopt command, a floorplan must be
available. See the Physical Compiler User Guide, the
JupiterXT Top-Down Hierarchical Flow User Guide, and the
JupiterXT Virtual Flat Flow User Guide for further information.
Figure 1-1 shows a high-level multivoltage design flow example.
Note that other flows, using additional tools, are possible.
Logic synthesis
(top-down compile)
Physical Compiler
Voltage area creation (or IC Compiler) tool
assumes floorplan
(in Physical Compiler or IC Compiler input available
unless created in JupiterXT) from Jupiter XT
or third-party tool
Physical synthesis
(placement and optimization)
Top: VDD1
1 volt
op_cond NOM_1V
Block1: Block2:
VDD2 VDD3
2 volts 3 volts
op_cond NOM_2V op_cond NOM_3V
2-1
• Inserting Isolation Cells and Enable-Type Level Shifters
• Using Power Domains
• Design Compiler Top-Down Compile Flow
• Design Compiler Bottom-Up Compile Flow
• Automated Chip Synthesis Flow
%: dc_shell-t
Recall that k-factors are not supported for multivoltage designs and
are ignored if present in the libraries.
where
Note:
The set_target_library_subset command does not
require a uniquified design before using the command. However,
if you use the insert_level_shifters command in the
Design Compiler flow, you must first run uniquify.
You can check for errors and conflicts introduced by target library
subsetting by using the check_mv_design command with the
-target_library_subset option. This command checks for
Level shifters are inserted as part of the top-level design, but you can
insert a level shifter within a block by specifying a block port voltage
that is different from the block voltage. Note that there is no direct
relationship between power domains and level-shifter insertion.
Level-shifter insertion is basically governed by voltage differences
defined by different operating condition settings.
• GTECH_ISO1_EN1
• GTECH_ISO1_EN0
• GTECH_ISO0_EN1
• GTECH_ISO0_EN0
• GTECH_ISOLATCH_EN1
• GTECH_ISOLATCH_EN0
If you use the GTECH isolation cells, they can be mapped,
retargeted, and sized during compile. Note, however, that power
domains are used to constrain the GTECH isolation cells.
Note:
When you run the compile command, the tool attempts to
replace isolation cells with enable-type level shifters. However,
the insert_level_shifters command does not attempt this
kind of replacement.
A design will contain one or more power domains that are never shut
down. By default, such power domains (absolutely always-on
domains) are mapped with normal cells.
Note that you also have the capability to define and connect multiple
power and ground nets for each power domain.
Note:
The infer_power_domain command ignores any sense
information specified on the power-down and acknowledge
signals of the RTL power domain construct.
Note:
The top-level power domain must be created first.
You connect specific power and ground nets to the power pins of the
cells of a power domain by using the connect_power_domain
command.
All cells of the power domain inherit these power and ground
connections, unless you specify an exceptional connection. Use the
connect_power_net_info command to explicitly connect power
Note:
You can use the report_power_pin_info command to obtain
power pin information on the technology library cells or the leaf
cells of the design.
Argument Description
Argument Description
-power Used to specify the power net. Cannot use with the
-gnd option.
-gnd Used to specify the ground net. Cannot use with the
-power option.
Argument Description
Argument Description
When you specify a list of library cells, the name, type (power or
ground), and voltage specification of the power pin are reported.
When you specify a list of leaf cells, in addition to this information,
the power net connections are also reported.
Argument Description
Argument Description
Voltage Areas
Voltage areas are physical objects that consist of elementary
physical information, including simple floorplan date. They are not
defined in Design Compiler. (They are defined in Physical Compiler,
Jupiter XT, or IC Compiler.) However, there must be an exact
one-to-one relationship between logical power domains and physical
voltage areas. You are responsible for achieving this consistency,
because the tools do not automatically generate voltage areas from
power domains.
Apply constraints
Top-down compile
• compile
• compile_ultra
• balance_registers
• optimize_registers
• pipeline_design
• simplify_constants
• balance_buffers
• clean_buffer_tree
Restrictions and Limitations
Note the following restrictions and limitations:
The design flow is slightly modified to handle this situation. The flow
is further altered if enable-type level shifters are available from the
technology library, because the tool can map generic technology
(GTECH) isolation cells to these enable-type level-shifter cells.
(Enable-type level-shifter cells combine the isolating and
voltage-shifting functions.) The modified flows are outlined in the
following sections.
1. Put $isolate call in the RTL code where you want these cells
in the netlist.
2. Use the create_power_domain command to create the
power domains.
3. Run set_operating_conditions on the design.
4. Run set_operating_conditions on the power-down
hierarchy pins to ensure that the buffer-type level shifters are
inserted inside the block.
5. Run insert_level_shifters to put buffer-type level shifters
on the nonisolated paths inside the power domain.
6. Run any supported compile flow.
The GTECH isolation cells are mapped to the proper enable-type
level-shifter cell.
1. Put $isolate call in the RTL code where you want these cells
in the netlist.
2. Use the create_power_domain command to create the
power domains.
3. Run set_operating_conditions on the design.
1. Put $isolate call in the RTL code where you want these cells
in the netlist.
2. Use the create_power_domain command to create the
power domains.
3. Run set_operating_conditions on the design.
4. Run set_operating_conditions on the ports of the
power-down hierarchy pins to ensure that the buffer-type level
shifters are inserted inside the block.
5. Run insert_level_shifters.
6. Run any supported compile flow.
1. Put $isolate call in the RTL code where you want these cells
in the netlist.
2. Use the create_power_domain command to create the
power domains.
3. Run set_operating_conditions on the design.
4. Run insert_level_shifters to put buffer-type level shifters
on the nonisolated paths outside the power domain.
5. Run any supported compile flow.
##########
########## Set the target library including 0.9/0.7V as well
########## as LS/Isolation library
##########
set target_library
" abcd90efghijwc.db abcd90efghijwc07.db
abcd90efghijwc07iso.db abcd90efghijwc0709+.db
abcd90efghijwc0907+.db "
#########################
set_clock_gating_style
-sequential_cell latch\
-minimum_bitwidth 2\
-num_stage 2\
-positive_edge_logic integrated:CKLNQHVTD1\
-neg integrated:CKLHQHVTD1\
-control_point before\
-control_signal scan_enable
elaborate dma_fifo
insert_clock_gating -global
report_clock_gating
hookup_testports -verbose
propagate_constraints -gate_clock
current_design dma_fifo
###########################
########## Top-down compile
##########
compile -scan
check_mv_design -verbose
check_mv_design -verbose -isolation -opcond_mismatches
-target_library_subset -connection_rules >
./$ReportDir/post_compile.check_mv.rpt
check_level_shifter -verbose > ./$ReportDir/post_compile.check_ls.rpt
exit
Automatic insertion of
buffer-type level shifters
1. Read the entire design, link, and uniquify the top-level design.
2. Apply top-level constraints, including operating conditions and
target library subsetting.
3. Insert buffer-type level shifters to get accurate budgets.
4. Generate block-level RTL budgets by using the
dc_allocate_budgets -mode rtl command.
5. Compile individual blocks, using the constraints generated in
step 4.
6. Compile the top level.
#Setting Variables
set search_path ". ./lib ./src ./scripts $search_path "
##Library settings for a multiple NLDM library
set target_library "Nom1.db Nom2.db Nom3.db level_shifter.db"
set synthetic_library dw_foundation.sldb
set link_library "* Nom1.db Nom2.db Nom3.db \
level_shifter.db dw_foundation.sldb"
check_mv_design
##Block1 compile
current_design block1
link
## applying rtl budgets on block1
source -echo -verbose ./scripts/block1.dctcl
compile
##Block2 compile
current_design block2
link
## applying rtl budgets on block2
source -echo -verbose ./scripts/block2.dctcl
compile
# top-level compile
current_design top
link
compile
check_mv_design
quit
• The tool ensures that the target libraries are properly passed
down to the partitions. Each partition is compiled separately in a
bottom-up manner. The tool marks all subpartitions as
dont_touch before compiling any partition so that no actual
multivoltage compiles are necessary. This mimics the current
bottom-up compile behavior in Design Compiler.
• The tool ensures that if the operating condition for a block is
different from its parent, the block becomes a partition and is
compiled separately. This means that partitioning implicitly
supports multivoltage hierarchical definitions.
Note:
Use the set_target_library_subset command to
specify particular target libraries for individual blocks.
• Level-shifter insertion is on by default, but you can turn it off. To
do this, set the acs_insert_level_shifter to false.
• Automatic insertion of buffer-type level shifters when necessary.
The insert_level_shifters commands are automatically
added to the Automated Chip Synthesis scripts. For subblocks
operating at different voltages, buffer-type level shifters are
inserted in the netlist before compile. Operating condition rules
determine whether level shifters are placed inside or outside the
block netlist. The tool automatically accounts for level shifters in
the target library during insertion.
1. Start dc_shell-t.
2. Specify the multiple multivoltage NLDM libraries and the
level-shifter and isolation cell libraries in the link_library
variable.
3. Set operating conditions on the appropriate instances or designs.
You can set operating conditions on a design by changing the
current design to that design and setting it there.
4. Run the uniquify command if you have different instances of
the same block in various designs or instances with different
operating conditions.
5. (Optional) Set user-defined partitions by using the
set_compile_partitions command. You can use the
-level or -auto partitioning option, or you can specify the list
of designs to be partitioned. Example commands:
set_compile_partitions -level 1 -force
set_compile_partitions -auto -force
set_compile_partitions -design design_list -force
#Setting variables
set search_path " . $search_path ./lib ./rtl ./ddc "
##Library settings for a multiple NLDM library
set target_library "Nom1.db Nom2.db Nom3.db level_shifter.db"
set synthetic_library dw_foundation.sldb
set link_library "* Nom1.db Nom2.ddb Nom3.db \
level_shifter.db dw_foundation.sldb"
##Constraints
source -echo -verbose top_constraints.tcl
acs_compile_design top
#optional step
#acs_refine_design top
quit
• Insert buffer-type level shifters (if you did not insert them during
the logic synthesis phase in dc_shell)
• Create voltage areas and associate or align the logic hierarchies
(if you did not already do this in JupiterXT) and write the
information into the Milkyway database
• Perform placement in the voltage areas
• Optimize the design
The following sections show how to insert buffer-type level shifters
and create voltage areas, as well as optimize the design. (It is
assumed that you know how to use the physopt,
create_placement, and legalize_placement commands.)
3-1
This chapter includes the following sections:
%: psyn_shell
Recall that k-factors are not supported for multivoltage designs and
are ignored if present in the libraries.
Note:
A nested voltage area is a logical construct. The physical
floorplan does not support physically nested voltage areas.
Therefore, for logically nested voltage areas, you must define the
physical voltage areas using disjoint rectangular and rectilinear
shapes in such a way that no physical shape is embedded within
or overlapping another physical shape (Handling Logically
Nested Voltage Areas).
Level shifters and isolation cells can have site heights that differ from
the standard cell site height by either integer multiples or noninteger
multiples. Physical Compiler supports the placement of both types.
To enable noninteger multiheight sites, you must set the variable
physopt_heterogeneous_site_array to true. (The default is
false.)
Note that you need to define appropriate site arrays for these
nonstandard cell heights. For more information on defining site
arrays, see the Physical Compiler User Guide, Volume 1.
Rb
Ra
BB
Rd
Rc
Figure 3-2 shows a floorplan similar to Figure 3-1 but with guard
bands protecting voltage areas Ra and Rc.
Figure 3-2 Multivoltage Design With Several Voltage Areas and Guard
Bands
Rb
Ra
BB
Rd
RcRc
Note:
You can specify guard bands when manually creating voltage
areas by using the -guard_band_x and -guard_band_y
options with the create_voltage_area command. See
“Including Guard Bands With the Voltage Areas” on page 3-10.
After you have defined a voltage area and associated cells, you can
add or remove cells from the voltage area by using the
update_voltage_area command.
After you have defined a voltage area and associated cells, you can
add or remove cells from the voltage area by using the
update_voltage_area command.
The script in Example 3-2 shows you how to derive voltage areas
automatically.
Note:
The default names for the voltage areas derived with the
derive_voltage_area command are formed by using the first
hierarchical cell name found in the set_cell_row_type
command and appending _region to it. Thus, in the preceding
Example 3-2, the derived voltage area names are
Block1_region and Block2_region.
Note:
You can specify guard bands when updating voltage areas by
using the -guard_band_x and -guard_band_y options with
the update_voltage_area command. See the next section,
“Including Guard Bands With the Voltage Areas.
Guard bands
Net2 Net3
Net1 Net4
Voltage area 1 Voltage area 2
(1.08 v) (1.50 v) Net5
guard_band_y = 20
• The x (y) guard band width applies to both the left and right (top
and bottom) side of a voltage area.
• The Physical Compiler GUI does not highlight guard bands.
• Overlapping guard bands are allowed and do not generate
warning messages.
• A guard band that lies outside the core area does not generate a
warning message.
VA1
VA1_t
VA2
VA1_l VA2 VA1_r
VA1_b
VA1 VA2_r
VA1
VA2 VA2_l
In the first example, you create a voltage area VA1 that consists of
the four sequentially abutted rectangles VA1_b, VA1_l, VA1_t, and
VA1_r with a central, rectangular gap. Voltage area VA2 is a simple
rectangle that “fits” into this gap. The following commands would
create the two voltage areas:
In the second example, you create two voltage areas. VA1 is a single,
eight-sided rectilinear shape, and VA2 consists of two disjoint
rectangles, VA2_l and VA2_r.
These examples do not represent the only way you might resolve the
logically nested voltage areas into unnested physical areas.
When this feature is enabled, the virtual route estimator observes the
following constraints:
Level shifters are kept only if they are an actual part of the interface
logic. Those level shifters past the first registers of a block are not
retained. For level shifters that become part of the ILM, the leaf cells
connected to the input and output nets of the level shifter are also
retained, as well as the nets. You can use the
check_level_shifter command to determine if any output nets
of the level shifters are floating.
After you group the relevant cells of a voltage area into an relative
placement grouping, you can place them as a single structure within
the voltage area. The flow is identical to a typical relative placement
flow, and the entire relative placement feature set is available.
Tie-high and tie-low cells are handled consistently with respect to the
way they are handled in Astro; that is, the connections established in
Astro are preserved in Design Compiler and Physical Compiler.
Constant signals are fed to the correct cells for a given voltage area.
Example 3-3 provides an example script with all the steps required
in the physical synthesis phase of the multivoltage design flow
described in Chapter 1. This design uses multiple nonlinear delay
model (NLDM) libraries.
read_ddc ./ddc/top.final.ddc
### If you want to read milkyway created by DC
### read_milkyway dc_compile
###
current_design top
source -e -v ./ddc/top.final.wscr
report_voltage_area -all
create_placement -timing
check_legality
physopt -inc
report_change_list
change_names -rules verilog -hierarchy
write -f verilog -hier -o ./ddc/pc_placed_gates.v
write_pdef -output ./ddc/pc_placed_gates.pdef
write_script -h -output ./ddc/pc_placed_gates.wscr
write_milkyway -out pc_placed_gates
quit
A-1
General Properties of Buffer-Type Level Shifters
A buffer-type level-shifter cell is modeled as a buffer with the
following properties:
Note, however, that the required level shifters are inserted only after
you issue the insert_level_shifters command.
Note:
Steps 1 through 4 should be performed before optimization
(compile or physopt command), and steps 5 and 6 after.
However, if you want to specify the level-shifter strategy rule, use the
set_level_shifter_strategy -rule command. You can set
the rule to allow only step-up buffer-type level shifters
(low_to_high option), or only step-down buffer-type level shifters
(high_to_low option), or both (-all option). The default option is
-all, which is equivalent to not using the command.
Therefore, for any pair of driver and load pins, if the output voltage
band of the driver pin is completely overlapped (contained within) the
input voltage band of the load pin, no level shifter is required. This
criteria holds for both logic 1 and logic 0.
For any of these four conditions, the driver voltage band does not fall
completely within the load voltage band, and buffer-type level shifters
are needed.
Note:
You can override this automatic threshold determination by using
the set_level_shifter_threshold command.
You can specify both threshold options. In this case, buffer-type level
shifters are inserted when either threshold condition is met. For
example, to specify both a 0.5 voltage threshold and a 5 percent
threshold, enter
Note:
The percentage is computed as 100 x (absolute value of the
difference between the driver voltage and the load voltage)/driver
voltage.
• Incorrect operating condition – The level shifter does not have the
correct annotated operating condition.
• Wrong level shifter – The given level shifter cannot be used to
shift the voltage levels as needed.
• Multiple fanin voltages – The fanins of the level shifter are not all
at the same voltage level.
• Multiple fanout voltages – The fanouts of the level shifter are not
all at the same voltage level.
• Not required – The level shifter is not required according to the
defined strategy and/or threshold.
By default, level shifters are not inserted on clock nets. Use the
-all_clock_nets or -clock_net list_of_clock_nets
option if you want level shifters inserted on clock nets.
To obtain information about all the level shifters available in the target
libraries, use the -verbose option. The information reported
includes library name and type, level-shifter cell name, operating
condition(s), input and output voltages, process ID, temperature, and
tree type. Also, the number of inserted level shifters is reported.
Figure A-1 Buffer-Type Level Shifter Insertion at the Top Level and
Block Level
Top: 2V
Block1: 2V Block2: 3V
The script in Example A-1 shows you how to insert buffer-type level
shifters between blocks at the top level for a design with two
subblocks. Block1 and the top-level design are at 2 volts. Block2 is at
3 volts.
The script in Example A-2 shows you how to insert buffer-type level
shifters within Block2 for a design with two subblocks. Block1 and the
top-level design are at 2 volts. Block2 is at 3 volts.
read_verilog top_final.v
If special sites are needed for level shifters, these sites must be
instantiated in the floorplan at locations where these level shifters
could be placed. Such sites should usually be defined along the
voltage area boundaries. They can overlap with the base site array.
• report_operating_conditions
• delete_operating_condition
• report_target_library_subset
• check_mv_design
• check_target_library_subset
• check_level_shifters
• check_isloation_cells
B-1
These commands are enhanced:
• report_cell
• check_design
• report_voltage_area
• report_timing
• report_delay_calculation
• report_hierarchy
For more information on the following commands, see the
appropriate man pages.
report_operating_conditions
B-3
Voltage : 1.00
Interconnect Model : worst_case_tree
Power Rails:
Rail Voltage Value
---------------------------
VDD1_Rail 1.00
VDD2_Rail 1.00
delete_operating_condition
The syntax for this command is
delete_operating_condition opcond_name
You run this command when you want to remove any operating
condition that you created with the
create_operating_condition command. The user-specified
operating condition with the name opcond_cond is deleted from the
set of operating conditions, and the following warning is issued:
****************************************
Report : target library subset
Design : fir_top
Version: X-2005.09
Date : Wed Aug 3 11:44:29 2005
****************************************
check_mv_design
Use this command to check for design errors, including multivoltage
constraint violations, electrical isolation violations, connection rules
violations, and operating condition mismatches. Two switches let you
control the level of information detail and limit the number of
messages printed to the log file, Other switches, such as
-isolation, -connection_rules, -opcond_mismatches,
and -target_library_subset, let you select among the
available checking reports.
report_target_library_subset
B-5
If you do not specify any checkers, violations are reported from all
supported checkers. If you use the -verbose switch, the checkers
provide detailed reports. If you omit this switch, summary reports are
provided.
Argument Description
check_level_shifters
Use this command to check all level shifters, including
hand-instantiated enable-type level shifters, and level-shifter nets
against any specified level-shifter strategy and threshold. Note that
the command checks only cells for which the library attribute
is_level_shifter is set to true.
check_target_library_subset
B-7
******************************************************************************
Check Level Shifters and Nets Summary
******************************************************************************
Level shifter strategy :all
Level shifter threshold voltage :0 (default)
Level shifter threshold percent :Not defined
No. of violating nets - dont_touch :4
No. of violating nets - multiple driver :0
No. of violating nets - no dont_touch :0
No. of violating level shifters - dont_touch :0
No. of violating level shifters - no dont_touch :0
No. of level shifters in design :98
******************************************************************************
1
• Net information
- Net name
- Driver pin
- Input voltage
- Load pin
- Output voltage
• Level-shifter information
- Operating condition
- Level-shifter reference
- Level-shifter reference input voltage
- Level-shifter reference output voltage
- Violation description
check_isolation_cells
B-9
isolation cell I_blk3_state_27to17/I_iso_state_out_20 inside MV_VOL_AREA1
----------------------------------------------------
----------------------------------------------------
Missing Isolation cell(s) at output(s) of MV_VOL_AREA2
----------------------------------------------------
----------------------------------------------------
Missing Isolation cell(s) at input(s) of MV_VOL_AREA1
----------------------------------------------------
Warning : The input net I_blk2/reset to MV_VOL_AREA1 may require isolation cell
----------------------------------------------------
Missing Isolation cell(s) at input(s) of MV_VOL_AREA3
----------------------------------------------------
Warning : The input net I_blk1/clock to MV_VOL_AREA3 may require isolation cell
Warning : The input net I_blk1/reset to MV_VOL_AREA3 may require isolation cell
Warning : The input net I_blk1/in_valid to MV_VOL_AREA3 may require isolation cell
----------------------------------------------------
Missing Isolation cell(s) at output(s) of MV_VOL_AREA3
----------------------------------------------------
check_isolation_cells
B-11
report_cell
In multivoltage mode, this report provides additional columns to
display the operating conditions and voltages annotated on the cells
of the design.
dc_shell-t> report_cell
check_design
In multivoltage mode, this command provides an additional error
message: “Error: cell ‘%’ is not characterized for %fV.”
For example,
report_voltage_area
In multivoltage mode, this command also reports the operating
conditions that are associated with the various blocks of the voltage
area. For example,
********************************
Max Operating Condition:
Opcond nom1v: u1
Min. Operating Condition:
op_cond nom1v: u1
********************************
report_timing
In multivoltage mode, this command reports the library operating
condition, voltage (-voltage option), and temperature
(-temperature option) of the cells in the timing paths instead of
the design operating condition.
The library operating conditions of the cells in the timing path are
displayed under the report column “Lib:OC,” and (if you use the
appropriate options) voltages under a “Voltage” column, and
temperatures under a “Temperature” column.
report_timing
B-13
For example,
********************************************
Report : timing
-path full
-delay max
-voltage
-temperature
-max_paths 1
Design : add Version
Version:V-2004.06
Date : Mon Apr 26 23:40:02 2004
********************************************
* Some/all delay information is back-annotated.
Startpoint: in2[1] (input port)
Endpoint: out[31] (output port)
Path Group: (none)
Path Type: max
Point Incr
Path
Lib:OC Voltage Temp.
--------------------------------------------------------------------
input external delay 0.00
0.00 f
in2[1] (in)0.000.00 f
-:nom2v 2.00 25.00
U34/Y (T2SHIFTER) 0.06*
0.06 f
typ2:nom2v (VDD1:1.00 VDD2:2. 00 )
25.00
u1/in2[1] (add1) 0.00 0.06 f
-:nom1v 1.00 25.00
u1/add_6/B[1] (add1_DW01_add_32_0) 0.00 0.06 f
-:nom1v 1.00 25.00
u1/add_6/U1_1/S (T1ADDFXL) 0.50 * 0.56 f
typ1:nom1v 1.00 25.00
u1/add_6/SUM[1] (add1_DW01_add_32_0) 0.00 0.56 f
-:nom1v 1.00 25.00
u1/out[1] (add1) 0.00 0.56 f
-:nom1v 1.00 25.00
U2/Y (T1SHIFTER) 0.10 * 0.66 f
typ1:nom2v (VDD1:1.00 VDD2:2. 00 )
...
****************************************
Report : delay_calculation
Design : led
Version: v3.1a
Date : Tue Apr 7 16:28:07 2004
****************************************
From : BLK1/Z
To : BLK2/A
arc type : net
Operating Conditions: BASIC_WORST Library: basic Voltage: 1.2
Wire Load Model Mode: top
Design Wire Loading Model Library
-----------------------------------------------
RDC_GENERIC BASIC_ONE basic
report_hierarchy
In multivoltage mode, the command also reports operating
conditions and voltages.
report_delay_calculation
B-15
dc_shell-t> report_hierarchy
****************************************
Report : hierarchy
Design : CONTROL
Version: v2.0
Date : Fri Mar 20 14:09:24 2000
****************************************
CONTROL opcond1 1.2
CTLX opcond2 1.5 (VDD1:1.2,VDD2:1.5)
AO1 tech_lib opcond2 1.5 (VDD1:1.2,VDD2:1.5)
AO2 tech_lib opcond2 1.5 (VDD1:1.2,VDD2:1.5)
AO3 tech_lib opcond2 1.5 (VDD1:1.2,VDD2:1.5)
AO4 tech_lib opcond2 1.5 (VDD1:1.2,VDD2:1.5)
AO6 tech_lib opcond2 1.5 (VDD1:1.2,VDD2:1.5)
AO7 tech_lib opcond2 1.5 (VDD1:1.2,VDD2:1.5)
EON1 tech_lib opcond2 1.5 (VDD1:1.2,VDD2:1.5)
INVA tech_lib opcond2 1.5 (VDD1:1.2,VDD2:1.5)
NAND2 tech_lib opcond2 1.5 (VDD1:1.2,VDD2:1.5)
NAND3 tech_lib opcond2 1.5 (VDD1:1.2,VDD2:1.5)
NAND4 tech_lib opcond2 1.5 (VDD1:1.2,VDD2:1.5)
NR2 tech_lib opcond2 1.5 (VDD1:1.2,VDD2:1.5)
NR3 tech_lib opcond2 1.5 (VDD1:1.2,VDD2:1.5)
OR2 tech_lib opcond2 1.5 (VDD1:1.2,VDD2:1.5)
OR3 tech_lib opcond2 1.5 (VDD1:1.2,VDD2:1.5)
LSHIFTER ls_lib 1.0->2.0v
JPMP opcond3 2.0
MX1P iiii_lib opcond3 2.0
NAND2 iiii_lib opcond3 2.0
NAND3 iiii_lib opcond3 1.2
C-1
For Design Compiler and Physical Compiler to recognize either kind
of level shifter, the library cells must have the is_level_shifter
library attribute set to true. Also, the enable pin of the enable-type
level-shifter model must have the level_shifter_enable_pin
attribute set to true.
power_supply() {
default_power_rail : VDD1;
power_rail (VDD1, 2.0); /* primary power */
power_rail (VDD2, 3.0); /* secondary power */
power_rail (GND, 0.01);
}
/* operation conditions */
nom_process : 1;
nom_temperature : 25;
nom_voltage : 2.0;
operating_conditions(nom1v) {
process: 1;
temperature: 25;
voltage: 2.0;
tree_type: balanced_tree;
power_rail (VDD1, 2.0);
power_rail (VDD2, 3.0);
power_rail (GND, 0.01);
}
cell(LSHIFTER12) {
is_level_shifter : true;
cell_footprint : buf;
area : 16.9740;
pin (enable) {
level_shifter_enable_pin : true;
...
}
pin(A) {
direction : input;
capacitance : 0.4;
input_signal_level : VDD1;
}
pin(Y) {
direction : output;
capacitance : 0.0;
output_signal_level : VDD2;
function : "A";
}
}
SITE core
SYMMETRY y ; /* cells can only be mirrored i.y Y symmetry
*/
CLASS core ; /* class core not IO */
SIZE 0.560 BY 4.480 ; /* width X height */
END core
SITE corels
SYMMETRY y ; /* cells can only be mirrored i.y Y symmetry
*/
CLASS core ; /* class core not IO */
SIZE 0.560 BY 8.96; /* width X 2*height */
END corels
macro lshifter
size 2.800 by 8.960 ;
site corels ;
symmetry y ;
class core ;
obs
....
end
pin P1
...
end P1
pin P2
....
end P2
pin P3
...
end P3
end lshifter
A C
acs_compile_design command 2-35 check_design command 1-9, B-12
acs_refine_design command 2-35 check_isolation_cells command 1-8, 2-8, 2-17,
attributes 3-16, B-9
dont_touch 1-7, 2-33, A-3, A-9, A-10, A-11, check_level_shifters command 1-8, 2-6, 2-17,
A-13 3-19, A-2, A-4, A-8, B-7
is_isolation_cell 1-6, 2-7, 3-21, A-15 check_mv_design command 1-8, 2-4, 2-16,
is_level_shifter 1-6, 2-5, 2-7, 3-21, A-8, B-5
A-15, B-7, C-2 commands
isolation_cell_enable_pin 1-6 acs_compile_design 2-35
level_shifter_enable_pin 1-6, 2-5, 2-7, C-2 acs_refine_design 2-35
Automated Chip Synthesis flow 2-32 check_design 1-9, B-12
automatic high-fanout synthesis check_isolation_cells 1-8, 2-8, 2-17, 3-16,
voltage area aware 3-16 B-9
check_level_shifters 1-8, 2-6, 2-17, 3-19,
A-2, A-4, A-8, B-7
B check_mv_design 1-8, 2-4, 2-16, B-5
buffer-type level shifters connect_power_domain 2-13
checking for violations A-8 connect_power_net_info 2-10, 2-14
checking the design A-8 create_ilm 3-18
general properties A-2 create_operating_condition B-3, B-4
inserting A-9 create_placement 3-1, A-4, A-15
insertion flow A-4 create_power_domain 2-10, 2-11
insertion strategy A-5 create_power_net_info 2-10, 2-12
insertion threshold A-5 create_voltage_area 1-3, 3-7, 3-11, A-4
placing A-15 dc_allocate_budgets 2-27
removing A-9 derive_voltage_area 3-8, 3-9, 3-11, A-4
disconnect_power_net_info 2-14
IN-1
get_always_on_logic 2-16 update_voltage_area 3-7, 3-9, 3-10, 3-11,
get_power_domains 2-12, 2-13 A-4
get_voltage_area 3-10 compile_delete_unloaded_sequential_cells
infer_power_domain 2-10 variable 2-21
insert_level_shifters 1-7, 2-5, 2-33, A-2, A-3, connect_power_domain command 2-13
A-4, A-9 connect_power_net_info command 2-10, 2-14
leagalize_placement 3-1, A-4 create_ilm command 3-18
legalize_placement A-15 create_operating_condition command B-3,
physopt 1-3, 1-6, 1-10, 3-16, 3-20, A-4, B-4
A-10, A-13, A-15 create_placement command 3-1, A-4, A-15
propagate_constraints 3-18
create_power_domain command 2-10, 2-11
remove_level_shifters A-3, A-9
create_power_net_info command 2-10, 2-12
remove_power_domain 2-12
remove_power_net_info 2-13 create_voltage_area command 1-3, 3-7, 3-11,
A-4
remove_target_library_subset 2-4
remove_voltage_area 3-15
report_cell 1-8, B-12 D
report_delay_calculation 1-9, B-15
report_hierarchy 1-9, B-15 dc_allocate_budgets command 2-27
report_operating_conditions 1-8, B-3 derive_voltage_area command 3-8, 3-9, 3-11,
report_power_domain 2-12 A-4
report_power_net_info 2-13 Design Compiler/Physical Compiler high-level
flow
report_power_pin_info 2-11
design flow limitations 1-7
report_power_pin_information 2-14
interacting with other Synopsys tools 1-13
report_target_library_subset 1-8, 2-5, B-5,
B-7 logic synthesis phase 1-10
report_timing 1-9, B-13 physical synthesis phase 1-10
report_voltage_area 1-9, 3-15, B-12 disconnect_power_net_info command 2-14
run_router 3-17 dont_touch attribute 1-7, 2-33, A-3, A-9, A-10,
set_cell_row_type 3-8, 3-9, A-4 A-11, A-13
set_compile_partitions 2-34 dw_prefer_mc_inside variable 2-35
set_level_shifter_strategy 2-34, A-2, A-3,
A-5, A-8, A-10
set_level_shifter_threshold 2-34, A-3, A-6, G
A-7, A-8, A-10 get_always_on_logic command 2-16
set_operating_conditions 2-33, 3-18, A-12 get_power_domains command 2-12, 2-13
set_relative_always_on 2-9, 2-15 get_voltage_area command 3-10
set_row_type 3-8, A-4
set_target_library_subset 1-4, 1-5, 2-3,
2-33, 2-35 I
uniquify 2-34
infer_power_domain command 2-10
IN-2
insert_level_shifters command 1-7, 2-5, 2-33, limitations 2-19
A-2, A-3, A-4, A-9 script 2-24
uniquified designs required 2-4, 2-12, 2-20 using isolation cells and level shifters 2-20
interface logic models (ILMs), using in multivoltage designs
multivoltage designs 3-18 identifying characteristics 2-3, 3-3
is_isolation_cell attribute 1-6, 2-7, 3-21, A-15 reporting errors 2-16
is_level_shifter attribute 1-6, 2-5, 2-7, 3-21, simple design example 1-12
A-8, A-15, B-7, C-2 using interface logic models 3-18
isolation cell using relative placement 3-19
checking 3-16 multivoltage features, enabled by default 2-3,
GTECH isolation cells 2-7 3-3
inserting 2-6 multivoltage reports B-1
isolation_cell_enable_pin attribute 1-6 multivoltage/multisupply designs 1-2
definitions 1-2
level shifter and isolation cell requirements
K 1-5
k-factors, unsupported 1-5 library requirements 1-4
power domains 1-2
voltage area requirements 1-5
L
legalize_placement command 3-1, A-4, A-15
level shifter
N
inserting buffer-type 2-5 nonlinear delay model libraries
inserting enable-type 2-6 design example 1-12
requirements 1-4
level_shifter_enable_pin attribute 1-6, 2-5, 2-7,
C-2 using 2-1, 2-17, 2-27, 2-32, 3-21, C-1
library models
logical C-3
physical C-5
P
link_library variable 2-34 physical library specifications C-5
logical library models C-3 physical optimization
voltage area based 3-20
logically nested voltage areas, handling 3-13
physical synthesis
placing and optimizing designs 3-21
M physopt command 1-3, 1-6, 1-10, A-4, A-10,
A-13, A-15
maximum net length optimization
automic high-fanout synthesis capability
voltage area aware 3-20
3-16
multivoltage compile flow maximum net length optimization 3-20
Automated Chip Synthesis, "top-down" 2-32 voltage aware capabilities 3-16
Design Compiler, bottom-up 2-27
physopt_enable_voltage_aware_route_estima
Design Compiler, top-down 2-17 tion variable 3-17
IN-3
physopt_heterogeneous_site_array variable report_timing command 1-9, B-13
3-5 report_voltage_area command 1-9, 3-15, B-12
placing and optimizing designs, physical reporting multivoltage designs B-1
synthesis 3-21
run_router command 3-17
power domains
connecting 2-13
creating 2-10 S
creating power net information 2-12
set_cell_row_type command 3-8, 3-9, A-4
defining relative always-on 2-9, 2-15
definition 1-2, 2-8 set_compile_partitions command 2-34
finding always-on paths 2-16 set_level_shifter_strategy command 2-34,
inferring from the RTL design 2-9 A-2, A-3, A-5, A-8, A-10
relative always-on 2-15 set_level_shifter_threshold command 2-34,
reporting power pin information 2-14 A-3, A-6, A-7, A-8, A-10
specifying exceptional power net set_operating_conditions command 2-33,
connections 2-14 3-18, A-12
using 2-8 set_relative_always_on command 2-9, 2-15
voltage areas 2-17 set_row_type command 3-8, A-4
propagate_constraints command 3-18 set_target_library_subset command 1-4, 1-5,
2-3, 2-33, 2-35
R
relative always-on power domains 2-9 T
relative placement, using in multivoltage target library subsetting 2-3
designs 3-19 target_library variable 2-5
remove_level_shifters command A-3, A-9
remove_power_domain command 2-12
remove_power_net_info command 2-13 U
remove_target_library_subset command 2-4 uniquified designs, insert_level_shifters
remove_voltage_area command 3-15 command 2-4, 2-12, 2-20
report_cell command 1-8, B-12 uniquify command 2-34
report_delay_calculation command 1-9, B-15 update_voltage_area command 3-7, 3-9, 3-10,
3-11, A-4
report_hierarchy command 1-9, B-15
report_operating_conditions command 1-8,
B-3 V
report_power_domain command 2-12
variables
report_power_net_info command 2-13 compile_delete_unloaded_sequential_cells
report_power_pin_info command 2-11 2-21
report_power_pin_information command 2-14 dw_prefer_mc_inside 2-35
report_target_library_subset command 1-8, link_library 2-34
2-5, B-5, B-7
IN-4
physopt_enable_voltage_aware_route_esti creating 3-3
mation 3-17 automatically 3-8
physopt_heterogeneous_site_array 3-5 manually 3-7
target_library 2-5 handling logically nested voltage areas 3-13
virtual hierarchy routing including guard bands 3-10
voltage area aware 3-17 logically nested 3-4
voltage area aware capabilities, physopt removing 3-15
command 3-16 reporting 3-15
voltage areas updating 3-10
composite abutted structures 3-4
IN-5