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] .
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.
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:
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:
.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-endLEF (Layout Exchange format) är villkorligt uppdelad i biblioteks- och tekniska delar
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.
.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.
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:
Men denna teknik har också ett antal nackdelar:
Trots dessa nackdelar har standardcellmetodologin blivit de facto-standarden inom området för mikroelektronik.
För konstruktioner baserade på standardceller används vanligtvis en teknikoberoende metrik (transistorekvivalent).