Vous êtes sur la page 1sur 93

Dispositivi

programmabili

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

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

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

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

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

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

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

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

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)

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)

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

Programmable Logic Array (PLA)


Consente di realizzare qualunque funzione logica
Questa e espressa in somme di implicanti

Programmable Logic Array (PLA)


Schema logico di una PLA
Esempio con 3 ingressi e due uscite (non programmata)

Programmable Logic Array (PLA)

Programmable Logic Array (PLA)

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

Programmable Array Logic (PAL)


Schema logico di una PAL
Esempio di PAL a 3 ingressi e 2 uscite (non programmata)

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 dingresso (INDIRIZZO) viene
associata una configurazione duscita (PAROLA)
Il piano AND agisce da DECODIFICATORE degli indirizzi

Read Only Memory (ROM)


Piano AND (decodificatore degli indirizzi)
realizza tutti i possibili termini minimi
per ogni configurazione dingresso attiva una ed una sola linea
duscita

Read Only Memory (ROM)


Schema logico del piano AND

Read Only Memory (ROM)


Schema logico di una ROM
Esempio di una ROM a 3 ingressi e 4 uscite (non
programmata)

Read Only Memory (ROM)


Esempio:
dalla tabella di verita della funzione a piu uscite
abc
000
001
010
011
100
101
110
111

f1
0
1
0
1
1
1
1
1

f2
0
1
0
0
0
1
0
1

f3
0
1
1
1
1
1
1
0

f4
1
1
0
1
1
1
1
1

f5
0
0
1
0
1
1
1
1

Read Only Memory (ROM)


Realizzazione della funzione

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)

PLA e PAL avanzate


Esempio di implementazione di una rete combinatoria a
piu livelli grazie alla retroazione

PLA e PAL avanzate


Esempio: realizzazione

PLA e PAL avanzate


Laggiunta di elementi di memoria in uscita possono
ulteriormente ampliare le prestazioni del dispositivo

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

CPLD - XC9500 Architecture


3

JTAG Port

JTAG
Controller

In-System
Programming Controller

Function
Block 1

I/O
I/O
I/O

I/O

Blocks

I/O
Global
Clocks
Global
Set/Reset
Global
Tri-States

Function
Block 2
FastCONNECT
Switch Matrix
Function
Block 3

3
1

2 or 4

Function
Block 4

5 volt in-system
programmable (ISP) CPLDs
5 ns pin-to-pin
36 to 288 macrocells
(6400 gates)
Industrys best pin-locking
architecture
10,000 program/erase
cycles
Complete IEEE 1149.1 JTAG
capability

XC9500 Function Block


Global
Clocks

AND
Array

Global
Tri-State

2 or 4

Macrocell 1

I/O

Macrocell 18

I/O

ProductTerm
Allocator

36
From
FastCONNECT

To
FastCONNECT

Each function block is like a 36V18 !

Struttura XC9500
Struttura della macrocella

Struttura XC9500
Struttura del product term allocator

Struttura XC9500
Possibilita di collegamento offerte dal
product term allocator

Struttura XC9500

Possibilita di collegamento offerte dal


product term allocator

Struttura XC9500
Linee globali di clock, set, reset

Struttura XC9500
Cella di I/O

XC9500 Product Family


9536

9572

95108

95144

95216

95288

Macrocells

36

72

108

144

216

288

Usable Gates

800

1600

2400

3200

4800

6400

tPD (ns)

7.5

7.5

7.5

10

10

Registers

36

72

108

144

216

288

Max I/O

34

72

108

133

166

192

PC84
TQ100
PQ100
PQ160

PQ100
PQ160

Packages

VQ44
PC44

PC44
PC84
TQ100
PQ100

PQ160
HQ208
BG352

HQ208
BG352

XC9500 - Q e A
Q: E possibile realizzare tramite CPLD XC9500 la seguente
architettura?
IN

R1

R2

1k

1k

C1

1n

OUT
C2

1n

XC9500 - Q e A
Q: E possibile realizzare tramite CPLD XC9500 la seguente
architettura?
IN

R1

R2

1k

1k

C1

1n

OUT
C2

1n

A: NO con una CPLD si possono realizzare solo


circuiti DIGITALI

XC9500 - Q e A
Q: E possibile realizzare tramite CPLD XC9500 la seguente
funzione, ossia un predeterminato RITARDO asincrono ?
In
RIT = 20ns

Out

