Projecte OpenROAD
El projecte OpenROAD (Open Realization of Autonomous Design) és un important projecte de codi obert que pretén proporcionar un flux de disseny de circuits integrats digitals de principi a fi (RTL a GDSII) completament automatitzat, eliminant així la necessitat d'intervenció humana. El projecte, liderat per la UC San Diego, té com a objectiu democratitzar el disseny de maquinari i promoure la innovació ràpida en el disseny de circuits integrats (CI) reduint les barreres relacionades amb el cost, el temps i l'experiència.
OpenROAD es va iniciar el 2018 per abordar l'alt cost, l'experiència necessària i la imprevisibilitat de les eines EDA convencionals com a part de la iniciativa IDEA[1] de DARPA. El seu objectiu és establir un flux de 24 hores sense presència humana (NHIL) que coincideixi amb la qualitat habitual de disseny i produeixi dissenys directament adequats per a la fabricació. OpenROAD es publica sota una llicència BSD permissiva per mantenir-lo disponible gratuïtament, tot i la inclusió d'eines comercials.
Entre les principals característiques d'OpenROAD hi ha les interfícies d'scripting (Tcl/Python) i una base de dades comuna (OpenDB), que ajuden els dissenyadors a automatitzar o personalitzar cada fase del procés de disseny digital. Els projectes que utilitzen el flux van des de Hammer[2] a la Universitat de Califòrnia, Berkeley, fins al flux analògic/de senyal mixt FASoC[3] i el compilador de silici Zero-ASIC.[4] Els fluxos ASIC oberts prefabricats inclouen scripts OpenLane i OpenROAD.[5][6]
Història i motivació
[modifica]El disseny modern de circuits integrats digitals és un procés complex i de diverses etapes que requereix eines especialitzades, cares i pròpies, juntament amb experiència en l'ajust dels seus paràmetres. El programa IDEA de DARPA[7] sota la direcció d'Andreas Olofsson, va iniciar OpenROAD, un flux RTL-a-GDSII autònom i de codi obert dissenyat per abordar la "crisi dels costos de disseny" eliminant la necessitat de retocs i llicències expertes, democratitzant així el disseny de xips i permetent que les empreses més petites, els grups de recerca i les institucions acadèmiques produeixin dissenys de semiconductors. L'objectiu era crear un flux sense humans en bucle que pogués prendre una descripció RTL i generar un disseny llest per a màscara GDSII en menys de 24 hores, amb un rendiment, potència i àrea (PPA) equivalents als processos de disseny comercials.[8]
OpenROAD va ser dirigit pel professor Andrew Kahng de la UC San Diego. Compta amb el suport de socis comercials com Arm, Qualcomm, SkyWater i altres. La primera iteració (v1.0, 2020) d'una tecnologia FinFET actual (GF12LP, ~12 nm) va produir un flux complet i integrat que produïa dissenys nets de DRC. Juntament amb una millora gairebé completa dels nodes tecnològics del PPA, la versió 2.0 (2021) inclou capacitats avançades (extracció de RC, codisseny de paquets de xips). Centenars de dissenys a l'obert SkyWater 130 nm PDK (complet amb un llançador Google MPW) i execucions experimentals en Intel 22 nm FinFET el 2021 ha ajudat a la comunitat a millorar el flux al llarg del temps. Formant la base dels projectes OpenLane i ChipIgnite, l'ecosistema de codi obert per a dissenys RISC-V System-on-Chip (SoC) s'ha expandit ràpidament i ara es considera la infraestructura de disseny físic de codi obert líder per a circuits integrats digitals. A través de cursos universitaris i esdeveniments com ara el 7 nm OpenROAD Design Challenge, que té com a objectiu augmentar la base d'usuaris, la iniciativa promou agressivament l'educació i la formació dels treballadors.[9][10][11][12]
Filosofia del disseny i tècnica arquitectònica
[modifica]Les pedres angulars de la filosofia de disseny d'OpenROAD són l'obertura i l'automatització. La seva arquitectura es basa en una base de dades de disseny en memòria compartida i motors modulars, cadascun dels quals executa un pas del flux. Creades per Athena Design Systems i convertides en codi obert per a aquest projecte, totes les eines comparteixen un model de dades OpenDB comú i transmeten dades a través de LEF/DEF estàndard (i les seves variants binàries). Per a RTL-to-GDS, els dissenyadors poden emprar un pipeline autònom d'scripts de flux OpenROAD (ORFS) o, per a un control addicional, poden cridar certes etapes mitjançant ordres Tcl/Python impulsades per scripts. Per tant, OpenROAD no és només un flux autònom de referència, sinó també una plataforma versàtil per a fluxos personalitzats o recerca.[13][14]
No-Human-In-Loop (NHIL)
[modifica]Els instruments estan dissenyats per funcionar sense la direcció humana. Per exemple, l'AutoTuner d'OpenROAD, una arquitectura d'aprenentatge automàtic, explora metòdicament la configuració de les eines, reduint així la necessitat d'un ajust manual per part d'experts.[15]
Model de dades integrat
[modifica]Totes les eines desen el disseny en una base de dades oberta (OpenDB). OpenDB és jeràrquic (permet qualsevol jerarquia de cel·les), ric en característiques EDA com ara connexions de xarxa, geometria de disseny i temporització, i compatible amb LEF/DEF. Això significa que qualsevol pas pot consultar o modificar les dades del xip sense incórrer en la despesa d'E/S de fitxers. Per exemple, els resultats de la col·locació es poden transmetre immediatament a la síntesi de l'arbre de rellotge, o els paràsits en memòria de l'encaminament es poden reportar a l'anàlisi de sincronització estàtica.[16]
Extensibilitat i scripts
[modifica]Tots els components d'OpenROAD es poden avaluar mitjançant una ordre Tcl, com ara clock_tree_synthesis, location i route, que poden incloure scripts i extensions. Una API de Python, el paquet OpenROAD-OpenDbPy, permet el mateix accés des de Python. Això permet als usuaris integrar OpenROAD en fluxos d'eines més generals o construir els seus propis scripts de disseny. Els dissenyadors poden utilitzar l'API per gestionar tasques que no són natives d'OpenROAD, com ara ubicacions simètriques o generació personalitzada de la xarxa elèctrica.[17]
Integració i qualitat contínues
[modifica]OpenROAD utilitza Jenkins a Google Cloud per mantenir un pipeline d'integració contínua (CI) rigorós, per detectar errors i omissions el més aviat possible. Els nous dissenys, incloent-hi projectes MPW genuïns i eines d'anàlisi de codi (com ara Coverity i sanejadors de codi), comproven si hi ha errors i sovint s'utilitzen en proves de regressió. Aquest enfocament en l'automatització i les proves permet la identificació primerenca d'errors i l'estabilitat en una àmplia gamma de dissenys d'usuari.[18]
Suport multinode
[modifica]OpenROAD és agnòstic a la tecnologia i admet múltiples nodes. Verificació en una gamma de PDK, incloent-hi GlobalFoundries (GF) 12 nm, predictiu 7 nm (ASAP7), SkyWater 130 nm i GF 65 nm (CLN65LP), s'ha confirmat. Alternativament, quan un usuari subministra biblioteques LEF/DEF o GDSII per a la tecnologia de destinació i inclou les resistències de pin necessàries per a la sincronització i les capacitats de capa per a l'encaminament, OpenROAD canvia automàticament el seu flux. En conseqüència, es pot aplicar tant a processos més antics com a nodes complexos.[19]
Base de dades interna (OpenDB)
[modifica]OpenROAD es basa en OpenDB, la base de dades de disseny en memòria compartida. Desenvolupat inicialment per Athena Design Systems i publicat sota una llicència BSD el 2019, OpenDB pretén donar suport a aquesta iniciativa. Està estretament basat en l'estàndard IEEE LEF/DEF, que ara és compatible amb LEF/DEF 5.6 i inclou millores per a un emmagatzematge adequat.[20]
Cada eina OpenROAD funciona des d'una única instància d'OpenDB. Per exemple, la planificació de planta estableix les cel·les allà; la col·locació canvia aquestes posicions; les eines d'arbre de rellotge afegeixen memòries intermèdies a OpenDB; l'encaminament afegeix geometria de cables; i l'anàlisi de temps obté paràsits d'OpenDB. Les dades de la llista de xarxes i la biblioteca de cel·les es col·loquen a OpenDB després de la síntesi lògica. Aquest enfocament de base de dades compartida elimina el cost de la traducció de formats entre etapes i permet una integració estreta, és a dir, canvis incrementals i depuració. OpenDB té com a principals qualitats:
Model complet de llista de xarxes física
[modifica]OpenDB pot representar tota l'arquitectura física, incloent-hi obstacles, cables (geometries d'enrutament), pins, instàncies (amb ubicacions geomètriques), definicions mestres de cel·la i llistes de xarxa. Gràcies al seu suport de N nivells de jerarquia, es poden emmagatzemar i referenciar blocs i submòduls IP.[21]
Propietats i atributs
[modifica]OpenDB ofereix un mètode per afegir dades personalitzades a objectes mitjançant atributs dispersos o densos. Això permet als desenvolupadors afegir més dades, com ara intervals de temps o puntuacions de congestió, a xarxes o cel·les sense haver de reescriure completament la base de dades.
Format binari i E/S LEF/DEF
[modifica]OpenDB té un analitzador sintàctic LEF/DEF integrat i els dissenys sovint s'introdueixen a OpenDB des del format LEF/DEF. OpenDB també admet un format de desament binari propietari per a més velocitat, cosa que permet recarregar els dissenys molt més ràpidament que els formats textuals LEF/DEF. Això és crucial per a un procés autònom que pugui iterar ràpidament.[22]
Consultes ràpides
[modifica]OpenDB està dissenyat per respondre ràpidament a les consultes que solen requerir els algorismes EDA. Amb estructures de dades indexades, és a dir, per cercar xarxes per nom, objectes per un quadre delimitador, etc., pot emmagatzemar la geometria (com ara cables i barreres) de manera compacta. Els encaminadors globals i els analitzadors de congestió, entre altres eines, utilitzen aquestes cerques per avaluar el disseny de manera eficient.
Exportacions de signatura
[modifica]A més de revisar el disseny final, OpenDB us permet documentar-lo. Pot produir DEF i fins i tot GDSII per a l'aprovació del disseny. OpenROAD genera un GDSII utilitzant OpenDB per executar-se fora del DRC i les eines Layout versus schematic (LVS) en el disseny final.[23]
Flux RTL a GDSII
[modifica]Open ROAD segueix els passos habituals d'un backend ASIC. Cada etapa es duu a terme mitjançant una eina oberta i les interfícies utilitzen formats de dades estàndard (LEF/DEF, Liberty, SDC). En cada etapa, OpenROAD proporciona informes i complements complets. Els usuaris poden cercar densitat de cel·les, dades de sincronització (mitjançant OpenSTA), mapes de congestió i altra informació rellevant. Alternativament, executeu en mode sense cap o examineu el flux mitjançant la GUI de l'aplicació OpenROAD. Com que OpenROAD utilitza formats de disseny comuns (Verilog, SDC, Liberty i LEF/DEF) a les seves entrades i sortides, pot interactuar amb moltes eines. Una execució d'OpenROAD-flow-scripts pot, per exemple, cridar write_gds al final i Yosys (read_verilog, synth) al principi. Cada fase de l'operació es pot automatitzar o pausar en qualsevol moment per a la seva inspecció i revisió.
El flux habitual es pot considerar de la següent manera:
Síntesi lògica
[modifica]Una descripció RTL (en Verilog) es converteix primer en una llista de xarxes a nivell de porta mitjançant una eina de síntesi lògica. OpenROAD no té el seu propi sintetitzador i, en canvi, utilitza eines existents. La majoria dels usuaris utilitzen Yosys de codi obert.[24] Llegint l'RTL i una biblioteca de cel·les objectiu (fitxers LIBerty.lib), Yosys produeix una llista de xarxes Verilog aplanada. OpenDB carrega la llista de connexions, que inclou els arcs de temps, a la memòria.[25]
Planificació de planta i col·locació macro
[modifica]La planificació física comença un cop establerta la llista de xarxes, que implica la distribució de macros complexes, blocs prefabricats com ara matrius de memòria, DSP i pads d'E/S, a través del xip. Aquí, OpenROAD ofereix dos enfocaments complementaris:
Macro Placer (TritonMacroPlacer)
Aquesta utilitat posiciona automàticament grans instàncies de macros al dau. TritonMacroPlacer s'adhereix a les restriccions de disseny (com ara la relació d'aspecte i les seccions de manteniment) mentre explora nombroses configuracions de macros dins del pla de planta mitjançant una solució basada en recuit, l'algorisme ParquetFP. Segueix límits com ara les macros que envolten l'halo i l'espaiat dels canals. El mètode cerca "invertint" els llocs de macros dins dels clústers per reduir la longitud del cable o la congestió.
RTL-aware Clustering (RTL-MP)
Dissenyada per organitzar la lògica segons la jerarquia RTL o de flux de dades, la nova eina OpenROAD RTL-MP genera clústers. Cada clúster es gestiona com una "macro" que s'ha de posicionar. Amb aquest enfocament basat en jerarquia, el dissenyador té més llibertat per desenvolupar dissenys que s'assemblin als que es fan a mà. Es va demostrar que RTL-MP organitzava macros en un SoC RISC-V de 12 nm (BlackParrot) de manera que es minimitzava la longitud del cable i es reduïen els camins crítics, produint així una qualitat equivalent a la planificació de planta a mida.
La planificació del sòl ajuda a determinar la forma original del xip, les macrocoordenades i les zones de l'anell de potència. El resultat de la següent etapa es registra, per exemple, com a plànol de planta DEF.
Col·locació de cel·les estàndard
[modifica]Després d'utilitzar les macros, els centenars o centenars de milers de portes lògiques fonamentals, cel·les estàndard, s'organitzen a l'àrea restant. El motor de col·locació analítica utilitzat globalment per OpenROAD és RePlAce[26] Segons el concepte de col·locació de RePlAce, una optimització contínua, cada cel·la es tracta com una partícula carregada. Basada en el descens de gradient accelerat de Nesterov, una solució no lineal distribueix les cel·les per evitar solapaments i les desplaça a longituds de cable més curtes. RePlAce canvia dinàmicament les mides i ofereix una funció innovadora que suavitza localment les regions cel·lulars superposades per promoure la convergència. El resultat és una col·locació d'alta qualitat amb bona encaminabilitat i una longitud de cable de mig perímetre (HPWL) baixa. RePlAce s'executa en mode basat en el temps, guiant la col·locació utilitzant estimacions de congestió de l'encaminament global (normalment utilitzant FastRoute) i informació de slack de l'anàlisi de temps estàtica (normalment OpenSTA). Després de la col·locació global, un pas de legalització fixa les cel·les a l'estructura de fila fixa. La base de dades oberta es carrega amb les coordenades finals de la cel·la.[27]
Síntesi d'arbre de rellotge (CTS)
[modifica]Després de la col·locació, es pot dissenyar la xarxa de rellotges, per a la qual OpenROAD utilitza TritonCTS 2.0. Utilitzant les xarxes de rellotge objectiu i les cel·les col·locades, TritonCTS genera automàticament un arbre de rellotge amb memòria intermèdia que controla cada pin de rellotge. Com que caracteritza els buffers i els cables en temps real, no calen dades de biblioteca precalculades. Normalment, construir un arbre binari equilibrat implica combinar dissipadors, afegir buffers als punts de ramificació i encaminar línies de rellotge, amb l'objectiu de reduir el biaix i minimitzar la latència d'inserció. TritonCTS busca automàticament una xarxa de rellotge amb asimetria zero i latència mínima, fins i tot si els usuaris utilitzen ordres Tcl per canviar paràmetres fonamentals (com ara la velocitat màxima i la capacitat de càrrega). Els pins i els buffers del rellotge generats s'introdueixen a OpenDB. Tot i que TritonCTS ofereix una solució bàsica directament, els scripts permeten actualitzacions úniques de l'arbre de rellotge, com ara arbres H o malles amb memòria intermèdia.[28]
Enrutament global
[modifica]Després de finalitzar la col·locació, però abans de l'enrutament detallat, un encaminador global troba camins aproximats per a cada xarxa en una malla gruixuda. Per a aquest pas, OpenROAD inclou el codi obert FastRoute[29][30] motor de la Universitat Estatal d'Iowa. Això utilitza l'encaminament de xarxa capa per capa que preveu la congestió en funció del disseny establert (cel·les i macros). Organitza les xarxes en funció dels recursos disponibles i tracta cada capa metàl·lica com una graella de rails. Creat per a la velocitat, de manera que pot executar-se dins de bucles de col·locació, FastRoute genera un gràfic d'enrutament global o una col·lecció de "guies d'enrutament", que especifica quines pistes i xarxes de capes s'enrutaran. Aquestes dades ajuden a identificar qualsevol punt d'interès per a la congestió d'encaminament. El resultat de l'encaminament global s'emmagatzema a OpenDB per al seu ús en la col·locació (retroalimentació de congestió) i les entrades detallades de la guia del router.[31]
Enrutament detallat
[modifica]Utilitzant les rutes globals com a entrada, l'enrutament detallat assigna pistes i vies exactes per enllaçar totes les xarxes. El router detallat d'OpenROAD és TritonRoute. Les primeres fases del procediment multietapa de TritonRoute són l'accés als pins, que vincula els pins de les cel·les a les pistes d'encaminament i realitza l'assignació de pistes per a cada xarxa. Després d'aquest encaminament inicial, segueix un procés iteratiu de cerca i reparació que es basa en l'encaminament de laberint. Utilitzant variants dels algorismes A* o Lee, en la fase de "cerca i reparació", els cables congestionats es divideixen i es redirigeixen mitjançant pins o espai addicionals. Triton Route aplica restriccions de disseny (espaiat mínim, amplada i regles de via) mitjançant un motor DRC integrat, fins i tot durant l'encaminament. L'objectiu és construir un disseny net a la DRC, on la geometria del metall/filferro s'ajusti a totes les directrius de disseny. OpenDB inclou tots els segments metàl·lics i punts de via, reflectint així tot el disseny d'encaminament. Un cop finalitzat, TritonRoute genera, mitjançant OpenDB, tota la geometria encaminada en formats DEF i GDS.[32]
Tancament temporal i ECO
[modifica]La verificació de la correcció del temps es realitza mitjançant l'anàlisi del temps després d'un enrutament detallat. OpenROAD analitza la sincronització estàtica amb OpenSTA, amb dades que normalment es descriuen al format estàndard d'intercanvi parasitari o SPEF. OpenSTA estima els temps d'arribada i els slacks llegint els retards paràsits i la llista de xarxes posterior a la ruta. Intenta garantir que el temps final s'ajusti a totes les restriccions. Si el temps no està tancat, OpenROAD pot entrar en un cicle ECO (ordre de canvi d'enginyeria), especialment en casos d'infracció del temps d'espera en les últimes fases (després del CTS). En aquest cas, OpenROAD inicia automàticament un pas ECO iteratiu. Aquesta etapa implica repetir el procediment CTS/timing, afegir buffers al llarg de les xarxes crítiques i/o redimensionar les cel·les fins que s'aconsegueixin els temps de retenció necessaris. El temps millora molt amb aquestes iteracions; un disseny d'OpenTitan va requerir cinc iteracions d'ECO per corregir aproximadament 1.500 infraccions de retenció. Molts processos comencen amb un ECO automatitzat; en el moment del tancament programat, també es pot aplicar un refinament de la col·locació o l'optimització lògica.[33]
Aprovació de DRC/LVS
[modifica]Quan l'enrutament està complet i el temps està finalitzat, el disseny està llest per a la seva aprovació. Open ROAD exporta el disseny a eines de signatura de codi obert o comercials en lloc d'utilitzar verificadors de regles DRC/LVS propietaris. Per a conjunts de regles típics, el disseny exportat hauria de ser net per a DRC, ja que el motor DRC integrat de TritonRoute garanteix que l'encaminament detallat segueix tots els requisits de disseny específics de la capa. S'utilitzaria una eina LVS externa per a LVS (layout versus schematic) per comprovar dues vegades que la netlist i el GDSII coincideixen. OpenROAD es dedica principalment al desenvolupament del disseny; s'espera la verificació final dels procediments normals d'aprovació.
Exportació GDSII
[modifica]Finalment, OpenROAD exporta el disseny complet d'OpenDB a GDSII (format de màscara). Utilitzant l'escriptor GDS de la biblioteca OpenDB, es pot generar un flux GDSII per a la sortida de cinta que contingui el posicionament i l'encaminament de cada geometria. A més, si cal, es poden crear fitxers DEF i LEF. Completar el pipeline RTL-to-GDSII genera un disseny de xip complet adequat per a la fabricació.[34]
Eines i algorismes bàsics
[modifica]Cadascuna de les eines especialitzades utilitzades a OpenROAD implementa una etapa del flux. La iniciativa Openroad ara inclou totes aquestes eines i les ha provat en dispositius de silici reals. OpenROAD pot incorporar versions accelerades per GPU i guiades per aprenentatge automàtic suggerides pels acadèmics a mesura que evolucionen (DG-RePlAce, per exemple, utilitza GPU per a la col·locació). Les aplicacions importants inclouen:
OpenSTA
[modifica]OpenSTA és un motor d'anàlisi de temps estàtic a nivell de porta. Llegeix la llista de xarxes (normalment sintetitzada), el disseny físic de LEF/DEF, les biblioteques de sincronització Liberty, les restriccions SDC i l'SPEF paràsit, i després realitza l'STA. Genera errors, retards i camins crítics. Dissenyat per ser multifil, OpenSTA té una forta connexió amb OpenDB. Com que utilitza criteris estàndard de la indústria, es pot utilitzar com a substitut dels verificadors de temps comercials com ara PrimeTime. També impulsa la col·locació in situ en funció del temps.[35]
RePlAce (Col·locació global)
[modifica]RePlAce és una eina de col·locació global de codi obert que utilitza mètodes analítics (electroestàtics). Modela les cèl·lules com a partícules carregades i després utilitza el descens de gradient accelerat de Nesterov per minimitzar un total ponderat de penalitzacions per longitud de cable de mig perímetre i densitat. Dues innovacions importants de RePlAce que milloren la velocitat i la qualitat de la convergència són el suavització local orientada a restriccions i l'escalat adaptatiu per passos.[36] El resultat és una col·locació d'alta qualitat; RePlAce ha millorat l'HPWL en comparacions de punts de referència respecte a col·locadors anteriors. RePlAce s'executa en mode de "mida mixta" en el flux OpenROAD i està optimitzat per a la col·locació basada en el temps, admetent així tant cel·les estàndard com macros.[36]
TritonMacroPlacer
[modifica]TritonMacroPlacer és el motor OpenROAD per a la col·locació de blocs durs. Es basa en l'enfocament ParquetFP, que gestiona la macrocol·locació com una preocupació de la planta. TritonMacroPlacer utilitza un recuit simulat, amb una primitiva d'intercanvi de macros. TritonMacroPlacer redueix la longitud del cable tot respectant les restriccions (com ara les zones de prohibició d'entrada), respectant així un plànol inicial (de RePlAce o RTL-MP). Col·locar les macros genera un DEF final. A diferència d'un enfocament pla, TritonMacroPlacer es va utilitzar per inserir macros automàticament en un RTL-MP, disseny de 12 nm que s'havia agrupat, produint així una disposició que millorava la Fmax i reduïa la longitud del cable.
FastRoute (encaminador global)
[modifica]Un encaminador global intenta evitar la congestió d'enrutament planificant rutes aproximades per a cada senyal de manera que es satisfin totes les capacitats d'enrutament. La distribució d'OpenROAD està composta principalment de FastRoute 4.1 (desenvolupat a la Universitat Estatal d'Iowa).[37] FastRoute llegeix el xip instal·lat (via OpenDB) i genera ràpidament un pla d'enrutament global en una quadrícula gruixuda, assignant cada xarxa a capes metàl·liques per tal d'alleujar la congestió. FastRoute també genera projeccions de congestió i/o mapes de consum de capacitat per ajudar a evitar la ubicació durant la col·locació. Els camins de FastRoute resultants en una quadrícula només instrueixen l'encaminador detallat; FastRoute en si mateix no realitza un enrutament detallat correcte per DRC.[38]
TritonCTS (sintetitzador d'arbre de rellotge)
[modifica]TritonCTS és un constructor d'arbres de rellotges de codi obert. TritonCTS 2.0[39] crea una xarxa de rellotge amb memòria intermèdia per a qualsevol domini de rellotge, construint automàticament arbres H equilibrats o dissenys d'arbres híbrids. Utilitza la caracterització sobre la marxa de buffers i cables, cosa que li permet calcular retards sense dependre de taules precaracteritzades. Agrupant recursivament els pins del dissipador i afegint buffers, TritonCTS optimitza per obtenir el biaix més baix. Els usuaris poden invocar-lo mitjançant l'ordre Tcl clock_tree_synthesis. A diferència d'altres motors CTS comercials, TritonCTS és completament obert i es pot programar. Els usuaris poden canviar la càrrega o els valors màxims de variació o crear llistes de memòria intermèdia personalitzades amb finalitats de caracterització.[40]
TritonRoute (encaminador detallat)
[modifica]Per acabar la ruta física, la UCSD va desenvolupar el motor d'enrutament detallat TritonRoute. Crea els segments de cable i les vies finals utilitzant la guia de ruta global d'acord amb les regles de disseny. Els seus components inclouen mòduls per a l'encaminament inicial del laberint, l'assignació de pistes (reservant pistes de cable per a xarxes), l'accés als pins (connectant cada pin de cel·la a la graella d'encaminament) i la reparació iterativa. Compost per un sistema d'enrutament basat en Lee/A* amb rip-up-and-reroute, el procés de reparació trenca repetidament les xarxes congestionades o mal enrutades i les redirigeix amb ajustos. TritonRoute té un verificador DRC exhaustiu per garantir el compliment de les normes. Creat per a dissenys moderns de grans dimensions, l'algorisme admet els formats de concurs ISPD-2018/2019. Actualment ofereix enrutament a nivell de bloc (cel·la estàndard + macro) per a sistemes com GF65 (CLN65LP).[41]
AutoTuner
[modifica]AutoTuner és el marc de treball d'afinació d'hiperparàmetres d'OpenROAD. Mitjançant enfocaments d'aprenentatge automàtic, AutoTuner maximitza els nombrosos paràmetres de flux, inclosos els que controlen els motors de col·locació i enrutament. Segons Ray,[42] un sistema d'execució distribuït, es poden dur a terme lots massius de proves simultàniament al núvol. Un cop els dissenyadors proporcionen paràmetres canviables en una configuració JSON, AutoTuner explora l'espai de paràmetres per millorar el PPA. AutoTuner, per exemple, pot generar acceleracions considerables o augments del PPA decidint automàticament la configuració ideal del motor. Aquest element basat en ML demostra el compromís d'OpenROAD amb mètodes de disseny intel·ligents i no humans.[43][44]
COPILOT
[modifica]COPILOT (Cloud Optimized Physical Implementation Leveraging OpenROAD Technology) és un sistema d'orquestració habilitat per al núvol que gestiona recursos informàtics distribuïts per accelerar OpenROAD. Anticipar les tasques fallides i centrar la computació en subproblemes complexos (com ara els punts calents de la DRC) ajuda a augmentar el rendiment. COPILOT ha demostrat acceleracions significatives a la pràctica (per exemple, ~10× en l'encaminament detallat en condicions específiques) distribuint el treball entre diversos servidors. Tot i que està en fase de recerca i de llançament inicial, COPILOT mostra el moviment d'OpenROAD cap al núvol i el disseny assistit per IA.[45]
RTL-MP (RTL Macro-Placer)
[modifica]RTL-MP, de vegades conegut com a RTL Macro-Placer, organitza la lògica basada en la jerarquia RTL i crea clústers com a macroblocs. Les connexions virtuals i els pesos del clúster es defineixen amb flux de dades i afinitat temporal. Les seves característiques principals són que afegeix "connexions virtuals" per registrar rutes temporals, clústers automàtics i macros, i resol l'agrupació en clústers com a problema de partició de grafs. Amb aquesta tecnologia, OpenROAD sovint pot generar dissenys amb qualitat gairebé de dissenyador i començar el disseny físic molt abans, sovint fins i tot des de RTL.
TritonPart (Particionador)
[modifica]TritonPart és una nova eina de partició que s'està desenvolupant per dividir els subdissenys en particions per a una millor gestió de la jerarquia. Busca millorar la qualitat i l'escalabilitat de la col·locació dividint els dissenys grans en peces més petites i manejables.[46]
algorismes principals
[modifica]Algunes idees innovadores que fonamenten l'èxit d'OpenROAD:
Col·locació analítica (RePlAce)
[modifica]Aplica un model electroestàtic de col·locació juntament amb els mètodes de gradient accelerat de Nesterov. La funció de densitat es transforma en solapaments localment suaus (suavitzat orientat a restriccions) per millorar la convergència i l'encaminabilitat. La mida dels passos es canvia automàticament per maximitzar i dirigir l'esforç on més es requereix. Això genera solucions amb una longitud de cable (HPWL) notablement inferior a la dels anteriors col·locadors acadèmics en proves de referència.[47]
Estimació de la congestió
[modifica]OpenROAD calcula contínuament la congestió d'enrutament durant la col·locació executant Fast Route "sobre la marxa". Aquesta ubicació impulsada per la congestió allunya les cel·les de les ubicacions d'alta densitat. FastRoute essencialment distribueix les xarxes a les pistes d'enrutament a l'àrea de col·locació i calcula una tarifa pels contenidors desbordats. El motor de col·locació combina aleshores un terme de cost de congestió, similar a una pseudoxarxa, per guiar els elements a llocs menys concorreguts.[48]
Equilibri d'arbre de rellotge
[modifica]TritonCTS genera arbres equilibrats, sovint arbres H, minimitzant així el biaix. Afegeix un buffer a la vegada, de dalt a baix, i divideix els dissipadors de manera de dalt a baix. Gràcies a la caracterització de buffers sobre la marxa, tria els buffers més petits que compleixen diversos objectius. La tècnica pot afegir zones intermèdies o blindatge a la ruta per equilibrar la longitud dels camins. Tot i que els mètodes exactes són exclusius de TritonCTS, l'aplicació resol un problema d'arbre de Steiner amb memòria intermèdia amb restriccions d'equilibri.
Enrutament detallat (laberint + esquinçament/reparació)
[modifica]Els algorismes de cerca principals de TritonRoute, A* i Lee, troben els camins legals més curts de cada xarxa i després resolen els conflictes de manera rutinària. En cada iteració, les xarxes es redirigeixen individualment o en grups; s'actualitza un mapa de costos de la graella d'enrutament (cost més elevat en zones concorregudes o il·legals). Aquest mètode de reparació repetida s'utilitza habitualment en encaminadors detallats. El multithreading permet a TritonRoute gestionar grans mides de xips i mantenir una estreta connectivitat de bases de dades, diferenciant-se d'altres solucions acadèmiques.
Optimització de l'aprenentatge automàtic
[modifica]AutoTuner utilitza un gran clúster de càlcul i tècniques de cerca d'hiperparàmetres (cerca aleatòria o optimització bayesiana) per predir la configuració dels paràmetres que milloren el PPA (rendiment, potència i àrea). Funciona avaluant múltiples execucions de flux amb diferents configuracions mitjançant l'aprenentatge automàtic. Basant-se en centenars d'experiments, en molts casos troba coincidències pràcticament perfectes. Aquesta aplicació de l'aprenentatge automàtic redueix dràsticament la necessitat d'assaig i error humà.
Clústers d'alt nivell (RTL-MP)
[modifica]RTL-MP, agrupament en clústers d'alt nivell, lògica de clústers que utilitza una mètrica d'afinitat de flux de dades. Defineix "connexions virtuals" entre clústers de registres utilitzant salts lògics i amplada de bits del senyal. Aleshores, utilitzant restriccions definides per l'usuari (mides màximes i mínimes de clúster), es resol un problema d'agrupació de grafs. La capacitat d'aquest mètode d'agrupació lògicament conscient per detectar estructures temporals importants, fins i tot abans de la col·locació física, condueix a millors macrogrups.[49]
Integració de sistemes i canalització de CI
[modifica]Els desenvolupadors d'OpenROAD posen molt d'èmfasi en l'automatització i el control de qualitat. Tot l'esforç utilitza un sistema d'integració contínua (CI) complet allotjat al núvol. A Google Cloud Platform, un pipeline basat en Jenkins recopila automàticament la base de codi, executa proves unitàries per a cada eina i executa fluxos de regressió en dissenys de referència reals. El conjunt de proves s'amplia contínuament amb nous dissenys, especialment xips OpenMPW/MPW d'èxit, per garantir una cobertura completa. Per exemple, la CI d'OpenROAD cobreix des de nuclis lògics fins a SoC complets, utilitzant més de 80 dissenys de cinta de llançadores SkyWater com a casos de prova. En un quadre de comandament, es recopilen i es controlen les mètriques de cada execució, com ara la longitud del cable, el temps i l'ús de recursos, cosa que permet als desenvolupadors identificar regressions primerenques.
El CI també executa anàlisis estàtiques de Coverity del codi per identificar errors comuns i realitza anàlisis dinàmices d'errors de memòria. OpenROAD té com a objectiu els fluxos de 24 hores de la NHIL. Per tant, el clúster de CI és prou gran per completar tasques de localització i encaminament multifil en un temps raonable. Google proporciona assistència tècnica per a aquesta infraestructura i crèdits al núvol. El resultat és una base de codi fiable que gestiona la producció i la recerca.[50]
Suport per a múltiples nodes tecnològics
[modifica]El disseny modular d'OpenROAD permet gestionar pràcticament qualsevol tecnologia CMOS, sempre que l'usuari subministri les dades del PDK, normalment en format LEF o Liberty. Exemples de nodes inclouen el SkyWater 130 nm PDK, sovint utilitzat en MPW educatius; GlobalFoundries' 65 nm (CLN65LP) per a dissenys de CPU; GF 12 nm (12LP FinFET) per a SoCs més complexos; i l'anticipació d'Ascenium[51] ASAP7 PDK de 7 nm. Per a cada node de la base de dades, hi ha una capacitat de capa, regles de disseny i restriccions de temps. L'encaminador global FASTRoute d'OpenROAD utilitza les capacitats de pista de capes de DEF i les incorpora als càlculs de congestió, gestionant així de manera natural una densitat més alta 7. capes de nm. Finalment, s'ha avaluat OpenROAD per a processos que abasten projeccions d'un sol dígit nanomètric (nm) fins a més de 100 nm. Un cop carregat el PDK adequat, el seu GDSII de sortida es pot fabricar a qualsevol foneria.[52][53]
Aplicacions i casos d'ús
[modifica]Els nous usuaris d'OpenROAD encara l'estan adoptant, ja que ha demostrat sistemàticament la seva capacitat per crear dissenys preparats per a la descàrrega per a procediments estàndard de la indústria en diversos projectes. Entre els seus èxits hi ha diversos dispositius funcionals (AES+CPU, matrius LDO, etc.), així com victòries en concursos de disseny. Aquestes iniciatives també ajuden a OpenROAD (per exemple, els comentaris d'Ascenium sobre el maneig de grans matrius i jerarquies temporals) detectant defectes o noves necessitats.
Diverses iniciatives genuïnes i idees demostratives han aprofitat el flux OpenROAD. Entre els escenaris d'ús atractius hi ha:
SoC SkyWater MPW i RISC-V
[modifica]Basat en els esforços del transbordador OpenROAD i Google/Efabless que utilitzen els 130 de SkyWater La tecnologia nm utilitza un flux OpenLane de codi obert. Milers de projectes RISC-V, incloent-hi RI5CY, controladors MEMS i nuclis AES, s'han finalitzat utilitzant aquest mètode. Utilitzant scripts de flux d'OpenROAD (ORFS), per exemple, eEl SoC de 16 nm es va construir amb un nucli criptogràfic AES-128, una CPU Ibex RISC-V i interfícies de sensors. El pipeline de CI combina dissenys autèntics d'OpenMPW de diversos llançadors per garantir una compatibilitat contínua.[54]
SoCs universitaris (BlackParrot, altres)
[modifica]OpenROAD s'ha aplicat en nodes avançats d'iniciatives acadèmiques RISC-V. El Lloro Negre 12 El processador de codi obert nm va utilitzar RTL-MP d'OpenROAD per al seu disseny, donant com a resultat un disseny d'alta freqüència i mida petita. El projecte OpenFASoC (Open Analog Mixed-Signal) de la Universitat de Michigan utilitza OpenROAD per automatitzar la integració de la IP analògica. Aquestes iniciatives demostren la facilitat amb què es poden controlar fins i tot grans xips o portes acadèmiques valorades en milions de dòlars.[55]
Laboratoris de l'exèrcit i del govern
[modifica]OpenROAD encaixa naturalment amb els interessos de la recerca en defensa, ja que la producció de baix volum de molts productes de defensa significa que s'han de minimitzar els costos de desenvolupament. Els laboratoris de recerca de l'exèrcit van anunciar una investigació dirigida a Intel 22FFL (22 nm FinFET) utilitzant OpenROAD. Part de projectes finançats pel govern alemany, com ara l'esforç de maquinari de confiança de HEP-Alliance,[56] OpenROAD i ORFS (el SoC VE-HEP a SkyWater), s'han utilitzat per acoblar xips RISC-V i AES. A més, la comunitat DARPA IDEA va organitzar una sessió oberta de concurs de disseny de 7 nm utilitzant l'ASAP7 PDK, on els equips van utilitzar el flux OpenROAD per crear nuclis RISC-V.[57]
Startups (Ascenium)
[modifica]OpenROAD està sent utilitzat per empreses emergents de semiconductors per reduir les despeses de desenvolupament. Investigant variacions microarquitectòniques utilitzant Bazel i diverses iteracions d'OpenROAD-flow-scripts, l'empresa finlandesa Ascenium[58] va anunciar el disseny d'un processador d'ús general eficient energèticament que utilitza OpenROAD en un ASAP7 PDK de 7 nm. Van observar millores en l'estabilitat de les eines i una major demanda de capacitats com ara la sincronització jeràrquica i la col·locació automatitzada de macros. La seva experiència demostra com OpenROAD pot ajudar a fer que els dissenys complexos tinguin un preu més raonable.[59]
Integració de senyal mixt i analògica
[modifica]OpenROAD s'ha ampliat per incorporar fluxos de senyal mixt sota el projecte DARPA FASoC.[60] (FASoC significa Síntesi de SoC totalment autònoma utilitzant circuits analògics sintetitzables basats en cel·les personalitzables.) Els circuits analògics d'alt nivell, com ara DAC i referències de voltatge, descrits en aquest pipeline es converteixen a Verilog abans de la implementació física. OpenFASoC col·loca i encamina aquests blocs analògics, tal com ho farien les macros digitals, utilitzant OpenROAD. Per al SkyWater MPW-II de Google, OpenROAD va presentar un regulador de voltatge LDO totalment digital (D-LDO), per exemple, agrupant diverses cel·les LDO simètricament i produint patrons de franja d'alimentació consistents. Aquest flux automatitzat il·lustra com l'adaptabilitat d'OpenROAD es pot utilitzar per integrar l'"entrada esquemàtica" analògica (amb una especificació JSON) en un flux de treball de lloc i ruta (P&R) predominantment digital. Això demostra com OpenROAD, en veure els blocs analògics com a instàncies de cel·la (utilitzant OpenFASoC), pot gestionar almenys alguns dissenys analògics.[61]
Concursos i Educació
[modifica]OpenROAD és útil en l'educació superior. Utilitzat amb altres eines d'ensenyament, com ara Tiny Tapeout,[62] ajuda a formar dissenyadors de xips. L'OpenROAD-7 del 2022 El concurs de desenvolupament de nm va permetre a estudiants de tot el món dissenyar nuclis RISC-V utilitzant OpenROAD sobre ASAP7, fomentant així la comprensió del flux de disseny. Més de 600 estudiants i aficionats han utilitzat OpenROAD en seminaris de disseny de xips de silici.[63]
Dificultats tècniques i orientacions futures
[modifica]OpenROAD ha aconseguit molts dels seus objectius inicials, principalment la creació d'un backend independent i de codi obert capaç de desinstal·lar xips. El seu futur es basa en augmentar la seva adopció comercial, incorporant el disseny de senyal mixt, l'aprenentatge automàtic/intel·ligència artificial i l'escalabilitat dels algorismes. Pel que fa a la recerca, la full de ruta del projecte inclou la utilització de la intel·ligència artificial i el núvol per accelerar encara més el disseny, així com la millora dels algorismes d'arbre de rellotge, l'anàlisi de temps jeràrquic i la col·locació automatitzada de macros, tal com han sol·licitat els usuaris, inclòs Ascenium. Impulsada per la comunitat, OpenROAD és una plataforma oberta que s'alinea bé amb el desenvolupament d'aquestes tendències i empeny contínuament els límits del disseny de circuits automatitzats.[64]
Escalabilitat algorítmica
[modifica]A mesura que les característiques de disseny es fan més petites, es poden incloure cada cop més elements en un xip, amb dissenys recents que contenen desenes de milions de cel·les. Mantenir el rendiment NHIL per a dissenys a gran escala requereix nous algorismes. OpenROAD està examinant mètodes multinivell i de partició (com ara TritonPart) per dividir dissenys enormes en clústers més petits. L'encaminament paral·lel extrem i l'acceleració GPU, DG-RePlAce, per exemple, també estan sota investigació. Una gestió eficaç dels recursos informàtics, utilitzant COPILOT i l'escalat al núvol, serà crucial per a la propera generació de dissenys.[65]
Suport analògic i de senyal mixt
[modifica]Incloure circuits analògics en un procés totalment automatitzat és naturalment un repte. OpenFASoC ha mostrat un possible camí considerant els blocs analògics com a macros de cel·les, fins i tot si la P&R analògica real (gestió d'optimitzacions específiques d'analògics) encara està en la seva infància. Les futures millores inclouran comprovacions LVS/DRC analògiques més fortes, estimacions parasitàries amb sensibilitat analògica i compatibilitat amb molts dominis de voltatge, tal com s'ha comentat a OpenFASoC. Biblioteques de circuits analògics addicionals (com ara OpenFASoC) poden ajudar a ampliar l'abast d'OpenROAD.
Disseny assistit per IA/ML
[modifica]L'AutoTuner d'OpenROAD pot ajustar els paràmetres de disseny mitjançant l'aprenentatge automàtic (ML), optimitzant així el procés de disseny. Altres possibilitats, com l'aprenentatge per reforç per a les ubicacions, l'ús de xarxes neuronals per predir dissenys ideals i els assistents de disseny basats en LLM, com ara EDA Copilot, que ajuden els usuaris a triar restriccions, poden formar part de futurs avenços en intel·ligència artificial. Investigacions recents, com ara l'article GenAI d'Intel, destaquen la creixent tendència d'incorporar models d'intel·ligència artificial al disseny de xips. Aquestes tecnologies es podrien integrar a OpenROAD per proporcionar suggeriments per a decisions de disseny automatitzades o recomanacions per a optimitzacions més enllà de les alteracions numèriques.[66]
Adopció comercial i integració d'ecosistemes
[modifica]Si la indústria ha d'adoptar OpenROAD, les seves característiques s'han d'alinear amb les que requereixen les empreses, com ara la sincronització multi-cantonada i l'extens suport per a regles de procés. S'estan fent intents per integrar la generació d'IP (cel·les estàndard, memòria) i portar-la a més PDK (de foneries com GlobalFoundries o IHP, per exemple). En projectes com la guia FOSSi de la UE,[67] OpenROAD és reconegut com la base per a la innovació en maquinari obert. L'èxit posterior depèn de treballar amb els desenvolupadors de PDK, ampliar el suport de foneria i potser certificar els fluxos d'OpenROAD per a ús industrial.[68]
Referències
[modifica]- ↑ «Intelligent Design of Electronic Assets» (en anglès). www.darpa.mil.
- ↑ «HAMMER: A Platform For Agile Physical Design | EECS at UC Berkeley» (en anglès). www2.eecs.berkeley.edu.
- ↑ «FASoC: Fully-Autonomous SoC Synthesis using Customizable Cell-Based Synthesizable Analog Circuits – Home for FASoC: Fully-Autonomous SoC Synthesis using Customizable Cell-Based Synthesizable Analog Circuits» (en anglès).
- ↑ «SiliconCompiler» (en anglès). www.zeroasic.com.
- ↑ «Welcome to OpenROAD's documentation! — OpenROAD documentation» (en anglès). openroad.readthedocs.io.
- ↑ «The-OpenROAD-Project/OpenROAD» (en anglès), 19-06-2025.
- ↑ «Intelligent Design of Electronic Assets» (en anglès). www.darpa.mil.
- ↑ «Welcome to OpenROAD's documentation! — OpenROAD documentation» (en anglès). openroad.readthedocs.io.
- ↑ «vlsicad.ucsd.edu» (en anglès).
- ↑ «MPW designs in OpenROAD CI improve quality for everyone – The OpenROAD Project» (en anglès). theopenroadproject.org.
- ↑ «The-OpenROAD-Project/OpenROAD» (en anglès), 19-06-2025.
- ↑ «The OpenROAD Project – Foundations and Realization of Open and Accessible Design». theopenroadproject.org.
- ↑ «OpenDB — OpenROAD documentation» (en anglès). openroad.readthedocs.io.
- ↑ «The-OpenROAD-Project/OpenROAD» (en anglès), 19-06-2025.
- ↑ «OpenROAD 2022: Year End Review – The OpenROAD Project» (en anglès). theopenroadproject.org.
- ↑ «OpenDB, OpenROAD's Database» (en anglès).
- ↑ «Automated SoC, Mixed-Signal Design using OpenROAD and OpenFASoC – The OpenROAD Project» (en anglès). theopenroadproject.org.
- ↑ «MPW designs in OpenROAD CI improve quality for everyone – The OpenROAD Project» (en anglès). theopenroadproject.org.
- ↑ «vlsicad.ucsd.edu» (en anglès).
- ↑ «OpenDB — OpenROAD documentation» (en anglès). openroad.readthedocs.io.
- ↑ «OpenDB, OpenROAD's Database» (en anglès).
- ↑ «OpenDB — OpenROAD documentation» (en anglès). openroad.readthedocs.io.
- ↑ «OpenDB, OpenROAD's Database» (en anglès).
- ↑ Clifford Wolf and Johann Glaser. «Yosys - A Free Verilog Synthesis Suite» (en anglès).
- ↑ Benchmarking End-To-End Performance of AI-Based Chip Placement Algorithms.
- ↑ Cheng, Chung-Kuan; Kahng, Andrew B.; Kang, Ilgweon; Wang, Lutong IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 38, 9, 2019, p. 1717–1730. Bibcode: 2019ITCAD..38.1717C. DOI: 10.1109/TCAD.2018.2859220.
- ↑ «OpenROAD – Key Milestones on the Road towards Good PPA – The OpenROAD Project» (en anglès). theopenroadproject.org.
- ↑ «Clock Tree Synthesis — OpenROAD documentation» (en anglès). openroad.readthedocs.io.
- ↑ "FastRoute 4.0: Global router with efficient via minimization" a 2009 Asia and South Pacific Design Automation Conference.
- ↑ "FastRoute: An Efficient and High-Quality Global Router", VLSI Design, <https://onlinelibrary.wiley.com/doi/pdf/10.1155/2012/608362>
- ↑ «The-OpenROAD-Project-Attic/FastRoute» (en anglès), 09-06-2025.
- ↑ «The-OpenROAD-Project/TritonRoute» (en anglès), 13-06-2025.
- ↑ «Automated SoC, Mixed-Signal Design using OpenROAD and OpenFASoC – The OpenROAD Project» (en anglès). theopenroadproject.org.
- ↑ «OpenDB, OpenROAD's Database». A: Proc. Workshop on Open-Source EDA Technology (en anglès), 2019.
- ↑ «The-OpenROAD-Project/OpenSTA» (en anglès), 19-06-2025.
- 1 2 Cheng, Chung-Kuan; Kahng, Andrew B.; Kang, Ilgweon; Wang, Lutong IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 38, 9, 2019, p. 1717–1730. Bibcode: 2019ITCAD..38.1717C. DOI: 10.1109/TCAD.2018.2859220.
- ↑ "FastRoute: An Efficient and High-Quality Global Router", VLSI Design, <https://onlinelibrary.wiley.com/doi/pdf/10.1155/2012/608362>
- ↑ «The-OpenROAD-Project-Attic/FastRoute» (en anglès), 09-06-2025.
- ↑ "Contributions to OpenROAD from abroad: experiences and learnings" a 39th International Conference on Computer-Aided Design.
- ↑ «Clock Tree Synthesis — OpenROAD documentation» (en anglès). openroad.readthedocs.io.
- ↑ «The-OpenROAD-Project/TritonRoute» (en anglès), 13-06-2025.
- ↑ «Scale Machine Learning & AI Computing | Ray by Anyscale» (en anglès). Scale Machine Learning & AI Computing | Ray by Anyscale.
- ↑ «OpenROAD 2022: Year End Review – The OpenROAD Project» (en anglès). theopenroadproject.org.
- ↑ «OpenROAD – Key Milestones on the Road towards Good PPA – The OpenROAD Project» (en anglès). theopenroadproject.org.
- ↑ «OpenROAD 2022: Year End Review – The OpenROAD Project» (en anglès). theopenroadproject.org.
- ↑ «OpenROAD 2022: Year End Review – The OpenROAD Project» (en anglès). theopenroadproject.org.
- ↑ Cheng, Chung-Kuan; Kahng, Andrew B.; Kang, Ilgweon; Wang, Lutong IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 38, 9, 2019, p. 1717–1730. Bibcode: 2019ITCAD..38.1717C. DOI: 10.1109/TCAD.2018.2859220.
- ↑ «OpenROAD – Key Milestones on the Road towards Good PPA – The OpenROAD Project» (en anglès). theopenroadproject.org.
- ↑ Kahng, Andrew B. «RTL-MP: Toward Practical, Human-Quality Chip Planning and Macro Placement». A: Proceedings of the 2022 International Symposium on Physical Design (en anglès), 2022, p. 3–11. DOI 10.1145/3505170.3506731. ISBN 978-1-4503-9210-5.
- ↑ «MPW designs in OpenROAD CI improve quality for everyone – The OpenROAD Project» (en anglès). theopenroadproject.org.
- ↑ «Home» (en anglès). Ascenium.
- ↑ «2023 has been a year of Rapid expansion and innovation for the OpenROAD project – The OpenROAD Project» (en anglès). theopenroadproject.org.
- ↑ Kahng, Andrew B. «Leveling up: A Trajectory of OpenROAD, TILOS and Beyond». A: Proceedings of the 2022 International Symposium on Physical Design (en anglès), 2022, p. 73–79. DOI 10.1145/3505170.3511479. ISBN 978-1-4503-9210-5.
- ↑ «MPW designs in OpenROAD CI improve quality for everyone – The OpenROAD Project» (en anglès). theopenroadproject.org.
- ↑ «Automated SoC, Mixed-Signal Design using OpenROAD and OpenFASoC – The OpenROAD Project» (en anglès). theopenroadproject.org.
- ↑ «HEP-Alliance - Home» (en anglès). hep-alliance.org.
- ↑ «The OpenROAD 7nm Design Contest Results are announced! – The OpenROAD Project» (en anglès). theopenroadproject.org.
- ↑ «Home» (en anglès). Ascenium.
- ↑ «2023 has been a year of Rapid expansion and innovation for the OpenROAD project – The OpenROAD Project» (en anglès). theopenroadproject.org.
- ↑ «FASoC: Fully-Autonomous SoC Synthesis using Customizable Cell-Based Synthesizable Analog Circuits – Home for FASoC: Fully-Autonomous SoC Synthesis using Customizable Cell-Based Synthesizable Analog Circuits» (en anglès).
- ↑ «Automated SoC, Mixed-Signal Design using OpenROAD and OpenFASoC – The OpenROAD Project» (en anglès). theopenroadproject.org.
- ↑ «Tiny Tapeout - Tiny Tapeout» (en anglès). Quicker, easier and cheaper to make your own chip!.
- ↑ «The-OpenROAD-Project/OpenROAD» (en anglès), 19-06-2025.
- ↑ «2023 has been a year of Rapid expansion and innovation for the OpenROAD project – The OpenROAD Project» (en anglès). theopenroadproject.org.
- ↑ «OpenROAD 2022: Year End Review – The OpenROAD Project» (en anglès). theopenroadproject.org.
- ↑ «The OpenROAD Project – Foundations and Realization of Open and Accessible Design» (en anglès). theopenroadproject.org.
- ↑ «FOSSi Foundation» (en anglès). fossi-foundation.org.
- ↑ «The OpenROAD Project – Foundations and Realization of Open and Accessible Design» (en anglès). theopenroadproject.org.