La nuova era della prototipazione rapida

Negli ultimi quindici anni sono stati sviluppati vari strumenti e tecnologie che consentono ai progettisti di utilizzare sistemi hardware per facilitare la fase di verifica della progettazione di circuiti integrati. Una delle prime soluzioni introdotte per accelerare il processo di verifica fu l'impiego di hardware dedicato, al posto di quello “general purpose” nella simulazione. Un ulteriore passo fu l'introduzione  dell'emulazione in-circuit, che consente di mappare l'intero progetto su un sistema di emulazione dedicato e successivamente di collegarlo agli stimoli esterni.
L'impiego di tecnologie hardware a sostegno della verifica dei progetti è oggi un tema più che mai attuale, poiché i circuiti integrati divengono sempre più grandi e complessi e di conseguenza le simulazioni richiedono tempi sempre più lunghi. L'aumento del contenuto software nei progetti dei nuovi circuiti integrati, inoltre, ha comportato all'introduzione di un ulteriore, importante requisito nel processo di verifica di sistema: la necessità di verificare il software nel contesto dell'hardware. L'unico modo per raggiungere questo obiettivo in tempi accettabili consiste nel realizzare rapidamente un prototipo abbastanza veloce da consentire di eseguire un numero significativo di cicli di istruzioni, ad esempio quelle necessarie per effettuare il boost del sistema operativo.

I vantaggi della prototipazione rapida
I grandi sistemi di emulazione sono basati su dispositivi ASIC o FPGA dedicati. Le loro particolari architetture consentono di mappare rapidamente il progetto da verificare e possono gestire anche progetti molto grandi, fino a cento milioni di gate ASIC e oltre. Tuttavia, sebbene l'emulazione sia una tecnica più rapida della simulazione, la velocità di questi sistemi è ancora insufficiente per molti progetti odierni. Un'altro fondamentale svantaggio dei grandi sistemi di emulazione è il loro costo molto elevato, che li relega al ruolo di risorsa condivisa tra un intero gruppo di progettisti. Inoltre, a causa delle loro dimensioni e dei loro consumi, solitamente queste macchine devono essere installate in un ambiente condizionato. Per evitare gli svantaggi dei grandi sistemi di emulazione, molti utilizzatori hanno scelto di costruire autonomamente soluzioni di prototipazione basate su dispositivi FPGA standard. Questi sistemi “fatti in casa” offrono diversi vantaggi: sono molto più veloci, più accessibili dal punto di vista economico, sono espandibili e possono essere realizzati in più esemplari per soddisfare le esigenze di numerosi progettisti all'interno di uno stesso gruppo. Al prezzo di un solo grande sistema di emulazione, un'azienda può realizzare quaranta o cinquanta sistemi di prototipazione rapida. Il rapporto tra le due soluzioni è analogo a quello esistente, nel mondo delle applicazioni gestionali, tra un ambiente basato su mainframe e un ambiente basato su personal computer. In passato, le aziende che sceglievano di costruire internamente i propri sistemi di prototipazione basati su FPGA (spesso indicati come “schede FPGA”, “schede di emulazione” ecc.) erano numerose. Oggi, però, realizzare in proprio queste soluzioni è più difficile e meno attraente dal punto di vista economico.

Perché utilizzare schede disponibili in commercio?
In effetti, oggi molte delle aziende che utilizzano sistemi di prototipazione rapida basati su FPGA preferiscono acquistare schede disponibili in commercio. I progressi della tecnologia FPGA, sebbene preziosi per le applicazioni di prototipazione, rendono infatti molto più complessa la progettazione delle schede. Tra gli aspetti più critici sono compresi l'elevato numero di pin degli FPGA ad alta densità, l'integrità dei segnali, la distribuzione dell'alimentazione, la densità dei componenti, la dissipazione di calore. E' evidente che per affrontare tutti questi problemi occorrono tempo e competenze specifiche. Inoltre la mappatura del progetto di un ASIC su una scheda di prototipazione è un compito sempre più difficile, soprattutto nel caso di chip da venti o trenta milioni di gate. Progetti così complessi richiedono l'impiego di molteplici FPGA e devono pertanto essere affrontati tramite sofisticati strumenti di partizionamento ed implementazione. Un altro fattore che ha contribuito a ridurre l'impiego delle schede di prototipazione “fatte in casa” è la necessità di disporre di funzioni di debugging sofisticate. La scheda di prototipazione veloce viene realizzata allo scopo di consentire una rapida individuazione degli errori; questo sforzo sarebbe inutile se poi l'analisi delle cause richiedesse tempi lunghi. Idealmente, quindi, l'ambiente di prototipazione deve consentire al progettista di eseguire l'analisi delle cause dei problemi in modo rapido e semplice.
In passato, la realizzazione dei sistemi di prototipazione da parte delle aziende utilizzatrici richiedeva spesso lo svolgimento di numerose attività: la progettazione delle schede a circuito stampato, l'acquisto degli FPGA da un determinato fornitore, l'acquisto degli strumenti di progettazione da un secondo fornitore, lo sviluppo del software necessario, l'assemblaggio finale dei vari elementi.  Per molti produttori di semiconduttori si trattava di un'impresa non facile, soprattutto perché andava a sommarsi al lavoro necessario per progettare il circuito integrato in quanto tale.Oggi che i chip sono sempre più complessi, l'onere della realizzazione delle schede incide in modo ancora più pesante. Per un numero crescente progettisti, quindi, l'impiego di una robusta piattaforma di prototipazione rapida già disponibile in commercio offre notevoli vantaggi rispetto all'opzione dello sviluppo interno.

