Nuove metodologie per nuovi modelli d’uso della potenza

Perché l'alimentazione è improvvisamente diventata un tema così importante? Uno dei motivi è legato al fatto che il processo di analisi dei consumi e l'esigenza di un calcolo sempre più preciso degli assorbimenti di un SoC nell'ambiente di destinazione finale spesso rende impossibile per le aziende rispettare le finestre di mercato. I problemi di alimentazione sono dovuti ai nuovi modelli di utilizzo della potenza, soprattutto nei dispositivi portatili (telefoni, tablet, eccetera). Oltre che per telefonare, questi dispositivi sono oggi utilizzati per navigare, inviare email, giocare, guardare film o sport. Questa evoluzione nell'uso richiede un cambiamento corrispondente anche nella metodologia di analisi del flusso dell'energia. Perché i flussi di analisi dell'alimentazione e le metodologie esistenti non riescono a mantenere il passo? Una delle cause principali riguarda l’avvento dei FinFet che, se dal punto di vista della potenza statica consentono di ridurre gli assorbimenti, in termini di potenza dinamica (a causa della crescente velocità dei chip) rappresentano ancora i più grandi consumatori di energia. Una seconda causa è legata ai testbench funzionali tradizionalmente utilizzati per ricavare le specifiche di potenza, ormai inadeguati per analizzare i problemi di alimentazione. Una terza causa è correlata agli strumenti di analisi, che non sono progettati per effettuare misure di potenza in tempo reale a livello di chip/sistema durante l'esecuzione delle applicazioni software. Questo limite si evidenzia soprattutto alla luce del fatto che gli energivori SoC di ultima generazione hanno reso l'analisi di potenza altrettanto se non più importante della verifica funzionale.

Testbench funzionale e applicazione reale

Se si analizzano i flussi di misurazione della potenza, ci si rende conto che quando si tratta di generare le specifiche di potenza di un SoC i progettisti di chip formulano moltissime ipotesi. Tali ipotesi sono costruite lanciando simulazioni di test funzionali a livello di blocco o di sottosistema e generando delle attività di commutazione attraverso dei file in formato Saif (Switching Activity Interchange Format), Fsdb o Vcd per un numero limitato (decine di migliaia) di cicli. I dati acquisiti vengono poi forniti agli strumenti di analisi di potenza insieme a una libreria di tecnologia per la generazione delle specifiche energetiche. Una volta ottenuti i valori di potenza da questi test funzionali adattati, vengono utilizzate delle tecniche di estrapolazione per determinare le specifiche dell'intero SoC. Spesso, tuttavia, i numeri estrapolati sono abbastanza lontani dai numeri reali misurabili quando i chip tornano in laboratorio. Nel corso dell'ultimo anno, Mentor Graphics ha collaborato con importanti aziende fabless per stabilire un flusso di emulazione capace di generare specifiche accurate. Queste misure di potenza sono effettuate all'interno di un ambiente applicativo mirato durante l'esecuzione di applicazioni software reali. Ciò include l'avvio del sistema operativo e l'esecuzione di centinaia di milioni di cicli: l'operazione permette di individuare le aree più critiche in termini di consumi. Il sistema di emulazione Veloce di Mentor vanta non solo la capacità di gestire SoC di grandi dimensioni (fino a 2 miliardi di gate Asic), ma dispone anche delle prestazioni necessarie per avviare un sistema operativo, eseguire le applicazioni reali e generare dati di commutazione. Veloce fornisce inoltre una visibilità completa su ogni nodo di design, una capacità indispensabile per ottenere delle analisi di potenza accurate. Quando si tratta di generare specifiche di potenza più precise, Mentor ritiene sia meglio utilizzare una piattaforma e una metodologia che consentano di analizzare i consumi di un SoC in un ambiente applicativo mirato a livello di sistema. La figura in apertura illustra perché può essere necessario analizzare la potenza con il software applicativo eseguito dal vivo.

Flusso tradizionale basato su file

