Proiectare bazată pe celule standard ( celula standard engleză ) - o metodă de proiectare a circuitelor integrate cu predominanța elementelor digitale. În această metodă, cel mai scăzut nivel de proiectare VLSI este ascuns de proiectant de elemente logice abstracte (de exemplu, nodul NAND ). Metodologia de proiectare bazată pe celule permite unui dezvoltator să se concentreze pe aspectul de nivel înalt al designului digital, în timp ce alți dezvoltatori lucrează la implementarea fizică a celulei. Împreună cu realizările producției de semiconductori, metodologia celulelor standard este responsabilă de posibilitatea de a proiecta atât circuite integrate simple (până la câteva mii de tranzistori), cât și cele mai complexe VLSI și sisteme pe cip (SOC) cu numărul de tranzistori care atinge zeci de miliarde [1] [2] .
O celulă standard constă dintr-un grup de tranzistori și conexiuni între ele care implementează fie o funcție logică ( ȘI , SAU , XOR , XNOR , invertor ) fie un element de stocare (cum ar fi flipflop sau flip-flop cu blocare). Cele mai simple celule sunt o reprezentare directă a funcțiilor booleene elementare NAND, NOR, XOR; adesea sunt folosite celule mai complexe (adunator complet de doi biți sau D-flip-flop multiplexat). Funcționalitatea logică a unei celule se numește vizualizarea sa logică : comportamentul celulei corespunde unui tabel de adevăr pentru logica combinațională și unui tabel de tranziție de stări ( en:state transition table ) (pentru logica secvențială, vezi logica secvențială ).
De obicei, o celulă standard este proiectată inițial la nivel de tranzistor, sub forma unui tranzistor en:netlist . Este o descriere a fiecărui tranzistor și a conexiunilor dintre ele; netlistul include și porturi - puncte de conectare la alte părți ale microprocesorului. Designerii de celule folosesc sisteme CAD , cum ar fi SPICE , pentru a simula comportamentul electric al netlist-ului, furnizându-i diverse semnale și obținând răspunsul circuitului analogic calculat împreună cu sincronizarea acestuia. Simularea verifică dacă netlistul dat îndeplinește de fapt funcția necesară și prezice consumul de energie și întârzierea de propagare a semnalelor.
Deoarece reprezentările logice și netlist ale circuitului sunt utile doar pentru proiectarea abstractă și simulare, și nu pentru fabricarea cipurilor, o celulă standard necesită dezvoltarea unei implementări fizice. Se numește vizualizare layout și este cel mai scăzut nivel de abstractizare în dezvoltare. Din punctul de vedere al producătorului, această reprezentare a celulelor este cea mai importantă, deoarece este ușor să obțineți măști pentru litografie din aceasta. Reprezentarea celulei este împărțită în straturi de bază, care corespund diferitelor structuri ale tranzistorului și interconectează care scurtează pinii tranzistorului.
Pentru o funcție booleană tipică, este posibil să se proiecteze un set de liste de rețele de tranzistori care sunt echivalente din punct de vedere funcțional. De asemenea, pentru un netlist obișnuit, puteți dezvolta multe implementări sub forma unui aspect de vizualizare care satisface cerințele de performanță ale unui netlist. Provocarea pentru proiectant este de a reduce costul de fabricație a unui circuit integrat (de obicei prin reducerea la minimum a amprentei) menținând în același timp viteza celulei și cerințele de putere.
Biblioteca de celule standard este o colecție de celule de nivel scăzut pentru funcții logice, flip-flops, registre și buffere. Toate celulele sunt implementate cu înălțime fixă și lățime variabilă. Proprietatea cheie a bibliotecilor este uniformitatea înălțimii celulelor, ceea ce le permite să fie aranjate în rânduri, simplificând sarcina de aranjare automată a elementelor. Celulele sunt de obicei optimizate pentru a reduce amprenta și latența.
O bibliotecă tipică este împărțită în mod convențional în două părți:
Miezul descrierii front-end este o bibliotecă caracterizată de elemente standard. Synopsys Liberty Format (.lib) a devenit de facto formatul industrial, deși există formate alternative, cum ar fi ALF (Advanced library format).
.lib original conține sincronizarea celulelor tabelare (NLDM). În mod obișnuit, sunt utilizate tabele bidimensionale care descriu întârzierea unui element în funcție de sarcină și de timpul marginii de intrare. Cu toate acestea, odată cu creșterea vitezei IS, precizia acestui model s-a dovedit a fi insuficientă. Problema cu modelul NLDM a fost că nu a ținut cont de faptul că capacitatea de intrare depinde și de diverși factori, cum ar fi marginea de intrare ( efectul Miller ), starea celulei etc. Deși modelul NLDM acceptă caracterizarea capacitatea de intrare în funcție de starea altor intrări, nu a mai putut satisface pe deplin dezvoltatorii. Ca răspuns la aceasta, au fost dezvoltate 2 extensii pentru formatul .lib:
Bibliotecile .lib conțin nu numai informații despre întârzieri, ci și despre consumul de energie (atât dinamic, cât și static și intern), suprafața acestuia, funcționalitatea, zgomotul etc.
De obicei, biblioteca conține mai multe fișiere .lib: elementele sunt calculate pentru cel mai bun (viteză maximă: tensiune maximă, temperatură minimă), cel mai rău caz (viteză minimă: tensiune minimă și temperatură maximă) și caz tipic (viteză nominală, tensiune și temperatură). PVT special (Proces, tensiune, temperatură) poate fi, de asemenea, utilizat, de exemplu, pentru a caracteriza electromigrarea, pvt este utilizat cu tensiune maximă și temperatură pentru a furniza curent maxim.
Modelele Verilog și/sau VHDL sunt, de asemenea, o parte esențială a bibliotecii standard de elemente. Acestea conțin o descriere funcțională a celulei, precum și o potrivire cu .lib pentru o adnotare SDF adecvată.
Partea frontală include, de asemenea, componente auxiliare, de exemplu, modele stub pentru verificarea LEC formală.
Back-endLEF (Layout exchange format) este împărțit condiționat în bibliotecă și părți tehnologice
Această abstracție este recomandată pentru utilizare la plasarea și rutarea elementelor pe un cip, deoarece informațiile despre structura internă a celulei nu sunt importante pentru aceasta, iar utilizarea GDS (descrierea completă a structurii fizice a celulelor) va duce la o fatalitate. creșterea memoriei utilizate în timpul plasării/rutării.
Formatul .lib poate fi folosit și în aceste scopuri.
Al doilea detaliu important al conținutului back-end al bibliotecii de elemente standard este netlist-urile. Netlist-urile sunt livrate sub formă extrasă (conțin nu numai elemente active: tranzistoare și diode, dar și pasive: rezistențe, capacități și inductanțe). Pot fi, de asemenea, furnizate netlist-uri neextrase, care sunt utilizate în special pentru LVS.
Pentru fiecare funcție logică, biblioteca poate furniza multe celule care o implementează, dar diferă ca putere, întârzieri sau alți parametri.
Metodologia celulei standard permite dezvoltatorilor să proiecteze circuite integrate nu la nivelul tranzistorului, ci la nivelul elementelor standard abstracte, ceea ce poate reduce semnificativ timpul și efortul de a crea un circuit:
Cu toate acestea, această tehnologie are și o serie de dezavantaje:
În ciuda acestor dezavantaje, metodologia celulară standard a devenit standardul de facto în domeniul microelectronicii.
Pentru proiectele bazate pe celule standard, se utilizează de obicei o metrică independentă de tehnologie (echivalentul tranzistorului).