Konstrukce založená na standardních článcích

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] .

Konstrukce standardní buňky

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í buněčné knihovny

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:

  1. Front-end obsahuje logické popisy (Verilog, VHDL), charakterizaci buněk ( Synopsys Liberty, ALF a SDF) a také pomocné prvky pro ověření funkčnosti (MET, Fastscan atd.).
  2. Back-end obsahuje popisy týkající se fyzické implementace buněk. Jedná se o fyzické abstrakce ve formátu Cadence LEF nebo Synopsys Milkyway, extrahované a rtl netlisty. V závislosti na distribučních podmínkách knihovny může navíc obsahovat soubory GDS, databázi OA nebo CDBA.
Front-end

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:

  1. Synopsys navrhl model CCS (Composite Current Source). Tento model zohlednil změnu vstupní kapacity v závislosti na dalších faktorech [3]
  2. V reakci na CCS navrhla EDA vývojářů Si2.org společně s Cadence open-source model ECSM (Effective Current Source Model), který také používal nelineární vstupní přední model, který umožňoval přesnější výpočet vstupní kapacita [4]

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-end

LEF (Layout exchange format) je podmíněně rozdělen na knihovní a technologickou část

  1. Knihovní část obsahuje geometrické informace o vnější fyzické struktuře buněk. Ve skutečnosti se jedná o vnější geometrii buněk, blokády a informace o umístění vstupů a výstupů.

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í.

  1. Technologická část obsahuje řadu návrhových pravidel nutných pro umístění čipu a zapojení: požadavky na rozměry kovu, hustotu uložení, rozestupy (vzdálenosti mezi sousedními blokacemi, spoje (via), kovy, články atd.), proudové hustoty (požadavky na elektromigraci ) a mnoho dalších technologických informací. Tyto informace používá CAD systém pro umístění/trasu ke správnému umístění a směrování podle kódu.

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.

Klady a zápory standardní buněčné metodiky

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:

  1. Design z hotových bloků výrazně zjednodušuje a urychluje vývoj
  2. Použití abstraktních reprezentací fyzické implementace buněk může výrazně snížit využití paměti pracovní stanice, což snižuje náklady (vzhledem k nižším požadavkům na konfiguraci pracovních stanic) a urychluje proces umístění a zapojení.
  3. Použití tabulek zpoždění a podobných informací může zkrátit dobu simulace obvodu z týdnů nebo dnů na hodiny ve srovnání se simulacemi tranzistorů.

Tato technologie má však také řadu nevýhod:

  1. Protože soubor standardních prvků je omezený, proces návrhu založený na této metodice není příliš flexibilní. V praxi to znamená, že velikost výsledného IC bude větší ve srovnání s podobným obvodem navrženým na úrovni tranzistoru.
  2. Vzhledem k aproximaci časových parametrů uvedených v knihovních tabulkách jsou výsledky IC modelování přibližné a lze je použít pouze ve fázi návrhu obvodu.
  3. Projekt je velmi závislý na kvalitě knihovny

Přes tyto nevýhody se standardní buněčná metodika stala de facto standardem v oblasti mikroelektroniky.



Míra obtížnosti

Pro návrhy založené na standardních článcích se obvykle používá metrika nezávislá na technologii (ekvivalent tranzistoru).

Viz také

Poznámky

  1. Cerebras Wafer Scale Engine je gigantický čip velikosti iPad Pro s více než 1 bilionem tranzistorů a TDP... 15 kW Archivováno 7. října 2019 na Wayback Machine , 20. srpna 2019 - „Procesor Intel NNP-T, . . 27 miliard tranzistorů... GPU Nvidia TU102,.. obsahuje 18,6 miliard tranzistorů a GV100 - 21,1 miliard"
  2. ↑ Inside Volta: Nejpokročilejší datové centrum GPU  na světě . Blog vývojáře NVIDIA (10. května 2017). Získáno 11. prosince 2019. Archivováno z originálu 09. ledna 2018.
  3. Archivovaná kopie (odkaz není dostupný) . Získáno 4. června 2010. Archivováno z originálu 24. září 2015. 
  4. Formát knihovny ECSM Cadence . Získáno 4. června 2010. Archivováno z originálu 11. května 2009.

Odkazy