Proiectare bazată pe celule standard

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

Construcția unei celule standard

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.

Biblioteci de celule standard

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:

  1. Front-end-ul include descrieri logice (Verilog, VHDL), caracterizarea celulelor ( Synopsys Liberty, ALF și SDF), precum și elemente auxiliare pentru verificarea funcțională (MET, Fastscan etc.).
  2. Back-end-ul conține descrieri legate de implementarea fizică a celulelor. Acestea sunt abstracții fizice în format Cadence LEF sau format Synopsys Milkyway, netlist-uri extrase și rtl. În funcție de condițiile de distribuție ale bibliotecii, aceasta poate conține în plus fișiere GDS, o bază de date OA sau CDBA.
Front-end

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:

  1. Synopsys a propus un model CCS- (Composite Current Source). Acest model a luat în considerare modificarea capacității de intrare în funcție de alți factori [3]
  2. Ca răspuns la CCS, EDA a dezvoltatorilor Si2.org, împreună cu Cadence, au propus un model open-source ECSM- (Effective Current Source Model), care a folosit și un model frontal de intrare neliniar, care a permis un calcul mai precis al capacitatea de intrare [4]

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

LEF (Layout exchange format) este împărțit condiționat în bibliotecă și părți tehnologice

  1. Partea bibliotecă conține informații geometrice despre structura fizică externă a celulelor. De fapt, aceasta este geometria externă a celulelor, blocajele și informațiile despre locația intrărilor și ieșirilor.

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.

  1. Partea tehnologică conține o varietate de reguli de proiectare necesare pentru amplasarea și cablarea așchiilor: cerințe pentru dimensiunile metalului, densitatea de plasare, distanțe (distanțele dintre blocajele adiacente, joncțiuni (via), metale, celule etc.), densități de curent (cerințe pentru electromigrare). ) și multe alte informații tehnologice. Aceste informații sunt utilizate de sistemul CAD de locație/rută pentru a plasa și a ruta corect conform codului.

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.

Avantaje și dezavantaje ale metodologiei celulare standard

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:

  1. Proiectarea din blocuri gata făcute simplifică și accelerează foarte mult dezvoltarea
  2. Utilizarea reprezentărilor abstracte ale implementării fizice a celulelor poate reduce semnificativ utilizarea memoriei stației de lucru, ceea ce reduce costul (datorită cerințelor mai mici pentru configurarea stațiilor de lucru) și accelerează procesul de plasare și cablare.
  3. Utilizarea tabelelor de întârziere și a informațiilor similare poate reduce timpul de simulare a circuitului de la săptămâni sau zile la ore în comparație cu simulările cu tranzistori.

Cu toate acestea, această tehnologie are și o serie de dezavantaje:

  1. Întrucât setul de elemente standard este limitat, procesul de proiectare bazat pe această metodologie nu este foarte flexibil. În termeni practici, aceasta înseamnă că dimensiunea circuitului integrat rezultat va fi mai mare în comparație cu un circuit similar proiectat la nivelul tranzistorului.
  2. Datorită aproximării parametrilor de timp enumerați în tabelele bibliotecii, rezultatele modelării IC sunt aproximative și pot fi utilizate numai în etapa de proiectare a circuitului.
  3. Proiectul depinde foarte mult de calitatea bibliotecii

În ciuda acestor dezavantaje, metodologia celulară standard a devenit standardul de facto în domeniul microelectronicii.



O măsură a dificultății

Pentru proiectele bazate pe celule standard, se utilizează de obicei o metrică independentă de tehnologie (echivalentul tranzistorului).

Vezi și

Note

  1. Cerebras Wafer Scale Engine este un cip gigantic de dimensiunea iPad Pro, cu peste 1 trilion de tranzistori și un TDP de... 15 kW Arhivat 7 octombrie 2019 la Wayback Machine , 20 august 2019 - „Procesor Intel NNP-T, . . 27 de miliarde de tranzistori... GPU Nvidia TU102,.. conține 18,6 miliarde de tranzistori, iar GV100 - 21,1 miliarde"
  2. ↑ Inside Volta: Cel mai avansat centru de date GPU  din lume . Blogul dezvoltatorilor NVIDIA (10 mai 2017). Preluat la 11 decembrie 2019. Arhivat din original la 09 ianuarie 2018.
  3. Copie arhivată (link nu este disponibil) . Consultat la 4 iunie 2010. Arhivat din original pe 24 septembrie 2015. 
  4. Cadence ECSM Library Format . Consultat la 4 iunie 2010. Arhivat din original la 11 mai 2009.

Link -uri