XC9500 - Q e A
Q: E possibile realizzare tramite CPLD XC9500 la seguente
funzione, ossia un predeterminato RITARDO asincrono ?
In
RIT = 20ns

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 soddisfare
Nota2: Un elemento di ritardo e tuttavia realizzabile in modo
SINCRONO

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)?

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)

XC9500 - Q e A
Q: E possibile realizzare tramite CPLD XC9500 la seguente
funzione (una logica pilota altre logiche struttando un bus tristate)
Logic 2
Logic 1

Logic 3

XC9500 - Q e A
Q: E possibile realizzare tramite CPLD XC9500 la seguente
funzione (una logica pilota altre logiche struttando un bus tristate)
Logic 2

Logic 3

Logic 1
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 leffetto

FPGA: Introduzione
Le FPGA (Field Programmable Gate Array) sono dispositivi
programmabili costituiti da una matrice di componenti logici
collegabili tra loro

Complex Programmable Logic


Device (CPLD)

Field-Programmable Gate Array


(FPGA)

Architecture

PAL/22V10-like
More Combinational

Gate array-like
More Registers + RAM

Density

Low-to-medium
0.5-10K logic gates

Medium-to-high
1K to 3.2M system gates

Performance

Predictable timing
Up to 250 MHz today

Application dependent
Up to 200 MHz today

Interconnect

Crossbar Switch

Incremental

FPGA
Le FPGA mettono a disposizione dellutente
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 allI/O provvedono Buffer, protezioni,
Fan-out, resistenze di pull-up e pull-down, adattatori dimpedenza,

Blocchi particolari
memorie, moltiplicatori, PLL, decodificatori,

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)

XC4000 Architecture
and Features

XC4000 Architecture

CLB

Slew
Rate
Control

CLB

Switch
Matrix

CLB

Input
Buffer

Programmable
Interconnect
C1 C2 C3 C4
H1 DIN S/R EC
S/R
Control

F4
F3
F2
F1

G
Func.
Gen.

DIN
F'
G'

EC
RD

G'
H'
S/R
Control

DIN

SD

F'
G'

H'

H'

H'

H
Func.
Gen.
F
Func.
Gen.

SD
D

F'

Vcc

Output
Buffer

CLB
Q

G4
G3
G2
G1

Passive
Pull-Up,
Pull-Down

EC
RD

Configurable
Logic Blocks (CLBs)

Delay

I/O Blocks (IOBs)

Pad

XC4000E/X Configurable Logic Blocks

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

C1 C2 C3 C4
H1 DIN S/R EC
S/R
Control

G4
G3
G2
G1

F4
F3
F2
F1

DIN
F'
G'

G
Func.
Gen.

F
Func.
Gen.

YQ

H'

H
Func
.Gen.

EC
RD

1
G'
H'

Y
S/R
Control

DIN
F'
G'

SD
D

XQ

H'

H'

SD
D

F'

EC
RD

Look Up Tables

Combinatorial Logic is stored in 16x1 SRAM Look Up Tables


(LUTs) in a CLB
Look Up Table
Example:
4-bit address
Combinatorial Logic

A B C D

A
B
Z

C
D

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
WE
RAM
G4
G3
G2
G1

G
Func.
Gen.

0
0
0
0
0
0

0
0
0
0
1
1

0
0
1
1
0
0

0
1
0
1
0
1

Z
0
0
0
1
1
1

. . .
1
1
1
1

1
1
1
1

0
0
1
1

0
1
0
1

0
0
0
1

(2 )

2
= 64K !

XC4000X I/O Block Diagram

Shaded areas are not included in XC4000E family.

Xilinx FPGA Routing


1) Fast Direct Interconnect - CLB to CLB
2) General Purpose Interconnect - Uses switch matrix
3) Double Lines
4) Long Lines
Segmented across
chip
Global clocks, lowest
skew
2 Tri-states per CLB
for busses

CLB
CLB

Switch
Matrix

CLB
CLB

Switch
Matrix

CLB
CLB

CLB
CLB

Whats Really In that Chip?


Programmable Interconnect Points, PIPs (White)
Switch
Matrix

Routed Wires (Blue)

Direct
Interconnect
(Green)
CLB
(Red)

Long Lines
(Purple)

Spartan-II Architecture
and Features

Xilinx

Features

Your Programmable Logic Solution

Virtex-II
Spartan-IIE
CPLDs
Low Power

10K

FPGAs

FPGAs

SRAM-based
Feature Rich
Low Cost

SRAM-based
Feature Rich
High Performance

600K
Density (System Gates)

10M

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 MHz
Advanced Clock Control with 4 Dedicated DLLs
Unlimited Re-programmability
Fully PCI Compliant

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

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

