Eda per la progettazione di sistemi embedded SoC-oriented

Depositphotos_6058597_original

L’Eda, dopo una prima fase di sviluppo intesa a supportare la progettazione assistita di sistemi complessi e dei componenti microelettronici a più o meno larga scala di integrazione, si trova ora ad affrontare problematiche di elevato grado sistemistico che hanno portato la complessità all’interno dei chip. Il paradigma della progettazione sta quindi parallelamente diventando più complesso e richiede strumenti adeguati e automatizzati per affrontare non solo la critica fase della creazione, ma anche altre fasi del ciclo di sviluppo che sono ormai diventate altrettanto critiche come per esempio quella dell’integrazione. L’Eda consente di gestire in maniera efficiente ed efficace le tre fasi dello sviluppo, la progettazione, la verifica e l’implementazione a livello di sistema integrato, a livello di sistema distribuito, a livello hardware e a livello software. Il software è la vera la vera componente di complessità del sistema, soprattutto in questa sua nuova natura altamente integrata come viene intesa nell’approccio SoC. I sistemi Eda non sono più sistemi orientati alla progettazione e allo sviluppo dell’hardware, ma sistemi orientati alla progettazione di sistemi, in cui la componete software prevarica, anche in termini di costi, la componente hardware. Questa nuova dimensione della complessità dello sviluppo ha portato in primo piano altri paradigmi di progettazione che necessitano di essere assistiti da computer come la simulazione, la prototipazione virtuale, il system profiling e l’energy profiling.


La prototipazione virtuale
La prototipazione virtuale, in particolare, è una tecnica di progettazione che consente la verifica funzionale di un sistema che supera i limiti delle tecniche tradizionali di sviluppo legate principalmente alla simulazione e all’emulazione. La prototipazione virtuale consente di progettare facendo riferimento a un modello funzionale modificabile in qualsiasi momento del ciclo di sviluppo e allo stesso tempo immediatamente trasformabile in sistema finale, con il vantaggio della validazione del software prima della disponibilità dell’hardware. La prototipazione è uno di quei costi della progettazione detti non ricorrenti, quindi non minimizzabili attraverso il riutilizzo in altre progettazioni, ma minimizzabili relativamente al modo con cui la prototipazione viene implementata. La prototipazione virtuale offre possibilità di ottimizzazione dei costi di vari ordini di grandezza superiori a quelli comportati dai sistemi di prototipazione tradizionali. I prototipi virtuali sono modelli completi che utilizzano lo stesso codice eseguibile del sistema finale, offrendo un livello di debug e di analisi superiori a quello offerto dagli strumenti di sviluppo tradizionali. Il processo di virtualizzazione del prototipo, partendo dalle specifiche funzionali si articola in varie fasi, tra cui la cattura dei requisiti software, la definizione delle fasi di prototipazione e la creazione dei test a livello di sistema di natura software-driven.

Virtualizer di Synopsys
Virtualizer di Synopsys offre sotto forma di suite di strumenti modulari e di relative tecnologie un ambiente di sviluppo e prototipazione virtuale inteso ad accelerare il processo di progettazione. La disponibilità di un ampio portafoglio di processori, di sistemi di interconnessione, di periferiche e di progetti (oltre 500 tra modelli e reference design) cui può fare riferimento il progettista, consentono di pervenire in maniera automatizzata al prototipo in maniera estremamente rapida ed efficiente. Il Virtualizer Development Kit di Synopsys, con tali prerogative, consente di anticipare l’inizio della progettazione da 6 a 12 mesi. Virtualizer è un set di strumenti per la creazione di blocchi di modellazione di base e di assemblaggio in termini di prototipo virtuale che consente allo sviluppatore di eseguire attività specifiche come l’integrazione, il test del software, la verifica dell’hardware, l’integrazione di sistema anche su singolo chip, la validazione e il test di sistema. Due sono i metodi fondamentali per affrontare la prototipazione orientata al SoC, quello virtuale basato sul Translation-level model e quello reale basato sulle Fpga. Entrambe queste metodologie hanno vantaggi che i progettisti tengono in seria considerazione come opportunità per perseguire gli obiettivi di time-to-market e di elevate prestazioni dell’applicazione finale. La combinazione in un contesto Eda di entrambe le metodologie consente al progettista di disporre del migliore approccio allo sviluppo di sistemi basati su architetture SoC. L’Hybrid Prototyping Solution di Synopsys unisce i due metodi per la prototipazione dei System-on-Chip, la prototipazione virtuale basata sul Transaction-level Model e la prototipazione basata su Fpga. Questa è una soluzione che consente di prototipare i SoC multicore con modalità di ripartizione a blocchi tra il prototipo virtuale e quello Fpga.

Virtual System Platform di Cadence
La prototipazione virtuale è un aspetto chiave della tecnologia di sviluppo Eda in quanto risolve due fondamentali requisiti, quello dello sviluppo anticipato del software (rispetto ai tempi di disponibilità dell’hardware) e quello dell’automazione del processo di prototipazione (tipicamente dispendioso in termini di tempo e di risorse umane). La Virtual System Platform di Cadence, per esempio, automatizza la creazione dei prototipi virtuali evitando la scrittura manuale del modello attraverso la generazione automatica del codice da un IP-Xact o semplicemente da un input di testo, producendo un template Transaction-level model 2.0 di cui non è necessaria la conoscenza da parte del progettista. La disponibilità di modelli IP sotto forma di funzioni di libreria integrabili TLM e la codifica System-C modificabile in qualsiasi fase dello sviluppo (aggiornamenti, correzioni, adeguamento a nuove specifiche, ecc.) consentono di gestire il prototipo in maniera efficiente indipendentemente dalla complessità e dalle conoscenze de meccanismi di basso livello della virtualizzazione. Ovviamente, la prototipazione virtuale necessita anche dell’esecuzione veloce ed efficiente e quindi la Virtual System Platform supporta modelli veloci come gli Arm Fast Models e Imperas che operano a velocità dell’ordine delle centinaia di milioni di istruzioni al secondo. Il debug viene eseguito come se si trattasse di un vero e proprio prototipo basato sull’hardware finale e con le modalità cui sono familiari i progettisti hardware e software (breakpoints, steps, tracing, source-level debug, ecc.). La piena visibilità dell’hardware senza disporre dell’hardware finale consente di scoprire i bachi software ed eventualmente le incongruità hardware in maniera anticipata rispetto alla realizzazione dell’hardware finale, riducendo in tal modo i ritardi di sviluppo del sistema finale.

Vista Virtual Prototyping di Mentor Graphics
Un simile approccio alla prototipazione virtuale è presente nel Vista Virtual Prototyping di Mentor Graphics. L’idea portante è quella di consentire nella maniera più efficiente possibile lo sviluppo del software indipendentemente dalla disponibilità effettiva dell’hardware. Il modello di astrazione è quello Tlm che consente la separazione tra la comunicazione tra le unità e la loro implementazione, utilizzando il SystemC per la codifica del modello Tlm, ottenendo in tal modo un elevato livello di customing. L’operatività della prototipazione virtuale offerta da Vista è a due livelli, quello della modellazione Rtl e quello della prototipazione che consente, tramite generazione di codice eseguibile da Rtl, la configurazione stand-alone del prototipo. I vantaggi di questo approccio virtuale alla prototipazione si rendono evidenti proprio nella fase di debug in quanto, pur essendo il prototipo funzionante sulla base di codice eseguibile, è possibile modificare il codice eseguibile del prototipo virtuale a run-time e non come avverrebbe sul prototipo reale a compile-time. Altera ha recentemente annunciato la sua collaborazione con Mentor Graphics che il suo completo portafoglio di SoC Fpga (inclusa la sua SoC Fpga Stratix 10 a 14 nm con quattro core Arm Cortex-A53 a 64 bit). Le piattaforme virtuali SoC Vista di Mentor Graphics modellano in maniera completa i processori Arm che Altera ha nelle sue famiglie di SoC Fpga a 28, 20 e 14 nm. La piattaforma virtuale Stratix 10 SoC di Altera può essere utilizzata per la fase di sviluppo del software, inclusa anche la fase di debug, in anticipo rispetto alla disponibilità effettiva del silicio. Le piattaforme virtuali includono la simulazione completa del modello di programmazione della Cpu e del modello di gestione delle periferiche, consentendo di ottenere un codice binario eseguibile stand-alone completo caricabile su un Pc host insieme ad una immagine pre-compilata del sistema operativo Linux. In aggiunta a questa codifica della componente processore è possibile avere anche la componente di funzionalità Fpga per poter eseguire la simulazione a livello di sistema. L’approccio di Mentor Graphics al supporto di piattaforme di computing avanzate e a larga scala di integrazione è già nel tempo considerando la partnership con Freescale relativamente al supporto dei suoi processor embedded multicore ad elevate prestazioni, QorIQ P-Series, Amp and QorIQ Qonverge. La complessità di questi processori è molto elevata, come per la nuova serie QorIQ Advanced Multiprocessing che incorpora il nuovo ore multithread Poer Architecture a 64 bit in tecnologia a 28 nm e capace di virtualizzare fino a 24 core.

Energy e system-profiling
I consumi energetici sono una delle problematiche più importanti che devono essere gestite in maniera efficiente nel contesto dei sistemi Eda, soprattutto se questi sono orientati allo sviluppo di sistemi SoC per dispositivi mobili, per l’automotive, per il medicale e per il consumer. Gli strumenti tradizionali di energy profiling non sono adeguati per evitare problematiche di revisione in fase di ingegnerizzazione.
Cadence ha sviluppato il First Encounter Design and Exploration di Cadence inteso ad esplorare con anticipo le problematiche di impatto fisico/elettrico all’inizio della progettazione. Tra le varie funzionalità di prototipazione virtuale include una tecnica avanzata basata su domini di potenza multipli come il power gating (MTCMOS) e il dynamic voltage e frequency scaling (DVFS). È previsto il supporto dei Common Power Format e Ieee 1801 per le specifiche di power reduction.

Pubblica i tuoi commenti