Professional Documents
Culture Documents
04 PrimeriKombinaciona PDF
04 PrimeriKombinaciona PDF
4. PRIMERI
KOMBINACIONE
LOGIKE
dr Zoran Mitrović
8-mar.-07
1. Razumevanje problema
Šta kolo treba da radi?
Zapisati ulaze (podaci, kontrola) i izlaze
Nacrtati blok-dijagram ili drugu sliku
2. Formulisati problem korišćenjem pogodne
reprezentacije
Tipično kombinacionom tabelom ili vremenskim dijagramom
Može da zahteva kodiranje simboličkih ulaza i izlaza
3. Izabrati “metu” implementacije
ROM, PAL, PLA
Mux, dekoder i OR-gejt
Diskretni gejtovi
4. Slediti proceduru implementacije
K-mape za logiku u dva nivoa, više nivoa
Alati za razvoj i jezik za opis hardvera (npr., Verilog)
8-mar.-07 Merni instrumenti - Digitalna elektronika 3
Podsistem kalendara
implementaciju
case 10: return (31);
case 11: return (30);
da se pomogne
case 12: return (31);
default: return (0);
razumevanju problema
}
}
Kodiranje:
Binarni broj za mesec: 4 bits
mesec prest 28 29 30 31
4 žice za 28, 29, 30, i 31 0000 – – – – –
samo jedan je TRUE u 0001 – 0 0 0 1
jednom trenutku 0010 0 1 0 0 0
0010 1 0 1 0 0
0011 – 0 0 0 1
Blok dijagram (šema): 0100 – 0 0 1 0
mesec prest 0101 – 0 0 0 1
0110 – 0 0 1 0
0111 – 0 0 0 1
1000 – 0 0 0 1
1001 – 0 0 1 0
1010 – 0 0 0 1
1011 – 0 0 1 0
1100 – 0 0 0 1
1101 – – – – –
111– – – – – –
28 29 30 31
Razumevanje problema
Ulaz je 4-bitna BCD cifra (A, B, C, D)
Izlaz su kontrolni signali za displej (7 izlaza C0 – C6)
Blok dijagram c0
c5 c1
c6
c4 c2
c3
c0 c1 c2 c3 c4 c5 c6
BCD u 7–segment
dekoder signala
A B C D
Formalizacija problema
Kombinaciona tabela
Prikazati stanja nije-važno A B C D C0 C1 C2 C3 C4 C5 C6
0 0 0 0 1 1 1 1 1 1 0
Izabrati “metu” 0 0 0 1 0 1 1 0 0 0 0
implementacije 0 0 1 0 1 1 0 1 1 0 1
0 0 1 1 1 1 1 1 0 0 1
Ako je ROM, gotovo 0 1 0 0 0 1 1 0 0 1 1
Stanja nije-važno čine 0 1 0 1 1 0 1 1 0 1 1
PAL/PLA atraktivnim 0 1 1 0 1 0 1 1 1 1 1
0 1 1 1 1 1 1 0 0 0 0
Slediti proceduru 1 0 0 0 1 1 1 1 1 1 1
implementacije 1 0 0 1 1 1 1 0 0 1 1
1 0 1 – – – – – – – –
Minimizacija pomoću K-mapa
1 1 – – – – – – – – –
1 0 X 1 1 1 X 1 1 1 X 1 1 0 X 1 1 0 X 1
0 1 X 1 1 0 X 1 1 1 X 1 0 1 X 0 0 0 X 0
D D D D D
C 1 1 X X C 1 1 X X C 1 1 X X C 1 0 X X C 0 0 X X
1 1 X X 1 0 X X 0 1 X X 1 1 X X 1 1 X X
B B B B B
A A
1 1 X 1 0 1 X 1 C0 = A + B D + C + B' D'
0 1 X 1
D
0 1 X 1
D C1 = C' D' + C D + B'
C 0 0 X X C 1 0 X X C2 = B + C' + D
C3 = B' D' + C D' + B C' D + B' C
0 1 X X 1 1 X X
C4 = B' D' + C D'
B B C5 = A + C' D' + B D' + B C'
C6 = A + C D' + B C' + B' C
Može i bolje...
9 jedinstvenih “product termova” (umesto 15)
Izrazi se dele između izlaza
Nije obavezno da svaki izlaz bude u minimizovanoj formi
A A
C2 1 1 X 1
C2 1 1 X 1
1 1 X 1 1 1 X 1
D D
C 1 1 X X C 1 1 X X
0 1 X X 0 1 X X
B B
BC'
B'C
B'D
BC'D
C'D'
CD
B'D'
A
BCD'
C0 C1 C2 C3 C4 C5 C6 C7
PAL implementacija
Skica problema
Pozicioniranje senzora
A do B raspon = specifikacija – 5%
A do C raspon = specifikacija + 5%
spec
- 5%
spec
Predugo Unutar Prekratko + 5%
spec.
B
C
Kombinaciona tabela
Prikazati stanja nije-važno
“predugo" = A B C
(sva tri senzora su aktivna)
Aritmetička kola
–7 +7
–8 +7
8-mar.-07 Merni instrumenti - Digitalna elektronika 23
4
Primer: drugi komplement broja –7 2 = 10000
oduzmi –7 = 1001
0111 = prikaz broja 7
4 0100 –4 1100
–3 1101 +3 0011
1 10001 –1 1111
Uslovi prekoračenja
Sabiranjem dva pozitivna broja dobija se negativan broj
Sabiranjem dva negativna broja dobija se pozitivan broj
–1 +0 –1 +0
–2 +1 –2 +1
1111 0000 1111 0000
–3 1110 0001 –3 1110 0001
+2 +2
1101 0010 1101 0010
–4 –4
1100 0011 +3 1100 0011 +3
–8 +7 –8 +7
5 + 3 = –8 –7 – 2 = +7
8-mar.-07 Merni instrumenti - Digitalna elektronika 27
Uslovi prekoračenja
2 XOR, 2 AND, 2 OR A
B
Cin
Cout
A
B
A B A B A B A B
Saberi'
Cout Cin Cout Cin Cout Cin Cout Cin
Oduzmi
Sum Sum Sum Sum
S3 S2 S1 S0
Prekoračenje
8-mar.-07 Merni instrumenti - Digitalna elektronika 31
Kritično kašnjenje
Propagacija signala prenosa od nižih ka višim stepenima
Cin
4 – stepeni
@0 A @1 @N+1 sabirač
@0 B A0 S0 @2
@N Cin B0 C1 @2
Cout
@N+2
@0 A
@0 B @1 A1 S1 @3
B1 C2 @4
signal koji dva kašnjenja gejta
kasno stigne da se izračuna Cout A2 S2 @5
B2 C3 @6
A3 S3 @7
B3 Cout @8
Kritično kašnjenje
Propagacija signala prenosa od nižih ka višim stepenima
1111 + 0001 je najgori slučaj
Signal prenosa mora da propagira kroz sve bite
T0 T2 T4 T6 T8
Ci+1 = Ai Bi + Ai Ci + Bi Ci
= Ai Bi + Ci (Ai + Bi)
= Ai Bi + Ci (Ai xor Bi)
= Gi + Ci Pi
Ci Si @ 2 kašnjenja gejta
C0 C0 C0
P0 C1 P0 P0
G0 P1 P1
P2 P2
G0 P3
C0 P1 G0
P0 P2 P1
P1 P2
G1 C3 P3
G0 P2 G1
P1 C2
P2
G2 P3
G1 C4
G2
P3
G3
8-mar.-07 Merni instrumenti - Digitalna elektronika 36
Implementacija logike za predviđanje signala
prenosa (nastavak)
Logika za predviđanje signala prenosa generiše pojedinačne
signale prenosa
Sume se računaju brže paralelno
Međutim, cena logike za prenos se povećava sa brojem stepeni
Cin
Cin
A0 S0 @2
A0 S0 @2 B0
B0 C1 @2
C1 @3
A1 S1 @4
A1 S1 @3 B1
B1 C2 @4
C2 @3
A2 S2 @4
A2 S2 @5 B2
B2 C3 @6
C3 @3
A3 S3 @4
A3 S3 @7 B3
B3 Cout @8
C4 @3 C4 @3
8-mar.-07 Merni instrumenti - Digitalna elektronika 37
4 4 4 4 4 4 4 4
C8 4-bit sabirač 0
[7:4] sabirač
low
C8 S7 S6 S5 S4 S3 S2 S1 S0
8-mar.-07 Merni instrumenti - Digitalna elektronika 39
12 gejtova
ostali gejtovi
za M=0 (logičke operacije, Ci se ne koristi)
A3 A4
Fi = S1 Bi xor (S0 xor Ai)
= S1'S0' ( Ai ) + S1'S0 ( Ai' ) +
S1 S0' ( Ai Bi' + Ai' Bi ) + S1 S0 ( Ai' Bi' + Ai Bi )
za M=1 (aritmetičke operacije)
Fi = S1 Bi xor ( ( S0 xor Ai ) xor Ci ) =
X3
O1 Ci+1 = Ci (S0 xor Ai) + S1 Bi ( (S0 xor Ai) xor Ci ) =