Static վերլուծություն
Static IR-drop և static EM վերլուծությունը գնահատում են power delivery network-ը (PDN)՝ միջին, կայուն-վիճակի հոսանքի ներքո, ոչ թե ակնթարթ-առ-ակնթարթ switching-ի։ Սա արագ, միշտ հասանելի baseline ստուգումն է, run արվում է վաղ և շարունակաբար ողջ physical implementation-ի ընթացքում, քանի որ այն switching vector-ների կարիք չունի և որսում է PDN-ի կառուցվածքային թուլությունների մեծ մասը — բարակ strap-եր, բացակայող via-ներ, թերաչափ ring-եր — նույնիսկ նախքան dynamic տվյալների գոյություն ունենալը։ Ընդհանուր signoff հոսքում static և dynamic վերլուծությունը փոխլրացնող են և երկուսն էլ պարտադիր. static-ը էժան, մշտական baseline-ն է, dynamic-ը՝ թանկ, ավելի բարձր ճշգրտության ստուգումը, որը վերևից դրվում է դրա վրա։
Static վերլուծության pipeline (RedHawk-SC-ի անվանակարգում). activity տվյալները սնում են SwitchingActivityView-ը, PowerView-ն այն փոխակերպում է per-instance հոսանքի, և գծային DC solve-ը տալիս է static IR-drop և EM current density։
Ինչպես է աշխատում
Ընդհանուր մեթոդը լարման drop-ը հաշվում է որպես պարզ գծային համակարգ. per-instance միջին հոսանքը ստացվում է toggle rate-ից և էներգասպառման տվյալներից, PDN-ը extract է արվում զուտ ռեզիստիվ ցանցի մեջ (capacitance-ը և inductance-ը անտեղի են DC, ոչ-անցումային solve-ի համար), և V = I·R-ը լուծվում է ամեն node-ում — սովորաբար sparse conjugate-gradient-ոճի solver-ով։ Սա միտումնավոր պարզեցում է. ոչ մի ժամանակային correlation switching event-երի միջև, ոչ մի անցումային հոսանքի ձև, ոչ մի package/inductive էֆեկտ։ Այն որոշ առումներով pessimistic է (ենթադրում է, որ հոսանքները համընկնում են) և այլ առումներով optimistic (կարող է բաց թողնել կարճ, localized միաժամանակյա-switching-ի spike, որը միայն dynamic վերլուծությունը կորսար)։
Լուծվում է որպես DC գծային ցանց (առանց C, առանց L) ամբողջ extract արված PG mesh-ի վրայով — նույն Ohm-ի-օրենքի առնչությունը, որ ներկայացված է Power Integrity էջում, կիրառված այստեղ հատկապես միջին/կայուն-վիճակի հոսանքի, ոչ թե առանձին switching event-ի համար։
Input-ներ
| Input | Նպատակ |
|---|---|
| DesignView (DEF/LEF) | Ֆիզիկական տոպոլոգիա և բջիջների տեղաբաշխում |
| TimingView | STA / ժամանակային window-ի տվյալներ |
| ExtractView | Extract արված PG (և ընտրովի signal) parasitic-ներ |
| Activity source | Հետևյալներից մեկը. Instance Power File (IPF), gate-level SAIF, VCD/FSDB, կամ user-controlled default toggle rate-ներ/duty cycle-ներ |
| Լարում & corner | Per-domain լարման մակարդակներ, process corner, temperature |
Activity-source հոսքեր
| Հոսք | Ինչպես է աշխատում |
|---|---|
| IPF-based | Էներգասպառումն ամբողջությամբ գալիս է նախապես հաշված Instance Power File-ից. պահանջում է ~100% instance coverage, այլապես չծածկված instance-երը էներգասպառում չեն ստանում |
| User-controlled toggle rate | Գլոբալ/per-scope default toggle rate-ներն ու duty cycle-ները (տակտային ազդանշան, combinational, sequential-output, macro-output, ICG-output pin-եր) drive են անում SwitchingActivityView-ը. activity-propagation ալգորիթմը լրացնում է չսահմանված logic-ը |
| SAIF-based | Gate-level SAIF-ը մատակարարում է activity ծածկված node-երի համար. չծածկված node-երն անցնում են user-controlled default-ների |
| VCD/FSDB-based | vector dump-երից կառուցված ValueChangeView-ը սնում է SwitchingActivityView-ը. RTL և gate-level dump-երը կարելի է խառնել ըստ block-ի, բայց SAIF և VCD/FSDB չեն կարող համակցվել մեկ run-ում |
Output-ներ
Instance-level և ամփոփ էներգասպառման report-ներ՝ բաժանված ըստ սնման տիրույթի, հաճախության տիրույթի և user-defined խմբերի (combinational / sequential / memory / decap) — հաշվետու internal, արտահոսք, switching և total էներգասպառում, toggle rate և լարում՝ ըստ instance/pin-ի։ Սրանք ուղղակիորեն սնում են static DC լարման drop solve-ը և static EM current-density ստուգումները։ Coverage վիճակագրությունը (VCD annotation coverage, էներգասպառման տվյալներ ունեցող instance-ների %) հաշվետու է կողքին և կարևոր sanity check է՝ նախքան արդյունքներին վստահելը։
Լավագույն պրակտիկա և թակարդներ
VCD-ի X-state-երը պետք է բացահայտորեն resolve արվեն (դիտարկել որպես 0, որպես 1, որպես toggle, կամ ignore — «ignore»-ը default-ն է, բայց միշտ ճիշտ չէ dynamic feed-through-ի համար)։ IPF coverage-ը պետք է ստուգվի որպես մոտ-100%, այլապես փոխարենը խորհուրդ է տրվում hybrid activity-driven հոսք։ Precedence կանոնները կարևոր են և հեշտ է սխալվել. settings precedence-ը գործում է leaf-instance > բջիջ > block > design-wide արժեքներ > tool default-ներ, իսկ activity-source precedence-ը գործում է propagation < default activity < constant/X-driven signal-ներ < STA/library-ից ստացված constant-ներ < բացահայտ SAIF/VCD տվյալներ։
Power Grid-ի robustness ստուգումներ
Նախքան լիարժեք static կամ dynamic լարման drop run-ը — կամ նույնիսկ դրա փոխարեն — զուտ կառուցվածքային ստուգումների մի շարք կարող է ստուգել, որ PDN-ը սկզբից ճիշտ է կառուցված. ոչ short-եր, ոչ disconnect-եր, ոչ բացակայող via-ներ, և ոչ localized թույլ հատվածներ, որոնք կարող են խնդիրներ առաջացնել՝ անկախ նրանից, թե ինչ հոսանք է հետագայում կիրառվում։ Հենց սա է նշանակում «power grid robustness»-ը ողջ EMIR signoff-ում. այս ստուգումներից մի քանիսը ոչինչ չեն պահանջում, բացի LEF/DEF geometry-ից — ոչ ժամանակային, ոչ switching activity, ոչ vector — ուստի կարող են run արվել չափազանց վաղ, հենց որ power grid-ի հիմնական կառուցումն ավարտվի, շատ ավելի վաղ, քան design-ը ունենա մաքուր STA կամ activity տվյալներ վերևի փուլերի համար։
Փաստաթղթավորված համեմատություն. մեկ անկյունում bump-երը միտումնավոր հեռացնելով՝ և՛ SPR, և՛ effective-resistance (Reff) heatmap-երը դեռ միատեսակ են երևում ու բաց են թողնում թուլությունը, քանի որ Metal1-ը գերիշխում է երկու չափումներում էլ։ BQM-ի անկախ, միատեսակ բաշխված հոսանքի probe-երը բացահայտում են իրական hotspot-ը ներքևում։
Վեց robustness ստուգումները
| Ստուգում | Ինչ է գտնում |
|---|---|
| Shorts | Ոչ միտումնավոր կապեր երկու տարբեր սնման տիրույթների, power/ground-ի, կամ power-ground/signal-ի միջև — ստուգվում է default-ով extraction-ի ընթացքում, նախապես լցված GUI heatmap-ով և location/layer/հանգույց-pair տեքստային report-ով |
| Instance & wire disconnects | Տրամաբանորեն կամ ֆիզիկապես անջատված instance pin-եր, և ֆիզիկապես անջատված wire-եր — վիզուալիզացվում են ուղղակիորեն SPR heatmap-ի վրա, որտեղ անջատված կետը հաշվետու է որպես անվերջ resistance («inf», ցուցադրված սպիտակով) |
| Shortest Path Resistance (SPR) | Ռեզիստիվ առումով ամենակարճ ուղին ցանկացած instance pin-ից կամ grid location-ից մինչև մոտակա լարման source/bump — արագ, միշտ հասանելի կառուցվածքային ցուցիչ, բայց ոչ ամբողջական (տես ստորև զգուշացումը) |
| Effective Resistance (Reff) | Point-to-point impedance instance pin-ից մինչև բոլոր իրար short արված bump-երը՝ հաշվի առնելով ամեն parallel path, ոչ միայն ամենակարճը — ավելի խիստ, քան SPR, բայց per-instance հաշվելը թանկ է և դեռ մեկուսացված մեկ հոսանքի draw է |
| Build Quality Metric (BQM) | Տեղադրում է միատեսակ սինթետիկ հոսանքի probe-եր ամենացածր metal layer-ի վրայով — անկախ ցանկացած իրական switching activity-ից — և լուծում է թեթև մոդելավորում՝ բացահայտելու իսկական կառուցվածքային թույլ կետերը, որ SPR-ը և Reff-ը կարող են ամբողջովին բաց թողնել |
| Missing Via check | Ուղղակիորեն նշում է via-stack location-ները, որտեղ երկու նշված metal layer-ների միջև ակնկալվող կապը բացակայում է — հաճախ այն թույլ կետերի բառացի արմատական պատճառը, որ BQM-ն հայտնաբերում է downstream |
SPR-ը և Reff-ը գերիշխվում են այն layer-ով, որն ամենաշատ resistance-ն է ներդնում — սովորաբար Metal1 — ուստի այդ layer-ից վերև ներմուծված թուլությունը, կամ թուլությունը, որ ի հայտ է գալիս միայն երբ հոսանքն իրականում ռեալիստիկ բաշխվում է rail-ի վրայով, կարող է սահել երկու ստուգումների միջով՝ երևալով լիովին առողջ։
Ինչու է BQM-ը որսում այն, ինչ SPR-ը և Reff-ը բաց են թողնում
SPR-ը հաշվետու է կետից լարման source միակ ամենակարճ ռեզիստիվ ուղին, իսկ Reff-ը հաշվետու է ամեն bump-ի ամեն ուղու parallel համակցությունը — բայց ոչ մեկն իրականում հոսանքը չի բաշխում այնպես, ինչպես իրական grid-ը կաներ. յուրաքանչյուրն ըստ էության մեկուսացված, իդեալականացված չափում է։ BQM-ը փոխարենը տեղադրում է շատ փոքր հոսանքի probe-եր հավասարաչափ ընտրված metal layer-ի երկայնքով (probe-ի հեռավորությունը և total հոսանքը, կամ հոսանք-per-micron-ը, երկուսն էլ configurable են) և run է անում իրական թեթև մոդելավորում, ուստի արդյունքային լարման heatmap-ն արտացոլում է իսկական հոսանքի բաշխումը grid-ի միջով այնպես, ինչպես կառուցված է։ Փաստաթղթերի սեփական օրինակը կոնկրետ է. երկար Metal1 rail, որը սնում է memory channel առանց upper-layer via կապի, BQM-ի ներքո ցույց տվեց ավելի քան 200mV drop, մինչ SPR-ը և Reff-ը երկուսն էլ հաշվետու էին, որ նույն rail-ը լավ է, քանի որ իրենց հաշված resistance-ի մեծ մասն արդեն կենտրոնացած էր Metal1-ում և ոչ մի մեթոդ իրականում հոսանք չէր մղում rail-ի միջով այնպես, ինչպես BQM-ն է անում։
Քանի որ BQM-ին անհրաժեշտ է միայն LEF/DEF և ընտրված check layer — ոչ ժամանակային, ոչ activity, ոչ vector — այն կարող է run արվել հենց որ հիմնական power grid-ը գոյություն ունենա, շատ ավելի վաղ, քան static կամ dynamic վերլուծությունը (վերևի Փուլ 1 և 2) ունենան իրենց անհրաժեշտ տվյալները։ Հարակից տեխնիկան՝ peakTW-ն, վիճակագրորեն համակցում է BQM-ի կառուցվածքային հոսանքի probe-երը localized միաժամանակյա-switching ժամանակային window-ի տվյալների հետ՝ որսալով grid-ի թուլությունները, որոնք ի հայտ են գալիս միայն համակցված կառուցվածքային-և-switching սթրեսի ներքո — ուղղակիորեն անդրադառնալով scale-ի խնդրին, որին լիարժեք dynamic մոդելավորումը հանդիպում է շատ մեծ design-երի վրա (փաստաթղթերը նշում են 10B+ extract արված geometry և 2B+ instance ունեցող design-երը որպես այն scale-ը, որտեղ սպառիչ dynamic coverage-ը դառնում է անիրագործելի)։
Որտեղ է սա տեղավորվում հոսքում
Այս ստուգումները static կամ dynamic վերլուծության փոխարինում չեն — դրանք էժան, վաղ, կառուցվածքային լրացում են դրանց։ Shorts և disconnect ստուգումները run են արվում default-ով որպես extraction-ի մաս։ SPR, Reff, BQM և missing-via ստուգումները opt-in են, բայց էժան լիարժեք վերլուծության run-ի համեմատ, և հենց դրանք են սնուցում թեթև «chip-only PDN quality check»-ը, որ նշված է Բազմաբյուրեղիկ / Multi-Chip վերլուծություն-ի ներքո՝ bump-ի և grid-ի density-ն sanity-check անելու համար՝ նախքան լիարժեք բազմաբյուրեղիկ EMIR run-ին անցնելը։
Dynamic վերլուծություն
Dynamic լարման drop (DVD) վերլուծությունը մոդելավորում է PDN-ի ակնթարթային, ժամանակի մեջ փոփոխվող արձագանքը իրական կամ սինթեզված switching event-երին — որսալով localized միաժամանակյա-switching noise-ը և di/dt-ով պայմանավորված drop-ը, որ static (միջին-հոսանք) վերլուծությունը պարզապես չի կարող տեսնել, քանի որ այն պահանջում է PG mesh-ի լիարժեք անցումային (RLC) մոդելավորում, drive արված ամեն instance-ի power pin-երի վրա time-stamped հոսանքի source-երով։
Dynamic վերլուծությունն ունի երկու հայեցակարգային փուլ — որոշել, թե որ pin-երն են switch անում և երբ, ապա փոխակերպել այդ event-երը հոսանքի waveform-ների — որին հաջորդում է PDN-ի լիարժեք անցումային RLC solve՝ ստացված հոսանքի pulse-երի դեմ։
Ենթա-տեխնիկաներ և տարբերակներ
| Տեխնիկա | Ինչ է սա | Երբ է կիրառվում |
|---|---|---|
| Vector-based (VCD/FSDB) | Դետերմինիստիկ activity RTL կամ gate-level մոդելավորման dump-երից. gate VCD-ն կարող է լինել zero/unit-հապաղում կամ SDF հապաղում-annotated («true-time»). RTL FSDB-ն cycle-based է և սովորաբար ծածկում է միայն register pin-երը՝ պահանջելով propagation combinational logic-ի միջով | Ամենամոտն է իրական silicon-ի վարքագծին, բայց vector-ները հաճախ վաղ հասանելի չեն և թանկ են գեներացնելու. functional test-երը կարող են worst-case switching-ը չկիրառել |
| Vectorless — No Propagation (NPV) | Ուղղակիորեն վերագրում է per-instance, per-time-frame switching՝ առանց logic propagation-ի. չափազանց արագ/scalable (նշված. 48M instance, 6 տակտային ազդանշանի cycle, 30 րոպե, ~4GB peak memory). սերտորեն համընկնում է target էներգասպառում/toggle rate-ի հետ (~5%) | Խորհուրդ է տրվում full-chip run-երի համար |
| Vectorless — Power-Constrained Scenario (PCVS) | Propagate է անում տրամաբանորեն համահունչ event-երը flop/macro output-ներից combinational logic-ի միջով՝ միաժամանակ բավարարելով target էներգասպառումը ICG gating-ի և flop toggle-rate-ի ճշգրտման միջոցով. ~2.5× plain logic propagation-ի runtime/memory-ն | Խորհուրդ է տրվում block-level signoff-ի համար |
| Macro switching-mode control | Բացահայտ mode_sequence / mode_probabilities կարգավորումներ, drive արված հոսանքի signature source-երով (custom macro model, sim2iprof-ից ստացված APL, AVM, կամ liberty CCSP/NLPM աղյուսակներ), գումարած implicit high-energy / low-energy / արտահոսք-only / off mode-եր | Կանխում է macro/IP էներգասպառման անվերահսկելի փոփոխությունը scenario-ների միջև |
| Vectorless scan-mode | Կարդում է JSON scan-chain constraint file (chain order, pattern, start_shift, scan տակտային ազդանշան) և դետերմինիստիկ կերպով ստանում shift-cycle activity, ներառյալ synchronizer-flop-ի մշակումը | DFT/scan-shift-ը առաջացնում է զանգվածային միաժամանակյա flop switching, բայց gate-level scan VCD-ն սովորաբար հասանելի է միայն շատ ուշ |
| Long-vector profiling / windowing | Թեթև interval-based էներգասպառում՝ հաշված ամբողջ երկար vector-ի վրայով, ապա sliding-window որոնումը գտնում է highest-average-էներգասպառում կամ highest-di/dt N-cycle window-ը մանրամասն անցումային signoff-ի համար | µs-scale, 100k+ cycle vector-ների լրիվ երկարությամբ անցումային մոդելավորումը հաշվողականորեն անիրագործելի է |
Հաշվետու հիմնական metric-ները
| Metric | Սահմանում |
|---|---|
| minTW | Pessimistic նվազագույն լարում STA ժամանակային window-ի ներսում |
| avgTW | Ամենավատ sliding-window միջինը ժամանակային window-ի ներսում (switching-տևողության window սահեցված ժամանակային window-ի վրայով, վերցված ամենավատ միջինը) |
| minWC | Ամենավատ լարումը ողջ տակտային ազդանշանի cycle-ի ընթացքում — կարող է ընկնել ժամանակային window-ից դուրս. երեքից ամենաoptimistic-ը |
| Effective DVD | Միջին VDD–VSS լարումը իրական հոսանքի stamping/switching window-ի ընթացքում (rise / fall / in-only տարբերակներ) |
Նույն dynamic scenario-ի վրա run արված EM signoff-ը արտադրում է RMS և Peak EM report-ներ metal-ի և via-ների համար, իսկ Switching Coverage Report-ը (per բջիջ-type, per frame) հետևում է, թե design-ի որքան մասն իրականում toggle արեց vectorless run-ի ընթացքում — կարևոր confidence metric՝ լարման թվերի կողքին։
Լավագույն պրակտիկա և թակարդներ
Երկար scenario տևողությունները և մեծ partition արված block-երը լարում են Logic Propagation-ի runtime-ն ու memory-ն, ինչի պատճառով NPV-ն նախընտրելի է full-chip, իսկ PCVS/Logic Propagation-ը block-level-ում։ PCVS-ի target էներգասպառումը պետք է լինի ռեալիստիկ — չափազանց մոտ all-off (արտահոսք) հատակին կամ all-on առաստաղին այն դարձնում է անհասանելի՝ առանց activity-ն աղավաղելու։ Macro-ի default վարքագիծը (switching միայն ըստ input-pin logic state-ի) էներգասպառման գնահատականի variance-ի տարածված աղբյուր է scenario-ների միջև, եթե բացահայտ mode control չկիրառվի։ VCD-based NPV-ի համար VCD-ի և տակտային ազդանշանի period edge-երի միջև start-time-ի անհամապատասխանությունը հայտնի սահմանափակում է, որը կարող է աղավաղել ժամանակային window-ի լարման վիճակագրությունը, եթե չուղղվի։ Լիարժեք instance-level լարման/հոսանքի waveform-ներ պահելը հաշվողականորեն և disk-ի առումով թանկ է և պետք է վերապահվի debug-ի համար, ոչ լիարժեք signoff run-երի։
Power EM
Power EM-ը ստուգում է power delivery network-ի հենց հոսանք կրող wire-երն ու via-ները — VDD/VSS երթուղավորումը — electromigration ռիսկի համար։ Electromigration-ը metal ion-ների ֆիզիկական տեղափոխումն է, որն առաջանում է հոսող electron-ներից metal lattice-ին momentum-ի փոխանցումից. ժամանակի ընթացքում սա առաջացնում է void-եր (open-եր՝ cathode ծայրում ion-ի սպառումից) կամ hillock-եր (short-եր հարևան wire-երի հետ՝ anode ծայրում ion-ի կուտակումից)։ Power հանգույցները գործնականում ամենաբարձր-ռիսկի EM թեկնածուներն են, քանի որ հոսանքը հոսում է հիմնականում միակողմանի, DC-նման ուղղությամբ սնուցման pad-երից ներքև՝ դեպի ստանդարտ բջիջները — չկա reverse-հոսանք «self-healing» այնպես, ինչպես switching signal հանգույցի վրա։
Electromigration power-հանգույց wire-ում. electron-ի հոսքը («electron wind») մղում է metal ion-ները ներքև՝ սպառելով cathode ծայրը (void / վերջնական open) և կուտակելով ion-ները anode ծայրում (hillock / վերջնական short)։ Black-ի հավասարումը median time to failure-ը (MTTF) կապում է current density J-ի և temperature T-ի հետ։
Ինչպես է աշխատում
Power EM-ը ինքնուրույն մոդելավորում չէ — այն սպառում է static կամ dynamic լարման drop վերլուծության կողմից արդեն հաշված հոսանքները։ Static վերլուծության մեջ EM ստուգումն օգտագործում է իրական միջին (DC) current density wire-երի համար և հոսանք-per-cut (կամ per-area) via-ների համար։ Dynamic վերլուծության մեջ կարելի է ստուգել երեք հոսանքի metric. average/DC, RMS, կամ peak։ DC/average հոսանքը համեմատվում է Black-ի հավասարումից ստացված foundry limit-ների հետ, որոնք foundry-ները օգտագործում են՝ target lifetime-ի համար առավելագույն թույլատրելի current density-ն հետ-հաշվելու։ RMS հոսանքի ստուգումները պաշտպանում են Joule (self-)heating-ից — I²R heating-ը բարձրացնում է wire-ի localized temperature-ը, ինչն արագացնում է EM-ի հիմքում ընկած ion-diffusion գործընթացը — և այս ստուգումը կարելի է back-annotate անել իրական thermal-solve temperature-ներով, ոչ թե ենթադրյալ հարթ ambient-ով։ Peak հոսանքի ստուգումները պաշտպանում են ակնթարթային հոսանքի spike-երից localized հալվելուց. foundry-ները սովորաբար հստակ չեն սահմանում duty-cycle-based peak limit-եր power/ground հանգույցների համար, ուստի գործիքները սովորաբար conservatively հետ են գնում տվյալ layer-ի համար սահմանված ամենափոքր peak limit-ին։
Input-ներ
| Input | Նպատակ |
|---|---|
| Static or dynamic AnalysisView | Մատակարարում է հոսանքի տվյալները, որոնց վրա հիմնված է EM ստուգումը |
| Technology / EM-limit file | Per-layer limit-ներ, կամ polynomial-based EM հավասարումներ՝ որպես wire width-ի, connected length-ի, և (via-ների համար) size/direction/cut configuration-ի ֆունկցիա |
| EM rule sets | EM limit-ների անվանված խմբավորումներ, որ կարելի է switch անել ըստ վերլուծության |
Output-ներ
EM heatmap-ներ metal/via հոսանքի և violation percentage-ի համար. violation browser, որ թվարկում է ամենավատ խախտողներին (սովորաբար սահմանափակված մեծ թվով, օրինակ՝ թոփ 1000)՝ «sliver» flag սյունակով. տեքստային report-ներ ամեն metal segment-ի և via-ի համար (layer, coordinates, length, width, հոսանք, EM constraint, violation %, status, հանգույց, հոսանքի direction). և ընտրովի Failure-in-Time (FIT) հաշվարկ, որ հաշվետու է aging/failure-rate metric՝ target lifetime-ի դեմ (տարածված default-ը 5 տարի է)։
Լավագույն պրակտիկա և թակարդներ
Sliver-ի մշակումը կրկնվող հատուկ դեպք է. արհեստական, sub-minimum-width shape-երը, ստեղծված LEF/DEF geometry-ի merge/fracture գործողությունների ընթացքում, իրական wire-եր չեն, բայց հայտնվում են extraction/EM հոսքերում։ Դրանք կարելի է filter անել, բայց չպետք է համատարած ճնշվեն — offset-connected sliver-երը կարող են ներկայացնել իսկական violation-ներ, ուստի դրանք պետք է spot-verify արվեն, ոչ թե անտեսվեն մեծածավալ։
Signal EM
Signal EM-ը ստուգում է electromigration ռիսկը logic և տակտային ազդանշանի interconnect-ի վրա, ոչ թե power/ground rail-ների։ Power EM-ից հիմնական տարբերությունը հոսանքի waveform-ն է. signal-հանգույց հոսանքը dynamic է և հաճախ երկկողմանի — driver-ը մեկ edge-ին charge է անում հանգույցը և մյուսին՝ discharge — մինչդեռ power-rail հոսանքը ըստ էության միակողմանի է։ Քանի որ reverse-ուղղության հոսանքը մասամբ «heal» է անում նախորդ ion-ի տեղաշարժը, signal հանգույցների RMS/AC EM limit-ները սովորաբար ավելի բարձր են, քան համարժեք power հանգույցի DC limit-ները — թեև տակտային ազդանշանի հանգույցները մնում են զգալի ռիսկ ինքնին՝ շնորհիվ շատ բարձր switching activity-ի և minimum-pitch երթուղավորման։
Power-հանգույց հոսանքը ըստ էության միակողմանի է (DC-նման), մինչ signal-հանգույց հոսանքը հերթափոխվում է հանգույցի charge-ի և discharge-ի միջև։ recovery factor r-ը որսում է, թե որքանով է reverse-ուղղության հոսանքը փոխհատուցում («heal» անում) forward-ուղղության EM սթրեսը՝ signoff-ի համար օգտագործվող միջին հոսանքը հաշվելիս։
Ինչպես է աշխատում
IR-drop հոսանքները վերաօգտագործելու փոխարեն՝ signal EM հոսանքը կառուցվում է ժամանակային library-ի driver-հոսանք և receiver-capacitance model-երից (RedHawk-SC-ն օգտագործում է CCS-Timing / CCST տվյալներ, նկարագրված որպես այս նպատակի համար հասանելի ամենաճշգրիտ մեթոդ)։ Երկկողմանի միջին հոսանքը մշակվում է վերևի recovery-factor բանաձևով — r = 0 նշանակում է ոչ recovery credit (օգտագործվում է charge/discharge-ի ամենավատը), r = 1 նշանակում է լրիվ recovery credit, r = −1 գումարում է charge-ը և discharge-ը (ամենաconservative-ը և փաստաթղթավորված default-ը)։ RMS ստուգումներն օգտագործում են self-heat temperature tolerance գումարած foundry-ից մատակարարվող relaxation factor, Power EM-ին անալոգ։ Peak ստուգումները duty-cycle-ից տեղյակ են — minimum duty ratio-ն և maximum pulse width-ը հաշվվում են ուղղակիորեն իրական switching waveform-ից, ի տարբերություն power/ground հանգույցների, որտեղ duty cycle-ը վատ է սահմանված։
Input-ներ
| Input | Նպատակ |
|---|---|
| Routed DEF հանգույցների ցանկ | Ստուգվող signal հանգույցների ֆիզիկական երթուղավորում |
| Signal parasitics (SPEF/DSPF) | Ամեն հանգույցի RC՝ հոսանքի հաշվարկի համար |
| Ժամանակային / SDC / STA տվյալներ | Load, input transition, driving-բջիջ տեղեկություն |
| Toggle-rate data (VCD/SAIF) | Switching activity ըստ հանգույցի |
| Liberty library with CCS-Timing data | Driver հոսանքի և receiver capacitance-ի characterization |
Output-ներ
Նույն heatmap/violation-browser մեխանիզմը, ինչ Power EM-ը, գումարած signal-հատուկ report-ներ. Dropped Nets Report, որ թվարկում է վերլուծությունից ամբողջովին բացառված հանգույցները (constant հանգույցներ, multi-driver conflict-ներ, բացակայող driver/receiver, անջատված receiver-ներ, բացակայող capacitor տվյալներ, driver-receiver short-եր), Dirty Nets Report, որ թվարկում է tool-default արժեքներով վերլուծված հանգույցները թերի տվյալների պատճառով (բացակայող հաճախություն, slew, driver լարում, SPEF capacitance, կամ անհամապատասխան multi-driver հաճախություն/waveform տվյալներ), և Signal Net Info Report, որ գրանցում է per-հանգույց լարում, հաճախություն, toggle rate, slew, capacitance և domain։
Հատուկ դեպք. տակտային ազդանշանի mesh / multi-driver հանգույցներ
Տակտային ազդանշանի mesh-երը — short արված grid-եր, drive արված շատ buffer-ներով skew-ը նվազեցնելու համար — signal EM-ի համար յուրահատուկ մարտահրավեր են։ Default ենթադրությունը հավասարաչափ բաժանում է load-ը mesh driver-ների միջև և, arrival-time տվյալների բացակայությամբ, միանգամից fire է անում բոլոր driver-ները — ընդունելի վաղ վերլուծության համար, բայց ոչ signoff-ճշգրիտ։ Signoff-ի համար driver հոսանքները փոխարենը կարելի է մատակարարել SPICE-ից ստացված waveform file-երից, ընդ որում տվյալ multi-driven հանգույցի ամեն driver-ին անհրաժեշտ է լիարժեք waveform coverage, այլապես հանգույցը հետ է գնում default (ավելի քիչ ճշգրիտ) մեթոդին։
Լավագույն պրակտիկա և թակարդներ
Բացակայող CCS-Timing տվյալները նվազեցնում են ճշգրտությունը և պետք է ստուգվեն run log-ում՝ նախքան արդյունքներին վստահելը, ինչպես նաև dropped/dirty հանգույցների քանակը։ recheck մեխանիզմը կարող է ավտոմատ կերպով վերաքննել գրեթե-violating segment-երը ավելի նուրբ geometric վերլուծությամբ՝ false positive-ները նվազեցնելու համար (նշված տարածված threshold-ը limit-ի մոտ 85%-ն է)։ Ընդհանուր debug հաջորդականությունը. հաստատել, որ հանգույցը dirty կամ dropped չէ, ստուգել activity/հաճախություն/SDC input-ները, ապա ստուգել recovery factor-ը և thermal/lifetime factor-ները average violation-ների համար, self-heat պարամետրերը RMS-ի համար, և duty-ratio/pulse-width տվյալները peak violation-ների համար։
Dynamic վերլուծություն Package-ի վերլուծությամբ
Chip-level dynamic վերլուծությունը սովորաբար ավարտում է PDN-ը C4 bump-երի կամ BGA ball-երի մոտ իդեալականացված լարման source-ով — բայց բյուրեղիկն իրականում իդեալական լարում չի տեսնում. այն տեսնում է այն, ինչ package-ը և board-ը մատակարարում են՝ ֆիլտրված իրենց սեփական parasitic impedance-ի միջով։ Package-ը (bond wire-եր, BGA ball-եր, redistribution layer-ներ, via-ներ) և board-ը (plane-եր, trace-եր, VRM output impedance) յուրաքանչյուրն ներդնում են resistance, inductance և capacitance, որոնք, զուգակցված բյուրեղիկի վրայի decoupling capacitance-ի հետ, կազմում են multi-stage RLC սանդուղք։ Այս բաղադրյալ ցանցը դրսևորում է impedance peak-եր — anti-resonance-ներ — և եթե չիպի switching activity-ն ունի spectral բովանդակություն այդ ռեզոնանսային հաճախություններից մեկի մոտ, ստացված լարման droop-ը կարող է շատ ավելի վատ լինել, քան միայն-բյուրեղիկ մոդելավորումը երբևէ կկանխատեսեր, քանի որ բյուրեղիկի տեսած source impedance-ը այդ հաճախության վրա ուժեղանում է, ոչ թե մարվում։ Ահա թե ինչու արդյունաբերությունը դա ձևակերպում է որպես chip-package-system (CPS) խնդիր. բյուրեղիկի վրայի decap-ը, package decap-ը և board/bulk decap-ը յուրաքանչյուրն ծածկում է տարբեր հաճախության band, և միայն զուգակցված վերլուծությունը կարող է ստուգել, որ ծածկույթը շարունակական է՝ առանց resonance gap-ի։
L-ը տվյալ decoupling stage-ի (բյուրեղիկի վրա, package, կամ board) ագրեգացված loop inductance-ն է, C-ն այդ stage-ում հասանելի capacitance-ն է։ fres-ի մոտ spectral էներգիա ունեցող switching activity-ն գրգռում է PDN-ի impedance peak, առաջացնելով ավելի վատ droop, քան flat-impedance ենթադրությունը կհուշեր։
Բյուրեղիկի վրայի, package և board decoupling-ը յուրաքանչյուրն գերիշխում է տարբեր հաճախության band-ում։ Միայն-բյուրեղիկ մոդելավորումը (կետագիծ) ենթադրում է իդեալական source և բաց է թողնում impedance peak-ը, որ հայտնվում է, հենց package-ի և board-ի parasitic-ները ներառվեն (հոծ գիծ) — հենց այն gap-ը, որ այս վերլուծությունը նախատեսված է որսալու։
Ինչպես է աշխատում
Բյուրեղիկի, package-ի և board-ի վրայով մեկ միաձուլված էլեկտրամագնիսական mesh-ը լիարժեք համատեղ մոդելավորելու փոխարեն՝ տարածված մոտեցումը մոդելավորման պահին բյուրեղիկի վրա extract արված PDN հանգույցների ցանկին կցում է off-chip network model՝ ճշգրտության երեք աճող մակարդակներից մեկով.
| Model-ի տեսակ | Նկարագրություն |
|---|---|
| Simple lumped RLC | Մեկ R/L/C ամեն լարման domain-ի համար (կամ ամեն bump-ի). օգտագործվում է, երբ extract արված package տվյալ չկա |
| Distributed RLCK SPICE subcircuit | Լիարժեք extract արված package հանգույցների ցանկ (R, L, C, K mutual inductance, controlled source-եր), որ միացնում է PCB-կողմի իդեալական լարման source-երը package parasitic-ների միջով per-bump բյուրեղիկի port-երին |
| S-parameter (Touchstone) black-box model | Multi-GHz-ճշգրիտ հաճախության domain-ի package/PCB վարքագիծ full-wave EM solver-ից, instantiate արված որպես N-port device — սովորաբար differential port connection-ով (ամեն port սահմանված սնուցման node զույգի և ground node զույգի միջև)՝ ոչ թե shared global-ground reference-ով |
Բյուրեղիկի կողմի connection-ը հաստատվում է bump/pad location mapping file-ի միջոցով, որը ֆիզիկական bump անունները կապում է package SPICE port-երին։ Լարման մակարդակները միշտ վերցվում են բյուրեղիկի scenario-ի սահմանումից, ոչ package հանգույցների ցանկից, ուստի package-կողմի source լարումները նորմալացվում են այդ իդեալական լարման նկատմամբ։ Pre-մոդելավորման time-ը սովորաբար ավտոմատ որոշվում է, որպեսզի անցումային պրոցեսը չսկսվի, նախքան package model-ի կիրառումից parasitic ringing-ը հանդարտվի։
Հատուկ դեպքեր
HBM stack-եր և բազմաբյուրեղիկ package-ներ. լիարժեք 3D-stacked HBM-ն ունի միլիոնավոր interconnect bump-եր, ուստի per-bump connection-ը անիրագործելի է։ Փոխարենը, ամեն HBM chiplet reduce է արվում Chip Power Model-ի (CPM) — բյուրեղիկի PDN-ի կոմպակտ SPICE model, գումարած իր հոսանքները, port-երը խմբավորված մինչև կառավարելի քանակ։ Model-based հոսքում HBM բյուրեղիկները ներկայացվում են զուտ իրենց CPM-ներով, մինչ logic բյուրեղիկը և interposer-ը պահպանում են լիարժեք detailed-տոպոլոգիա IR մոդելավորում՝ արտադրելով զուգակցված IR-drop և EM արդյունքներ ողջ stack-ի վրայով։
Wide-bus միաժամանակյա switching (SSO). հատուկ utility-ն parse է անում RTL-to-gate bit-mapping file (formal ստուգման գործիքներից)՝ ավտոմատ հայտնաբերելու լայն parallel bus-երը — DDR/HBM-width data bus-եր — որոշելու ամեն bus-ի տակտային տիրույթը, և սինթեզելու worst-case stimulus՝ ամեն bit-ը միասին toggle անելով user-specified probability-ով և տակտային ազդանշանի period-ով։ Սա ուղղակիորեն թիրախավորում է SSO noise-ը. շատ I/O driver-ների միաժամանակյա switching-ը shared package/board inductance-ի միջով ստեղծում է մեծ ակնթարթային di/dt՝ առաջացնելով ground bounce կամ power-rail droop, բավական խիստ, որ DDR-class interface-ների վրա ժամանակային failure-ներ առաջացնի։
Լավագույն պրակտիկա և թակարդներ
Port-count-ի կառավարումը շատ կարևոր է. մի քանի հարյուրից մինչև մի քանի հազար package port-ը խորհուրդ տրվող միջակայքն է — մոտավորապես տասը հազար port-ից ավելի, dynamic լարման drop արդյունքների ճշգրտության բարելավումը դառնում է աննշան, մինչ runtime-ը տուժում է, ուստի package extraction-ի ընթացքում port grouping-ը խորհուրդ է տրվում։ S-parameter model-երը մասնավորապես ընդհանուր առմամբ պետք է մնան մոտ 100 port-ից ցածր (գործնական sweet spot-ը մոտ 50–60-ի շուրջ)։ Անհամապատասխան կամ բացակայող package subcircuit-ի անունը կարող է լուռ բացառել package model-ը մոդելավորումից՝ run-ը բացահայտ ձախողելու փոխարեն, ուստի սա արժե կրկնակի ստուգել։
Sigma-AV / Sigma-DVD վերլուծություն
Sigma-DVD-ն վիճակագրական/կոմբինատոր այլընտրանք է անցումային vector-based dynamic IR-drop մոդելավորմանը, ուղղված ուղիղ դեպի այն failure mode-ը, որ տանջում է ավանդական անցումային վերլուծությունը. localized switching-noise-ի coverage։ Անցումային մոդելավորումը — vectorless կամ vector-based — կարող է կիրառել միայն վերջավոր, փոքր քանակի տակտային ազդանշանի cycle, մինչդեռ victim բջիջի հարևան «aggressor» բջիջների միջև հստակ միաժամանակյա-switching-ի կոմբինացիաների քանակը կոմբինատոր է։ Այս ձևով լիարժեք coverage-ի հասնելը կպահանջեր անիրագործելի քանակի տակտային ազդանշանի cycle — գործնականում անհնարին ցանկացած իրական design-ի համար։ Անցումային արդյունքները նաև սուր զգայուն են ժամանակային alignment noise-ի և մոդելավորման time-step-ի չափի հանդեպ, որոնցից երկուսն էլ կարող են reported drop-ը տեղաշարժել տասնյակ տոկոսներով այլապես նման run-երի միջև։
Նույնիսկ համեստ 9 aggressor բջիջ մեկ victim-ի շուրջ տալիս է 512 հստակ switching կոմբինացիա — և իրական victim բջիջը կարող է ունենալ 9-ից շատ ավելի հարևան։ Այս կոմբինատոր տարածությունը սպառիչ կերպով transient vector-ներով մոդելավորելն անիրագործելի է. վիճակագրական sampling-ը գործնական այլընտրանքն է։
Ձախ. aggressor-ի կոմբինացիաների տարածությունն աճում է որպես 2ⁿ՝ արագ գերազանցելով այն, ինչ անցումային մոդելավորումը կարող է սպառիչ ծածկել։ Աջ. Sigma-DVD-ն նեղացնում է տարածությունը ամեն victim-ի համար՝ օգտագործելով ժամանակային window-ի overlap և logic-correlation ֆիլտրեր՝ նախքան մնացած կոմբինացիաները վիճակագրորեն sample անելը։
Ինչ է նշանակում ամեն անուն
| Անուն | Ինչ է սա |
|---|---|
| Sigma-DVD | Վիճակագրական localized-noise coverage. հաշվում է ամեն aggressor-ի «լարման impact»-ը ամեն victim-ի վրա ընդարձակ pairwise characterization-ի միջոցով, ֆիլտրում է aggressor-ները ըստ ժամանակային window-ի overlap-ի և logic/correlation սահմանափակումների, ապա վիճակագրորեն sample է անում մնացած կոմբինացիաների տարածությունը |
| Sigma-AV | Միաձուլում է Sigma-DVD-ի ամբողջական localized-noise coverage-ը գոյություն ունեցող անցումային AnalysisView-ի մեջ՝ զուգակցելով գերազանց localized coverage-ը regional/package-level համատեքստի հետ, որ միայն-localized վերլուծությունն ինքնուրույն չի կարող տեսնել |
| Sigma-PD | Տեղաբաշխման-օպտիմալացման feedback loop, կառուցված Sigma-DVD-ի aggressor տվյալների վրա. վիճակագրորեն բացահայտում է, թե որ բջիջ type-երը/instance-ներն են առաջացնում ամենաշատ drop վնասը, և output է անում տեղաբաշխման-spacing առաջարկություններ՝ failure-ները աղբյուրում նվազեցնելու համար |
Ինչպես է աշխատում
Հիմնարար միավորը լարման impact-ն է. drop-ը, որ կոնկրետ aggressor instance-ն առաջացնում է կոնկրետ victim-ի վրա, հաշված ընդարձակ pairwise մոդելավորման միջոցով — ըստ էության superposition/impedance characterization, հայեցակարգորեն նման library characterization-ին։ Ամեն victim-ի aggressor-ների ամբողջությունն այնուհետև ֆիլտրվում է ժամանակային window-ներով (արդյոք aggressor-ի legal switching window-ը համընկնում է victim-ի՞նի հետ) և logic/correlation սահմանափակումներով (բջիջները, որ պետք է միասին switch անեն — օրինակ՝ buffer chain-եր, correlated bus bit-եր — խմբավորվում են, որպեսզի ֆիզիկապես անհնարին կոմբինացիաները բացառվեն), և մնացած կոմբինացիաները sample են արվում վիճակագրորեն, ոչ թե սպառիչ թվարկվում, configurable joint-probability cutoff-ով, որը վերահսկում է, թե որքան agressively են կոմբինացիաներն ընդունվում։ Reported drop-ը սովորաբար victim-ի սեփական switching window-ի ընթացքում միջին լարման drop-ն է — այն ժամանակահատվածը, երբ իր output-ը transitioning է — քանի որ սա ավելի լավ է corelate անում իրական gate-հապաղում pushout-ի հետ, քան raw peak կամ minimum լարման metric-ը։ Այսպիսի localized switching noise-ը գնահատվում է, որ կազմում է տիպիկ instance-ի total լարման drop-ի մոտ 80%-ը, ինչի պատճառով հենց այս մասի coverage-ն այդքան կարևոր է։
Սա արտացոլում է static ժամանակային վերլուծության մեջ արդեն լավ հաստատված ավելի լայն տեղաշարժ. flat worst-case corner մեթոդաբանությունը (ենթադրելով, որ հազվադեպ պայմանները առաջանում են միաժամանակ ամենուր) վաղուց ճանաչված է որպես չափազանց pessimistic, և արդյունաբերության ընդհանուր պատասխանը եղել է վիճակագրական/parametric on-chip variation-ը — ամեն մեծություն մոդելավորելով որպես probability distribution և signoff անելով սահմանված sigma կետում (սովորաբար 3σ)՝ ոչ թե բացարձակ worst case-ում։ power integrity-ի համար Sigma technology-ն հետևում է նույն փիլիսոփայությանը, կիրառված լարման drop-ի, ոչ թե ժամանակային վերլուծության վրա։
Input-ներ և output-ներ
Input-ներ
TimingView (STA/SDC ժամանակային window-ներ), ExtractView (signal-հանգույց parasitic-ներ), մոդելավորման/PG-grid view. ընտրովի՝ non-uniform toggle-rate տվյալներ կամ flat default switching factor. Sigma-AV-ի համար՝ գոյություն ունեցող անցումային AnalysisView գումարած նույն TimingView-ի վրա կառուցված լարման-impact view։
Output-ներ
Per-instance վիճակագրական drop metric-ներ (switching-window-based drop, minimum լարում ժամանակային window-ի ներսում/դրսում, background/regional-only drop). ranked victim/aggressor report-ներ violation count-երով և «max improvement, եթե այս aggressor-ը հեռացվեր» metric-ներով. Sigma-PD-ի համար՝ ranked բջիջ ցուցակներ առաջարկվող spacing group-երով և հեռավորություններով։
Լավագույն պրակտիկա և թակարդներ
Non-functional scan/test տակտային ազդանշանները պետք է ֆիլտրվեն ժամանակային window-ներից նախքան run անելը, այլապես դրանք գեներացնում են մեծ քանակի կեղծ aggressor-ներ։ PDN grid-ի որակը պետք է ստուգվի նախքան aggressor-driven failure-ներին վստահելը — grid, որ չի կարող նույնիսկ victim-ի սեփական self-switching հոսանքը support անել, արդյունքները կհեղեղի անկապ failure-ներով։ Նորմալ է, ոչ թե թերություն, որ լավ run արված sigma վերլուծությունը հաշվետու լինի ավելի շատ failure, քան համարժեք անցումային run-ը — հենց դա է սպառիչ coverage ունենալու իմաստը՝ մի քանի sample արված scenario-ի փոխարեն։
ROM վերլուծություն
Այս համատեքստում «ROM» նշանակում է Reduced Order Model, ոչ թե read-only memory։ Ժամանակակից SoC-երի վրա full-chip EMIR signoff-ը խցանվում է հենց scale-ով. հարյուրավոր սնման տիրույթներ և միլիարդավոր device/node/resistor-ներ սովորական են, և full-chip run-երը կարող են պահանջել հազարավոր CPU core, terabyte-ներ memory և մեկից երեք օր ավարտելու համար — թանկ re-run-ով, եթե որևէ բան ձախողվի։ Ավանդական divide-and-conquer partition-ը (չիպը կամայական region-ների բաժանելը) նույնպես սա մաքուր չի լուծում. այն առաջացնում է համակարգված անճշտություններ, false violation-ներ partition-ի սահմաններին, և ցավոտ results-consolidation, և սովորաբար support է անում միայն static ստուգումներ կամ մի քանի transient cycle՝ լիարժեք coverage-ի փոխարեն։
ROM-ը փոխարենը շահագործում է մեծ SoC-երի մասին մի կառուցվածքային փաստ. նույն block-ը (macro/IP) հաճախ instantiate է արվում շատ անգամ։ Ամեն instance-ի ամբողջ ներքին PDN մանրամասնը top level-ում վերասիմուլացնելու փոխարեն՝ ROM-ը գեներացնում է մեկ կոմպակտ աբստրակտ model ամեն յունիկ block-ի համար և վերաօգտագործում այն այդ block-ի ամեն instance-ի վրայով — կտրուկ կրճատելով compute-ը, մինչ նպատակ ունի պահպանել signoff-level ճշգրտություն block-ի սահմանին։
ROM-ը պահպանում է լիարժեք մանրամասնությունը մինչև block-ի connection layer-ից երկու metal layer ներքև, ապա rolls up է անում ամեն ինչ դրանից ներքև՝ կոմպակտ համարժեք model-ի մեջ — գեներացված մեկ անգամ ամեն յունիկ block-ի համար և վերաօգտագործված նրա ամեն instance-ի վրայով, ընտրովի խառնված լիովին «detailed» instance-ների հետ, որտեղ ճշգրտությունն ամենակարևորն է։
Ինչպես է աշխատում
Հոսքը bottom-up է և երկփուլ։ Առաջին, ROM generation-ը run է արվում block level-ում՝ վերցնելով block-ի մոդելավորման, scenario և analysis տվյալները և արտադրելով դրա էլեկտրական վարքագծի կոմպակտ աբստրակցիա իր սահմանին։ Երկրորդ, full-chip level-ում գեներացված block ROM(-ներ)-ը load են արվում և design-ի ամեն instance-ը նշվում է կա՛մ «reduced» (օգտագործում է ROM-ը), կա՛մ «detailed» (լիարժեք ստանդարտ-բջիջ/տոպոլոգիա-level model) — mixed use-ը բացահայտ է և խրախուսվող, օրինակ՝ մի քանի high-risk instance detailed պահելը, մինչ մնացածը reduce անելը։
Հիմնական աբստրակցիայի մեխանիզմը layer-based rollup-ն է block-ի սահմանին. «connection layer»-ը նշվում է որպես այն metal layer, որտեղ block-ը ֆիզիկապես interface է անում top-level grid-ի հետ, մանրամասնությունը պահպանվում է մինչև այդ connection layer-ից երկու layer ներքև, և ամեն ինչ ներքևում lump է արվում համարժեք կոմպակտ ներկայացման մեջ — հայեցակարգորեն համեմատելի արդյունաբերական ստանդարտ RLC macromodeling տեխնիկաների հետ (Krylov-subspace moment-matching մեթոդները ընդհանուր ակադեմիական հղման կետն են), թեև ներքին reduction ալգորիթմն ինքնին հրապարակորեն բացահայտված չէ։ Connection layer ընտրելը, որը չի համապատասխանում այնտեղ, որտեղ block-ն իրականում interface է անում top grid-ի հետ, տալիս է անճշգրիտ rollup արդյունքներ։
Բազմաթիվ workload scenario-ներ (հոսանքի profile-ներ) կարելի է characterize անել և պահել մեկ block ROM-ում, ապա ընտրել per-instance top level-ում — chain արված ժամանակի կարգով, խառնված վիճակագրորեն, կամ time-shifted — այնպես որ նույն block-ի շատ instance-ներ կարող են ռեալիստիկ կերպով մոդելավորել տարբեր switching վարքագիծ՝ առանց հենց block-ը վերասիմուլացնելու։ Երկու կառավարիչ փոխանակում են ճշգրտությունը ընդդեմ ծախսի. detail level (low/medium/high), որ կարգավորում է աբստրակցիայի ճշգրտությունը, և compression setting, որ փոխանակում է disk footprint-ը ընդդեմ runtime-ի պահված model file-երի համար։ Նույն reduction-ը տարածվում է signal EM-ի վրա. block-ի ներքին signal հանգույցները վերավերլուծելու փոխարեն (արդեն signoff արված block level-ում)՝ block-level run-ը արխիվացնում է միայն իր boundary հանգույցների տվյալները, և full-chip run-ը վերլուծում է միայն top-level հանգույցները գումարած այդ interface հանգույցները։
Վալիդացիա նախքան ROM-ին signoff-ում վստահելը
Sanity check-երը համեմատում են ROM-ի decap վիճակագրությունը և total demand հոսանքները սկզբնական block-level վերլուծության հետ (ըստ էության diff ROM տվյալների և ground-truth analysis view-ի միջև) և հաշվետու են ֆիզիկապես կամ տրամաբանորեն անջատված ցանկացած pin-ի մասին։ Հոսանքի և decap-ի մանրամասնությունը, և տվյալ ROM-ի մեջ baked կարգավորումները (connection layer, rollup layer, skipped layer-ներ, accuracy level), բոլորը կարելի է inspect անել՝ նախքան այն full-chip signoff-ի համար վստահելը։
Flat ընդդեմ ROM. իրական համեմատություն
Մեկ ներքին benchmark համեմատություն (մեծ իրական design, այստեղ նշված որպես մեկ customer case study, ոչ թե երաշխավորված ընդհանուր արդյունք) ցույց է տալիս խնայողությունների մասշտաբը. կառուցվածքային առումով, instance count-ը իջավ մոտ 68.8M-ից 40.7M (40.8% reduction) և via instance-ները մոտ 1.1B-ից 0.53B (51.4% reduction), ընդ որում ամբողջ design-ի շատ hierarchical instance-ները ներկայացված են ընդամենը 3 հստակ ROM բջիջով։ Ռեսուրսների առումով, total runtime-ը իջավ 13ժ 44ր-ից 9ժ 40ր (29% reduction), memory footprint-ը 3.1TB-ից 1.8TB (42% reduction), և database-ի չափը 604GB-ից 353GB (41% reduction) — ամենամեծ stage-level արագացումով հենց analysis-view փուլում (3ժ 12ր → 55ր, 71% reduction)։ flat և ROM run-երի միջև ճշգրտության corelation-ը ցույց տվեց, որ միայն փոքր քանակի instance-ներ շեղվեցին flat-run լարումից մոտ 0.2%-ից ավելի (մոտ 2mV), և ամեն instance մնաց մոտ 1.2%-ի սահմաններում — համաձայնության մակարդակ, որ case study-ն դիտարկում է որպես ընդունելի signoff օգտագործման համար։
Կապը Chip Power Model-ի (CPM) հետ
CPM-ն կապված է ROM-ի հետ, բայց ծառայում է այլ նպատակի։ Այն ROM հոսքն ինքնին չէ, թեև ներքուստ կառուցված է նույն հիմքում ընկած reduced-order-modeling engine-ի վրա։ CPM-ի աշխատանքը արտաքին է. այն արտադրում է կոմպակտ, portable SPICE հանգույցների ցանկ, որ ներկայացնում է ամբողջ չիպի PDN-ը որպես համարժեք սխեմա իր bump-երի կամ pad-երի մոտ, package և board designer-ների համար, ովքեր անում են բյուրեղիկ-package-board co-design ամբողջովին EMIR գործիքից դուրս (impedance/resonance ստուգումներ, decap տեղաբաշխում, լարման-margin վալիդացիա ընդհանուր SPICE simulator-ում — սնուցելով ուղղակիորեն Փուլ 5-ի package-analysis մեթոդաբանությունը)։ ROM-ը, ի հակադրություն, սպառվում է EMIR գործիքի ներսում՝ հենց full-chip signoff-ը scalable դարձնելու համար block-level արդյունքները վերաօգտագործելով։ CPM-ի distributed տարբերակը հեռացնում է դասական մոտեցման single-worker, memory-ծանր խցանումը՝ փոխարենը model-ը hierarchically կառուցելով distributed worker-ների վրայով — նույն scalability սկզբունքը, որ ROM-ը կիրառում է full-chip EMIR-ի վրա, կիրառված chip-level package modeling-ի վրա։
Լավագույն պրակտիկա և թակարդներ
Connection-layer-ի ընտրությունը ամենաբարձր-լծակ ճշգրտության կառավարիչն է և պետք է համապատասխանի block-ի իրական ֆիզիկական interface-ին parent grid-ի հետ։ ROM-ը այն scenario(-ների) frozen snapshot է, որով այն գեներացվել է — եթե block-ի PDN-ը, decap-ը կամ ֆիզիկական implementation-ը փոխվում է, կամ նոր workload պետք է ստուգվի, ROM-ը պետք է վերագեներացվի, ոչ թե ենթադրվի, որ դեռ վավեր է։ Mixed reduced/detailed օգտագործումը խորհուրդ տրվող միջին տարբերակն է հատկապես critical համարվող instance-ների համար։
Բազմաբյուրեղիկ / Multi-Chip վերլուծություն
Մեկ-բյուրեղիկ EMIR signoff-ը ենթադրում է մեկ PDN, սահմանափակված մեկ բյուրեղիկի package interface-ով։ 2.5D/3D փաթեթավորումում — chiplet-ներ, տեղադրված կողք-կողքի interposer-ի վրա, կամ բյուրեղիկներ, դասավորված ուղղահայաց և միացված through-silicon via-ներով (TSV) կամ hybrid bonding-ով — բազմաթիվ բյուրեղիկներ կիսում են մեկ ֆիզիկական PDN, որ ձգվում է բյուրեղիկ → micro-bump/TSV → interposer → package → board։ Մեկ բյուրեղիկի switching activity-ի քաշած հոսանքը propagate է անում shared TSV-ների, bump-երի և interposer metal-ի միջով՝ առաջացնելով IR drop և EM սթրես հարևան բյուրեղիկի power network-ում — միջբյուրեղիկ coupling էֆեկտ, որ մեկ-բյուրեղիկ վերլուծությունն ինքնուրույն չի կարող որսալ, քանի որ ոչ մի բյուրեղիկի PDN էլեկտրապես անկախ չէ մյուսից։
Bonding technology-ի միտումները սա անընդհատ ավելի կարևոր են դարձնում. արդյունաբերությունը C4 solder bump-երից (մոտ 125µm pitch) անցել է copper-pillar micro-bump-երի (մոտ 40µm pitch), ապա hybrid bonding-ի (մոտ 6µm pitch, ուղիղ copper-to-copper առանց որևէ bump-ի) — ամեն քայլ փոքրացնում է ֆիզիկական connection-ը, մինչ կենտրոնացնում է current density-ն և բարձրացնում localized EM ռիսկը հենց բյուրեղիկ-բյուրեղիկ interface-ի մոտ, սովորական բյուրեղիկի վրայի և package EM մտահոգությունների վրա գումարած։
Դասավորված բյուրեղիկները կիսում են մեկ ֆիզիկական PDN՝ TSV-ների կամ hybrid bond-երի միջով։ Վերին բյուրեղիկի switching հոսանքը couple է անում այս shared connection-ների միջով և սթրես է առաջացնում ներքևի բյուրեղիկի power network-ի վրա — միջբյուրեղիկ էֆեկտը, որ միայն-մեկ-բյուրեղիկ վերլուծությունը դարձնում է անբավարար 3D-stacked համակարգերի համար։
Ինչպես է աշխատում
Ամեն բյուրեղիկ պահում է իր սեփական model-ը (design, extraction, ժամանակային, scenario և մոդելավորման տվյալներ), միավորված վերևից դրված լրացուցիչ view-երի միջոցով. configuration view, որ նկարագրում է բյուրեղիկի չափերը, instance անունները, interface/connection-point location-ները, per-connection-point parasitic-ները և package interface-ը. coupling view, որ extract է անում էլեկտրամագնիսական coupling parasitic-ները հարևան բյուրեղիկների միջև (ոչ միայն պարզ point-to-point connection-ներ). և unified multi-chip analysis view, որ run է անում զուգակցված մոդելավորումը, որից առանձին ամեն բյուրեղիկի արդյունքները retrieve են արվում նույն API-ներով, ինչ մեկ-բյուրեղիկ վերլուծությունը։ Նույն հիմքում ընկած մոդելավորման engine-ը օգտագործվում է մեկ-բյուրեղիկ և բազմաբյուրեղիկ վերլուծության համար — տարբերությունն այն է, որ բոլոր բյուրեղիկներից scenario և մոդելավորման տվյալները connect և combine են արվում նախքան solve անելը, ոչ թե solve են արվում անկախ։
Վերլուծության մեթոդներ
| Մեթոդ | Նկարագրություն |
|---|---|
| Full / concurrent detailed | Ամեն բյուրեղիկի լիարժեք ֆիզիկական PDN model-ը և package հանգույցների ցանկը վերլուծված միասին միաժամանակ — ամենաճշգրիտ, ամենառեսուրսատար. պահանջում է լիարժեք տոպոլոգիա տվյալ ամեն բյուրեղիկի համար |
| On-the-fly (integrated) model-based Խորհուրդ է տրվում | Մեկ կամ ավելի բյուրեղիկ reduce է արվում կոմպակտ RLC-գումարած-հոսանք model-ի on the fly, մինչ մյուսները մնում են լիովին detailed — հավասարակշռում է ճշգրտությունն ու ռեսուրսի ծախսը |
| Model-based with external Chip Power Model | Բյուրեղիկների համար, որոնց լիարժեք ֆիզիկական database-ը հասանելի չէ (օրինակ՝ third-party memory IP), նախապես գեներացված կոմպակտ model-ը wire է արվում package հանգույցների ցանկի մեջ լարման-regulator model-ի կողքին — ամենատարածված մոտեցումը vendor/customer IP hand-off-ի համար |
| Chip-only PDN quality checks | Վաղ-փուլի, թեթև sanity check, որին անհրաժեշտ է միայն տոպոլոգիա և connection-point location-ներ, օգտագործելով սինթետիկ հոսանքի probe-եր՝ ոչ թե իրական switching-activity-ից ստացված հոսանքներ — օգտագործվում է grid density-ն և bump տեղաբաշխումը վալիդացնելու համար նախքան լիարժեք EMIR վերլուծությունը |
TSV modeling
TSV-ները model են արվում կա՛մ ուղղակիորեն foundry technology-file տվյալներից (երբ foundry-ն տրամադրում է TSV RC/RLC պարամետրեր), կա՛մ user-supplied SPICE subcircuit-ի միջոցով՝ ռեզերվացված «top» և «bottom» node-երով, որ map են արվում via-ից վերև և ներքև metal layer-ներին — սովորաբար պարզ π-model երկու series resistor-ից, որոնք եզերում են ground-ի shunt capacitance-ը։
Input-ներ
| Input | Նպատակ |
|---|---|
| Per-die layout, tech, timing, activity | Ստանդարտ մեկ-բյուրեղիկ input-ներ, ամեն բյուրեղիկի համար stack-ում — technology view-ը պետք է փոխանցվի ամեն բյուրեղիկի design view-ի մեջ, այլապես 3D-հատուկ layer-ները, ինչպիսիք են TSV-ները, չեն ճանաչվի |
| Connection-point location files | Ընդլայնված bump/pad mapping ֆորմատ ամեն բյուրեղիկի interface-ի համար, package port name-ի ընտրովի դաշտով, երբ բյուրեղիկն ուղղակիորեն միանում է package-ին |
| Inter-chip interconnect parasitics | R/L/C գումարած ֆիզիկական չափսեր բյուրեղիկները միացնող bump/pillar/hybrid-bond կառուցվածքների համար |
| TSV parasitics | Foundry tech-file տվյալներ կամ user SPICE subcircuit, ինչպես վերևում |
| Package/interposer model & multichip config file | Նկարագրում է բյուրեղիկի տեղաբաշխում/orientation-ը, connection-point զույգերն ու դրանց էլեկտրական model-երը, և system-level package connection-ը |
Output-ներ
Միջբյուրեղիկ IR drop ամեն instance-ի համար, հաշված shared-PDN coupling էֆեկտի ներառմամբ, գումարած system-level aggregation bump հոսանքների և լարումների վրայով. TSV/bump EM (և՛ DC, և՛ dynamic/transient mode-երով). միջբյուրեղիկ signal EM connection-point-երի միջով բյուրեղիկի սահմաններ հատող signal հանգույցների համար. և multi-chip shortest-path-resistance check, որ հետագծում է ռեզիստիվ ուղին ցանկացած instance pin-ից, բյուրեղիկի և interposer-ի սահմանների վրայով, ողջ ճանապարհով մինչև package bump-երը — արտադրելով և՛ heatmap-ներ, և՛ բացահայտ per-segment path աղյուսակ, ուղղակիորեն օգտակար ախտորոշելու համար, թե ինչու է կոնկրետ instance-ը տեսնում ավելցուկային IR drop։
Լավագույն պրակտիկա և թակարդներ
Սովորաբար native «multi-chip-level» report չկա — արդյունքները retrieve են արվում ամեն առանձին բյուրեղիկի համար նույն reporting API-ներով, ինչ մեկ-բյուրեղիկ վերլուծությունը (shortest-path-resistance check-ը միակ բացառությունն է իր սեփական հատուկ multi-chip report-ով)։ Dummy scenario տվյալ անհրաժեշտ է active բջիջ instance-ներ չունեցող բյուրեղիկների համար (օրինակ՝ passive interposer)՝ scenario-ի type/duration-ը հետևողական պահելու համար joint վերլուծության ամեն բյուրեղիկի վրայով։ external-Chip-Power-Model մոտեցումն ամենալավն է աշխատում topology-ների համար, որտեղ բոլոր բյուրեղիկները միանում են մեկ interposer hub-ի, և զգալիորեն դժվարանում է interposer-առանց կառուցվածքների համար, ինչպիսիք են wafer-on-wafer կամ die-on-integrated-circuit stacking-ը, որտեղ բյուրեղիկները բոլորը կապված չեն մեկ ընդհանուր reference բյուրեղիկի։ Connection-point անունները պետք է լինեն գլոբալ առումով յունիկ ողջ բազմաբյուրեղիկ configuration-ի վրայով։
Բառարան
| Տերմին | Իմաստ |
|---|---|
| EMIR | Electromigration + IR-drop — համակցված signoff դիսցիպլինը, որ ներկայացված է այս էջում |
| PDN | Power Delivery Network — ֆիզիկական կառուցվածքը (ring-եր, strap-եր, rail-եր, bump-եր, package, board), որ հոսանք է կրում ամեն տրանզիստորի |
| IR drop | Լարման կորուստ, որ առաջանում է ռեզիստիվ PDN-ի միջով հոսող հոսանքից (V = I·R) |
| EM (Electromigration) | Աստիճանական, current-density-ով պայմանավորված metal-ion-ի տեղաշարժ wire-ում, որ ի վերջո կարող է առաջացնել open կամ short |
| Vectorless analysis | Dynamic վերլուծության համար հավանական switching scenario սինթեզելը՝ առանց իրական մոդելավորման vector-ների |
| ROM (this context) | Reduced Order Model — block-ի էլեկտրական վարքագծի կոմպակտ աբստրակցիա, վերաօգտագործված այդ block-ի ամեն instance-ի վրայով |
| CPM | Chip Power Model — չիպի PDN-ի portable SPICE-level համարժեք սխեմա, օգտագործված package/board co-design-ի համար |
| TSV | Through-Silicon Via — ուղղահայաց էլեկտրական connection, որ լիովին անցնում է silicon բյուրեղիկի միջով, օգտագործվում է 3D բյուրեղիկի stacking-ում |
| SSO | Simultaneous Switching Output — noise, որ առաջանում է շատ I/O driver-ների միանգամից switching-ից՝ սթրես առաջացնելով shared package/board inductance-ի վրա |
| Black's equation | MTTF = A·J−n·e(Ea/kT) — կապում է wire-ի EM failure-ի median time-ը current density-ի և temperature-ի հետ |
| SPR | Shortest Path Resistance — ռեզիստիվ առումով ամենակարճ ուղին grid-ի կետից մինչև մոտակա լարման source. արագ, բայց ոչ ամբողջական robustness ցուցիչ |
| Reff | Effective Resistance — point-to-point impedance instance pin-ից մինչև բոլոր իրար short արված bump-երը՝ հաշվի առնելով ամեն parallel path |
| BQM | Build Quality Metric — միատեսակ սինթետիկ հոսանքի probe-եր ցածր metal layer-ի վրա, օգտագործված իրական կառուցվածքային grid-ի թուլությունները բացահայտելու համար, որ SPR/Reff-ը կարող են բաց թողնել |
| peakTW | Տեխնիկա, որ համակցում է BQM-ի կառուցվածքային հոսանքի probe-երը localized միաժամանակյա-switching ժամանակային-window տվյալների հետ՝ որսալու թուլությունները, որ ի հայտ են գալիս միայն համակցված սթրեսի ներքո |
Աղբյուրներ
Այս էջը հենվում է ներքին Synopsys RedHawk-SC application note-երի և ուսումնական նյութի վրա (Static/Dynamic Power Analysis, Early Grid Analysis & Robustness Checks, BQM & PeakTW, Power & Signal Electromigration, Die/Package/Board Analysis, HBM Modeling, Sigma-AV/Sigma-DVD/Sigma-PD, ROM, Chip Power Model, և Multi-Chip/3DIC Analysis app note-եր ու ուսումնական decks), լրացված ամեն թեմայի արդյունաբերական ստանդարտ մեթոդաբանության վերաբերյալ ընդհանուր վեբ հետազոտությամբ, մեջբերված ստորև։
- IR-Drop in On-Chip Power Distribution Networks of ICs With Nonuniform Power Consumption — IEEE Xplore
- IRDrop Analysis in Power Delivery Network Design — IEEE Xplore
- Fast Vectorless Power Grid Verification Using Maximum Voltage Drop Location Estimation — IEEE Xplore
- Full-Chip Vectorless Dynamic Power Integrity Analysis and Verification — IEEE Xplore
- Dynamic Voltage (IR) Drop Analysis and Design Closure: Issues and Challenges — IEEE Xplore
- Power grid robustness / structural PDN checks (shorts, disconnects, SPR, Reff, BQM, missing via) — AppNote_Early_Grid_Analysis_and_Robustness_Checks.pdf, AppNote_Early_Grid_Analysis_using_BQM_and_peakTW.pdf (internal Synopsys/Ansys RedHawk-SC documentation)
- Black's Equation for Today's ULSI Interconnect Electromigration Reliability — A Revisit — IEEE Xplore
- Electromigration Check: Where the Design and Reliability Methodologies Meet — IEEE Xplore
- Modeling Electromigration Lifetime Under Bidirectional Current Stress — IEEE Xplore
- Full-Chip Signal Interconnect Analysis for Electromigration Reliability — IEEE Xplore
- Chip-Package Power Delivery Network Resonance Analysis and Co-Design — IEEE Xplore
- System Level Power Integrity Analysis with Physics-Based Modeling Methodology — IEEE Xplore
- Extended CPM for System Power Integrity Analysis — IEEE Xplore
- Analysis of Dynamic Voltage Drop with PVT Variation in FinFET Designs — IEEE Xplore
- Fast Statistical Analysis of Rare Circuit Failure Events via Scaled-Sigma Sampling — IEEE Xplore
- Reduced-order/macromodel benchmark comparison (flat vs. ROM runtime/accuracy) — Flat_and_ROM_Comparison.pdf (internal Synopsys/Ansys RedHawk-SC documentation)
- Model and Analysis for Combined Package and On-Chip Power Grid Simulation — IEEE Xplore
- Fast Dynamic Simulation of VLSI Circuits Using Reduced-Order Compact Macromodel of Standard Cells — IEEE Xplore
- Electromigration Study for Multi-Scale Power/Ground Vias in TSV-Based 3D ICs — IEEE Xplore
- System-Level Comparison of Power Delivery Design for 2D and 3D ICs — IEEE Xplore