Upload
duongdiep
View
260
Download
8
Embed Size (px)
Citation preview
Programabilne logičke struktureProgramabilne logičke strukture
(SPLD, CPLD, FPGA)
Vanr.prof.dr.Lejla Banjanović-Mehmedović
Sadržaj izlaganja� Programabilne logičke strukture
� SPLD digitalna kola
� CPLD digitalna kola
� FPGA digitalan kola� FPGA digitalan kola
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
Digitalni sistemi� Savremeni digitalni sistemi sadrže tri osnovne vrste
komponenti:� Mikroprocesori - pribavljaju i izvršavaju softverske
instrukcije, čitaju i upisuju u memoriju.instrukcije, čitaju i upisuju u memoriju.
� Memorija – dio računarskog sistema u kojoj se smještaju programi i podaci. Memorije su po prirodi sekvencijalnemreže kod kojih se upravljanje realizuje kombinacionimmrežama.
� Logičke komponente- obezbjeđuju specifične funkcije (povezivanje uređaja, komunikaciju, procesiranje signala, prikazivanje podataka, kontrolne operacije...)
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
Logičke komponenteApplication-specific integrated circuit (ASIC) - niz logičkih gejtova, zasnovanih na baznim ćelijama, koji sadrže skup nepovezanih tranzistora i otpornika, aplikaciono kreirani po posebnoj narudžbi.
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
Logičke komponente� Logičke komponente:
� Fiksne – neprogramabilni (stalni), jednom fabrički proizvedeni, ne mogu biti promjenjeni. Izvršavaju jednu ili više funkcija. Fiksni programi i komponente se najčešće smještaju u ROM.
� Programabilne logičke komponente – konfigurišu se korištenjem � Programabilne logičke komponente – konfigurišu se korištenjem maske, na osnovu specifikacije sadržaja proizvođača ili korisnika
� Čipovi koji sadrže značajno veću količinu logičkih krugova sa strukturom koja nije fiksna.
� Programabilne logičke komponente (PLD - Programmable Logic Device)
� Lokalno programabilne komponente (FPD – Field- Programmable Device)
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
Projektovanje fiksnih logičkih kola
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
Programabilne logičke komponente
(PLD)� Programmable logic device (PLD) u odnosu na
standardna logička kola:
� Omogućavaju značajnu uštedu prostora na štampanoj ploči (jedno PLD kolo zamjenjuje nekoliko desetina ploči (jedno PLD kolo zamjenjuje nekoliko desetina standardnih logičkih kola)
� Imaju inicijalno višu cjenu
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
Programabilne logička kola (PLD)
� Karakteristike logičkih struktura
� logički kapacitet (količina digitalne logike koju možemo projektovati na svaki PLD, tj. broj dvoulaznih NAND kola)NAND kola)
� logička gustina (logički kapacitet po jedinici površine u PLD)
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
Programabilna logička kola (PLD)
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
Programmable logic device (PLD) kao black box
Vrste PLD kola� SPLD (Simple Programmable Logic Devices)
� PROM (Programmable Read Only Memory)
� PLA (Programmable Logic Array)
� PAL (Programmable Array Logic)
� GAL (Generic Array Logic)
� CPLD (Complex Programmable Logic Devices)
� Povezivanje SPLD-ova ili blokova makroćelija programabilnim vezama razvijene složene programabilne logičke strukture – CPLD; više identičnih programabilnih logičkih blokova na jednom čipu
� FPGA (Field Programmable Gate Array)
� Lokalno programabilne sekvencijalne mreže
� Ima različitu strukturu od CPLD i SPLD kola
� Sadrži od nekoliko desetina do nekoliko hiljada logičkih gejtova grupisanih u logičke blokove
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
SPLD logička kola
� SPLD komponente imaju polje AND gejtova za formiranje logičkih proizvoda i polje OR gejtova za formiranje sume logičkih proizvoda.
� Između provodnih veza u AND i OR polju nalaze se programabilni prekidači.programabilni prekidači.� Svaka logička funkcija može da se predstavi kao suma
logičkih proizvoda
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
SPLD logička kola
FiksnaI kola
ProgramibilnaILI kola
PROM
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
ProgramibilnaI kola
FiksnaILI kola
ProgramibilnaI kola
ProgramibilnaILI kola
PAL
PLA
SPLD logička kola - PROM
� PROM komponente imaju neprogramabilno polje AND gejtova za formiranje logičkih proizvoda i logičkih proizvoda i programabilno polje OR gejtova za formiranje sume logičkih proizvoda.
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
SPLD logička kola - PLA
� PLA komponente imaju programabilno polje AND gejtova za formiranje logičkih proizvoda i logičkih proizvoda i programabilno polje OR gejtova za formiranje sume logičkih proizvoda
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
Generalna struktura PLA� PLA komponente-
programabilno polje AND gejtova + programabilno polje OR gejtovapolje OR gejtova
� Teže korektno fabrički dizajnirati PLA od PAL-a
� Smanjena perfomansa brzine implemenirana sa PLA.
� Skuplja od PAL.
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
PLA na nivou gejtovskog dijagrama
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
Opšta forma
Primjer realizacije logičke funkcije sa PLA:
PLA - primjer
Copyright: Lejla Banjanovic-MehmedovicProjektovanje logickih sistema
SPLD logička kola - PAL
� PAL komponente imaju programabilno polje AND gejtova za formiranje logičkih proizvoda i neprogramabilno proizvoda i neprogramabilno polje OR gejtova za formiranje sume logičkih proizvoda.
� Brži su od PLA.
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
Primjer PAL strukture
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
Ekstra kola dodata na OR-gate izlazeTermin makro-ćelijaPrimjer sa 3 ulaza i 2 izlaza
Primjer generisanja više različitih
funkcija sa jednim PAL IK
1
2
3
20
19
18
A
C
E D
VCC
B
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
3
4
5
6
7
8
9
10
18
17
16
15
14
13
12
11
E
F
H
I
K
L
N
GND
P
J
M
O
D
G
Primjer PAL logičkih kola
� Više programabilnih ćelija čini komponentu PAL
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
SPLD logička kola - GAL
� GAL komponente imaju programabilno polje AND gejtova za formiranje logičkih proizvoda i neprogramabilno proizvoda i neprogramabilno polje OR gejtova za formiranje sume logičkih proizvoda.
� Mogu da se programiraju više puta.
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
Složena programabilne logička kola
(CPLD)� Nastale usljed zahtjeva korisnika za većim stepenom
integracije u cilju poboljšanja performansi sistema.� Sadrže višestruke logičke blokove, od kojih je svaki
sličan osnovnoj strukturi PLD komponente
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
sličan osnovnoj strukturi PLD komponente� Logički blokovi su povezani posebnim signalima
usmjeravanja programabilnih međuveza
� Osnovne karakteristike� Potrebna je manja površina na ploči za realizaciju
sekvencijalnih mreža veće složenosti� Povećana pouzdanost� Manja cjena
CPLD logička kola
� Sastoje se od više SPLD logičkih kola koja su uzajamno povezana programabilnim vezama u jednom čipu.
PAL komponente:-programabilno polje AND gejtova i
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
gejtova i -neprogramabilno polje OR gejtova
CPLD logička kola
� PAL-like blocks
� Realan CPLD obično sadrži 16 makroćelija tipa PAL bloka, svaka sadrži 4-ulazni gejt (ili sadrži 4-ulazni gejt (ili 5-20 ulazni gejt).
� 3-state buffer –djeluje kao prekidač –omogućava da svaki pin bude ili ulaz ili izlaz iz CPLD (omogućen-izlaz, onemogućen –ulaz)
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
Logički blok
� Veličina logičkog bloka je mjera njegovog kapaciteta, odnosno prikazuje koliko logike se može realizovati u njemu
� U/I ćelije se posmatraju posebno od logičkog bloka
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
� Vrste međuveza između logičkih blokova� Zasnovane na matričnoj strukturi
� Moguće je formirati proizvoljne veze između makroćelija, po cjenu manje brzine
� Zasnovane na multiplekseru� Ograničene mogućnosti povezivanja makroćelija, ali zbog manjih
parazitnih kapicitivnosti moguće su veće brzine
Makroćelije
� Pored U/I makroćelija, koje postoje i u PLD komponentama, postoje i posebne makroćelije koje omogućavaju realizaciju sekvencijalne logike koja nije direktno povezana sa U/I pinovima.
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
direktno povezana sa U/I pinovima.
� Sadrže flip-flopove i blokove za kontrolu polariteta izlaznog signala.
� Moguća je konfiguracija tipa flip-flopa u makroćeliji (elementarni automati D i T tipa).
CPLD Altera MAX7000� Makroćelija ima strukturu kao PAL.
� LAB (Logic Array Block) ima 16 makroćelija.
� PIA (Programmable Interconnecton Array) je polje programabilnih uzajamnih veza. Primenjena je EEPROM tehnologija
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
Mjera kapaciteta logičkih kola
� Često korištena mjera –ukupan broj dvo-ulaznih NAND gates – broj ekvivalentnih gejtova.
� SPLD – 20 logičkih gejtova u svakoj makroćeliji
� PAL – 8-160� PAL – 8-160
� CPLD- 1000 -20.000
� FPGA >> više
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
FPGA
� FPGA (eng. Field-Programmable-Gate-Array ) programabilna matrica logičkih kola), slična CPLD
� Proizvođači: Xilinix, Altera� FPGA - ovi programabilni hardverski sistemi koriste � FPGA - ovi programabilni hardverski sistemi koriste
kombinacionu i sekvencijalnu logiku.
� Isporučuju se kao čipovi, koji se programiraju u jednom od HDL jezika (VHDL, Verilog). Programiranje se svodi na pregaranje osigurača –međuveza ili na njihovo kreiranje, u zavisnosti od korištenog kola.
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
Opšta struktura FPGA� Osnovni elementi FPGA kola:
� Logičke ćelije (tzv. Configurable Logic Block, CLB, ili Logic Array Block, LAB, zavisno od proizvođača)
� U/I ćelije
Kanali
usmeravanjaU/I ćelija
� U/I ćelije
� Kanali usmjeravanja
Logička ćelija
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
Pin grid array (PGA) package (bottom view)
Ball grid array (BGA) – kuglični pinovi
Struktura modernih FPGA
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
Logički blok u okviru FPGA kola
Copyright: Lejla Banjanovic-Mehmedovic
Logički blok = LUT + flip-flop
Projektovanje logickih sistema
2-ulazna lookup table (LUT)
3-ulazna LUT
FPGA (realizacija složenijih funkcija)
Logički blok
Copyright: Lejla Banjanovic-Mehmedovic
f = f1 + f2 = x1x2 + x2’x3.
Projektovanje logickih sistema
FPGA Altera EPF10K70
� Familija FLEX10K
� 70000 tipičnih gejtova (logička kola i RAM)
� 118000 sistemskih gejtovagejtova
� 468 LAB (Logic Array Block)
� 3744 LE (logički elementi)
� 9 EAB (Embeded Array Block)
� 358 IOE (I/O element)
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
FPGA Altera EPF10K70
� EAB (Embeded Array Block)
� Svaki EAB ima 2048 bita
� Pomoću ovih blokova � Pomoću ovih blokova mogu da se realizuju memorije RAM i ROM tipa, množači, mikrokontroleri, mašine stanja i DSP funkcije
� Konfigurišu se u toku programiranja
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
FPGA Altera EPF10K70
� LAB (Logic Array Block)
� Svaki od 468 LAB sadrži 8 logičkih elemenata (LE) i lokalnu magistralu za spregu sa LEsa LE
� LAB ima 96 logickih gejtova
� LAB za svaki LE obezbjeđuje 4 kontrolna signala u pozitivnoj i negativnom logici za takt, PRESET i CLEAR
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
Usporedbe projektovanja
a). Standardne logičke ćelije; b). FPGA
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic
a).
b).
FPGA� FPGA strukture se koriste u
projektovanju ugradbenih sistema (eng. Embedded system).
� Ugradbeni sistemi - sistemi koji integriraju hardver i softver za integriraju hardver i softver za obavljanje tačno određene funkcije.
� Primjena: � u automobilskoj industriji i
industrijskim primjenama
� u medicini, prepoznavanju govora, bioinformatici
� u telekomunikacijama i umrežavanju
Copyright: Lejla Banjanovic-MehmedovicProjektovanje logickih sistema
Sistemi na čipu � System on chip je tehnologija koja se koristi u malim sve složenijim
elektronskim uređajima. Takvi uređaji imaju više snage i memorije nego prosječni računar star 10 godina.
� SoC opremljen nano-robot (nano roboti mikroskopskih dimenzija).
� Soc video uređaji
� Soc audio uređaji mogu omogućiti gluhima da čuju� Soc audio uređaji mogu omogućiti gluhima da čuju
� CPS – umrežavanje embedded sistema: smart house, smart city, ...
Projektovanje logickih sistema Copyright: Lejla Banjanovic-Mehmedovic