ERK'2022, Portorož, 19-23 19 Naˇ crtovanje in vrednotenje ASIC digitalnih vezij z orodjem OpenLANE Patricio Buli´ c 1 , Ratko Pilipovi´ c 1 , Uroˇ s Lotriˇ c 1 1 Univerza v Ljubljani, Fakulteta za raˇ cunalniˇ stvo in informatiko E-poˇ sta: pa3cio@fri.uni-lj.si Design and evaluation of ASIC digital circuits with OpenLANE This short article presents the OpenLane open source de- sign flow for the physical implementation of digital cir- cuits. OpenLANE is a tape-out-hardened flow that at- tacks the barriers of cost and expertise. OpenLane aims at democratizing ASIC design. Individuals and SMEs can use it to make their chips. Besides, it can replace expen- sive industrial tools in designing and evaluating digital circuits in an academic environment. We use three digi- tal multipliers to compare the OpenLane design flow with the Cadence tool. 1 Uvod Industrijska orodja za fiziˇ cno implementacijo ASIC vezij so zeo draga in tako pogosto nedostopna raziskovalnim ustanovam, manjˇ sim podjetjem in posameznikom. Na- men tega ˇ clanka je, da nas seznani z naˇ crtovanjem digi- talnih integriranih vezij z uporabo odprtokodnega orodja OpenLane ASIC VLSI [1] in procesa Skywater 130nm PDK [2]. OpenLane je ASIC VLSI naˇ crtovalski proces, zgrajen okoli odprtokodnih orodij . OpenLANE je avto- matiziran naˇ crtovalski proces iz RTL v GDSII, ki temelji na veˇ c odprtokodnih orodij ( OpenROAD, Yosys, Magic, Netgen, Fault, OpenSTA, SPEF-Extractor, ...) ter skrip- tah, ki ta orodja poganjajo v pravilnem vrstnem redu, po potrebi preoblikujejo njihove vhode in izhode ter orga- nizirajo rezultate in poroˇ cila [3], [4]. Cilj OpenLANE je ustvariti GDSII datoteko iz RTL opisa brez ˇ cloveˇ skega posredovanja. OpenLANE je prilagojen za Skywater 130nm odprtokodni PDK (Process Design Kit) in se lahko upo- rablja za izdelavo namenskih makro modulov in ˇ cipov. OpenLane in 130nm PDK sta rezultat usklajenega priza- devanja razliˇ cnih akterjev (univerz in industrije) z name- nom demokratizacije ASIC naˇ crtovanja vezij. 2 Proces naˇ crtovanja RTL v GDSII Od zasnove digitalnega vezja do konˇ cnega izdelka upo- rabljamo ponavljajoˇ c se proces naˇ crtovanja. Podrobno- sti samega procesa se lahko spremenijo glede na zahteve (npr. velikost, ˇ casovne omejitve, ipd.), vendar osnovni koncepti ostajajo enaki. Proces naˇ crtovanja RTL v GD- SII razdelimo na 11 korakov: 1. Naˇ crtovanje RTL - naˇ crtovanje digitalnega vezja na ravni prenosov signalov med registri. Pri naˇ crto- vanju RTL praviloma uporabljamo jezike za opis hardverja (HDL), ki zagotavljajo abstrakcijo digi- talnega vezja z uporabo kombinacijske in sekvenˇ cne logika (registrov). Orodje OpenLane zahteva v tem koraku naˇ crtovanje z uporabo jezika Verilog. 2. Verifikacija RTL - omogoˇ ca simulacijo in verifika- cijo RTL modula. 3. Logiˇ cna sinteza (Logic Synthesis) – Logiˇ cna sin- teza preslika RTL modul v standardne logiˇ cne ce- lice. Postopek obiˇ cajno poteka v dveh korakih: (a) preslikovanje HDL opisa digitalnega vezja v generiˇ cna logiˇ cna vrata, (b) preslikovanje iz generiˇ cnih logiˇ cnih vrat v stan- dardne logiˇ cne celice izbranega procesa PDK. Standardne celice imajo fiksno viˇ sino, njihova ˇ sirina pa je praviloma veˇ ckratnik osnovne ˇ sirine. Vsaka standardna celica v PDK ima datoteke tipa SPICE, HDL, LIBERTY , LEF in DEF z abstraktnimi in fiziˇ cnimi postavitvami, ki jih uporabljajo razliˇ cna orodja na razliˇ cnih sto- pnjah v procesu fiziˇ cne implementacije vezij. 4. Statiˇ cna ˇ casovna analiza (Static Timing Analysis - STA) po sintezi. Statiˇ cna ˇ casovna analiza je me- toda verifikacije ˇ casovnih zahtev s preverjanjem vseh moˇ znih poti in iskanju morebitnih krˇ sitev ˇ casovnih zahtev. STA razdeli dizajn na ˇ casovne poti, izraˇ cuna zakasnitev ˇ sirjenja signala vzdolˇ z vsake poti in pre- veri krˇ sitve ˇ casovnih omejitev. 5. Naˇ crtovanje tlorisa (Floorplanning) - gre za dolo- ˇ citev povrˇ sine na siliciju, kjer bodo postavljene lo- giˇ cne celice vezja ter makro bloki. V tej fazi se doloˇ ci tudi postavitev pinov ter napajalnih linij (Po- wer distribution Network) na ˇ cipu. 6. Postavitev (Placement)– v tem koraku se celice po- stavijo v posamezne vrstice znotraj tlorisa. Celice so medseboj poravnane glede na opis prikljuˇ ckov v datoteki LEF. Postavitev poteka v dveh korakih: globalno in podrobno. Pri globalni postavitvi po- skuˇ samo najti optimalen poloˇ zaj celic. Podrobna 20 Floorplaning Placement CTS Optimization Global Routing RTL Synthesis STA Detailed Routing LEC Antena Diodes Insertion Yosys + abc OpenSTA Yosys Detailed Routing TritonRoute RC Extraction Physical Verication gds2 Streaming STA OpenSTA magic, netgen magic spef-extractor Synthesis Exploration Design Exploration OpenRoad Physical Implementation Post-routing evaluation Synthesis RTL design designs/src/*.v SKY130 PDK OpenLane Design Flow GDS2/ LEF Slika 1: Potek procesa naˇ crtovanja iz RTL v GDSII v okolju OpenLane. umestitev nato postavi celice tako, da skuˇ sa mini- mizirati dolˇ zine povezovalnih ˇ zic, zakasnitve, po- rabo, ter pustiti dovolj prostora za povezovalne in napajalne linije. 7. Sinteza urinega drevesa (Clock Tree Synthesis - CTS) – v tem koraku se ustvari distribucijsko omreˇ zje urinega signala, ki se uporablja za dostavo ure vsem sinhronim celicam. Glavni cilj je ustvariti distribu- cijsko omreˇ zje, ki zagotavlja minimalen zdrs uri- nega signala (clock skew). 8. Usmerjanje (Routing) – v tem koraku se doloˇ cijo povezave med standardnimi celicami z uporabo raz- poloˇ zljivih kovinskih plasti po generiranju urinega drevesa in napajalnega omreˇ zja. Na koncu tega ko- raka se tvori datoteka GDSII, ki vsebuje 3D na- bor poligonov iz postavitve integriranega vezja in jo uporabimo za generiranje mask. GDSII je bi- narna datoteka, ki je de facto industrijski standard za izmenjavo podatkov pri naˇ crtovanju integriranih vezij. Datoteke GDSII so konˇ cni izhodni izdelek procesa naˇ crtovanja integriranega vezja in se pre- dajo proizvajalcem integriranih vezij. 9. Fiziˇ cno preverjanje (Physical verification) - v tem koraku preverimo pravilnost postavitve in povezav doloˇ cenih z usmerjanjem, tako da se preveri, ali je dizajn skladen z vsemi tehnoloˇ skimi zahtevami (Design Rule Checking - DRC), skladen z rezul- tatom logiˇ cne sinteze (Layout Versus Schematic - LVS), da ni antenskih efektov ter da dizajn ustreza vsem elektriˇ cnim zahtevam (Electrical Rule Che- cking - ERC). V primeru kakrˇ snihkoli napak, se ponovi enega ali veˇ c predhodnih korakov. 10. generiranje mask (Layout Post Processing) - to je postopek pretvorbe datoteke GDSII v fiziˇ cne ma- ske. Slika 1 prikazuje potek procesa naˇ crtovanja iz RTL v GD- SII. 3 Uporaba orodja OpenLane 3.1 Ustvarjanje novega dizajna Vsak dizajn mora imeti lastno konfiguracijsko datoteko s spremenljivkami, ki bodo doloˇ cale potek naˇ crtovalskega procesa ter nekatere robne pogoje, kot npr. velikost di- zajna na siliciju ali ˇ sirina napajalnih linij ipd.). Orodje OpenLane vsebuje ukaz za ustvarjanje novega dizajna in njegove konfiguracijske datoteke [5]. Ta ukaz ustvari na- slednjo imeniˇ sko strukturo: designs/ config.tcl src Priporoˇ cljivo je, da Verilog datoteke hranimo v ime- niku src in da ima vrhnji modul naˇ sega dizajna ime .v. Ko bomo zagnali naˇ crtovalski pro- ces, se bo ustvarila naslednja imeniˇ ska struktura: config.tcl src .v runs