Sunteți pe pagina 1din 34

PAL

CLK
macrocelul programabil

oe

4...16 macrocelule
8...32 pori I / macrocelul
8...16 intrri / poart I

bloc
de ieire
programabil

IN

IN/OUT
poart
3-stri

reacie
macrocelul programabil

oe
bloc
de ieire
programabil

IN

IN/OUT
poart
3-stri

reacie

.
.
.

.
.
.

macrocelul programabil

oe
bloc
de ieire
programabil

IN

IN/OUT
poart
3-stri

reacie

intrare

matrice programabil

logic I-SAU

ieire

Structura circuitului CPLD CY7C372i


( Cypress Semmiconductor )

I0,2,3

CLK0.1

5 intrri

BLOCURI
I/O
oe
8

I/O07

8 pini I/O
I/O815

oe
8

BLOC
LOGIC
A

BLOC
LOGIC
B
16

BLOCURI
I/O

36
16

36
16

36

Matrice programabil
de interconectare

8 pini I/O

2 intrri
CLK

16

36
16

BLOC
LOGIC
D

BLOC
LOGIC
C
16

oe
8

I/O16..24

oe
8

8 pini I/O

8 pini I/O
I/O2532

Configuraia pinilor :
6 5 4 3 2 1 44 43 42 41 40
7
8
9
10
11
12
13
14
15
16
17

CY7C372i

18 19 20 21 22 23 24 25 26 27 28

39
38
37
36
35
34
33
32
31
30
29

pin nr.
1, 12, 23 i 34
22
29, 1421,
2431 i 3639
13 i 35
10, 32 i 33
44
11

