dispositivi programmabili. – sono dispositivi hardware (chip) che mettono a disposizione elementi...
TRANSCRIPT
![Page 1: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/1.jpg)
DispositiviDispositiviprogrammabiliprogrammabili
![Page 2: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/2.jpg)
Dispositivi programmabili
– Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu’ o meno complessi che possono essere opportunamente interconnessi secondo diverse configurazioni in funzione delle specifiche di progetto
– Dispongono di• Componenti logici (porte logiche, Flip-Flop, Buffer)• Linee di connessione• Sistemi di inetrconnessione (Multiplexer, connessioni)• Porte di I/O
– Tipologie di Circuiti Programmabili– PLA, PAL, ROM.– CPLD– FPGA
![Page 3: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/3.jpg)
Dispositivi Programmabili
• I diversi dispositivi possono essere classificati in base a diversi aspetti:– Modalita’ di programmazione
• programmabili a maschera (MPGA)• programmabili una volta (Fuse o Antifuse)• riprogrammabili (EEPROM, SRAM)• riconfigurabili (SRAM)
– Connessioni• Globali• Locali e distribuite
![Page 4: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/4.jpg)
Modalita’ di programmazione
– FUSE• Le connessioni tra linee sono inizialmente tutte attive• In fase di programmazione si disattivano permanentemente le
connessioni inutili
– ANTIFUSE• Le connessioni tra linee sono inizialmente tutte inattive• In fase di programmazione si attivano permanentemente le connessioni
utili
– EEPROM • le connessioni inizialmente sono tutte inattive• In fase di programmazione si possono attivare o disattivare
elettricamente in modo non distruttivo• Lo stato viene mantenuto anche in assenza di alimentazione
![Page 5: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/5.jpg)
Modalita’ di programmazione
– SRAM le connessioni inizialmente sono tutte inattive
• In fase di programmazione si possono attivare o disattivare elettricamente in modo non distruttivo
• Lo stato NON viene mantenuto in assenza di alimentazione• Maggiore velocita’ di programmazione rispetto la tecnologia EEPROM
• In base alla tecnologia la programmazione puo’ avvenire:– Durante la fase non operativa del dispositivo (riprogrammabile)– Durante la fase operativa del dispositivo (riconfigurabile)
• Si interviene separatamente su varie parti del dispositivo
![Page 6: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/6.jpg)
Fuse
• Le linee del dispositivo sono in origine tutte connesse– La programmazione consiste nel “BRUCIARE” (fuse) alcune
connessioni in modo tale da mantenere solo quelle necessarie– La programmazione avviene mediante una tensione piu’
elevata di quella di normale funzionamento
![Page 7: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/7.jpg)
Antifuse
• Le linee del dispositivo sono in origine tutte disconnesse– La programmazione consiste nel “CREARE” (antifuse) le
connessioni necessarie– La programmazione avviene mediante una tensione piu’
elevata di quella di normale funzionamento
![Page 8: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/8.jpg)
EEPROM
• Le linee del dispositivo sono in origine tutte disconnesse– La programmazione consiste nel “DEPOSITARE” una carica
sul gate flottante del transistor in modo da mandarlo in conduzione
– La cancellazione puo’ avvenire elettricamente o tramite esposizione a raggi UV
![Page 9: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/9.jpg)
SRAM (RAM statica)
• Le linee del dispositivo sono in origine tutte disconnesse– La programmazione consiste nel “MEMORIZZARE” un valore
logico (‘0’ o ‘1’) in una cella di RAM Statica
![Page 10: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/10.jpg)
Connessioni
• Le connessioni globali sono caratteristiche dei– Dispositivi logici a due livelli:
• PAL, PLA, ROM
– CPLD (Complex Programmable Logic Device)
• Le connessioni locali sono caratteristiche degli– FPGA (Field Programmable Gate Array)
![Page 11: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/11.jpg)
Logiche programmabili a 2 livelli
• Sono usate per realizzare funzioni logiche a due livelli NOTA1: qualunque funzione combinatoria puo’ essere espressa come somma di termini minimi
• NOTA2: si possono realizzare funzioni a piu’ livelli sfuttando la retroazione
• Dispongono di:• Un numero di ingressi fissato (Buffer di Ingresso)• Un piano di AND (per realizzare i termini minimi)• Un piano di OR (per realizzare le somme)• Un numero di uscite fissato (Buffer di Uscita)
![Page 12: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/12.jpg)
Logiche programmabili a due livelli
• Vi sono tre tipi principali– PLA (Programmable Logic Array)
• Piano AND programmabile– Implementa solo i termini minimi necessari
• Piano OR programmabile
– PAL (Programmable Array Logic)• Piano AND programmabile• Piano OR fissato
– Impone un vincolo sul numero di termini minimi che la funzione contiene
– ROM (Read Only Memory)• Piano AND fissato
– Implementa tutti i possibili termini minimi (DECODER)• Piano OR programmabile
![Page 13: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/13.jpg)
Programmable Logic Array (PLA)
• Consente di realizzare qualunque funzione logica • Questa e’ espressa in somme di implicanti
![Page 14: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/14.jpg)
Programmable Logic Array (PLA)
• Schema logico di una PLA – Esempio con 3 ingressi e due uscite (non programmata)
![Page 15: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/15.jpg)
Programmable Logic Array (PLA)
![Page 16: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/16.jpg)
Programmable Logic Array (PLA)
![Page 17: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/17.jpg)
Programmable Array Logic (PAL)
• Piano di AND programmabile e piano OR fissato• Consente di implementare somme di prodotti
– Vi puo’ essere un limite sul numero massimo di prodotti che possono concorrere nella realizzazione di una funzione
![Page 18: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/18.jpg)
Programmable Array Logic (PAL)
• Schema logico di una PAL– Esempio di PAL a 3 ingressi e 2 uscite (non programmata)
![Page 19: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/19.jpg)
Read Only Memory (ROM)
– Puo’ essere realizzata con un piano di AND fisso e completo e con un piano di OR programmabile
– In pratica implementa m funzioni a n ingressi– ad una configuarzione d’ingresso (INDIRIZZO) viene
associata una configurazione d’uscita (PAROLA)– Il piano AND agisce da DECODIFICATORE degli indirizzi
![Page 20: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/20.jpg)
Read Only Memory (ROM)
• Piano AND (decodificatore degli indirizzi)– realizza tutti i possibili termini minimi– per ogni configurazione d’ingresso attiva una ed una sola linea
d’uscita
![Page 21: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/21.jpg)
Read Only Memory (ROM)
• Schema logico del piano AND
![Page 22: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/22.jpg)
Read Only Memory (ROM)
• Schema logico di una ROM– Esempio di una ROM a 3 ingressi e 4 uscite (non
programmata)
![Page 23: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/23.jpg)
Read Only Memory (ROM)
• Esempio:– dalla tabella di verita’ della funzione a piu’ uscite
abc f1 f2 f3 f4 f5000 0 0 0 1 0
001 1 1 1 1 0
010 0 0 1 0 1
011 1 0 1 1 0
100 1 0 1 1 1
101 1 1 1 1 1
110 1 0 1 1 1
111 1 1 0 1 1
![Page 24: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/24.jpg)
Read Only Memory (ROM)
• Realizzazione della funzione
![Page 25: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/25.jpg)
PLA e PAL avanzate
• PLA e PAL consentono di realizzare solo reti combinatorie a due livelli
• Questo limite puo’ essere superato– Introducendo una rete di reazione
• permette di implementare reti combinatorie a piu’ di due livelli
– Introducendo elementi di memoria (Flip-Flop)• permette di implementare macchine sequenziali (sincrone)
![Page 26: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/26.jpg)
PLA e PAL avanzate
• Esempio di implementazione di una rete combinatoria a piu’ livelli grazie alla retroazione
![Page 27: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/27.jpg)
PLA e PAL avanzate
• Esempio: realizzazione
![Page 28: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/28.jpg)
PLA e PAL avanzate
• L’aggiunta di elementi di memoria in uscita possono ulteriormente ampliare le prestazioni del dispositivo
![Page 29: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/29.jpg)
CPLD Complex Programmable Logic Device
• Sono la logica evoluzione di PAL e PLA• Sono caratterizzati da:
– Connessioni globali– Logica Concentrata
• Rispetto PAL e PLA– Sono piu’ complessi
e hanno dimensioni maggiori
– Consentono di ottenere prestazioni piu’ elevate
![Page 30: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/30.jpg)
CPLD - XC9500 Architecture
5 volt in-system programmable (ISP) CPLDs5 ns pin-to-pin36 to 288 macrocells (6400 gates) Industry’s best pin-locking architecture10,000 program/erase cyclesComplete IEEE 1149.1 JTAG capability
FunctionBlock 1
JTAGController
FunctionBlock 2
I/O
FunctionBlock 4
3
Global Tri-
States 2 or 4
FunctionBlock 3
I/O
In-SystemProgramming Controller
FastCONNECTSwitch Matrix
JTAG Port
3
I/O
I/O
Global Set/Reset
Global Clocks
I/OBlocks
1
![Page 31: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/31.jpg)
ToFastCONNECT
FromFastCONNECT
2 or 43 GlobalTri-State
GlobalClocks
I/O
I/O
36
Product-Term
Allocator
Macrocell 1
ANDArray
Macrocell 18
Each function block is like a 36V18 !
XC9500 Function Block
![Page 32: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/32.jpg)
Struttura XC9500
Struttura della macrocella
![Page 33: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/33.jpg)
Struttura XC9500
Struttura del “product term allocator”
![Page 34: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/34.jpg)
Struttura XC9500
Possibilita’ di collegamento offerte dal “product term allocator”
![Page 35: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/35.jpg)
Struttura XC9500
Possibilita’ di collegamento offerte dal “product term allocator”
![Page 36: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/36.jpg)
Struttura XC9500
Linee globali di clock, set, reset
![Page 37: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/37.jpg)
Struttura XC9500
Cella di I/O
![Page 38: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/38.jpg)
XC9500 Product Family
9536
Macrocells
Usable Gates
tPD (ns)
Registers
Max I/O
36 72 108 144 216
800 1600 2400 3200 4800
5 7.5 7.5 7.5 10
36 72 108 144 216
34 72 108 133 166
Packages VQ44PC44 PC44
PC84TQ100PQ100
PC84TQ100PQ100PQ160
PQ100PQ160
288
6400
10
288
192
HQ208BG352
PQ160HQ208BG352
9572 95108 95144 95216 95288
![Page 39: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/39.jpg)
1k
R1
1k
R2
1nC1 1nC2
0
OUTIN
XC9500 - Q e A
Q: E’ possibile realizzare tramite CPLD XC9500 la seguente architettura?
![Page 40: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/40.jpg)
1k
R1
1k
R2
1nC1 1nC2
0
OUTIN
XC9500 - Q e A
Q: E’ possibile realizzare tramite CPLD XC9500 la seguente architettura?
A: NO con una CPLD si possono realizzare solo circuiti DIGITALI
![Page 41: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/41.jpg)
XC9500 - Q e A
Q: E’ possibile realizzare tramite CPLD XC9500 la seguente funzione, ossia un predeterminato RITARDO asincrono ?
RIT = 20nsIn Out
![Page 42: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/42.jpg)
XC9500 - Q e A
Q: E’ possibile realizzare tramite CPLD XC9500 la seguente funzione, ossia un predeterminato RITARDO asincrono ?
RIT = 20nsIn Out
A: NO: non vi e’ alcun modo o alcun elemento che possa realizzare questa funzione.
Nota1: nei circuiti digitali il ritardo e’ una conseguenza (indesiderata) della struttura stessa del circuito e non un parametro da soddisfareNota2: Un elemento di ritardo e’ tuttavia realizzabile in modo SINCRONO
![Page 43: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/43.jpg)
XC9500 - Q e A
Q: E’ possibile realizzare tramite CPLD XC9500 la seguente funzione logica (gli ingressi e le uscite siano collegati direttamente ai pin di I/O del dispositivo)?
![Page 44: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/44.jpg)
XC9500 - Q e A
Q: E’ possibile realizzare tramite CPLD XC9500 la seguente funzione logica (gli ingressi e le uscite siano collegati direttamente ai pin di I/O del dispositivo)?
A: NO: Non esiste alcun collegamento diretto tra i pin e la logica interna, ma bisogna passare attraverso ai buffer di I/O (il tool di sviluppo corregge automaticamente questo tipo di errore)
![Page 45: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/45.jpg)
![Page 46: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/46.jpg)
XC9500 - Q e A
Q: E’ possibile realizzare tramite CPLD XC9500 la seguente funzione (una logica pilota altre logiche struttando un bus tri-state)
Logic 1
Logic 2 Logic 3
![Page 47: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/47.jpg)
XC9500 - Q e A
Q: E’ possibile realizzare tramite CPLD XC9500 la seguente funzione (una logica pilota altre logiche struttando un bus tri-state)
Logic 1
Logic 2 Logic 3
A: NO ! Gli unici buffer tri-state del dispositivo sono disponibili nei blocchi di I/O e pertanto non possono essere usati per pilotare logiche interne al dispositivo stesso! (un eventuale loop dal pin di uscita dovrebbe passare attraverso un buffer di ingresso che ne annullerebbe l’effetto
![Page 48: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/48.jpg)
FPGA: Introduzione
– Le FPGA (Field Programmable Gate Array) sono dispositivi programmabili costituiti da una matrice di componenti logici collegabili tra loro
Architecture PAL/22V10-like Gate array-likeMore Combinational More Registers + RAM
Density Low-to-medium Medium-to-high 0.5-10K logic gates 1K to 3.2M system gates
Performance Predictable timing Application dependent Up to 250 MHz today Up to 200 MHz today
Interconnect “Crossbar Switch” Incremental
Complex Programmable Logic Device (CPLD)
Field-Programmable Gate Array (FPGA)
![Page 49: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/49.jpg)
FPGA
• Le FPGA mettono a disposizione dell’utente– Componenti logici (CLB - Slice) costituiti da
• logica, piccole memorie, flip-flop, buffer, multiplexer.
– Linee di connessione • sia locali (corte) che distribuite (lunghe)
– Matrici di inter-connessione• per collegare varie line tra loro e da queste ai blocchi logigi
– Blocchi di I/O• particolari blocchi logici dedicati all’I/O provvedono Buffer, protezioni,
Fan-out, resistenze di pull-up e pull-down, adattatori d’impedenza, …
– Blocchi particolari• memorie, moltiplicatori, PLL, decodificatori, …
![Page 50: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/50.jpg)
FPGA
• Pregi e difetti:– Estremamente versatili– Elevata complessita’ computazionale– Piu’ lente di CPLD e ASIC– Costo elevato per singolo componente (ma esistono famiglie
particolarmente economiche)– Costo del prototipo ridotto– “Time to market” molto ridotto– Possibilita’ di “upgrade” del circuito (anche a distanza)– Ottime per la realizzazione di prototipi, (ma si usano sempre di
piu’ anche negli elevati volumi di fabbricazione)– Capacita’ di supportare sistemi interni (embedded systems)
![Page 51: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/51.jpg)
XC4000 Architecture XC4000 Architecture and Featuresand Features
![Page 52: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/52.jpg)
XC4000 Architecture
CLB
CLB
CLB
CLB
SwitchMatrix
ProgrammableInterconnect I/O Blocks (IOBs)
ConfigurableLogic Blocks (CLBs)
D Q
SlewRate
Control
PassivePull-Up,
Pull-Down
Delay
Vcc
OutputBuffer
InputBuffer
Q D
Pad
D QSD
RDEC
S/RControl
D QSD
RDEC
S/RControl
1
1
F'
G'
H'
DIN
F'
G'
H'
DIN
F'
G'
H'
H'
HFunc.Gen.
GFunc.Gen.
FFunc.Gen.
G4G3G2G1
F4F3F2F1
C4C1 C2 C3
K
Y
X
H1 DIN S/R EC
![Page 53: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/53.jpg)
XC4000E/X Configurable Logic Blocks
D QSD
RDEC
S/RControl
D QSD
RDEC
S/RControl
1
1
F'
G'
H'
DIN
F'
G'
H'
DIN
F'
G'
H'
H'
HFunc.Gen.
GFunc.Gen.
FFunc.Gen.
G4G3G2G1
F4F3F2F1
C4C1 C2 C3
K
YQ
Y
XQ
X
H1 DIN S/R EC
• 2 Four-input function generators (Look Up Tables)- 16x1 RAM or Logic function
• 2 Registers- Each can be configured as Flip Flop or Latch- Independent clock polarity- Synchronous and asynchronous Set/Reset
![Page 54: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/54.jpg)
Look Up Tables
Capacity is limited by number of inputs, not complexity
Choose to use each function generator as 4 input logic (LUT) or as high speed sync.dual port RAM
• Combinatorial Logic is stored in 16x1 SRAM Look Up Tables (LUTs) in a CLB
• Example:
A B C D Z
0 0 0 0 00 0 0 1 00 0 1 0 00 0 1 1 10 1 0 0 10 1 0 1 1 . . .1 1 0 0 01 1 0 1 01 1 1 0 01 1 1 1 1
Look Up Table
Combinatorial Logic
AB
CD
Z
4-bit address
GFunc.Gen.
G4G3G2G1
WE
2(2 )4
= 64K !
![Page 55: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/55.jpg)
XC4000X I/O Block Diagram
Shaded areas are not included in XC4000E family.
![Page 56: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/56.jpg)
Xilinx FPGA Routing
1) Fast Direct Interconnect - CLB to CLB
2) General Purpose Interconnect - Uses switch matrix
CLBCLB
CLBCLB
CLBCLB
CLBCLB
SwitchMatrix
SwitchMatrix
3) Double Lines4) Long Lines
Segmented across chipGlobal clocks, lowest skew2 Tri-states per CLB for busses
![Page 57: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/57.jpg)
What’s Really In that Chip?
CLB(Red)
Switch Matrix
Long Lines(Purple)
Direct Interconnect (Green)
Routed Wires (Blue)
Programmable Interconnect Points, PIPs (White)
![Page 58: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/58.jpg)
Spartan-II Architecture Spartan-II Architecture and Featuresand Features
![Page 59: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/59.jpg)
Presentation Name 63
Virtex-II
CPLDs Low Power
FPGAsSRAM-basedFeature RichHigh Performance
Spartan-IIE
Density (System Gates)
Fea
ture
s
FPGAsSRAM-basedFeature RichLow Cost
10K 600K 10M
XilinxYour Programmable Logic Solution
![Page 60: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/60.jpg)
Features
• Plentiful logic and memory resources– 15K to 200K system gates (up to 5,292 logic cells)– Up to 57 Kb block RAM storage
• Flexible I/O interfaces– From 86 to 284 I/Os – 16 signal standards
• Advanced 0.25/0.22um 6-Layer Metal Process• High performance
– System frequency as high as 200 MHzAdvanced Clock Control with 4 Dedicated DLLsUnlimited Re-programmabilityFully PCI Compliant
![Page 61: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/61.jpg)
Spartan-II Top-level Architecture
• Configurable logic blocks– Implement logic here!
• I/O blocks– Communicate with other chips– Choose from 16 signal
standards
• Block RAM– On-chip memory for higher
performance
![Page 62: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/62.jpg)
Spartan-II Top-level Architecture
• Clocks and delay locked loops– Synchronize to clock on and off
chip
• Rich interconnect resources – Three-state internal buses
• Power down mode– Lower quiescent power
![Page 63: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/63.jpg)
F5IN
CINCLKCE
COUT
D Q
CK
S
REC
D Q
CK
REC
O
G4G3G2G1
Look-UpTable
Carry&
ControlLogic
O
YB
Y
F4F3F2F1
XBX
Look-UpTable
BYSR
S
Carry&
ControlLogic
SLICE
COUT
D Q
CK
S
REC
D Q
CK
REC
O
G4G3G2G1
Look-UpTable
Carry&
ControlLogic
O
YB
Y
F4F3F2F1
XBX
Look-UpTable
F5INBYSR
S
Carry&
ControlLogic
CINCLKCE SLICE
CLB Structure
• Each slice has 2 LUT-FF pairs with associated carry logic• Two 3-state buffers (BUFT) associated with each CLB, accessible by all CLB
outputs
![Page 64: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/64.jpg)
CLB Slice (Simplified)
• 1 CLB holds 2 slices• Each slice contains two sets
of the following:– Four-input LUT
• Any 4-input logic function• Or 16-bit x 1 RAM• Or 16-bit shift register
![Page 65: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/65.jpg)
CLB Slice (cont’d)
• Each slice contains two sets of the following:– Carry & control
• Fast arithmetic logic• Multiplier logic• Multiplexer logic
– Storage element• Latch or flip-flop• Set and reset• True or inverted inputs• Sync. or async. control
![Page 66: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/66.jpg)
Inputs(ABCD) Output(Z)0000 00001 00010 10011 0…… ..1110 11111 1
Truth Table
LUT =
4-input logic function
C
D
Z
A
B
Four-Input LUT
• Implements combinatorial logic– Any 4-input logic function– Cascaded for wide-input functions
![Page 67: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/67.jpg)
RAM16X1S
O
DWEWCLKA0A1A2A3
RAM32X1S
O
DWEWCLKA0A1A2A3A4
RAM16X2S
O1
D0
WEWCLKA0A1A2A3
D1
O0
=
=LUT
LUT or
LUT
RAM16X1D
SPO
D
WE
WCLK
A0
A1
A2
A3
DPRA0 DPO
DPRA1
DPRA2
DPRA3
or
Distributed RAM
• CLB LUT configurable as Distributed RAM
– A LUT equals 16x1 RAM– Implements Single and Dual-Ports– Cascade LUTs to increase RAM size
• Synchronous write• Synchronous/Asynchronous read
– Accompanying flip-flops used for synchronous read
![Page 68: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/68.jpg)
D QCE
D QCE
D QCE
D QCE
LUT
INCECL
K
DEPTH[3:0]
OUTLUT =
Shift Register
• Each LUT can be configured as shift register– Serial in, serial out
• Dynamically addressable delay up to 16 cycles
• For programmable pipeline• Cascade for greater cycle
delays• Use CLB flip-flops to add
depth• Use for programmable clock
delay
![Page 69: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/69.jpg)
Shift Register
• Register-rich FPGA– Allows for addition of pipeline stages to increase throughput
• Data paths must be balanced to keep desired functionality
64Operation
A4 Cycles 8 Cycles
Operation B
3 Cycles
Operation C
64
12 Cycles
3 Cycles9-Cycle imbalance
![Page 70: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/70.jpg)
12 Cycles
64Operation
A4 Cycles 8 Cycles
Operation B
3 Cycles
Operation C
12 Cycles Paths staticallybalanced
9 Cycles
Pipeline
64
Shift Register
• LUT as shift register– Used to add pipeline stages
• Increase overall register count– 16 bit shift register per LUT– 64 bit shift register per CLB
![Page 71: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/71.jpg)
CLB Arithmetic Logic
• Dedicated carry logic– Provides high performance for
counters & arithmetic functions– Discrete XOR component for
single level sum completion– Two separate carry chains in CLB
allow for 3 operand functions– Can also be used to cascade
LUTs for wide-input logic functions
Single-level Sum
LUT
0 1
LUT
0 1
LUT
0 1
LUT
0 1
![Page 72: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/72.jpg)
COUT
Look-UpTable
SLICE0CIN
COUT
O
Look-UpTable
Carry&
ControlLogic
Look-UpTable
SLICE1CIN
CLB
Look-UpTable
B1B0
A1A0
C1C0
SUM1
SUM0
PARTIAL0
PARTIAL1Carry
&ControlLogic
Carry&
ControlLogic
Carry&
ControlLogic
3 Operand Adder Function
• A, B, C are two-bits wide– SUM = A + B + C or PARTIAL + C, where PARTIAL = A + B– Implementation
• First 2-operand sum ‘A+B’ is performed in Slice 0• Second 2-operand sum ‘PARTIAL + C’ is performed in Slice 1
– Fast local feedback connection within the CLB• Very small delay for on PARTIAL
![Page 73: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/73.jpg)
Sommatore a 4 bits
Overflow
Carry Out
Carry In
![Page 74: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/74.jpg)
CLB
MUXF6
Slice
LUT
LUTMUXF5
Slice
LUT
LUTMUXF5
Dedicated Expansion Multiplexers
• MUXF5 combines 2 LUTs to form– 4x1 multiplexer– Or any 5-input function
• MUXF6 combines 2 slices to form– 8x1 multiplexer– Or any 6-input function
![Page 75: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/75.jpg)
200 MHz Memory Continuum
Highest performance FPGA memory system
bytes
16x1
DSP CoefficientsSmall FIFOsShallow/Wide
Distributed RAMkilobytes
4Kx12Kx21Kx4512x8
256x16
Large FIFOs Packet BuffersVideo Line BuffersCache Tag MemoryDeep/Wide
Block RAMmegabytes
SDRAMZBTRAMSSRAMSGRAM
External RAM
Memory Bandwidth and Flexibility
• Spartan-II on-chip SelectRAM+TM memory
![Page 76: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/76.jpg)
Spartan-IIDual-R/W
PortBlock RAM
Port A
Port B
W
R
WR
WR
RW
Data Flow Spartan-IIA to B YesB to A YesA to A YesB to B Yes
Block RAM Provides 4K Bits Each
• Dual read/write ports, each with:– Independent clock, R/W, and enable– Independently configurable data width from 4Kx1 to 256x16
![Page 77: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/77.jpg)
Local Routing
• Interconnect among LUTs, FFs, GRM• CLB feedback path for connections to LUTs in same CLB• Direct path between horizontally adjacent CLBs
Local Routing
![Page 78: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/78.jpg)
General Purpose Routing
• 24 single-length lines– Route GRM signals to adjacent GRMs in 4 directions
• 96 buffered hex lines– Route GRM signals to another GRMs six blocks away in each of the four directions
• 12 buffered Long lines– Routing across top and bottom, left and right
SINGLE
HEX
LONG
SINGLE
HEX
LONG
SIN
GL
E
HE
X
LO
NG
SIN
GL
E
HE
X
LO
NG
TRISTATE BUSSES
SWITCHMATRIX
SLICE SLICE
LocalFeedback
CA
RR
Y
CA
RR
Y
CLB
CA
RR
Y
CA
RR
Y
DIRECTCONNECTION
INTERNAL BUSSES
Single-length linesBuffered Hex lines
Direct connections
Long lines and Global linesInternal 3-state Bus
![Page 79: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/79.jpg)
Internal Three-state Buses
![Page 80: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/80.jpg)
Clock distribution Nets
• High speed• Low skew• 4 distribution nets• 4 dedicated input PADS• 4 dedicated Global buffers
with inputs or– from clock pad– from internal signal
![Page 81: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/81.jpg)
Delay Lock Loops (DLLs) Lower Board Costs
System Clock Management
De-skew clocks
4 low-skew global clocks
Mirror clock for board distribution
Multiply Divide Shift
Convert clock to different
I/O standards using SelectI/O™
DLL1 DLL2
DLL3 DLL4Syst
em C
lock
s
![Page 82: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/82.jpg)
DLL Capabilities
• Easy clock duplication– System clock distribution – Cleans and reconditions incoming clock
• Quick and easy frequency adjustment• Single crystal easily generates multiple clocks
• Faster state machine utilizing different clock phases • Excellent for advance memory types
• De-skew incoming clock• Generate fast setup and hold time or fast clock-to-outs
ClockDe-skew
![Page 83: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/83.jpg)
I/O Block (Simplified)
• Registered input, output, 3-state control• Programmable slew rate, pull-up, pull-down, keeper and
input delay
![Page 84: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/84.jpg)
IOBs Organized As Independent Banks
• As many as eight banks on a device– Package dependent
• Each bank can be assigned any of the 16 signal standards
![Page 85: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/85.jpg)
Programmable Output Driver
• Significant EMI reduction benefit• Programmable driver strength
– Pull-up and Pull-down drivers can be individually controlled
– 16 different setting for each– 2 slew rate settings
Simultaneous Switching Output Guidelines
![Page 86: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/86.jpg)
Supports multiple voltage and signal standards simultaneously
Eliminate costly bus transceivers
System Interfaces -- SelectI/O™
Voltage Standards2.5V 1.8V3.3V 1.5V
SSTLHSTLCTT
High-speed Memory Interfaces
Chip-to-Chip Interfaces
LVTTLLVCMOSLVPECLLVDS
Backplane Interfaces
GTL GTL+AGP PCI BLVDS
19 DifferentStandardsSupported!
![Page 87: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/87.jpg)
SelectI/OTM Standards
• VCCO defines output voltage
Standard VREF VCCO
Chip to Chip InterfaceLVTTL na 3.3LVCMOS2 na 2.5LVCMOS18 na 1.8LVDS na 2.5LVPECL na 3.3
Backplane InterfacePCI 33MHz 3.3V na 3.3PCI 66MHz 3.3V na 3.3GTL 0.80 naGTL+ 1.00 naAGP-2X 1.32 3.3Bus LVDS na 2.5
Memory InterfaceHSTL-I 0.75 1.5HSTL-III & IV 0.90 1.5SSTL3-I & II 1.50 3.3SSTL2-I & II 1.25 2.5CTT 1.50 3.3
User I/O Pin
VCCO
VREF
InternalReferenc
e
Output
Input
• VREF defines input threshold reference voltage
• Available as user I/O when using internal reference
![Page 88: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/88.jpg)
Chip to ChipLVTTL, LVCMOS
Chip to MemorySSTL2-I, SSTL2-II, SSTL3-I,SSTL3-II, HSTL-I, HSTL-III,HSTL-IV, CTT
Chip to BackplanePCI33-5V, PCI33-3.3V, GTL, GTL+, AGP
Allows support for future standards!
SD
RA
M
SSTL
GT
L+
LVTTL
LVCMOSCTT
SR
AM
HSTL
Spartan-II As Center for Signal Translation
![Page 89: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/89.jpg)
Partial Reconfiguration
Frame by frame reconfiguration supported while device is running- Routing changes affect device operation- Re-initializing a block RAM requires stopping all access in that column
Can dynamically load the required logic at a given time- Minimizes cost further by time-multiplexing the logic resources
![Page 90: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/90.jpg)
Power-down Mode
• Controlled by single power down pin• All inputs blocked, appear low internally• All outputs disabled• All register states preserved• Power-down status pin• Synchronous wake up• 100 uA typical
![Page 91: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/91.jpg)
Mode
Config.Data
Format
Direction ofSynchronizing
Clock UseSlaveSerial
Serial FPGA receivesCCLK
Processor or CPLD or another FPGA ( in Mastermode) controls configuration of slave FPGA
Also for configuring multiple slave FPGAs in adaisy chain (2ND, 3RD FPGA, etc.).
MasterSerial
Serial FPGA generatesCCLK
FPGA in Master mode configures itself from aserial PROM.
Also, 1st FPGA (master) in daisy chain controlsconfiguration of slave FPGA(s) in a daisy chain.
SlaveParallel
Byte FPGA receivesCCLK
Processor or CPLD controls the fast configuration ofslave FPGA.
JTAG Serial FPGA receivesTCK
Make use of existing boundary scan port
There are four ways to program a Spartan-II FPGA
Configuration Modes
![Page 92: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/92.jpg)
Device XC2S15 XC2S30 XC2S50 XC2S100 XC2S150 XC2S200
Logic Cells 432 972 1728 2700 3888 5292
Block RAM Bits 16,384 24,576 32,768 40,960 49,152 57,344
Block RAM Qty. 4 6 8 10 12 14
Max. User I/Os 86 132 176 196 260 284
Package VQ100 VQ100
CS144 CS144
TQ144 TQ144 TQ144 TQ144
PQ208 PQ208 PQ208 PQ208 PQ208
FG256 FG256 FG256 FG256
FG456 FG456 FG456
Spartan-II Family Overview
![Page 93: Dispositivi programmabili. – Sono dispositivi hardware (chip) che mettono a disposizione elementi logici piu o meno complessi che possono essere opportunamente](https://reader035.vdocumenti.com/reader035/viewer/2022062701/5542eb4c497959361e8b9e0d/html5/thumbnails/93.jpg)
Spartan-II Architecture Summary
Delivers all the key requirements for ASIC replacement– 200,000 gates– 200 MHz– Flexible I/O interfaces– On-chip distributed and block RAM– Clock management– Low power– Complete development system support