2007 12 ICC Incremental Training
2007 12 ICC Incremental Training
2007 12 ICC Incremental Training
12
Incremental Training
IC Compiler CAE
Predictable Success
IC Compiler 2007.12 Update Training
Agenda
• Timing/SI
• MCMM
• Hierarchical Flow (Includes ILM)
• Low Power
• DFM & Routing
• User Interface
Design
Design Setup
Setup • Min Chip Technology
Floorplanning
Floorplanning • Optimization runtime improvement
• Improved report_congestion
place_opt
place_opt
• Integrated clock global router
• Fix DRCs beyond exceptions
clock_opt
clock_opt mark_clock_tree
• User Interface
check_library -mw_library_name {phys_library_name_list} -
logic_library_name {logical_library_name_list} –cell_list
{cell_list}
• User Benefit
• Identifies the library problems earlier and provided the details reports to
user
• Helps the turn around time and avoids late detection of library issues
• User Interface
N/A
• User Benefit
Gives faster turn around time (TAT)
Gives early prediction of timing closure
•route_fp_protp
Update Check Timing Environment
SDC Timing Optimization •report_congestion
Bad SDC NO NO Bad floorplan • check_fp_timing_environment
Timing OK
NO Identifies unconstrained paths,
zero wire delay timing violations,
Yes bottleneck cells, timing with virtual
psynopt
optimization to quickly identify bad
timing paths, modules
place_opt
•optimize_fp_timing
clock_opt
quick optimization
route_opt
© 2007 Synopsys, Inc. (6)
(6) Predictable Success
Min Chip Technology
• Overview
Min chip preserves user’s investment in floorplan
• Floorplan is preserved (block shape, macro placements, blockages)
• Pins preserved (relative side and order, including on rectilinear edges)
Min chip supports proportional sizing of voltage areas
Min chip accounts for power routing using Power Network Synthesis
• Each voltage area may have different mesh patterns (strap pitch, layers,
rings)
Min chip supports complex I/O (multi-height, multi-ring, staggered)
• User Interface
Run the Tcl command estimate_fp_area or
GUI: Floorplan Æ Estimate Area
• User Benefit
Search for smallest routable de size
• Preserves floor planning investment
• Eliminates costly resizing iterations
Improves designer productivity
Design
DesignData
Data • Start with original netlist for P&R flow
(Original Netlist)
(Original Netlist)
• Minchip needs an optimized
database as an input or results will
Design
DesignPlanning
Planning be too optimistic
• Minchip produces the smallest
Detailed
DetailedImplementation
Implementation routable new floorplan
• After Minchip use original netlist and
MinChip
new floorplan for P&R flow
MinChip
Design
DesignData
Data
(Original
(Original Netlist++New
Netlist New
MinChip Floorplan)
MinChip Floorplan)
Detailed
DetailedImplementation
Implementation
• User Interface
No User Interface changes are required
• User Benefit
Average 30% runtime improvement @ place_opt stage
No QoR impact
Works with any optimizations
• Pre route optimization
place_opt, psynopt, clock_opt
• Post route optimization
route_opt
• Overview
2007.12 with the integrated clock global router
replaces virtual route for optimize_clock_tree
and balance_inter_clock_delay
• In prior releases clock tree implementation used virtual
route for wire delay and capacitance estimation which
caused correlation issues between clock and signal route
• User Interface
cts_integrated_global_router <true|false:default>
• User Benefit
Compared to virtual route based CTS flow, ICGR has shown
improved clock tree correlation between
• Post-cto and post clock route (average correlation within 10%)
• Post-cto and post clock/signal route( average correlation within
10%)
• CTO with ICGR run time: +20%
optimize_clock_tree
Set clock routing variables
set droute_wrongWayExtraCost 20
set groute_incremental 2
route_group –all_clock_nets
Reset clock routing variables
set droute_wrongWayExtraCost 0
set groute_incremental 0
• User Interface
No Change
• User Benefit
DRC fixing is done by default during CTS
Improve TTR & QoR
report_clock_tree –structure
shows the structure of new clock tree including beyond exceptions
remove_clock_tree
SUMMARY 14 buffer(s) & 0 inverter(s) are removed
Removing cells added for drc fixing beyond exceptions...
3 buffer(s) and 0 inverter(s) are removed
• Overview
Modify clock related attributes on clock cells and nets
• Clock net NDR and routing layer
• Clock tree imported from Astro or 3rd party tool
• Fix or soft-fix sinks for routing resource adjustment
• User Benefit
Mark clock tree to identify imported clock tree and continue
clock optimization
Modify existing clock tree attributes for subsequent
optimization and routing
• Flow recommendations
Use this command to mark clock attributes on imported clock tree
structures for sub-sequent IC Compiler clock operations
To modify NDR rules applied on a already synthesized clock
network
• Known Limitations
ETM model internal clock pin are not supported
• Overview
Enhance extract_rc to perform detail route extraction and virtual route
estimation
• User Interface
Set the following variable to true
• set complete_mixed_mode_extraction true
• Default: false
• When mixed mode extraction will be ON by default, then for backward
compatibility, -routed_nets_only option will be added to
extract_rc and write_parasitics commands
• User Benefit
Minimized number of commands when extracting a partially routed design
(clock routed stage);
• extract_rc
• can now be replaces
• extract_rc –estimate; extract_rc
Please keep in mind that place_opt currently doesn’t support mixed mode
extraction
• Overview
Preserving parasitic is possible in 2007.12 when timing constraints
need to be removed (SDC) ; Fixes issues in auto-extraction for not
to extract if the design is not re-linked, tluplus files and temperatures
are not changed
• User Interface
Option –keep_parasitics is added to remove_sdc command
• User Benefit
Parasitics need not be re-extracted after remove_sdc
Ease of use and reduced runtime by not having to re-extract the
parasitics
• Usage /GUI
Use the -keep_parasitics option to retain the parasitics
information during remove_sdc
• remove_sdc –keep_parasitics
• Flow Recommendations
Use remove_sdc –keep_parasitics when removing CTS SDC
after clock_opt
• Overview
To honor ignored layers in virtual route topology creation
• User Interface
No change in User Interface
• User Benefit
Improved correlation of virtual route and detail route topology when
ignored layers are used
• Ex. On a 7-metal layer design, if M6 and M7 are ignored, and
there is a Macro that blocks layers M1-M5, virtual route will now
detour around it (consistent with detail router topology)
• Usage /GUI
No change in User Interface
extract_rc –estimate (executed stand-alone and also
invoked during pre-route optimization commands) will now
honor the ignored layers
• Overview
report_congestion is updated to use the IC Compiler
global route to ensure consistency and convergence
• User Interface
report_congestion
• Changes to this feature are explained later
• User Benefit
Global router based congestion map and correlates with GUI
display of hotspots/overflows
Good correlation between pre route and post route stage
• User Benefit
The new congestion map allows user to display and view congestion
information per layer basis
• Congestion map is consistent with log file report
• Studying congestion on a specific layer is possible
Overflow on M2 is
cancelled out by
underflow on M4
and M6
• User Interface
set si_use_partial_grounding_for_min_analysis false
Feature not ON by default
• User Benefit
Better correlation in min-corner (Hold) timing
• Percentage of paths with arrival time difference less than 3% is
improved from 89% to 97%
• Overview
Improved SI delta delay user interface in IC Compiler
• You get detail information on the individual aggressor
contribution
• Report the details of the active and screened aggressors
• User Interface
report_delay_calculation –crosstalk
• User Benefit
Ease of use for debugging PT-SI delta delay correlation on specific
timing arcs
Height Area
---------------------------------------------------------------------
Required Time 0.567 (0.567 * 0.603) -
Actual 0.082 (0.082 * 0.603)
---------------------------------------------------------------------
Slack 0.485 0.293
1. Timing/SI
2. MCMM
3. Hierarchical Flow (includes ILM)
4. Low Power
5. DFM & Route Rules
6. User Interface
Design
Design Setup
Setup
Floorplanning
Floorplanning
place_opt
place_opt
•More Than 3 TLUPlus Support
clock_opt
clock_opt •Support For Netlist ECO
Commands
route_opt
route_opt •MCMM Reporting Enhancements
Chip
Chip Finishing
Finishing
signoff_opt
signoff_opt
• Overview
• This feature addresses the previous limitation of using up to 3
TLUPlus in one MCMM session.
With 2007.12, the user can now use as many TLUPlus as needed
in a MCMM session.
• User Interface
No change in User Interface.
The user will use more than 3 TLUPlus files by creating more
scenarios.
• User Benefit
The users can see significant improvements in usage as they can
now optimize their design across any number of TLUPlus corners.
• Usage
TLUPlus files must be set by the set_tlu_plus_files
command under the scope of each scenario
• Flow Recommendations
First create a scenario
Then set TLUPlus files for that scenario
•report_annotated_check •report_disable_timing
•report_annotated_transition •report_latency_adjustment_options
•report_annotated_delay •report_net
•report_attribute •report_power
•report_case_analysis •report_power_calculation
•report_ideal_network •report_noise
•report_internal_loads •report_signal_em
•report_clock_gating_check •report_timing_derate
•report_clock_tree •report_timing_requirements
•report_clock_tree_power •report_transitive_fanin
•report_delay_calculation •report_crpr
•report_delay_estimate_options •report_clock_timing
•report_transitive_fanout
Scenario(s): s2
Version: A-2007.12-IC Compiler-ALPHA3
Date : Thu Sep 20 14:30:40 2007
****************************************
Attributes:
c - annotated capacitance
r - annotated resistance
•Hierarchical Flow
Floorplanning
Floorplanning
•Plan Group Based Placement
place_opt
place_opt •Plan Group Shaping
•Clock Planning
clock_opt
clock_opt •Pin Assignment
•Budgeting Flow
route_opt
route_opt
•Black Box Support
Chip
Chip Finishing
Finishing
•ILM Enhancement
•Hierarchical Verilog Netlist
signoff_opt
signoff_opt
• Overview
2007.12 IC Compiler provides hierarchical design methodology to
divide and conquer large designs
• User Interface
Use IC Compiler Design Planning to perform hierarchical floorplanning,
check design feasibility, generate hierarchical design database
Use standard IC Compiler flow to finish block implementation
Generate ILM and FRAM models for blocks
Implement top level using ILM/FRAM
• User Benefit
Manage capacity and run time
Support hierarchical design methodology in different scenarios
• Black Box flow, Lower power, MCMM etc.
PNA/PNS read_SDC
clock_opt
plangroup aware routing
route_opt place_opt
In Place Optimization
ILM/FRAM Generation
Set Pin Assignment Constraints
clock_opt
Pin Assignment
Commit Hierarchy
• User Benefit
Placement result can be used to decide
• Hard macro locations
• Locations, shapes and sizes of the physical blocks
• User Benefit
Automatically Place and Shape plan group boundaries, black boxes
and other soft macros in the core area
• User Interface
set_fp_clock_plan_options Sets options for the clock planning
clock tree synthesis engine
report_fp_clock_plan_options Reports options for the clock
planning clock tree synthesis engine
compile_fp_clock_plan Performs clock planning
set_fp_clock_plan_options -
Clock Planning anchor_cell Anchor_Cell_Name
report_fp_clock_plan_options
Proto Route compile_fp_clock_plan
Extraction RC
route_fp_proto
Commit Hierarchy
• User Interface
• set_fp_pin_constraints:
set pin constraints (including TDF file) on soft macros
• analyze_fp_routing:
use option “-list_feedthrough_nets” to output feedthrough (FT) nets;
use option “-finalize” to finalize FT nets and pins and to cut pins based on
Global Routing results.
• check_fp_pin_assignment:
reports whether pin assignment has observed pin constraints.
• check_fp_pin_alignment:
check pin alignment (provide pin detour report).
• place_fp_pins
place pins of Soft Macros from top level or within block level
• commit_fp_plan_groups:
Creates Soft Macros and place pins on each Soft Macro
• uncommit_fp_soft_macros:
converts Soft Macros to plan group.
• push_down_fp_objects:
push down objects (cells,preroute, … ) into Soft Macro
• push_up_fp_objects:
push up objects from Soft Macro back to plan group.
optimize_fp_timing -
Feedthrough IPO feedthrough_buffering_only
extract_rc
Budgeting allocate_fp_budgets
commit_fp_plan_groups -
Commit
push_down_power_and_ground_straps
• User Interface
set enable_hier_si true
allocate_fp_budgets
Budgeter stores effective aggressor driving strength for input pins and coupling cap
across block boundary into block CEL view
D Q
Effective driving strength
• Post-Budgeting Analysis:
Generate a report containing real and budgeted delays
through a hierarchical block
• Flop-to-flop paths within blocks are not reported
• User Interface
Tcl Command: check_fp_budget_result
GUI: N/A
Must be performed during the same session as
allocate_fp_budgets
• User Interface
Flow can be executed with a script of sequence Tcl commands; or
Flow can be executed using each individual GUI operation
• User Benefit
You start the floorplan early without a complete netlist for some
modules (implemented as black boxes).
Feedthrough IPO
Budgeting
• User Benefit
Provides consistent support throughout the hierarchical flow, where
feedthroughs may be the best solution (i.e. for routing through blocks)
Applies to both signal and clock nets
• Top-level CTS supports the use of clock feedthroughs on ILM blocks
• Overview
IC Compiler CTS now supports clocks created inside ILM and
those going through ILM
It also supports clock exceptions defined on ILM ports and
inside ILM
• User Interface
All new features are on by default
• User Benefit
Faster runtime and uses less memory
Ease of Use in the top level flow
1. Timing/SI
2. MCMM
3. Hierarchical Flow (includes ILM)
4. Low Power
5. DFM & Route Rules
6. User Interface
Design
Design Setup
Setup • Pre CTS Optimization
• Simultaneous PNS/PNA
Floorplanning
Floorplanning • MTCMOS Design Planning &
Exploration
place_opt
place_opt • UPF
User Interface
clock_opt Enhancement
clock_opt
UPF Flat Flow
Recommendations In
route_opt
route_opt 2007.12
• MV Checker
Chip
Chip Finishing
Finishing
• Adaptive Leakage Optimization
(ALO)
signoff_opt
signoff_opt
Run optimize_pre_cts_power
optimize_pre_cts_power or
clock_opt –power
• User Benefit
Improvement in power (average 10%), with minimal impact to
timing and CTS QoR
• Significant improvement is seen on designs with large number
of clock gates which have small fan out
• Power improvement comes with a cost of runtime
• Overview
The objective of this feature is to explore MTCMOS planning
• User Interface
explore_header_footer
• User Benefit
Insert and place MTCMOS array to explore if whole chip IR drop
meets IR drop target with inserted MTCMOS array
•Usage/GUI remove_supply_net
•VA creation
•Switch cell mapping + insertion
check_mv_design
• Overview
Existing check_mv_design addresses logical checking only
Lack of physical analysis and checking capability for MV
designs
A debug utility to check the validity of user constraints
• Usage /GUI
check_physical_design –for_mv
• Usage /GUI
To use the ALO, the user interface remains the same
…
set target_library “hvt.db lvt.db”
…
set_power_options –leakage true
place_opt –power
…
clock_opt –power
…
route_opt –power
…
1. Timing/SI
2. MCMM
3. Hierarchical Flow (Includes ILM)
4. Low Power
5. DFM & Route Rules
6. GUI
Design
Design Setup
Setup
Floorplanning
Floorplanning
•Via Farm Rule
place_opt
place_opt •Poly Contact Enclosure
clock_opt
clock_opt
•Area Based Antenna Rule
•Coaxial Shielding
route_opt
route_opt •Via Enclosure
•Parallel Length Dot Short
Chip
Chip Finishing
Finishing
signoff_opt
signoff_opt
• Overview
This is an enhancement for PG Route Via Farm Rule to honor the
rule specified in technology file on via farms spacing and maximum
number of rows only in the longer direction of wires intersection
• User Benefit
Design satisfies specified via farm rule on PG wires
viaFarmSpacing
viaFarmSpacing
For the new via farm rule, specify the following in the Contact
Code section of the technology file:
• maxNumRows = number
• viaFarmSpacing = spacing
• viaFarmLongDirection = 1
• Overview
In 45nm design, poly contact requires different metal enclosure with respect
to metal width and projection/parallel length to the adjacent metals
• User Interface
New droute options are added to trigger the metal extension rule
set_droute_options –name M1FloatingSpaceForViaOffLimit \
–value 0.08
set_droute_options –name M1FloatingParaLenForViaOffLimit \
–value 0.27
• User Benefit
Drouter shifts the via to meet metal enclosure rule if the tech file variables
and droute options were defined
• Usage /GUI
Metal enclosure of poly contact =0.015 if width of W1 or W2 >= 0.11,
space < 0.08 and projection/parallel length > 0.27
This rule is ignored if double contacts with cut spacing < 0.11
W1 DesignRule {
W2
S layer1 = “METAL1"
layer2 = “CO"
endOfLineEncTblSize = 2
X1 endOfLineEncSideThreshold = (0.11, 0.21)
X2 fatWireViaKeepoutMinSize = ( 2, 2)
P fatWireViaKeepoutEnclosure = ( 0.015, 0 )
}
• Overview
In general, antenna is checked by considering antenna ratio
(antenna_area/gate_size). With this new enhancement, router
is able to consider antenna by area and insert a diode at a specific
distance to gate.
• User Interface
New Tcl command defines antenna area rule
• define_antenna_area_rule
-mode
<ignore_lower_layers|include_lower_layers|inclu
de_all_lower_layers>
-max_area max_metal_area
[-diode_distance diode_distance]
• User Benefit
Router detects the area-base-antenna violation and uses
metal-splitting (route_search_repair) or insert a diode
(insert_diode) to overcome the violation
• Overview
In general, shielding only takes place on the same layer
IC Compiler shields a net with same, upper and lower (coaxially)
metal layers.
The upper or lower shields are placed at one another track
• User Interface
New options are added to both GUI and Tcl command
create_auto_shield
• [-coaxial_below]
• [-coaxial_above]
• User Benefit
Coaxial shielded nets can have better noise-resistance
Clock net
M4 Shielding Net
M5
VIA34 M3 Clock Net M4
M3
Cross-view
Top-view
© 2007 Synopsys, Inc. (95)
(95) Predictable Success
Coaxial Shielding
• Flow Recommendations
Route specific group of nets first and then do coaxial shielding
• Known Limitations
Long runtime if coaxial shields are created in a complete routed
design
• User Benefit
Reports floating antenna violation
Fixes floating antenna violation by Search & Repair
• Flow Recommendations
Set all constraints by drouter variable then fix “dot short” by Search
and Repair
• Known Limitations
Floating antenna does not check on pre routes
1. Timing/SI
2. MCMM
3. Hierarchical Flow (Includes ILM)
4. Low Power
5. DFM & Route Rules
6. User Interface
Design
Design Setup
Setup
Floorplanning
Floorplanning
place_opt
place_opt
clock_opt
clock_opt • New Highlight tool
• Show GUI Dialog
route_opt
route_opt •check_library
Chip
Chip Finishing
Finishing
signoff_opt
signoff_opt
• Highlights
Allows highlighting objects w/o making/changing selection
Allows highlighting objects with their original object colors
Allows highlighting nets of the chosen wire segments
Allows query on highlighted objects
• Usage
Click on the “highlighter” tool icon in the “Mouse Tools” toolbar
Check the options in the “Highlight Tool Options” command dialog
Check on/off the menu item “Highlight->Highlight Using Object
Color”
Check on/off the menu item “View->InfoTip
• Usage
icc_shell> GUI_show_form route*
icc_shell> GUI_show_form place_opt
2 Checks area attribute of cells in logical library vs. actual area -cell_area
by cell PR boundary in physical library
1 Cell view vs. FRAM view in reference library with missing -view_comparison
views and mismatched views (e.g. earlier FRAM views)
reported
2 Missing antenna property for cells and antenna rules in the -antenna
layers,
Missing signal EM rule -signal_em
5 Check and report physical properties (e.g. pin types, cell -phys_property {place
symmetry, preferred routing direction, tile pattern, route cell}
pr_boundary, and wire_track)
6 Report physical only cells (filler cells with and without metal, -physical_only_cell
diode cells with antenna props, and corner cells)
Keepout placed at
column0 row3 Keepout placed next to
RP cell at column0 row1
• Overview
To enable the coarse placer to have more control to orient the relative
placement groups according to data flow
Before 2007.12, RP columns are always placed from left to right (i.e. RP
group orientation = N)
• This may result in longer wire length if data flow is from right to left
In 2007.12, RP columns can be placed starting from the last column to the
first (i.e. RP group orientation = FN)
• Result in shorter wire length if data flow is from right to left
By default, orientation is automatically selected to minimize wire length
• User Benefit
QoR changes with data flow
• Left to right: no change
• Right to left: 5% better
Runtime impact is within 1%
• Overview
Current implementation in the RP flow to preserve the RP structures
• Fixes the RP cells in clock_opt and route_opt
• Restricts optimizer from further optimizing the design
This feature enables sizing after place_opt in addition to the
fixed_placement option
• Changes to set_rp_group_options and
create_rp_group commands
• Added size_only for -cts_option
• Added in_place_size_only for -route_opt_option
• User Benefit
QoR improvement expected within 5% with a 1% runtime/memory
hit
set_rp_group_options [all_rp_groups] \
# allow size_only in clock_opt and in_place_size_only for route_opt -
cts_option size_only \
-route_opt_option in_place_size_only
clock_opt
check_rp_group -all
route_opt
check_rp_group -all
• Known Limitation
size_only for -cts_option of set_rp_group_options and
create_rp_group commands applies only to clock_opt core
command but not to atomic commands
• optimize_clock_tree
• compile_clock_tree
Multi-voltage + MTCMOS
Multivoltage + MTCMOS
Placement and
Placement based optimization
TTR + QOR RM
UPF Based
CTS and post CTS
MCMM
optimization
Routing and post route
optimization including SI
Chipfinishing
Cell/metal filler, antenna, CAA
Signoff driven closure with
Star-RCXT/PrimeTime SI