Actel SmartFusion: la prima FPGA a segnali misti “intelligenti”

Le FPGA a segnali misti intelligenti della famiglia SmartFusion di Actel sono i primi, e per ora unici, dispositivi che integrano su uno stesso chip una FPGA, un processore ARM Cortex-M3, e blocchi analogici programmabili, offrendo una soluzione semplice da usare, ad elevato grado di sicurezza, ed ampiamente personalizzabile.

SmartFusion - Overview

Basati su una tecnologia flash CMOS proprietaria di Actel, i dispositivi della serie SmartFusion si rivolgono ai progettisti hardware ed embedded che richiedono una vera soluzione Sistem-on-Chip (SoC) in grado di offrire una maggiore flessibilità rispetto alle architetture tradizionali basate su singolo microprocessore o FPGA, con costi più contenuti.

SmartFusion - i vantaggi

I principali vantaggi offerti dalla soluzione SmartFusion sono diversi e paricolarmente significativi:

  • personalizzazione completa a livello di design
    • possibilità di creare un prodotto esattamente con le caratteristiche richieste
    • una soluzione innovativa e diversa da quelle tradizionali aggiunge competitività
    • consente di apportare modifiche all'ultimo momento grazie alla flessibilità e programmabilità dell'FGPA
    • possibilità di aggiornamenti futuri "in-field" dell'applicazione grazie alla funzionalità IAP (In-Application Programming)
    • possibilità di implementare algoritmi anche molto complessi e onerosi in termini di risorse impiegate grazie all'accelerazione hardware resa disponibile dall'FPGA
  • protezione dell'IP (Intellectual Property)
    • la soluzione SoC offre di per sè un elevato grado di protezione dell'IP
    • l'interfaccia tra microcontrollore ed FPGA non è "sniffabile" dall'esterno
    • power-up sicuro senza possibilità che venga intercettata dall'esterno l'operazione di caricamento della FPGA
    • interfaccia di programmazione ISP (In-System Programming) sicura, con cifratura a 128-bit di tipo AES (Advanced Encryption Standard) via JTAG
    • tecnologia proprietaria FlashLock per impedire che i contenuti dell'FPGA possano essere riletti da utenti non autorizzati. La tecnologia viene costruita a livello hardware inserendo nel dispositivo delle apposite chiavi di sicurezza per evitare che il suo contenuto possa essere riletto tramite probe o overwriting. Queste chiavi sono disposte in modo tale che non possono essere bypassate senza distruggere il componente. In particolare, il dispositivo può essere "bloccato" tramite un'apposita chiave a 128-bit, e può essere riprogrammato solo fornendo la stessa chiave. Inoltre, può anche essere bloccato in modo permanente, ed in questo caso l'accesso in programmazione è disabilitato completamente
  • facilità di utilizzo
    • si può utilizzare un'unica piattaforma hardware per progettare un'intera linea di prodotti
    • rappresenta un'ambiente di sviluppo integrato per i progettisti sia di hardware che di FPGA
    • rapida e semplice configurazione dei blocchi analogici tramite interfacce grafiche (GUI)
    • disponibilità di tool di compilazione e debug resi disponibili da aziende leader nel settore, come Keil, IAR Systems, e GNU
    • SmartFusion è supportata anche da Micrium con un sistema operativo real time (RTOS) e componenti per lo sviluppo intermedio

SmartFusion - Descrizione

I principali vantaggi offerti dalla tecnologia FPGA sono i seguenti: flessibilità, integrazione, contenimento dei costi, basso assorbimento, e sicurezza. I dispositivi SmartFusion di Actel mantengono tutti i benefici derivanti dalla tradizionale tecnologia FPGA, ai quali aggiungono dei blocchi analogici ugualmente flessibili ed il processore embedded più popolare al mondo (ARM Cortex M3), il tutto racchiuso all'interno di un singolo chip come mostrato nell'immagine seguente:

 La sicurezza

Con il termine sicurezza si intende sia affidabilità che protezione dei dati, caratteristiche che SmartFusion possiede come innate. Anzitutto, SmartFusion uilizza una memoria flash (anzichè SRAM) per eseguire la sua configurazione interna. I sistemi basati su FPGA che utilizzano una memoria SRAM devono necessariamente caricare la configurazione dell'FPGA da una ROM esterna ad ogni power-on. Ciò implica che:

  1. l'FPGA non è operativa per diversi millisecondi, fino a che l'immagine è stata caricata
  2. durante questa operazione il sistema non è protetto: lo stream di configurazione dell'FPGA potrebbe infatti essere intercettato tramite apposita strumentazione elettronica da laboratorio. E' tanto semplice quanto leggere una memoria ROM, e non si può prevenire

Al contrario, i chip SmartFusion sono dotati di una memoria flash interna protetta dagli accessi esterni. Con SmartFusion la configurazione avviene tutta internamente al chip e non è visibile all'esterno: tutti i dati trasferiti dal processore all'FPGA, dai blocchi analogici al processore, o tra l'FPGA ed i blocchi analogici, avvengono in modalità sicura, senza passare attraverso un bus che può essere monitorato o intercettato. Non solo, Actel permette anche di marchiare i suoi chip direttamente con il logo selezionato dal cliente, rendendo questa soluzione una vera e propria "black-box" a prova di hacker.

Il riutilizzo del codice

La possibilità di non dover scrivere da zero blocchi di codice che qualcun altro ha già sviluppato e testato è un vantaggio enorme: si pensi alle procedure di calcolo del CRC, funzioni per il PWM, ecc. Actel ha pensato a questo aspetto, mettendo a disposizione dei progettisti la libreria DirectCore, la quale contiene oltre 50 diversi blocchi IP pronti per essere presi ed inseriti in un'applicazione SmartFusion. Lo stesso discorso vale a livello software, dove sono già pronti e disponibili librerie come: stack TCP/IP, file system, HTTP, SMTP, il tutto gratuitamente.

Il microcontrollore

Il processore all'interno dei dispositivi SmartFusion è un ARM Cortex M3, uno tra i più popolari controllori a 32 bit e la scelta ideale per un sistema di fascia intermedia. Il vantaggio è quello di poter contare su una vasta quantità di software, strumenti di sviluppo, sistemi operativi, debugger, hardware, e know-how già acquisito. Il controllore opera alla frequenza di 100MHz ed è in grado di raggiungere circa 125 Dhrystone MIPS. A differenza di molti altri RISC, l'M3 è dotato di circuito moltiplicatore e divisore hardware, in grado quindi di semplificare e velocizzare le operazioni matematiche, ed è presente anche una memory protection unit (MPU) per preservare il contenuto della memoria da accessi indesiderati eseguiti dal codice. La memoria SRAM ad alta velocità ha dimensione compresa tra 16 e 64KB, mentre la flash varia tra 64 e 512KB. L'accesso alla memoria SRAM richiede solo un ciclo di clock, quindi si tratta di una memoria "no-wait-state". Un'altra caratteristica rimarchevole di questa memoria è la cosiddetta regione "bit banding", la quale permette al compilatore C di memorizzare le flag di tipo boolean (true oppure false) in un singolo bit di RAM, senza occupare un intero byte o word. E' inoltre presente un controllore di memoria esterna nel caso si volesse ampliare la dimensione totale di memoria. Sono poi presenti diversi tipi di periferiche, attorno al core processor: un 10/100 Ethernet MAC, due interfacce I2C, due UART, due interfacce SPI, una coppia di timer, ed un controllore DMA ad 8 canali.

Il blocco analogico

Si può pensare a questo blocco come un array di componenti analogici e di blocchi da interconnettere. Combinando e connettendo opportunamente componenti analogici differenti, è possibile creare un qualsivoglia front-end analogico o funzione desiderata, come ad esempio prescaler, convertitori, sensori, convertitori analogico/digitali, comparatori, circuiti per il monitoraggio della corrente o della temperatura, ecc. Ogni dispositivo SmartFusion dispone di almeno un convertitore analogico/digitale di tipo SAR (Successive Approximation Register). L'ADC converte la tensione in un numero di 8, 10, oppure 12-bit (a scelta) ed è in grado di compiere la conversione alla frequenza di 500 o 600 KHz (a seconda della risoluzione). questo significa che è possibile ottenere 500 mila campioni al secondo, il che rappresenta un buon risultato per la maggiorparte delle applicazioni. L'ADC è collegato in ingresso ad un multiplexer 16-in-1, il che permette di campionare 16 differenti input analogici contemporaneamente, anche se il valore convertito in formato digitale può essere letto solo da uno per volta. Per quanto concerne la conversione da digitale ad analogico, SmartFusion ci mette a disposizione un convertitore DAC sigma-delta con 12 bit effettivi di risoluzione. Il blocco analogico si connette direttamente agli altri due blocchi principali del componente, vale a dire l'FPGA (tramite una connessione a 32 bit) ed il bus periferico del processore. Il blocco analogico dispone inoltre di una propria unità di calcolo chiamata Analog Computing Engine (ACE). Si tratta quasi di un secondo processore, che può essere parimenti programmato, in grado di svolgere funzioni quali: aggiustare automaticamente la risoluzione degli ADC campione per campione (oppure dopo un certo periodo di tempo), lanciare una conversione analogico-digitale (o viceversa) sulla base di un segnale attivato dall'FPGA, interrompere il processore Cortex-M3 quando si verifica un certo evento, può anche eseguire una trasformazione lineare (nella forma yy = mx + b, inclusa la calibrazione), eseguire un filtraggio passa-basso, filtraggio degli stati, comparazione delle soglie.

L'FPGA

Le FPGA rappresentano da sempre il punto di forza di Actel, che proprio a questo tipo di prodotto deve il successo del suo marchio. Tutti i dispositivi SmartFusion includono una significativa presenza di FPGA, con il modello più piccolo (A2F060) che include 1536 blocchi logici, fino al modello più evoluto (A2F500) con 11520 blocchi logici (un blocco logico corrisponde a un flip-flop D oppure a una lookup-table, o LUT, a tre ingressi).

SmartFusion - lo sviluppo software

Lo sviluppo software con i dispositivi SmartFusion implica tre differenti aree di sviluppo: FPGA, embedded, e blocchi analogici. Actel mette a disposizione dei progettisti, senza alcun costo aggiuntivo, uno strumento di sviluppo in grado di coprire tutte e tre le aree: l'IDE Libero con licenza Gold.

  • FPGA - Libero IDE comprende degli strumenti per la sintesi, simulazione, e debug a livello FPGA, come Synplify Pro e ModelSim, oltre a strumenti di ottimizzazione e analisi dei tempi e degli assorbimenti
  • embedded - per questo tipo di sviluppo, Actel offre SoftConsole (un IDE basato su Eclipse) che include un compilatore C/C++ GNU ed un debugger GDB. Sempre gratuitamente, sono inoltre disponibili versioni di valutazione di strumenti di sviluppi prodotti da Keil e IAR Systems.
  • blocchi analogici - il tool MSS permette di configurare graficamente i valori di corrente e tensione, di monitorare la temperatura

Actel SmartFusion

Scarica subito una copia gratis
Tags:, ,

10 Commenti

  1. Avatar photo stewe 10 Febbraio 2011
  2. Avatar photo mingoweb 10 Febbraio 2011
  3. Avatar photo Fabrizio87 10 Febbraio 2011
  4. Avatar photo linus 10 Febbraio 2011
  5. Avatar photo mingoweb 10 Febbraio 2011
  6. Avatar photo giuskina 10 Febbraio 2011
  7. Avatar photo NIck_BG 10 Febbraio 2011
  8. Avatar photo Maurizio S. 10 Febbraio 2011
  9. Avatar photo Emanuele 11 Febbraio 2011
  10. Avatar photo slovati 11 Febbraio 2011

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend