Accelerare la sintesi Rtl e la sintesi fisica dei SoC

Figure_1

Nel sempre più complesso mondo dei SoC moderni, si sta assistendo all'integrazione di un numero crescente di blocchi IP di terze parti con il vostro Rtl proprietario altamente ottimizzato. Si dovranno allo stesso tempo garantire requisiti di consumo, di area e di alta frequenza operativa, senza trascurare un hand-off affidabile dei dati verso il place & route.
Le tecniche e le tecnologie di sintesi logica e fisica altamente parallelizzate, sono in grado di soddisfare le sfide imposte dalla progettazione di SoC basati sui nodi tecnologici più avanzati. Tali soluzioni consentono: l'ottimizzazione anticipata dei parametri Ppa (potenza, prestazioni e area) della micro architettura di datapath; la stretta correlazione con il place & route; l'aumento della produttività della progettazione Rtl per aiutare a soddisfare i tempi di sviluppo più stringenti. Considerando la crescita dei SoC complessi e di grandi dimensioni destinati alle applicazioni di fascia alta, è sempre più importante consolidare le micro architetture del progetto e avviare la sintesi Rtl il più presto possibile. Non solo: è anche fondamentale seguire un processo idoneo ad assicurare un handoff affidabile al P&R al fine di garantire un’efficace convergenza del progetto. In caso contrario, è inevitabile incorrere in onerose iterazioni di P&R.


Risolvere le sfide
Nel percorso di sviluppo, introdurre in anticipo le considerazioni fisiche all’interno del flusso di sintesi logica significa risolvere alcune di queste sfide. La sintesi fisica migliora radicalmente il processo di progettazione e permette di ridurre i tempi altrimenti necessari per risolvere i problemi nelle fasi più avanzate del flusso. Tuttavia, quando si tratta di SoC complessi basati su nodi tecnologici avanzati, le attuali tecnologie di sintesi fisica presentano alcuni limiti. Per i SoC complessi, è necessario modellare meglio tutti gli effetti fisici critici relativi al piazzamento, al routing e al timing. Tale processo potrebbe essere snellito tramite dei motori comuni e delle ipotesi condivise con le tecnologie di implementazione utilizzate nelle fasi più avanzate del flusso. Inoltre, per gestire le crescenti dimensioni dei progetti SoC, occorrono delle tecniche che possano accelerare l'esecuzione delle sintesi e migliorarne le capacità, raggiungendo così dei livelli di produttività superiori.

Una migliore sintesi fisica
Per gettare le basi della sintesi fisica, occorrono alcune funzioni già oggi disponibili. Queste, permettono di supportare la generazione di una migliore struttura di netlist grazie ad alcuni metodi elencati di seguito:

  • Utilizzando un floorplan fisico di riferimento per l'ottimizzazione della sintesi Rtl è possibile creare una buona netlist iniziale per il P&R e ottenere un miglior equilibrio tra timing, potenza e area.
  • La capacità di strutturare la netlist per tenere conto dei ritardi reali dei collegamenti e per identificare i percorsi lunghi permette alla sintesi di "comprimere" più efficacemente i cammini critici e di "espandere" quelli meno critici, migliorando sia la correlazione sia il timing.
  • Grazie alle tecniche di strutturazione e mappatura che considerano l'ambito fisico è possibile aiutare ad alleviare la congestione di routing e il Tns (Total negative slack).
  • La sintesi fisica può aiutare a ridurre il consumo totale del chip e a ottimizzare la logica Dft (Design-for-test).

