ENARM
VLSI · Փուլ 12 · Fabrication & Post-Silicon

Fabrication

Tapeout-ը foundry-ին է հանձնում ավարտված GDSII ֆայլ — այս էջը ընդգրկում է այն ամենն, ինչ տեղի է ունենում այդ կետից հետո. ինչպես է թիթեղն իրականում կառուցվում, ինչու է յուրաքանչյուր բյուրեղիկ դուրս գալիս մի փոքր տարբեր (process corners, on-chip variation), ինչ է նշանակում պիտանի ելքը և ինչպես է այն բարելավվում, ինչպես նաև ինչ է կատարվում, երբ առաջին silicon-ը վերադառնում է լաբորատորիա, ներառյալ ATPG-հիմքով production test-ը, որն աշխատում է յուրաքանչյուր մասի վրա նախքան առաքումը։

Փուլ 12-ը 12-ից

Wafer Fabrication

Tapeout-ից ստացված GDSII ֆայլը design-ի ամեն ֆոտոդիմակ layer-ի երկրաչափական նկարագրությունն է։ Foundry-ն այն վերածում է աշխատող silicon-ի՝ կրկնելով մի հիմնական ցիկլ — լիտոգրաֆիա, նստեցում, փորագրում, լեգիրում — design-ի ամեն metal և device layer-ի համար, երբեմն 100 կամ ավելի լիտոգրաֆիա քայլ մեկ ժամանակակից չիպի համար, նախքան ավարտված թիթեղը test արվի և dice արվի առանձին բյուրեղիկների։

⤢ Սեղմեք խոշորացնելու համար Wafer Start մերկ silicon թիթեղ Per-Layer ցիկլ (կրկնվում է ~30–100+×) Lithography Deposition Etch Doping / Anneal + CMP planarization Complete Wafer բոլոր layer-երը ձևավորված Wafer Sort / Probe Test ATPG patterns, ըստ բյուրեղիկի Dicing wafer → die Package Final Test

Ամեն metal և device layer անցնում է նույն լիտոգրաֆիա → նստեցում → փորագրում → լեգիրում/anneal ցիկլով՝ layer-երի միջև planarized լինելով chemical-mechanical polishing-ով (CMP)։ Ավարտվելուց հետո թիթեղը test արվում է բյուրեղիկ-առ-բյուրեղիկ նախքան dice և package արվելը։

Process քայլԻնչ է անում
LithographyProject է անում ֆոտոդիմակ pattern-ը photoresist-ի վրա UV լույսով՝ սահմանելով, թե որտեղ է գործելու հաջորդ process քայլը
DepositionGrow կամ coat է անում նյութ թիթեղի վրա (PVD, CVD, ALD, electrochemical deposition)՝ ձևավորելու հաջորդ layer-ը
EtchՀեռացնում է նյութ ըստ լիտոգրաֆիա pattern-ի (wet կամ dry etch)՝ ֆիզիկապես ձևավորելով layer-ի երկրաչափությունը
DopingImplant է անում dopant ion-ներ source/drain տիրույթներում, որին հաջորդում է annealing՝ դրանք ակտիվացնելու և implant-ի վնասը վերականգնելու համար
CMP (Chemical-Mechanical Polishing)Planarize է անում թիթեղի մակերևույթը layer-երի միջև, որպեսզի հաջորդ լիտոգրաֆիա քայլն ունենա հարթ, in-focus մակերևույթ pattern անելու համար
Variation, մաս 1

Process Corners

Fab-ից ոչ մի երկու տրանզիստոր նույնական դուրս չի գալիս — gate length-ը, dopant concentration-ը և oxide thickness-ը բոլորը մի փոքր տարբերվում են բյուրեղիկից բյուրեղիկ և թիթեղից թիթեղ, և այդ variation-ն ուղղակիորեն փոխում է, թե որքան արագ կամ դանդաղ է տրանզիստորը switch անում։ Ամեն հնարավոր իրական արժեք մոդելավորելու փոխարեն ժամանակային signoff-ը փոխարենը ստուգում է design-ն ընդդեմ մի քանի միտումնավոր ծայրահեղ «corner» model-ների, որոնք նախատեսված են bound անելու իրական բաշխումը. եթե design-ն աշխատում է ծայրահեղ կետերում, ապա այն պիտի աշխատի ամենուր դրանց միջև։

⤢ Սեղմեք խոշորացնելու համար Process corners. NMOS speed ընդդեմ PMOS speed PMOS speed → (դանդաղից արագ) NMOS speed → (դանդաղից արագ) «even» corner-ներ (correlated N & P) TT typical FF fast N, fast P SS slow N, slow P FS fast N, slow P SF slow N, fast P FS / SF-ը «skewed» corner-ներ են — N-ի և P-ի mismatch-ը տալիս է անհավասար rise/fall slew

Corner անվան առաջին տառը NMOS speed-ն է, երկրորդը՝ PMOS speed-ը։ TT/FF/SS-ը նստած են այն diagonal-ի վրա, որտեղ NMOS-ը և PMOS-ը փոփոխվում են միասին. FS/SF-ը skewed corner-ներ են, որ օգտագործվում են rise/fall imbalance-ի նկատմամբ զգայուն design-ները stress անելու համար։ Լարումը և temperature-ը ավելացնում են ևս երկու առանցք այս process առանցքի վրա — միասին process + voltage + temperature կազմում են ամբողջ «PVT» corner տարածությունը։

CornerՍովորաբար օգտագործվում է
SS + ցածր լարում + բարձր temperatureWorst case setup ժամանակայինի համար — ամենադանդաղը, ինչ design-ը երբևէ լեգիտիմ կերպով կաշխատի
FF + բարձր լարում + ցածր temperatureWorst case hold ժամանակայինի համար — ամենաարագը, ինչ design-ը երբևէ լեգիտիմ կերպով կաշխատի, որտեղ hold violation-ներից խուսափելն ամենադժվարն է
TT + nominal լարում + nominal temperatureTypical-case էներգասպառման և արագագործության գնահատում — ինչպիսին «նորմալ» բյուրեղիկն ակնկալվում է լինել
FS / SF (skewed)NMOS-ի և PMOS-ի drive strength-ի mismatch-ի նկատմամբ զգայուն path-երի stress-testing, ոչ միայն ընդհանուր speed-ի

Ինչպես է fab-ը որոշում, թե որ corner-ում է հայտնվել իրական բյուրեղիկն

Corner-ները design-time modeling-ի աբստրակցիա են — իրական fabricated բյուրեղիկները բառացիորեն չեն տեսակավորվում հինգ առանձին խմբերի, դրանք հայտնվում են ինչ-որ տեղ շարունակական բաշխման վրա։ Պարզելու համար, թե որտեղ է իրականում նստած տվյալ բյուրեղիկն, foundry-ները տեղադրում են Process Control Monitor (PCM) structure-ներ — test տրանզիստորներ և ring oscillator-ներ — ֆիքսված տեղակայություններում ամեն թիթեղի վրա, բյուրեղիկ տիրույթից դուրս կամ բյուրեղիկների միջև scribe line-երում։ Արտադրությունից հետո այս structure-ները չափվում են ուղղակիորեն. ring oscillator-ի հաճախությունն (կամ test տրանզիստորի drive հոսանքը) բացահայտում է իրական NMOS-ի և PMOS-ի speed-ը այդ կոնկրետ տեղակայության silicon-ի համար, որն այնուհետև համեմատվում է signoff-ում օգտագործված corner model-ների հետ՝ ասելու, ըստ էության, «այս թիթեղի այս տիրույթը վարվում է FF corner-ին մոտ» կամ «SS-ին մոտ»։ Այդ չափումն է, որ իրականում շարժում է թե՛ binning-ը (ստորև Փուլ 12-ի post-silicon բաժինը), թե՛ պիտանի ելքի learning-ը — վերադարձնելով իրական process data-ն fab-ին, որպեսզի հաջորդ lot-ը կարողանա ավելի ամուր centered լինել նախատեսված typical corner-ի շուրջ։

Variation, մաս 2

On-Chip Variation և Sigma

Process corner-ները bound են անում բյուրեղիկից-բյուրեղիկ variation-ը, բայց կա երկրորդ, ավելի նուրբ էֆեկտ. նույնիսկ մեկ առանձին բյուրեղիկի ներսում ոչ մի երկու nominal-ապես նույնական տրանզիստոր նույնպես կատարյալ նույնական չեն — սա on-chip variation (OCV) է։ Քանի որ իրական չիպն ունի «նույն» բջիջի միլիոնավոր instance-ներ, դրանց վարքագիծը մեկ թիվ չէ, այլ բաշխում, և ժամանակակից signoff-ը այդ բաշխումը model է անում statistically, փոխանակ ենթադրելու, որ ամեն instance միաժամանակ իր բացարձակ worst-case-ում է։

⤢ Սեղմեք խոշորացնելու համար Հապաղումն որպես statistical բաշխում, ոչ թե մեկ թիվ gate delay mean ±1σ ≈ 68% ±2σ ≈ 95% ±3σ ≈ 99.7% ±3σ

Parametric On-Chip Variation (POCV)-ն ամեն gate-ի հապաղումն model է անում որպես mean գումարած standard deviation (sigma)՝ մեկ worst-case թվի փոխարեն, ապա signoff է անում ընտրված sigma կետում (սովորաբար 3σ, ≈99.7% ծածկույթ)՝ ոչ իրատեսական all-instances-simultaneously-worst-case ենթադրության փոխարեն։

Variation-ի տեսակՎարքագիծ
Global variationCorrelated ամբողջ բյուրեղիկի (կամ թիթեղի) վրայով — շարժում է ամբողջ հապաղման բաշխումը վեր կամ վար միասին. աճում է մոտավորապես գծայնորեն path-ի երկարությանը զուգընթաց, քանի որ path-ի ամեն stage ազդվում է նույն ձևով
Local (random) variationUncorrelated, instance-ից-instance — լայնացնում է բաշխումը, ոչ թե շարժում. աճում է մոտավորապես path-ի երկարության քառակուսի արմատին զուգընթաց, քանի որ անկախ random էֆեկտները մասամբ միջինանում են երկար path-ի վրայով

Ավելի հին OCV մեթոդաբանությունը կիրառում էր մեկ հարթ derate ամեն path-ի, անկախ դրա իրական կազմությունից. AOCV-ն (advanced OCV) դա բարելավեց՝ derate-ը փոփոխելով ըստ logic depth-ի և ֆիզիկական հեռավորության. POCV-ն (parametric OCV), որ այժմ տարածված ժամանակակից մոտեցումն է, ավելի հեռուն է գնում և հաշվում է arrival և required time-երը statistically ամեն բջիջի սեփական characterized mean/sigma-ից, ինչը հեռացնում է pessimism-ի մեծ մասը, որ հարթ derate-ն այլապես կներդներ — ուղղակիորեն համանման Sigma-AV/Sigma-DVD statistical մոտեցմանը, որ օգտագործվում է power integrity-ի համար (տես EMIR Analysis), այստեղ կիրառված ժամանակայինի համար լարման փոխարեն։

Տնտեսագիտություն

Yield

Պիտանի ելքը պարզապես արտադրված բյուրեղիկների այն մասնաբաժինն է, որ դուրս է գալիս լավ — ֆունկցիոնալ ճիշտ և spec-ին համապատասխան — թիթեղի վրա դրվածից ամեն ինչից։ Դա այն միակ թիվն է, որ design-ի որոշումները ամբողջ ճանապարհով կապում է cost-ի հետ. ավելի մեծ, խիտ բյուրեղիկն որսում է ավելի շատ random defect մեկ միավոր մակերևույթի վրա, ուստի ավելի մեծ չիպերը կառուցվածքային առումով ունեն ավելի ցածր պիտանի ելք, քան փոքրերը՝ նույն defect density-ի դեպքում, մնացած բոլոր պայմանները հավասար։

⤢ Սեղմեք խոշորացնելու համար Թիթեղի map. լավ բյուրեղիկ ընդդեմ defective բյուրեղիկ Map-ը կարդալը լավ բյուրեղիկ defective բյուրեղիկ Defect-երը կլաստերանում են (edge effect-ներ, particle contamination)՝ փոխանակ զուտ random բաշխվելու — հենց դրա համար է Murphy-ի model-ը գերազանցում naive Poisson random-defect ենթադրությանը։

Թիթեղի map-ը գծագրում է pass/fail ամեն բյուրեղիկ տեղակայության համար։ Իրական defect-երը կլաստերանում են (particle-ներ, edge effect-ներ, լոկալ process excursion-ներ)՝ փոխանակ միատեսակ random տարածվելու։

Murphy-ի պիտանի ելքի model Y = e−(D₀ · Acrit)

D₀-ն defect density-ն է (միջին fatal defect-ներ մեկ միավոր մակերևույթի վրա), իսկ Acrit-ը բյուրեղիկի critical area-ն է — տոպոլոգիայի այն մակերևույթը, որ բավական զգայուն է տվյալ defect size-ի նկատմամբ, որպեսզի իրականում failure առաջացնի։ Murphy-ի model-ը ենթադրում է, որ defect density-ն ինքը փոփոխվում է թիթեղի վրայով (փոխանակ կատարյալ միատեսակ լինելու, ինչպես ենթադրում է պարզ Poisson model-ը), ինչը ավելի լավ է համապատասխանում իրական fab-երին, որտեղ defect-երը կլաստերանում են — և արդյունքում այն սովորաբար կանխատեսում է ավելի ցածր պիտանի ելք, քան պարզ Poisson-ը՝ նույն D₀-ի և բյուրեղիկ size-ի դեպքում։

Պիտանի ելքի տեսակԻնչ է չափում
Die yield / functional yieldԲյուրեղիկների այն մասնաբաժինը, որ անցնում է functional և parametric test-ը թիթեղ sort-ում
Parametric yieldAnalog/ժամանակային/էներգասպառում spec-երին համապատասխանող բյուրեղիկների մասնաբաժինը, անկախ զուտ տրամաբանական ճշտությունից — բյուրեղիկն կարող է ֆունկցիոնալ ճիշտ լինել, բայց չափազանց դանդաղ կամ չափազանց leaky՝ ընդունելի bin անելու համար
Test yield / package yieldԱրդեն-լավ բյուրեղիկների այն մասնաբաժինը, որ վերապրում է փաթեթավորումը և final test-ը՝ առանց assembly-ի ներմուծած նոր defect-երի
Տնտեսագիտություն, շարունակություն

Պիտանի ելքի բարելավում

Պիտանի ելքի բարելավումը տեղի է ունենում fab/design սահմանի երկու կողմերում — fab-ը ամրացնում է իր սեփական process control-ը, և design-ը միտումնավոր դարձվում է ավելի tolerant մնացած variation-ի և defect-ների նկատմամբ։

ՏեխնիկաԻնչպես է օգնում
Design-for-Manufacturability (DFM) ստուգումներԼիտոգրաֆիա-մոդելավորում, CMP-մոդելավորում և critical-area analysis աշխատեցվում են տոպոլոգիայի վրա՝ նշելու համար statistically փխրուն երկրաչափությունները նախքան tapeout-ը, ոչ թե դրանից հետո
Redundancy և repairMemory-ներում spare row/column-երը (տես MBIST & Memory Testing-ի BIRA/BISR) թույլ են տալիս լոկալ defect ունեցող բյուրեղիկին դեռ առաքվել՝ փոխանակ ուղղակի scrap արվելու
Critical-area-ի կրճատումԱվելի լայն wire spacing, via doubling և ավելի կանոնավոր տոպոլոգիա pattern-ներ փոքրացնում են այն մակերևույթը, որ իրականում զգայուն է տվյալ defect size-ի նկատմամբ՝ ուղղակիորեն իջեցնելով Acrit-ը պիտանի ելք ֆորմուլայում
Statistical (ոչ թե հարթ worst-case) marginingPOCV-հիմքով ժամանակային signoff-ը (նախորդ բաժին) խուսափում է over-design անելուց ընդդեմ մի սցենարի, որ գործնականում գրեթե անհնար է իրականում պատահի, ինչը այլապես վատնում է area/էներգասպառում՝ հետապնդելով margin, որ չի բարելավում իրական պիտանի ելքը
BinningԱյն մասերը, որ չեն համապատասխանում ամենաբարձր speed/էներգասպառում grade-ին, բայց դեռ ճիշտ են աշխատում ավելի ցածր grade-ում, վաճառվում են այդ ավելի ցածր bin-ում՝ փոխանակ scrap արվելու — վերականգնելով արժեք parametric, ոչ միայն կատաստրոֆիկ variation-ից
Yield learning loopInline metrology-ն և թիթեղ-map defect data-ն վերադարձվում են fab line-ին՝ գտնելու և ուղղելու տվյալ պահի գերիշխող defect mechanism-ը — հենց դրա համար է, որ տվյալ process node-ի պիտանի ելքը կայուն կերպով բարձրանում է սկզբնական risk production-ից դեպի իր mature-node առաստաղը ժամանակի ընթացքում
Որտեղ է սա կապվում. process-corner centering-ը (նախորդ բաժիններ) և պիտանի ելքի learning-ը նույն data-ի երկու տեսանկյուն են — նույն PCM/ring-oscillator չափումները, որ ասում են, թե որ corner-ում է հայտնվել բյուրեղիկն, նաև ասում են fab-ին, թե ամբողջ line-ը drift է անում իր նախատեսված typical target-ից։
Tapeout-ից հետո

Post-Silicon Bring-Up և ATPG

Այս կետը մինչև այժմ ամեն ինչ նախապատրաստություն էր։ Այս բաժինը ընդգրկում է, թե ինչ է իրականում կատարվում, երբ թիթեղները վերադառնում են fab-ից. structural ATPG test-ը, որ ստանում է ամեն առանձին բյուրեղիկն նախքան առաքվելը, և առանձին, շատ ավելի խորը characterization ու debug աշխատանքը, որ արվում է առաջին մի քանի մասերի վրա՝ հաստատելու, որ design-ն ինքն ճիշտ է։

⤢ Սեղմեք խոշորացնելու համար First Silicon ժամանում է fab-ից Bring-Up Lab power-on, JTAG access, հիմնական sanity check-եր Wafer Sort / Final Test ATPG scan patterns, ամեն բյուրեղիկ, ATE-ի վրա Characterization shmoo plot-եր V/F/T-ով, corner-lot testing Debug scan dump / JTAG root-cause first-fail die Qualify burn-in, stress test Volume Ramp

First silicon-ն անցնում է bring-up և խորը characterization մեկ անգամ. ամեն հաջորդ բյուրեղիկ երբևէ տեսնում է միայն արագ structural ATPG pass-ը թիթեղ sort-ում և final test-ում, գումարած qualification screening այն մասերի համար, որոնք դրա կարիքն ունեն։

Ինչ է իրականում աշխատում ATPG-ն, երբ չիպերը վերադառնում են

Scan և MBIST pattern-ները, որ generated են դեռ Scan & ATPG-ում և MBIST-ում, հենց այն են, ինչ իրականում աշխատում է այստեղ — first-silicon bring-up-ը նոր test content չի հորինում, դա այն կետն է, որտեղ այդ pattern-ները առաջին անգամ կիրառվում են իրական ֆիզիկական բյուրեղիկի վրա և validated են tester-ի դեմ։ Այս փուլում աշխատող տիպիկ structural content. stuck-at scan pattern-ներ (DC baseline-ը), at-speed transition pattern-ներ (աշխատեցվող մասի իրական target հաճախությամբ), MBIST algorithm-ներ ամեն embedded memory-ի դեմ, և boundary-scan/JTAG interconnect ստուգումներ։ Ամեն ինչ աշխատում է Automatic Test Equipment-ի (ATE) վրա — նախ թիթեղ sort-ում (դեռ չ-package արված բյուրեղիկը probe անելով), ապա կրկին final test-ում փաթեթավորումից հետո։

Characterization. design-ն ապացուցելը ամբողջ corner տարածության վրայով

Այնտեղ, որտեղ production ATPG-ն ընդամենը հարցնում է pass/fail, characterization-ը first silicon-ի վրա հարցնում է շատ ավելի մեծ հարց. արդյո՞ք design-ն իրականում աշխատում է ամենուր, որտեղ process corner-ները և OCV/sigma analysis-ը պնդում էին, որ պիտի աշխատի։ Սա արվում է shmoo plot-երով — sweep անելով երկու պարամետր միաժամանակ (սովորաբար լարում և հաճախություն) և գծագրելով pass/fail ամեն զուգակցման դեպքում, ինչը արագ ցույց է տալիս, թե արդյոք մասի իրական operating margin-ը համապատասխանում է signoff-ի կանխատեսածին։ «Corner lot» թիթեղները միտումնավոր processed են՝ skew անելու դեպի FF/SS/FS/SF ծայրահեղություններ, որպեսզի ինժեներները կարողանան test անել իրական fast և slow silicon ուղղակիորեն, ոչ միայն typical բյուրեղիկ, և հաստատել, որ design-ը tolerate է անում այն իրական variation-ը, որ այդ corner model-ները նախատեսված էին ներկայացնելու։

Debug, qualification և ramp

Երբ բյուրեղիկն fail է անում, production test-ի համար կառուցված նույն DFT structure-ները դառնում են debug գործիք. scan dump-ը գրանցում է ճշգրիտ ներքին state-ը failure-ի կետում, և JTAG-ը տալիս է ուղղակի register/memory access՝ մեկուսացնելու, թե failure-ը design bug է, կոնկրետ manufacturing defect, թե test-program խնդիր։ Բարձր-հուսալիության կամ automotive կիրառության համար նախատեսված մասերը սովորաբար նաև անցնում են burn-in — աշխատելով բարձրացված լարմամբ և temperature-ով երկարացված ժամանակահատվածով՝ ստիպելու early-life («infant mortality») defect-ներին fail անել նախքան առաքումը, ոչ թե դաշտում։ Երբ first silicon-ը debugged և characterized է, design-ն անցնում է volume production, որտեղ ամեն բյուրեղիկ երբևէ տեսնում է միայն արագ structural ATPG pass-ը, և պիտանի ելք/coverage data-ն շարունակում է feed անել վերևում նկարագրված պիտանի ելք-learning loop-ի մեջ։

Աղբյուրներ

Ընդհանուր արդյունաբերական հետազոտություն գումարած IEEE Xplore գրականություն — այս էջը աղբյուրավորված չէ vendor-ի հատուկ ներքին փաստաթղթերից։