I vantaggi della sintesi physically aware

Nel momento in cui si utilizzano nodi di processo sempre più avanzati, quindi caratterizzati da geometrie via via inferiori, i progettisti devono da un lato rispettare "tabelle di marcia" sempre più aggressive e dall'altra soddisfare la richiesta di migliorare consumi, prestazioni e ingombri provenienti da un mercato molto competitivo come quello dei SoC. Uno dei principali problemi che i progettisti si trovano ad affrontare è la mancata conoscenza delle modalità di elaborazione della netlist prodotta durante la sintesi nel corso del processo di place-and-route. Questa mancanza di prevedibilità non ha un impatto solamente sul progetto, ma complica anche la vita del progettista. In ogni caso è meglio sapere se ciò che è stato fatto funziona correttamente, impedendo quindi il verificarsi di eventi imprevisti con tutti gli svantaggi che essi comportano. I SoC realizzati con processi da 28nm (e inferiori) sono molto complessi ed è sempre più difficile conseguire gli obiettivi. Poiché quando si utilizzano nodi di processo così avanzati l’influenza delle interconnessioni sul timing è sempre maggiore, aumentano le probabilità che nascano problemi timing e di congestione in fase di routing. Il progettista, dal canto suo, deve integrare sempre più transistor in un singolo chip, oltre a ridurre i consumi imputabili alla potenza dinamica (ovvero consumata da un dispositivo quando sta commutando da uno stato all'altro) e a quella statica (quando il dispositivo è in uno stato inattivo). A questo punto è utile domandarsi se è ancora il caso di effettuare la sintesi in modo tradizionale. La sintesi di tipo "physically aware", che prevede cioè la possibilità di introdurre considerazioni di natura fisica nelle fasi iniziali del processo di sintesi logica, permette di migliorare sensibilmente il processo di design e ridurre drasticamente il tempo richiesto per la risoluzione dei problemi. Di seguito verranno discusse alcune tra le principali tecniche di sintesi physically aware che possono contribuire ad accelerare il processo di "design closure" fisico dei SoC ad alte prestazioni e bassi consumi delle prossime generazioni.

La sintesi physically aware
Le odierne tecnologie di sintesi physically aware permettono di utilizzare nelle fasi inziali la modellazione delle interconnessioni fisiche nel processo di sintesi al fine di consentire la creazione di una struttura migliore della netlist (in pratica la descrizione dei componenti e delle loro connessioni), più adatta per l'utilizzo da parte degli attuali tool di P&R. È possibile iniziare senza un floorplan e consentire alla sintesi di formularne uno: il progettista potrebbe fornire un floorplan molto semplice. Ovviamente migliore è il floorplan che si ha a disposizione, maggiore sarà la possibilità di sfruttare i vantaggi dell'ottimizzazione globale della sintesi con un'interconnessione fisica più dettagliata. In pratica ciò vuol dire superare la tradizionale barriera logica/fisica. Quindi non è più necessario aspettare la valutazione, positiva o negativa, degli specialisti che si occupano della fase di back-end. Nel corso dell'articolo saranno discusse le seguenti innovazioni a livello di sintesi physically aware: Ple (Physical Layout Estimation), Pam (Physically Aware Mapping), Pas (Physically Aware Structuring) e PA-Mbci (Physically Aware Multi-bit Cell Inferencing). Naturalmente, prima di poter definire un floorplan adatto, è necessario disporre di una netlist iniziale adeguata. Per creare questa netlist iniziale, il progettista può ancora ricorrere a informazioni di natura fisica e utilizzare la stima del layout fisico o Ple (Physical layout estimation). Per questo motivo sono necessarie alcune informazioni fisiche di base, come ad esempio file Lef e la tabella dei valori delle capacità o i file Qrc (file binari che contengono una caratterizzazione accurata degli elementi della libreria). In questo contesto il file Def per il floorplan è opzionale.
Ple è una tecnica di modellazione fisica che permette di acquisire il comportamento del tool P&R relativamente alla timing closure necessaria per l'ottimizzazione della sintesi Rtl. Essa consente di generare una netlist iniziale adatta per il floorplanning, così da ottenere un miglior bilancio tra timing, consumi e area occupata. In sintesi la tecnica Ple: utilizza il progetto effettivo e le informazioni della libreria fisica. Si adatta in maniera dinamica alla variazione delle strutture logiche del progetto. Garantisce il medesimo tempo di esecuzione (run time) di quello richiesto dalla sintesi con i modelli di tipo wireload (di tipo statistico). Una volta disponibile una netlist iniziale di questo tipo, è possibile creare un floorplan adeguato. In precedenza un floorplan di questo tipo era utilizzato nella fase di P&R e non in fase di sintesi. Ora invece è possibile impiegare questo floorplan per consentire all’engine di sintesi di individuare le connessioni lunghe prima di realizzare effettivamente le porte logiche necessarie per la netlist di tipo “physically aware”. Le tre fasi principali del flusso della sintesi Rtl “physically aware” sono il piazzamento dei gate generico, l’ottimizzazione Rtl fisica globale e la mappatura fisica globale.

Physically Aware Mapping
L’obiettivo di un mapping di questo tipo è migliorare il timing grazie a un incremento della correlazione. Essa prevede: piazzamento iniziale delle macro e delle porte generiche; ottimizzazione delle macro e delle porte piazzate (ottimizzazione a livello Rtl, compresa l’ottimizzazione del percorso dati - datapath); stima dei percorsi (route) e di eventuali congestioni per le macro e le porte generiche piazzate tenendo in considerazione i vincoli fisici come ad esempio eventuali “ostruzioni” che impediscono l’operazione di P&R; estrazione degli elementi parassiti (resistenze e capacità) utilizzando un metodo di estrazione unico sui percorsi stimati. Dopo aver eseguito un piazzamento del gate generico, ogni interconnessione presente in un progetto è caratterizzata da un ritardo fisico. L’engine di sintesi è ora in grado di individuare in maniera accurata i percorsi critici. La sintesi globale esegue il mapping delle celle basata sui ritardi fisici delle interconnessioni, converte i gate generici in gate standard sulla base della libreria tecnologica fornita e crea una netlist ottimizzata.
Grazie al fatto di prendere in considerazione i ritardi reali delle interconnessioni, la mappatura Pam ha consentito di ottenere risultati migliori fino al 15% in termini di timing. Dopotutto, sapendo in anticipo che un certa interconnessione sarà lunga e che il ritardo aggiuntivo è causato dalla lunghezza della stessa, è possibile strutturare la netlist in maniera più accurata tenendo conto di questi ritardi. Grazie a conoscenze di questo tipo, la sintesi sarà in grado di comprimere i percorsi critici e “allentare” quelli non critici sulla base dei ritardi delle interconnessioni.

Physically Aware Structuring
Di seguito sono riassunte le operazione eseguite dalla Pas: fornisce una selezione ottimizzata dei multiplexer con codifica binaria/one-hot.
Prende in considerazione le strutture caratterizzate da un elevato grado di congestione come ad esempio punti di incrocio, circuiti a scorrimento programmabili e catene di mux connessi a una memoria. Scompone un mux di grandi dimensioni in un insieme di mux più piccoli ciascuno dei quali è potenzialmente in grado di condividere la logica di codifica. La logica di decodifica, a sua volta, è partizionata in maniera intelligente sfruttando la conoscenza dei pin di ingresso fisici. Genera “isole” di decodifica che tengono conto della congestione (congestion-aware) attraverso operazioni di condivisione e duplicazione “intelligenti” delle linee di selezione. Grazie all’adozione della tecnica Pas è possibile ottenere un migliore piazzamento che contribuisce a ridurre la congestione in fase di routing.
Per illustrare in concreto i vantaggi propri delle due tecniche appena descritte - Pas e Pam - si prenda in esame il progetto di una memoria flash il cui floorplan prevede un piccolo “canale” di logica digitale circondato dalla memoria flash. In un progetto di questo tipo vi sono problemi di congestione e di temporizzazione provocati da un modello inadeguato delle interconnessioni per la sintesi logica. Utilizzando la Advanced Physical Option dello strumento di sintesi Genus di Cadence che integra funzionalità di sintesi physically aware il Tns è passato da da circa 12,400 ns a circa 750 ns. Questa tecnologia ha permesso di migliorare la correlazione del timing grazie all’individuazione di percorsi lunghi durante la sintesi fisica, oltre a contribuire a ridurre la congestione. In definitiva il team di progetto ha potuto beneficiare di una significativa riduzione sia del tempo di completamento del design sia del numero di iterazioni richieste tra le fasi di sintesi e P&R. Come secondo esempio si può prendere in considerazione un SoC ideato per applicazioni di networking caratterizzato da un milione di blocchi funzionali e dalla presenza di un gran numero di multiplexer. Utilizzando la sintesi di tipo tradizionale, i progettisti si sono trovati di fronte a una congestione di notevole entità nelle direzioni orizzontale e verticale che non permetteva di effettuare il routing. Mediante la sintesi physically aware prevista dalla Advanced Physical Option di Genus, i progettisti sono stati in grado di conseguire i loro obbiettivi in termini di timing e occupazione di area, ottenendo un design sul quale è stato possibile effettuare il routing e contraddistinto da congestione di lieve entità. Solitamente, per riuscire a effettuare il routing su un determinato progetto è necessario prevedere appositi spazi nel layout per tener conto della scarsa accuratezza della struttura della netlist. Le connessioni sono di conseguenza più lunghe e ciò, oltre a comportare la necessità di inserire più buffer, contribuisce ad aumentare i consumi. Grazie alla sintesi physically aware, è possibile eliminare pad e margini aggiuntivi, riducendo in modo significativo l’area occupata e le dimensioni del chip, con conseguente diminuzione della lunghezza delle interconnessione e dei consumi.

La tecnica PA-Mbci
La tecnica Mbci (Multi-bit cell inferencing) permette di effettuare la fusione dei flip flop a bit singolo in una versione a più bit del medesimo dispositivo. Sfruttando la strategia di sintesi Mbci di tipo physically aware (PA-Mbci) è possibile ridurre i consumi totali del chip: in molti casi la diminuzione dei consumi della potenza dinamica è anche superiore del 10%. La fusione di flip flop a bit singolo in flip flop a più bit può essere effettuata utilizzando metodi di natura logica oppure fisica. Nel primo caso la sintesi prende in considerazione solamente la netlist e converte i flip flop in flip flop multi-bit senza prendere in considerazione l'ubicazione e la prossimità dei flip flop. Lo svantaggio di questo metodo è dovuto al fatto che potrebbe portare a un floorplan in cui i flip flop si trovano alle estremità opposte generando un problema di piazzamento e dando origine a interconnessioni lunghe, che a loro volta generano problemi di timing e di routing. La Advanced Physical Option di Genus prevede la possibilità di effettuare una fusione multi-bit di natura "physically aware": le celle sequenziali vengono abbinate tenendo conto della compatibilità e della vicinanza fisica a partire dal piazzamento naturale. Si tratta di un processo "corretto per costruzione" il quale assicura che il processo di fusione dei flip flop dopo il piazzamento avvenga solamente se apporta benefici rispetto a un fattore che incide sui costi (timing, area occupata, consumi di potenza statica e dinamica) senza penalizzare gli altri fattori. Grazie al processo PA-Mbci è possibile evitare il deterioramento delle prestazioni, ridurre la lunghezza delle interconnessioni, minimizzare la congestione e ridurre i consumi. Al fine di esemplificare i vantaggi derivati dall'utilizzo del flusso Mbci, è utile esaminare l'impatto di tale flusso sullo sviluppo di un progetto basato su un processore embedded realizzato sfruttando un nodo tecnologico avanzato. Rispetto all'uso delle metodologie di sintesi tradizionale, l'adozione della sintesi "physically aware" ha comportato miglioramenti di notevoli entità in termini di: area occupata dall'albero di distribuzione del clock (15%); Tns (60%), potenza dinamica (6,4%); potenza statica (4%) e routing (4,7%).

 

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome