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