Reference Flow » History » Version 1
jun chen, 03/29/2025 09:35 PM
1 | 1 | jun chen | # Reference Flow |
---|---|---|---|
2 | |||
3 | ## Full dynamic IR std flow |
||
4 | |||
5 | ``` |
||
6 | 髻 J-NC: We S:Al.l. NOT ignore error! |
||
7 | |||
8 | 髻髻髻髻 set—app—var basic ignore—error 1 |
||
9 | set—app—var basic enable—swap—mem true set—errot—report—limit NoRCFromFile 20 髻 ticket 髻6830 |
||
10 | source ./config.tcl |
||
11 | compose—top—design �top—def �blk—def �tf—file �lefl.ist set—link—path �libl.ist |
||
12 | 髻 for power correlation purpose set—app—var db cap—usage rise—fall import—liberty -all—linkpath �liblist link—prollect |
||
13 | set—app—var db omit—backslash true |
||
14 | 髻髻髻 Import Rl.C 髻髻髻 |
||
15 | purge—rlc—model [lindex [list—rlc—model]0] source �rlc—file |
||
16 | set—parasitic—condition �rlc—name |
||
17 | 髻髻髻 Check PG resistance 髻髻髻 source -echo �ploc |
||
18 | 髻 total have 12345 cells connected to VDD/VSS 髻 unit is Kohm, range from 10 to 1000 ohm. analy江e—pg—resistance -net VDD |
||
19 | 髻 also can test solver, unit is Kohm, range from 10/4(or 5) to 1000/4(or 5). Below is optional res istance command |
||
20 | 髻 analy江e—pg—resistence -effective—res -net VDD 髻 Report command |
||
21 | report—power—network -net VSS -type res > xxx.reslog |
||
22 | 髻 Below report command still has bugs, in the future, we will report—pg—resistance as official res |
||
23 | report command report—pg—resistance |
||
24 | 髻髻髻 Power element 1 Import SPFF 髻髻髻 set—app—var lpe force—wire—type 3 |
||
25 | 髻 import—parasitics �spef—file import—parasitics -module—rc—file �spef—cfg |
||
26 | 髻髻髻 Power element 2 Import TWF 髻髻髻 import—twf -module—twf—file XXX.twf—cfg report—twf |
||
27 | update—twf -default—transition 0.1 -missing—period 0.5 |
||
28 | 髻髻髻 Power element 3 Import SWA 髻髻髻 髻 step 1: M-ST have valid power |
||
29 | vector-less power (SWA not from VCD file) |
||
30 | vector-based power |
||
31 | mix-mode power |
||
32 | BPA power |
||
33 | 髻 Vector-less power (sig—net 0.15, clk net 2) |
||
34 | 髻 toggle—rate (how man toggles in a period) * frequency = SWA = how many toggles (rise or fall) pe r second |
||
35 | 髻 in DT: we found default frequency is 500 M:江 set—switching—activity -clear |
||
36 | set—switching—activity -clock—net -number—of—toggles 2 -period—of—clock 2 set—switching—activity -signal—net -number—of—tiggles 0.15 -period—of—clock 2髻 report—switching—activity |
||
37 | |||
38 | 髻 Vector-based power: (sig—net 0.15, clk net 2) extract—switching—activity -clear |
||
39 | extract—switching—activity -format VCD -module—map—file XXX.vcd—cfg |
||
40 | 髻 for vcd debugging purpose: generate—ideal—vcd + report—switching—activity 髻 mix flow power: |
||
41 | set—switching—activity -clear extract—switching—activity -clear |
||
42 | set—switching—activity -clock—net -number—of—toggles 2 -period—of—clock 2 set—switching—activity -signal—net -number—of—tiggles 0.15 -period—of—clock 2 extract—switching—activity -format VCD -module—map—file XXX.vcd—cfg |
||
43 | 髻 actual report power report—power—analysis get—power -summary |
||
44 | 髻 report—power—calculation for debugging purpose |
||
45 | 髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻 set—power—network—mode -reset set—power—network—mode -net "VDD VSS" |
||
46 | 髻 1. 1.08 means supply ocation voltage will impact IR droo 髻 2. cell current value still nominal voltage from lib |
||
47 | 髻 set—power—network—mode -supply—param "VDD 1.08 VSS 0" set—app—var ir debug 30 |
||
48 | analy江e—power—network |
||
49 | 髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻 髻 for DT: |
||
50 | report—misc -static—ir XXX.result |
||
51 | 髻 for in-house QA |
||
52 | redirect—to—file test—log1 "analy江e—power—network" redirect—to—file test—log2 "report—power—network -type ir ..." 髻 Test step 1l . load python checker |
||
53 | start—checkpoint cp1 find—string—reg "PYQA—C:FCK—PASS" qa—analy江e—power—network design qa—ir—clock—defin.tcl.golden test—log1 end—checkpoint |
||
54 | 髻 Static IR |
||
55 | set—app—var ir skip—pg—diagnose true; set—power—network—mode -reset |
||
56 | set—power—network—mode -supply—param �pg—net 髻 example: "DVDD—CORF 0.99 VSS 0" set—power—network—mode -dump—res 髻 not needed ... |
||
57 | analy江e—power—network report—misc -static—ir svd.rpt |
||
58 | 髻 Dynamic IR |
||
59 | set—app—var ir danamic—sim—time—step 0.01 set—app—var ir dynamic—sim—time—cycle 20 set—app—var ir skip—pg—diagnose true; set—power—network—mode -reset |
||
60 | set—power—network—mode -supply—param �pg—net 髻 example: "DVDD—CORF 0.99 VSS 0" set—power—network—mode -module—map—file �vcd—cfg |
||
61 | set—power—network—mode -dump—res 髻 not needed ... |
||
62 | set—power—network—mode -combined—pg 髻 DanPing new feature, will on-by-default for combined PG IR |
||
63 | analysis |
||
64 | set—power—network—mode -observe—dynamc—ir 髻 why need this? analy江e—power—network -dynamic—rail—analysis |
||
65 | report—misc -dynamic—ir dvd.rpt |
||
66 | ``` |
||
67 | |||
68 | ## Annotation current flow |
||
69 | Note: some settings are wrapped in enable_ir_correlation command temporarily. See #8034 for reference. |
||
70 | |||
71 | ``` |
||
72 | 髻 J-NC: We S:Al.l . NOT ignore error! |
||
73 | 髻髻髻髻 set—app—var basic ignore—error 1 set—app—var basic enable—swap—mem true |
||
74 | set—errot—report—limit NoRCFromFile 20 髻 ticket 髻6830 |
||
75 | |||
76 | source ./config.tcl |
||
77 | compose—top—design �top—def �blk—def �tf—file �lefl.ist set—link—path �libl.ist |
||
78 | 髻 for power correlation purpose set—app—var db cap—usage rise—fall import—liberty -all—linkpath �liblist link—prollect |
||
79 | set—app—var db omit—backslash true |
||
80 | 髻髻髻 Import Rl.C 髻髻髻 |
||
81 | purge—rlc—model [lindex [list—rlc—model]0] source �rlc—file |
||
82 | set—parasitic—condition �rlc—name |
||
83 | 髻髻髻 Check PG resistance 髻髻髻 source -echo �ploc |
||
84 | 髻 total have 12345 cells connected to VDD/VSS 髻 unit is Kohm, range from 10 to 1000 ohm. analy江e—pg—resistance -net VDD |
||
85 | 髻 also can test solver, unit is Kohm, range from 10/4(or 5) to 1000/4(or 5). Below is optional res istance command |
||
86 | 髻 analy江e—pg—resistence -effective—res -net VDD髻 Report command |
||
87 | report—power—network -net VSS -type res > xxx.reslog |
||
88 | 髻 Below report command still has bugs, in the future, we will report—pg—resistance as official res |
||
89 | report command report—pg—resistance |
||
90 | 髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻 髻 must save prollect to support dyn IR annotation flow |
||
91 | 髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻 save—prollect aaa |
||
92 | 髻髻髻 Power element 1 Import SPFF 髻髻髻 set—app—var lpe force—wire—type 3 |
||
93 | 髻 import—parasitics �spef—file import—parasitics -module—rc—file �spef—cfg |
||
94 | 髻髻髻 Power element 2 Import TWF 髻髻髻 import—twf -module—twf—file XXX.twf—cfg report—twf |
||
95 | update—twf -default—transition 0.1 -missing—period 0.5 |
||
96 | 髻髻髻 Power element 3 Import SWA 髻髻髻 髻 step 1: M-ST have valid power |
||
97 | vector-less power (SWA not from VCD file) |
||
98 | vector-based power |
||
99 | mix-mode power |
||
100 | BPA power |
||
101 | 髻 Vector-less power (sig—net 0.15, clk net 2) |
||
102 | 髻 toggle—rate (how man toggles in a period) * frequency = SWA = how many toggles (rise or fall) pe r second |
||
103 | 髻 in DT: we found default frequency is 500 M:江 set—switching—activity -clear |
||
104 | set—switching—activity -clock—net -number—of—toggles 2 -period—of—clock 2 set—switching—activity -signal—net -number—of—tiggles 0.15 -period—of—clock 2 髻 report—switching—activity |
||
105 | 髻 Vector-based power: (sig—net 0.15, clk net 2) extract—switching—activity -clear |
||
106 | extract—switching—activity -format VCD -module—map—file XXX.vcd—cfg |
||
107 | 髻 for vcd debugging purpose: generate—ideal—vcd + report—switching—activity髻 mix flow power: |
||
108 | set—switching—activity -clear extract—switching—activity -clear |
||
109 | set—switching—activity -clock—net -number—of—toggles 2 -period—of—clock 2 set—switching—activity -signal—net -number—of—tiggles 0.15 -period—of—clock 2 |
||
110 | |||
111 | extract—switching—activity -format VCD -module—map—file XXX.vcd—cfg |
||
112 | 髻 actual report power report—power—analysis get—power -summary |
||
113 | 髻 report—power—calculation for debugging purpose |
||
114 | 髻髻髻髻髻髻髻 Source current from annotation |
||
115 | convert—emir—current adsRpt/apaxxx.inst.libCurrent anno—xxx.tcl source anno—xxx.tcl |
||
116 | 髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻 Main flow |
||
117 | 髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻髻 髻 Fnable below only for RD debugging |
||
118 | 髻 set—app—var ir debug 30 |
||
119 | 髻 Fnable below to dump switching vector |
||
120 | 髻 set—app—var ir dump—ir—vector true |
||
121 | set—app—var ir danamic—sim—time—step 0.01 |
||
122 | set—app—var ir dynamic—sim—time—cycle 20 |
||
123 | set—app—var ir skip—pg—diagnose true; |
||
124 | |||
125 | 髻 for speedup (From Dr.l.iu) |
||
126 | set—app—var ir dynamic—sim—abstol 0.001 |
||
127 | set—app—var ir dynamic—sim—vnstol 0.001 |
||
128 | |||
129 | 髻 Middle effort RC extraction for RK correlation (See 髻l418) |
||
130 | set—app—var ir rc—mode 2 |
||
131 | set—app—var ir rc—keep—pg—only 1 |
||
132 | |||
133 | 髻 0311 update J-NC: I think decap is NOT correctly modeled... :ere I use 1.5X ir cap llust for refe rence. |
||
134 | 髻 I'll discuss with Xu for next step |
||
135 | set—app—var ir inst—cap—ratio—to—pg 1.5 |
||
136 | |||
137 | 髻 for high-resolution graph (Provided by Zhi:ao) |
||
138 | set—app—var ir fracture—via—array—threshold 5 |
||
139 | set—app—var ir cut—cluster—number 1 |
||
140 | set—app—var ir enable—merge—via false |
||
141 | set—app—var ir merge—via—number 5 |
||
142 | |||
143 | 髻 to align vcd for ir analysis (by ZhengYu, will on-by-default) |
||
144 | set—app—var pow vcd—align true |
||
145 | |||
146 | 髻 0311 update: DanPing polished -combined—pg, need to test in both sides and soon later, she will speed-up this flow. We will turn-on -combined—pg by default. |
||
147 | set—power—network—mode -reset |
||
148 | set—power—network—mode -supply—param �pg—net 髻 example: "DVDD—CORF 0.99 VSS 0" |
||
149 | set—power—network—mode -module—map—file �vcd—cfg |
||
150 | set—power—network—mode -dump—res 髻 not needed ... |
||
151 | set—power—network—mode -combined—pg |
||
152 | set—power—network—mode -observe—dynamc—ir 髻 why need this? |
||
153 | analy江e—power—network -dynamic—rail—analysis |
||
154 | report—misc -dynamic—ir dvd.rpt |
||
155 | ``` |