Verificare i SoC per applicazioni IoT

fig 1 scalable platform

La progettazione dei prodotti e delle reti che costituiscono la cosiddetta Internet of Things, nonché degli ecosistemi di networking che la rendono possibile, comporta una imponente attività di verifica. Progetti estesi e complessi come questi, per poter essere sottoposti ad adeguate procedure di sollecitazione e di debugging, richiedono infatti una quantità enorme di cicli di verifica. Il maggior impatto sulle attività di verifica dei progetti di IoT e di networking deriva da cinque peculiarità che contraddistinguono tali sistemi. Quattro di queste sono comuni a entrambe le tipologie di progetti: una maggior quantità di protocolli per chip, maggiori dimensioni e complessità dei progetti, requisiti più stringenti di contenimento dei consumi, e una maggior quantità di software. A queste caratteristiche, i sistemi di networking ne aggiungono una quinta, particolarmente sfidante: il crescente numero di porte presenti negli switch e nei router. Solo l'emulazione possiede le caratteristiche di capacità, di velocità e di potenza necessarie per portare a termine in modo efficiente una tale mole di attività di verifica. Occorre tuttavia anche valutare con attenzione le modalità con cui l'emulazione debba ora essere utilizzata. La tradizionale emulazione Ice (In-circuit emulation), basata su hardware, non è infatti in grado di gestire la quantità (in vertiginosa crescita) di porte Ethernet che le aziende di networking inseriscono all'interno dei propri sistemi. Né si rivela pratica per condurre le attività di test sulla moltitudine di protocolli di interfaccia presenti negli odierni apparati IoT. Ciò che invece occorre è una soluzione virtuale, basata su software, che applichi per la verifica system-level un approccio di emulazione di livello enterprise. Osserveremo di seguito come l'ambiente Veloce di Mentor Graphics, basato su software, indirizzi specificamente le cinque sfide tecnologiche prima menzionate, che gli sviluppatori di IoT e di networking si trovano oggi ad affrontare.


La quantità di protocolli
Le soluzioni software consentono di ottenere risultati accurati in modo più semplice, in parte perché le soluzioni hardware possono restituire risultati differenti anche quando lo stimolo applicato è il medesimo; i risultati dipendono infatti anche dallo stato in cui l'hardware si presenta al momento del test. La disponibilità di un ambiente basato su software per la verifica dei protocolli di un progetto è quindi estremamente importante. Veloce offre soluzioni specifiche per numerosi protocolli tipici di molteplici segmenti di mercato: una batteria di soluzioni che include modelli host/peripheral, strumenti di sollecitazione e analisi dei protocolli, e connessioni per il debugging del software.

Le dimensioni dei progetti
La capacità delle soluzioni di emulazione deve poter tenere il passo con la continua crescita delle dimensioni dei progetti. Veloce soddisfa questo requisito grazie alla propria piattaforma ampiamente scalabile. La versione base, Veloce Quattro, può rivelarsi assolutamente adeguata alle iniziali necessità di molti clienti. Veloce Quattro è in grado di gestire fino a 256 milioni di gate per sistema e fino a 16 utenti. Il modello successivo è Veloce Maximus, capace di supportare fino a un miliardo di gate, per un massimo di 64 utenti. Per chi superi queste soglie c'è il sistema Double Maximus, che incrementa la capacità fino a due miliardi di gate e 128 utenti. Tutti i modelli e le generazioni della famiglia Veloce sono equipaggiati con lo stesso sistema operativo Veloce, eseguono le stesse applicazioni e sono pienamente compatibili con le versioni di dimensioni inferiori. Ciò garantisce una totale scalabilità e preserva tutti gli investimenti già effettuati, al crescere della capacità di emulazione necessaria al cliente.

I bassi consumi
Veloce è una soluzione ideale per l'analisi di sistemi low-power, poiché fornisce un livello di accuratezza che può essere ottenuto solo eseguendo il progetto all'interno del contesto di applicazioni reali. Veloce possiede caratteristiche di velocità e di capacità tali da consentire il boot del sistema operativo e l'esecuzione dei miliardi di cicli necessari per sollecitare completamente le applicazioni software ospitate a bordo dell'hardware target, perfino quando l'hardware in questione è costituito da un numero di gate nell'ordine dei miliardi. Mentor ha creato un flusso con Api per forme d'onda dinamiche, per la connessione diretta ai tool di analisi del power integrati all'interno dello stesso emulatore Veloce. L'integrazione con i principali e più diffusi strumenti di analisi della potenza di terze parti, come Ansys, consentono inoltre ai clienti di ottenere dati accurati sui consumi fin dalle fasi iniziali del flusso di progettazione, mettendoli quindi in grado di prendere decisioni intelligenti relativamente ad aspetti importanti quali potenza, superfici e prestazioni. Nessun altro sistema di emulazione offre tutto questo, il che rende il software Veloce Power Application molto più accurato di qualsiasi altra soluzione per la progettazione di sistemi low-power.

Il debugging del software
Il software embedded presente all'interno di un chip deve essere verificato contemporaneamente all'hardware che lo ospita. L'emulazione rappresenta una soluzione per il debugging valida quanto la simulazione, con il vantaggio di essere migliaia di volte più veloce e per i progetti più grandi anche milioni di volte. Veloce include una varietà di soluzioni capaci di fornire agli ingegneri del software tutto ciò di cui hanno bisogno per il debugging del loro software embedded.
Per volesse effettuare il debugging interattivo “dal vivo” tramite l'emulatore, Veloce offre le Virtual Probes. Tali sonde virtuali consentono una connessione virtuale dell'apparato al debugger del software, ovviando alla necessità di utilizzare sonde hardware Jtag. Ciò non solo elimina alcuni problemi correlati all'uso delle sonde Jtag, ma consente anche di far leva sulla potenza dell'Enterprise Server. Va tuttavia sottolineato che il debugging interattivo consuma prezioso tempo di connessione all'emulatore anche mentre l'esecuzione è ferma, nel corso delle sessioni attive di debugging. E far girare l'emulazione a zero cicli hardware al secondo per debuggare un problema rappresenta un modo estremamente costoso di utilizzare un emulatore. La modalità interattiva di debugging andrebbe perciò utilizzata solo quando assolutamente indispensabile.
In tutti gli altri casi, è possibile utilizzare Veloce Codelink, che supporta il debugging offline e rieseguibile. Codelink offre tutte le funzionalità di debugging normalmente presenti negli strumenti standard di sviluppo del software, ivi inclusa la correlazione tra il codice attualmente in esecuzione all'interno del debugger e la posizione in cui esso appare nella forma d'onda dell'hardware. Con il software Codelink, l'emulatore genera molteplici database, che vengono successivamente riutilizzati offline per le sessioni di debug. L'ambiente così costituito è estremamente produttivo, poiché libera le risorse dell'emulatore per altre attività e per altri utenti mentre il debugging del software viene eseguito offline.

Il numero di porte negli switch e nei router
I progetti da centinaia, o da migliaia, di porte comportano una tale quantità di connessioni all'hardware (ognuna delle quali richiede del cablaggio), da rendere ormai fisicamente irrealizzabile la verifica dei progetti di switch e di router di rete all'interno di un ambiente Ice. Inoltre un progetto costituito da 128 porte Ethernet, ad esempio, può corrispondere a dimensioni pari a centinaia di milioni, se non addirittura miliardi, di gate. Veloce VirtuaLab consente di superare gli ostacoli tipici di un ambiente hardware, spostando la maggior parte dell'ambiante di test all'interno del software ed eseguendolo sulla piattaforma scalabile Veloce, in grado di gestire fino a due miliardi di gate. Inoltre, la soluzione VirtuaLab per i protocolli supporta i tipici requisiti chiave che ogni azienda pone per la verifica dei chip di uno switch o di un router di rete: latenza dei pacchetti, ampiezza di banda, packet loss, pacchetti fuori sequenza, e analisi del traffico. In un tipico ambiente di VirtuaLab, si procede innanzitutto caricando un SoC all'interno dell'emulatore Veloce. L'emulatore viene quindi collegato all'ambiente dell'utente, residente su una workstation, tramite una o più connessioni software. Tali connessioni consentono all'ingegnere di interagire con il dispositivo sotto test in esecuzione all'interno dell'emulatore. Nel caso di apparati Ethernet, inoltre, l'applicazione VirtuaLab Epgm (Ethernet packet generator and monitor) in esecuzione sulla workstation provvede anche a generare del traffico Ethernet virtuale. L'Epgm genera le sequenze di test e fornisce visibilità, analisi, e controllo da parte dell'utente del traffico Ethernet che investe l'apparato.

L'emulazione Enterprise e l'IoT
Come si è detto la IoT, e la potenziata infrastruttura di rete necessaria a supportarla, complicano le già importanti sfide connesse all'attività di verifica, aggiungendone anche di nuove. Le aziende che intendono portare i propri nuovi prodotti su questi mercati in modo tempestivo, ma non senza aver effettuato un controllo approfondito dei propri progetti contro i possibili errori, non possono fare a meno di un motore potente, capace di reggere il carico di lavoro connesso a compiti cosi complessi. E solo l'emulazione è in grado di ricoprire questo ruolo. Con la propria Enterprise Verification Platform, Mentor Graphics ha sviluppato una famiglia di soluzioni specificamente indirizzate all'IoT, incentrata sull'ambiente Veloce VirtuaLab. Questa soluzione si rivela estremamente flessibile, assicura una elevata visibilità, ed è ampiamente scalabile per adattarsi alle crescenti capacità e complessità dei progetti di IoT e di networking. VirtuaLab favorisce l'incremento della produttività e il miglioramento qualitativo dei progetti. Il tutto fornendo la maggior parte delle tradizionali funzionalità dei classici ambienti Ice, ma senza la necessità di tutti i cablaggi aggiuntivi e degli ulteriori componenti hardware che essi comportano. Tutte queste funzionalità e tecnologie sono basate sul concetto di emulazione di livello enterprise, il che significa che tutte le risorse di emulazione risiedono all'interno di un data center, al quale possono accedere da remoto, 24 ore su 24, più team, con molteplici utenti e per numerosi progetti distinti. L'ambiente VirtuaLab può in tal modo erogare funzionalità di verifica software e hardware orientate a tutti i mercati dell'IoT, fornendo soluzioni di verifica ad elevata velocità per molteplici protocolli, progetti complessi, applicazioni low-power ad elevate prestazioni, e debugging hardware e software.

Pubblica i tuoi commenti