Sunteți pe pagina 1din 53

CIRCUITE LOGICE

PROGRAMABILE
CPLD
CPLD = Complex PLD

 CPLD = colecŃie de PLD-uri individuale


plasate într-o structură de
interconectare programabilă -
arhitectură foldback
 PLD
 un nivel de porŃi ŞI
 blocuri logice (macrocelule)

08.01.2013 2
CPLD - seria 9500
 Schema bloc CPLD

08.01.2013 3
CPLD - seria 9500

 Matricea de comutare
 cuprinde:
 toate intrările din blocurile de I/O (intrările
utilizator)
 toate ieşirile blocurilor funcŃionale (FB)

 prin programare, oricare dintre ele poate


accesa oricare dintre FB
 ieşirile din FB se pot conecta prin SI cablat
- se economiseşte timp
08.01.2013 4
CIRCUITE LOGICE
PROGRAMABILE
FPGA - seria 4000
FPGA - seria 4000
 Caracteristici
 frecvenŃă de la 80 MHz
 număr de porŃi logice: peste 180.000
 reprogramare nelimitată
 arhitectură matricială flexibilă
 compatibilitate PCI
 memorie RAM dual port sincronă,
ultrarapidă
 ieşirile:
 funcŃionează la 3,3Vcc sau la 5Vcc
 pun la dispoziŃie 12mA
 au control “slew rate” 6
08.01.2013
FPGA - seria 4000

 FPGA
 LCA - Logic Cell Array - structură de celule
logice programabile
 Blocuri I/O - intrări şi ieşiri

08.01.2013 7
FPGA - seria 4000

 LCA
 tehnologie CMOS
 funcŃiile interne ale tuturor celulelor -
identice
 funcŃiile configurate prin intermediul unor
celule de memorie SRAM (Static RAM)
 interconectarea (rutarea) celulelor în LCA
- controlată cu memorie SRAM
08.01.2013 8
FPGA - seria 4000
 CLB - Configurable Logic Block -
celula logică programabilă din LCA
3 generatoare (F, G, H) de funcŃii logice
combinaŃionale - realizate cu memorie
SRAM
 2 bistabili D, care comută pe front (la
unele componente din familie pot fi
configuraŃi ca latch-uri)
 mai multe căi de multiplexare şi
interconectare locală programabile
 13 intrări şi 4 ieşiri 9
08.01.2013
FPGA - seria 4000
 CLB

08.01.2013 10
FPGA - seria 4000

 Blocul de intrare/ieşire (I/O)


 I/O pot fi configurate ca intrări, ieşiri sau
bidirecŃionale - PAD
 buffere de intrare şi ieşire

 I/O pot fi directe sau prin registru

 control “slew rate” la ieşiri (viteza de


trecere de la starea Low la starea High şi
invers)
 control analog - rezistenŃe pentru legare la
0
08.01.2013
sau 1 logic (50 - 100 kΩ) 11
FPGA - seria 4000
 Buffere three-state
 fiecareCLB are asociată o pereche de
buffere 3-state

 comandă semnalele de pe liniile lungi


orizontale, de jos şi de sus, la fiecare CLB
 implementează pe liniile lungi: bus-uri
(unidirecŃionale sau bidirecŃionale),
multiplexoare mari - salvare resurse
 rezistenŃe la +Vcc pe aceste linii lungi
permit şi funcŃii ŞI cablat
08.01.2013 12
FPGA - seria 4000

 Oscilatorul intern OSC4


 frecvenŃă nominală de 8 MHz
 folosit în timpul configurării:
 controlează întârzierea la punerea sub
tensiune
 configurează ştergerea memoriei

 CCLK pt. configurare în mod Master

 are şi un divizor de frecvenŃă pentru:


500KHz, 16KHZ, 490Hz şi 15Hz
08.01.2013 13
FPGA - seria 4000

 Arhitectura de interconectare
 fire metalice cu puncte de conexiuni
programabile
 matrice de conectare

 memorie de interconectare SRAM - fiecare


bit este dedicat controlului unui punct de
conectare intern (PIP – Programmable
Interconnection Point)
 blocurile de I/O au un inel de rutare
(VersaRing) în jurul matricei CLB-urilor
08.01.2013 14
FPGA - seria 4000

 Tipuri de interconectare
 General purpose interconnect
 interconectarea se face printr-un caroiaj (linii
verticale şi orizontale) de linii metalice situate
între CLB-uri
 linii de lungime mică

 liniile se intersectează în matrice de comutare

 se permit ramificări multiple

