Design baserad på standardceller

Design baserad på standardceller ( engelsk  standardcell ) - en metod för att designa integrerade kretsar med en övervikt av digitala element. I den här metoden döljs den lägsta nivån av VLSI-design för designern av abstrakta logiska element (till exempel NAND- noden ). Den cellbaserade designmetoden tillåter en utvecklare att fokusera på högnivåaspekten av digital design medan andra utvecklare arbetar med den fysiska implementeringen av cellen. Tillsammans med resultaten av halvledarproduktion är metodiken för standardceller ansvarig för möjligheten att designa både enkla integrerade kretsar (upp till flera tusen transistorer) och de mest komplexa VLSI och system på ett chip (SOC) med antalet transistorer som når tiotals miljarder [1] [2] .

Konstruktion av en standardcell

En standardcell består av en grupp transistorer och anslutningar mellan dem som implementerar antingen någon logisk funktion ( AND , OR , XOR , XNOR , inverter ) eller ett lagringselement (som flipflop eller latch flip-flops). De enklaste cellerna är en direkt representation av de elementära booleska funktionerna NAND, NOR, XOR; ofta används mer komplexa celler (full två-bits adderare eller multiplexerad D-flip-flop). En cells logiska funktionalitet kallas dess logiska vy : cellens beteende motsvarar en sanningstabell för kombinationslogik och en tillståndsövergångstabell ( en:state transition table ) (för sekventiell logik, se sekventiell logik ).

Vanligtvis är en standardcell initialt utformad på transistornivå, i form av en transistoriserad en:netlist . Det är en beskrivning av varje transistor och anslutningarna mellan dem; nätlistan innehåller också portar - anslutningspunkter till andra delar av mikroprocessorn. Celldesigners använder CAD - system som SPICE för att simulera nätlistans elektriska beteende genom att mata den med olika signaler och erhålla det beräknade analoga kretssvaret tillsammans med dess timing. Simuleringen verifierar att den givna nätlistan faktiskt utför den nödvändiga funktionen och förutsäger strömförbrukningen och utbredningsfördröjningen för signalerna.

Eftersom de logiska och nätlistade representationerna av kretsen endast är användbara för abstrakt design och simulering, och inte för chiptillverkning, kräver en standardcell utveckling av en fysisk implementering. Det kallas layoutvy och är den lägsta abstraktionsnivån i utvecklingen. Ur tillverkarens synvinkel är denna representation av cellerna den viktigaste, eftersom det är lätt att få masker för litografi från den. Cellrepresentationen är uppdelad i baslager, som motsvarar transistorns olika strukturer och sammankopplar som kortsluter transistorstiften.

För en typisk boolesk funktion är det möjligt att designa en uppsättning transistornätlistor som är funktionellt ekvivalenta. För en typisk nätlista kan du också utveckla många implementeringar i form av en layoutvy som uppfyller prestandakraven för en nätlista. Utmaningen för konstruktören är att minska kostnaderna för att tillverka en integrerad krets (vanligtvis genom att minimera fotavtrycket) samtidigt som cellens hastighet och effektkrav bibehålls.

Standardcellbibliotek

Standardcellbiblioteket är en samling lågnivåceller för logiska funktioner, flip-flops, register och buffertar. Alla celler är implementerade med fast höjd och variabel bredd. Bibliotekens nyckelegenskap är enhetligheten hos cellhöjder, vilket gör att de kan ordnas i rader, vilket förenklar uppgiften med automatiskt arrangemang av element. Celler är vanligtvis optimerade för att minska fotavtryck och latens.

Ett typiskt bibliotek är konventionellt uppdelat i två delar:

  1. Front-end innehåller logiska beskrivningar (Verilog, VHDL), cellkarakterisering ( Synopsys Liberty, ALF och SDF), samt hjälpelement för funktionsverifiering (MET, Fastscan, etc.).
  2. Back-end innehåller beskrivningar relaterade till den fysiska implementeringen av cellerna. Dessa är fysiska abstraktioner i Cadence LEF-format eller Synopsys Milkyway-format, extraherade och rtl-netlistor. Beroende på distributionsvillkoren för biblioteket kan det dessutom innehålla GDS-filer, en OA- eller CDBA-databas.
Front-end

Kärnan i front-end-beskrivningen är ett karakteriserat bibliotek av standardelement. Synopsys Liberty Format (.lib) har blivit det de facto industriella formatet, även om alternativa format finns, såsom ALF (Advanced library format).

Den ursprungliga .lib innehåller tabulär cell timing (NLDM). Vanligtvis används 2-dimensionella tabeller som beskriver fördröjningen av ett element beroende på belastningen och tiden för ingångskanten. Men med en ökning av hastigheten på IS visade sig noggrannheten hos denna modell vara otillräcklig. Problemet med NLDM-modellen var att den inte tog hänsyn till att ingångskapacitansen också beror på olika faktorer, såsom ingångsflanken ( Miller-effekten ), celltillstånd, etc. Även om NLDM-modellen stöder karakterisering av ingångskapacitans beroende på tillståndet för andra ingångar, kunde den inte längre tillfredsställa utvecklarna fullt ut. Som svar på detta utvecklades 2 tillägg för .lib-formatet:

  1. Synopsys har föreslagit en CCS-modell (Composite Current Source). Denna modell tog hänsyn till förändringen i ingångskapacitans beroende på andra faktorer [3]
  2. Som svar på CCS föreslog Si2.org-utvecklarnas EDA, tillsammans med Cadence, en öppen källkod ECSM- (Effective Current Source Model) modell, som också använde en icke-linjär ingångsfrontmodell, som möjliggjorde mer exakt beräkning av ingångskapacitans [4]

.lib-bibliotek innehåller inte bara information om fördröjningar, utan också om strömförbrukning (både dynamisk och statisk och intern), dess yta, funktionalitet, brus osv.

Vanligtvis innehåller biblioteket flera .lib-filer: element beräknas för det bästa (maximal hastighet: maxspänning, lägsta temperatur), värsta fall (minimihastighet: lägsta spänning och maxtemperatur) och typiska fall (nominell hastighet, spänning och temperatur). Special PVT (Process, voltage, temperature) kan också användas t ex för att karakterisera elektromigrering, pvt används med maximal spänning och temperatur för att ge maximal ström.

Verilog- och/eller VHDL-modeller är också en viktig del av standardelementbiblioteket. De innehåller en funktionell beskrivning av cellen, samt en matchning till .lib för en korrekt SDF-anteckning.

Fronten innehåller även hjälpkomponenter, till exempel stubbmodeller för formell LEC-verifiering.

Back-end

LEF (Layout Exchange format) är villkorligt uppdelad i biblioteks- och tekniska delar

  1. Biblioteksdelen innehåller geometrisk information om cellernas yttre fysiska struktur. I själva verket är detta den yttre geometrin hos celler, blockeringar och information om platsen för ingångar och utgångar.

Denna abstraktion rekommenderas för användning när du placerar och dirigerar element på ett chip, eftersom information om cellens interna struktur inte är viktig för detta, och användningen av GDS (fullständig beskrivning av den fysiska strukturen av celler) kommer att leda till en dödlig ökning av minnet som används under placering/routing.

  1. Den tekniska delen innehåller en mängd designregler som är nödvändiga för chipplacering och kabeldragning: krav på metalldimensioner, placeringstäthet, avstånd (avstånd mellan intilliggande blockeringar, korsningar (via), metaller, celler, etc.), strömtätheter (krav på elektromigrering). ) och mycket annan teknisk information. Denna information används av plats/rutt CAD-systemet för att korrekt placera och dirigera enligt kod.

.lib-formatet kan också användas för dessa ändamål.

Den andra viktiga detaljen i backend-innehållet i biblioteket med standardelement är nätlistor. Nätlistor levereras i extraherad form (innehåller inte bara aktiva element: transistorer och dioder, utan även passiva: motstånd, kapacitanser och induktanser). Icke-extraherade nätlistor kan också tillhandahållas, som används för LVS i synnerhet.

För varje logisk funktion kan biblioteket tillhandahålla många celler som implementerar den, men som skiljer sig i effekt, fördröjningar eller andra parametrar.

För- och nackdelar med standardcellmetoden

Standardcellmetoden tillåter utvecklare att designa IC:er inte på transistornivå, utan på nivån av abstrakta standardelement, vilket avsevärt kan minska tiden och ansträngningen för att skapa en krets:

  1. Design från färdiga block förenklar och påskyndar utvecklingen avsevärt
  2. Användningen av abstrakta representationer av den fysiska implementeringen av celler kan avsevärt minska användningen av arbetsstationsminne, vilket minskar kostnaderna (på grund av lägre krav på konfigurationen av arbetsstationer) och påskyndar placeringen och ledningsprocessen.
  3. Att använda fördröjningstabeller och liknande information kan minska kretssimuleringstiden från veckor eller dagar till timmar jämfört med transistorsimuleringar.

Men denna teknik har också ett antal nackdelar:

  1. Eftersom uppsättningen av standardelement är begränsad är designprocessen baserad på denna metod inte särskilt flexibel. Rent praktiskt betyder detta att storleken på den resulterande IC kommer att bli större jämfört med en liknande krets som är konstruerad på transistornivå.
  2. På grund av approximationen av tidsparametrarna som anges i bibliotekstabellerna är resultaten av IC-modellering ungefärliga och kan endast användas vid kretsdesignstadiet.
  3. Projektet är mycket beroende av kvaliteten på biblioteket

Trots dessa nackdelar har standardcellmetodologin blivit de facto-standarden inom området för mikroelektronik.



Ett mått på svårighetsgrad

För konstruktioner baserade på standardceller används vanligtvis en teknikoberoende metrik (transistorekvivalent).

Se även

Anteckningar

  1. Cerebras Wafer Scale Engine är ett gigantiskt iPad Pro-chip med över 1 biljon transistorer och en TDP på... 15 kW Arkiverad 7 oktober 2019 på Wayback Machine 20 augusti 2019 - "Intel NNP-T-processor, . . 27 miljarder transistorer... GPU Nvidia TU102,... innehåller 18,6 miljarder transistorer och GV100 - 21,1 miljarder"
  2. ↑ Inside Volta: Världens mest avancerade GPU-datacenter  . NVIDIA-utvecklarblogg (10 maj 2017). Hämtad 11 december 2019. Arkiverad från originalet 09 januari 2018.
  3. Arkiverad kopia (länk ej tillgänglig) . Hämtad 4 juni 2010. Arkiverad från originalet 24 september 2015. 
  4. Kadens ECSM-biblioteksformat . Hämtad 4 juni 2010. Arkiverad från originalet 11 maj 2009.

Länkar