Arm + Fpga = SoC

SYSTEM-ON-CHIP –

È ora possibile integrare nell’Fpga un Arm Cortex-A9 dual core, ognuno dei quali con una cache di primo livello per istruzioni e una per i dati e con una cache di secondo livello condivisa, controller della memoria e varie periferiche.

In un singolo chip, ovvero in una Fpga delle famiglie Cyclone V o Arria V, è ora possibile integrate un processore dual-core Arm Cortex-A9 insieme a controllori di memoria con protezione Ecc (Error correcting code), periferiche e interfacce a elevata ampiezza di banda. Con i nuovi SoC Fpga, Altera riprende il concetto dell'integrazione di core hardware direttamente nelle logiche programmabili, concetto che aveva in tempi recenti momentaneamente abbandonato per offrire invece, le soluzioni con processori softcore come il Nios a 32 bit, puntando a sfruttare la crescente diffusione di applicazioni in cui l'elaborazione dei segnali e i relativi calcoli sono affidati all'accoppiata microprocessore + logica (e quest'ultima è spesso una Fpga): ecco dunque la proposta di un singolo chip che svolge le stesse funzioni, ma con migliori prestazioni, maggiore banda dati, meno spazio sulle schede e maggiore flessibilità di implementazione, con in più il vantaggio di poter utilizzare il vasto ecosistema di Arm con i relativi tool di sviluppo software, debugger, sistemi operativi, middleware e applicazioni.

Una integrazione totale
La proposta Altera prevede di utilizzare le Fpga Cyclone V e Arria V integrandovi un blocco processore formato da un processore dual-core Arm Cortex-A9 operante a 800 MHz, un engine di elaborazione multimediale Neon, unità in virgola mobile a singola/doppia precisione, cache di livello primo e secondo livello (L1 e L2), controllori di memoria con protezione Ecc, memoria transitoria sempre con protezione Ecc, oltre a una vasta gamma delle più comuni periferiche. Il blocco processore e la struttura dell'Fpga sono alimentati in modo indipendente e possono essere configurati e avviati in qualsiasi ordine. Una volta in funzione, la porzione relativa all'Fpga può essere disalimentata in modo da garantire un risparmio energetico a livello del sistema complessivo. Il sistema processore Arm Cortex-A9 e l'Fpga sono interconnessi mediante percorsi dati contraddistinti da elevato throughput, capaci di fornire un'ampiezza di banda di picco superiore a 125 Gbps con coerenza dei dati integrata. Prestazioni di questo tipo non sono conseguibili in soluzioni composte da due chip. Un SoC Fpga integrato su chip singolo permette ai progettisti di schede di eliminare i percorsi di I/O esterni tra un processore e un Fpga, che si traduce in sensibili risparmi in termini di consumi del sistema. I SoC Fpga Cyclone V e Arria V sono realizzati mediante un processo a 28 nm a basso consumo (28LP - low power). Queste famiglie dispongono di transceiver integrati che operano a una velocità massima di 5 e 10 Gbps rispettivamente. Nella struttura dell'Fpga sono presenti blocchi Dsp a precisione variabile e fino a tre controllori di memoria con protezione Ecc. I SoC Fpga Cyclone V sono contraddistinti da una densità massima di 110K elementi logici (LE) e assicurano consumi e costi estremamente ridotti.

Una piattaforma virtuale di prototipazione
Altera ha anche annunciato la disponibilità di quella che ha definito la prima piattaforma virtuale di prototipazione per il settore delle logiche programmabili, espressamente ideata per consentire lo sviluppo immediato di software embedded per i nuovi SoC Fpga. Basato sulle collaudate soluzioni di Synopsys, la piattaforma virtuale di prototipazione (Virtual Target) per SoC Fpga è una simulazione funzionale basata su Pc di una scheda di sviluppo per SoC Fpga di Altera. Il Virtual Target è l'equivalente funzionale, compatibile dal punto di vista binario e dei registri, di una scheda per SoC Fpga, il che garantisce che il software sviluppato su questa piattaforma può essere trasferito sulla scheda reale senza problemi. Corredata da Board Support Packages per i sistemi operativi Linux e VxWorks e supportata dalla gamma dei tool di sviluppo dell'ecosistema Arm, il Virtual Target dovrebbe permettere ai progettisti di software di sviluppare le loro applicazioni utilizzando tool noti, ottimizzare il riutilizzo del codice e avere controllo e visibilità completa sul target, elementi critici nel processo di sviluppo di sistemi con processori multicore complessi. Disponibile sotto forma di modello di simulazione basato su PC, pronto all'uso e compatibile a livello binario e di registri, il Virtual Target per SoC Fpga dispone dello stesso processore Arm Cortex-A9 e delle medesime periferiche dei SoC Fpga della serie Cyclone V e Arria V di Altera, unitamente ai componenti richiesti a livello di scheda, comprese Sdram Ddr, memorie flash e I/O virtuali. Per consentire lo sviluppo di software applicativo sia per il blocco processore integrato in hardware (hardened) sia per i blocchi IP basati su Fpga personalizzati, Altera mette a disposizione in opzione un'estensione Fpga-in-the-loop per il Virtual Target. Questa estensione utilizza una scheda di sviluppo per Fpga di Altera connessa alla piattaforma virtuale basata su Pc per mezzo di un'interfaccia PCIe. Insieme, la piattaforma virtuale di prototipazione e l'estensione Fpga-in-the-loop, consentono agli utenti di aggiungere periferiche custom e acceleratori hardware al sottosistema processore, creare i relativi driver e procedere all'integrazione con il software applicativo prima della disponibilità dell'hardware finale. Ciò consente di trasferire in maniera estremamente semplice il software applicativo e il firmware del dispositivo specifico all'hardware effettivo. Attualmente il Virtual Target è in grado di supportare la simulazione dei sistemi operativi Linux e VxWorks. Gli sviluppatori di software embedded possono effettuare il boot di Linux sul target virtuale utilizzando un'immagine del kernel Linux che supporta i driver dei dispositivi di tutti i principali componenti della scheda di sviluppo per SoC Fpga. Altera dà anche la possibilità di scaricare una tool chain Gnu precostituita e il sorgente Linux. Tutti coloro che si occupano dello sviluppo di software embedded possono iniziare immediatamente la scrittura del software applicativo specifico del dispositivo utilizzando piattaforma virtuale per SoC Fpga, già disponibile per l'acquisto. Il silicio vero e proprio sarà disponibile nel secondo semestre 2012, corredato da progetti di riferimento e schede di sviluppo.

Pubblica i tuoi commenti