Destinaia pinilor
GND
VccINT = +5V (alimentare general`)
I/O
CLK
IN
selecie standard TTL 5V/ 3,3V
ISR-enable (reprogramare n sistem)

Caracteristici :
blocuri logice programabile
macrocelule
macrocelule/bloc)
matricea I programabil / bloc logic
pini de intrare/ieire
pini de intrare
intrri de sincronizare (CLK)
principiul de programare/reprogramare
( reprogramabil n sistem )
standardul de semnal intrare/ieire
Fan Out
ieiri 3-state
intrare/ieire (32 pini)
intrri prevzute cu funcia BUS-HOLD
frecvena maxim de operare
timpul de propagare mediu
puterea disipat

4
64

(16

72 x 86
32
min.3 - max.5
2
FLASH- ISR
TTL- 5V / 3,3V
10
(IOL=16 mA)
toi pinii de
toate intrrile (32+5 pini)
125 MHz
10 ns
400 mW

Structura unui bloc logic i conexiunile cu alte blocuri ale CPLD


BLOC LOGIC (16 macrocelule)
Bloc de alocare Blocuri de ieire
Logica I" programabil
configurabile
a termenilor-produs
72 x 86

Bloc I/O

I/O1

2
.
.
.
16

oe

I/O2
I/O3
pini I/O
I/O4
.
.
.
I/O8

CLK1
CLK2
IN1
IN2
IN3

Matricea programabil
de interconectare

pini IN i CLK

Alocarea flexibil a termenilor-produs


Logica I" programabil

Blocul de alocare
a termenilor-produs

Grup termeni-produs 1

DMUX

Faciliti :
Grup termeni-produs 2

- implementarea economic
a funciilor cu numr mic de
termeni ;

DMUX

-expandarea termenilor-produs
(creterea numrului de
termeni)
(product-term expending) ;

Grup termeni-produs 3

DMUX

- redirecionarea termenilorprodus
disponibili spre alte
macrocelule
( product-term steering ) ;

Grup termeni-produs 4

DMUX

.
.
.

.
.
.

.
.
.

Grup termeni-produs 16

DMUX

.
.
.

.
.
.

- folosirea n comun a unui


termen-produs de ctre
mai multe macrocelule
( product-term sharing) ;

Implementarea economic a funciilor cu numr mic de termeni


Blocul de alocare
Logica I" programabil
a termenilor-produs
Grup termeni-produs 1

DMUX

Grup termeni-produs 2

DMUX

Grup termeni-produs 3

DMUX

Grup termeni-produs 4

DMUX

.
.
.

.
.
.

.
.
.

Grup termeni-produs 16

DMUX

.
.
.

.
.
.

Comparaie cu structura PAL (folosirea ineficient a resurselor logice)

Expandarea termenilor-produs

(implementarea funciilor cu muli termeni


(product-term
)

Logica I" programabil

Blocul de alocare
a termenilor-produs

Grup termeni-produs 1

DMUX

Grup termeni-produs 2

DMUX

Grup termeni-produs 3

DMUX

Grup termeni-produs 4

DMUX

.
.
.

.
.
.

.
.
.

Grup termeni-produs 16

DMUX

.
.
.

.
.
.

expending)

Redirecionarea termenilor-produs disponibili spre alte macrocelule


Logica I" programabil

( product-term steering )

Blocul de alocare
a termenilor-produs

Grup termeni-produs 1

DMUX

Grup termeni-produs 2

DMUX
DMUX

Grup termeni-produs 3

DMUX

Grup termeni-produs 4

DMUX

.
.
.

.
.
.

.
.
.

Grup termeni-produs 16

DMUX

.
.
.

.
.
.

( product-term sharing)

Folosirea n comun a termenilor-produs de catre mai multe macrocelule


Logica I" programabil

Blocul de alocare
a termenilor-produs

Grup termeni-produs 1

DMUX

Grup termeni-produs 2

DMUX

Grup termeni-produs 3

DMUX

Grup termeni-produs 4

DMUX

.
.
.

.
.
.

.
.
.

Grup termeni-produs 16

DMUX

.
.
.

.
.
.

Structura unui bloc logic i conexiunile cu alte blocuri ale CPLD


BLOC LOGIC (16 macrocelule)
Bloc de alocare Blocuri de ieire
Logica I" programabil
configurabile
a termenilor-produs
72 x 86

Bloc I/O

I/O1

2
.
.
.
16

oe

I/O2
I/O3
pini I/O
I/O4
.
.
.
I/O8

CLK1
CLK2
IN1
IN2
IN3

Matricea programabil
de interconectare

pini IN i CLK

Structura blocului de ieire configurabil i a blocului I/O


BLOC DE IEIRE CONFIGURABIL
Bloc I/O
Poart 3-stri

de la blocul
de alocare
a termenilor

D/T

Preset

MUX

pin I/O

MUX

oe

Bistabil
configurabil
D/T

MUX

MUX

Reset

1 0
Decodor

control
ieire 3stri

clk1
clk2

Preset asincron

Reset asincron

Reset sincron
Preset sincron

spre matricea
de interconectare

Posibiliti de configurare a blocurilor de ieire


Combinaional

Secvenial
bistabil D
D
CLK

Preset

Q
Reset

bistabil T

CLK

Preset

Q
Reset

T
CLK

Preset

Q
Reset

Preset

Q
Reset

Blocul I/O
Bloc I/O
de la blocul
de ieire
conectare programat
la 1 sau 0

Poart 3-stri

pin I/O
oe
MUX

1 0

spre matricea
de interconectare

INTRARE
ieire simpl
Moduri de configurare
a blocului I/O

IEIRE

ieire cu reacie (feed-back)


ieure cu 3 stri (3-state)

INTRARE / IEIRE (bidirecional)

INTRARE

Bloc I/O
Poart 3-stri

Matricea
de
interconect
are

pin intrare
oe
MUX

IEIRE SIMPL

Bloc I/O
Poart 3-stri

Matricea
de
interconect
are

oe
MUX

pin ieire

IEIRE CU REACIE (feed-back)

Bloc I/O
Poart 3-stri

Matrucea
de
interconect
are

oe
MUX

pin ieire

IEIRE CU 3 STRI
( 3-state )

Bloc I/O
Poart 3-stri

Matricea
de
interconect
are

oe
MUX

1 0

pin ieire

INTRARE / IEIRE ( BIDIRECIONAL )

Bloc I/O
Poart 3-stri

Matricea
de
interconect
are

oe
MUX

1 0

1/0

pin intrare/ieire
(bidirecional)

STRUCTURA
BLOCULUI
LOGIC
CPLD

Linii
sincronizare (CLK)
i iniializare

Logica I-SAU
Logica I" programabil

Matricea
de interconectare

Blocul de alocare
a termenilor-produs

Blocuri de ieire
Blocuri
pin I/O
configurabile I/O
D/T

DMUX

Decod.

DMUX

D/T
Decod.

DMUX

Decod.

DMUX

10

D/T

DMUX

.
.
.

10

D/T
Decod.

.
.
.

10

.
.
.

10

.
.
.
.
.
.

.
.
.
D/T
Decod.

10

Macrocelule de intrare/ieire (I/O macrocells) i macrocelule ascunse (ngropate) (

Macrocelul de intrare/ieire
logica
I

Bloc I/O

Pr

blocul
de alocare
a termenilor

D/T

pin I/O

oe

1 0

Decodor

Este conectat
la un bloc I/O,
respectiv
la un pin I/O.

spre matricea
programabil

Macrocelul ascuns
Pr

blocul
de alocare
a termenilor

D/T

spre matricea
programabil

CLK1
CLK2

Decodor

R
Pr

logica
I

Control ieire
3-state

Numrul total de macrocelule poate fi astfel


mult mai mare de ct numrul de pini.

Nu este conectat
la un bloc I/O.
Rezultatul procesrii
poate fi folosit
numai intern.

Arhitectura FPGA - seria XC-4000 ( Xilinx )


pini I/O

CLB

PSM

BUS E-W

I/O

CLB : Bloc logic


configurabil
( Configurable Logic Block )

PSM

CLB

PSM

BUS N-S

BUS N-S

CLB

PSM

I/O

PSM

I/O

I/O
CLB

PSM : Matrice de interconectare


programabil
(Programmable Switch Ma
I/O : Bloc de intrareieire
programabil
( PIO : Programmable
In/Out Block)

CLB

CLB

I/O

I/O
pini I/O

I/O

PSM

BUS E-W

PSM

PSM

pini I/O

I/O

I/O

I/O

PSM
BUS N-S

BUS E-W

I/O

I/O

I/O

BUS N-S

I/O

PSM

I/O

I/O
CLB

CLB

CLB

I/O

I/O
BUS E-W

I/O

I/O

PSM

PSM
I/O

I/O

pini I/O

I/O

I/O
S
Conector programabil

Bloc logic configurabil (CLB) structura de principiu

G4
G3
G2
G1

F4
F3
F2
F1

Y
G
F
C

X
D S
CLK

YQ

EN R
D S
CLK

EN R

C4
C3
C2
C1

F , G , H : generatoare de func
(macrocelule programa

Bypass

XQ

X,Y

: ieiri combinaiona

XQ , YQ : ieiri secveniale
(de tip registru)

Multiplexorul Bypass :
o intrare Ck poate ajunge dire
la ieirea XQ (ocolete CLB)

Generator universal de funcii de 4 variabile

F4

F3

F2

F1

F (F4,F3,F2,F1)

Bloc de intrare-ieire (structura


de principiu)

OE

Data

de la reeaua
de interconectare

clk 1

OE

Ieire
3 stri

CLK

pin I/O

EN
clk 2

EN
Data

spre reeaua
de interconectare

Buffer
intrare

Q
Data

D
CLK

EN

Linie
ntrziere

Structura reelei de interconectare (sistemul de magistrale)

Tipuri de magistrale
N
magistral

DIRECT

8 bii

4 bii
3 bii

8 bii

3 bii

4 bii

2 bii

CLB
bloc logic
programabil

magistral

magistral

CLK

SIMPL

magistral

DUBL

magistral

LUNG

magistral

2 bii

2 bii

DIRECT
S

2 bii

magistral

SIMPL
magistral

DUBL
magistral

LUNG

magistral

DIRECT

magistral

DIRECT :

magistral

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

SIMPL :

magistral

DUBL :

magistral

LUNG :

Productori de circuite programabile


(serii recente de circuite CPLD i FPGA)

CPLD
Xilinx
Cypress

FPGA

XA

Spartan
Virtex

Delta39K

CYTC380

Altera

MAX

Cyclon

Lattice

XA

ECP

Actel
QuickLogic

IGLOO

QL8000

Eclipse W

Magistral I/O
RAM

RAM local

Bloc logic

Bloc logic

Bloc logic

Bloc logic

Bloc I/O
Bloc I/O

Magistral E-V

Bloc I/O
Bloc I/O
Bloc I/O

pini I/O
pini I/O
pini I/O

pini I/O

Bloc logic

Bloc logic

Bloc logic

Bloc logic

RAM local

Bloc I/O

RAM local

Bloc logic

Bloc logic

Bloc logic

Bloc logic

Bloc I/O

Matrice de interconectare

pini I/O

Matrice de interconectare

Magistral N-S

RAM

RAM local

Bloc logic

Bloc logic

Bloc logic

Bloc logic

CLK

RAM local

pini I/O

pini I/O

RAM local

RAM local

Bloc logic

Bloc logic

Bloc logic

pini I/O

Bloc I/O

RAM local

Bloc logic

Bloc logic

Bloc logic

Bloc logic

Bloc logic

Magistral N-S

Bloc logic
Bloc logic

RAM

Bloc logic

Bloc logic

Bloc logic

CLK

RAM local

Bloc logic

Bloc logic

Bloc logic

Bloc logic

pini
CLK

pini I/O

Bloc I/O

RAM

RAM local

Matrice de interconectare

Bloc logic

RAM local

RAM local

Matrice de interconectare

Bloc logic

Bloc logic

Bloc logic

Bloc logic

Magistral E-V

Bloc logic

RAM

RAM local

Bloc logic

Bloc logic

Bloc logic

Bloc logic

Matrice de interconectare

Bloc logic

Bloc logic

Bloc logic

RAM

Bloc logic

Bloc logic

Magistral E-V
Bloc logic

Bloc logic

RAM local

Bloc logic

Bloc logic

Bloc logic

Bloc logic

Bloc I/O

pini
control

Magistral I/O

Bloc logic

RAM

RAM local

Bloc logic

Bloc logic

Matrice de interconectare

Bloc logic

Matrice de interconectare

Magistral N-S

RAM

RAM local

Bloc logic

Bloc logic

Bloc logic

Bloc logic

CLK

pini
I/O

Matrice de interconectare

Bloc logic

RAM local

Bloc logic

Bloc logic

Bloc logic

Bloc logic

Bloc I/O

pini
I/O

cluster

Bloc logic

RAM

RAM local

Bloc logic

Bloc logic

Bloc logic

Bloc logic

Bloc I/O

pini
I/O

Arhitectura circuitelor CPLD seria Delta 39K (Cypress Semiconductor)

Matrice de interconectare

blocuri logice

blocuri I/O

bloc
management
CLK

blocuri logice
programabile

bloc
RAM
multiplicator

multiplicatoare dedicate
blocuri logice
programabile

blocuri logice

blocuri RAM

blocuri I/O
blocuri I/O
pini I/O

pini I/O

blocuri logice

blocuri I/O

blocuri I/O

blocuri management CLK

blocuri logice
programabile

blocuri I/O

Arhitectura circuitelor FPGA seria Spartan-3 (Xilinx)

Tipurile de magistrale din componena FPGA seria Spartan-3


Magistrale directe (4 bii)

Magistrale duble (8 bii)

Conecteaz fiecare bloc logic cu blocurile vecine,


pe vertical, pe orizontal i pe diagonale.

Conecteaz fiecare bloc logic cu urmtoarele dou blocuri vecine,


pe vertical i pe orizontal.

bloc
logic

bloc
logic

bloc
logic

bloc
logic

bloc
logic

bloc
logic

bloc
logic

bloc
logic
8

bloc
logic

bloc
logic

bloc
logic

bloc
logic

bloc
logic

Magistrale
scurte
(8 bii)

Conecteaz blocurile logice


din 3 n 3,
pe vertical i pe orizontal.

8
bloc
logic

Conecteaz blocurile logice


din 6 n 6,
pe vertical i pe orizontal.

bloc
logic

24
bloc
logic

bloc
logic

bloc
logic

bloc
logic

bloc
logic

bloc
logic

24

bloc
logic

...
6

bloc
logic

bloc
logic

24
24

24

24

...

24

Magistrale
lungi
(24 bii)

bloc
logic

bloc
logic

...
6

bloc
logic

bloc
logic

Sistemul de magistrale de sincronizare ( CLK )


( Xilinx - FPGA seria Spartan 3 )

bloc
management
CLK

bloc
management
CLK
4

4
4

CLK1

CLK8

CLK2

CLK7

CLK3

CLK6
8

CLK4
8

4
bloc
management
CLK

CLK5

4
4
bloc
management
CLK

Circuite CPLD seria Delta-39K


Cypress ( www.cypress.com )

Indicativul
circuitului

Nr. pori
logice

Nr. macrocelule
programabile

Memorie integrat Nr. pini


local 1) global 2)
I/O
[ Kbits ] [ Kbits ]

fmax
[ MHz ]

39K30

48 000

512

64

16

174

233

39K50

72 000

768

96

24

218

233

39K100

144 000

1536

192

48

302

222

39K200

288 000

3072

384

96

428

181

1)
2)

memorie distribuit n macrocelulele programabile


memorie concentrat n blocuri RAM dedicate

Circuite FPGA seria Spartan-3


Xilinx

Indicativul
circuitului

Nr. pori
logice

( www.xilinx.com )

Nr.
Memorie integrat Nr.multi- Nr.blocuri Nr. pini
macrocelule local 1) global 2) plicatoare control
I/O
programabile [ Kbits ] [ Kbits ] dedicate
CLK

fmax
[MHz]

XC3S50

50 000

1728

12

72

124

280

XC3S200

200 000

4320

30

216

12

173

280

XC3S400

400 000

8064

56

288

16

264

280

XC3S1000

1 000 000

17280

120

432

24

391

167

XC3S1500

1 500 000

29952

208

576

32

487

167

XC3S2000

2 000 000

46080

320

720

40

565

167

XC3S4000

4 000 000

62208

432

1728

96

712

167

XC3S5000

5 000 000

74880

520

1872

104

784

167

1)
2)

memorie distribuit n macrocelulele programabile


memorie concentrat n blocuri RAM dedicate

S-ar putea să vă placă și