In un flusso tradizionale basato su file, Veloce viene utilizzato per generare attività di commutazione su lunghi cicli di emulazione. I dati sono quindi utilizzati come input per gli strumenti di analisi per la generazione dei valori di potenza media. I flussi basati su Saif sono utilizzati abbastanza comunemente dai clienti per effettuare la stima della potenza media; tuttavia tali flussi non hanno informazioni di dipendenza temporale poiché non memorizzano la forma d'onda temporizzata in tutti gli stati del progetto. Questo divario può influenzare la precisione del valore di consumo medio di memorie o IP, dove il calcolo è generalmente più complicato rispetto alla sola valutazione della commutazione cumulativa. Per una migliore precisione delle specifiche di potenza media, molte volte è importante sapere quale parte di attività è stata effettuata durante un certo periodo. Per facilitare la cattura di queste attività di commutazione condizionale e segmentate, Veloce supporta la versione più elaborata del formato Saif; denominata "Forward Saif", è in grado di catturare tutte le condizioni interessanti ai fini della commutazione. Questo in linea di principio è un file Saif Sdpd (State and Path Dependent) per tutte le porte delle celle della libreria che si aggiunge alla normale attività Saif per tutti i nodi di progetto, migliorando l'accuratezza del calcolo della potenza media. Tuttavia, la precisione dipende ancora dal file Forward Saif fornito dall'utente, che richiede tempo e risorse per catturare quanto richiesto in quanto implica una conoscenza approfondita del progetto. I risultati migliori e più accurati vengono dalle forme d'onda che forniscono informazioni di temporizzazione complete. I file Fsdb o Vcd sono talvolta necessari per una serie di altre ragioni, come ad esempio la presenza di alcuni strumenti di analisi che guidano gli utenti verso possibili ottimizzazioni di potenza. Tuttavia, l'utilizzo di file Fsdb o Vcd per l'emulazione non rappresenta una soluzione efficace data la struttura dei file, i lunghi tempi di lettura/scrittura, l'ingombro su disco e i lunghi tempi di generazione. Il motivo principale per cui un flusso basato su Fsdb è lento, è il modo in cui il formato organizza i dati (memorizzazione basata su segnale) e il modo in cui gli strumenti accedono a tali dati (accesso basato sul tempo). Questa mancata corrispondenza nell'orientamento dei dati causa la riduzione delle prestazioni durante la lettura e la scrittura dei flussi basati su Fsdb. Veloce elabora e genera intrinsecamente i dati in modo adatto all'accesso time-based, quindi migliora la portata e l'efficienza delle prestazioni e permette anche un’integrazione migliore e più diretta con i tool di analisi di potenza. In definitiva, vi sono diverse ragioni per le quali la tradizionale analisi dei flussi di potenza basata su file è molto limitata e restrittiva a livello SoC. In primo luogo, i tool di potenza non sono progettati per gestire file di grandi dimensioni generati dall’emulazione. Secondo il tempo per generare i valori di potenza significativi con questo flusso sono inaccettabilmente lunghi. Il tempo necessario per creare e leggere il file per effettuare un'analisi dettagliata della potenza rende il flusso di analisi basato su file impraticabile a livello SoC. Qual è il modo migliore per evitare questi file di grandi dimensioni e concentrarsi su un’analisi di potenza dettagliata delle regioni di progetto, dei blocchi logici e delle applicazioni che causano un elevato tasso di commutazione durante l'esecuzione delle applicazioni software reali? Mentor ha recentemente rilasciato il software Veloce Power Application, una soluzione che consente di effettuare accurate analisi di potenza su progetti complessi di tipo SoC a livello di sistema, di Rtl e di gate. Il software Power Application di Veloce offre una metodologia avanzata che consente ai progettisti di chip di identificare i problemi di alimentazione durante l'esecuzione dei test a livello di sistema, quindi senza acquisire informazioni dettagliate per analisi di potenza focalizzate. Veloce Power Application sostituisce il flusso basato su file con un’integrazione verso i tool di power analysis realizzata mediante una Dynamic Read Waveform Api. Quest’approccio basato sulla Dynamic Read Waveform Api cattura le informazioni dal tracciato dell’attività di power switching, trasferendole immediatamente agli strumenti di power analysis. Ciò consente un calcolo accurato della potenza a livello di sistema, una migliore esplorazione a livello Rtl relativamente alla pianificazione della potenza e ai possibili compromessi, nonché analisi più accurate e un miglior sign-off a livello dei gate. Il tutto con un significativo miglioramento dei tempi di esecuzione e delle prestazioni. I tempi del tipico approccio consistente nell’eseguire l’emulatore, creare il file, importare il file nel tool di power analysis e infine eseguire l’analisi all’interno del tool si riducono ora, con questo nuovo approccio, ai soli tempi relativi all’esecuzione dell’emulatore e della power analysis. Gli attuali partner e clienti preliminari hanno potuto osservare miglioramenti dei tempi di esecuzione fino a 4,5 volte rispetto all’approccio precedente.

Veloce Activity Plot

Veloce Activity Plot è un’integrazione distintiva che permette a un team di analisi di potenza per eseguire sequenze di test lunghe e isolare sulle regioni a tasso di commutazione elevato su cicli di emulazione prolungati; queste regioni rappresentano attualmente le più problematiche dal punto di vista dei consumi. Il tool consente ai eseguire applicazioni software reali, individuare le aree d’interesse quando si tratta di potenza e poi restringere i blocchi applicativi/logici che originano i picchi di commutazioni. È possibile visualizzare un Activity Plot nell'ambito di un progetto completo o parziale, quindi analizzare le tendenze di attività direttamente proporzionali al profilo di consumo. Veloce è in grado di produrre un Activity Plot con una velocità di un ordine di grandezza superiore rispetto ai grafici di potenza basati su file. Ad esempio, Veloce impiega 15 minuti per generare un Activity Plot per 75 milioni di cicli di clock di un progetto da 100 milioni di gate. Gli strumenti di analisi dell'alimentazione richiederebbero più di una settimana per generare informazioni simili, senza la garanzia che sia possibile gestire una tale mole di dati. Veloce Activity Plot fornisce una visualizzazione di attività per l'intero ambito di progetto, comprendendo IP e sotto-gerarchie: il tutto entro finestre temporali mirate d’interesse. Dopo aver identificato le regioni ad alta attività di commutazione al livello più alto del progetto, è possibile analizzare i vari sotto-blocchi o le applicazioni che sono all'origine di tali commutazioni. Ora è possibile catturare queste informazioni in un file Tzf (Time zone file) da inviare a Veloce per generare i dati completi per le finestre temporali selezionate per l'analisi di potenza dettagliata.

Flusso Dynamic Read Waveform Api

Mentor Graphics ha lavorato su un'integrazione unica e personalizzata con uno strumento potenza all'avanguardia: PowerArtist. Il risultato è un flusso in cui lo strumento di analisi viene alimentato con i dati di commutazione dal vivo quando l'emulazione è in esecuzione. L'approccio Drw-Api (Dynamic Read Waveform Api) consente di calcolare con precisione la potenza a livello di sistema, laddove è richiesto l'avvio di un sistema operativo e l'esecuzione delle applicazioni software. Questo rende la soluzione ideale per effettuare l'esplorazione di potenza a livello Rtl per assegnare budget e compromessi di alimentazione, così come per effettuare l'analisi di potenza più accurata e il signoff a livello di gate in un ambiente applicativo mirato. Lo scambio in streaming dei dati di commutazione basato su API dinamica tra gli strumenti di emulazione e di analisi di potenza permette di eseguire in parallelo tutte le operazioni: emulazione del SoC, cattura dei dati di commutazione, lettura dei dati di commutazione da parte dello strumento di analisi di alimentazione e generazione dei valori di potenza. Ciò porta un miglioramento enorme, riducendo drasticamente il tempo necessario per la generazione della potenza e garantendo una maggiore precisione rispetto ai flussi basati su Saif in quanto i controlli condizionali per la commutazione sono incorporati automaticamente. L'Api di streaming dinamico consente l'analisi di potenza e l'esplorazione a livello SoC con scenari e prove prolungate impossibili da definire con un flusso basato su file. I progettisti possono ora soddisfare e verificare i propri obiettivi di potenza in modo più affidabile ed efficiente, combinando le prestazioni di due degli strumenti più avanzai del settore. Veloce rappresenta principale la piattaforma di emulazione mentre PowerArtist è la migliore soluzione in stima della potenza. Tra i prodotti vi è una naturale sinergia. Rispetto alla simulazione, Veloce può avviare il sistema operativo, eseguire applicazioni software in tempo reale ed eseguire cicli di verifica per rilevare le attività del progetto su cicli prolungati. PowerArtist è in grado di stimare i valori di potenza utilizzando le attività del progetto catturate sul lungo periodo. Questo fornisce dei valori di potenza più precisi rispetto alla simulazione o ad altri metodi statici probabilistici. Le prestazioni in esecuzione di Veloce e l'integrazione in streaming con PowerArtist permettono di definire i valori di potenza per una varietà di scenari di test e di modalità funzionali in tempi ragionevolmente brevi, consentendo di prendere delle decisioni relative alla potenza supportate da dei dati reali. Questa nuova e maggiore integrazione migliora il tempo di produttività. Entrambi gli strumenti lavorano sullo stesso modello dati, trasferendo le informazioni di commutazione secondo il metodo più ottimizzato ed evitando penalità in termini di scrittura/lettura del file, assicurando una maggiore precisione. In altre parole, questo nuovo approccio elimina la dipendenza dalla rete e dai tempi di lettura/scrittura necessari per un volume enorme di file transitori. Inoltre, esso allinea i tempi di entrambi di compilazione di entrambi gli strumenti e incorpora la Critical Signal List nativa, migliorando ulteriormente le prestazioni e l'intuitività. Tipicamente, l'elenco dei segnali critici rappresenta circa il 10-20% dei segnali completi del progetto. Il suo utilizzo migliora quindi significativamente il rapporto tempo/potenza, riducendo lo scambio di dati tra i tool.

Flusso basato su file e flusso Dynamic Read Waveform Api

Con il flusso Dynamic Read Waveform Api, i passaggi di scrittura e lettura vengono eliminati migliorando significativamente le prestazioni. Esplorazione Rtl completa e signoff di potenza a livello gate Eliminando un flusso basato su file e combinando l'esclusiva integrazione Dynamic Read Waveform Api con gli strumenti di analisi di potenza, Veloce offre un'esplorazione completa a livello Rtl e una capacità di analisi dei flussi di potenza a livello gate. È possibile iniziare l'esplorazione Rtl fin dalle prime fasi, offrendo l'opportunità di introdurre dei compromessi di potenza e delle modifiche architettoniche più a monte nel ciclo di progettazione. I progetti possono continuare a utilizzare il flusso quando il disegno viene congelato e per preparare le rappresentazioni gate-level per il tapeout. A questo punto, i progettisti possono ottenere delle misure di potenza più accurate e fare un'ulteriore messa a punto prima del tapeout e del signoff.

Pubblica i tuoi commenti