Návrh založený na standardních buňkách ( anglicky standard cell ) - způsob návrhu integrovaných obvodů s převahou digitálních prvků. V této metodě je nejnižší úroveň návrhu VLSI před návrhářem skryta abstraktními logickými prvky (například uzel NAND ). Metodika návrhu založená na buňkách umožňuje jednomu vývojáři zaměřit se na aspekt digitálního designu na vysoké úrovni, zatímco ostatní vývojáři pracují na fyzické implementaci buňky. Spolu s úspěchy výroby polovodičů je metodika standardních článků zodpovědná za možnost navrhovat jak jednoduché integrované obvody (až několik tisíc tranzistorů), tak i nejsložitější VLSI a systémy na čipu (SOC) s počtem tranzistorů dosahujícím desítky miliard [1] [2] .
Standardní buňka se skládá ze skupiny tranzistorů a spojení mezi nimi, které implementují buď nějakou logickou funkci ( AND , OR , XOR , XNOR , invertor ) nebo úložný prvek (jako klopné obvody nebo klopné obvody se západkou). Nejjednodušší buňky jsou přímou reprezentací elementárních booleovských funkcí NAND, NOR, XOR; často se používají složitější buňky (plná dvoubitová sčítačka nebo multiplexovaný D-flip-flop). Logická funkčnost buňky se nazývá její logický pohled : chování buňky odpovídá pravdivostní tabulce pro kombinační logiku a tabulce přechodů stavů ( en:state transition table ) (pro sekvenční logiku viz sekvenční logika ).
Standardní buňka je obvykle původně navržena na úrovni tranzistoru ve formě tranzistorového en:netlist . Je to popis každého tranzistoru a spojení mezi nimi; netlist obsahuje i porty - přípojné body k dalším částem mikroprocesoru. Návrháři buněk používají systémy CAD , jako je SPICE , k simulaci elektrického chování netlistu tím, že do něj přivádějí různé signály a získávají vypočítanou odezvu analogového obvodu spolu s jeho načasováním. Simulace ověřuje, že daný netlist skutečně plní požadovanou funkci a predikuje spotřebu energie a zpoždění šíření signálů.
Protože logické a netlist reprezentace obvodu jsou užitečné pouze pro abstraktní návrh a simulaci, a nikoli pro výrobu čipů, standardní buňka vyžaduje vývoj fyzické implementace. Říká se tomu layout view a je nejnižší úrovní abstrakce ve vývoji. Z pohledu výrobce je toto znázornění buněk nejdůležitější, protože z něj lze snadno získat masky pro litografii. Reprezentace buňky je rozdělena na základní vrstvy, které odpovídají různým strukturám tranzistoru a propojují, které zkratují piny tranzistoru dohromady.
Pro typickou booleovskou funkci je možné navrhnout sadu tranzistorových netlistů, které jsou funkčně ekvivalentní. Také pro typický netlist můžete vyvinout mnoho implementací ve formě zobrazení rozvržení , které splňují požadavky na výkon netlistu. Výzvou pro konstruktéra je snížit náklady na výrobu integrovaného obvodu (obvykle minimalizací půdorysu) při zachování rychlosti buněk a požadavků na výkon.
Standardní knihovna buněk je kolekce nízkoúrovňových buněk pro logické funkce, klopné obvody, registry a vyrovnávací paměti. Všechny buňky jsou implementovány s pevnou výškou a proměnnou šířkou. Klíčovou vlastností knihoven je jednotnost výšek buněk, což umožňuje jejich uspořádání do řad, což zjednodušuje úlohu automatického uspořádání prvků. Buňky jsou obvykle optimalizovány pro snížení stopy a latence.
Typická knihovna se běžně dělí na dvě části:
Jádrem popisu front-endu je charakterizovaná knihovna standardních prvků. Synopsys Liberty Format (.lib) se stal de facto průmyslovým formátem, ačkoli existují alternativní formáty, jako je ALF (Advanced library format).
Původní .lib obsahuje tabulkové časování buněk (NLDM). Obvykle se používají 2-rozměrné tabulky, které popisují zpoždění prvku v závislosti na zatížení a době vstupní hrany. Se zvýšením rychlosti IS se však přesnost tohoto modelu ukázala jako nedostatečná. Problém s modelem NLDM byl v tom, že nezohlednil skutečnost, že vstupní kapacita závisí také na různých faktorech, jako je vstupní hrana ( Millerův efekt ), stav buňky atd. Přestože model NLDM podporuje charakterizaci vstupní kapacitě v závislosti na stavu ostatních vstupů již nemohl plně uspokojit vývojáře. V reakci na to byla vyvinuta 2 rozšíření pro formát .lib:
Knihovny .lib obsahují nejen informace o zpožděních, ale také o spotřebě energie (dynamické i statické a vnitřní), její ploše, funkčnosti, hlučnosti atp.
Obvykle knihovna obsahuje několik souborů .lib: prvky jsou vypočítány pro nejlepší (maximální rychlost: maximální napětí, minimální teplota), nejhorší případ (minimální rychlost: minimální napětí a maximální teplota) a typický případ (nominální rychlost, napětí a teplota). Speciální PVT (proces, napětí, teplota) lze také použít např. k charakterizaci elektromigrace, pvt se používá s maximálním napětím a teplotou pro zajištění maximálního proudu.
Nezbytnou součástí standardní knihovny prvků jsou také modely Verilog a/nebo VHDL. Obsahují funkční popis buňky a také shodu s .lib pro správnou anotaci SDF.
Front-end také obsahuje pomocné komponenty, například modely pahýlů pro formální ověření LEC.
Back-endLEF (Layout exchange format) je podmíněně rozdělen na knihovní a technologickou část
Tato abstrakce se doporučuje použít při umístění a směrování prvků na čip, protože informace o vnitřní struktuře buňky pro to nejsou důležité a použití GDS (úplný popis fyzické struktury buněk) povede k fatálnímu zvýšení paměti použité během umístění/směrování.
Pro tyto účely lze také použít formát .lib.
Druhým důležitým detailem back-endového obsahu knihovny standardních prvků jsou netlisty. Netlisty jsou dodávány v extrahované podobě (obsahují nejen aktivní prvky: tranzistory a diody, ale i pasivní: rezistory, kapacity a indukčnosti). Lze dodat i neextrahované netlisty, které se používají zejména pro LVS.
Pro každou logickou funkci může knihovna poskytnout mnoho buněk, které ji implementují, ale liší se výkonem, zpožděním nebo jinými parametry.
Standardní metodika buněk umožňuje vývojářům navrhovat IC ne na úrovni tranzistorů, ale na úrovni abstraktních standardních prvků, což může výrazně snížit čas a úsilí k vytvoření obvodu:
Tato technologie má však také řadu nevýhod:
Přes tyto nevýhody se standardní buněčná metodika stala de facto standardem v oblasti mikroelektroniky.
Pro návrhy založené na standardních článcích se obvykle používá metrika nezávislá na technologii (ekvivalent tranzistoru).