RC parasitic extraction and LPE » History » Version 1
jun chen, 03/29/2025 06:22 PM
1 | 1 | jun chen | # RC parasitic extraction and LPE |
---|---|---|---|
2 | |||
3 | ## ESD |
||
4 | □5田0片0叩D叩陈叩□ 博叩~0 |
||
5 | |||
6 | ESD background introduction: Giga_DA_ESD_Models_Devices_and_Analysis.pptx ESD reference paper: ming-douker1999.pdf (From Dr. Shi) |
||
7 | |||
8 | ESD reference paper: 02_Simulating_Electrostatic_Discharge.pdf (From Jeff) |
||
9 | |||
10 | ESD online training: https://www.bilibili.com/video/BV1C34y1p7Jk?share_source=copy_web&vd_source=d04eb1abca6ba586bf0375f4ee96ad31 (From Dr. Chen) |
||
11 | |||
12 | ## LVS |
||
13 | |||
14 | LVS introduction: http://10.30.200.21:8088/projects/hongtu-emir/wiki/LVS_introduction |
||
15 | |||
16 | ## Resistance and capacitance |
||
17 | |||
18 | Professional link (By Xu): http://10.30.200.21:8088/projects/understand-aguda/wiki/Understand_LPE Professional introduction (By Xu): http://10.30.200.21:8088/projects/understand-aguda/wiki/LPE_Basic |
||
19 | |||
20 | ## Cap and resistance introduction |
||
21 | Background knowledge (where cap comes from): ECE4121Lec08Wire.pdf , CapacitanceDrivingaLoadannotated.pdf IR analysis cap contributor: about_cap_clean.pptx |
||
22 | Resistance usage model and background: Resistance_analysis_and_report.pptx |
||
23 | |||
24 | ### [[Chip_RC_Correlation]] |
||
25 | |||
26 | ## Regression and QA method |
||
27 | |||
28 | Regression location: `ut/tests/ut/vp/ir/resistance` |
||
29 | Regression command 1: `qa_report_pg_resistance` |
||
30 | Regression command 2: `qa_report_detail_regression` |
||
31 | Regression command 3(obsolete): `qa_analyze_power_network res golden_res_file test_res_file` |
||
32 | |||
33 | ## Effective resistance |
||
34 | New usage |
||
35 | ``` |
||
36 | analyze—pg—resistance -net VDD -effective [-generate—supply—location (hidden option)] |
||
37 | 髻 by default, 10 worst instance will be reported. if -number—of—worst set to 0 or negative, report |
||
38 | all |
||
39 | report—pg—resistance -net VDD -effective [-number—of—worst 10] report—pg—resistance -net VDD cell—name -effective |
||
40 | 髻 will dump all the result to file |
||
41 | report—pg—resistance -net VDD -effective -number—of—worst 0 -output—file xxx.rpt |
||
42 | 髻 will show heat map in G·r without re-build graph show—effective—resistance—map |
||
43 | 髻 below error out since -detail only support in min-path mode report—pg—resistance -net VDD cell—name -detail |
||
44 | ``` |
||
45 | |||
46 | ~~Old usage:~~ |
||
47 | ``` |
||
48 | set—app—var ir calc—resist—mode Fl.AT |
||
49 | analy江e—power—network -net VDD -res—only [-generate—supply—location] |
||
50 | report—power—network -net VDD -type res |
||
51 | ``` |
||
52 | |||
53 | ## Min-path resistance |
||
54 | New usage |
||
55 | ``` |
||
56 | analy江e—pg—resistance -net VDD [-generate—supply—location (hidden option)] |
||
57 | 髻 by default, 10 worst instance will be reported. if -number—of—worst set to 0 or negative, report all |
||
58 | report—pg—resistance -net VDD [-number—of—worst 10] report—pg—resistance someCell -high—light -detail -net VDD |
||
59 | |||
60 | 髻 will dump all the result to file |
||
61 | report—pg—resistance -net VDD -number—of—worst 0 -output—file xxx.rpt |
||
62 | 髻 will show up heat map in G·r, power min-path, ground min-path, total min-path will display |
||
63 | 髻 if a cell is not connected to power/ground, the color annotation will be skiped. rn the total re sistance calculation, the un-connected net res is regarded as 江ero. |
||
64 | show—min—path—resistance—map |
||
65 | ``` |
||
66 | |||
67 | ~~Old usage:~~ |
||
68 | ``` |
||
69 | set—app—var ir calc—resist—mode S:ORTPAT: |
||
70 | analy江e—power—network -net VDD -res—only [-generate—supply—location] report—power—network -net VDD -type res -inst xxx -high—light report—power—network -net VDD -type res -path—number 4 |
||
71 | ``` |
||
72 | |||
73 | ## Debug pg resistance |
||
74 | |||
75 | See Generic testing SoP: |
||
76 | http://10.30.200.21:8088/projects/hongtu-emir/wiki/Generic_Testing_SoP#section-10 |
||
77 | |||
78 | ## Open-short and missing via check |
||
79 | ``` |
||
80 | verify—power—network |
||
81 | check—pg—vias |
||
82 | ``` |
||
83 | 1. :VP O 叩 check—pg—vias D叩D叩D叩D叩D叩D叩missing viaD |
||
84 | get—ob“—attr [get—violations -checker pgroute] bbox |
||
85 | 2. :VP O 叩 verify—power—network D叩D叩D叩D叩D叩D 叩 open/short/floating (open D叩D )D |
||
86 | get—ob“—attr [get—violations -checker layout—verifier -filter—by {rule == open}] bbox |
||
87 | |||
88 | ## Regression location |
||
89 | ut/tests/ut/vp/ut_run/ir/resistance/xxx |
||
90 | |||
91 | ## VIA resistance (TBD.) |
||
92 | analy江e—via—resistance |
||
93 | |||
94 | ## compare resistance by layer |
||
95 | DDDDD D min-path D叩D叩D叩D叩叩叩D叩度叩0叩D叩D叩D叩D叩D叩叩叩总叩叩叩叩叩映叩D叩导叩ir叩叩叩em叩叩叩 |
||
96 | D 叩D叩D叩DD叩D叩叩叩叩res改叩就叩须叩D static irDDDDDD叩DDDDDD叩DD希叩□ :VP D Ref tool D detail res 门叩叩叩叩叩D叩D叩 |
||
97 | |||
98 | DDD□ :VP D Ref tool D min res detail path门叩叩叩叩叩D叩叩并叩D叩叩叩叩叩 |
||
99 | |||
100 | D叩D |
||
101 | compare—detail—path—resistance -input—file minPath.rk [-output—file compare.result] [-plot—scatter |
||
102 | ] |
||
103 | |||
104 | □叩flowD |
||
105 | ... |
||
106 | set—app—var ir save—graph true analy江e—pg—resistance |
||
107 | compare—detail—path—resistance -input—file minPath.rk -output—file compare.result |
||
108 | DDDinput_fileDredhawkOmin resistance detail path report, D叩DD叩 |
||
109 | |||
110 |  |
||
111 | |||
112 | output_fileDDDDDDODDDDDD叩DD叩 |
||
113 |  |
||
114 | |||
115 | DDDD-plot_scatterDDDDDDDDD田叩 |
||
116 |  |
||
117 | |||
118 | ## RC extraction |
||
119 | |||
120 | 500 |
||
121 | [[LPE_Lecture_and_Reference]] |
||
122 | |||
123 | ### About rlc model |
||
124 | RCGEN_USAGE.pdf (from XuLuo 20230905) |
||
125 | |||
126 | #### Base method (Obsolete) |
||
127 | |||
128 | DDDD layer D DD叩叩DDDDDDD叩叩叩DD 叩 (DD D rlc DODD ) |
||
129 | 1.D叩 1叩set—linear—unit—rlc (DD叩叩叩叩叩叩D导叩叩叩DD候 叩 unitR / width * length |
||
130 | D DDDDD叩DDDDDDDDD叩D叩叩叩叩DDD叩DDDDDDDDDDD |
||
131 | 2.D叩 2叩 set—resistance—table (DODDD伲插叩叩 叩 叩D导叩叩叩DD候 叩 lpm->CalcMetalR叩叩DD导叩叩叩 |
||
132 | D DD叩DD叩叩DD叩D叩D叩DDD |
||
133 | D叩 1DDD叩D叩DD signoff emirDD叩DDD叩D叩 2DD叩 |
||
134 | |||
135 | #### Advanced method: (New engine from Xu, after 20220310) |
||
136 | |||
137 | See: http://10.30.200.21:8088/issues/7418 |
||
138 | first phase changes: |
||
139 | 1.ir rc_multi_threads 1: valid in "ir rc_mode 2", changed to on by default |
||
140 | 2.ir rc_keep_pg_only 0: valid in "ir rc_mode 2", new, off (high accuracy) by default, will be on (medium accuracy, aligned with RH, equivalent to internal param "ir rc_ignore_mode 0x248") controled by other new coming ir params (like "ir accuracy_level high", will be followed up by Jun) |
||
141 | 3.ir rc_mode 0/1/2: 0 existing auto-mode, will be retired, 1 forcedly unitR/C, 2 exact RC extraction like signal (will be on by default for signoff VP, followed up by Jun), no further change for now. |
||
142 | |||
143 | todo list: |
||
144 | 1.px dont_extract_cap 1: on by default for static IR-drop analysis if "ir rc_mode 2" is set |
||
145 | 2.new ir param (e.g., accuracy_level medium [ I low I high]), to be discussed with Jun to turn on below params: |
||
146 | |||
147 | low: |
||
148 | ir rc_mode 1 |
||
149 | |||
150 | medium: |
||
151 | ir rc_mode 2 |
||
152 | ir rc_keep_pg_only 1 |
||
153 | |||
154 | high: |
||
155 | ir rc_mode 2 |
||
156 | ir rc_keep_pg_only 0 |
||
157 | 3.change default value for below two params: |
||
158 | 3.1param "ir rc_keep_pg_only_tv 1" : change default from 0 to 1 for thickness variation. |
||
159 | 3.2param "ir rc_keep_pg_only_cap 1": change default from 0 to 1 for cap weighting factor. |