Uploaded by Stanley Seungchul Song

StarRC-Parasitic Explorer Update Gate Level

advertisement
StarRC Parasitic Explorer Update
Gate-level
Module 1
CONFIDENTIAL INFORMATION
The information contained in this presentation is the confidential and proprietary
information of Synopsys. You are not permitted to disseminate or use any of
the information provided to you in this presentation outside of Synopsys
without prior written authorization.
IMPORTANT NOTICE
In the event information in this presentation reflects Synopsys’ future plans, such plans
are as of the date of this presentation and are subject to change. Synopsys is not
obligated to update this presentation or develop the products with the features and
functionality discussed in this presentation. Additionally, Synopsys’ services and products
may only be offered and purchased pursuant to an authorized quote and purchase order
or a mutually agreed upon written contract with Synopsys.
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
2
Agenda
• Introduction to Parasitic Explorer
• Value/Benefits
• TCL Interface & Existing API Commands
• GUI: Manage Opens/Shorts & Debug Parasitic Data
• Summary
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
3
Agenda
➢Introduction to Parasitic Explorer
➢Value/Benefits
• TCL Interface & Existing API Commands
• GUI: Manage Opens/Shorts & Debug Parasitic Data
• Summary
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
4
Introduction to Parasitic Explorer
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
5
Parasitic Explorer
NDM/Lef-Def
ICV/Calibre
• Advanced Parasitic Analysis
environment for Gate and Transistor
level flow
• Supports the core Tcl language with
Synopsys Tcl extensions
StarRC
• Graphical environment for Parasitic
Annotation and opens and Shorts debug
GPD
• Easy to setup: No PDK is required
TCL based
Analysis
Graphical
Parasitic
Annotation
Opens &
Shorts
Debug
• Invoked through the command
‘starrc_shell’
Parasitic Explorer
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
6
Standalone Parasitic Explorer
• Provides a user interface to GPD
StarRC
Version P-2019.03 for linux64 - Feb 26, 2019
• Platform for creation of advanced
parasitics-centric scripts
• CORE commands to obtain parasitics for
design objects.
starrc_shell> get_coupling_capacitors
...
starrc_shell> get_ground_capacitors
...
starrc_shell> get_resistors
...
Copyright (c) 1988 - 2019 Synopsys, Inc.
This software and the associated documentation are proprietary to Synopsys,
Inc. This software may only be used in accordance with the terms and conditions
of a written license agreement with Synopsys, Inc. All other use, reproduction,
or distribution of this software is strictly prohibited.
starrc_shell>
SMC GPD parasitics
reading
Netlist object query
StarRC Shell
GPD reporting and query
commands
Synopsys Confidential Information - Internal Use Only
Parasitic collection
objects
© 2020 Synopsys, Inc.
7
Interactive Shell: TCL Commands & Open/Short Errors
Gate-level Flow & GUI Invoke
1.
Run extraction with the following command
PARASITIC_EXPLORER_ENABLE_ANALYSIS: YES
2.
Invoke the StarRC shell
% starrc_shell
3.
Read GPD and link current design
starrc_shell> source <GPD_DIR>/starrc_shell_init.tcl
Read physical database for GUI
starrc_shell> source <GPD_DIR>/starrc_shell_load_layout.tcl
4.
set gpd_read_remove_buslike_escape false
read_parasitics -keep_capacitive_coupling -format GPD <GPD_DIR>
current_design yt_FT_bottom
set_layout_database_options -physical_enable_clock_data -physical_lib_path { /remote/stars//starrc/design_1.1a.tlef
/remote/stars/0750v.lef /remote/stars//data/UBUMP.lef } -physical_design_path { /remote/stars/data/FT_bottom.def.gz}
check_layout_database
5. GUI Invoke
starrc_shell> gui_start
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
8
Interactive Shell: TCL & Full Chip Summary View
Gate-level Flow
1.
Run extraction with the following command
PARASITIC_EXPLORER_ENABLE_ANALYSIS: YES
2.
Invoke the StarRC shell
% starrc_shell
3.
Read GPD and link current design
starrc_shell> source <GPD_DIR>/starrc_shell_error_summary_view.tcl
set gpd_read_remove_buslike_escape false
read_parasitics -keep_capacitive_coupling -format GPD <GPD_DIR>
current_design new_bottom -only_link_in_pe
set_layout_database_options -physical_enable_clock_data -physical_lib_path { /remote/stars//starrc/design_1.1a.tlef
/remote/stars/0750v.lef /remote/stars//data/UBUMP.lef } -physical_design_path { /remote/stars/data/FT_bottom.def.gz}
check_layout_database
start_gui
starrc_gpd_read_opens_shorts -gpd yt.gpd -summary_view
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
9
Value/Benefits
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
10
Key Elements of Parasitic Data Analysis
Flexible
Reporting
Support Query and work on
existing framework
Support Property Access
for manipulation &
reporting
Ease of
use
Efficient
Access
Handle
Big Data
Support Multi-Corner data
from Large Designs
Synopsys Confidential Information - Internal Use Only
TCL Based,
Programmable for debug,
analysis
Support multi-threading &
Random Access for high
performance
© 2020 Synopsys, Inc.
11
Parasitic Explorer
Interactive Design Analysis and Exploration
•
•
•
•
•
•
•
•
Dominant layer in a timing path
Identify nets contributing higher RC on a path
Net with dominating RC on a timing path
Worst aggressor on a net in timing path
Average aggressor on a net in timing path
• Capacitance variation between specific corners
• Resistance variation between specific corners
Path
Based
Analysis
Net
Based
Analysis
Corner
Based
Analysis
Design
Debug
•
•
•
•
•
•
•
Synopsys Confidential Information - Internal Use Only
Layer wise length distribution of a net
Identify nets routed on top metal layers
Total Cap, Ground Cap, Resistance
report
Report width/layer of all resistor
segments of a net
Point to point equivalent resistance
between driver and receiver
Identify shortest resistive path on a net
List all non-physical resistors for EM
Annotate design with RC to visualize
RC topology
Get bounding box of a net to know it
location
Traverse opens and shorts thru error
browser for dirty designs
© 2020 Synopsys, Inc.
12
StarRC Parasitic Explorer Update
Gate-level
Module 2
CONFIDENTIAL INFORMATION
The information contained in this presentation is the confidential and proprietary
information of Synopsys. You are not permitted to disseminate or use any of
the information provided to you in this presentation outside of Synopsys
without prior written authorization.
IMPORTANT NOTICE
In the event information in this presentation reflects Synopsys’ future plans, such plans
are as of the date of this presentation and are subject to change. Synopsys is not
obligated to update this presentation or develop the products with the features and
functionality discussed in this presentation. Additionally, Synopsys’ services and products
may only be offered and purchased pursuant to an authorized quote and purchase order
or a mutually agreed upon written contract with Synopsys.
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
14
Agenda
• Introduction to Parasitic Explorer
• Value/Benefits
➢TCL Interface & Existing API Commands
• GUI: Manage Opens/Shorts & Debug Parasitic Data
• Summary
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
15
Coupling Capacitor Attributes
TCL Attributes Equivalent to SPEF Content
Report coupling capacitors of a net
starrc_shell> report_attribute -application [get_coupling_capacitors -of_objects min_lsb/n76]
Output (truncated)
Corresponding SPEF Cc
****************************************
Report : Attribute
Design : top_test_macro
Version: P-2019.03
Date
: Mon Mar 18 17:13:04 2019
****************************************
Design
Object
Type
Attribute Name
Value
-------------------------------------------------------------------------------top_test_macro coupling_capacitor collection aggressor_net
sec_msb/n67
top_test_macro coupling_capacitor string
aggressor_net_name
sec_msb/n67
top_test_macro coupling_capacitor collection aggressor_node_ground_capacitor ground_capacitor
top_test_macro coupling_capacitor int
aggressor_node_index
6
top_test_macro coupling_capacitor string
aggressor_node_name
sec_msb/n67:6
top_test_macro coupling_capacitor float
capacitance
0.000120
top_test_macro coupling_capacitor int
layer_id
6
top_test_macro coupling_capacitor string
layer_name
M6
top_test_macro coupling_capacitor collection net
min_lsb/n76
top_test_macro coupling_capacitor collection node_ground_capacitor ground_capacitor
top_test_macro coupling_capacitor int
node_index
9
top_test_macro coupling_capacitor string
node_name
min_lsb/n76:9
top_test_macro coupling_capacitor string
object_class
coupling_capacitor
Synopsys Confidential Information - Internal Use Only
*NAME_MAP
*352 min_lsb/n76
*843 sec_msb/n67
*D_NET *352 24.6342
...
*CONN
...
*CAP
...
4 *352:8 *843:5 0.120283
...
*RES
...
© 2020 Synopsys, Inc.
16
Resistor Attributes
TCL Attributes Equivalent to SPEF Content
Report resistors of a net
starrc_shell> report_attribute -application [get_resistors -of_objects min_lsb/n76]
Output (truncated)
Corresponding SPEF Resistor
Design
Object
Type
Attribute Name
Value
-------------------------------------------------------------------------------top_test_macro resistor
boolean
is_short
false
top_test_macro resistor
int
layer_id
2
top_test_macro resistor
string
layer_name
M1
top_test_macro resistor
collection net
min_lsb/n76
top_test_macro resistor
collection node1_ground_capacitor ground_capacitor
top_test_macro resistor
int
node1_index
13
top_test_macro resistor
string
node1_name
min_lsb/n76:13
top_test_macro resistor
collection node2_ground_capacitor ground_capacitor
top_test_macro resistor
int
node2_index
6
top_test_macro resistor
string
node2_name
min_lsb/n76:6
top_test_macro resistor
string
object_class
resistor
top_test_macro resistor
float
resistance
0.010415
Synopsys Confidential Information - Internal Use Only
*NAME_MAP
*352 min_lsb/n76
*D_NET *352 24.6342
...
*CONN
...
*CAP
...
*RES
...
7 *352:12 *352:5 10.4149
...
© 2020 Synopsys, Inc.
17
GPD Contents AT A Glance
GPD Property Reporting Commands
Report basic GPD properties
Report layer information
starrc_shell> report_gpd_properties -gpd top.gpd
starrc_shell> report_gpd_properties -gpd top.gpd -layers
****************************************
Report : gpd_properties
Design : top_test_macro
Version: P-2019.03
Date
: Mon Mar 18 17:13:04 2019
****************************************
****************************************
Report : gpd_properties
-layers
Design : top_test_macro
Version: P-2019.03
Date
: Mon Mar 18 17:13:04 2019
****************************************
Property
Value
----------------------------------design_name
top_test_macro
vendor_name
Synopsys Inc.
program_name
StarRC
program_version
P-2019.03
program_timestamp
Mar 14 2019 21:18:50
gpd_timestamp
Mon Mar 18 17:03:05 2019
gpd_version
2.8
number_of_nets
237835
number_of_cells
542741
number_of_ports
325
is_gpd_complete
Yes
has_via_ladder
No
has_resistor_detail
Yes
has_resistor_bounding_box No
Layer information:
Name
Properties
Value
-------------------------------------------------------------------M1
id
1
M1
is_via
No
M2
id
2
M2
is_via
No
M3
id
3
M3
is_via
No
M4
id
4
M4
is_via
No
M5
id
5
M5
is_via
No
M6
id
6
M6
is_via
No
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
18
report_coupling_capacitors
Report coupling capacitors of a net
Usage:
starrc_shell> report_coupling_capacitors \
[-of_objects] \
[ -from] \
[-to] \
[-verbose]
[-output_file]
****************************************
Report : Coupling Capacitors summary
Design : toprt
Version: Q-2019.12-SP4
Date : Sun Jun 01 17:03:34 2020
****************************************
Total CCAP
%Cc/Ct
==========
=====
0.001595
3.546967
0.000695
1.545543
Aggressor Net
=============
sec_lsb/cnt_blk1/n143
sec_lsb/conv_blk1/n22
Summary Coupling Report
For nets with escape character, use “get_nets -exact”
e.g. report_coupling_capacitors -of [get_nets -exact {net\\[0\\]}]
Output:
• Report with nodes, layer, capacitance, %Cc/Ct
• Default is summary report total coupling from
victim net to aggressor net
• “-verbose” reports coupling from victim based on
layers
****************************************
Report : Coupling Capacitors detailed
Design : toprt
Version: Q-2019.12-SP4
Date : Sun Jun 1 17:05:41 2020
****************************************
Victim Node
Victim Layer Aggressor Node
Aggressor Layer Capacitance %Cc/Ct
===========
============ ==============
=============== =========== ========
sec_lsb_led[0]:11 M3
sec_lsb/cnt_blk1/n143:22 M3
0.000625 1.389877
sec_lsb_led[0]:12 M3
sec_lsb/cnt_blk1/n143:22 M3
0.000294 0.653798
sec_lsb_led[0]:3 M2
sec_lsb/conv_blk1/n22:7 M2
0.000331 0.736079
sec_lsb_led[0]:4 M2
sec_lsb/conv_blk1/n22:7 M2
0.000243 0.540384
Detailed Coupling Report
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
19
report_ground_capacitors
Report ground capacitors of a net
Usage:
starrc_shell> report_ground_capacitors \
starrc_shell> report_ground_capacitors –of_objects sec_lsb_led[0]
****************************************
Report : Ground Capacitors
Design : toprt
Version: Q-2019.12-SP4
Date : Sun Jun 1 17:13:13 2020
****************************************
[-of_objects] \
[ -from] \
[-to] \
[-output_file]
Node
Layer Capacitance %Cg/Ct
====
===== =========== ========
sec_lsb_led[0]:3 M2 0.002321 5.161448
sec_lsb_led[0]:4 M2 0.003420 7.605408
sec_lsb_led[0]:5 M2 0.003457 7.687689
sec_lsb_led[0]:6 M2 0.002825 6.282245
sec_lsb_led[0]:10 M3 0.002149 4.778954
For nets with escape character, use “get_nets -exact”
e.g. report_ground_capacitors -nets [get_nets -exact {net\\[0\\]}]
Output:
Ground Capacitors Report
• Report with nodes, layer, capacitance, %Cg/Ct
• Report of all ground capacitors of a net along with %
ratio of ground capacitance to total capacitance
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
20
report_resistors
Report resistors of a net
Usage:
starrc_shell> report_resistors \
[-of_objects]
[-from “from pin/port/node”]
[-to “to pin/port/node”]
[-verbose]
[-output_file]
For nets with escape character, use “get_nets –exact”
e.g. report_resistors -nets [get_nets -exact {net\\[0\\]}]
Output:
• Net or path based report with nodes, resistance,
layer, length, width, bbox
• Default is summary reports with only nodes and
resistance value
• -verbose lists layer, length, width, bbox
starrc_shell> report_resistors –of_objects sec_lsb_led[0]
****************************************
Report : Resistors Net Based summary
Design : toprt
Version: Q-2019.12-SP4
Date : Sun Jun 1 17:18:03 2020
****************************************
Node1
Node2
Resistance
=====
=====
==========
sec_lsb_led[0]
sec_lsb_led[0]:16 0.000330
sec_lsb_led[0]
sec_lsb_led[0]:31 0.000330
sec_lsb/conv_blk1/U7/X sec_lsb_led[0]:18 0.002250
starrc_shell> report_resistors -from sec_lsb_led[0]:8 \
-to sec_lsb_led[0]:9
****************************************
Report : Resistors Path Based summary
Design : toprt
Version: Q-2019.12-SP4
Date : Sun Jun 1 17:21:13 2020
****************************************
Node1
Node2
Resistance
=====
=====
==========
sec_lsb_led[0]:8 sec_lsb_led[0]:9 0.008250
Path Based Summary Report
Net Based Summary Report
starrc_shell> report_resistors –of_objects sec_lsb_led[0] -verbose
***************************************
Report : Resistors Net Based detailed
Design : toprt
Version: Q-2019.12-SP4
Date : Sun Jun 1 17:25:38 2020
****************************************
Node1
Node2
Resistance Layer Length Width Area llx
lly
urx
ury
=====
=====
========== ===== ====== ===== ==== ===
===
===
===
sec_lsb_led[0]
sec_lsb_led[0]:16 0.000330 M3 1.000000 2.000000 NA
619.000000 329.799988 618.000000 331.799988
sec_lsb_led[0]
sec_lsb_led[0]:31 0.000330 M3 1.000000 2.000000 NA
619.000000 329.799988 620.000000 331.799988
sec_lsb/conv_blk1/U7/X sec_lsb_led[0]:27 0.000132 M1 0.800000 2.000000 NA
494.600006 161.199997 496.600006 162.000000
Detailed Report
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
21
report_compare_nets_rc
Compares R, Cg, CC between two nets
Usage:
starrc_shell> report_compare_nets_rc \
Design : toprt
Version: Q-2019.12-SP3
Date : Mon May 11 10:26:43 2020
****************************************
Layer Net1LayerLength Net2LayerLength Net1ResValue(KOhms) Net2ResValue(KOhms) ResPercentDifference Net1CapValue(pF)
Net2CapValue(pF) TotCapPercentDifference Net1CCapValue(pF) Net2CCapValue(pF)
===== ===== ===== =============== ================ ================ ============ ================
================ ============ ================
M1 40.3 56.600001 0.003774
0.007735
51.208791
0.00 0.002958
100.00
0.00 0.002958
-net1 \
-net2\
[-output_file]
Output:
• Reports with nodes, layer, capacitance, %Cg/Ct
• Compares layer by layer R, Cg, CC between two
nets
M2 62.000001 48.000001 0.025163
0.006502
0.018976
M3
INF- 0.047140
360.4 0.00 0.118932
0.00
VIA1 0.00 0.00 0.002250
0.006750
VIA2 0.00 0.00 0.002880
0.00
-32.604342
66.666667
INF- 0.00
0.00
0.00
0.00
0.010522
INF- 0.047140
0.00
INF- 0.00
0.007944
-32.452165
0.010324
0.00
INF- 0.00
0.00
0.00
Output Report
• Reports % difference
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
22
report_total_capacitance
Calculate and report the total capacitance of a net
Usage:
starrc_shell> report_total_net_capacitance \
“list or collection of nets”
For nets with escape character, use “get_nets –exact”
e.g. report_resistors -nets [get_nets -exact {net\\[0\\]}]
Output:
• List of nets provided with their total
capacitance
starrc_shell> report_total_net_cap "min_lsb_led[1] min_lsb_led[0] min_lsb/cnt_blk1/reg_blk1/d[2]"
========
=================
Net Name
Total Capacitance
========
=================
min_lsb_led[1]
0.083626
min_lsb_led[0]
0.086062
min_lsb/cnt_blk1/reg_blk1/d[2] 0.001363
Output Report
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
23
report_routed_nets
Reports all nets on specified layer (e.g. top AP layer)
Usage:
starrc_shell> report_routed_nets \
-layer “list of layers”
Output:
• List of nets, total capacitance and percentage
layer contribution to total capacitance
starrc_shell> report_routed_nets -layer “M3 M2”
============================================
Total number of nets routed on M3: 61
============================================
Net Name
Total Capacitance
M3 Capacitance
========
================= ==============
clk
0.321883
0.142288
load_data
0.273447
0.124407
min_lsb/bcd[0]
0.060440
0.032259
min_lsb/bcd[1]
0.074207
0.031725
…
…
============================================
Total number of nets routed on M2: 34
============================================
Net Name
Total Capacitance
M2 Capacitance
========
================= ==============
clk
0.321883
0.104935
count_en
0.069486
0.066566
load_data
0.273447
0.096212
min_lsb/bcd[3]
0.068430
0.039236
%M3/Ct
======
44.204882
45.495836
53.373594
42.752031
%M2/Ct
======
32.600355
95.797715
35.184880
57.337425
Output Report
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
24
report_length_layerwise
Reports the layerwise length distribution of a net
Usage:
starrc_shell> report_net_length_layerwise \
“list or collection of nets”
Output:
• Layerwise length report of nets
• Requires NETLIST_TAIL_COMMENTS: YES
during extraction
starrc_shell> report_net_length_layerwise "min_lsb/cnt_blk1/n185”
================================
Net: min_lsb/cnt_blk1/n185
Report: Layerwise length of net
================================
M2 4.6u
M3 9.6u
Output Report
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
25
report_bounding_box
Reports the approximate bounding box of a net
Usage:
starrc_shell> report_bounding_box \
-of_objects “list or collection of nets”
Output:
• Net with llx, lly, urx, ury coordinates
• Coordinates of ground capacitor nodes are
used for computation
starrc_shell> report_bounding_box –of_objects "min_lsb_led[1] min_lsb/cnt_blk1/n192"
========
==========
==========
==========
Net Name
llx
lly
urx
========
==========
==========
==========
min_lsb_led[1]
52.799999
0.000000
538.000000
min_lsb/cnt_blk1/n192
134.300003
238.600006
142.600006
==========
ury
==========
40.000000
256.600006
Output Report
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
26
report_rc_components
Reports the layer by layer RC and percentage of a net
Usage:
starrc_shell> report_rc_components \
-of_objects “list or collection of nets” \
[-output_file]
“CSV_format_file”
Output:
• Report of net name, total capacitance, total
resistance and layer wise % contribution for
capacitance and resistance
starrc_shell> report_rc_components -of_objects min_lsb_led[1]
================================
Net Name: min_lsb_led[1]
Total Resistance: 0.178299 KOhms
Total Capacitance: 0.083628 pF
Layer ResValue(KOhms)
%ResContribution
CapValue(pF)
===== =============== ================ ============
M1
0.000001
0.000561
0.000000
M2
0.014438
8.097634
0.006890
M3
0.158730
89.024616
0.076738
VIA1 0.002250
1.261925
0.000000
VIA2 0.002880
1.615264
0.000000
Output Report
Synopsys Confidential Information - Internal Use Only
%CapContribution
================
0.000000
8.238867
91.761133
0.000000
0.000000
© 2020 Synopsys, Inc.
27
report_rc_components
Reports output file in CSV format
starrc_shell> report_rc_components -of_objects min_lsb_led[1] –output_file rc_comp.rpt
*********************************************************************************
Report : RC Components for Net: sec_lsb_led[0]
Design : toprt
Version: Q-2019.12-SP4
Date : Mon Jun 15 16:29:04 2020
Format: Layer, ResValue(KOhms), %ResContribution, CapValue(pF), %CapContribution
*********************************************************************************
M1, 0.004770, 3.919667, 0.000000, 0.000000
M2, 0.068312, 56.134238, 0.028250, 62.822452
M3, 0.042042, 34.547307, 0.016718, 37.177548
VIA1, 0.002250, 1.848900, 0.000000, 0.000000
VIA2, 0.004320, 3.549887, 0.000000, 0.000000
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
28
report_net_connectivity
Report *P, *I and cells connected to a net
Usage:
starrc_shell> report_net_connectivity \
“list or collection of nets”
For nets with escape character, use “get_nets -exact”
e.g. report_aggressors -nets [get_nets -exact {net\\[0\\]}]
Output:
• Report with *P, *I and cells
• *P report contains pin name, direction and x/y
coordinates
• *I report contains port name, direction, cell
name, x/y coordinates
=============================
Net: count_en
Report Type: Net Connectivity
=============================
-----------------------------------------------*P Name
Direction
x-coordinate
y-coordinate
-----------------------------------------------count_en
in
492400.000000 400.000000
--------------------------------- ----------*I Name
Direction
Cell
x-coordinate
y-coordinate
--------------------------------- ----------U86/A
in
U86
342000.000000 254600.000000
U87/A
in
U87
319600.000000 254000.000000
-------------------------------------------------Cell
x-coordinate min
y-coordinate min
x-coordinate max
-------------------------------------------------U86
342000.000000
254600.000000
345200.000000
U87
312600.000000
254000.000000
319600.000000
---------------y-coordinate max
---------------257200.000000
258950.000000
Detailed Connectivity Report
• Cell report contains name, bounding box x/y
coordinates
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
29
report_rc_corner_ratios
Reports top 100 nets with largest ratio of ground cap between parasitic corners
Usage:
starrc_shell> report_rc_corner_ratios \
-parasitic_corners (two corners) \
[-type] (RC object) \
[-nworst]
(largest ratio count) \
[-nworst]
(smallest ratio count) \
[-output_file]
(output_file)
Output:
• List of nets with ratio of Cg (corner1/corner2)
• The Cg for each net is summed up when
computing Cg1/Cg2
Output
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
30
report_rc_corner_ratios
Reports top 100 nets with largest ratio of ground cap between parasitic corners
starrc_shell> report_rc_corner_ratios -parasitic_corners "typ min" -type
resistor
****************************************
Report : RC Corner Ratios
Design : toprt
Version: Q-2019.12-SP4
Date : Wed Jun 17 01:02:13 2020
****************************************
Parasitic Corner 1: typ
Parasitic Corner 2: min
Reporting 100 nworst nets with resistor variation between corners
Net
Ratio
===
=======
preset[0]
1.235008
sec_msb/cnt_blk1/reg_in[0] 1.112700
min_msb/cnt_blk1/reg_in[0] 1.055300
starrc_shell> report_rc_corner_ratios -parasitic_corners "typ min" -type
coupling_capacitor
****************************************
Report : RC Corner Ratios
Design : toprt
Version: Q-2019.12-SP4
Date : Wed Jun 17 00:59:54 2020
****************************************
Parasitic Corner 1: typ
Parasitic Corner 2: min
Reporting 100 nworst nets with coupling_capacitor variation between
corners
Net
Ratio
===
=======
min_lsb_led[0]
1.114261
min_msb/conv_blk1/n125
1.112349
min_lsb/conv_blk1/n89
1.110877
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
31
report_dominant_layer_in_path
Reports the R and C dominant layer for a specified path (PT) or list of nets (StarRC/PT)
Usage:
starrc_shell> report_dominant_layer_in_path \
[-from <start point>\]
[-to <end Point>\]
[-of_objects <list or collection of
nets>]
Output:
=============================
Report Type: Dominant Layer in Timing Path
From: sync_datafrommem/dut_sync/sync_out_reg_9_
To: piso_bit/temp_reg_9_
=============================
List of nets in specified timing path:
net 1: sync_datafrommem/dut_sync/sync_out[9]
net 2: piso_bit/din[9]
net 3: piso_bit/n[29]
net 4: piso_bit/N13
Total number of nets in the timing path: 4
• The options -from/-to are only supported in
PT (uses get_timing_paths)
R dominant layer: M5
Total R on M5: 0.120122
• The –of_objects option is supported in
StarRC and PT
C dominant layer: M4
Total C on M4: 9.6e-05
…
Output
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
32
get_point_to_point_resistance
Calculates P2P R between two nodes of the specified net
Usage:
starrc_shell> get_point_to_point_resistance \
[-quiet]
[-parasitic_corners corner_names]
[-all_parasitic_corners]
[-from from pin/ports/internal nodes]
[-to to pin/ports/internal nodes]
Starrc_shell> get_point_to_point_resistance –from min_lsb_led[5]:7
-to min_lsb_led[5]:11
0.0264
Output
Output:
• Numerical value equivalent P2P R
• Between from and to sub nodes of the net
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
33
report_point_to_point_resistance
Reports P2P R for all instance port combinations of the specified net
Usage:
starrc_shell> report_point_to_point_resistance \
-of_objects <list or collection of nets>
Output:
• Pin1, pin2 and equivalent P2P R
• All combinations of *I are computed
=============================
Net: min_lsb/cnt_blk1
Report Type: P2P R
=============================
Pin1
Pin2
====
====
min_lsb/cnt_blk1/U41/B
min_lsb/cnt_blk1/U33/X
min_lsb/cnt_blk1/U47/A
min_lsb/cnt_blk1/U33/X
min_lsb/cnt_blk1/U51/A
min_lsb/cnt_blk1/U33/X
min_lsb/cnt_blk1/U55/C
min_lsb/cnt_blk1/U33/X
P2P
===
0.036487
0.0773236
0.0886516
0.011703
Output
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
34
StarRC Parasitic Explorer Update
Gate-level
Module 3
CONFIDENTIAL INFORMATION
The information contained in this presentation is the confidential and proprietary
information of Synopsys. You are not permitted to disseminate or use any of
the information provided to you in this presentation outside of Synopsys
without prior written authorization.
IMPORTANT NOTICE
In the event information in this presentation reflects Synopsys’ future plans, such plans
are as of the date of this presentation and are subject to change. Synopsys is not
obligated to update this presentation or develop the products with the features and
functionality discussed in this presentation. Additionally, Synopsys’ services and products
may only be offered and purchased pursuant to an authorized quote and purchase order
or a mutually agreed upon written contract with Synopsys.
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
36
Agenda
• Introduction to Parasitic Explorer
• Value/Benefits
• TCL Interface & Existing API Commands
➢GUI: Manage Opens/Shorts & Debug Parasitic Data
➢Summary
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
37
GUI : Manage Opens/Shorts & Debug Parasitic
Gate-level
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
38
RC Layout Annotation
• A new GUI interface allows interactive RC value
annotation of selected nets
• The annotation is superimposed on top of the
original LEF-DEF or NDM database
gui_show_parasitics
nets
Nets to be annotated
[-filter filter_term]
Filter collection of nets
[-parasitic_corners corner_names] List of corners
[-all_parasitic_corners]
Annotate all corners
[-nores]
Disable R annotation
[-nocg]
Disable Cg annotation
[-nocc]
Disable Cc annotation
[-novia]
Disable via annotation
RC Annotation GUI
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
39
Interactive Layout Viewer
Information box
Annotated Net
Query tab
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
40
Opens and Shorts Visualization
Open Net GUI Visualization
• Loads opens and shorts information attached
to GPD using command
starrc_gpd_read_opens_shorts
• Two ways to query opens and shorts
– Within the GUI using the Error Browser
Interface
– Using Tcl commands
• Interactive navigation through different dirty
nets by clicking on a particular net in the error
browser
• Dirty nets assigned new attributes
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
41
Interactive Opens and Shorts Browser
Short Net GUI Visualization
Detailed description of starrc_gpd_read_opens_shorts
starrc_gpd_read_opens_shorts
Usage:
starrc_gpd_read_opens_shorts # Read Opens/Short errors from StarRC, convert to a binary file
which can be loaded in non-GUI or GUI Layout->View->Error Browser
-gpd gpdDir
(GPD directory for the design)
[-error_file errorFile]
(File name that stores the error database (default starrc_openshort.err))
[-window window]
(Window (bounding box) for which open or short to be displayed)
[-type type]
(Type of violation: open/short/all (default)))
[-limit limit]
(Total number of errors to be shown for each type)
[-add_gui_selection] (Highlight the affected net(s) in the GUI)
[-add_net_attributes addNetPar]
(Add attributes to net (append, replace (default)))
[-nets nets]
(List of net names for which open/shorts are to be shown)
[-summary_view]
(Brief visualization of all errors)
[-warning_limit warning_limit]
(Total number of warnings to be shown for each type)
[-short_types short_types]
(List of space-seperated short types (net unselectable nonselected skip_cell fill
blockage) for which shorts are to be shown)
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
42
Error Debug: Chip-level Summary View or Details
Interactive with –type/-short_types/-window/-nets
Error type
Short to net
Short to unselected net
Short to unselectable net (power nets)
Short to skip cell
Short to fill
Short to blockage
Open error
Color
Red
Orange
Yellow
Green
Cyan
Pink
White
Summary View
– layer & XY with color
using mouse tips
Zoom into Error details
Selected Error
highlighted in layout
GUI – Selection for
Layers, X short
location
Error details
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
43
View Design/Net Parasitics: Query R, Cg, CC
Query
Coupling Cap
in Green line
Ground Cap
in “red dot”
GUI – Selection for
Objects & Layers
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
44
GUI: Point to Point Resistance
Highlight Resistance Connection between Two Nodes
Usage:
display_res_segment_between_two_nodes
# Display a
resistor segment between two nodes of a net
[-clear_display]
(clear_resistor_segment_display)
-from
(provide_from_resistor_node)
-to
(provide_to_resistor_node)
-display_color
(provide_display_color to choose from
red|orange|cyan|green|yellow|blue|grey|violet|black|whit
e|brown)
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
45
Example Commands for Summary View/Error Viewing
A. SUMMARY VIEW
1.
starrc_gpd_read_opens_shorts -gpd top.gpd -summary_view
2.
gui_remove_annotation -window [lindex [gui_get_window_ids] 1]
3.
starrc_gpd_read_opens_shorts -gpd top.gpd -summary_view -type open
4.
starrc_gpd_read_opens_shorts -gpd top.gpd -summary_view -type short -short_types blockage
5.
starrc_gpd_read_opens_shorts -gpd top.gpd -summary_view -type short -window 0,0,10000,5000
6.
starrc_gpd_read_opens_shorts -gpd top.gpd -summary_view –nets ebi2_dmi_1_dmi_0
B. Error viewing using error browser
1.
starrc_gpd_read_opens_shorts -gpd top.gpd -window 0,0,10000,5000 -type open
2.
starrc_gpd_read_opens_shorts -gpd top.gpd -window 0,0,10000,5000 -type short -short_types
(net unselectable nonselected skip_cell fill blockage)
C. New list of short errors from already extracted database for a window
StarXtract -write_short_regions -window 0 0 10000 5000 star.tech
Unix>% StarXtract star_cmd
Unix>% StarXtract -write_short_regions -nets_file nets_file star_cmd
starrc_shell> starrc_gpd_read_opens_shorts –gpd <gpd> -error_file error_file.txt
Synopsys Confidential Information - Internal Use Only
New list of short
errors flow
© 2020 Synopsys, Inc.
46
Summary
Synopsys Confidential Information - Internal Use Only
© 2020 Synopsys, Inc.
47
Parasitic Explorer Highlights
Manage Opens/Shorts, Debug Parasitics and Analyze
TCL Shell: A Powerful tool
• Parasitics Data access
as TCL Attribute
• Create your own
command and Analyze
• For both gate and
transistor-level
GUI: Manage Opens/Shorts
Analyze with API Commands
• Opens and shorts
categorized with Colors Powerful summary view
• Analyze your design with
the API commands
• Browse Each error
details
• Debug resistors, ground
capacitors, coupling
capacitors
Synopsys Confidential Information - Internal Use Only
• Enhancing existing
commands
• Adding more commands
to enhance customer
productivity
© 2020 Synopsys, Inc.
48
Thank You
Download