CLB Structure
COUT

G4
G3
G2
G1

Look-Up
Table O

Carry
&
Control
Logic

COUT
YB
Y
D

CK
EC

CIN
CLK
CE

Look-Up
Table O

F5IN
BY
SR

F4
F3
F2
F1

G4
G3
G2
G1

Carry
&
Control
Logic

YB
Y
D

CK
EC

F5IN
BY
SR

Look-Up
Table O

Carry
&
Control
Logic

XB
X
D

CK
EC

F4
F3
F2
F1

SLICE

CIN
CLK
CE

Look-Up
Table O

Carry
&
Control
Logic

XB
X
D

CK
EC

SLICE

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

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

CLB Slice (contd)


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

Four-Input LUT
Implements combinatorial logic

Truth Table

Any 4-input logic function


Cascaded for wide-input functions

Inputs(ABCD) Output(Z)
0000
0
0001
0
0010
1
0011
0

..
1110
1
1111
1

4-input logic function


A
LUT

B
Z
C
D

Distributed RAM
RAM16X1S

RAM32X1S

A LUT equals 16x1 RAM


Implements Single and Dual-Ports
Cascade LUTs to increase RAM size

Synchronous write
Synchronous/Asynchronous read

LUT

CLB LUT configurable as Distributed


RAM

D
WE
WCLK
A0
A1
A2
A3

D
WE
WCLK
A0
A1
A2
A3
A4

LUT

or
=

Accompanying flip-flops used for


synchronous read
LUT

RAM16X2S
D0
D1
WE
WCLK O
A0
0
O
A1
1
A2
A3

or

RAM16X1D
D
WE
WCLK
A0

SPO

A1
A2
A3
DPRA0 DPO
DPRA1
DPRA2
DPRA3

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

LUT
IN
CE
CL
K

D
Q
CE

D
Q
CE

LUT

D
Q
CE

D
Q
CE

DEPTH[3:0]

OUT

Shift Register
12 Cycles
64

Operation
A
4 Cycles

Operation
B
8 Cycles

64

Operation
C
3 Cycles

Register-rich FPGA

3 Cycles

9-Cycle imbalance
Allows for addition of pipeline stages to increase throughput

Data paths must be balanced to keep desired functionality

Shift Register
12 Cycles
64

Operation
A
4 Cycles

Operation
B
8 Cycles

Operation
C
3 Cycles

Pipelin
e
9 Cycles

LUT as shift register

12 Cycles

Used to add pipeline stages

Increase overall register count


16 bit shift register per LUT
64 bit shift register per CLB

64

Paths statically
balanced

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

01

LUT

01

LUT

Single-level Sum

01

LUT

01

LUT

3 Operand Adder Function


COUT

B1
B0

A1
A0

Look-Up
Table

Carry
&
Control
Logic

Look-Up
Table

Carry
&
Control
Logic

CIN

COUT

PARTIAL1

PARTIAL0

SLICE0

C1
C0

Look-Up
Table O

Carry
&
Control
Logic

Look-Up
Table

Carry
&
Control
Logic

CIN

CLB

SUM1

SUM0

SLICE1

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

Sommatore a 4 bits
Carry Out
Overflow

Carry In

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

CLB
Slice
MUXF6

LUT

LUT

MUXF5

Slice
LUT

LUT

MUXF5

Memory Bandwidth and Flexibility


Spartan-II on-chip SelectRAM+TM memory

DSP Coefficients
Small FIFOs
Shallow/Wide

4Kx1
2Kx2
1Kx4
512x8
256x16

16x1

Distributed RAM
bytes

Large FIFOs
Packet Buffers
Video Line Buffers
Cache Tag Memory
Deep/Wide

Block RAM
kilobytes

SDRAM
ZBTRAM
SSRAM
SGRAM

External RAM
megabytes

200 MHz Memory Continuum

Highest performance FPGA memory system

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

W
R

Port B

Port A
W
R

Spartan-II
Dual-R/W
Port
Block RAM

R
W

W
R

Data Flow Spartan-II


A to B
Yes
B to A
Yes
A to A
Yes
B to B
Yes

Local Routing

Local Routing

Interconnect among LUTs, FFs, GRM


CLB feedback path for connections to LUTs in same CLB
Direct path between horizontally adjacent CLBs

INTERNAL BUSSES

CARRY

CARRY

SINGLE

HEX

LONG

General Purpose Routing


TRISTATE BUSSES

LONG

LONG

HEX

HEX

SINGLE

LONG

DIRECT
CONNECTION

HEX

SWITCH
MATRIX

SINGLE

SINGLE

SLICE

Internal 3-state Bus


Long lines and Global lines
Buffered Hex lines
Single-length lines

SLICE

Direct connections

Local
Feedback

24 single-length lines

96 buffered hex lines

12 buffered Long lines

CARRY

CARRY

CLB

Route GRM signals to adjacent GRMs in 4 directions


Route GRM signals to another GRMs six blocks away in each of the four directions
Routing across top and bottom, left and right

Internal Three-state Buses

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

System Clock Management

System Clocks

DLL1

DLL2

Mirror clock for


board distribution

De-skew clocks
4 low-skew
global clocks
DLL3

DLL4

Convert clock to
different
I/O standards using
SelectI/O

Multiply
Divide
Shift

Delay Lock Loops (DLLs) Lower Board Costs

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

Clock
De-skew

De-skew incoming clock


Generate fast setup and hold time or fast clock-to-outs

I/O Block (Simplified)


Registered input, output, 3-state control
Programmable slew rate, pull-up, pull-down, keeper and
input delay

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

Programmable Output Driver


Simultaneous Switching Output Guidelines

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

System Interfaces -- SelectI/O


Voltage Standards
3.3V

2.5V

1.8V

19 Different
Standards
Supported!

1.5V

Chip-to-Chip Interfaces
LVDS

LVPECL

Backplane Interfaces
AGP

GTL GTL+

LVCMOS

LVTTL

High-speed Memory Interfaces

PCI BLVDS

CTT HSTL SSTL

Supports multiple voltage and signal standards


simultaneously
Eliminate costly bus transceivers

SelectI/OTM Standards
Standard
VREF VCCO
Chip to Chip Interface
LVTTL
LVCMOS2
LVCMOS18
LVDS
LVPECL

na
na
na
na
na

3.3
2.5
1.8
2.5
3.3

Backplane Interface
PCI 33MHz 3.3V
PCI 66MHz 3.3V
GTL
GTL+
AGP-2X
Bus LVDS

na
na
0.80
1.00
1.32
na

3.3
3.3
na
na
3.3
2.5

0.75
0.90
1.50
1.25
1.50

1.5
1.5
3.3
2.5
3.3

Memory Interface
HSTL-I
HSTL-III & IV
SSTL3-I & II
SSTL2-I & II
CTT

VCCO

VCCO defines output voltage

User I/O Pin

Output

Input

Internal
Reference
VREF

VREF defines input threshold reference


voltage
Available as user I/O when using internal
reference

Spartan-II As Center for Signal Translation

SDRAM

Chip to Chip
LVTTL, LVCMOS

SSTL

Chip to Memory
HSTL

LVCMOS

CTT

GTL+

SRAM

LVTTL

SSTL2-I, SSTL2-II, SSTL3-I,


SSTL3-II, HSTL-I, HSTL-III,
HSTL-IV, CTT

Chip to Backplane
PCI33-5V, PCI33-3.3V,
GTL, GTL+, AGP

Allows support for future standards!

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

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

Configuration Modes
Config.
Direction of
Data
Synchronizing
Mode Format
Clock
Slave Serial FPGA receives
Serial
CCLK

Master Serial
Serial

FPGA generates
CCLK

Use
Processor or CPLD or another FPGA ( in Master
mode) controls configuration of slave FPGA
Also for configuring multiple slave FPGAs in a
daisy chain (2ND, 3RD FPGA, etc.).
FPGA in Master mode configures itself from a
serial PROM.
Also, 1st FPGA (master) in daisy chain controls
configuration of slave FPGA(s) in a daisy chain.

Slave Byte
Parallel

FPGA receives
CCLK

Processor or CPLD controls the fast configuration of


slave FPGA.

JTAG

FPGA receives
TCK

Make use of existing boundary scan port

Serial

There are four ways to program a Spartan-II FPGA

Spartan-II Family Overview


Device
Logic Cells

XC2S15 XC2S30 XC2S50 XC2S100 XC2S150 XC2S200


432

972

1728

2700

3888

5292

Block RAM Bits

16,384

24,576

32,768

40,960

49,152

57,344

Block RAM Qty.

10

12

14

Max. User I/Os

86

132

176

196

260

284

VQ100

VQ100

CS144

CS144

TQ144

TQ144

TQ144

TQ144

PQ208

PQ208

PQ208

PQ208

PQ208

FG256

FG256

FG256

FG256

FG456

FG456

FG456

Package

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

Vous aimerez peut-être aussi