Upload
dildar-hussain
View
266
Download
0
Embed Size (px)
Citation preview
8/8/2019 Zroute Technical Tutorial v2 03 024524
1/66
8/8/2019 Zroute Technical Tutorial v2 03 024524
2/66
CONFIDENTIAL INFORMATION
non-disclosure agreement between you or your employer andSynopsys. Information disclosed in this presentation shall be
.
LEGAL NOTICEInformation contained in this presentation reflects Synopsysplans as of the date of this presentation. Such plans are subject tocom letion and are sub ect to chan e. Products shall be offered
and purchased only pursuant to an authorized quote andpurchase order. Synopsys is not obligated to develop the
21-
materials.
8/8/2019 Zroute Technical Tutorial v2 03 024524
3/66
Agenda
Z
Z
Basic Zroute Flow Overview
Multi-Threaded Routing
E
E
Summary
Note that the a endix has additional details about ettin started
31-
8/8/2019 Zroute Technical Tutorial v2 03 024524
4/66
Introducing ZrouteArchitected From The Ground Up For New Challenges
State-of-the-art routingtechnology
I omp eromp erI omp eromp erConcurrent DFM optimizations
2
rou erou erou erou e
Multi-threaded throughout3
41-
-- ,, ,,
8/8/2019 Zroute Technical Tutorial v2 03 024524
5/66
1. State-of-the-Art Routing Technology
Dynamic Maze GridRealistic Connectivity
Virtual Wire
DynamicGrid
Advanced Design Rules Polygon ManagerY
ZX
SSW
0.6S
0.6S
51-
,,
8/8/2019 Zroute Technical Tutorial v2 03 024524
6/66
2. Concurrent DFM Optimizations
Redundant ViasSoft Rulesld
Yie
S T
Antennas Wire Spreading/Widening
SpacingS T
Metal 1
Gate
Via1Metal 2
Metal 1Via1
61-
,,
8/8/2019 Zroute Technical Tutorial v2 03 024524
7/66
3. Multi-Threaded Throughout
ScalabilityAll Routing Steps
Global Routing
Track AssignmentX Speedup
Larger CapacityTransparent
# of cores
MemoryNative
Ready to go-
# of cores
71-
,,
8/8/2019 Zroute Technical Tutorial v2 03 024524
8/66
10X Speed-Up On Mainstream Hardware
3.5X Faster3.5X Faster SingleSingle- -threadedthreadedxx
pee uppee up uu -- rea e on ua orerea e on ua ore
10X Speed Up10X Speed Up
achieved a 10x boost in performancewhen we used it with a quad-core platform.
81-
8/8/2019 Zroute Technical Tutorial v2 03 024524
9/66
10X Speed-Up On Mainstream Hardware
33--4X4X 3X3XMulti-threaded
91-
8/8/2019 Zroute Technical Tutorial v2 03 024524
10/66
Fewer Wires, Fewer Total Number of Vias
1010--15%15%11--2%2%Wire Length # of Total Vias
40nm, 60K
40nm, 225K
65nm, 845K
45nm, 374K
65nm, 845K
45nm, 170K
65nm, 545K
65nm, 593K
65nm, 545K
65nm, 593K
80nm, 2777K
65nm, 356K
0 1 2 3
65nm, 356K
0 10 20
90nm, 2313K
101-
8/8/2019 Zroute Technical Tutorial v2 03 024524
11/66
Fewer Non-Optimized Single Vias
3030--50%50%Remaining Non-Optimized Single Vias
40nm, 93K
40nm, 225K
45nm, 374K
40nm, 60K
65nm, 1000K
45nm, 170K
0 10 20 30 40 50 60 70
65nm, 68K
111-
8/8/2019 Zroute Technical Tutorial v2 03 024524
12/66
Fewer Jogs and Notches,
Improved LithographyLitho-Friendly Routing
No Scenic Routes
Fewer Jogs
Fewer Notches
70% fewer narrow jogs30% fewer notches
121-
8/8/2019 Zroute Technical Tutorial v2 03 024524
13/66
Zroute Results on Customer Designs
Technology # of Cells Utilization Runtime Wire Length Contacts
90 870 59 3.3 6% 3%65 67 85 1.5 2% 9%
.
65 1000 75 2 0% 2%
45 50 63 9 6% 19%.
45 93 80 1.3 4% 5%
45 170 72 3.8 1% 25%
.45 374 61 3 4% 17.8%
3X3X
131-
8/8/2019 Zroute Technical Tutorial v2 03 024524
14/66
Zroute Is GA in IC Compiler B-2008.09!
A-2007.12-SP5-1
A-2007.12-SP5-1
Multiple on-going-
Multiple on-going-
1000+1000+Multiple planned
test chips at 32nmMultiple planned
test chips at 32nmhitshits
141-
8/8/2019 Zroute Technical Tutorial v2 03 024524
15/66
Zroute Users Tell The Story
2-3.4X faster single-threaded3X scalability with 4 threads ...
70% fewer narrow jogs,30% fewer notches ...
tapes out home networking deviceusin new Zroute technolo
9/22/08
achieved a 10X boost in performance
9/15/08
routing runtimes cut significantly by
- .5/27/08
151-
- 5/19/08
8/8/2019 Zroute Technical Tutorial v2 03 024524
16/66
Zroute Technology SummaryArchitected From The Ground Up For New Challenges
AvailableAvailable
State of the art technologyPart of IC CompilerPart of IC CompilerBB--2008.092008.09
Concurrent DFM optimizations2CoCo--exists with current routerexists with current router
I omp eromp erI omp eromp er
Multi-threaded throughout3
Single license for 4 coresSingle license for 4 cores
rou erou erou erou e
161-
-- ,, ,,
8/8/2019 Zroute Technical Tutorial v2 03 024524
17/66
Agenda
ZZ
Basic Zroute Flow Overview
Multi-Threaded Routing
EE
Summary
171-
8/8/2019 Zroute Technical Tutorial v2 03 024524
18/66
Currently Supported Design Rules
All 65nm and above design rules
Most 45/40nm rules
Common Platform and TSMC 45/40nm design rules
Selected IDMs 45nm rules
OO
Zroute supports only design rules defined in the
yway tec no ogy eClassic router parameters used to implement design
181-
rules must be migrated to the technology file
8/8/2019 Zroute Technical Tutorial v2 03 024524
19/66
Zroute Input and Output
Same inputs as classic router
Milkyway design library
Technology file
Standard cell and macro cell FRAM view
Route guides, layer constraints, nondefault rules
Power nets routed with power and ground prerouter
Output - routing data generated in the Milkyway
CEL viewopen_mw_cel, save_mw_cel
S
191-
Sreport_design physical
8/8/2019 Zroute Technical Tutorial v2 03 024524
20/66
Basic Zroute Flow
SetSet ZrouteZroute as Targeted Routeras Targeted Router
PostPost- -CTS CellCTS Cell
set_route_mode_options zroute true
SetSet ZrouteZroute OptionsOptions Includes translating classic router parametersinto Zroute options
Route ClocksRoute Clocks Integrated clock global router (ICGR) withroute_zrt_group
Route SignalsRoute Signals
PostroutePostroute O timizationsO timizations
route_opt initial_route_only
route_opt skip_initial_routeroute o t incremental
Chip FinishingChip Finishing
_
201-signoff_optsignoff_opt
8/8/2019 Zroute Technical Tutorial v2 03 024524
21/66
8/8/2019 Zroute Technical Tutorial v2 03 024524
22/66
More on report_route_opt_strategy
Classic Router*********************************************************
Zroute*********************************************************
route_opt strategy for the design:
Fix Hold Mode : route_base
Search-Repair loops : 15
route_opt strategy for the design:
Fix Hold Mode : route_base
Search-Repair loops : 10
ECO Search-Repair loops : 5
Optimize Wire/Via Search-Repair loops : 5
Optimize Wire/Via CPU limit : -1
ECO Search-Repair loops : 4
Optimize Wire/Via Search-Repair loops : N/A
Optimize Wire/Via CPU limit : N/A
Route Violation threshold : 3000
*********************************************************
Route Violation threshold : 3000
*********************************************************
De au era ons are an or rou e- aseroute_optZroute conver es uicker
221-
Zroute is more intelligent, stopping on nonconvergence
8/8/2019 Zroute Technical Tutorial v2 03 024524
23/66
Zroute Versus Classic Router Commands
Commands do not match 1:1 due to differentrouting architecture
Zroute Classic routerroute_zrt_global route_global
_ _ _
route_zrt_detailroute_zrt_detail incremental true
route_detailroute_search_repair
_ _ _
route_zrt_auto route_auto
route_zrt_eco* route_eco
insert_zrt_redundant_vias insert_redundant_viasn/a optimize_wire_via
extract zrt hier antenna property extract hier antenna property
231-
_
*Zroute must use ECO route if there are opens!
8/8/2019 Zroute Technical Tutorial v2 03 024524
24/66
Zroute Options
Zroute option setup commandsset route zrt common o tions
set_route_zrt_global_optionsset_route_zrt_track_options
set_route_zrt_detail_options
Commands to report Zroute optionsreport_route_zrt_*_options
Commands to query Zroute option values
get_route_zrt_*_options -name option_nameAll options are persistent (saved with design)
241-
* common|detail|global|track
8/8/2019 Zroute Technical Tutorial v2 03 024524
25/66
Intelligent DRC Convergence
For each iteration after the initial iteration, Zrouteanalyzes the DRC distribution
Different areas can use different partition size and aspectratio (nonuniform partitions)
ZZInitial iterations use simple methods to fix most violations
Subse uent iterations use more advanced methods
Zroute can weight violation types differently foreach iteration
After iteration 30, costs are not changed
Zroute detects nonconvergence of DRC and stops
251-
iterations
You do not have to limit iterations to improve runtime
8/8/2019 Zroute Technical Tutorial v2 03 024524
26/66
Center Line Connectivity
Classic router depends on center line connectivityZroute does notCC
to meet DRCs
261-Center line is not connected Center line is connected
8/8/2019 Zroute Technical Tutorial v2 03 024524
27/66
Dont Do
Dont run verify_route on Zroute designClassic router has a different connectivity model (center lineconnection which affects o en re ortin and DRC calculationsUse verify_zrt_route to verify Zroute resultsUse verify_drc (65nm or above), signoff_drc (B-2008.09 or laterreleases), or Hercules to independently verify the router result
Dont use report_antenna_ratio to report antenna
violations, use verify_zrt_route antenna trueDont run classic router AFTER Zroute
You will get the following error if you try to do this:
commands after Zroute commands. (RT-302)Can run classic router before Zroute
For exam le, usin route rou for clocks
271-
_
8/8/2019 Zroute Technical Tutorial v2 03 024524
28/66
verify_zrt_route : Summary
verify_zrt_route outputs summary at the endI op on s a se, summary repor s no c ec e
Use -report_all_open_nets true to list all opensSS
Verify Summary:
Total number of nets = 229823, of which 0 are not extracted
Total number of open nets = 0, of which 0 are frozen
Total number of excluded ports =
0 ports of 0 unplaced cells connected to 0 nets
-open_net
0 ports without pins of 0 cells connected to 0 nets
0 ports of 0 cover cells connected to 0 non-pg nets
Total num of DRCs = 5
Total num of antenna violations = 0
-drc
-antenna
281-
Total num of voltage-area violations = not checked-voltage_area
# | no antenna rules defined | not checked
8/8/2019 Zroute Technical Tutorial v2 03 024524
29/66
Switching to Zroute in the GUI
Select Zroute Mode check box or useset route mode o tions zroute true_ _ _
291-
8/8/2019 Zroute Technical Tutorial v2 03 024524
30/66
8/8/2019 Zroute Technical Tutorial v2 03 024524
31/66
Has Design Been Routed by Zroute?
set_route_mode_options zroute true onlyshows user intent
Tells commands that use embedded routing to useZroute as the router D
To query if Zroute has been run on a design, use_ _ _
Yes:Message: Design is routed using Zroute.
Returns: trueNo:
M
311-
M .Returns: false
8/8/2019 Zroute Technical Tutorial v2 03 024524
32/66
Agenda
ZZ
Basic Zroute Flow Overview
Multi-Threaded Routing
EE
Summary
321-
8/8/2019 Zroute Technical Tutorial v2 03 024524
33/66
Multi-Threaded Routing Throughout
Designed from ground up as a multi-threaded routerMost route engines run multi-threaded tasksG
Need multi-CPU or multi-core machines to run
Number of threads total number of cores
DDMulti-threading: Multiple CPUs performing parallel algorithmson the same machine using a single process memory
Distributed: Partition design and send each partition to aseparate CPU with separate memory image of routing task
T
331-
T -set_route_zrt_common_options max_number_of_threads 2
8/8/2019 Zroute Technical Tutorial v2 03 024524
34/66
Measuring Multi-Threaded Routing
Speed-up should be measured by using wall-clock time,not total CPU time (Example is 8 threads)
[GR: Done] Elapsed real time: 0:09:11
[GR: Done] Elapsed cpu time: sys=0:01:21 usr=0:41:02 total= 0:42:23[Track Assign: Done] Elapsed real time: 0:05:57[Track Assign: Done] Elapsed cpu time: sys=0:00:50 usr=0:38:30 total= 0:39:21[DR Done] Elapsed real time: 0:17:50
[DR Done] Elapsed cpu time: sys=0:00:01 usr=2:21:07 total= 2:21:09
In general, memory should be compared by using asingle process
Total Memory = main process memory + child processmemory, easier just to turn off child process for router T
341-
Tset_app_var physopt_enable_router_process false
Example: Runtime Improvement
8/8/2019 Zroute Technical Tutorial v2 03 024524
35/66
Example: Runtime Improvement90nm, 2.3M Instances, 578 Macros
QoR
Memory reduction21.6GB vs. 16.9GB2
7.0
8.0
classic
Zroute
2.1XClassic versus Zroute
2 .
Wire length improvement
1.8%3.04.0
5.0
6.0
e: H
ours
1.
1.7XVia reduction
11.6%0.0
1.0
2.0Runti
Redundant via rateimprovement72.7% vs 93%
rou e_au o n ser _re u n an v as ver y_rou e
Single CPU/Thread
351-
Example: Multi Threading Speed Up
8/8/2019 Zroute Technical Tutorial v2 03 024524
36/66
Example: Multi-Threading Speed-Up90nm, 2.3M Instances, 578 Macros
Comparing Threadability of Commands
200.0
.
5.2X
150.0
nutes
1
2
2.8X
50.0
100.0
Runtime: Mi
84.7X
0.0
361-
_ _ _
*Run on 4 dual-core CPUs
Example: Multi Threading Speed up
8/8/2019 Zroute Technical Tutorial v2 03 024524
37/66
Example: Multi-Threading Speed-up90nm, 2.3M Instances, 578 Macros
140.0
Comparing Threadability Insideroute_zrt_auto
120.0
6.9X
80.0
.
nutes
1
2
5.1X
40.0
60.0
Runtime: Mi
83.3X
0.0
20.0
371-
global track detail
*Run on 4 dual-core CPUs
8/8/2019 Zroute Technical Tutorial v2 03 024524
38/66
Agenda
ZZ
Basic Zroute Flow Overview
Multi-Threaded Routing
EE
Summary
381-
8/8/2019 Zroute Technical Tutorial v2 03 024524
39/66
Parameter Translator Example
See the parameter translator guide (SolvNet 024478)for more info
un c ass c rou er scr p up o po n o runn ng c ass c rou er
##Translate parameterstranslate_zrt_parameters
Parameters translated into Zroute o tions =========================================
Translated ignoreNotchDRC of droute 0 to set_route_zrt_detail_options-ignore_drc {{same_net_metal_space false}}
Translated runTimingMode of trackAssign 1 to set_route_zrt_track_options-timing_driven true
Parameters not translated=========================
.
(ZRT-410)Warning: droute parameter accessPolyPin is not supported by Zroute.
(ZRT-409)Warning: droute parameter dropVia1InsideM1Pin cannot be translated
391-
rou e op on. -Warning: droute parameter M1FloatingSpaceForViaOffLimit is supported by
Zroute only in Milkyway technology file . (ZRT-411)
Wi h Z E l
8/8/2019 Zroute Technical Tutorial v2 03 024524
40/66
route_opt With Zroute Example
##Assume clocks are already routed
##Set signal integrity optionsse _s _op ons - e a_ e ay rue
-route_xtalk_prevention true \
-route_xtalk_prevention_threshold 0.25
Ena e Zroute ns e route_optset_route_mode_options -zroute true
##Turn on multi-threadingset_route_zrt_common_opt ons -max_num er_o _t rea s
##Add specific Zroute options as needed#set_route_zrt_*_options
##Run initial routingroute_opt initial_route_only
401-
Perform postroute optimizationsroute_opt skip_initial_route
t t t SI d Ti i D i
8/8/2019 Zroute Technical Tutorial v2 03 024524
41/66
route_zrt_auto : SI and Timing Driven
##Set signal integrity optionsset_route_zrt_common_options -threshold_noise_ratio 0.25set_route_zrt_global_options -crosstalk_driven true
_ _ _ _ _
##Tell tool to use Zrouteset_route_mode_options zroute true
##Add specific Zroute options as needed#set_route_zrt_xxx_options
set_route_zrt_global_options -timing_driven true
set_route_zrt_track_options -timing_driven trueset_route_zrt_detail_options -timing_driven true route_opt
##Route designroute_zrt_auto -max_detail_route_iterations 10
_ _
defaults
411-
verify_zrt_route
report_design -physical
ICGR Fl With Z t E l
8/8/2019 Zroute Technical Tutorial v2 03 024524
42/66
ICGR Flow With Zroute Example
##Set clock tree referencesset_clock_tree_references
##Set clock net routing rulesset_clock_tree_options -routing_rule XYZ layer_list upper_layers
##Turn on ICGR inside CTOset_app_var cto_2007_12 true
set_delay_calculation -clock_arnoldi
##2008.09 Flowset_delay_calculation clock_arnoldi
##Run CTS and CTOclock_opt only_cts no_clock_route
##Route clocks using the previous ICGR global route
clock_opt only_cts \cts_effort high no_clock_route
route_zrt_group all_clock_nets -reuse_existing_global_route true
Prior to B-2008.09-SP3 useset_route_zrt_global_options -incremental true
421-
route_zrt_group all_clock_netsset_route_zrt_global_options -incremental false
Note: In B-2008.09-SP3, the global options are hiddenand work, but will be removed for the C-2009.06 release.
A t Fi i g ith L H i g
8/8/2019 Zroute Technical Tutorial v2 03 024524
43/66
Antenna Fixing with Layer Hopping
Concurrent ow y e au t##Load design antenna rules (stored in design library)source antenna rules.tcl _
##Run initial routingroute_opt initial_route_only
##Perform postroute optimizationsroute_opt skip_initial_route
##Verif routin antenna checkin on b default
verify_zrt_route
Zroute scripts should explicitly turn off antenna
fixing and checking if not neededset_route_zrt_detail_options -antenna falseverify_zrt_route antenna false
431-
Classic router scripts tended to turn antennas on
sequentially
insert zrt redundant vias list only
8/8/2019 Zroute Technical Tutorial v2 03 024524
44/66
insert_zrt_redundant_vias list_only
Redundant via optimization will attempt to replace the following vias:
VIA12 -> VIA12_2x1(r) VIA12_2x1 VIA12_1x2(r) VIA12_1x2- _ _ _ _
VIA23 -> VIA23_1x2 VIA23_1x2(r) VIA23_2x1 VIA23_2x1(r)VIA23(r) -> VIA23_1x2 VIA23_1x2(r) VIA23_2x1 VIA23_2x1(r)......
_ _ _-from_via { VIA12 VIA23 VIA34 VIA45 VIA56 VIA12_OPTI VIA23_OPTI VIA34_OPTI \
VIA45_OPTI VIA56_OPTI VIA12_OPTI_SQ VIA23_OPTI_SQ VIA34_OPTI_SQ VIA45_OPTI_SQ \VIA56_OPTI_SQ VIA67 VIA78 } \
-to_via { VIA12 VIA23 VIA34 VIA45 VIA56 VIA12 VIA23 VIA34 \ VIA56 VIA67 VIA78 } \
-to_via_x_size { 2 2 2 2 2 2 2 2 \2 2 2 2 2 2 \2 2 2 } \
- _ _ _
1 1 1 1 1 1 \1 1 1 } \
441-
Prioritizing Double and Single VIA for DFM
8/8/2019 Zroute Technical Tutorial v2 03 024524
45/66
Prioritizing Double and Single VIA for DFMHidden 2008.09-SP2
- -
Some vias may be better for DFM, while others are
- . -SP4
b
Use define_zrt_redundant_vias -to_via_weights {}
Weight is 1 to 10
Higher weight via will be tried firstEqual weights, Zroute will prioritize based on routability
451-
Insert Redundant Vias
8/8/2019 Zroute Technical Tutorial v2 03 024524
46/66
Insert Redundant Vias
##Define redundant via sets (optional)
Initial Release FlowNot persistent, set
in any script in_ _ _
##Route designset_route_mode_options zroute true
wredundant vias
_ _ _
##Insert double vias before timing optinsert_zrt_redundant_vias
##Perform postroute optimizationsroute_opt skip_initial_route
insert_zrt_redundant_vias
##Report double-via rate per layer
461-
repor _ es gn -p ys ca
Insert Redundant Vias
8/8/2019 Zroute Technical Tutorial v2 03 024524
47/66
Insert Redundant Vias
##Define redundant via sets (optional)
Concurrent Flow
_ _ _
##Reserve room for redundant viasset_route_zrt_common_options \
- concurrent_redundant_via_mode reserve_space
##Enable postroute redundant via insertion
set_route_zrt_common_options \
Ena ena e pos rou epos rou eredundant viaredundant via
insertion at end of insertion at end of routin hasesroutin hases-post_detail_route_redundant_via_insertion medium
##Route designset_route_mode_options zroute true RedundantRedundant viasviasroute_opt initial_route_only
##Perform postroute optimizationsroute_opt skip_initial_route
will be insertedwill be insertedat end of at end of routing phasesrouting phases
471-
##Report redundant via rate per layer
report_design -physical
Automatic Redundant Via Insertion
8/8/2019 Zroute Technical Tutorial v2 03 024524
48/66
Automatic Redundant Via Insertion
Automatically inserts DVs at end of detail route oreco route. Hidden 2007.12-SP5-2Unhidden 2008.09-SP2Set a ter nsert ng s so t at rate rema ns
nearly constant through rest of flowWW , rou e_op wre-double the vias on routing changed nets
Extraction and timing effects are seen before and after route_opt
route_opt optimizations are based on these effects
set_route_zrt_common_options-post_detail_route_redundant_via_insertion{ off | low | medium | hi h }
481-Include define_zrt_redundant_vias , if used, inany script the automatic option may apply in
Soft Concurrent Double Via
8/8/2019 Zroute Technical Tutorial v2 03 024524
49/66
Soft Concurrent Double Via
Soft rules to increase DV rateReserves space for later DV to be inserted
Hidden 2007.12-SP5-2Unhidden 2008.09-SP4
set_route_zrt_common_options- concurrent_redundant_via_mode
off reserve s ace_
-concurrent_redundant_via_effort_level
{ low | medium | high }
-eco_route_concurrent_redundant_via_mode{ off | reserve_space }
-eco_route_concurrent_redundant_via_effort_level
{ low | medium | high }
Separate controls available for normal and ecorouting
491-
Run insert_zrt_redundant_vias later to insert
Agenda
8/8/2019 Zroute Technical Tutorial v2 03 024524
50/66
Agenda
ZZ
Basic Zroute Flow Overview
Multi-Threaded Routing
EE
Summary
501-
Summary
8/8/2019 Zroute Technical Tutorial v2 03 024524
51/66
Summary
Zroute is IC Compilers brand new, super-fast,DFM-friendly router
FF - -
Concurrent DRC, antenna rules, wire and via optimizationConcurrent redundant via insertion for higher yieldSoft rule support for lithography-friendly routingSignal-integrity-driven and timing-driven detail routingSimplified flow for ease-of-use
Zroute is available in version B-2008.09 to all
Co-exists with the classic IC Compiler router S
511-
S
More info: https://solvnet.synopsys.com/zroute
8/8/2019 Zroute Technical Tutorial v2 03 024524
52/66
Predictable Success
521-
Appendix
8/8/2019 Zroute Technical Tutorial v2 03 024524
53/66
ppe d
More Details Getting Started With ZrouteTechnology File and Parameter Translation
Script Conversion
This section provides addition details about getting startedwith Zroute for even more complete materials, see thecustomer training materials available from your Synopsys
.
531-
Technology File Details
8/8/2019 Zroute Technical Tutorial v2 03 024524
54/66
gy
All vias that you want Zroute to use (non-pinaccess) must be defined as default viasContactCode "VIA23" {
isDefaultContact = 1
}
All routing rules must be in the technology file for
Rules implemented as parametersM1FloatingParaLenForViaOffLimit
M1FloatingSpaceForViaOffLimit
Move to technology file for both classic router and Zroute=
541-
fatWireViaKeepoutMaxSpacingThreshold = S1
Default Vias and Via Regions
8/8/2019 Zroute Technical Tutorial v2 03 024524
55/66
g
Zroute depends on the same via regions as theclassic router to access pins
Blockage, pin, via (BPV) extraction is the same
If a particular via type needed to access pin and viare ion does not exist
Redo BPV with the contact specified as a default via
For non-pin access, Zroute uses only vias definedas defaultClassic router uses both default vias and vias that were
Ideally they would be the same set but for historicreasons in the classic router they might not be
551-
Z -
Translation Example: ignoreNotchDRC
8/8/2019 Zroute Technical Tutorial v2 03 024524
56/66
Most classic router scripts set the following option:se _rou e_op ons -same_ne _no c c ec _an _ x
When translated you see:Translated ignoreNotchDRC of droute 0 to
set_route_zrt_detail_options -ignore_drc{{same_net_metal_space false}}
By default, Zroute fixes notch and gapset_route_zrt_detail_options -ignore_drc {}
In o er wor s, e rans a on a ove an e au are e same
Therefore, no need to set this option in translated scripts
561-
Translation Example: runTimingMode
8/8/2019 Zroute Technical Tutorial v2 03 024524
57/66
Classic router is controlled by parameters that are
The translate_zrt_parameters command finds
No need to translate because timing is set by usingZroute options or route_opt
Other parameters, such as crosstalk prevention,are similar
571-
8/8/2019 Zroute Technical Tutorial v2 03 024524
58/66
Parameter Translator Verification
8/8/2019 Zroute Technical Tutorial v2 03 024524
59/66
set_route_mode_options -zroute true
##Add specific Zroute options as needed based on translation
#set_route_zrt_detail_options
##No antenna fixing and non-timing-driven routingset_route_zrt_detail_options -antenna false
se _rou e_zr _g o a _op ons - m ng_ r ven a se -cross a _ r ven a se
set_route_zrt_track_options -timing_driven false -crosstalk_driven false
set_route_zrt_detail_options -timing_driven false
##Run Zroute
route_zrt_auto
Do not use
verify_zrt_route antenna falsereport_design physical classic router verify_route !
591-
##Independent DRC
verify_drc ;# 65nm or above, or signoff_drc (2008.09), or Hercules
8/8/2019 Zroute Technical Tutorial v2 03 024524
60/66
Script Changes
8/8/2019 Zroute Technical Tutorial v2 03 024524
61/66
You should modify classic router scripts to beZroute focused for final implementation scripts,ns ea o epen ng on parame er rans a on
Quick script conversion is good for proof-of-concept onlyCCplaces in script to enable features, or when needed for routing convergence
RRZroute options you have set
Commands mi ht be reordered, deleted, or added
due to Zroute behaviorRefer to the IC Compiler Recommended Methodology with
611-More details in subsequent sections
Common Missteps When Starting Zroute
8/8/2019 Zroute Technical Tutorial v2 03 024524
62/66
Using verify_route to check results
TT
Commands might have equivalence, but often notneeded since Zroute is more concurrent and simplifiedCommands used because of deficiencies in classicrouter or flow
Correct order has chan edMeasuring Router QoR
If optimize wire via is run in classic router _ _
Routing QoR is similar, but runtime is much better inZroute (~3-5x)
I
621-
I _ _ Route QoR is much improved, routing runtime should still
be faster in Zroute (~2x)
Script Changes
8/8/2019 Zroute Technical Tutorial v2 03 024524
63/66
You should modify classic router scripts to beZroute focused for final implementation scripts,ns ea o epen ng on parame er rans a on
Quick script conversion is good for proof-of-concept onlyCCplaces in script to enable features, or when needed for routing convergence
RRZroute options you have set
Commands mi ht be reordered, deleted, or added
due to Zroute behaviorRefer to the IC Compiler recommended methodology with
631-More details in subsequent sections
Script Conversion Tip Search and Repair
8/8/2019 Zroute Technical Tutorial v2 03 024524
64/66
Dont blindly convert every route_search_repair rou e_zr _ e a ncremen a rue
Often classic router needed search and repair
Antenna fixing
Off-grid pinsZroute converges faster and stops when it detectsnonconvergence
Classic router used several iterations of search andrepair, spread through scripts, to help control runtime
641-
Script Conversion Tip Redundant Vias
8/8/2019 Zroute Technical Tutorial v2 03 024524
65/66
Initially classic router could not automatically
Some customers created complex scripts to query viasfrom the databaseforeach via [get_via_masters *] {
}
Try to use Zroute default firstFinds available vias and discards nonoptimal viasRR
Use the list_only option to customizeS
651-
S
Script Conversion Tip Wire Spreading
8/8/2019 Zroute Technical Tutorial v2 03 024524
66/66
Do not use spread_zrt_wires just after initial
Some classic router scripts do thisSSslower Zroute has stronger crosstalk avoidance and timing-
Pre-spreading should not be needed and can producesuboptimal results
661-