La piattaforma di prototipazione rapida Confirma
Confirma, la piattaforma di prototipazione rapida di Synopsys, è basata su vari componenti hardware e software. Oltre alla scheda principale che ospita le FPGA, la soluzione comprende una sessantina di schede di espansione che consentono di collegare il sistema a una vasta gamma di input e output nel mondo esterno. Ciò permette agli sviluppatori di configurare rapidamente i prototipi per eseguire compiti come, ad esempio, l'acquisizione di dati video o il collegamento a una rete Ethernet.
Confirma comprende inoltre i componenti software necessari per implementare il progetto sulla piattaforma di prototipazione e per affrontare i vari aspetti del debug, permettendo ai progettisti - ogniqualvolta venga scoperto un errore - di eseguire l'analisi delle cause alla radice.

Ampliamento dell'ambito applicativo
Oltre a consentire lo svolgimento dei tradizionali compiti di verifica assistita da hardware, la piattaforma Confirma impiega nuove tecnologie che permettono di estendere i vantaggi della prototipazione rapida a un maggior numero di stadi nell'ambito del flusso di verifica di sistema.
I sistemi di prototipazione automatizzata CHIPit sono dotati di una metodologia brevettata che impiega interconnessioni programmabili invece delle tradizionali interconnessioni cablate in modo permanente. La configurazione dei collegamenti tra le diverse FPGA, quindi, non è basata su connessioni fisse, bensì su dispositivi programmabili via software. Questa tecnologia consente di semplificare il flusso di implementazione e di aumentare il suo grado di automazione. I progettisti possono infatti apportare modifiche alla configurazione del sistema tramite software, in modo più semplice e più affidabile, anziché dover fisicamente modificare i collegamenti nel prototipo. Grazie a CHIPit, inoltre, i progettisti possono ora sfruttare i vantaggi di una co-simulazione precisa a livello di singolo ciclodi istruzioni, poiché diviene possibile realizzare un collegamento diretto tra il sistema di prototipazione e il simulatore ad alte prestazioni VCS di Synopsys. Per raggiungere performance ancora più elevate nella modellizzazione del sistema, Confirma è dotata anche di un'interfaccia transaction -level conforme a SCE-MI, che consente di collegare il sistema di prototipazione a un modello software presente nella workstation. E' possibile anche realizzare una connessione tra il prototipo hardware e la piattaforma virtuale di Synopsys, denominata Innovator. Ciò consente ai progettisti di sfruttare un sistema di prototipazione ibrido, in cui alcuni dei modelli risiedono in Innovator mentre altri sono implementati in hardware all'interno del sistema di prototipazione rapida.

Visibilità completa per il debug
In passato i sistemi di prototipazione basati su FPGA si caratterizzavano per una certa difficoltà delle funzioni di debug. Per osservare il loro funzionamento interno, infatti, era necessario definire fin dall'inizio del progetto quali fossero i segnali da osservare, affinché essi potessero essere condotti ai pin dell'FPGA o resi visibili tramite un analizzatore logico software. Oltre a limitare il numero di pin utilizzabili, questo approccio presuppone di sapere in anticipo quali segnali saranno effettivamente necessari per effettuare un corretto debug del sistema. Confirma ha ovviato a questo problema grazie al software di debug Identify Pro, basato su una tecnologia denominata TotalRecall, che consente di ottenere una visibilità del 100% sul progetto da verificare. Inoltre Identify Pro utilizza il simulatore VCS come strumento di frontend e visualizzazione per il debugging, realizzando così una soluzione che unisce le migliori caratteristiche di entrambe le tecnologie: da un lato le eccellenti funzioni di analisi del debug offerte da VCS, dall'altro le elevate prestazioni di un sistema di prototipazione rapida.
In questo modo il processo di debugging del prototipo diviene molto più naturale e produttivo. Il sistema di prototipazione può funzionare liberamente fino a quando si verifica un errore. A quel punto il progettista crea un test case, lo carica in VCS ed esegue un'analisi delle cause del problema, mentre il prototipo continua a lavorare. Per la prima volta, quindi, un sistema di prototipazione è in grado di offrire capacità di analisi del debug pari a quelle di un simulatore software.

Strumenti per la mappatura di progetti ASIC su FPGA
La verifica di un progetto ASIC in un ambiente di prototipazione basato su FPGA richiede una preparazione che renda la descrizione dell'ASIC adatta alla mappatura su uno o più dispositivi FPGA. Il software Certify di Synopsys, rivolto all'implementazione e partizione multi-FPGA, consente appunto ai progettisti di svolgere questa preparazione. Lo strumento opera sui progetti che sono stati codificati per l'implementazione ASIC e, sfruttando particolari funzioni presenti nell'architettura dele FPGA, esegue le conversioni necessarie per la mappatura. Tra le operazioni svolte da Certify è compresa la conversione dei clock che impiegano tecnologie di clock gating, la mappatura delle memorie ASIC sulle memorie dell'FPGA, la mappatura automatica di altri blocchi più complessi (come componenti DesignWare) su funzioni equivalenti dell'FPGA. Certify inoltre effettua il partizionamento del progetto su più FPGA, operazione che spesso richiede il multiplexing dei pin per far fronte alla scarsità dei medesimi.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome