Logiche Programmabili Anno 2002 (Pubblicato su Elettronica Oggi)

Catello Antonio De Rosa – Articolo pubblicato su Elettronica Oggi (Dicembre 2002)
Logiche Programmabili Anno 2002
Per via della crisi economica le novità sui dispositivi programmabili sono
contenute, cosa tutto sommato non negativa in quanto negli ultimi anni, a
causa della frenetica introduzione di nuove famiglie, difficilmente si
realizzavano due progetti in sequenza sullo stesso dispositivo. Quasi tutti i
costruttori hanno tuttavia rinnovato il portafoglio delle proprie soluzioni nei
punti strategici. Nel seguito si riportano solo le innovazioni annuali e non tutti i
prodotti esistenti in commercio. In generale è possibile riassumere che da un
punto di vista tecnologico si è giunti a dispositivi static RAM con dimensione
del canale da 0,13 µm con livelli di metallizzazione tutti in rame e materiale
dielettrico a bassa costante, che Lattice Semiconductor ha acquistato la
divisione programmabili di Agere entrando di diritto nel mercato FPGA, che
Xilinx ha presentato una nuova proposta per ogni segmento di mercato da lei
coperto e che Altera ha introdotto il suo FPGA di punta per i prossimi anni
disinvestendo invece nel settore PLD e sospendendo il programma Excalibur
con il MIPS integrato.
1. SISTEMI DI SVILUPPO
Da un punto di vista dei sistemi di sviluppo Lattice ha introdotto nel suo
ispLEVER la gestione delle famiglie ORCA e FPSC acquistate da Agere,
Xilinx la versione ISE5.1i del suo software e Altera la versione 2.1 di Quartus
II grazie al quale è possibile gestire sia le nuove famiglie come la Stratix, sia
le precedenti come Apex e Flex, sia le PLD della serie MAX senza più aver
bisogno del sistema di sviluppo MAX+PLUS II.
2. PLD
Lattice, con i dispositivi delle famiglie ispMACH 4000 e ispMACH 5000,
accresce le prestazioni delle architetture che ha consolidato nel giro di questi
ultimi anni.
La serie 4000 si completa con le tre soluzioni ispMACH 4000V a 3.3 V,
ispMACH 4000B a 2,5 V e ispMACH 4000C a 1,8 V. Alla famiglia ispLSI
5000VE a 3.3 V si affianca quella ispMACH 5000B a 2.5 V, mentre il
segmento delle alte densità è coperto dalla famiglia ispMACH 5000VG a 3,3
V presentata lo scorso anno.
L’introduzione della famiglia ispXPLD 5000MX (eXpanded Programmable
Logic Device) rappresenta una novità tecnologica per la compagnia di
Hillsboro. Questi dispositivi sono realizzati dall’unione di due tecnologie:
quella volatile static RAM che controlla la logica e quella non volatile
EEPROM che memorizza i dati di configurazione. L’architettura di questa
PLD, che trae spunto dalla famiglia ispMACH 5000VE, prevede una serie di
Multi-Function Block (MFB) connessi da un Global Routing Pool (GRP). I
segnali d’ingresso possono essere registrati nei blocchi MFB o essere
direttamente inviati al GRP, quelli di uscita sono gestiti da un Output Sharing
Array (OSA). Grazie alla tecnologia costruttiva ogni blocco MFB ha sei modi
1
Catello Antonio De Rosa – Articolo pubblicato su Elettronica Oggi (Dicembre 2002)
di funzionamento di cui uno riconducibile alla modalità logica (32 macrocelle,
un fully populated programmable AND-array con 160 product term, 68
ingressi) e gli altri cinque funzionanti come diversi tipi di memoria (single port,
dual port - true e pseudo -, FIFO, CAM). Quando il blocco è configurato come
dual port ha una capacità di 8 kbit, quando è configurato come single port ha
una capacità doppia. Sono disponibili tagli da 256 a 1024 macrocelle per tre
tipi di tensione di alimentazione: 3.3V (5000MV), 2.5V (5000MB) e 1.8V
(5000MC).
Un’altra famiglia che merita uno sguardo approfondito è la CoolRunner-II di
Xilinx. È una famiglia che raccoglie molte caratteristiche che si ritrovano in
altri dispositivi, di Xilinx o della concorrenza, pur presentando alcune
innovazioni di rilievo. La tecnologia di costruzione Fast Zero Power ed il
possibile blocco degli ingressi che non commutano consentono di ridurre i
consumi; le porte di I/O, divise in banchi, sono di tipo multistandard,
consentono la programmabilità come pin di ground quando non usate,
riducendo i disturbi, e posseggono ingressi Schmitt-Trigger, individualmente
attivabili, la cui isteresi riduce il rumore sui segnali d’ingresso. L’architettura
interna, infine, accomuna le potenzialità di una struttura di tipo PLA alla
velocità che è sempre stata un fattore penalizzato.
La tecnologia costruttiva è il processo CMOS già introdotto per la precedente
famiglia CoolRunner ma con canale da 0.18 µm e alimentazione a 1.8 V.
L’adozione di una struttura full-CMOS consente da un lato la riduzione dei
consumi per l’eliminazione dei sense amplifier necessari per la realizzazione
dell’AND array, dall’altro la possibilità di portare la struttura verso geometrie di
canale sempre più ridotte, cosa che con i sense amplifier non è possibile
avendo raggiunto il limite a 0.15 µm, privilegiando velocità di funzionamento e
di nuovo consumi.
Negli I/O, che essenzialmente sono ricetrasmettitori, è implementato un
dispositivo denominato DataGATE composto da un pass transistor e un latch
che blocca, sotto opportuno comando, la transizione dei segnali in ingresso
mantenendone memoria dell’ultimo stato. Questa opzione riduce la corrente
che fluisce nel dispositivo riducendo i consumi quando lo stato degli ingressi
non è influente sul funzionamento della logica d’utente implementata
all’interno della PLD.
Un’altra caratteristica del dispositivo è l’avanzata gestione del segnale di
clock: è possibile dividere il segnale di clock entrante da una porta di Global
Clock (i fattori di divisione vanno da 2 a 16); è possibile, con l’opzione
DualEDGE, raddoppiare la frequenza di clock processando, a livello della
singola macrocella, entrambi i fronti del segnale di clock che può essere un
product term clock o un segnale di clock di tipo globale; è infine possibile
ricorrere all’opzione CoolCLOCK in cui la frequenza d’ingresso del segnale di
clock viene dimezzata mediante il divisore, riducendo così l’assorbimento di
potenza della linea di clock e, laddove occorra, ne viene ripristinato il corretto
valore a livello di macrocella con l’opzione DualEDGE.
La roadmap prevede l’introduzione di una nuova famiglia di medesima
tipologia, alimentata a 1.5 V con canale da 0.13 µm, che verrà denominata
BladeRunner ma non l’ha progettata Ridley Scott!
2
Catello Antonio De Rosa – Articolo pubblicato su Elettronica Oggi (Dicembre 2002)
3. FPGA
ProASIC Plus e Axcelerator, Stratix e Spartan-IIE sono le famiglie di FPGA
introdotte quest’anno rispettivamente da Actel, Altera e Xilinx. La prima è un
evoluzione nelle prestazioni e nell’area della famiglia flash ProASIC, la
seconda è un enhancement della famiglia antifuse SX-A, l’ultima è un redesign tecnologico della Virtex-E destinata al segmento di mercato dai costi
contenuti.
Con Axcelerator Actel aggiorna il proprio portafoglio prodotti che, nel settore
antifuse, aveva visto nel Settembre 1999 l’introduzione della famiglia SX-A da
0.25 µm e, a distanza di un anno, l’introduzione della famiglia eX destinata
alle applicazioni low-cost e, pertanto, realizzata come subset architetturale
della SX-A in tecnologia 0.22 µm.
Questa nuova famiglia è realizzata con processo da 0.15 µm con 7 livelli di
metallizzazione in alluminio e una tensione di core di 1.5 V. Grazie alla
struttura di routing che non prevede switch matrix e alla tecnologia costruttiva
di canale, prossima a quella che contraddistingue i dispositivi static RAM,
sono possibili frequenze di funzionamento interne che superano i 500 MHz
(sei livelli di logica consentono 160 MHz). Da notare che, anche se si fa
riferimento all’architettura SX-A che ha due tipi di SuperCluster, in questa
famiglia, come avviene nella famiglia eX, il tipo di Supercluster è unico ed è
formato da due Cluster dotati ciascuno di due C-cell e un R-cell con l’aggiunta
in questo caso di buffer per il routing e logica per il riporto aritmetico (Carry
Logic). Il SuperCluster inoltre ha un utilizzo frammentabile, cioè se alcuni
moduli sono usati per un persorso dati, i rimanenti possono essere riutilizzati
da altri percorsi. Rispetto alla concorrenza non sono state introdotte novità di
rilievo, anzi si sono portate in questa tecnologia funzionalità già presenti da
tempo in altri dispositivi ma non nella SX-A. Così sono stati introdotti blocchi
di memoria di 4,5 k bit (4608 bit) variabilmente sfruttabili (4kx1, 2kx2, 1kx4,
512x9, 256x18, 128x36) con relativo circuito di controllo per il funzionamento
in modalità FIFO, otto PLL per la gestione dei clock globali, porte di I/O divise
in banchi e di tipo multistandard grazie alla presenza di driver single-ended,
voltage referenced e differenziali. Da evidenziare la singolare funzione
presente in ogni porta di I/O: una FIFO a 16 bit.
L’architettura che invece presenta innovazioni di rilievo è quella della Stratix.
La struttura di routing è divenuta molto simile a quella di tipo segmentato (pur
preservando la ripartizione della logica nei LAB), è presente un’overdose di
memoria embedded (fino a 10 Mbit) disponibile in gruppi appartenenti a tre
formati (512, 4k, 512k bit), sono stati introdotti blocchi hardware di tipo DSP
(composti ciascuno da quattro moltiplicatori hardware 18x18 - di ampiezza
riconfigurabile sia a 9 sia a 36 bit - due sommatori/sottrattori parziali, un
addizionatore finale e opportuni registri di pipelining), negli I/O sono inserite
terminazioni di linea programmabili di tipo serie o parallelo (questa tecnologia
è stata introdotta da Xilinx a partire da Virtex-II ma solo per i segnali singleended).
3
Catello Antonio De Rosa – Articolo pubblicato su Elettronica Oggi (Dicembre 2002)
Al fine di ridurre i costi dei dispositivi di grosso taglio e consentire una
maggiore penetrazione nel mercato ASIC e ASSP un’alternativa alla
mascheratura compiuta con le soluzioni Hardwire (Xilinx) o HardCopy (Altera)
è rappresentata dalla soluzione EasyPath introdotta da Xilinx a partire da
Virtex-II. Una volta che il progetto d’utente è consolidato la fabbrica testa il
relativo file di programmazione sui wafer appena realizzati ma senza
compiere l’intero e costoso insieme di test necessario a qualificare il
dispositivo in tutte le sue funzionalità. Il risultato è che l’utente continua ad
avere un dispositivo static RAM ma non ha più la garanzia di funzionamento
al cambio di funzione. In base al numero di pezzi ordinati si possono avere
riduzioni dei costi dal 30 all’80% rispetto al dispositivo full-functional. Tuttavia
è da considerare un costo fisso attribuito ai vettori di test e a carico del
cliente.
Da notare infine, come considerazione generale, che gli FPGA si
arricchiscono in maniera progressiva di elementi embedded (memorie,
moltiplicatori, DLL/PLL, interfacce seriali) che raramente sono usati
contemporaneamente e per un vasto spettro di progetti (in alcuni dispositivi
della famiglia Stratix l’area programmabile è meno della metà dell’intero die).
Tuttavia la ricerca di un dispositivo con solo LUT e flip-flop è ormai infruttuosa
e anche l’ultimo dispositivo di questo tipo che resisteva, l’SX-A di Actel, è
stato avvicendato.
4. SOPC
Con l’introduzione di Virtex-II Pro si completa l’ingresso in questo segmento di
mercato dei grossi costruttori di logica programmabile iniziato con il
programma Excalibur di Altera. Data la capillare struttura commerciale e di
supporto di Altera e Xilinx a livello mondiale sembra che i pionieri del settore
come Triscend, Sidsa e Atmel siano destinati ad avere vita durissima. Le CPU
embedded in logica programmabile al momento sono classificabili in sei
categorie: ARM (Altera, Triscend), MIPS (è rimasta solo QuickLogic in quanto
Altera ha deciso di non produrre più l’Excalibur XM), 8051 (Triscend, Sidsa,
Cygnal), PowerPC (Xilinx), AVR RISC (Atmel), M8C (Cypress MicroSystems).
L’ultimo arrivo del settore, Virtex-II Pro, integra uno o più PowerPC 405D5,
un’architettura RISC a 32 bit ridisegnata per una geometria di canale da 0.13
µm a partire da quella di 0.18 µm che caratterizza il processore IBM PowerPC
405D4 della libreria di core IBM Blue Logic. Sono inoltre presenti, a seconda
del taglio dei dispositivi, da 4 a 24 ricetrasmettitori seriali ad alta velocità da
3,125 Gbit/s denominati RocketIO (tecnologia SkyRail della Conexant).
Così come era accaduto per Virtex-II in cui era stato scelto un vasto spettro di
dispositivi all’interno della famiglia (da 256 a 61.440 Slice, coprendo esigenze
che partono da PLD di grosso taglio fino a veri e propri ASIC), si è ripetuta la
strategia in Virtex-II Pro. Il dispositivo più piccolo ha solo 4 ricetrasmettitori ad
alta velocità e nessuna CPU integrata, scelta utile per chi ha esigenze di alto
throughput dei dati per un FPGA dall’architettura tipo Virtex-II e performance
ritoccate verso l’alto. Gli altri tagli, al crescere della dimensione dell’area di
tipo FPGA, aggiungono uno, due, quattro processori ed un numero di
interfacce seriali RocketIO via via crescenti.
4
Catello Antonio De Rosa – Articolo pubblicato su Elettronica Oggi (Dicembre 2002)
La panoramica sui SoPC si conclude con i dispositivi Atmel e Lattice.
In Atmel nasce la famiglia AT94S dove l’architettura AT94K viene dotata di
una memoria EEPROM (fino a 1 Mbit) per la memorizzazione dei dati di
programmazione dell’area FPGA e del codice per il micro. Quest’archittettura,
con due chip in un solo package, ha lo scopo garantire una forma di sicurezza
contro processi fraudolenti di reverse engineering.
I dispositivi Lattice, di derivazione Agere, non integrano CPU insieme a logica
programmabile ma interfacce seriali ad alta velocità. Tra questi si evidenzia il
dispositivo ORLI10G in cui è integrata un’area programmabile di derivazione
ORCA serie 4 ed un’interfaccia di linea Ethernet da 10 Gbit/s e il dispositivo
OR82G5 con interfacce seriali da 1,25/2,5/3,125 Gbit/s.
La gestione di un progetto basato su SoPC non sembra essere una questione
da sottovalutare. Per sfruttare nel migliore dei modi questi dispositivi occorre
creare una struttura organizzativa, o sfruttarne una già esistente, in cui ci sia
estrema collaborazione e sincronia tra progettisti software, hardware e
firmware. Il rischio che si corre in caso contrario è la creazione di un prodotto
di basso profilo.
In altre parole possiamo dire che i System on Programmable Chip sono
dispositivi destinati a testare la professionalità e l’organizzazione delle
aziende che hanno intenzione di usarli.
5