Whats New in Encounter.12
Whats New in Encounter.12
Whats New in Encounter.12
0
Product Version 12.0 December 2012
2011-2012 Cadence Design Systems, Inc. All rights reserved. Printed in the United States of America. Cadence Design Systems, Inc. (Cadence), 2655 Seely Ave., San Jose, CA 95134, USA. Trademarks: Trademarks and service marks of Cadence Design Systems, Inc. (Cadence) contained in this document are attributed to Cadence with the appropriate symbol. For queries regarding Cadences trademarks, contact the corporate legal department at the address shown above or call 1-800-862-4522. All other trademarks are the property of their respective holders. Restricted Print Permission: This publication is protected by copyright and any unauthorized use of this publication may violate copyright, trademark, and other laws. Except as specified in this permission statement, this publication may not be copied, reproduced, modified, published, uploaded, posted, transmitted, or distributed in any way, without prior written permission from Cadence. This statement grants you permission to print one (1) hard copy of this publication subject to the following conditions: 1. The publication may be used solely for personal, informational, and noncommercial purposes; 2. The publication may not be modified in any way; 3. Any copy of the publication or portion thereof must include all original copyright, trademark, and other proprietary notices and this permission statement; and 4. Cadence reserves the right to revoke this authorization at any time, and any such use shall be discontinued immediately upon written notice from Cadence. Disclaimer: Information in this publication is subject to change without notice and does not represent a commitment on the part of Cadence. The information contained herein is the proprietary and confidential information of Cadence or its licensors, and is supplied subject to, and may be used only by Cadences customer in accordance with, a written agreement between Cadence and its customer. Except as may be explicitly set forth in such agreement, Cadence does not make, and expressly disclaims, any representations or warranties as to the completeness, accuracy or usefulness of the information contained in this document. Cadence does not warrant that use of such information will not infringe any third party rights, nor does Cadence assume any liability for damages or costs of any kind that may result from use of such information. Restricted Rights: Use, duplication, or disclosure by the Government is subject to restrictions as set forth in FAR52.227-14 and DFAR252.227-7013 et seq. or its successor.
Contents
1. About This Manual
How This Document Is Organized Related Documents EDI System Product Documentation
11 11
11 11 11
2. Release Overview
Release 12.0 Overview New Text Commands and Global Variables New Command Parameters Obsolete Text Commands and Global Variables Supported in this Release Removed from Software Obsolete Command Parameters Supported in this Release Removed from the Software Default Behavior Changes
13 13
13 13 15 21 21 23 24 24 25 28
29 29
29 29 29
4. Foundation Flows
Release 12.0 Enhancements New Variables for Foundation Flow Support for Power Domain - Delay Corner Binding Via Hierarchical Two-Pass Automated Re-budgeting Flow Extended
30 30
30 30 30 30
31 31
31 31 31 33 33 33 33 33
December 2012
New Pin Shapes Option in Layer Control Bar New Option for Highlighting Pin Shapes on Net Selection Enhancements in Flightline Preferences New Option for Displaying Only Clock Nets New Options for Controlling Flightline Color and Width Enhancement in the Ungroup Feature Log File Enhancement find_global Enhancement set_object_color Enhancement New Command for Limiting Display of Return Values New Command To Launch DB Browser New Form for Going to a Specific Location New DBTCL Option New Command to Control Message Severity Level
34 35 35 35 35 36 36 36 36 37 37 37 37 37
39 39
39 39
41 41
41 41 41 41 42 42
8. LEF-DEF Properties
Release 12.0 Enhancements LEF 5.8 Properties for Creating New DRC Rules for 32-28 nm and Smaller Nodes Cut Layer Enhancements Routing Layer Enhancements
43 43
43 43 43 44
9. Wire Editing
Release 12.0 Enhancements New setSpecialRouteOption options for Supporting Multiple-Layer P/G Pins New Option for Selecting/Deselecting Via along with Wire New setViaEdit Option for Creating Special Vias New setViaEdit Option To Prevent Replacement of Existing Via with New, Overlapping Via New setEdit Option for Stretching Wires Along with Via
46 46
46 46 47 47 48 48
50 50
50
December 2012
Flip Chip Flightline Enhancements Highlight by Selection Colored Flightlines Object-Specific Flightlines DIFFPAIR-Based Highlighting New Display Flightline Form Add Bump to Array Form Renamed and Enhanced New changeBumpMaster Parameters New Change Bump Master Form Enhanced Assign/Unassign Signals Form New Auto Zoom Feature New Filter Options New Criterion for Assigning Bumps Support for Assigning Multiple PG Pads to Multi Bumps New assignPGBumps Parameter New Option for Flip Chip Routing in View Area Obsolete fcroute Parameters
50 50 51 51 52 53 53 54 54 55 55 55 55 56 56 56 57
11. Partitioning
Release 12.0 Enhancements Support for Promoting Macro Pins New Parameters for Specifying Offset Pin Editor Capability Enhanced Specify Partition GUI Form Updated alignPtnClone Command Enhanced checkPinAssignment Command Enhanced New Parameter to Specify Keep Out Spacing Pin Constraint Commands Consolidated Multi-threading Support for savePartition Command Support for Saving and Loading Selective Floorplan Data New Parameter Added to the savePartition Command New Parameter Added to the assembleDesign Command New set_ptn_fplan_mode Command Added New get_ptn_fplan_mode Command Added
59 59
59 59 59 60 62 62 63 63 64 65 65 65 65 66 66
12. Floorplanning
Release 12.0 Enhancements createPGPin Command Enhanced createObsAroundInst Command is now Obsolete add_ndr Command Enhanced Support for Reporting Narrow Channels Support for Handling Master/Clones in Different Hierarchy Enhanced Power Domain Placement Capability Enhanced Auto-shaping for Placing Modules
67 67
67 67 67 68 68 69 69 69
December 2012
Support for Virtual fence Option to Handle User-specified Seeds New Command to Generate Partition Fences Around Flexmodels Support for Bus Guides in Relative Floorplan Blackblob Capability made Obsolete
69 70 71 71
73 73
73 73 73 73
75 75
75 75 75 75
76 76
76 76 76 77
78 78
78 78
79 79
79 79 80
18. RC Extraction
Release 12.0 Enhancements RCDB Reading Enhanced to Fix Errors New Command for Providing Information about the Contents of the RCDB Obsolete Command Parameters - Removed from the Software TQRC/IQRC Enhanced to Complete Broken RC Networks TQRC/IQRC Enhanced to Perform Incremental Extraction After defIn and Metal Fill Commands Accuracy of PreRoute Extraction Enhanced for Signal Nets Reduction in Peak Memory Consumption by spefIn in Sequential Mode
82 82
82 82 82 83 84 84 84 85
December 2012
19. Timing
Release 12.0 Enhancements Constraint Handling Enhancements Ability to Override Local Clock Latency Value Reporting Enhancements Added New Global Variable to Track Reported Paths Limit Ability to Report on AOCV Stage Counts Timing Report Enhanced to Show Markers for Pins Added New Command to Report AOCV Derating Factors Added New Parameters for Statistical Derating Ability to Perform Arc-Based AOCV Weight Analysis Added New Global to Improve Reporting of Clock Objects Added New Property Attribute Added New Property to Report Constants Added New Library Properties Report_timing Command Enhanced Timing Modeling Ability to Perform AOCV-Based ETM Extraction do_extract_model Command Enhancements Other Enhancements Ability to Perform AOCV Analysis on Data Paths Added New Property to Report Macros Added New Global to Control Clock Reconvergence
86 86
86 86 86 86 86 87 88 88 88 89 89 89 89 89 90 90 90 91 91 91 91 91
92 92
92
21. Verification
Release 12.0 Enhancements New Command To Support 20nm and Lower DRC Rules Verify Geometry Enhancements Option -minPinArea Now Obsolete Option -warning Now Obsolete Violation Browser Enhancements Auto Zoom Enhanced To Display Only Active Layers for Violations Option Added for Limiting Number of Errors Displayed Per Type Support Added for Complex Logical Expressions for Filtering Violations New Forms Added for Loading and Saving DRC Markers
93 93
93 93 93 93 93 93 93 94 95 95
97 97
97 97
December 2012
Multi-Threading Support for Dynamic Vector-Based Power Analysis Flow Power Analysis Reporting Enhanced Clock-Gating Efficiency Reports Improved Variation in Switching Power Numbers when Running Power Analysis from EDI
97 98 98 99
100 100
100 100 102 103 104 104 105 106 106 107 107 107 107 107 108
109 109
109 109 109
111 111
111 111 111 114 114
115 115
115 115
116 116
116 116 116 117
December 2012
28. OpenAccess
Release 12.0 Enhancements New Command to Access the 5.x Library Structure New Parameter to Add Voltage Information to the Nets
118 118
118 118 118
29. TSV
Release 12.0 Enhancements Embedded Bump Flow Supported in Hierarchical Designs New Parameter Added to Output Selected Bumps
119 119
119 119 119
120 120
120 120 120 120 120 120 121 121
31. Placement
Release 12 Enhancements New Commands New Options for setPlaceMode New Option for addFillerGap
122 122
122 122 122 122
124 124
124 124
125 125
125 125
34. Netlist-to-Netlist
Release 12.0 Enhancements runN2NOpt -optimizeYield Parameter Now Obsolete
126 126
126 126
127 127
127
December 2012
New Command to Control Initial Floorplan New Command to Generate Floorplan for Prototyping set_proto_mode Command Updated set_proto_model Command Updated load_timing_debug_report Command Updated
129 129
129
December 2012
10
Related Documents
For more information about the EDI System family of products, see the following documents. You can access these and other Cadence documents with the Cadence Help documentation system.
December 2012
11
EDI System Known Problems and Solutions Describes important Cadence Change Requests (CCRs) for the EDI System family of products, including solutions for working around known problems. EDI System User Guide Describes how to install and configure the EDI System software, and provides strategies for implementing digital integrated circuits. EDI System Text Command Reference Describes the EDI System text commands, including syntax and examples. EDI System Menu Reference Provides information specific to the forms and commands available from the EDI System graphical user interface. EDI System Database Access Command Reference Lists all of the EDI System database access commands and provides a brief description of syntax and usage. EDI System Foundation Flows User Guide Describes how to use the scripts that represent the recommended implementation flows for digital timing closure with the EDI System software. EDI System Library Development Guide Describes library development guidelines for the independent tools that make up the EDI System family of products. Mixed Signal Interoperability Guide Describes the digital mixed-signal flow. README file Contains installation, compatibility, and other prerequisite information, including a list of Cadence Change Requests (CCRs) that were resolved in this release. You can read this file online at downloads.cadence.com.
December 2012
12
2 Release Overview
Release 12.0 Overview New Text Commands and Global Variables New Command Parameters Obsolete Text Commands and Global Variables Supported in this Release Removed from Software Obsolete Command Parameters Supported in this Release Removed from the Software Default Behavior Changes
generate_fence
get_ptn_fplan_mode
December 2012
13
Variables get_well_tap_mode Placement Commands and Global Variables Partition Commands and Global Variables Import and Export Commands and Global Variables Placement Commands and Global Variables Prototyping Foundation Flow Commands Timing Analysis Commands RC Extraction Commands General Commands and Global Variables Rail Analysis Commands Placement Commands and Global Variables Partition Commands and Global Variables Prototyping Foundation Flow Commands
getPinConstraint
init_design_uniquify
place_connnected
proto_design
report_pba_aocv_derate
report_rcdb
set_message
set_voltage_regulator_module set_well_tap_mode
set_ptn_fplan_mode
set_proto_design_mode
December 2012
14
timing_cppr_skip_clock_reconvergence
timing_extract_model_aocv_mode
timing_property_clock_used_as_data_unconstrained_clock_source_paths Timing Global Variables timing_report_enable_markers Timing Global Variables Timing Global Variables Verify Commands
timing_report_enable_max_path_limit_crossed
verify_drc
New Parameters add_ndr -hard_spacing -name add_shape -shape -shield_net -status -user_class addFillerGap -radius alignPtnClone -layer -track analyze_early_rail -turbo -off_rails assembleDesign -fplan
Chapter Floorplan Commands and Global Variables Import and Export Commands and Global Variables
Placement Commands and Global Variables Partition Commands and Global Variables Rail Analysis Commands
December 2012
15
assignBump -ratio assignIoPins -promoteMacroPin assignPGBumps -checkerboard assignPtnPin -promoteMacroPin autoGenRelativeFPlan -busGuide changeBumpMaster -bump_name -selected checkFPlan -narrow_channel checkPinAssignment -ignore -report_violating_pin createNetGroup -keep_out_spacing createPGPin -length -onDie -selected -width createPinBlkg -offset_end -offset_start createPinGroup -keep_out_spacing createPinGuide -offset_end -offset_start dbShape -maxPoint do_extract_model -pg editPin -include_rectilinear_edge -layer_priority -pattern -reverse_alternate editSelect
Flip Chip Commands and Global Variables Partition Commands and Global Variables Flip Chip Commands and Global Variables Partition Commands and Global Variables Floorplan Commands and Global Variables Flip Chip Commands and Global Variables Floorplan Commands and Global Variables Partition Commands and Global Variables Partition Commands and Global Variables Floorplan Commands and Global Variables
Partition Commands and Global Variables Partition Commands and Global Variables Partition Commands and Global Variables Basic Database Access Tcl Commands Timing Modeling Commands Partition Command and Global Variables
December 2012
16
-wires_only editDeselect -wires_only getFlipChipMode -prevent_via_under_bump load_timing_debug_report -additonal_slack_past_wns -num_path -proto optPowerSwitch -setDontUseCells -idsatmargin -reportOnly -area getPlanDesignMode -virtualFence reclaimArea -hold relativeFPlan -masterSlave -masterType -masterName -slaveType -slaveName replacePowerSwitch -xyRangeFromCenterInst read_activity_file -scale_duration -block -scope reportClockTree -area reportPowerDomain -pin -verbose report_power cluster_gating_efficiency report_resource -verbose savePartition Floorplan Commands and Global Variables Low Power Commands Wire Edit Commands Flip Chip Commands and Global Variables Timing Debug Commands
Power Calculation Commands Multiple-CPU Processing Commands Partition Commands and Global
December 2012
17
-fplan set_clock_latency -clock_gate setDelayCalMode -combine_mmmc setEdit -stretch_with_intersect setFlipChipMode -prevent_via_under_bump setOaxMode -saveNetVoltage setOptMode -timeDesignNumPaths
Wire Edit Commands Flip Chip Commands and Global Variables OpenAccess Commands Timing Optimization Commands
-timeDesignExpandedView
-timeDesignReportNet
-postRouteAreaReclaim setPinConstraint -area -corner -corner_to_pin_distance -depth -global -side -target_layers -use_min_width_as_depth -width setPlaceMode -fillerGapRadius -prerouteAsObs -congRepairEffort Partition Commands and Global Variables
December 2012
18
Floorplan Commands and Global Variables Power Calculation Commands Prototyping Foundation Flow Commands
-create_characterize_percent_rt_blockage
-identify_partition_min_inst
-create_gate_area
-create_gate_count set_rail_analysis_mode -process_bulk_pins_for_body_bias cluster_via_rule cluster_via1_ports ignore_fillers ignore_decaps setSIMode -accumulated_small_attacker_mode Rail Analysis Commands
December 2012
19
-accumulated_small_attacker_threshold
-individual_attacker_threshold
-separate_delta_delay_on_data
-delta_delay_annotation_mode
-switch_prob
-receiver_peak_limit
-input_glitch_thresh setSpecialRouteOption -multi_layer_pin -multi_layer_via set_timing_derate -corner -statistical setViaEdit -auto_replace -force_special Wire Edit Commands
December 2012
20
setCCOptMode -top_net_min_fanout unsetPinConstraint -all -all_area -area -corner -corner_to_pin_distance -depth -global -side -target_layers -width viewBumpConnection -bump -honor_color -io_inst -net -selected view_analysis_results -process_layer_off view_esd_violation -limit violationBrowser -filter_query -max_error_per_type writeBumpLocation -selected
Clock Concurrent Optimization (CCOpt) Commands Partition Commands and Global Variables
The following obsolete text commands and global variables will continue to be supported in this release, but will be removed in the next major release of the software. createObsAroundInst Use the createPlaceBlockage command instead. auto_fetch_dc_sources Use the create_power_pads command instead. add_pad_location This command has not been replaced. clear_pad_loc_display Use the create_power_pads command instead.
December 2012
21
delete_pad_location This command has not been replaced. display_pad_loc Use the create_power_pads command instead. getAllowedPinLayersOnEdge getGlobalMinPinSpacing getLayerPinDepth getLayerPinWidth getMinPinSpacing getMinPinSpacingOnEdge getPinDepth getPinToCornerDistance getPinWidth Use the getPinConstraint command instead. It provides the needed functionality for all these commands. load_pad_location Use the create_power_pads command instead. save_pad_location Use the create_power_pads command instead. setAllowedPinLayersOnEdge setGlobalMinPinSpacing setLayerPinDepth setLayerPinWidth setMinPinSpacing setMinPinSpacingOnEdge setPinDepth setPinToCornerDistance setPinWidth Use the setPinConstraint command instead. It provides the needed functionality for all these commands. setOptMode congOpt
considerNonActivePathGroup
December 2012
22
critPathCellYield
postRouteAllowOverlap
yieldEffort This command has not been replaced. unsetMinPinSpacing Use the unsetPinConstraint command instead.
The following obsolete text commands and global variables have been removed from the software. createNdr This command has been replaced by add_ndr . elaborateBlackBlob This command has not been replaced. initNdr This command has been replaced by add_ndr . loadBlackBlobNetlist This command has not been replaced. loadYieldTechFile This command has not been replaced. modifyNdrViaList This command has been replaced by add_ndr . reportYield This command has not been replaced. setPrerouteAsObs This command has been replaced with the setPlaceMode option prerouteAsObs
December 2012
23
setNdrSpacing This command has been replaced by add_ndr . setNdrWidth This command has been replaced by add_ndr . specifyBlackBlob This command has not been replaced. unplaceBlackBlob This command has not been replaced. unspecifyBlackBlob This command has not been replaced.
The following obsolete text command parameters will continue to be supported in this release, but will be removed in the next major release of the software. Update your scripts to avoid warnings and to ensure compatibility with future releases. checkPinAssignment -busGuideCheck -netGroupCheck -pinAbutmentCheck -pinDepthCheck -pinGroupCheck -pinGuideCheck -pinLayerCheck -pinMinAreaCheck -pinOnFenceCheck -pinOnTrackCheck -pinSpacingCheck -pinWidthCheck Use -ignore {bus_guide net_group pin_abutment pin_depth pin_group pin_guide pin_layer pin_min_area pin_on_fence pin_on_track pin_spacing pin_width clones} instead. optPowerSwitch -reportViolationsOnly Use -reportOnly instead. -unchainByInstances The -unchainByInstances parameter of the addPowerSwitch command has been
December 2012
24
replaced by commandrechainPowerSwitch. -chainByInstances The -chainByInstances parameter of the addPowerSwitch command has been replaced by the command rechainPowerSwitch parameter chainByInstances. -powerDomainBufList The -powerDomainBufList parameter of the bufferTreeSynthesis command will be removed in the next release. You can specify both always-on and regular buffers in the buffer list. bufferTreeSynthesis will be able to pick up the right buffer. -srpgEnablePins The -srpgEnablePins parameter of the bufferTreeSynthesis command will be removed in the next release. optDesign is able to optimize the always-on nets automatically. getVerifyGeometryMode -minPinArea setVerifyGeometryMode -minPinArea verifyGeometry -minPinArea Use the -sameCellViol parameter of these commands instead to report minimum area violations for pin shapes in the cell, along with other cell violations. getVerifyGeometryMode -warning setVerifyGeometryMode -warning verifyGeometry -warning This parameter is not being replaced as Verify Geometry does not write warning markers. runN2NOpt -optimizeYield This parameter is not being replaced as the Yield Analysis feature is becoming obsolete. read_activity_file -scale_tcf_duration, -scale_fsdb_duration, and -scale_vcd_duration. Use -scale_duration instead. read_activity_file Use -block instead. read_activity_file Use -scope instead.
Removed from the Software
The following obsolete text command parameters have been removed from the software. fcroute
December 2012
25
-allowOverCongestion This parameter is not being replaced. -balancePairThreshold Use the THRESHOLD keyword in the DIFFPAIR section of the constraint file. -connectPowerCellToBump Use setFlipChipMode -connectPowerCellToBump instead. -differentialPairRoute Specify the pair of nets in the DIFFPAIR section of the constraint file. -differentialRoute Use the exta configuration file option srouteDifferentialRouteTolerance instead. -differentialRouteTolerance Use the TOLERANCE keyword in the MATCH section of the constraint file instead. -interleaveStyle Use SPLITSTYLE keyword in the constraint file instead. -multiBumpsToPad Use setFlipChipMode -multipleConnection multiBumpsToPad instead. -multiPadsToBump Use setFlipChipMode -multipleConnection multiPadsToBump instead. -optWidth Use the exta configuration file option srouteGrouteOptimizeWidth instead. -preventViaUnderBump Use setFlipChipMode -prevent_via_under_bump instead. -routeStyle Use setFlipChipMode -route_style instead. -shieldBump Use the SHIELDBUMP keyword in the SHIELDING section of the constraint file instead. -shieldLayers Use the SHIELDSTYLE keyword in the SHIELDING section of the constraint file instead. -shieldNet Use the SHIELDNET keyword in the SHIELDING section of the constraint file instead.
December 2012
26
-shieldWidth Use the SHIELDWIDTH keyword in the SHIELDING section of the constraint file instead. -splitGap Use the SPLITGAP keyword in the constraint file instead. -widthLimit Use the SPLITWIDTH keyword in the constraint file instead. getNanoRouteMode and setNanoRouteMode -dbCheckRule -dbReportWireExtraction -dbReportWireExtractionEcoOnly -drouteAutoCreateShield -drouteCheckMinstepOnTopLevelPin -drouteElapsedTimeLimit -routeAutoGgrid -routeDeleteAntennaReroute -routeInsertAntennaInVerticalRow -routeMergeSpecialWire -routeSiEffort -routeTdrEffort -routeUseBlockageForAutoGgrid -routeWithSiPostRouteFix -timingEngine These parameters are not being replaced. setExtractRCMode -ipdb This parameter is no longer required as this feature is now ON by default. -noReduce This parameter is no longer required as the software does not perform RC reduction by default. -rcdb This parameter is no longer required as the software generates the RCDB in the current working directory by default. -scOpTemp This parameter is not supported in the MMMC mode. Use the -T parameter of the create_rc_corner and update_rc_corner commands instead. -useNDRForClockNets This parameter is no longer required as this feature is now ON by default. setPlaceMode -blockedShifterCols
December 2012
27
-blockedShifterRows -colShiftersOnly -dividedShifterCols -dividedShifterRows -rowShiftersOnly -strictShifterSide -strictShifterSpot -rpSpreadEffort spefIn -dumpMissedNet This parameter is no longer required as the software prints the missing nets in file rc_corner_name.missing_nets.rpt by default. setPlanDesignMode and getPlanDesignMode -groupHardMacro -groupIOLogic -handleFlat -numSeed -seedSize -setSeedHierLevel -useFlexModel These parameters are not being replaced.
December 2012
28
December 2012
29
4 Foundation Flows
Release 12.0 Enhancements New Variables for Foundation Flow Support for Power Domain - Delay Corner Binding Via Hierarchical Two-Pass Automated Re-budgeting Flow Extended
December 2012
30
EDI System What's New 12.0 EDI System Display and Tools
December 2012
31
EDI System What's New 12.0 EDI System Display and Tools
To draw a ruler at an angle other than the above eight directions, keep the Shift key pressed and then start drawing the ruler at the required angle. To end a Single edge ruler, either click at the point where you want to end the ruler or press Enter. Orthogonal Specifies that ruler lines can be drawn in horizontal as well as edges vertical directions. Use this option if you want to measure orthogonal edges, such as follows: Orthogonal
Note: You can draw an Orthogonal ruler without opening the Create Ruler Preferences form. Just keep the Ctrl key pressed and then start drawing the ruler to measure orthogonal edges. To end the ruler, press Enter. Multiple edges Specifies that ruler lines can be turned in multiple directions. Use this option if you want to measure multiple segments in a complex pattern. -
To draw a Multiple edge ruler, click at the point where you want the ruler to start. Move the mouse in the required direction, clicking at evey point you want the ruler to turn. To end the ruler, press Enter . Note: To draw a ruler in a direction other than horizontal, vertical or diagonal (45 or 135 degrees), keep the Shift key pressed and then start drawing the ruler at the required angle. Cross Ruler Specifies that ruler lines can be drawn in a + shape. Use this option to measure two edges at the same time, see the overall X -
December 2012
32
EDI System What's New 12.0 EDI System Display and Tools
To draw a cross ruler, click anywhere in the design. A + ruler is displayed occupying the entire display area in both X and Y directions. The center of the + moves with the cursor. Move the center of the + to the point where you want the origin of the ruler. Press Enter to place and end the ruler. You can access the Create Ruler Preferences form either by choosing Tools - Create Ruler or clicking the Create Ruler widget and press the F3 key.
Custom Colors
You can now change the color of the ruler from the default yellow to any color of your choice. In the color preferences form, click the color box next to Ruler on the View-Only page and choose the desired color.
December 2012
33
EDI System What's New 12.0 EDI System Display and Tools
Instance pin/term display behavior has been modified as follows: Terminal Visibility Toggle On (Default) Pin Shape Visibility Toggle Off (Default) Main Window Displays
December 2012
34
EDI System What's New 12.0 EDI System Display and Tools
On Off Off
On On Off
You can get a pin's instance terminal (InstTerm) information by selecting the pin and then running the dbGet selected command.
December 2012
35
EDI System What's New 12.0 EDI System Display and Tools
net connections using different colors. Small - Green Medium - Yellow Large - Pink Different Width by Number of Connections: Displays small, medium, and large number of net connections using lines of different widths. Small - Thin line Medium - Medium line Large - Thick line Number of Connections: Specifies the thresholds for determining whether number of connections is small, medium, or large. By default, connections lower than 20 is considered Small, connections equal to or between 20 and 80 is considered Medium, and connections greater than 80 is considered Large. Default Low Threshold: 20 Default High Threshold: 80
find_global Enhancement
The find_global command has been enhanced to display the variables it returns in alphabetical order. This makes the find_global results easier to read.
set_object_color Enhancement
December 2012
36
EDI System What's New 12.0 EDI System Display and Tools
The set_object_color command is used to set the color of objects of an instance, hierarchical instance, SDP, or module. In this release, the set_object_color command has been enhanced to support power domains and instance groups as well. You can now use set_object_color -object_name to set the color of objects of a specific power domain or instance group. Alternatively, you can use set_object_color -object_type to set the color of all power domain objects or instance group objects. For example, use the following command to color all power domain objects in multiple colors: set_object_color -object_type PowerDomain -multicolor
December 2012
37
EDI System What's New 12.0 EDI System Display and Tools
December 2012
38
Mem: 16443800k total, 16378412k used, 65388k free, 105704k buffers Swap:16777208k total, 17460k used, 16759748k free, 12528212k cached Memory Detailed Usage: Data Resident Set(DRS) Total current: peak: 383.9M 383.9M Private Dirty(DRT) 275.8M 275.8M Virtual Size(VIRT) 854.1M 854.1M Resident Size(RES) 358.9M 358.9M
The -verbose parameter also works in conjunction with the -peak and -start/-end parameters of the report_resource command. When you run the local distributed slave (setDistributeHost -local) command, the memory information will include the memory consumed by master and slaves.
December 2012
39
For -start/-end parameters, use -verbose with the -end parameter only. For details on memory information, refer to the Accelerating the Design Process By Using MultipleCPU Processing chapter of the EDI System User Guide. Impact on Other Commands, Parameters, and Globals: None
December 2012
40
EDI System What's New 12.0 Importing and Exporting the Design
December 2012
41
EDI System What's New 12.0 Importing and Exporting the Design
in EDI11. You can use the init_design_uniquify global variable to uniquify the design automatically during the read and flatten process.
December 2012
42
8 LEF-DEF Properties
Release 12.0 Enhancements
LEF 5.8 Properties for Creating New DRC Rules for 32-28 nm and Smaller Nodes
Cut Layer Enhancements
You can define new CUT LAYER properties to create rules for cut layers that: Add ANTENNAGATEPWL rule, to define a PWL (piece-wise linear) table that is indexed by the real gate area, and returns an effective gate-area interpolated from the table. If the table it not defined, the real gate area is used. Add BELOWENCLOSURE in PARALLEL to cut layer ENCLOSURE rules, to indicate that the enclosure rule only applies if the enclosure on the below metal layer is less than the specified below enclosure value on either sides perpendicular to the side having neighbors or the wire direction containing the cut on the above metal layer. Add parLength2 in PARALLEL and parWithin2 in WITHIN to cut layer ENCLOSURE rules, to indicate that the rule does not apply if there is no neighbor on either side based on parWithin2 and parLength2. The variable parLength2 must be smaller than parLength and parWithin2 must be larger than parWithin. The following cut layer enhancements have been made: Enhanced ANTENNAGATEPLUSDIFF rule, to represent the protection provided by the diffusion area that is added to the gate area value in the PAR (partial antenna ratio) equation, which can be considered as the additional effective gate-area. Enhanced PARALLEL in CONCAVECORNER in cut layer SPACING rules. An enclosure can now be on one of the two opposite sides on the specified second layer. Earlier, the enclosure could be defined on both the two opposite sides of a layer. For more information, see Defining Cut Layer Properties to Create 32/28 nm and Smaller Nodes Rules in the "LEF Syntax" chapter of the LEF/DEF Language Reference Guide.
December 2012
43
You can define new ROUTING LAYER properties to create rules for routing layers that: Add JOINTCORNERSPACING rule, to indicate that the spacing between two facing joints of joint corners with parallel run length less than zero to be the spacing. Add ENCLOSURESPACING rule, to specify the spacing on an edge with enclosure less than the specified enclosure. Add ANTENNAGATEPWL rule, to define a PWL (piece-wise linear) table that is indexed by the real gate area, and returns an effective gate-area interpolated from the table. If this table it not defined, the real gate area is used. Add CONCAVECORNERS in NOADJACENTEOL to routing layer MINSTEP rules, to indicate that the adjacent EOL minimum step rules only apply if both the neighbor edges of the EOL have concave corner on the other end. Add following keywords to routing layer OPPOSITEEOLSPACING rules: JOINTEXTENSION in JOINTWIDTH: Specifies the extension on both sides of a joint to be the joint extension. JOINTCORNERONLY in JOINTWIDTH : Specifies that the joint must form a joint corner, which is a convex corner consisting of two consecutive joints. SIDEEDGELENGTH in WIDTH: Specifies that a side fulfilling other conditions must also on an edge with length greater than the specified side edge length. JOINTTOSIDE: Specifies a spacing requirement similar to SIDETOJOINT, but having joint spacing to be the first spacing. SIDETOSIDE: Specifies a spacing requirement between two sides of an EOL edge with a middle wire. Add SAMEMASK to routing layer EOLEXTENSIONSPACING rules, to specify that the EOL extension spacing only applies to same-mask objects. Add the following new variables and keywords to routing layer FORBIDDENSPACING rules: minSpacing2 and maxSpacing2, to define an additional second set of forbidden spacing range. TWOEDGES in WIDTH, to indicate that the forbidden spacing only applies if the wire width is less than the maximum width that has neighbors on both sides within the specified within value.
December 2012
44
The following routing layer enhancements have been made: Enhanced ANTENNAGATEPLUSDIFF rule, for protection provided by the diffusion area that is added to the gate-area value in the PAR equation, which can be considered as additional effective gate-area. For more information, see Defining Routing Layer Properties to Create 32/28 nm and Smaller Nodes Rules in the "LEF Syntax" chapter of the LEF/DEF Language Reference Guide.
December 2012
45
9 Wire Editing
Release 12.0 Enhancements New setSpecialRouteOption options for Supporting Multiple-Layer P/G Pins New Option for Selecting/Deselecting Via along with Wire New setViaEdit Option for Creating Special Vias New setViaEdit Option To Prevent Replacement of Existing Via with New, Overlapping Via New setEdit Option for Stretching Wires Along with Via
December 2012
46
December 2012
47
Impact on Other Commands, Parameters, and Globals: If you specify setViaEdit force_special 1 and then run editAddVia, vias created will be always special. To create regular vias, specify setViaEdit -force_special 0 before running editAddVia.
New setViaEdit Option To Prevent Replacement of Existing Via with New, Overlapping Via
You can use the new setViaEdit -auto_replace option to control whether existing vias are replaced with the new ones created using editAddVia in case of any overlap. You can also use the new Auto Replace option in the Edit Via form to control whether exisiting vias are replaced. Impact on Other Commands, Parameters, and Globals: If you specify setViaEdit auto_replace 0 and then run editAddVia, existing vias will be retained even if there is some overalp with the new vias being added. Specify setViaEdit -auto_replace 1 to replace existing vias with the new ones editAddVia in case of any overlap.
December 2012
48
December 2012
49
10 Flip Chip
Release 12.0 Enhancements Flip Chip Flightline Enhancements Highlight by Selection Colored Flightlines Object-Specific Flightlines DIFFPAIR-Based Highlighting New Display Flightline Form Add Bump to Array Form Renamed and Enhanced New changeBumpMaster Parameters New Change Bump Master Form Enhanced Assign/Unassign Signals Form New Auto Zoom Feature New Filter Options New Criterion for Assigning Bumps Support for Assigning Multiple PG Pads to Multi Bumps New assignPGBumps Parameter New Option for Flip Chip Routing in View Area Obsolete fcroute Parameters
Highlight by Selection
When you select an object, the corresponding flightlines are now highlighted in bold. When a bump or IO pad is selected, its corresponding flightline is highlighted in bold. When multiple bumps/IO pads are selected, all their flightlines are highlighted in bold. If a block with multiple IO pins is selected, all its flightlines are highlighted in bold. When the objects are deselected, the corresponding flightlines return to non-bold status.
1. Run viewBumpConnection to display all flip chip flightlines. 2. Click on an object to highlight its flightline in bold.
December 2012
50
Colored Flightlines
By default, all flip chip flightlines are displayed in yellow. You can now use the new viewBumpConnnection honor_color option to color these flightlines based on either bump type or the nets to which the bumps are assigned: To color flightlines by bump type, simply run viewBumpConnection honor_color. The tool displays flightlines using the default colors of the bumps: Blue for signal bumps Red for power bumps Yellow for ground bumps To color flightlines based on the nets to which they are assigned, you must: a. Define bump color settings in a bump color map file using the following format : net_name color_name Example: int cyan reset pink b. Load the bump color file using the ciopLoadBumpColorMapFile command. c. Run viewBumpConnection honor_color.
For bumps whose nets are not defined in the bump color file, the default colors are used as follows--blue for signal bumps, red for power bumps, and yellow for ground bumps. A flightline has the same color as its bump. Impact on Other Commands, Parameters, and Globals: If you want to assign custom colors to flightlines, you must specify the colors as required in the bump color map file and run ciopLoadBumpColorMapFile before running viewBumpConnection honor_color.
Object-Specific Flightlines
You can now easily view connections for specific objects, such as bumps, nets, and IO instances, using the following new viewBumpConnection parameters: -bumps {bump_list}: Use this parameter to view connections of specified bumps. -io_inst {io_inst_list}: Use this parameter to view connections of specified IO instances or blocks. -nets {net_list}: Use this parameter to view connections of specified nets. -selected: Use this parameter to view connections of selected bumps or IO pads in bold. If a block with multiple IO pins is selected, all its flightlines are displayed in bold.
December 2012
51
For example, the following command displays the flightlines for the port_pad_data_out[10] net, the Bump_29 bump, and the IOPADS_INST/Ptdspop07 instance. It also displays in bold the flightline for the selected bump:
viewBumpConnection \
-net {port_pad_data_out[10]} \
-bump Bump_29 \
-io_inst IOPADS_INST/Ptdspop07 \
-selected \
-honor_color
DIFFPAIR-Based Highlighting
Flip chip flightlines now honor the DIFFPAIR constraints specified in the flip chip router constraint file. This means that when you select any one bump or IO pad that is part of a DIFFPAIR constraint, the tool highlights all flightlines of that DIFFPAIR in bold. For example, suppose the flip chip router constraint file, diffpair.const, has the following setting: DIFFPAIR port_pad_data_in[15] port_pad_data_in[13] END DIFFPAIR Now after setFlipChipMode -constraintFile diffpair.const is set, the flightlines for the DIFFPAIR are highlighted in bold when any one bump or IO pad of the DIFFPAIR is selected:
December 2012
52
Currently, you cannot turn off normal flightlines to focus on DIFFPAIR flightlines. However, you can use viewBumpConnection nets net_list as a workaround. Here, net_list specifies nets of the DIFFPAIR. This way, you can display only the flightlines for the DIFFPAIR and turn off all other flightlines.
December 2012
53
December 2012
54
In this release, the following enhancements have been made to the Assign/Unassign Signals form to make it easy for you to search for pads, bumps, or nets:
December 2012
55
the Get Selected Bump button to compile the names of selected bumps in the text box automatically. After the required bump names are specified in the In Bump Names text box, click Assign to call the assignIOPinToBump command. This command assigns the signals highlighted in the Signal List table to the specified bumps. Assume that the number of IO Signal selected in the Signal List table is X and the number of bumps specified in the In Bump Names text box is Y. The bump assignment happens as follows: If X is equal to Y, the tool completes X assignments. If X is greater than Y, the tool displays a warning and assigns the first Y pins in selection order to the bumps. If X is smaller than Y, the tool displays a warning and assigns all pins to X bumps in the specified order in the In Bump Names text box.
The -checkerboard parameter is to be used typically for a regular (rectangular) bump array. However, you can also it for an irregular (rectilinear) bump array. To do so, first form a regular array by creating virtual bumps in the areas where there are no bumps. Then, apply the checkboard pattern. Once you have assigned the bumps, you can remove the virtual bumps. Impact on Other Commands, Parameters, and Globals: The checkerboard style can be used only with two nets. If -checkerboard is specified and the number of nets defined with nets is more than two, the tool reports an error and does not assign any bumps.
December 2012
56
-differentialPairRoute
December 2012
57
-differentialRouteTolerance Use the TOLERANCE keyword in the MATCH section of the constraint file to specify the threshold for differential routing
-interleaveStyle
Use the SPLITSTYLE keyword in the constraint file to specify the splitting style.
SPLITSTYLE RIVER | MESH SPLITWID TH value SPLITGAP value SPLITKEEPTOTALWIDTH TRUE | FALSE
-multiBumpsToPad
Use setFlipChipMode multipleConnection multiBumpsToPad instead. Use setFlipChipMode multipleConnection multiPadsToBump instead. Use the exta configuration file option srouteGrouteOptimizeWidth instead. Use setFlipChipMode prevent_via_under_bump instead. Use setFlipChipMode route_style instead. Use the SHIELDBUMP keyword in the SHIELDING section of the constraint file to specify whether bumps are to be shielded . Use the SHIELDSYLE keyword in the SHIELDING section of the constraint file to specify where shield layers are created. Use the SHIELDNET keyword in the SHIELDING section of the constraint file to specify the special net used to shield the net. Use the SHIELDWIDTH keyword in the SHIELDING section of the constraint file to specify the width of the shield net. Use the SPLITGAP keyword in the constraint file to specify the minimum distance between split wire segments. Use the SPLITWIDTH keyword in the constraint file to specify the maximum width limit for each wire after the split :
setFlipChipMode multipleConnection multiBumpsToPad setFlipChipMode multipleConnection multiPadsToBump srouteGrouteOptimizeWidth TRUE setFlipChipMode prevent_via_under_bump true setFlipChipMode -route_style {manhattan | 45DegreeRoute} SHIELDING SHIELDBUMP TRUE | FALSE SHIELDWIDTH value SHIELDGAP value SHIELDSTYLE a | b | c SHIELDNET netName <nets> END SHIELDING
-multiPadsToBump
-optWidth
-shieldLayers
- shieldNet
- shieldWidth
-splitGap
SPLITSTYLE RIVER | MESH SPLITWID TH value SPLITGAP value SPLITKEEPTOTALWIDTH TRUE | FALSE
-widthLimit
December 2012
58
11 Partitioning
Release 12.0 Enhancements Support for Promoting Macro Pins New Parameters for Specifying Offset Pin Editor Capability Enhanced Specify Partition GUI Form Updated alignPtnClone Command Enhanced checkPinAssignment Command Enhanced New Parameter to Specify Keep Out Spacing Pin Constraint Commands Consolidated Multi-threading Support for savePartition Command Support for Saving and Loading Selective Floorplan Data New Parameter Added to the savePartition Command New Parameter Added to the assembleDesign Command New set_ptn_fplan_mode Command Added New get_ptn_fplan_mode Command Added
December 2012
59
December 2012
60
Additionally, the editPin command has been updated to include the following new parameters: -include_rectilinear_edge Specifies that all the edges coming in the solution space should be included. -layer_priority
December 2012
61
Specifies that the input layer is given based on its priority. -pattern {fill_track | fill_layer | fill_optimised | fill_diagonal | fill_sinusoidal | fill_checkerboard} Specifies the multi-layer-spread-pattern must be followed by the set of selected pins. -reverse_alternate Specifies that the reverse of the multi-layer-spread-pattern must be followed by the set of selected pins. For more information, refer to the syntax of the editPin command in the Text Command Menu Reference. Impact on Other Commands, Parameters, and Globals: None
December 2012
62
December 2012
63
In this release, you can use the new -keep_out_spacing parameter to specify minimum keep out spacing for a pin group or net group. All pins that are foreign to the pin/net group will be placed beyond the specified keep out spacing of the pin group. This parameter has been added to the createNetGroup and the createPinGroup commands. Impact on Other Commands, Parameters, and Globals: None
Note: These commands are now obsolete as the setPinConstraint command provides the required functionality . Even though they continue to work in this release, they will be removed in the next major release of the software. Similarly, the unsetMinPinSpacing command has been replaced by the unsetPinConstraint command. This release also introduces the getPinConstraint command which supports the global cell level and pin level constraints. The getPinConstraint command replaces the following obsolete commands: getAllowedPinLayersOnEdge getGlobalMinPinSpacing getLayerPinDepth getLayerPinWidth getMinPinSpacing getMinPinSpacingOnEdge getPinDepth getPinToCornerDistance
December 2012
64
getPinWidth Earlier when constraints were specified for pin placement they got lost during the saveDesign/restoreDesign cycle. With enhancements in this release, all the pin constraints are retained even after the saveDesign/restoreDesign cycle and are honored during pin assignment. Impact on Other Commands, Parameters, and Globals: This change impacts commands related to pin constraints.
A new fplan parameter has been added to the savePartition command for pushing down floorplan changes from a full chip level design to a partition block. This option allows you to run the savePartition command for an uncommitted partition without running the partition command. For committed partition savePartition fplan reports an error. Note: After savePartition fplan command, an un-committed partition still remains uncommitted.
New Parameter Added to the assembleDesign Command
A new fplan parameter has been added to the assembleDesign command to bring back the floorplan changes from a partition block to full-chip level design. The assembleDesign fplan command only supports un-committed partitions and replaces the top level uncommitted partitions with updated block floorplan data. Note: After assembleDesign fplan command, any signal net at top-level design may be overlapped with other floorplan objects. You may need to reroute or ECO route the design.
December 2012
65
Additionally, PG net of CHIP, place, and route data may not be brought back.
New set_ptn_fplan_mode Command Added
You can now use the new set_ptn_fplan_mode command to set what floorplan objects will be written-out and/or read back in. The set_ptn_fplan_mode command allows you to specify which objects should be written out during savePartition fplan or read back in during assembleDesign fplan.
New get_ptn_fplan_mode Command Added
You can use the new get_ptn_fplan_mode command to retrieve information about the option values set using set_ptn_fplan_mode command. Impact on Other Commands, Parameters, and Globals: None
December 2012
66
12 Floorplanning
Release 12.0 Enhancements createPGPin Command Enhanced createObsAroundInst Command is now Obsolete add_ndr Command Enhanced Support for Reporting Narrow Channels Support for Handling Master/Clones in Different Hierarchy Enhanced Power Domain Placement Capability Enhanced Auto-shaping for Placing Modules Support for Virtual fence Option to Handle User-specified Seeds New Command to Generate Partition Fences Around Flexmodels Support for Bus Guides in Relative Floorplan Blackblob Capability made Obsolete
December 2012
67
Impact on Other Commands, Parameters, and Globals: The createObsAroundInst still works in this release but will not be supported in future releases. To ensure compatibility with future releases, update your scripts to use the createPlaceBlockage command instead.
December 2012
68
Even the macros belonging to the same guide were separated as the guide boundary was ignored.
December 2012
69
In this release, the virtualFence parameter has been added to the setPlanDesignMode command. This parameter enables planDesign to internally treat guide constraints as fences. Thus, their boundaries are strictly honored. Now macros are packed on the guide boundary which helps to achieve a better grouping of macros.
To have guide constraints, you can set the createFence constraint while using the planDesign capability. In seed constraint creation: BEGIN SEED name END SEED = xxx [createFence = TRUE]
When createFence constraint is not set, the seed will be treated as a guide. Also, auto seed generation feature will group unconstrained macros into guides. When the virtualFence option is specified in setPlanDesignMode, the guide constraints will have their boundaries honored.
December 2012
70
[-help] [-min_gap float] [-target_util float] [ [-hInst {hInst(s)}] | [-module {module(s)}] | [-inst_group {instGroup(s)}] ]
December 2012
71
December 2012
72
December 2012
73
data path quickly. In previous releases, you had to click the Previous button several times or restart the browser to return to the top view of the SDP browser.
December 2012
74
December 2012
75
15 NanoRoute Router
Release 12.0 Enhancements NanoRoute Support for LEF Properties Enhanced getNanoRouteMode and setNanoRouteMode Commands Modified Enhanced Violation Marker Support
December 2012
76
-routeWithSiPostRouteFix -timingEngine Note: The obsolete command parameters have been removed in this release and have not been replaced. Update your scripts to avoid warnings and to ensure compatibility with future releases. Impact on Other Commands, Parameters, and Globals: None
December 2012
77
16 TrialRoute Router
Release 12.0 Enhancements TrialRoute Support for get_metric APIs
December 2012
78
17 Timing Budgeting
Release 12.0 Enhancements Power Pin Support in Budgeted Timing Models for Low Power Designs Justify Budget Enhanced
December 2012
79
This information is at the cell level. The pins described in this definition are global in the library scope. All the pins in the library are considered to be connected to one of these pins. Pin Level PG Information - At each port of the partition/instance, there will be a related pg_pin construct that specifies from which power/ground pin is the port being driven. pin (q) { related_power_pin : vdd; related_ground_pin : vss; .....
December 2012
80
set_input_delay 1.9 -clock [get_clocks {clk1_setuphold}] max -rise [get_ports {sub_in}] -add_delay Impact of modify budget(modDelta) = 0.911 Available budget after adjustment(AvailTime)=(10.000 - 2.982) - (0.911) = 6.107
December 2012
81
18 RC Extraction
Release 12.0 Enhancements RCDB Reading Enhanced to Fix Errors New Command for Providing Information about the Contents of the RCDB Obsolete Command Parameters - Removed from the Software TQRC/IQRC Enhanced to Complete Broken RC Networks TQRC/IQRC Enhanced to Perform Incremental Extraction After defIn and Metal Fill Commands Accuracy of PreRoute Extraction Enhanced for Signal Nets Reduction in Peak Memory Consumption by spefIn in Sequential Mode
New Command for Providing Information about the Contents of the RCDB
In this release, the EDI System is enhanced to provide you a mechanism to check the basic contents of the RCDB being read so that they can debug the issues related to RCDB reading, if required. For this, a new command, report_rcdb is provided that displays the contents of the RCDB being read. This command can be used to report all the information about the RCDB contents such as the RCDB version, the OS bit (64bit/32bit), whether the RCDB contains node locations or not, coupled or decoupled data, statistical data, number of corners, RCDB source (QRC or Encounter), and so on.
December 2012
82
The command has the following syntax: report_rcdb -help <rcdb_dir_name> Impact on Other Commands, Parameters, and Globals:None
December 2012
83
the file, rc_corner_name.missing_nets.rpt by default. Impact on Other Commands, Parameters, and Globals: None
TQRC/IQRC Enhanced to Perform Incremental Extraction After defIn and Metal Fill Commands
For 65nm and lower geometry nodes, TQRC and IQRC extraction engines are recommended for postRoute flow and ECO steps, respectively. These extraction engines have better correlation with signoff extraction engines such as QRC. However, along with better accuracy these extraction engines also have a higher runtime when compared to detail extraction. Although this runtime can be reduced by using the multiCPU mode, a much larger runtime improvement comes from performing incremental extraction where extraction is either skipped or performed on fewer nets depending on the design/route changes in flow runs. Currently, incremental extraction capability of TQRC/IQRC is not available after running defIn and metal fill commands. Therefore, TQRC/IQRC is forced to perform fullchip extraction after running defIn and metal fill commands. In this release, TQRC/IQRC incremental extraction support is extended to all types of gray data changes (defIn) and metal fill changes. The performance, accuracy, and memory will remain the same as that of the rest of the commands currently supported by incremental extraction.
December 2012
84
Mode
Earlier, the peak memory consumption during sequential spefIn was almost double that consumed during multiple-CPU spefIn . In this release, the software is enhanced so that the peak memory consumption during sequential s pefIn is as low as that during multiple-CPU spefIn .
December 2012
85
19 Timing
Release 12.0 Enhancements Constraint Handling Enhancements Ability to Override Local Clock Latency Value Reporting Enhancements Added New Global Variable to Track Reported Paths Limit Ability to Report on AOCV Stage Counts Timing Report Enhanced to Show Markers for Pins Added New Command to Report AOCV Derating Factors Added New Parameters for Statistical Derating Ability to Perform Arc-Based AOCV Weight Analysis Added New Global to Improve Reporting of Clock Objects Added New Property Attribute Added New Property to Report Constants Added New Library Properties Report_timing Command Enhanced Timing Modeling Ability to Perform AOCV-Based ETM Extraction do_extract_model Command Enhancements Other Enhancements Ability to Perform AOCV Analysis on Data Paths Added New Property to Report Macros Added New Global to Control Clock Reconvergence
Reporting Enhancements
Added New Global Variable to Track Reported Paths Limit
December 2012
86
You can use the timing_report_enable_max_path_limit_crossed variable to determine if the number of reported paths for a particular clock group equals the specified maximum paths limit. When this global is set to true, the software will issue a warning message in case the number of reported paths for a clock group is equal to the given maximum paths limit. This applies to both graph- and path-based reporting modes. Impact on Other Commands, Parameters, and Globals: This variable is supported in clock group-based non-statistical reporting flows only. The clock group-based reporting mode can be enabled by setting timing_path_groups_for_clocks variable to true.
December 2012
87
December 2012
88
December 2012
89
slew_lower_threshold_pct_fall: Returns the value of lower threshold point used in modeling the delay of a pin falling from 1 to 0. slew_upper_threshold_pct_fall: Returns the value of upper threshold point used to model the delay of a pin falling from 1 to 0. slew_lower_threshold_pct_rise: Returns the value of lower threshold point used to model the delay of a pin rising from 0 to 1. slew_upper_threshold_pct_rise: Returns the value of upper threshold point used to model the delay of a pin rising from 0 to 1. slew_derate_from_library: Specifies how the transition times found in the library need to be derated to match the transition times between the characterization trip points. input_threshold_pct_fall: Returns the value of threshold point on an input pin signal falling from 1 to 0, which is used in modeling the delay of a signal transmitting from an input pin to an output pin. input_threshold_pct_rise: Returns the value of threshold point on an input pin signal rising from 0 to 1, which is used in modeling the delay of a signal transmitting from an input pin to an output pin. output_threshold_pct_fall: Returns the value of threshold point on an output signal falling from 1 to 0, which is used in modeling the delay of a signal transmitting from an input pin to an output pin. output_threshold_pct_rise: Returns the value of threshold point on an output signal rising from 0 to 1, which is used in the modeling of a signal transmitting from an input pin to an output pin.
Timing Modeling
Ability to Perform AOCV-Based ETM Extraction
The following global variable has been added to allow specification of AOCV derating mode: timing_extract_model_aocv_mode The valid values are: graph_based: Specifies that the delays in the timing model are derated using the
December 2012
90
graph-based stage counts. path_based: Specifies that the delays in the timing model are derated using the total path stage count of worst path between those pin pairs. none: Specifies that the delays in the timing model are underated base delays. By default, this variable is set to none.
Other Enhancements
Ability to Perform AOCV Analysis on Data Paths
The timing_aocv_analysis_mode global variable has been enhanced to support the capability of counting the number of stages of launch/capture clock and data paths separately in the AOCV flow. The following new option has been added to support this feature: separate_data_clock: Calculates the AOCV stage count for clock paths and data paths separately. Both clock and data paths have related AOCV derating factors.
December 2012
91
20 Timing Debug
New Options for load_timing_debug_report
The command load_timing_debug_report has the following new options: -additonal_slack_past_wns: Reports all the paths with slack worse than WNS and the additional specified slack value. -num_path: Specifies the number of paths to be reported in the detailed path violations. -proto: Creates flex model categories and displays the top path of the top 8 (by default) categories. This option can be used for design that has flexModels.
December 2012
92
21 Verification
Release 12.0 Enhancements New Command To Support 20nm and Lower DRC Rules Verify Geometry Enhancements Option -minPinArea Now Obsolete Option -warning Now Obsolete Violation Browser Enhancements Auto Zoom Enhanced To Display Only Active Layers for Violations Option Added for Limiting Number of Errors Displayed Per Type Support Added for Complex Logical Expressions for Filtering Violations New Forms Added for Loading and Saving DRC Markers
December 2012
93
layers related to the selected violation marker. The active layers for a violation includes the layer on which the violation occurs and the adjacent layers. This enhancment makes it easier for you to review a violation.
December 2012
94
By default, the Violation Browser displays all markers. Impact on Other Commands, Parameters, and Globals: None
December 2012
95
Click Save to save the DRC file. This opens a form that allows you to specify the path and name for saving the DRC file. This is equivalent to using the saveDRC command. Click Load to load an existing database DRC file. This opens a form in which you can browse and select the DRC file to be loaded. This is equivalent to using the loadDrc -incremental command.
December 2012
96
22 Power Calculation
Release 12.0 Enhancements read_activity_file Parameters Consolidated Multi-Threading Support for Dynamic Vector-Based Power Analysis Flow Power Analysis Reporting Enhanced Clock-Gating Efficiency Reports Improved Variation in Switching Power Numbers when Running Power Analysis from EDI
-scale_duration scalefactor -scale_tcf_duration scalefactor -scale_fsdb_duration scalefactor -scale_vcd_duration scalefactor -fsdb_block fsdb_block_name -tcf_block tcf_block_name -vcd_block vcd_block_name -fsdb_scope fsdb_scope_name -tcf_scope tcf_scope_name -vcd_scope vcd_scope_name -block block_name
-scope scope_name
The enhanced read_activity_file command provides the needed functionality for the obsolete parameters. The obsolete parameters still work in this release but a warning message will be displayed stating that these parameters will not be supported in a future release.
December 2012
97
The Power Analysis engine has been enhanced to support multi-threading in the dynamic vectorbased flow. In the multi-threading mode, a job is divided into several threads, and multiple processors in a single machine process them concurrently. The multi-threaded processing mode can be specified using the following existing commands: set_distribute_host local set_multi_cpu_usage -localCpu 4 These commands are used to control the number of CPUs to be used on a local machine for multi-threading. Multi-threading provides better runtime for both the VCD/FSDB based dynamic vector-based flows as compared to previous releases.
December 2012
98
Clock-gating Efficiency Report - for each clock domain, it includes the toggle rate, number of registers, number of clock gates, average clock toggle at registers, average toggle savings at registers, and average toggle savings histogram. Hierarchical View of Average Toggle Savings - number of clock gates and average toggle savings for each hierarchical module in the design When you generate an RGE report using the command report_power register_gating_efficiency outfile rge.rpt, the following information will be displayed: Register-gating Efficiency Report - for each clock domain, it includes the toggle rate, number of registers, number of clock gates, average clock toggle at registers, average toggle savings at registers, and average toggle savings histogram. Register Gating Opportunities Report - this report is sorted based on the Q/CLK toggle ratio. When a register's Q/CLK ratio is greater than .25 (25%), Q toggles every other clock cycle. However, when it is less than 25%, there is a gating opportunity to reduce power. The cluster_gating_efficiency parameter has been added to the report_power command to generate the cluster efficiency report in the RGE report. This report gives the CGE/RGE metrics for the registers at the fanout of each clock gate instance in the design. Impact on Other Commands, Parameters, and Globals: None
Variation in Switching Power Numbers when Running Power Analysis from EDI
In this release, there has been a default change in pre-route extraction in EDI that results in change in switching power numbers as compared to previous releases.
December 2012
99
23 Rail Analysis
Release 12.0 Enhancements Simplification of Auto-Fetch DC Sources Commands Body Bias Analysis Supported On-Chip Voltage Regulator Analysis Supported Support for Region-Based Snapping Edit Pad Location Form Enhanced view_esd_violation Enhanced to View Bumps Within a Resistor Range Ability to Control Layer Processing Rail Analysis Reporting Improved Support for Non Zero Capacitance Filler Cells for Decap Optimization Flow Sub_Via Support Added Change in Extraction Results for Designs with Dangling Resistors Block Level DEF Pin Checking Capability Enhanced Via Clustering Enhanced New Parameters to Ignore Filler and Decap Cells
auto_fetch_dc_sources Use one of the following three methods to fetch voltage sources into the database: fetch all voltage sources create_power_pads net net_name
December 2012
100
auto_fetch fetch the voltage sources within the specified region of the specified layer controlled by the specified xpitch/ypitch create_power_pads -net net_name -region {x1 y1 x2 y2} region_pitch {xpitch ypitch} layer {LEF} -format xy vsrc_file filename fetch voltage source for the specified cell/cell pin/instance/instance pin create_power_pads -net net_name -cell cellname format xy create_power_pads -net net_name -cell_pin {cellname pinname} -vsrc_file filename add_pad_location This command has not been replaced.
clear_pad_loc_display Use the following command to clear the voltage source displayed in the GUI and the fetched voltage sources in the database: create_power_pads -clear delete_pad_location display_pad_loc and load_pad_location This command has not been replaced. Use the following command to fetch, save, and display the voltage sources: create_power_pads -net net_name auto_fetch vsrc_file filename -display Use the following command to display voltage sources on GUI by loading a saved voltage source file: create_power_pads -vsrc_file filename display Use the following command to save the fetched voltage sources to a voltage source file: create_power_pads -vsrc_file filename Use the following command to append the fetched voltage sources to an existing voltage source file: create_power_pads -vsrc_file filename append_to_vsrc_file
save_pad_location
As part of this enhancement, the following changes have been made to auto-fetch DC sources'
December 2012
101
behavior: Automatically fetch voltage sources on all layer shapes. Previously, the auto_fetch_dc_sources command would only fetch the voltage sources on the top connected metal layer. Fetch multiple voltage sources for large shapes based on multiple connections. Previously, the auto_fetch_dc_sources command would only fetch one voltage source for large shapes with multiple connections.
To support this enhancement, the following changes have been made: Library Characterization - the body bias pins are defined by the WELL layer in the LEF macro. The pins are connected via the tap cell (M1-CONT-DIFF/WELL) for top-level body bias power routing. The WELL layer is mapped to the DIFF layer in the lefdef layer map, therefore, current sinks will be attached to the DIFF layer. You can use the new parameter create_diff_layer_ports of the characterize_power_library command to create the DIFF layer ports of body bias pins in PGV. Power Analysis -The bias pin definitions are read from the liberty (dotlibs) libraries. With
December 2012
102
body bias pin definitions in liberty, the power and ground pins with type PWELL and NWELL will be regarded as body bias pins. You can use the new parameter bulk_pins of the set_power_analysis_mode command when library cells have bulk pins defined in LEF but the liberty file does not contain power associated with these pins. If a liberty file does not have body bias definition, power analysis does not distribute power to the body bias domain. Rail Analysis - the -process_bulk_pins_for_body_bias parameter has been added to the set_rail_analysis_mode command. When set to true, rail analysis will process current sinks on the cell's bulk pin connections. This parameter is used during body bias analysis, where a body bias net is connected to bulk pins of the cell. The bulk pins for a cell is defined in the cell library using the set_power_library_mode -generic_bulk_power_names generic_bulk_ground_names command parameter. If bulk pins are defined using set_power_library_mode -generic_power_names -generic_ground_names, then the process_bulk_pins_for_body_bias parameter must not be used. For more information, refer to the "Body Bias Analysis" chapter in the Encounter Power System User Guide. Impact on Other Commands, Parameters, and Globals: None
December 2012
103
December 2012
104
In addition, the following changes have been made: Removed the RLC Update section Removed the Fetch All Layer Shapes and Snap Constraint options Added the TSV and Append to Existing File options
December 2012
105
Range
Previously, the view_esd_violation command reported only those bumps with effective resistance greater than the specified threshold value. Now, you can use the new -limit parameter to report bumps that have a resistor value in the specified range, that is, between value1 and value2. The -limit parameter must be used in conjunction with the -threshold parameter. The -threshold parameter specifies value1 or the lower limit of the resistance value, and the -limit parameter specifies value2 or the upper limit of the resistance value. Resistance values must be specified in Ohm. Impact on Other Commands, Parameters, and Globals: None
December 2012
106
With the current implementation, these fragmented reports have been consolidated to generate the net_name.pg_integrity.asc and .html files for each net in the state directory (../state_dir/<net>/Reports). The consolidated report will now also have information on weakly connected power segments, for example, stripes not connected to top level layer.
Support for Non Zero Capacitance Filler Cells for Decap Optimization Flow
The set_rail_analysis_mode -filler_cell_list command parameter now supports non-zero capacitance filler cells during feasibility or timing aware decap optimization. Previously, this parameter would only honor the filler cells with zero capacitance.
December 2012
107
In addition, the following parameter has been introduced to support layer-based custom via clustering: set_rail_analysis_mode cluster_via_rule { {via_layer number_of_equidistant_vias} } - Controls the number of vias to cluster on a layer basis. The VIA clustering rule specified using this parameter will override the default clustering rule for a given accuracy mode. The following command will cluster 100 equidistant VIA1 cuts, 200 equidistant VIA2 cuts, and 300 equidistant VIA7 cuts: set_rail_analysis_mode cluster_via_rule { {VIA1 100}} {VIA2 200} {VIA7 300}} The rest of the VIAs will be clustered using the default clustering rule depending upon the rail analysis accuracy mode.
December 2012
108
December 2012
109
December 2012
110
[-help]
December 2012
111
-rule <non-default-rule-name>
[-shieldNet name |
December 2012
112
[-shieldType shieldType]
[-tolerance tolerance]
[-matchStyle style]
[-topLayer layerNumber]
[-bottomLayer layerNumber]
[-connectSupply value}]
December 2012
113
[-layerMatch layerMatch]
Using the new Pull Block Constraint tab, you can pull the routing constraints stored on the interface nets of blocks in a design, to their corresponding top-level nets.
December 2012
114
December 2012
115
December 2012
116
December 2012
117
28 OpenAccess
Release 12.0 Enhancements New Command to Access the 5.x Library Structure New Parameter to Add Voltage Information to the Nets
[-children | -file | -path | -type |-name]} Impact on Other Commands, Parameters, and Globals: None
December 2012
118
29 TSV
Release 12.0 Enhancements Embedded Bump Flow Supported in Hierarchical Designs New Parameter Added to Output Selected Bumps
December 2012
119
30 Timing Optimization
Release 12.0 Enhancements New Command Introduced timeDesign Command Updated reclaimArea Command Updated setOptMode Command Updated New Parameters Added GigaOpt as the Default Optimization Engine Obsolete Parameters
December 2012
120
-timeDesignNumPaths number Allows you to select the number of paths that should be reported per path group during timeDesign or optDesign final summary reports. Default : 50 -timeDesignExpandedView {true | false} When set to true, it will force timeDesign or optDesign to print summary timing reports as per the view in the log file. Default : false -timeDesignReportNet {true | false} When set to true, this will force timeDesign or optDesign to print timing reports with the net section. Default : false -postRouteAreaReclaim {none | setupAware | holdAndSetupAware} This parameter can be used after routing to reclaim area during optDesign -postRoute. It safely reclaims area while not impacting the timing and DRV violations. Impact on Other Commands, Parameters, and Globals: None
Obsolete Parameters
In this release, the following parameters of setOptMode command are obsolete. -congOpt {true | false} -considerNonActivePathGroup {true | false} -critPathCellYield {true | false} -postRouteAllowOverlap {true | false} -yieldEffort {none | low | high}
December 2012
121
31 Placement
Release 12 Enhancements New Commands New Options for setPlaceMode New Option for addFillerGap
Release 12 Enhancements
New Commands
The new commands added to EDI System are: place_connected: Places the specified standard cells close to the specified attractor with legal location. The attractor can be IOs or hard macros. The recommended flow is to run this command before placeDesign. get_well_tap_mode: Returns the information about set_well_tap_mode parameters in the EDI System log file and in the EDI System console. set_well_tap_mode: Controls the behavior of addWellTap command. The mode setting is persistent and saved along with the database by the saveDesign command.
December 2012
122
December 2012
123
32 Yield Analysis
Release 12.0 Enhancements Yield Analysis Discontinued
December 2012
124
33 Delay Calculation
Release 12.0 Enhancements Vectorized Delay Calculation Support in MMMC with AAE
December 2012
125
34 Netlist-to-Netlist
Release 12.0 Enhancements runN2NOpt -optimizeYield Parameter Now Obsolete
December 2012
126
December 2012
127
default percentage of routing tracks that will be used by the standard cells represented by flexFiller cells. -identify_partition_min_inst and -identify_partition_max_inst Specifies the minimum and maximum instance count per partition that will be used by identify_flexmodel to identify flexModels. Impact on Other Commands, Parameters, and Globals: None
December 2012
128
-accumulated_small_attacker_threshold value
-individual_attacker_threshold <value>
-switch_prob value
December 2012
129
-receiver_peak_limit value
-input_glitch_thresh value
December 2012
130