08.01.2013 15
FPGA - seria 4000

 Tipuri de interconectare
 Long line interconnect
 liniile se întind pe întreaga lungime sau lăŃime
a circuitului
 nu intră prin matricele de comutare

 ideale pentru semnalul de CLK

 bufferele 3-state de lângă CLB-uri accesează


direct liniile lungi - se formează semnale de
magistrală (bus) pt. a multiplexa ieşirile

08.01.2013 16
FPGA - seria 4000
 Structura de interconectare

08.01.2013 17
FPGA - seria 4000
de interconectare - după
 Tipuri
lungimea relativă a segmentelor:
 global (4 linii) - dedicate pt. Clock
 single (8 linii) - între blocuri adiacente -
altfel ⇒ matrice programabilă ⇒ întârziere
 double (4 linii) - între CLB la distanŃă dublă
 long (3 sau 6 linii) - nu trec prin matrice de
comutare
 quad (12 linii) doar la unele circuite din familie
 octal (8 linii)
 direct (2 linii) - unidirecŃionale (ieşiri spre
CLB-urile din dreapta şi de jos)
08.01.2013 18
FPGA - seria 4000

 Matricea de conectare programabilă


(PMS)
 pentru liniile orizontale sau verticale,
“single” şi “double”
 fiecare punct de interconectare este
format din 6 tranzistori care pot fi
programaŃi
 fiecare punct permite 6 posibilităŃi de
conectare ⇒ diverse variante de legături
08.01.2013 19
FPGA - seria 4000

 Matricea de conectare programabilă

08.01.2013 20
FPGA - seria 4000
 Conectare linii “single” şi “double”

08.01.2013 21
FPGA - seria 4000

 Conectare intrări / ieşiri (VersaRing)


8 linii duble (în dreptul a 2 CLB şi 4 I/O)
 4 linii lungi

 4 linii globale pe stânga şi dreapta


 comandate de buffere primare BUFP sau
secundare BUFS, aflate în fiecare colŃ al
circuitului
 în general utilizate pentru Clock

 linii pt. decodificatoare


08.01.2013 22
FPGA - seria 4000
 Conectare intrări / ieşiri

08.01.2013 23
FPGA - seria 4000

 Alimentarea FPGA
 distribuită ca o reŃea
 scădere a zgomotelor
 izolare a I/O de partea de logică

 inele separate de Vcc şi GND pentru


driverele de I/O
 decuplarea fiecărui pin de Vcc la planul de
masă (GND) cu condensatoare de 1µF

08.01.2013 24
FPGA - seria 4000
 Alimentarea FPGA

08.01.2013 25
CIRCUITE LOGICE
PROGRAMABILE
FPGA - seria Spartan
FPGA - Spartan

Familia Spartan
 în evoluŃie au fost create mai multe variante:
 Spartan

 Spartan-II2,5V
 Spartan-IIE 1,8V

 Spartan-3

 Spartan-3E

 Spartan-3A

 Spartan-3AN

 Spartan-6

08.01.2013 27
FPGA - Spartan
Caracteristici generale
 număr de porŃi logice: de la 40.000 la 1.400.000
 frecvenŃă: de la 80 MHz la 450 MHz
 tehnologie de la 0,18 microni la 45nm
 reprogramare nelimitată
 compatibilitate PCI
 versiuni la diverse tensiuni de alimentare
 LUT (Look-Up Table) - memorie RAM - pt. funcŃiile
combinaŃionale din CLB
 blocuri separate de memorie
 control pentru Clock
 opŃiuni 3-state pt. bus intern
08.01.2013 28
FPGA - Spartan 3
Arhitectura

08.01.2013 29
FPGA - Spartan 3

CLB
4 slice-uri grupate în perechi de 2
 perechea stângă - funcŃii în plus:
 memorare date pe 16 biŃi
 deplasare date în registre de 16 biŃi

08.01.2013 30
FPGA - Spartan 3
Slice-uri

08.01.2013 31
FPGA - Spartan 3

I/O
 DDR (Double Data Rate) - sincronizarea
semnalelor pe ambele fronturi ale Clock,
crescător şi descrescător
 foloseşte bistabilii pereche

08.01.2013 32
FPGA - Spartan 3

Multiplicatoare
 date pe 18 biŃi în complement faŃă de 2
 poziŃionate lângă blocurile de RAM

 permit cascadarea

08.01.2013 33
FPGA - Spartan 3
Digital Clock Manager
 în general 4 la această familie
 3 funcŃii:
 eliminare Clock-skew (prin defazare zero)
 multiplicare sau divizare frecvenŃe plecând de la
Clock-ul de intrare
 posibilitatea defazării Clock-urilor de ieşire faŃă
de cel de intrare
4 componente: DLL (Delay-Locked Loop),
DFS (Digital Frequency Synthesizer), PS
(Phase Shifter), Status Logic
08.01.2013 34
CIRCUITE LOGICE
PROGRAMABILE
FPGA - seria Virtex
FPGA - Virtex

Familia Virtex
 mai multe variante:
 Virtex 2,5V
 Virtex E 1,8V

 Virtex II

 Virtex IIPro şi IIProX

 Virtex 4

 Virtex 5

 Virtex 6

 Virtex 7

08.01.2013 36
FPGA - Virtex IIPro
Caracteristici - îmbunătăŃiri
 prima familie de FPGA-uri care încorporează:
 MultiGigabit Transceiver (MGT) - RocketIO sau
RocketIO X
 procesor - IBM PowerPC 405 RISC CPU
(405PPC)
 tehnologie: 13 µm, 9 nivele, tranzistori de
mare viteză de 90 nm
 VccIN = 1,5V; VccAUX = 2,5V
 conectare - Active Interconnect Technology

08.01.2013 37
FPGA - Virtex IIPro

Arhitectura

08.01.2013 38
FPGA - Virtex IIPro

MGT (Multi Gigabit Transceiver)


 transceiver RockerIO - 3,125 Gb/s viteza
minimă de transfer serial al datelor pe un
canal
 transceiver RockerIO X - 6,25 Gb/s

 conversie paralel - serial şi serial - paralel

08.01.2013 39
FPGA - Virtex IIPro
405 PPC (PowerPC RISC CPU)
 poate executa instrucŃiuni cu frecvenŃa de 1
instrucŃiune / ciclu
 caracteristici CPU:
 implementează User Instruction Set Architecture (UISA)
ale PowerPC şi extensii pt. aplicaŃii
 32 registre generale de 32 biŃi (GPR)
 predicŃie statică a ramificaŃiilor
 majoritatea instrucŃiunilor - 5 stagii pipeline; execuŃie într-
un singur ciclu
 multiplicatoare / împărŃitoare hardware pt. aritmetică
binară (4 cicluri înmulŃirea, 35 cicluri împărŃirea)

08.01.2013 40
FPGA - Virtex IIPro
405 PPC - schema bloc

08.01.2013 41
FPGA - Virtex IIPro

405 PPC
 OCM(On Chip Memory) - controlul
memorării:
 unităŃiseparate de memorie cache pentru
instrucŃiuni (ICU 16 MB) şi date (DCU 16 MB)
 64K sau 128K bytes adresabili pentru date,
respectiv instrucŃiuni
 interfaŃă de control logic pentru:
 Clock şi alimentare
 ciclul PLB (processor local bus)

 OCM
08.01.2013 42
FPGA - Virtex IIPro

405 PPC
 interfaŃa cu FPGA
 PLB - 32 biŃi de adresă; bus de date pe 64 biŃi
 DCR (Device Control Register) - bus pe 10 biŃi

 EIC (External Interrupt Controller) - 2 pini activi


pe nivel pentru întreruperi utilizator
 CPM (Clock/Power Management) - distribuire
Clock şi alimentare
 Reset - 3 intrări şi 3 ieşiri

 Debug

08.01.2013 43
FPGA - Virtex 4

Caracteristici
3 familii:
 LX - aplicaŃii logice
 FX - soluŃii de aplicaŃii integrate (Embedded
Platform)
 SX - aplicaŃii DSP (Digital Signal Processing)

08.01.2013 44
FPGA - Virtex 4
Caracteristici
 foloseşte arhitectura ASMBL (Advanced
Silicon Modular Block) - aranjare pe coloane
 conŃine blocuri:
 procesor PowerPC 405 + coprocesor (450 MHz)
 Tri-Mode Ethernet MAC (Media Access Control)

 transceivere: 622Mb/s → 10+ Gb/s

 slice-uri dedicate DSP

 CMC (Clock Management Circuitry) - viteză mare

 interfeŃe SelectIO Technology

