Professional Documents
Culture Documents
DL11 19-20 PDF
DL11 19-20 PDF
DL11 19-20 PDF
Programirljivi moduli
Sadržaj predavanja
• koncept programirljivih modula
• permanentna memorija
• programirljivo logičko polje
• poluprogramirljivo logičko polje
• složeni programirljivi moduli
• programirljivo polje logičkih blokova
• programirljivi moduli
~ "programirljive naprave", PLD
(engl. Programmable Logic Devices):
• ostvarivanje složenije funkcije koja
nije unaprijed određena
~ moduli opće namjene
• mogućnost naknadnog "programiranja"
~ konfiguriranje sklopa u smislu određivanja
"izvana opazivog ponašanja":
• u posebnim uređajima
• unutar uređaja u kojem se modul koristi
An-1 O2n -1
wb-1 w1w0
R
+U
A +U +U
B R
A.B.C = p1 R R
C "šine"
A (engl. rails)
+U B
A.B.C = p1 A
C
R
+U B
D
D.E = p2 R C
E
D A.B.C D
+D.E
p1 E
p1+p2 E
D.E = p2
p2 R
A.B.C
R
+D.E
R A.B.C D.E
A1
O1 KODER
A0 A1 A0 = 00 Þ D1 D0 = 11 = 310
O0 A1 A0 = 01 Þ D1 D0 = 01 = 110
A1 A0 = 10 Þ D1 D0 = 00 = 010
A1 A0 = 11 Þ D1 D0 = 10 = 210
D1 D0
izrađuje po narudžbi
i sadrži potrebne veze riječ i
• ta ~ 100 ns
riječ (i+1)
riječ (i+2)
topljivi "osigurači"
rastale se uz
narinutu jaču struju
S D
n+ n+
p supstrat
O3
riječ A2 A1 A0 D3 D2 D1 D0 O4
0 0 0 0 0 1 0 1
1 0 0 1 0 0 1 1 O5
2 0 1 0 1 0 0 0
O6
3 0 1 1 1 1 0 1
4 1 0 0 0 1 1 0 O7
5 1 0 1 1 0 0 1
6 1 1 0 1 0 1 0
7 1 1 1 0 1 1 0
D3 D2 D1 D0
dekoder
O0 koder
A2 A1 A0
O1
O2
O3
O4
O5
O6
O7 D3 D2 D1 D0
D3 D2 D1 D0
FER-Zagreb, Digitalna logika 2019/20 21
Karakteristične primjene
• primjena ROM:
• pohranjivanje značajnih podataka važnih za rad
cjelokupnog digitalnog sustava (npr. računalo)
• pohranjivanje sustavskih programa
• upravljačka memorija kod mikroprogramiranja
~ posebna izvedba upravljačke jedinice procesora
• pretvorba koda
~ naročito generatori znakova za rasterske prikaze
(zasloni, matrični pisači)
• aritmetički sklopovi:
~ izvedbe tablica posebnih funkcija
(npr. trigonometrijske)
• problem
~ ROM je sporiji, jer ima više razina logike
FER-Zagreb, Digitalna logika 2019/20 22
Karakteristične primjene
A15 ... A0
ROM 64K x 16
P15 P14 P13 P12 P3 P2 P1 P0
å å å 0
bitovi
0...3
4 4
å å 0
4 4 4
p15...p12 p11...p8 p7...p4 p3...p0
• svaki izlaz
~ jedna logička funkcija
• sve funkcije
~ višeizlazna funkcija
• ROM
~ generator funkcija D3 D2 D1 D0
f i ( A2 , A1 , A0 ) = Di 0£i£3 f 0 = å m(0,1,3,5)
f1 = å m(1,4,6,7)
f 2 = å m(0,3,4,7)
f 3 = å m(2,3,5,6)
0
1 0
2 B A1 1
A A2 C A0 2
3
B A1 3
4
C A0
5
6
7
I1 I0
A A0
f(A, B, C)
f(A, B, C)
FER-Zagreb, Digitalna logika 2019/20 29
Generiranje Booleovih funkcija
• raspodijeljeno dekodiranje ROMa: 0
1
2
A A2
• dekoder B
C
A1
A0
3
4
5
• MUX + netrivijalne rezidualne funkcije 6
7
0/1 0/1 0
C B A1 1
C A0 2
A2 I7 I6 I5 I4 I3 I2 I1 I0
A
A1 A A1 I0 I1 I2 I3 3
B B A0
C A0
f(A, B, C)
f(A, B, C)
I1 I0
A A0
f(A, B, C)
FER-Zagreb, Digitalna logika 2019/20 30
Generiranje Booleovih funkcija
0
1
2
A A2
3
B A1
4
C A0
5
6
7
npr. f ( A, B, C ) B
0
A1 1
C A0 2
f ( A, B, C ) = f ( A, B, C )
3
f ( A, B, C ) = f (0, B, C ) × A + f (1, B, C ) × A A A0
I1 I0
+ f (1,0, C ) × A × B + f (1,1, C ) × A × B
f ( A, B, C ) = f (0,0,0) × A × B × C + f (0,0,1) × A × B × C
C
A A1 I0 I1 I2 I3
B A0
+ f (1,0,0) × A × B × C + f (1,0,1) × A × B × C
0/1 0/1
+ f (1,1,0) × A × B × C + f (1,1,1) × A × B × C A
B
A2 I7 I6 I5 I4 I3 I2 I1 I0
A1
C A0
f(A, B, C)
FER-Zagreb, Digitalna logika 2019/20 31
Generiranje Booleovih funkcija
• parcijalne funkcije kod Shannonove ekspanzije
u kojima je neki od literala fiksiran (0 ili 1)
~ kofaktori, rezidui (ostaci), rezidualne funkcije
npr. j 3 (C ), j 2 (C ), j1 (C ), j 0 (C )
f ( A, B, C ) = f (0,0, C ) × A × B + f (0,1, C ) × A × B
+ f (1,0, C ) × A × B + f (1,1, C ) × A × B
j 0 (C ) = f (0,0, C )
j1 (C ) = f (0,1, C )
j 2 (C ) = f (1,0, C )
j 3 (C ) = f (1,1, C )
0 0 0 0 0 0 0 Bi A1 ROM
0 0 1 1 0 1 1 Ci-1 A0 8x4
0 1 0 1 0 1 1 D3 D2 D1 D0
0 1 1 0 1 0 1
1 0 0 1 0 1 0 A0
1 0 1
A0
0
1 0 1 0 1 0 0
1 1 0 0 1 0 0 K
1 1 1 1 1 1 1 Si/Di Ci/Zi
0 1 1 0 1 0 0 1 0 0 0 1 0 1 1 1
A0 I0 I1 I2 I3 I4 I5 I6 I7 A0 I0 I1 I2 I3 I4 I5 I6 I7
A1 A1
A2 A2
Ci-1
Bi
Ai
K
Si/Di Ci/Zi
• izvedba PLA:
• odvojni sklopovi na ulazu
~ generiranje xi , xi , "i
• tipični parametri:
n x k x m = 16 x 32 x 8
n = broj ulaza
k = broj produkata
m = broj izlaza
xn-1
xn-1
dekoder
Izlazni
dekoder stupanj
y0
y0
y0
y0
y1
y1
y1 b
y1
yb -1 yb -1
yb -1
koder yb -1
koder
f1 = S1 + S 2 + S3
= S1 × S 2 × S3
( )(
= ( x1 + x3 ) × x1 + x2 × x1 + x2 + x3 )
f 2 = S 2 + S 4 + S5
= S 2 × S 4 × S5
( )( )(
= x1 + x2 × x1 + x3 × x1 + x2 )
f1 = P1 + P2 + P3
= x1 × x2 + x1 × x3 + x1 × x2 × x3
f 2 = P1 + P4
= x1 × x2 + x1 × x2 × x3
f1 = AB + BC = AB + ABC C
f0(A,B,C) AB
00 01 11 10 f0
C 0 1 f1
1 1 1
f1(A,B,C) AB
00 01 11 10 A
C 0 1 1 B
1 1 C
f0
f1
• f1 ( A, B, C , D, E ) = å m(0,1,2,3,6,7,20,21,26,27,28)
f 2 ( A, B, C , D, E ) = å m(0,1,6,7,14,15,16,17,19,20,24,27)
f 3 ( A, B, C , D, E ) = å m(0,1,2,3,8,9,16,20,26,28,30)
FER-Zagreb, Digitalna logika 2019/20 46
Sadržaj predavanja
• koncept programirljivih modula
• permanentna memorija
• programirljivo logičko polje
• poluprogramirljivo logičko polje
• funkcionalnost i struktura
• generiranje Booleovih funkcija
• složeni programirljivi moduli
• programirljivo polje logičkih blokova
f1 = P1 + P2 + P3
= x1 × x2 + x1 × x3 + x1 × x2 × x3
f 2 = P4 + P5
= x1 × x2 + x1 × x2 × x3
f1
FER-Zagreb, Digitalna logika 2019/20 52
Generiranje Booleovih funkcija Ai Bi Ci-1 Si Ci Di Zi
0 0 0 0 0 0 0
0 0 1 1 0 1 1
• potrebne su 0 1 0 1 0 1 1
četiri makroćelije (zašto?) 0
1
1
0
1
0
0
1
1
0
0
1
1
0
1 0 1 0 1 0 0
1 1 0 0 1 0 0
1 1 1 1 1 1 1
Zi
Ci
K
Ci-1
Bi
Ai
Ci Zi
Si/Di FER-Zagreb, Digitalna logika 2019/20 Ci/Zi 53
Sadržaj predavanja
• koncept programirljivih modula
• permanentna memorija
• programirljivo logičko polje
• poluprogramirljivo logičko polje
• složeni programirljivi moduli
• programirljivo polje logičkih blokova
povezivanje
logičkih blokova
povezivanje
horizontale
i vertikale
x1 x2 f
0 0 a0
0 1 a1
1 0 a2
1 1 a3
x1 x2 f
0 0 1
0 1 0
1 0 0
1 1 1
f1 = x1 × x2 + x1 × x 2
f1 = x1 × x2
f 2 = x2 × x3
f = f1 + f 2
= x1 × x2 + x2 × x3
Primjer : f ( A, B, C ) = B × C + B × C + A × C
• ostvarenje LUTom s 3 ulaza
~ standardno "programiranje" multipleksora:
smjer punjenja
ćelija
(upisivanja sadržaja)
f(A,B,C) AB
00 01 11 10
A a2 1
C 0 1 1 B a1 0
1 1 1 1 C a0 0
1
y f
1
f ( A, B, C ) = å (0,3,4,5,7 ) 1
0
1
B a1 1
C a0 0 f1
y
0
a1 0
1
a0 1 f
y
1
A a1 0 1
a0 0 f2
y
0
1
Primjer : f = ? A a1 0
f11
a1 0
f12
B a0 1 a0 1
y y
1 1
0 0
a1 1 a1 1
C a0 1 f21 a0 0 f
y y
1 1
0 1
f11 ( A, B) = A Å B
f 21 ( B, C ) = BC
f12 ( f11 , f 21 ) = f11 Å f 21 = A Å B Å BC
f ( f12 , C ) = f12 + C = A Å B Å BC + C = A Å B Å ( B + C ) + C
f =A
B+C