Գրադարանի տեսակներ. գրադարանը design-ի նպատակին համապատասխանեցնելը
Ստանդարտ բջիջների գրադարանները տվյալ process node-ում սովորաբար մատակարարվում են մի քանի ֆիզիկական տարբերակներով, որոնք տարբերվում են հիմնականում բջիջի բարձրությամբ (չափվում է երթուղավորման track-երով) — ավելի բարձր բջիջները տեղավորում են ավելի լայն տրանզիստորներ, որոնք ավելի շատ հոսանք են drive անում, ինչը նշանակում է ավելի արագ switching՝ ավելի շատ area-ի և արտահոսքի հաշվին։
Ավելի բարձր-track գրադարանները (HS/HP) area-ն ու արտահոսքը փոխանակում են մաքուր արագության հետ, ավելի ցածր-track գրադարանները (UHD/LP)՝ արագությունը՝ density-ի և ցածր արտահոսքի հետ։ Իրական chip-երը սովորաբար խառնում են գրադարանի մի քանի տեսակ տարբեր block-երի կամ լարման տիրույթների միջև, այլ ոչ թե ամբողջ բյուրեղիկը կապում մեկին։
| Գրադարանի դասը | Տիպիկ track height | Օպտիմիզացված է | Օգտագործվում է որտեղ |
|---|---|---|---|
| High Speed / High Performance (HS/HP) | 12T և ավելի բարձր | Առավելագույն drive strength, արագություն | Արագագործության առումով կրիտիկական block-ներ. CPU core-եր, high-frequency datapath-եր |
| High Density (HD) | 9–10T | Հավասարակշռված PPA | Mainstream default՝ design-ների մեծ մասի հիմնական զանգվածի համար |
| Ultra-High Density / Low Power (UHD/LP) | 7–8T | Նվազագույն area, նվազագույն արտահոսք | Area-ով կամ էներգասպառումով սահմանափակված block-ներ. always-on domain-ներ, cost-զգայուն IoT design-ներ |
Ընտրության չափանիշներ
| Չափանիշ | Ինչու է կարևոր |
|---|---|
| Process node & foundry PDK համապատասխանություն | Գրադարանը պիտի qualified և silicon-proven լինի հենց այն node-ի և metal stack-ի համար, որ tape out է արվում — այլ metal stack revision-ի համար կառուցված գրադարանը ոչ միայն suboptimal է, այլ հաճախ պարզապես անօգտագործելի |
| Լարման տիրույթի ծածկույթ | Պիտի characterized լինի ամեն VDD-ի համար, որով design-ն իրականում նախատեսում է աշխատել, ներառյալ ցանկացած near-threshold կամ DVFS operating point — տես Low Power Design → DVFS & AVS |
| Ժամանակային model-ի ամբողջականություն | Հին NLDM table-երն ընդդեմ ընթացիկ current-source model-ների (CCS/ECSM) և արդյոք LVF/POCV sigma տվյալներն ընդհանրապես ներառված են — ուղղակիորեն որոշում է, թե ինչ statistical signoff մեթոդաբանություն է ընդհանրապես հնարավոր, տես Static Timing Analysis → Sigma & Statistical Guardbanding |
| Բջիջի height-ի համատեղելիություն | Պիտի համապատասխանի այն բարձրությանը, որին արդեն կապվել են հատակագծում առկա hard macro-ները/IP-ն — անհամատեղելի բարձրությունների խառնումը կոտրում է row legalization-ը |
| Characterization corner-ի ծածկույթ | Պահանջում է տվյալներ ամեն PVT corner-ի համար, որով design-ը sign off է անում, և ավելի ու ավելի նաև aging/EOL corner-ների — տես Fabrication → Process Corners և Static Timing Analysis → Aging & Reliability |
| Vendor-ի փորձառություն / IP աղբյուր | Foundry reference գրադարան ընդդեմ third-party ֆիզիկական IP-ի (օր. Arm/Artisan) ընդդեմ in-house-ի — փոխզիջում cost-ի, support-ի և այն վստահության միջև, որ գրադարանն իրականում ապացուցված է silicon-ում |
| Բջիջի family-ի ամբողջականություն | Ամբողջական drive-strength granularity, ամեն sequential բջիջի scan-capable տարբերակներ, և (եթե design-ը օգտագործում է UPF multi-voltage) level shifter-ների ու isolation բջիջների ընդհանրապես առկայությունը — տես UPF & IPF |
Ինչն է իրականում մտնում Սինթեզ. Don't-Use ցուցակը
Qualified գրադարանի ամեն բջիջ չէ, որ արդար խաղ է ավտոմատ technology mapping-ի համար։ Սինթեզ գործիքները աջակցում են dont_use attribute-ին (Design Compiler-ի տերմինը, այլ գործիքներն ունեն համարժեքներ), որն ամբողջությամբ բացառում է կոնկրետ բջիջները optimizer-ի հասանելի palette-ից — բջիջը դեռ գոյություն ունի գրադարանում և դեռ կարող է ձեռքով instantiate արվել, պարզապես ավտոմատ չի ընտրվի սինթեզի ընթացքում։
| Բջիջի կատեգորիա, որ սովորաբար նշվում է don't-use | Ինչու է բացառվում ավտոմատ mapping-ից |
|---|---|
| Ծայրահեղ high-drive-strength բջիջներ (օր. X16, X32) | Optimizer-ին թույլ տալը ազատ հասնել դրանց սովորական logic-ի վրա այրում է մեծ area և էներգասպառում և կարող է oversized footprint-եր գցել այլապես dense, congested region-ներ — պահվում են այն հազվագյուտ path-ի համար, որին իսկապես պետք է այդքան drive |
| Հատուկ տակտային ազդանշանի buffer-ներ/inverter-ներ | Պահվում են բացառապես CTS գործիքի համար՝ տակտային ազդանշանի network-ը կառուցելիս insert անելու (Physical Design → CTS) — դրանք ընդհանուր logic սինթեզից բացառելը տակտային ազդանշանի ծառը կառուցում է հայտնի, վերահսկվող բջիջ ենթաբազմությունից |
| Tristate / bus-keeper բջիջներ | Ցանկալի են միայն այն կոնկրետ shared-bus structure-ների վրա, որ design-ը հստակ նախատեսում է — ոչ մի բան, որ optimizer-ը պետք է ներմուծի իր նախաձեռնությամբ |
| Latch-եր | Synchronous հոսքերն ընդհանրապես չպետք է RTL-ից transparent latch-եր infer անեն. latch բջիջները սինթեզ mapping target-ից բացառելը կոպիտ, բայց արդյունավետ backstop է |
| Legacy flip-flop տեսակներ (JK, SR և այլն) | Գրադարանում պահվում են միայն ձեռքով instantiation-ի կամ համատեղելիության համար. D-type-ը ստանդարտ սինթեզ inference target-ն է, ուստի սրանք բացառվում են ավտոմատ mapping-ից |
| Level shifter-ներ / isolation / retention բջիջներ | Պահվում են UPF-driven insertion-ի համար միայն իրական սնման տիրույթի սահմաններում (UPF & IPF) — մեկը իրական domain crossing-ից դուրս insert անելը ֆունկցիոնալ առումով անիմաստ կամ սխալ կլիներ |
| Հայտնի corner/SI խնդիրներով նշված բջիջներ | Foundry-ն կամ ներքին characterization-ը երբեմն նշում է կոնկրետ բջիջները որպես անվստահելի որոշ corner-ներում կամ լարումներում. դրանք chip-wide բացառելն ավելի ապահով է, քան ամեն engineer-ի վրա հույս դնելը, որ ձեռքով կհիշի |
| Legacy/deprecated բջիջներ | Պահվում են միայն որպեսզի առկա, արդեն tape-out արված revision-ները դեռ կարողանան վերակառուցվել կամ ECO արվել — բացառվում են նոր սինթեզ run-երից, որպեսզի նոր logic-ը կախվածություն չաճեցնի փուլային դուրս գրվող բջիջից |
dont_use-ը բացառում է բջիջի տեսակը optimizer-ին ընդհանրապես հասանելի գրադարանի palette-ից։ dont_touch-ը պաշտպանում է կոնկրետ առկա instance-ը կամ logic-ի կտորը ընդհանրապես resynthesize կամ restructure արվելուց, անկախ նրանից, թե որ բջիջներն են այլապես թույլատրված — օգտագործվում է ձեռքով optimized logic-ը, black-box արված macro-ները կամ հանգույցների ցանկի հատվածները ECO-ի և ամբողջական re-run-ի միջև կողպելու համար։Multi-Vt տեսակները որպես գրադարանի ընտրության քաղաքականություն
Low Power Design → Multi-Threshold Voltage Design-ը ծածկում է Vt տեսակների հիմքում ընկած հապաղման/արտահոսքի ֆիզիկան սխեմայի տերմիններով։ Սինթեզի կարգավորման կողմից դա գրադարանի ընտրության և default-քաղաքականության հարց է. թե Vt-ի որ տեսակներն են ընդհանրապես ներառված գործիքին հանձնվող target գրադարանի բազմության մեջ, և ինչ default խառնուրդ է optimizer-ը ուղղորդված դեպի, նախքան որևէ ձեռքով միջամտություն։
Ամենաարագ, ամենա-leaky տեսակները սինթեզի default գրադարանի բազմությունից դուրս թողնելը միտումնավոր քաղաքական ընտրություն է — այն կանգնեցնում է optimizer-ին fast-but-leaky բջիջի հասնելուց «պարզապես որովհետև կարող է» այն path-երի վրա, որոնց երբեք պետք չէր, և այդ արտահոսքի բյուջեն պահում է այն մի քանի path-երի համար, որոնց իսկապես պետք է։
Vt-ի ցրվածությունը միշտ չէ, որ դասավորվում է այնպես, ինչպես կսպասեիք
Threshold voltage-ը ֆիքսված թիվ չէ նույնիսկ մեկ տեսակի համար — այն բաշխման միջինն է, և այդ բաշխման ցրվածությունը (σVt) գալիս է random dopant fluctuation-ից (RDF), FinFET/GAA սարքերի վրա work-function-metal granularity-ից, line-edge roughness-ից, և — multi-Vt գրադարանների համար կրիտիկական — այն masked implant քայլի dose-ից ու տեղաբաշխման tolerance-ից, որ օգտագործվել է տվյալ տեսակը process-ի բնական, un-implanted channel լեգիրումից shift անելու համար։ Գայթակղիչ է ենթադրել, որ երեք տեսակները դասավորվում են կանխատեսելիորեն (օր. «HVT-ն միշտ ամենաաղմկոտն է, LVT-ն՝ ամենասեղմը», կամ հակառակը), բայց մի քանի թիմ, որ աշխատում են վերջին advanced-node նախագծերի վրա, հայտնել են naive ենթադրության հակառակը. SVT բջիջները ցույց են տալիս process/technology variation-ի նկատմամբ ավելի բարձր զգայունություն, քան սպասվում էր՝ մյուս տեսակների համեմատ, որոշ դեպքերում ավելի զգայուն, քան երկու հարևանից որևէ մեկը։
Vt-ն implant dose-ի ոչ-գծային ֆունկցիա է։ Կորի հարթ, saturating մասին նստած տեսակը մնում է սեղմ նույնիսկ իրական dose variation-ի դեպքում. այն տեսակը, որի target-ը պատահի ընկնել կտրուկ անցումային տիրույթին, նույն dose tolerance-ը ուժեղացնում է շատ ավելի մեծ Vₜ ցրվածության։ Թե որ տեսակն է դա՝ կախված է կոնկրետ process-ի implant recipe-ից — երաշխավորված չէ, որ դա կլինի ամենաբարձր- կամ ամենացածր-Vt տեսակը։
Սա համընկնում է այն բանի հետ, ինչ process patent-ներն ու characterization տվյալներն ավելի ընդհանուր առմամբ ցույց են տալիս. implant քայլը, որ ներմուծվել է հատուկ Vt-ն բնական background լեգիրումից shift անելու համար, ավելացնում է իր սեփական dose-ի և տեղաբաշխման variation-ը intrinsic RDF-ի վրայից, և մի համեմատական ուսումնասիրություն գտավ, որ HVT սարքերը ցույց են տալիս turn-on-voltage-ի ավելի մեծ variation, քան SVT-ն, մինչդեռ LVT-ն ցույց տվեց SVT-ից պակաս variation — իրական դասավորություն, բայց ոչ ունիվերսալ, քանի որ հիմքում ընկած implant recipe-ն (և հետևաբար թե որ տեսակն է նստած կորի կտրուկ տիրույթին) տարբերվում է ըստ foundry-ի և node-ի։ Advanced FinFET/GAA node-երում պատկերը կրկին փոխվում է. Vt-ն սահմանվում է հիմնականում work-function-metal (WFM) նստեցումով, այլ ոչ թե channel implant-ով, և foundry-ները հայտնել են Vt-variation-ի (Pelgrom) գործակիցը ակտիվորեն սեղմելու մասին՝ բարելավված WFM processing-ի միջոցով, երբ ընդլայնվել են հինգ- և վեց-տեսակ Vt առաջարկների, որ ընդգրկում են 200–250mV տիրույթ — ինչը նշանակում է, որ տեսակների միջև զգայունության կոնկրետ դասավորությունը շատ իսկ live, node-specific engineering փոփոխական է, ոչ թե ֆիքսված thumb-ի կանոն։
Աղբյուրներ
- Standard Cell Library: Ultimate Guide — AnySilicon
- Standard Cell Library Characterization Flow Using Open Source Tools with Google + SkyWater 130nm PDK — IEEE Xplore
- Standard Cell Library Design and Optimization Methodology for ASAP7 PDK — IEEE Xplore
- 9-Track Cells vs. 12-Track Cells — ASIC for Physical Design
- Implant Dose Sensitivity of 0.1µm CMOS Inverter Delay — IEEE Xplore
- Cross-Corner Delay Variation Model for Standard Cell Libraries — IEEE Xplore
- Multi-Vt Device Offerings for Advanced Process Nodes — SemiWiki
- Wrestling With Variation In Advanced Node Designs — Semiconductor Engineering
- Multi-Vt տեսակների անվանումը (ULVT/LVT/SVT/HVT), don't-use ցուցակի պայմանավորվածությունները և dont_use/dont_touch գործիքի semantics-ը — ընդհանուր արդյունաբերական/գործիքի-փաստաթղթային գիտելիք, ոչ թե մեկ citable աղբյուր