Con lo sviluppo di campi di calcolo dedicati come AI, comunicazioni 5G e cloud computing, anche l'architettura informatica per il settore informatico dedicato è entrata in una nuova era d'oro. Due pennelli importanti che rappresentano questa età d'oro sono l'hardware open source (chip) e lo sviluppo agile: l'open source può abbassare la soglia del chip design e il design agile può abbreviare il ciclo di sviluppo.
Parlando di chip open source, RISC-V può essere detto un rappresentante dell'open source. L'anno scorso la Fondazione Internazionale RISC-V ha spostato la sua sede in Svizzera. Attualmente conta più di 1.000 membri e circa 200 organizzazioni aziendali. La Cina occupa un ruolo molto importante in questo, le aziende cinesi rappresentano oltre il 20% e 9 dei 19 membri del consiglio sono dalla Cina.
Poiché il set di istruzioni aperto RISC-V è gradualmente ricercato dall'industria, il concetto di chip open source è gradualmente entrato nel campo visivo delle persone e ha attirato l'attenzione e gli investimenti in tutto il mondo. A livello internazionale, già dal 2019 International Computer Architecture Flagship Conference ISCA Vision Symposium, molti accademici dell'Accademia Americana di Ingegneria tra cui il vincitore del Turing Award Professor David Patterson, così come dal MIT, UC Berkeley, UCSD, Stanford, Google, Esperti delle migliori università, aziende e agenzie governative come Nvidia e DARPA si sono concentrate sugli hotspot di frontiera di "hardware aperto agile per l'elaborazione di prossima generazione", coinvolgendo contenuti tra cui set di istruzioni, catena di strumenti EDA open source, processo di progettazione, sintesi ad alto livello, verifica formale.
Quali sono le opportunità di innovazione per i chip open source? Bao Yungang, vice direttore dell'Istituto di Tecnologia Informatica dell'Accademia Cinese delle Scienze, ha detto al forum tecnico: RISC-V appartiene al set di istruzioni aperto. In realtà, è il manuale aperto del set di istruzioni. Ad esempio, il manuale del set di istruzioni del Intel CPU ha più di 5000 pagine, e il manuale del ARM CPU Il manuale del set di istruzioni ha più di 2.000 pagine, mentre il manuale del set di istruzioni RISC-V ha solo più di 200 pagine. Se il set di istruzioni viene trasformato in una vera architettura, in questo momento verranno generati molti documenti di progettazione, quindi i documenti possono essere resi pubblici; secondo i documenti di progettazione e poi trasformato in codice sorgente, anche il codice sorgente può essere reso pubblico; La catena di strumenti EDA può trasformare il codice open source in un layout chip, quindi gli strumenti di progettazione EDA possono anche essere open source.
Come tutti sappiamo, il mercato globale degli EDA è monopolizzato dai tre principali produttori Cadence, Synopsys e Mentor (rinominati Siemens EDA nel gennaio 2021). La loro linea di prodotti su larga scala e completa può fornire soluzioni complete per l'intero processo. Al contrario, gli strumenti di EDA nazionali hanno una quota di mercato inferiore al 5% in Cina e solo dello 0,2% nel mercato globale. Inoltre, le aziende di EDA nazionali sono di piccole dimensioni, singole nei prodotti, per lo più strumenti "puntiformi", e possono fornire solo soluzioni parziali. È difficile per un singolo strumento EDA soddisfare i requisiti del progettista per l'intero processo di progettazione IC, e il passaggio tra diversi strumenti aggiunge rischi all'integrità dei dati. Di conseguenza, il mercato chiede sempre più piattaforme open source.
Jie Biwei del Pengcheng Laboratory e dell'Istituto di Informatica dell'Accademia Cinese delle Scienze ritiene che EDA open source sia una garanzia importante per sostenere l'ecologia open chip. Molte esperienze di successo dimostrano che l'open source e l'apertura sono le basi necessarie per costruire una prospera ecologia tecnologica e industriale. Ad esempio, il sistema operativo Linux supporta l'intero ecosistema open source; Un altro esempio è il sistema operativo mobile Android. Sebbene sia ora closed source, ha utilizzato l'open source come punto di partenza per unificare l'intero ecosistema di Internet mobile tranne iOS; Nel campo dell'intelligenza artificiale, Caffe, TensorFlow, Pytorch e PaddlePaddle possono essere detti i capisaldi dell'intero ecosistema tecnologico AI.
Gli strumenti EDA open source possono abbassare la soglia di progettazione del chip, come ridurre il costo della manodopera, IP e EDA per la progettazione del chip. Può anche fornire buone idee per lo sviluppo della ricerca scientifica di base e della formazione dei talenti nel campo dell'EDA, sia che si tratti di aziende, università, istituti di ricerca accademici o singoli appassionati nel campo dei chip e EDA. Se l'EDA open source può raccogliere più forze, aiuterà il nostro paese ad accelerare per raggiungere il livello avanzato internazionale.
Tuttavia, la base del software EDA del mio paese è ancora relativamente debole, ed è quasi vuota nel campo open source. L'EDA open source deve ancora affrontare molte sfide: pochi utenti, pochi contributori e una struttura quadro poco chiara; Alcune soluzioni sono discusse anche nel forum. dettagli come segue:
(1) Pochi utenti: la qualità degli strumenti EDA open source è ben lontana dagli strumenti commerciali e il numero di utenti è molto limitato. La soluzione è migliorare la qualità degli utensili e sottolineare l'ispezione del progetto nell'ambiente produttivo. Cioè, gli strumenti EDA open source non dovrebbero rimanere solo nei documenti accademici e nei codici software, ma devono essere combinati con altri strumenti puntiformi per formare una catena di strumenti per supportare la verifica completa del chip tape-out e produrre un feedback efficace degli utenti. Ad esempio, Magic negli Stati Uniti è stato sottoposto a diverse verifiche tape-out, e il documento contiene dati reali sui chip test.
(2) Pochi contributori: il settore EDA è relativamente di nicchia e la sua comunità open source è ancora più sottile. I principali contributori di strumenti open source come Yosys, abc, magic e OpenROAD sono per lo più circa 10 persone. A causa delle caratteristiche della disciplina EDA, i contributori EDA open source devono avere conoscenze di CS, Math, EE e MicroE allo stesso tempo, e la soglia tecnica è relativamente alta. Lo sviluppo di ogni strumento EDA open source non è aperto. È fondamentalmente un team interno di una certa scuola, istituto di ricerca e azienda. Ci sono pochi partecipanti esterni ed è difficile partecipare. La soluzione è quella di smontare completamente, astratto e descrivere i problemi tecnici EDA, e classificarli in espressioni linguistiche che possono essere comprese in campi professionali come la matematica, gli algoritmi e le alte prestazioni, e mobilitare le forze della comunità in più discipline.
(3) Struttura framework non chiara: codice incoerente e basso tasso di riutilizzo sono un problema comune del software open source. Tuttavia, il forte legame di strumenti e algoritmi EDA open source rende il problema più evidente. Progettare nuovi algoritmi di solito richiede molta riscrittura del codice, che perde il significato di open source. Ci sono due soluzioni. In primo luogo, la progettazione modulare, partendo dalla progettazione del framework di base, per poi passare al livello dell'algoritmo, astraendo operazioni e formati di dati comuni, esplorando regole di ricostruzione iterative dal codice e formando un framework di base snello, efficiente e modulare. Questo design modulare facilita anche l'accelerazione del processo di progettazione EDA con un'architettura di calcolo parallelo distribuita. Secondo, standardizzare l'astrazione. Utilizzare eccellenti concetti di progettazione del compilatore come MulTI Intermediate RepresentaTIon (MLIR) per dividere l'intero processo di progettazione (in particolare il design front-end) in più livelli astratti, in modo che gli esperti in vari campi possano concentrarsi sui rispettivi livelli astratti., Allo stesso tempo, attraverso la compilazione di più livelli per aprire la catena di strumenti EDA, completa agile e conveniente verifica full-process. In questo modo, anche uno strumento point può essere collegato in modo flessibile alla catena di strumenti EDA open source attraverso un formato di conversione standardizzato per verificare pienamente le prestazioni e la qualità degli strumenti sviluppati da sé. Attualmente, l'industria nordamericana e il mondo accademico stanno formando questa tendenza.
Per quanto riguarda il progetto EDA open source, non importa dal processo basso (110nm) al processo alto (55nm, 40nm o anche 28nm). Dalle applicazioni a livello di insegnamento universitario alle applicazioni a livello di prodotto aziendale, dai chip ASIC su piccola scala ai progetti SoC su larga scala, la strategia di combinare ricerca e applicazione dovrebbe essere rispettata, con la praticità come forza motrice, e l'applicazione della ricerca e dell'applicazione della ricerca all'applicazione. Ripartire uno per uno da cinque aspetti: catena degli strumenti, strumento punto, set di test benchmark, applicazione dimostrativa e libreria di processi open source di livello industriale.
Progressi della ricerca nel settore
Vale la pena ricordare che alla conferenza di ASPLOS 2021, il Dr. Chris Lattner (uno dei principali iniziatori e autori del progetto LLVM e autore del compilatore Clang), appena passato da Google Brain alla star RISC-V SiFive, ha tenuto il discorso di The Golden Age of Compiler Design in an Era of HW/SW Co-design, Ha proposto un nuovo framework unificato EDA (Electronic Design AutomaTIon) basato sulla tecnologia di compilazione MLIR, e progettato una catena di strumenti per EDA come TensorFlow o PyTorch nel software Fornire un'infrastruttura completa e flessibile. Il progetto CIRCT è lo stesso di MLIR ed è facile formare coerenza ecologica nella progettazione hardware e nella compilazione di software.
Sulla strada del software EDA open source, accademici e industrie di EDA nazionali stanno cercando di trovare posizioni adeguate per contribuire all'EDA open source.
Nel campo dei chip open source, l'Istituto di Tecnologia Informatica dell'Accademia Cinese delle Scienze ha lanciato progetti come i chip processori RISC-V e i sistemi operativi nativi RISC-V nel 2019 e ha costruito un sistema di tecnologia chip open source con vantaggi economici sul processo domestico 28nm. Inoltre, stanno anche esplorando EDA open source per progettare chip open source. Sulla base di strumenti open source esistenti, hanno costruito un processo di progettazione RTL a GDS2 basato su Python; Nell'agosto dello scorso anno, cinque laureati dell'Università Nazionale della Scienza e della Tecnologia hanno utilizzato strumenti EDA open source per due anni. Ha progettato il chip Guohu-1 e realizzato il nastro fuori.
L'Accademia Cinese delle Scienze ha anche sviluppato AgileServe, una piattaforma cloud per la progettazione agile dei chip, che integra vari elementi open source per supportare gli utenti a personalizzare rapidamente i chip del processore e lo sviluppo del software, e abbassare la soglia di progettazione dei chip. Per gli studenti, la progettazione del chip può essere effettuata in qualsiasi momento e ovunque; Per gli insegnanti, è possibile guidare gli studenti online.
Chen Gang, vice direttore generale esecutivo di Nanjing Integrated Circuit Design Service Industry Innovation Center Co., Ltd. (di seguito denominato EDA Innovation Center), ha introdotto l'uso di metodi open source per creare una base universale EDA domestica (openEDI). Considerando che gli strumenti dei punti EDA domestici sono indipendenti e che creano una base comune per l'ecologia domestica, ci si aspetta che gli strumenti dei punti saranno collegati tra loro. L'obiettivo di ricerca e sviluppo della base universale EDA è quello di supportare tutti gli strumenti EDA domestici, aggregare una serie completa di catene di strumenti EDA e diventare una base ecologica universale domestica. L'immagine qui sotto mostra l'architettura di base generale EDA. La parte inferiore è il livello di dati, che trasporta tutti i database EDA e modelli di dati su memoria e disco, inclusi vari moduli parser, moduli di interfaccia utente, e così via. Il livello superiore è il livello generale dell'algoritmo e il framework di calcolo.
Lin Yibo dell'Università di Pechino ha presentato il noto progetto "Deep Learning Assisted Place and Route Optimization". Ha descritto l'uso del deep learning per migliorare i tradizionali algoritmi di luogo e percorso. In questo processo, devono essere utilizzati strumenti open source di luogo e percorso, altrimenti sarà molto difficile. Difficile ottenere campioni di deep learning. In futuro, continueranno a migliorare l'algoritmo, aumentare la stabilità e la capacità di generalizzazione. Si prevede che un set di dati aperto dell'AED come ImageNet possa essere rilasciato per attirare la concorrenza reciproca e lo sviluppo del mondo accademico e industriale.
Yan Hao del National ASIC System Engineering Technology Research Center della Southeast University ha descritto lo sviluppo della metodologia di progettazione vicino-soglia ad alta tensione e dell'EDA open source. Ha introdotto che la sfida tecnica degli strumenti EDA è lo sviluppo di algoritmi di modellazione delle deviazioni e ottimizzazione portati dall'evoluzione del processo e delle dimensioni di incisione. Ha sottolineato che quando si fa ricerca, la sfida più grande è la necessità di spendere molta energia per riprodurre il codice altrui, quindi collaborano anche con aziende EDA nazionali come NiiCEDA e investono attivamente nello sviluppo di strumenti di analisi dei tempi open source.
Zhu Zhufei dell'Università di Ningbo ha condiviso i progressi della ricerca sugli strumenti di sintesi automatica a dominio multi-logico. Ha detto che la sintesi logica consiste nel convertire tutte le descrizioni a livello RTL dei circuiti digitali progettati nelle connessioni dei circuiti di unità nella libreria di processo specificata a condizione di soddisfare i vincoli. La sintesi logica comprende principalmente tre fasi: traduzione, ottimizzazione e mappatura dei processi. Ha sottolineato che i metodi completi sviluppati da diversi insiemi logici completi sono applicabili a diversi scenari. Gli strumenti EDA esistenti sono tutti sviluppati sulla base della logica booleana tradizionale. Nuovi tipi di operatori possono portare più opportunità, come la trasformazione della polarità. Reed-Muller, TB e RM dual logic, ecc. In termini di EDA open source, ha sottolineato il trend di sviluppo degli strumenti di sintesi logica: 1. AI for EDA, utilizzando metodi AI per dedurre l'ordine di trasformazione dell'ottimizzazione della sintesi logica, in modo che gli ingegneri senza alcuna esperienza possano ottenere uno script di ottimizzazione; 2. EDA per AI, uso L'operazione logica è invertita sotto forma di tabella di ricerca per raggiungere lo stesso scopo del peso di allenamento della rete neurale; 3. Soluzione ottimale, dato un circuito digitale, il metodo esistente dipende fortemente dal solutore SAT per ottenere il numero minimo di nodi, la profondità logica minima, ecc Soluzione eccellente, ma il solutore SAT stesso è un algoritmo euristico e la simulazione del circuito digitale può aiutare SAT a eseguire la ricerca più efficiente; 4. Abilitatore di tecnologia, sviluppare nuovi metodi logici di astrazione e assistere nella valutazione di nuovi processi come materiali bidimensionali e lo sviluppo. Indipendentemente dal set di formazione, l'ottimizzazione della ricerca e i nuovi modelli trarranno vantaggio dall'ecosistema open source.
Dove va l'EDA open source?
L'ecosistema open source EDA affronta molte difficoltà da 0 a 1. Come superare il ciclo chiuso dell'ecosistema EDA open source? Come mantenere lo sviluppo sostenibile dell'ecologia? Come prevenire rischi ecologici come il fallimento del tapeout, la perdita di IP e i brevetti? Dove dovremmo andare in futuro? Su questi temi, gli studiosi ed esperti presenti hanno avuto opinioni diverse e condotto discussioni intense e significative.
Da 0 a 1, l'ecologia dell'EDA open source parte dal mondo accademico
A differenza del software open source tradizionale, la struttura dei dati, la qualità del codice e l'algoritmo del software EDA open source sono estremamente professionali e il gruppo di utenti è piccolo, il che limita la scala della comunità open source. Nel corso della storia, le aziende high-tech della Silicon Valley, piccole come stelle e mari, hanno iniziato tutte dall'innovazione universitaria. L'EDA è la stessa. In primo luogo, coltivare il primo gruppo di utenti di EDA open source in college e università, inclusi insegnanti e studenti, lasciare che utilizzino strumenti open source in modi innovativi, e poi attraverso l'uso continuo e il miglioramento iterativo degli strumenti, saranno utilizzabili in futuro. laurea.
Tuttavia, è anche difficile promuovere e mantenere l'ecosistema EDA a circuito chiuso dal mondo accademico. La questione più importante è lo sviluppo della partecipazione del mondo accademico all'EDA open source e la manutenzione continua di progetti open source. Dal punto di vista utilitaristico, quando i ricercatori universitari trasferiscono i loro interessi di ricerca o la fine del progetto, la motivazione a mantenere progetti open source scompare; gli studenti trascorrono anni di esperienza imparando e padroneggiando strumenti EDA open source, è meglio padroneggiare strumenti commerciali più pratici per la ricerca di lavoro; Non c'è molto lavoro open source per gli studenti, e gli studenti reimplicano un algoritmo o uno strumento a volte più velocemente di hackerare (o addirittura eseguire il debug) il codice di un progetto open source. Dopo la laurea degli studenti, se non c'è una buona documentazione e una gestione del codice di alta qualità, allora il follow-up accademico ha continuato a motivare lo sviluppo iterativo non è sufficiente.
Pertanto, il forum raccomanda che gli standard di valutazione accademica delle università siano adeguatamente guidati, in modo che i progetti open source con alta qualità del codice e dei documenti, e i progetti con molte stelle su piattaforme di code hosting e collaborazione come Github/Gitee diventino biglietti da visita accademici per studiosi universitari, studenti ed esperti aziendali. Avviare e mantenere progetti EDA open source sarà un grande incentivo per gli studenti a trovare lavoro.
La creazione di un ecosistema di EDA open source richiede anche un set di test di benchmark, in particolare un set di test di benchmark industriale in grado di completare un processo end-to-end; come passare da un set di dati su piccola scala nel mondo accademico a una progettazione avanzata a livello industriale è un argomento che deve essere discusso. Possono ben note società di chip design nel settore fornire alcuni disegni desensibilizzati in modo che la comunità open source possa utilizzare questo come riferimento per la ricerca accademica e concorsi studenteschi, in modo da espandere la scala della comunità open source. In particolare, nell'era contemporanea in cui la tecnologia di deep learning è strettamente integrata con il campo EDA, è necessaria una "ImageNet" nel campo del chip design per promuovere la prosperità della comunità.