08.01.2013 45
FPGA - Virtex 4

Caracteristici
 tehnologie: 90 nm CMOS
 multiplicator de date pe 18 biŃi, cu semn, în
complement faŃă de 2
 acumulator (48 biŃi) şi sumator/scăzător

 blocuri de memorie la 500 MHz

 logică programabilă opŃională pt. FIFO

 conectare ierarhică

08.01.2013 46
FPGA - Virtex 5

Caracteristici
5 familii:
 LX - aplicaŃii logice
 LXT - aplicaŃii logice cu conectivitate serială de
mare viteză
 SXT - aplicaŃii DSP (Digital Signal Processing),
plus conectivitate serială
 TXT - densitate dublă la conectivitate serială

 FXT - soluŃii de aplicaŃii integrate (Embedded


Systems) cu conectivitate serială de mare viteză
08.01.2013 47
FPGA - Virtex 5

Caracteristici
 foloseşte arhitectura ASMBL (Advanced Silicon
Modular Block)
 FXT are procesor PowerPC 440

 conŃine blocuri:
 Tri-Mode Ethernet MAC (Media Access Control)
 transceivere: 100Mb/s → 3,73 Gb/s

 slice-uri dedicate DSP

 6 CMT (Clock Management Tiles) - 550 MHz

 interfeŃe SelectIO Technology

08.01.2013 48
FPGA - Virtex 5

Caracteristici
 tehnologie: 65 nm CMOS,12 nivele pentru conectare, 1Vcc
 slice
 4 LUT cu 6 intrări
 4 bistabile
 multiplicator 25 x 18
 sumator
 acumulator
 blocuri de memorie 36 Kbit RAM/FIFO
 până la 1.200 I/O
 conectări dedicate pentru cascadare; conectare pe
diagonale
 monitorizare circuit

08.01.2013 49
FPGA - Virtex 6
Caracteristici
 tehnologie: 40 nm CMOS,12 nivele pentru conectare, 1Vcc
 slice
 4 LUT cu 6 intrări
 opŃiune dual LUT cu 5 intrări
 folosite ca RAM de 64 biŃi
 folosite ca registre de deplasare stânga-dreapta pe 32 biŃi
 8 bistabile
 multiplicator 25 x 18
 sumator
 acumulator
 slice-uri speciale pentru DSP (digital signal processing)
 blocuri de memorie 36 Kbit RAM/FIFO
 până la 1.200 I/O
 conectări dedicate pentru cascadare; conectare pe
diagonale
 monitorizare circuit pt. alimentare şi temperatură
08.01.2013 50
FPGA - Virtex 7
Caracteristici
 tehnologie: 28 nm CMOS, 1Vcc (opŃiune 0,9Vcc)
 slice
 4 LUT cu 6 intrări
 opŃiune dual LUT cu 5 intrări
 folosite ca RAM de 64 biŃi
 folosite ca registre de deplasare stânga-dreapta pe 32 biŃi
 8 bistabile
 multiplicator 25 x 18
 sumator
 acumulator de 48 biŃi
 slice-uri speciale pentru DSP (digital signal processing)
 blocuri de memorie 36 Kbit RAM/FIFO
 viteză tranceiver – până la 28 Gb/s
 2 convertoare analog – digitale de 12 biŃi
 până la 1.200 I/O
 conectări dedicate pentru cascadare; conectare pe diagonale
 monitorizare circuit pt. alimentare şi temperatură
08.01.2013 51
CIRCUITE PROGRAMABILE

Avantaje
 reduceri substanŃiale la:
 dimensiuni

 consum de putere
 creşteri substanŃiale pentru:
 viteza de operare
 viteza de reconfigurare

Provocare: dezvoltarea principiilor, uneltelor


şi unificarea tehnologiilor actuale
08.01.2013 52
CIRCUITE PROGRAMABILE
AplicaŃii
 ştiinŃele naturii: biologie (ADN), fizică, chimie
 telecomunicaŃii, wireless, reŃele, video şi DSP

 arhitecturi software radio

 procesarea imaginilor prin arhitecturi reconfigurabile

 criptare/decriptare

 pico sateliŃi

 operaŃii vectoriale (căutări, sortări, numere


aleatoare)
…

08.01.2013 53

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