I kit di sviluppo FPGA di Cyclone V SoC attivano il progetto del software

Pubblicato da

Altera's Cyclone® V SoC è un FPGA con un processore ARM® integrato che consente flessibilità nella progettazione di hardware periferico. Il suo processore a 925 MHz ARM Cortex-A9® MPCore™ è disponibile sia a uno che a due core.

Il processore ARM non solo offre prestazioni incredibili e un'ottima efficienza energetica, ma anche grafica 2D/3D avanzata e l'accelerazione dell'elaborazione del segnale attraverso il motore multimediale ARM NEONTM SIMD. L'utente può facilmente iniziare la progettazione con Cyclone V SoC utlizzando l'estesa documentazione, un deciso sostegno dalla comunità, kit di sviluppo ricchi di funzionalità e una vasta gamma di template di progettazione disponibili.

Figura 1: Altera Cyclone V SoC Architettura


Le FPGA possono essere intimidatorie per gli sviluppatori di software. Pertanto, una piattaforma affidabile, buoni strumenti di sviluppo e un ottimo sistema di operativo a supporto diventano necessari per rendere semplice il procedimento di progettazione. I progettisti di software hanno bisogno di accedere alle periferiche di sistema e alla banda larga della memoria senza nessun tipo di problema hardware. Tuttavia, vi è sempre una componente hardware specifica dell'applicazione che deve essere tenuta in considerazione e la sfida sta nel trovare un soluzione di sistema che fornisca entrambi. Le FPGA di Cyclone V SoC sono state realizzate per soddisfare entrambe queste richieste con un ecosistema realizzato appositamente per offrire il meglio da parte di entrambi.

Inizia subito con un kit di sviluppo

I progettisti di software possono iniziare fin da subito con un kit di Atlas-SoC, un kit di sviluppo Cyclone V SX SoC, un SoCKit Arrow Electronics, o qualsiasi altra scheda disponibile e basare la loro architettura sottostante su uno degli esempi di progetto per il lavoro. Queste schede integrano un comune set di componenti periferiche richieste in molti progetti, consentendo l'accesso immediato a un insieme di hardware digitale testato e comprovato ad alta velocità che include ricetrasmettitori bus ad alta velocità, DDR2/DDR3, dispositivi di memoria, connessione Ethernet, interfaccia USB, SD e LCD.

Progetti personalizzati di logica FPGA si interfacciano al sistema di elaborazione (HPS) Cyclone V SoC attraverso un bus standardizzato che consente semplice interazioni tra le partizioni FPGA e HPS. È possibile accedere ai sistemi di ingresso e di uscita attraverso l'interfaccia per la programmazione di applicazioni (API) GPIO e alti livelli di astrazione possono essere ottenuti tra FPGA e HPS personalizzate usando l'accesso diretto alla memoria (DMA) e i trasferimenti memoria-a-memoria. Questo è possibile grazie a un HPS DMA a cui si è avuto accesso attraverso API DMA, o a un modulo FPGA intelligente con il suo DMA integrato o un modulo DMA stanziato nello strumento di progettazione per il sistema di integrazione Altera QSYS.

<

Figura 2: KitF di Atlas SoC

Il Kit Atlas-SoC offre un valore aggiunto integrando un header di interfaccia Arduino, aprendo immediatamente le porte a una massiccia serie di schede di espansione denominate Shields. Gli shields forniscono un capacità di inserzione del prototipo per varie periferiche, tra cui sensori, controllori di motori e servomotori, Wi-Fi 802.11 b/g, Bluetooth e GPS. Gli shields di conversione sono presenti dove i livelli di voltaggio sono incompatibili.

Figura 3: Shield Arduino e Schede di espansione HSMC

Il Kit SoC di Arrow e il Kit di sviluppo Cyclone V SX SoC incorporano interfacce per schede di mezzanine ad alta velocità (HSMC), consentendo l'utilizzo di molte schede figlie ad alta prestazione, tra cui sensori di immagini, convertitori da analogico a digitale ad alta velocità e interfacce SDI PHY.

Figura 4: Kit di sviluppo Cyclone V SX e il Kit SoC di Arrow  



Strumenti di progettazione per l'ottimizzazione dei progetti

La compilazione delle immagini hardware può essere interamente gestita dai makefile, con un esempio ospitato su GitHub. La suite di design SoC integrato (EDS) di Altera è un ambiente di sviluppo completo e questo è ben documentato nella guida del programma. Il programma sfrutta la capacità di ARM Development Studio 5 (DS-5TM) Altera Edition Toolkit e accelera lo sviluppo del codice utilizzando una varietà di utility e software di runtime predefiniti con esempi di applicazioni Linux. Una versione gratuita e completa del software è disponibile anche per il download.

OpenCL sta diventando uno standard sempre più rinomato per la programmazione di dispositivi paralleli eterogenei. Si tratta del gold standard per il mantenimento di un alto livello di astrazione mentre si utilizza la potenza di elaborazione parallela del motore multimediale SoC integrato, doppi processori e una possibile accelerazione FPGA. Il Kit Altera per l'Open CL: la guida introduttiva di Cyclone V SoC consente di impostare e utilizzare il Kit per l'OpenCL. Poiché le prestazioni in tempo reale sono importantissime per molti progetti integrati, vi è un template di progetto disponibile per il profiling esecutivo del codice real-time.

Forte sostegno dai sistemi operativi

Il Kit Cyclone V SoC e i suoi kit di sviluppo associati possono fare affidamento su un ecosistema di supporto grazie a un sistema operativo completo come elencato di seguito:

- Linux è il sistema operativo più utilizzato per scopi generici su SoCs basati su ARM. Il Cyclone V SoC non è diverso, con un supporto completo offerto sia da Altera che da una forte comunità di utenti. Binari Linux precostruiti con istruzioni guidate su come usarli sono facilmente reperibili. Se è richiesto un livello più profondo di personalizzazione, l'intero procedimento di costruzione è documentato all'interno del progetto di comunità open soruce Altera Yocto.
-Android è disponibile in un certo numero di fonti, tra cui kit demo in diverse versioni, come ad esempio Ice Cream Sandwich.
- FreeRTOS è disponibile per il processore Cortex-A9 sul Cyclone V SoC con esempi e istruzioni di costruzione dettagliate. Istruzioni dettagliate per l'installazione di Android e altri esempi di applicazioni che dimostrano l'utilizzo delle API, tra cui l'animazione grafica e in 3D sono disponibili.
- VxWorks BSP di Wind River è disponibile per il Kit di sviluppo Cyclone V SX SoC.
- Threadx di Express Logics.
- eCoSPro di eCosCentric.

Più di un semplice processore - un processore con un futuro!

Il Cyclone V SoC è più di un semplice SoC basato su ARM. Anche se offre gli stessi benefici per lo sviluppo di software negli strumenti, nelle applicazioni, nei sistemi operativi e nel supporto proprio come i dispositivi abilitati non al FPGA, la differenza sta nelle aree di integrazione, di accelerazione, personalizzazione e aggiornabilità.


Integrazione
La maggior parte delle applicazioni integrate richiede un hardware specifico per quell'applicazione. Molti progetti richiedono dei microcontroller dedicati per la gestione delle interfacce o per eseguire l'elaborazione del segnale allo scopo di scaricare il sistema operativo. Attraverso il Qsys, progetti Cyclone V SoC possono incorporare microprocessori softcore dedicati, come ad esempio il processore Nios® II, il quale può comunicare con la memoria di sistema attraverso l'interfaccia HPS. Il microprocessore softcore personalizzabile consente ai controller periferici e all'elaborazione dei segnali di essere integrati senza il bisogno di altri dispositivi aggiuntivi.
Accelerazione
La logica personalizzabile potenzia il sistema con un'enorme capacità di elaborazione specifica per l'applicazione. Consente la scrittura di algoritmi e di fare in modo che quest'ultimi possono agire da acceleratori e persino da coprocessori per il processore ARM. Operazioni complesse altrimenti di difficile attuazione su un processore ARM, come ad esempio i ricevitori ad alta velocità per la conversione alta e bassa, i modem, i codec, gli encoder e i decoder, possono essere implementati con maggiore efficacia nell'hardware personalizzato invece che nel software. La logica FPGA incorpora centinaia di moduli matematici per l'elaborazione del segnale digitale (DSP) multifunzione e piccoli banchi di memoria. Questi possono essere utilizzati in combinazione con elementi logici per implementare con efficacia e contemporaneamente specifici algoritmi, con livelli di prestazione irraggiungibili da microprocessori ad istruzioni sequenziali.
Personalizzazione
Anche se l'HPS del Cyclone V SoC gode di un set di elementi periferici e di input-output altamente flessibile e capace, un FPGA integrato consente di incorporare ulteriori interfacce periferiche. Via via che i requisiti del prodotto cambiano, l'hardware personalizzabile può cambiare con il software, consentendo l'introduzione di nuove caratteristiche. Poiché le interfacce input-output dei dispositivi godono ora di maggiore flessibilità, è probabile che lo stesso microprocessore possa essere riutilizzabile su tanti altri prodotti.
Aggiornabilità
I prodotti possono essere aggiornati da un punto di vista hardware nello stesso momento in cui si aggiorna il software. Questo permette di programmare complessi algoritmi hardware in modo da aggiornare l'elenco delle caratteristiche e di correggere eventuali bug. Questo permette anche di introdurre miglioramenti nell'accelerazione hardware e nell'elaborazione parallela in un progetto che possa durare una vita - rendendo quindi possibili le iterazioni per il miglioramento dell'effcacia e della prestazione. Questo permette anche un certo grado di "future-proofing", e consente di adottare un strategia di consegna più aggressiva per quei progetti hardware complessi.

Un semplice esempio di flusso di progettazione

Passaggio 1: stabilire la piattaforma appropriata di prototipazione

Come valutare quale kit di sviluppo soddisfa al meglio le tue esigenze di programmazione in base alle periferiche e agli elementi logici del dispositivo. Se sono richieste delle schede di espansione, verifica la compatibilità dell'interfaccia di input e di output, compreso il voltaggio. Per un rapido progetto di sviluppo si possono usare delle schede di espansione che possono essere adoperate con il kit di sviluppo per qualsiasi particolare esigenza di natura periferica. Mentre l'hardware viene prodotto separatamente, il team di progettazione del software può fare uso di una combinazione di kit di sviluppo e schede di espansione per prototipizzare il "grosso" dello sviluppo del software. Con una documentazione e progetti open disponibili per i kit, i progettisti hardware possono riutilizzare tutta una serie di componenti di progetto appropriate per ridurre i rischi di progettazione.

Passaggio 2: Concordare un'architettura di sistema FPGA.

Come stabilire l'architettura sottostante di processione FPGA con il progettista hardware. Trova un esempio di progetto che corrisponda in modo fedele ai requisiti e cambia la configurazione Qsys per integrate periferiche aggiuntive, memoria e interfacce. Questo è un buon momento per concordare quali protocolli utilizzare per le interfacce hardware. Il progettista hardware potrebbe decidere di dare priorità allo sviluppo di questa interfaccia, con il code test associato compilato in modo provvisorio per far sì che l'interfaccia possa essere progettata e testata prima che il progetto hardware sia completo.

Passaggio 3: Come modificare un esempio di progetto adeguato.

Trova un esempio di progetto che sia il più simile possibile a ciò che ti piacerebbe fare nel domino del software. Scegli un esempio di progetto basato su un sistema operativo a tua scelta e inserisci nuovi elementi per fasi. Si consiglia di fornire un semplice insieme di software di prova per far sì che il compito del progettista hardware diventi una priorità. In questo modo si permetterà una più rapida integrazione in una fase successiva. Non passare direttamente all'hardware vero e proprio una volta che è disponibile, ma prima di tutto ottieni un'ottima base di stabilità del software prima di passare direttamente all'hardware. Non c'è niente di peggio che contemporaneamente fare il debugging sia dell'hardware che del software.

Passaggio 4: Costruzione del progetto

Assicurati che ci sia qualcuno incaricato di implementare una chiusura d'un circuito completa sia per il software che per l'hardware. Questo aspetto è spesso trascurato, ma è di vitale importanza per il controllo della build e per il processo di revisione. Inoltre rimuove la dipendenza sugli strumenti IDE e sulle loro interfacce grafiche (GUI) - consentendo una creazione in background senza l'intervento manuale che può portare a errori durante la compilazione.

Figura 5: Un sistema con un HPS in Qsys ()Visualizzazione più grande

 

Fai un tentativo!

Altera ha creato un SoC FPGA tenendo a mente sia progettisti software che progettisti hardware. Si tratta questo di un entusiasmante passo avanti nel mondo di una maggiore integrazione e di dispositivi smart. I SoC di Cyclone V abbattono i confini tradizionali tra l'hardware e il software e consentono un'implementazione più potente ed efficace, evitando allo stesso tempo una contesa fra i due. Lo strumento di integrazione del sistema Qsys di Altera è uno strumento eccezionale per stabilire un contatto a livello di sistema tra i domini software e hardware. La partizione HPS-a-FPGA permette sviluppi indipendenti, per i quali basta una comprensione minima del linguaggio tecnologico per le due aree. Si tratta questa di un'intelligente, entusiasmante e potente tecnologia con una base molto forte, un robusto ecosistema di sviluppo e molteplici esempi di progetti di sviluppo su cui basare il proprio progetto. I progettisti possono iniziare fin da subito basando la loro architettura su un numero di kit di sviluppo e ricorrendo alle tante opzioni per le schede di espansione. Non è mai stato facile progettare con i SoC - Interfacciati con un rappresentate Altera su come possono abilitarti il passaggio successivo.



Ultime notizie

Sorry, your filter selection returned no results.

Non perderti le ultime novità sull'elettronica

Abbiamo aggiornato la nostra politica sulla privacy. Si prega di prendere un momento per rivedere questi cambiamenti. Cliccando su Accetto, l'utente accetta la Politica sulla privacy e Condizioni di utilizzo di Arrow Electronics.

Il nostro sito web mette i cookies sul vostro dispositivo per migliorare la vostra esperienza e il nostro sito. Leggete altre informazioni sui cookies che usiamo e su come disabilitarli qui. I cookies e le tecnologie di tracking possono essere usati per scopi commerciali.

Con un click su “Accept”, voi consentite l'inserimento dei cookies sul vostro dispositivo e l'uso da parte nostra di tecnologie di tracking. Per avere altre informazioni e istruzioni su come disabilitare i cookies e le tecnologie di tracking, clickate su “Read More” qui sotto. Mentre l'accettazione dei cookies e delle tecnologie di tracking è volontaria, una loro disabilitazione potrebbe determinare un funzionamento non corretto del sito web, ed alcuni messaggi di allarme potrebbero essere per voi meno importanti.

Noi rispettiamo la vostra privacy. Leggete qui la nostra politica relativa alla privacy