Migliorare il flusso di sintesi
La capacità limitata è uno dei più grandi ostacoli per la sintesi Rtl dei SoC basati su nodi tecnologici avanzati. Un trend emerso come possibile soluzione è il ricorso ad architetture ad alto parallelismo. Coinvolgendo un numero sempre crescente di processori per eseguire contemporaneamente una serie di funzioni coordinate, le architetture ad alto parallelismo permettono di ottenere un tempo di sintesi molto più veloce, il che si traduce in una maggiore produttività di progettazione Rtl. Anche la modalità di suddividere il progetto adottata dallo strumento di sintesi, in concerto con la sua architettura ad elevato parallelismo, può contribuire a ottenere un'esecuzione più veloce della sintesi. Ad esempio, alcuni vantaggi di produttività possono derivare del seguente approccio:

  • suddividere il progetto in più partizioni in una fase particolare del flusso;
  • eseguire queste partizioni in parallelo;
  • riunire di nuovo le partizioni nel chip completo.

Portando questo concetto ancora più avanti, è possibile immaginare quanto lavoro si potrebbe ottenere suddividendo l'intero progetto in più partizioni di alto livello in grado di evolvere individualmente in tutte le fasi del ciclo di sviluppo. Benché gli attuali strumenti di sintesi già sfruttino il parallelismo in molti contesti, due vincoli chiave limitano la loro capacità di scalare ulteriormente senza degradare i parametri di Ppa:

  • Effetto “rigidità”: il numero di gate non è una buona misura dell'ottimizzazione del tempo di esecuzione. Per ottenere un buon risultato, parti differenti di un progetto possono richiedere livelli di sforzo di ottimizzazione differenti. Se il partizionamento si basa solo sul numero di gate e non sullo sforzo di ottimizzazione, alcune partizioni possono introdurre una "rigidità", cioè un collo di bottiglia per eventuali miglioramenti del tempo di esecuzione.
  • Gerarchia di progetto: il migliore partizionamento per eliminare l'effetto “rigidità” potrebbe non allinearsi con le gerarchie fisiche o di modulo. Pertanto, il partizionamento deve essere in grado di "affettare" la gerarchia di progettazione senza forzarne la separazione.

Ciò che è necessario per rendere il partizionamento efficace è la garanzia che non si verificheranno le tipiche degradazioni a livello di QoR o PPA che possono manifestarsi quando si ricombinano o riuniscono le partizioni.
Le funzionalità di mapping rappresentano un altro aspetto da considerare. Le tecnologie esistenti tengono conto di requisiti di timing e di area durante la sintesi, ma in modo indipendente e iterativo. Che cosa succederebbe se si potesse considerare il progetto a livello globale esaminando più di un vincolo contemporaneamente? Ai fini della sintesi, con i progetti più piccoli basati su processi consolidati, non sempre è stato importante considerare gli effetti a valle, quali ad esempio la congestione. Ma gli effetti a valle sono certamente importanti con i progetti più grandi sviluppati su nodi avanzati. Se la funzione di mappatura nello strumento di sintesi potesse analizzare diversi vincoli contemporaneamente e nell'ambito di un accurato contesto fisico, la netlist alla base del P&R sarebbe sicuramente migliore.

Tool di sintesi ad elevato parallelismo
Genus di Cadence è un tool di sintesi Rtl e di sintesi fisica di nuova generazione che supera le limitazioni degli strumenti di sintesi tradizionali attraverso degli algoritmi innovativi che migliorano la produttività del progettista Rtl. La sua architettura analitica scalabile e ad alto parallelismo accelera il tempo di esecuzione. Il suo motore di ottimizzazione globale del datapath permette di ridurre notevolmente il consumo energetico e l'area del datapath stesso. La soluzione offre:

  • un tempo di esecuzione della sintesi fino a 5 volte inferiore e scalabile su più di 10 milioni di istanze;
  • una correlazione ultra stretta al P&R attraverso motori e algoritmi condivisi;
  • l'ottimizzazione globale anticipata del Ppa a livello di architettura, con una riduzione del 20% dell'area e della potenza di datapath;
  • una riduzione pari a più di 2 volte delle iterazioni tra sintesi a livello di unità e a livello di chip grazie a una nuova funzionalità di generazione di contesto “fisicamente consapevole”.

Pubblica i tuoi commenti