Eda in evoluzione

SOFTWARE DI PROGETTAZIONE –

Per tenere il passo con la legge di Moore, il software di Electronic Design Automation è chiamato a fornire strumenti che consentano di progettare chip comprendenti miliardi di transistor, con i vincoli posti da processi di fabbricazione sempre più complessi.

Nel caso dei circuiti integrati, il software Eda (Electronic Design Automation) ha lo scopo di automatizzare il più possibile il flusso di progettazione che inizia con la descrizione delle funzioni del chip e si conclude con la creazione dei file in formato GDSII per produrre le maschere fotolitografiche. L'automazione si rende necessaria, ovviamente, per aumentare la produttività dei progettisti, cioè per ridurre i tempi e i costi di questo flusso. L'obiettivo ultimo è la realizzazione di un buon progetto: il silicio deve funzionare al primo tentativo, perché il rifacimento delle maschere litografiche è estremamente costoso e introduce ritardi nella commercializzazione; il chip deve essere esente da errori nascosti che si traducono in malfunzionamenti in alcune particolari condizioni; il progetto deve soddisfare tutti i vincoli prefissati, in termini di prestazioni, consumo energetico, area di silicio occupata; e deve infine garantire una buona resa produttiva, cioè una bassa percentuale di scarti sul totale dei chip fabbricati (una quota crescente degli scarti dipende infatti dalle caratteristiche del progetto, che può essere più o meno sensibile alla variabilità del processo produttivo). Il software Eda deve inoltre essere utilizzabile dalla maggior parte delle società che progettano chip, quindi deve avere prezzi accessibili e utilizzare piattaforme di calcolo normali, non supercalcolatori. Nel campo delle tecnologie Eda il progresso consiste essenzialmente nella capacità di tenere il passo con la cosiddetta legge di Moore, cioè con la progressiva miniaturizzazione e con il continuo aumento del numero di transistor integrabili in un chip. Il passaggio a geometrie di processo sempre più piccole pone infatti problemi sempre nuovi a livello di automazione del progetto, problemi che non possono essere risolti semplicemente aumentando la velocità di calcolo dei computer su cui “gira” il software Eda preesistente. In questo articolo ci limiteremo a illustrare alcuni dei temi di attualità nel settore.

La parte iniziale del flusso
Per quanto riguarda la parte iniziale del flusso di progettazione, il principale problema legato alla legge di Moore è il continuo aumento delle dimensioni dei chip. Ad esempio, i nuovi chip Intel a 22 nanometri contengono 1,4 miliardi di transistor; sempre a 22 nanometri, il numero massimo di gate (non di singoli transistor) teoricamente integrabili in un singolo chip viene valutato intorno a due miliardi. Per consentire ai progettisti di realizzare dispositivi così grandi, l'industria Eda è chiamata a fornire strumenti di sintesi sempre più potenti, strumenti che permettano cioè di descrivere le funzioni logiche a un livello di astrazione sempre più alto e di generare automaticamente lo schema a livello di porte logiche. Da anni si è affermato l'uso degli strumenti di sintesi logica, che accettano in ingresso una descrizione a livello Rtl (Register-Transfer Level) e generano una certa netlist di porte logiche tenendo conto dei parametri impostati (prestazioni, consumo, area di silicio occupata); attualmente è in corso il passaggio a un livello di astrazione ancora più alto, grazie agli strumenti Hsl (High-Level Syntesis) che consentono al progettista di descrivere le funzioni tramite un linguaggio simile al C, ad esempio SystemC. L'aumento delle dimensioni dei chip rende sempre più pesante l'attività di verifica, necessaria per accertare che il circuito disegnato a livello di porte logiche svolga effettivamente la funzione richiesta. Aumentando il numero di gate, infatti aumentano enormemente le possibili combinazioni tra gli stati dei singoli elementi, quindi per esplorare esaustivamente lo “spazio” dei casi possibili occorrerebbe un numero astronomico di test. La verifica viene effettuata principalmente per mezzo della simulazione, ossia creando un modello software del circuito e facendolo funzionare per vedere come si comporta; la velocità di funzionamento del modello software è però inevitabilmente molto più bassa di quella di un circuito in silicio, pertanto il numero dei test eseguibili è necessariamente limitato. Per aumentare la velocità si può ricorrere alla emulazione, cioè alla costruzione di un modello hardware del chip per mezzo di Fpga; nemmeno questa tecnica, però, consente di esplorare in modo esaustivo lo “spazio” delle possibili condizioni di funzionamento. La verifica formale è una tecnica diversa, che consente di accertare la correttezza dell'implementazione dimostrando matematicamente la sua equivalenza logica nei confronti della descrizione di alto livello. Un altro modo in cui l'industria Eda contribuisce a rendere fattibile la realizzazione di chip sempre più grandi è tramite gli strumenti che consentono di assemblare blocchi di IP (Intellectual Property), cioè parti di progetto già pronte per l'uso.

L'implementazione
Per quanto riguarda la parte finale del flusso di progettazione, il problema principale legato alla legge di Moore consiste nel fatto che con la riduzione delle geometrie i processi di fabbricazione dei chip divengono sempre più complessi e delicati. I circuiti integrati, quindi, sono sempre più sensibili a ogni minima variazione nella forma fisica degli elementi che li compongono. Per far sì che il chip funzioni nel modo previsto occorre pertanto che l'implementazione fisica di ogni elemento circuitale segua regole ben precise, in termini di dimensioni assolute e di rapporti spaziali con gli altri elementi circostanti. Il mancato rispetto di queste regole rende il circuito integrato meno tollerante nei confronti della variabilità statistica del processo di fabbricazione: in altri termini, basta una minima variazione dimensionale per provocare un malfunzionamento, il che si traduce in un calo della resa produttiva. Questa ipersensibilità alle variazioni dimensionali si traduce in un'esplosione delle regole di progetto. All'adozione di ogni nuovo processo di fabbricazione, le fonderie di silicio e i produttori di circuiti integrati Idm fissano una serie di regole alle quali i progettisti dovranno attenersi nella realizzazione del progetto fisico. Ma mentre fino ad alcuni anni fa queste prescrizioni erano poche e semplici da seguire, con le odierne geometrie di processo (32 nanometri, 22 nanometri ecc.) e con l'aumento del numero dei livelli di metallizzazione (oggi anche undici o più), il numero e la complessità delle regole sono aumentati enormemente. L'elenco comprende controlli multidimensionali, controlli litografici, controlli relativi alla sovrapposizione dei pattern, controlli specifici per la tecnica di double patterning che si rende necessaria per scendere a geometrie così piccole ecc. L'aumento della complessità appare evidente anche considerando le dimensioni dei manuali preparati dalle fonderie: dieci anni fa le regole di progettazione potevano essere descritte in un opuscolo, oggi richiedono un volume di centinaia di pagine. A complicare ulteriormente le cose contribuisce il fatto che spesso le fonderie sono costrette a modificare le regole di progettazione dopo un primo periodo di rodaggio del nuovo processo di fabbricazione, per tener conto dei problemi imprevisti che emergono nel corso dell'attività produttiva. Gli strumenti Eda di implementazione fisica, quelli cioè che disegnano automaticamente i transistor, sono chiamati oggi a rispettare tutte queste regole di progetto.
La riduzione delle geometrie ha richiesto all'industria Eda di sviluppare anche nuovi algoritmi di posizionamento e sbroglio che tengano conto della “congestione” e della lunghezza delle interconnessioni. L'aumento lineare del numero dei blocchi di IP comporta infatti un aumento esponenziale del numero di interconnessioni necessarie per farli dialogare tra loro; questi collegamenti richiedono spazio e quindi, se l'area del die è predeterminata, provocano aree di “congestione” nel posizionamento e sbroglio, cioè zone in cui diviene difficile se non impossibile far passare tutte le linee volute. La congestione sta divenendo un problema sempre più grave per vari motivi. In primo luogo  perché le interfacce tra i blocchi di IP evolvono verso una maggiore complessità, ad esempio, con riferimento all'interfaccia Amba sviluppata da Arm, il protocollo Axi usa segnali molto più “larghi” (in termini di numero di bit paralleli) rispetto al precedente protocollo Ahb. In secondo luogo perché nel passaggio a geometrie di processo sempre più piccole, la riduzione di dimensioni dei diversi elementi del chip non è uniforme: la larghezza delle linee di collegamento cala di meno rispetto alle dimensioni dei transistor, pertanto la percentuale di area occupata da esse tende ad aumentare. Il problema della congestione può tradursi in una maggiore complessità della progettazione, in un aumento dell'area del die (per fare spazio alle interconnessioni), o in un maggior numero di livelli di metallizzazione (nel caso occorra creare dei ponti per i collegamenti). Inoltre, a 20 nanometri è necessario anche ridurre la lunghezza delle interconnessioni, che introducono ritardi confrontabili con quelli dovuti alla logica. I nuovi algoritmi utilizzano soluzioni innovative per esplorare lo spazio delle possibili soluzioni di posizionamento/sbroglio: al posto del “simulated annealing”, che esplora casualmente lo spazio nei dintorni della posizione scelta inizialmente dal progettista, vengono adottati nuovi approcci che consentono di ottimizzare tre parametri in parallelo sull'intero chip: temporizzazioni, lunghezza delle connessioni, congestione.
Un altro tema di attualità è la necessità di rendere il progetto meno sensibile alla variabilità del processo di fabbricazione e dei parametri ambientali - indicati collettivamente come variazioni Pvt (Process-Voltage-Temperature) - per evitare cali di resa produttiva; questo obiettivo deve però essere raggiunto senza ricorrere a margini di sicurezza eccessivi che vanificano l'adozione delle geometrie di processo più avanzate e senza perdere tempo in lunghe iterazioni del progetto. Alcuni strumenti Eda specializzati si propongono appunto di ottenere questo risultato, scegliendo opportunamente i casi limite da simulare.
I problemi di implementazione fisica sono destinati a diventare ancora più complessi nel prossimo futuro a causa dell'adozione di strutture tridimensionali; gli strumenti Eda dovranno fornire risposte anche a queste nuove esigenze.

Lo stato dell'arte
E' opinione comune nell'industria dei semiconduttori che attualmente il software Eda disponibile sul mercato sia in ritardo rispetto alle esigenze degli utilizzatori, cioè che l'industria Eda non sia riuscita a tenere il passo con la legge di Moore. La produttività dei progettisti, infatti, è aumentata, ma non abbastanza da compensare l'aumento di complessità dei progetti. Questo divario tra aspettative e possibilità pratiche viene spesso indicato con l'espressione “productivity gap”. In effetti negli ultimi anni il costo di un nuovo progetto è aumentato costantemente e - secondo dati diffusi dall'analista Gary Smith - nel 2008 ha superato la soglia dei 50 milioni di dollari. Sempre stando a questi dati, oggi la progettazione di un SoC può coinvolgere da cento a duecento progettisti hardware, impegnati per diciotto mesi o più. A questo si aggiungono i costi dello sviluppo del software, generalmente superiori a quelli dell'hardware. Per colmare il “productivity gap” occorrono progressi su molti diversi fronti; una delle dimensioni è senza dubbio l'aumento della capacità degli strumenti software. Secondo calcoli effettuati da Gary Smith, infatti, idealmente i tool per progettare a 22 nanometri dovrebbero essere in grado di trattare blocchi da 88 milioni di gate ciascuno. Occorrono quindi strumenti di sintesi più potenti e un generalizzato aumento della velocità in tutte le fasi, dalla simulazione al posizionamento/sbroglio. Altri progressi sono necessari sul fronte dell'integrazione dei blocchi di IP, un processo che non è stato ancora totalmente perfezionato sebbene negli ultimi anni abbia compiuto progressi significativi. Stando ai dati diffusi da Cadence, infatti, i produttori di SoC spendono per l'attività di integrazione il doppio o il triplo di quanto sborsino per acquistare i blocchi di IP, inoltre nei progetti a 65 nanometri la certificazione della IP acquistata può assorbire fino a un quarto del budget riservato alla progettazione hardware. Tra le attività più complesse è compresa la verifica; altre complicazioni riguardano il software del sistema, un elemento che assume importanza crescente. Per ovviare a questi inconvenienti, alcune società Eda puntano a realizzare un proprio ecosistema di IP pre-certificata e ottimizzata per l'integrazione. Ovviamente l'ideale sarebbe poter offrire ai progettisti una soluzione slegata dai fornitori del software Eda e che garantisca comunque un'integrazione davvero “plug and play” dei blocchi di IP. Si tratta di un problema aperto. La causa del ritardo delle tecnologie Eda rispetto alle esigenze degli utilizzatori viene spesso identificata nell'insufficienza delle risorse di ricerca e sviluppo. Il settore, infatti, è estremamente specialistico, inoltre il business model delle società Eda sembra non essere in grado di assicurare fondi sufficienti alla R&D. Le aspettative si appuntano quindi su iniziative che consentano di potenziare la ricerca. Altre speranze riguardano i progressi nel campo dell'elaborazione parallela, che promette significativi aumenti della velocità di elaborazione dei computer.

Pubblica i tuoi commenti