CIRCUITE LOGICE CIRCUITE LOGICE CIRCUITE LOGICE CIRCUITE LOGICE
PROGRAMABILEPROGRAMABILEPROGRAMABILEPROGRAMABILE
CPLDCPLDCPLDCPLD
08.01.2013 2
CPLD = Complex PLDCPLD = Complex PLDCPLD = Complex PLDCPLD = Complex PLD
CPLD = colecŃie de PLD-uri individuale plasate într-o structur ă de interconectare programabil ă -arhitectură foldback
PLDun nivel de porŃi ŞIblocuri logice (macrocelule)
08.01.2013 4
CPLD CPLD CPLD CPLD ---- seria 9500seria 9500seria 9500seria 9500
Matricea de comutarecuprinde:
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
CIRCUITE LOGICE CIRCUITE LOGICE CIRCUITE LOGICE CIRCUITE LOGICE
PROGRAMABILEPROGRAMABILEPROGRAMABILEPROGRAMABILE
FPGA FPGA FPGA FPGA ---- seria 4000seria 4000seria 4000seria 4000
08.01.2013 6
FPGA FPGA FPGA FPGA ---- seria 4000seria 4000seria 4000seria 4000
CaracteristicifrecvenŃă de la 80 MHznumăr de porŃi logice: peste 180.000reprogramare nelimitatăarhitectură matricială flexibilăcompatibilitate PCImemorie RAM dual port sincronă,
ultrarapidă ieşirile:
funcŃionează la 3,3Vcc sau la 5Vcc pun la dispoziŃie 12mA au control “slew rate”
08.01.2013 7
FPGA FPGA FPGA FPGA ---- seria 4000seria 4000seria 4000seria 4000
FPGALCA - Logic Cell Array - structură de celule
logice programabileBlocuri I/O - intrări şi ieşiri
08.01.2013 8
FPGA FPGA FPGA FPGA ---- seria 4000seria 4000seria 4000seria 4000
LCAtehnologie CMOSfuncŃiile interne ale tuturor celulelor -
identicefunc Ńiile configurate prin intermediul unor
celule de memorie SRAM (Static RAM) interconectarea (rutarea) celulelor în LCA
- controlată cu memorie SRAM
08.01.2013 9
FPGA FPGA FPGA FPGA ---- seria 4000seria 4000seria 4000seria 4000
CLB - Configurable Logic Block - celula logică programabilă din LCA3 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
08.01.2013 11
FPGA FPGA FPGA FPGA ---- seria 4000seria 4000seria 4000seria 4000
Blocul de intrare/ie şire (I/O)I/O pot fi configurate ca intrări, ieşiri sau
bidirecŃionale - PADbuffere de intrare şi ieşireI/O pot fi directe sau prin registrucontrol “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 sau 1 logic (50 - 100 kΩ)
08.01.2013 12
FPGA FPGA FPGA FPGA ---- seria 4000seria 4000seria 4000seria 4000
Buffere three-statefiecare CLB 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 13
FPGA FPGA FPGA FPGA ---- seria 4000seria 4000seria 4000seria 4000
Oscilatorul intern OSC4frecvenŃă nominală de 8 MHzfolosit î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 14
FPGA FPGA FPGA FPGA ---- seria 4000seria 4000seria 4000seria 4000
Arhitectura de interconectarefire metalice cu puncte de conexiuni
programabilematrice de conectarememorie de interconectare SRAM - fiecare
bit este dedicat controlului unui punct de conectare intern (PIP – ProgrammableInterconnection Point)
blocurile de I/O au un inel de rutare (VersaRing ) în jurul matricei CLB-urilor
08.01.2013 15
FPGA FPGA FPGA FPGA ---- seria 4000seria 4000seria 4000seria 4000
Tipuri de interconectareGeneral 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 16
FPGA FPGA FPGA FPGA ---- seria 4000seria 4000seria 4000seria 4000
Tipuri de interconectareLong 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 17
FPGA FPGA FPGA FPGA ---- seria 4000seria 4000seria 4000seria 4000
Structura de interconectare
08.01.2013 18
FPGA FPGA FPGA FPGA ---- seria 4000seria 4000seria 4000seria 4000
Tipuri de interconectare - după lungimea relativă a segmentelor :global (4 linii) - dedicate pt. Clocksingle (8 linii) - între blocuri adiacente -
altfel ⇒ matrice programabilă ⇒ întârzieredouble (4 linii) - între CLB la distanŃă dublă long (3 sau 6 linii) - nu trec prin matrice de
comutarequad (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 19
FPGA FPGA FPGA FPGA ---- seria 4000seria 4000seria 4000seria 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 20
FPGA FPGA FPGA FPGA ---- seria 4000seria 4000seria 4000seria 4000
Matricea de conectare programabil ă
08.01.2013 21
FPGA FPGA FPGA FPGA ---- seria 4000seria 4000seria 4000seria 4000
Conectare linii “single” şi “double”
08.01.2013 22
FPGA FPGA FPGA FPGA ---- seria 4000seria 4000seria 4000seria 4000
Conectare intr ări / ie şiri (VersaRing)8 linii duble (în dreptul a 2 CLB şi 4 I/O)4 linii lungi4 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 23
FPGA FPGA FPGA FPGA ---- seria 4000seria 4000seria 4000seria 4000
Conectare intr ări / ie şiri
08.01.2013 24
FPGA FPGA FPGA FPGA ---- seria 4000seria 4000seria 4000seria 4000
Alimentarea FPGAdistribuită 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
CIRCUITE LOGICE CIRCUITE LOGICE CIRCUITE LOGICE CIRCUITE LOGICE
PROGRAMABILEPROGRAMABILEPROGRAMABILEPROGRAMABILE
FPGA FPGA FPGA FPGA ---- seria Spartanseria Spartanseria Spartanseria Spartan
08.01.2013 27
FPGA FPGA FPGA FPGA ---- SpartanSpartanSpartanSpartan
Familia Spartan în evoluŃie au fost create mai multe variante:
Spartan Spartan-II 2,5V Spartan-IIE 1,8V Spartan-3 Spartan-3E Spartan-3A Spartan-3AN Spartan-6
08.01.2013 28
FPGA FPGA FPGA FPGA ---- SpartanSpartanSpartanSpartan
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 30
FPGA FPGA FPGA FPGA ---- Spartan 3Spartan 3Spartan 3Spartan 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 32
FPGA FPGA FPGA FPGA ---- Spartan 3Spartan 3Spartan 3Spartan 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 33
FPGA FPGA FPGA FPGA ---- Spartan 3Spartan 3Spartan 3Spartan 3
Multiplicatoare date pe 18 bi Ńi în complement fa Ńă de 2 poziŃionate lângă blocurile de RAM permit cascadarea
08.01.2013 34
FPGA FPGA FPGA FPGA ---- Spartan 3Spartan 3Spartan 3Spartan 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
CIRCUITE LOGICE CIRCUITE LOGICE CIRCUITE LOGICE CIRCUITE LOGICE
PROGRAMABILEPROGRAMABILEPROGRAMABILEPROGRAMABILE
FPGA FPGA FPGA FPGA ---- seria seria seria seria VirtexVirtexVirtexVirtex
08.01.2013 36
FPGA FPGA FPGA FPGA ---- VirtexVirtexVirtexVirtex
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 37
FPGA FPGA FPGA FPGA ---- VirtexVirtexVirtexVirtex IIProIIProIIProIIPro
Caracteristici - îmbun ătăŃiri prima familie de FPGA-uri care încorporează:
Multi Gigabit 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 39
FPGA FPGA FPGA FPGA ---- VirtexVirtexVirtexVirtex IIProIIProIIProIIPro
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 40
FPGA FPGA FPGA FPGA ---- VirtexVirtexVirtexVirtex IIProIIProIIProIIPro
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 41
FPGA FPGA FPGA FPGA ---- VirtexVirtexVirtexVirtex IIProIIProIIProIIPro
405 PPC - schema bloc
08.01.2013 42
FPGA FPGA FPGA FPGA ---- VirtexVirtexVirtexVirtex IIProIIProIIProIIPro
405 PPC OCM (On Chip Memory) - controlul
memorării: unităŃi separate 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 43
FPGA FPGA FPGA FPGA ---- VirtexVirtexVirtexVirtex IIProIIProIIProIIPro
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 44
FPGA FPGA FPGA FPGA ---- VirtexVirtexVirtexVirtex 4444
Caracteristici 3 familii :
LX - aplicaŃii logice
FX - soluŃii de aplicaŃii integrate (EmbeddedPlatform)
SX - aplicaŃii DSP (Digital Signal Processing)
08.01.2013 45
FPGA FPGA FPGA FPGA ---- VirtexVirtexVirtexVirtex 4444
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 46
FPGA FPGA FPGA FPGA ---- VirtexVirtexVirtexVirtex 4444
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 47
FPGA FPGA FPGA FPGA ---- VirtexVirtexVirtexVirtex 5555
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 48
FPGA FPGA FPGA FPGA ---- VirtexVirtexVirtexVirtex 5555
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 49
FPGA FPGA FPGA FPGA ---- VirtexVirtexVirtexVirtex 5555
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 50
FPGA FPGA FPGA FPGA ---- VirtexVirtexVirtexVirtex 6666
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 51
FPGA FPGA FPGA FPGA ---- VirtexVirtexVirtexVirtex 7777
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 52
CIRCUITE PROGRAMABILECIRCUITE PROGRAMABILECIRCUITE PROGRAMABILECIRCUITE 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 53
CIRCUITE PROGRAMABILECIRCUITE PROGRAMABILECIRCUITE PROGRAMABILECIRCUITE 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)
…