Discuție: proiectul OpenROAD își propune să rezolve problema automatizării proiectării procesoarelor

Discuție: proiectul OpenROAD își propune să rezolve problema automatizării proiectării procesoarelor
Fotografie — Pexels — CC BY

După informațiile PWC, piața tehnologiilor semiconductoare crește — anul trecut a atins nivelul de 481 miliarde de dolari. Însă ritmul său de creștere a scăzut recent. a scăzut. Printre cauzele declinului se numără complexitatea proceselor de proiectare a dispozitivelor și lipsa de automatizare.

Cu câțiva ani în urmă, inginerii de la Intel scriau, că pentru a crea un microprocesor de înaltă performanță trebuie să se utilizeze între 100 și 150 de instrumente software distincte (EDA). Situația se poate agrava în cazul dispozitivelor heterogene, a căror arhitectură include mai multe tipuri diferite de cipuri — ASIC, FPGA, CPU sau GPU. Ca rezultat, apar erori în proiectare, care întârzie lansarea produselor.

În ciuda numărului mare de instrumente auxiliare, o parte din muncă inginerii sunt totuși nevoiți să o efectueze manual. Autorii cărții „Advanced Logic Synthesis” afirmă că uneori proiectanții sunt nevoiți să scrie scripturi în Skill sau Python din două milioane de linii pentru a genera biblioteci cu celule.

De asemenea, se scriu scripturi pentru analiza rapoartelor generate de sistemele EDA. Atunci când se dezvoltă un cip folosind tehnologia de 22 nm, aceste rapoarte pot ocupa până la 30 de terabytes.

Pentru a remedia situația și a încerca să standardizeze procesele de proiectare, DARPA a luat inițiativa. În agenție se consideră, de asemenea, că metodele actuale de creare a cipurilor sunt învechite. Organizația a lansat un program de cinci ani OpenROAD, al cărui scop este dezvoltarea de noi instrumente pentru automatizarea proceselor de proiectare a cipurilor.

Ce este programul

În program participă mai multe proiecte care utilizează învățarea automată și tehnologii cloud pentru a automatiza diferite etape ale creării cipurilor. În cadrul inițiativei sunt dezvoltate (schema 1) mai mult de zece instrumente. În continuare, vă vom prezenta în detaliu câteva dintre acestea: Flow Runner, RePlAce, TritonCTS, OpenSTA.

Flow Runner — este un instrument pentru gestionarea bibliotecilor RTL și GDSII. Acestea din urmă reprezintă fișiere de baze de date, care sunt standardul industrial pentru schimbul de informații despre circuitele integrate și topologiile lor. Soluția se bazează pe tehnologia de containere Docker. Flow Runner poate fi rulat atât în mediu cloud, cât și local. Ghidul de instalare se află în depozitul oficial de pe GitHub.

RePlAce — o soluție bazată pe cloud, care utilizează învățarea automată pentru a gestiona plasarea componentelor pe circuitul integrat și pentru a automatiza traseele. De conform unor surse, algoritmii inteligenți cresc eficiența instrumentului cu 2–10% comparativ cu sistemele clasice. În plus, implementarea în cloud facilitează scalabilitatea. Ghidul de instalare și configurare este, de asemenea, disponibil în repository.

TritonCTS — un utilitar pentru optimizarea impulsurilor de ceas aplicate pe cip. Ajută la rutarea semnalelor de sincronizare în toate părțile dispozitivului cu întârzieri identice. Principiul de funcționare se bazează pe H-arbori. Această abordare îmbunătățește eficiența distribuirii semnalelor cu 30%, comparativ cu metodele tradiționale. Dezvoltatorii afirmă că pe termen lung acest procent ar putea crește până la 56%. Codul sursă și scripturile TritonCTS sunt disponibile de pe GitHub.

OpenSTA — un motor pentru analiza temporală statică. Acesta oferă dezvoltatorului posibilitatea de a verifica funcționalitatea cipului înainte de asamblarea efectivă. Un exemplu de cod în OpenSTA arată așa.

@@ -6,7 +6,7 @@ read_liberty -corner ff example1_fast.lib
read_verilog example1.v
link_design top
set_timing_derate -early 0.9
set_timing_derate -early 1.1
set_timing_derate -late 1.1
create_clock -name clk -period 10 {clk1 clk2 clk3}
set_input_delay -clock clk 0 {in1 in2}
# report all corners

Utilitarul suportă descrierea netlist-urilor în cod Verilog, biblioteci în format Liberty, fișiere SDC și altele.

Avantaje și dezavantaje

Experții de la IBM și IEEE pun accent pe, că tehnologiile cloud și învățarea automată ar trebui să fie utilizate în producția de cipuri. În opinia lor, proiectul DARPA ar putea fi un exemplu reușit de implementare a acestei idei și va deschide drumul către schimbări în industrie.

De asemenea, se așteaptă ca deschiderea OpenROAD să formeze în jurul instrumentelor o comunitate puternică și să atragă noi startup-uri.

Discuție: proiectul OpenROAD își propune să rezolve problema automatizării proiectării procesoarelor
Fotografie — Pexels — CC BY

Există deja participanți — un laborator care se ocupă cu dezvoltarea de cipuri la Universitatea din Michigan, va fi prima, care va testa instrumentele deschise OpenROAD. Însă nu se știe încă dacă noile soluții vor avea un efect semnificativ asupra prețului produselor finale.

În general, se așteaptă ca instrumentele, dezvoltate sub auspiciile DARPA, să aibă un impact pozitiv asupra industriei procesoarelor, iar în acest domeniu vor apărea din ce în ce mai multe proiecte noi. Un exemplu poate fi instrumentul gEDA — permite proiectarea de cipuri cu un număr nelimitat de componente. gEDA include utilitare pentru editarea și modelarea circuitelor integrate și trasarea plăcilor. Soluția a fost dezvoltată pentru platforme UNIX, dar o parte dintre componentele sale funcționează și pe Windows. Ghidul pentru utilizarea acestora poate fi găsit în documentația de pe site-ul proiectului.

Instrumentele distribuite gratuit oferă organizațiilor independente și startup-urilor mai multe oportunități. Există o probabilitate ca, în timp, noile abordări OpenROAD pentru dezvoltarea instrumentelor EDA și crearea circuitelor integrate să devină standarde în industrie.

Despre ce scriem în blogul nostru corporativ:

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster