6/9/2014
Programabilne logičke strukture
(ROM, PLA, PDA, LUT, FPGA) Vanr.prof.dr.Lejla Banjanović‐
Mehmedović
Digitalni sistemi
 Savremeni digitalni sistemi sadrže tri osnovne vrste komponenti:
 Mikroprocesore
 Memorije
 Logičke komponente
PLS_12
Programabilne logičke strukture
1
6/9/2014
Digitalni sistemi
 Mikroprocesori
p
‐p
pribavljaju i izvršavaju softverske j j
j
instrukcije, čitaju i upisuju u memoriju.
 Memorija – dio računarskog sistema u kojoj se smještaju programi i podaci. Memorije su po prirodi sekvencijalne mreže kod kojih se upravljanje realizuje kombinacionim mrežama.
 Logičke komponente
Logičke komponente‐ obezbjeđuju specifične funkcije (povezivanje uređaja, komunikaciju, procesiranje signala, prikazivanje podataka, kontrolne operacije...)
PLS_12
Programabilne logičke strukture
Logičke komponente
 Logičke komponente:
g
p
 Fiksne – neprogramabilni (stalni), jednom fabrički proizvedeni, ne mogu biti promjenjeni. Izvršavaju jednu ili skup funkcija. Fiksni programi i komponente se najčešće smještaju u ROM.
 Programabilne logičke komponente – konfigurišu se j
,
p
j
j
korištenjem maske, na osnovu specifikacije sadržaja proizvođača ili korisnika


PLS_12
Programabilne logičke komponente (PLD ‐ Programmable Logic Device)
Lokalno programabilne komponente (FPD – Field‐
Programmable Device)
Programabilne logičke strukture
2
6/9/2014
Memorije
 Memorije su digitalna kola koja služe za trajno ili j
g
j
j
privremeno pamćenje velike količine podataka.
 Najvažniji parametri memorijskih kola, pored vrijednosti napona napajanja i logičkih nivoa, su kapacitet (broj memorijskih ćelija) i brzina (upis, čitanje i brisanje).
 RAM
 ROM
 EPROM
 EEPROM
 Flash memorije
PLS_12
Programabilne logičke strukture
Memorije
 ROM – proces proizvodnje integrisanog kola traži popunjenu k b
kombinacionu tablicu
bl
 PROM (Programmable Read Only Memory) dovođenjem strujnog impulsa na odgovarajuću lokaciju se prekidaju fabrički spojevi.
Ponovno programiranje nije moguće
 EPROM (Erasable PROM) moguć je povratak u početno stanje
 UVPROM – brisanje kompletnog sadržaja izlaganjem integrisanog brisanje kompletnog sadržaja i laganjem integrisanog kola ultravioletnoj svetlosti
 E2PROM – električki izbrisivi PROM, moguće je brisanje i reprogramiranje svake lokacije pojedinačno
 Pre upisa novih podataka u EPROM stara informacija se mora prethodno obrisati
PLS_12
Programabilne logičke strukture
3
6/9/2014
ROM
 Napredak poluprovodničke tehnologije dovodi do učestalije upotrebe ROM memorije iz sledećih razloga:
 Gustina pakovanja ROM je nekoliko puta veća nego memorija sa G
k
O
k lk
slučajnim pristupom (RAM). Realizacija je manje složena, što rezultuje u nekoliko puta nižoj cjeni (oko 4‐8 puta).
 Programibilne komponente su regularne i ponavljaju se, čime se na njihovo crtanje i štampu troši manje vremena nego kod kombinacionih mreža sa logičkim kolima.
 Logička šema ROM potpuno nezavisna od informacije koja će biti u nju smeštena, promjene informacije mogu da se lako unose.
 Zbog regularnosti i ponovljivosti osnovnih elemenata ROM, lako se ispituje smještena informacija  Glavni nedostatak ROM‐a u odnosu na kombinacione mreže sa logičkim kolima je njihova manja brzina!
PLS_12
Programabilne logičke strukture
ROM
 ROM ROM ‐ Read Only Memory
 Kao univerzalni, programabilni logički element
 Kao memorija za permanentno čuvanje informacija
 Kaskadne veze dekodera i kodera.  Dekoder vrši dekodiranje vrijednosti ulaznih adresnih linija a koder formira odgovarajuće izlazne vrijednosti.
PLS_12
Programabilne logičke strukture
4
6/9/2014
Logička osnova stalne memorije
 Stalna memorija ili memorija sa samoočitavanjem (ROM) 2n x m, je programibilna kombinaciona mreža koja realizuje m prekidačkih funkcija od n promenljivih.  U tom smislu ova kombinaciona mreža može da se posmatra kao tabela od 2n vrsta i m kolona binarnih elemenata koji realizuju kombinacionu tablicu m
l
t k ji li j k bi
i
t bli bulovih funkcija od n promjenljivih.  n promenljivih na ulazu su adrese, koje biraju pojedinačne vrste koje se pojavljuju na j‐tom izlazu
PLS_12
Programabilne logičke strukture
Programabilni simboli
A
B
C
D
PLS_12
Programabilne logičke strukture
5
6/9/2014
Ilustracija ROM kućišta
Vpp
Vss
Vcc
+5V
programirani
napon
A0 - AN
adresa
podaci
CE*
OE*
I0 - I7
dozvola
Vpp
dozvola
1
2
3
4
5
6
7
8
9
10
11
12
Vcc
+5V
UV EPROM
A7
A6
A5
A4
A3
A2
A1
A0
O0
O1
O2
GND
Vss
A0 24
23
22
21
20
19
18
17
16
15
14
13
Vcc
A8
A9
A11
OE*/Vp
A10
CE*
O7
O6
O5
O4
O3
CE*
OE*
WE*
adresa
podaci
dozvola
dozvola
I0 - I7
pripravan /
zauzet
dozvola upisa
E2PROM
2732A
(4K x 8)
PLS_12
Programabilne logičke strukture
ROM ‐
struktura
U svakom presjeku ILI matrice nalazi se prekidač koji se 
programiranjem može otvoriti/zatvoriti
Može da realizuje
4 proizvoljne
funkcije
4 promenljive
Promjenljive
ILI matrica
(sumiranje
logičkih
proizvoda)
Generator
minterma
(potpunih
proizvoda)
PLS_12
Programabilne logičke strukture
6
6/9/2014
ROM ‐ primjer
PLS_12
Programabilne logičke strukture
Realizacija Bulove funkcije pomoću ROM‐a
X0
X1
X0
2 x4
D
X1
F1
F2
a)
PLS_12
2x 4
D
b)
F1
F2
Programabilne logičke strukture
7
6/9/2014
Primjer korišćenja ROM‐a
Memorija sa funkcionalnošću polu‐sabirača
l
bi č
PLS_12
Memorija sa funkcionalnošću 4‐bitnog sabirača
Programabilne logičke strukture
Primjer korišćenja ROM‐a
 Translacija 7‐bitnog u 8‐bitni kod
 Funkcionalnost ALU
PLS_12
 Temperaturni transmiter
Programabilne logičke strukture
8
6/9/2014
Programabilne logičke strukture

O
j
Ove mreže se klasifikuju u
 Mreže sa Programibilnom Tabličnom Logikom
(PAL ‐ Programmable Array Logic) 
PLS_12
Programibilne Logičke Strukture
(PLA ‐ Programmable Logic Array)
Fiksna
I kola
Programibilna
ILI kola
PROM
Programibilna
I kola
Fiksna
ILI kola
PAL
Programibilna
I kola
Programibilna
ILI kola
PLA
Programabilne logičke strukture
Mreže sa programabilnom tabličnom logikom – PAL
X3
X2
X1
X0
 Ukoliko se tablica ulaza ILI kola definiše kao stalna (sa stalnim vezama izlaza iz I kola), a tablica ulaza u I kola učini programibilnom, doći će se do komplementarne strukture strukturi PROM mreža.  Ovim mrežama se omogućava korišćenje prostih PROM programera, a zadržava relativno malo kašnjenje signala
Y3 Y2 Y1 Y0
PLS_12
Programabilne logičke strukture
9
6/9/2014
Primjer generisanja više različitih funkcija sa jednim PAL IK
A
1
C
2
E
3
F
4
H
5
I
6
K
7
L
8
N
9
GND 10
PLS_12
20 VCC
19 B
18 D
17 G
16 J
15 M
14 P
13
12
11 O
Programabilne logičke strukture
Integrisano kolo PAL 16L8
• 16 ulaznih
priključaka
povezanih
na ukupno
64 I kola
Povratna
sprega
• 8 izlaznih
priključaka
iklj č k
PLS_12
Programabilne logičke strukture
10
6/9/2014
Programabilne logičke strukture
PLA
nxk
ULAZ
n
nxk
m - SPOJEVA
K
PROIZVODA
(I)
kxm
SPOJEVA
M - SUMA
PROIZVODA
( ILI )
m - IZLAZA
 PLA se sastoji od  n ulaza,  m izlaza,  k proizvoda ulaznih promenljivih i  m disjunkcija. 




Članovi u vidu proizvoda sastoje se od grupe od k I kola Članovi u vidu zbira sastoje se od m ILI kola. Između svih n ulaza i njihovih komplemenata postoje spojevi ka I kolima. Na sličan način postoje spojevi između izlaza I kola i ulaza u ILI kola. Skup spojeva nad izlaznim NE elementom omogućava generisanje izlazne funkcije bilo u obliku I ‐ ILI, bilo u obliku I ‐ ILI ‐ NE
PLS_12
Programabilne logičke strukture
A3
PLA
A2
A1
A0
ILI matica
Za sumiranje
logičkih
proizvoda
OR
polje
 PLA ‐
PLA Programmable Logic 0
Array (programabilno logičko polje)
1
2
3
4
I matrica
Za formiranje
logičkih
proizvoda
5
6
7
Izlazno
polje
AND
polje
Za
komplementiranje
izlazne funkcije
PLS_12
Programabilne logičke strukture
0 1
F3
F2
F1
F0
11
6/9/2014
PLA ‐ primjer
PLS_12
Programabilne logičke strukture
Šta slijedi...
Programabilne
sekvencijalne mreže
PLS_12
Programabilne logičke strukture
12
6/9/2014
Klasifikacija
 Jednostavne programabilne logičke strukture SPLD (eng. Simple Programmable Logic Device):
 PLA i PAL
 Elementarne programabilne logičke komponente
(PLD – Programmable Logic Devices)
 Složene logičke komponente
(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

 Lokalno programabilne sekvencijalne mreže
(FPGA ‐ Field Programmable Gate Arrays)
PLS_12
Programabilne logičke strukture
Složene programabilne logičke strukture
 Karakteristike logičkih struktura  logički kapacitet (količina digitalne logike koju možemo projektovati na svaki PLD, tj. broj dvoulaznih NAND kola)
 logička gustina (logički kapacitet po jedinici površine u PLD)
PLS_12
Programabilne logičke strukture
13
6/9/2014
Primjer PLD komponente:
Integrisano kolo PAL 16R8
 Nastale N
l proširivanjem PAL mreža sa memorijskim elementima na izlazu
PLS_12
Programabilne logičke strukture
Struktura elementarne programabilne logičke komponente
 Opštu strukturu PLD‐a čine
 Logička matrica
(kombinaciona mreža za formiranje logičkih proizvoda)
 Makroćelije
 Prilagodne sprežne komponente (baferi) na ulazu i izlazu
VSS
I
I
I
CP/I
12
11
10
2
1
LOGIČKA MATRICA - Proizvodi
n
n
n
MC
MC
MC
Reset
13
I
PLS_12
Preset
14
15
23
24
I/O
I/O
I/O
VCC
Programabilne logičke strukture
14
6/9/2014
Šema tipične makroćelije
AR
D
IZLAZNI
MUX
Q
CP
Q
S0
S1
SP
ULAZNI
MUX
POVR.
SPREGE
S1
C1
C0
PLS_12
MAKROĆELIJA
Programabilne logičke strukture
Složene programabilne logičke komponente – CPLD
 Nastale usljed zahtjeva korisnika za većim stepenom j
j
p
integracije u cilju poboljšanja performansi sistema
 Sadrže višestruke logičke blokove, od kojih je svaki 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
PLS_12
Programabilne logičke strukture
15
6/9/2014
Logički
blok
Logički
blok
Logički
blok
Logički
blok
Logički
blok
Logički
blok
U/I
Logički
blok
Programibilne
međuveze
U/I
Struktura tipične CPLD komponente
Logički
blok
Mcell
PI
PLS_12
Matrica
Logičkih
proizvod
Distributor
članova
proizvoda
Makroćelije
U/I
ćelije
Programabilne logičke strukture
Logički blok
 Sadrži tipično od 4 do 20 makroćelija
p
4
j
 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
 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

PLS_12
Ograničene mogućnosti povezivanja makroćelija, ali zbog manjih parazitnih kapicitivnosti moguće su veće brzine
Programabilne logičke strukture
16
6/9/2014
Makroćelije
 Sadrže flip‐flopove i blokove za kontrolu polariteta Sadrže flip flopove i blokove za kontrolu polariteta izlaznog signala
 Moguća je konfiguracija tipa flip‐flopa u makroćeliji između elementarnih automata D i T tipa
 Pored U/I makroćelija, koje postoje i u PLD komponentama, postoje i posebne ulazne makroćelije kao i “zatrpane” makroćelije koje omogućuju realizaciju sekvencijalne logike koja nije direktno povezana sa U/I pinovima
PLS_12
Programabilne logičke strukture
FPGA
 FPGA (eng. Field‐Programmable‐
Gate‐Array ) programabilna G
A
) bil matrica logičkih kola ), slična CPLD
 Proizvođači: Xilinix, Altera
 Primjena:  u telekomunikacijama i umrežavanju
 u automobilskoj industriji i industrijskim primjenama
 u medicini, prepoznavanju govora, bioinformatici
PLS_12
Programabilne logičke strukture
17
6/9/2014
Opšta struktura FPGA
Kanali
usmeravanja
U/I ćelija
 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 usmjeravanja
Logička ćelija
PLS_12
Programabilne logičke strukture
FPGA arhitektura
Lokacija pinova na
logičkom bloku
PLS_12
Programabilne logičke strukture
18
6/9/2014
Struktura modernih FPGA
PLS_12
Programabilne logičke strukture
LUT – primjena kod FPGA kola (logički blok)
 Logički blok = LUT + flip‐flop
Logički blok = LUT + flip flop
PLS_12
Programabilne logičke strukture
19
6/9/2014
FPGA (realizacija složenijih funkcija)
Logički
blok
f = f1 + f2 = x1x2 + x2’x3.
PLS_12
Programabilne logičke strukture
FPGA
 FPGA strukture se koriste u projektovanju ugradbenih sistema (eng. Embedded system).
 Ugradbeni sistemi ‐ sistemi koji integriraju hardver i softver za obavljanje tačno određene funkcije.
 FPGA ‐ ovi programabilni hardverski sistemi koriste kombinacionu i sekvencijalnu logiku.
 Isporučuju se kao čipovi, koji se programiraju u jednom od HDL jezika (obično VHDL). Programiranje se svodi na pregaranje osigurača – međuveza ili na njihovo kreiranje, u zavisnosti od korištenog kola. PLS_12
Programabilne logičke strukture
20
Download

Digitalni sistemi - Vanr.prof.dr. Lejla Banjanović