4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti -...
Transcript of 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti -...
8-mar.-07
FTN Novi SadMerni instrumenti - Digitalna elektronika
4. PRIMERI KOMBINACIONE
LOGIKEdr Zoran Mitrović
8-mar.-07 Merni instrumenti - Digitalna elektronika 2
Primeri kombinacione logike
Opšta procedura razvojaPrimeri
Podsistem kalendaraKontroler displeja BCD u 7-segment Kontroler procesne linijeLogička funkcijska jedinica
Aritmetička kolaPredstavljanje prirodnih brojevaSabiranje/oduzimanjeAritmetičko/logička jedinica
8-mar.-07 Merni instrumenti - Digitalna elektronika 3
Opšta procedura razvoja kombinacione logike
1. Razumevanje problemaŠta kolo treba da radi?Zapisati ulaze (podaci, kontrola) i izlazeNacrtati blok-dijagram ili drugu sliku
2. Formulisati problem korišćenjem pogodne reprezentacije
Tipično kombinacionom tabelom ili vremenskim dijagramomMože da zahteva kodiranje simboličkih ulaza i izlaza
3. Izabrati “metu” implementacijeROM, PAL, PLAMux, dekoder i OR-gejtDiskretni gejtovi
4. Slediti proceduru implementacijeK-mape za logiku u dva nivoa, više nivoaAlati za razvoj i jezik za opis hardvera (npr., Verilog)
8-mar.-07 Merni instrumenti - Digitalna elektronika 4
integer number_of_days ( month, leap_year_flag) {switch (month) {
case 1: return (31);case 2: if (leap_year_flag == 1)
then return (29)else return (28);
case 3: return (31);case 4: return (30);case 5: return (31);case 6: return (30);case 7: return (31);case 8: return (31);case 9: return (30);case 10: return (31);case 11: return (30);case 12: return (31);default: return (0);
}}
Podsistem kalendara
Utvditi broj dana u mesecu (za kontrolu displeja sata)Koriste se za kontroludispleja LCD ekrana naručnom časovniku
Ulazi: mesec, indikator prestupne godineIzlazi: broj dana
Koristiti softverskuimplementacijuda se pomogne razumevanju problema
8-mar.-07 Merni instrumenti - Digitalna elektronika 5
prestmesec
28 29 30 31
mesec prest 28 29 30 310000 – – – – –0001 – 0 0 0 10010 0 1 0 0 00010 1 0 1 0 00011 – 0 0 0 10100 – 0 0 1 00101 – 0 0 0 10110 – 0 0 1 00111 – 0 0 0 11000 – 0 0 0 11001 – 0 0 1 01010 – 0 0 0 11011 – 0 0 1 01100 – 0 0 0 11101 – – – – –111– – – – – –
Formalizovati problem
Kodiranje:Binarni broj za mesec: 4 bits4 žice za 28, 29, 30, i 31samo jedan je TRUE u jednom trenutku
Blok dijagram (šema):
8-mar.-07 Merni instrumenti - Digitalna elektronika 6
mesec prest 28 29 30 310000 – – – – –0001 – 0 0 0 10010 0 1 0 0 00010 1 0 1 0 00011 – 0 0 0 10100 – 0 0 1 00101 – 0 0 0 10110 – 0 0 1 00111 – 0 0 0 11000 – 0 0 0 11001 – 0 0 1 01010 – 0 0 0 11011 – 0 0 1 01100 – 0 0 0 11101 – – – – –111– – – – – –
Izabrati “metu” implementacije i uraditi mapiranje
Diskretni gejtovi
28 =
29 =
30 =
31 =
Može se prevesti u zbir proizvoda ili u proizvod zbirova
m8’ m4’ m2 m1’ leap’
m8’ m4’ m2 m1’ leap
m8’ m4 m1’ + m8 m1
m8’ m1 + m8 m1’
8-mar.-07 Merni instrumenti - Digitalna elektronika 7
BCD u 7–segmentdekoder signala
c0 c1 c2 c3 c4 c5 c6
A B C D
Displej kontroler BCD u 7-segment
Razumevanje problemaUlaz je 4-bitna BCD cifra (A, B, C, D)Izlaz su kontrolni signali za displej (7 izlaza C0 – C6)
Blok dijagramc1c5
c2c4 c6
c0
c3
8-mar.-07 Merni instrumenti - Digitalna elektronika 8
A B C D C0 C1 C2 C3 C4 C5 C60 0 0 0 1 1 1 1 1 1 00 0 0 1 0 1 1 0 0 0 00 0 1 0 1 1 0 1 1 0 10 0 1 1 1 1 1 1 0 0 10 1 0 0 0 1 1 0 0 1 10 1 0 1 1 0 1 1 0 1 10 1 1 0 1 0 1 1 1 1 10 1 1 1 1 1 1 0 0 0 01 0 0 0 1 1 1 1 1 1 11 0 0 1 1 1 1 0 0 1 11 0 1 – – – – – – – –1 1 – – – – – – – – –
Formalizacija problema
Kombinaciona tabelaPrikazati stanja nije-važno
Izabrati “metu”implementacije
Ako je ROM, gotovoStanja nije-važno činePAL/PLA atraktivnim
Slediti proceduruimplementacije
Minimizacija pomoću K-mapa
8-mar.-07 Merni instrumenti - Digitalna elektronika 9
C0 = A + B D + C + B' D'C1 = C' D' + C D + B'C2 = B + C' + DC3 = B' D' + C D' + B C' D + B' CC4 = B' D' + C D'C5 = A + C' D' + B D' + B C'C6 = A + C D' + B C' + B' C
Implementacija kao minimizovan zbir proizvoda
15 jedinstvenih “product termova” kad se individualno minimizira
1 0 X 1
0 1 X 1
1 1 X X
1 1 X X
D
A
B
C
1 1 X 1
1 0 X 1
1 1 X X
1 0 X X
D
A
B
C
0 1 X 1
0 1 X 1
1 0 X X
1 1 X X
D
A
B
C
1 1 X 1
1 1 X 1
1 1 X X
0 1 X X
D
A
B
C
1 0 X 1
0 1 X 0
1 0 X X
1 1 X X
D
A
B
C
1 0 X 1
0 0 X 0
0 0 X X
1 1 X X
D
A
B
C
1 1 X 1
0 1 X 1
0 0 X X
0 1 X X
D
A
B
C
8-mar.-07 Merni instrumenti - Digitalna elektronika 10
C0 = B C' D + C D + B' D' + B C D' + AC1 = B' D + C' D' + C D + B' D'C2 = B' D + B C' D + C' D' + C D + B C D'C3 = B C' D + B' D + B' D' + B C D'C4 = B' D' + B C D'C5 = B C' D + C' D' + A + B C D'C6 = B' C + B C' + B C D' + A
C0 = A + B D + C + B' D'C1 = C' D' + C D + B'C2 = B + C' + DC3 = B' D' + C D' + B C' D + B' CC4 = B' D' + C D'C5 = A + C' D' + B D' + B C'C6 = A + C D' + B C' + B' C
C2
Implementacija kao minimizovana suma proizvoda (nastavak)
Može i bolje...9 jedinstvenih “product termova” (umesto 15)Izrazi se dele između izlazaNije obavezno da svaki izlaz bude u minimizovanoj formi
1 1 X 1
1 1 X 1
1 1 X X
0 1 X X
D
A
B
C
1 1 X 1
1 1 X 1
1 1 X X
0 1 X X
D
A
B
C
C2
8-mar.-07 Merni instrumenti - Digitalna elektronika 11
BC'
B'C
B'D
BC'D
C'D'
CD
B'D'
A
BCD'
A B C D
C0 C1 C2 C3 C4 C5 C6 C7
PLA implementacija
8-mar.-07 Merni instrumenti - Digitalna elektronika 12
C0 = C3 + A' B X' + A D YC1 = Y + A' C5' + C' D' C6C2 = C5 + A' B' D + A' C DC3 = C4 + B D C5 + A' B' X'C4 = D' Y + A' C D'C5 = C' C4 + A Y + A' B XC6 = A C4 + C C5 + C4' C5 + A' B' C
X = C' + D'Y = B' C'
C2 = B + C' + D
C2 = B' D + B C' D + C' D' + C D + B C D'
C2 = B' D + B C' D + C' D' + WW = C D + B C D'
PAL implementacija
Granica je 4 proizvodna izraza (product term) po izlazuDekompozicija funkcija sa većim brojem izrazaNe deliti izraze u PAL (iako postoje neki sa zajedničkim izrazima)
Decompozicija u logiku u više nivoa (ako postoji CAD podrška)⌧Naći zajedničke pod-izraze među funkcijama
potreban je drugi ulaz i drugi izlaz
8-mar.-07 Merni instrumenti - Digitalna elektronika 13
Kontrola proizvodne linije
Štapovi promenljive dužine (+/-10%) voze se trakastim transporterom
Mehanička ruka gura štapove koji su unutar granica (+/-5%) na jednu stranuDruga ruka gura preduge štapove na drugu stranuŠtapovi koji su prekratki ostaju na transporteru3 svetlosne barijere (svetlosni izvor + fotoćelija) kao senzoriProjektovati kombinacionu logiku da aktivira ruke
Razumevanje problemaUlazi su tri senzoraIzlazi su dva kontrolna signala za rukePretpostavimo da je izlaz senzora "1" kad je aktiviran, inače "0"Nazovimo senzore A, B, C
8-mar.-07 Merni instrumenti - Digitalna elektronika 14
Skica problema
Pozicioniranje senzoraA do B raspon = specifikacija – 5%A do C raspon = specifikacija + 5%
Unutarspec.
PrekratkoPredugo
A
B
C
spec- 5%
spec+ 5%
8-mar.-07 Merni instrumenti - Digitalna elektronika 15
logička implementacija je sad pravolinijskatreba samo postaviti 3-ulazne AND gejtove
“prekratko" = AB'C'(samo prvi senzor je aktivan)
“u granicama" = A B C'(prva dva senzora su aktivna)
“predugo" = A B C(sva tri senzora su aktivna)
A B C Funkcija0 0 0 ne radi ništa0 0 1 ne radi ništa0 1 0 ne radi ništa0 1 1 ne radi ništa1 0 0 prekratko1 0 1 nije važno1 1 0 u granicama1 1 1 predugo
Formalizacija problema
Kombinaciona tabelaPrikazati stanja nije-važno
8-mar.-07 Merni instrumenti - Digitalna elektronika 16
C0 C1 C2 Funkcija Komentar0 0 0 1 uvek 10 0 1 A + B logičko OR0 1 0 (A • B)' logičko NAND0 1 1 A xor B logičko xor1 0 0 A xnor B logičko xnor1 0 1 A • B logičko AND1 1 0 (A + B)' logičko NOR1 1 1 0 uvek 0
3 kontrolna ulaza: C0, C1, C22 ulaza podataka: A, B1 izlaz: F
Logička funkcijska jedinica
Višenamenski funkcijski blok3 kontrolna ulaza za specificiranje operacije koja se vrši na operandima2 ulaza podataka za operande1 izlaz iste širine (broja bita) kao operandi
8-mar.-07 Merni instrumenti - Digitalna elektronika 17
izabrati tehnologiju implementacijeK-mapa sa 5 promenljivih
ka implementaciji u vidu multiplekserasa diskretnim gejtovima
1
0
AB
AB
AB
Formalizacija problema
C0 C1 C2 A B F0 0 0 0 0 10 0 0 0 1 10 0 0 1 0 10 0 0 1 1 10 0 1 0 0 00 0 1 0 1 10 0 1 1 0 10 0 1 1 1 10 1 0 0 0 10 1 0 0 1 10 1 0 1 0 10 1 0 1 1 00 1 1 0 0 00 1 1 0 1 10 1 1 1 0 10 1 1 1 1 01 0 0 0 0 11 0 0 0 1 01 0 0 1 0 01 0 0 1 1 11 0 1 0 0 01 0 1 0 1 01 0 1 1 0 01 0 1 1 1 11 1 0 0 0 11 1 0 0 1 01 1 0 1 0 01 1 0 1 1 01 1 1 0 0 01 1 1 0 1 01 1 1 1 0 01 1 1 1 1 0
C2C0 C1
01234567S2
8:1 MUX
S1 S0
F
8-mar.-07 Merni instrumenti - Digitalna elektronika 18
Aritmetička kola
Odlični primeri projekta sa kombinacionom logikom“Trgovina” vreme - prostor
Ako želimo da kolo radi brzo, često imamo više logičkih kola, a samim tim i veći zauzet prostorPrimer: logika za prenos koji se generiše unapred (carry lookahead logic)
Aritmetičke i logičke jediniceBlokovi opšte nameneKritične komponente puteva podataka u procesoruKoriste se unutar mnogih računarskih instrukcija
8-mar.-07 Merni instrumenti - Digitalna elektronika 19
Brojni sistemi
Predstavljanje pozitivnih brojeva je isto u većini sistemaVelike razlike su u predstavljanju negativnih brojevaNegativni brojevi se predstavljaju jednim od tri načina
Znak i veličinaprvi komplement (1s complement)drugi komplement (2s complement)
PretpostavkePosmatraćemo četvorobitnu mašinsku reč16 različitih vrednosti može biti prikazanoGrubo rečeno, pola je pozitivno, pola je negativno.
8-mar.-07 Merni instrumenti - Digitalna elektronika 20
0000
0111
0011
1011
11111110
1101
1100
1010
10011000
0110
0101
0100
0010
0001
+0+1
+2
+3
+4
+5
+6
+7–0–1
–2
–3
–4
–5
–6
–7
0 100 = + 4
1 100 = – 4
Znak i veličina (magnituda)
Jedan bit se koristi kao znak(pozitivan ili negativan)
znak: 0 = pozitivan (ili nula), 1 = negativan
Ostatak predstavlja apsolutnu vrednost ili magnitudu
tri najniža bita: 0 (000) do 7 (111)
Opseg od n bita+/– 2n–1 –1 (dva načina prikaza nule)
Glomazno sabiranje/oduzimanjemoraju da se porede magnitudeda se odredi znak rezultata
8-mar.-07 Merni instrumenti - Digitalna elektronika 21
2 = 10000
1 = 00001
2 –1 = 1111
7 = 0111
1000 = –7 u formi prvog komplementa
4
4
Prvi komplement
Ako je N pozitivan broj, tada je negativni broj N' ( njegov prvi komplement ili N' ) N' = (2n– 1) – N
Primer: Prvi komplement broja 7
Brži način: prosto se izračuna bit-po-bit komplement( 0111 -> 1000 )
8-mar.-07 Merni instrumenti - Digitalna elektronika 22
0000
0111
0011
1011
11111110
1101
1100
1010
10011000
0110
0101
0100
0010
0001
+0
+1
+2
+3
+4
+5
+6
+7–7
–6
–5
–4
–3
–2
–1
–0
0 100 = + 4
1 011 = – 4
Prvi komplement (nastavak)
Oduzimanje se implementira kao prvi komplement i zatim sabiranjeDva načina prikaza nule
Pravi probleme pri sabiranju
Najviši bit ponaša se kao znak
8-mar.-07 Merni instrumenti - Digitalna elektronika 23
0 100 = + 4
1 100 = – 4
+0
+1
+2
+3
+4
+5
+6
+7–8
–7
–6
–5
–4
–3
–2
–1
0000
0111
0011
1011
11111110
1101
1100
1010
10011000
0110
0101
0100
0010
0001
Drugi komplement
Prvi komplement sa negativnim brojevima pomeren za jednu poziciju udesno
Samo jedna oznaka za nuluIma jedan negativni broj više od pozitivnihNajviši bit se ponaša kao znak
8-mar.-07 Merni instrumenti - Digitalna elektronika 24
2 = 10000
7 = 0111
1001 = prikaz broja –7
4
2 = 10000
–7 = 1001
0111 = prikaz broja 7
4
oduzmi
oduzmi
Drugi komplement (nastavak)
Ako je N pozitivni broj, tada je negativni broj N (njegov drugi komplement ili N* ) je N* = 2n – N
Primer: drugi komplement broja 7
Primer: drugi komplement broja –7
Savet: drugi komplement = bit-po-bit komplement + 1⌧0111 -> 1000 + 1 -> 1001 (prikaz broja -7)⌧1001 -> 0110 + 1 -> 0111 (prikaz broja 7)
8-mar.-07 Merni instrumenti - Digitalna elektronika 25
4
+ 3
7
0100
0011
0111
– 4
+ (– 3)
– 7
1100
1101
11001
4
– 3
1
0100
1101
10001
– 4
+ 3
– 1
1100
0011
1111
Sabiranje i oduzimanje u drugom komplementu
Prosto sabiranje i oduzimanjeProsta šema računanja izdvaja drugi komplement kao najpogodniji način predstavljanja celih brojeva u računarskoj tehnici
8-mar.-07 Merni instrumenti - Digitalna elektronika 26
Zašto bit prenosa (izlazni, Carry-out) može da se zanemari (ignoriše)?
Ne može potpuno da se ignorišeMora da se proveri da li dolazi do prekoračenja (videti dva sledeća slajda)
Kad nema prekoračenja, izlazni signal prenosa (carry-out) može da bude TRUE, ali i tada može da se zanemari
– M + N when N > M:
M* + N = (2n – M) + N = 2n + (N – M)
zanemarivanje carry-out je kao oduzimanje 2n
– M + – N where N + M ≤ 2n–1
(– M) + (– N) = M* + N* = (2n– M) + (2n– N) = 2n – (M + N) + 2n
zanemarivanje prenosa je kao prikaz u drugom komplementu broja – (M + N)
8-mar.-07 Merni instrumenti - Digitalna elektronika 27
5 + 3 = –8 –7 – 2 = +7
+0
+1
+2
+3
+4
+5
+6
+7–8
–7
–6
–5
–4
–3
–2
–1
0000
0111
0011
1011
11111110
1101
1100
1010
10011000
0110
0101
0100
0010
0001
+0
+1
+2
+3
+4
+5
+6
+7–8
–7
–6
–5
–4
–3
–2
–1
0000
0111
0011
1011
11111110
1101
1100
1010
10011000
0110
0101
0100
0010
0001
Prekoračenje prilikom sabiranja/oduzimanja u drugom komplementu
Uslovi prekoračenjaSabiranjem dva pozitivna broja dobija se negativan brojSabiranjem dva negativna broja dobija se pozitivan broj
8-mar.-07 Merni instrumenti - Digitalna elektronika 28
53
– 8
0 1 1 1
0 1 0 10 0 1 11 0 0 0
– 7– 2
7
1 0 0 0
1 0 0 11 1 1 0
1 0 1 1 1
527
0 0 0 0
0 1 0 10 0 1 00 1 1 1
– 3– 5– 8
1 1 1 1
1 1 0 11 0 1 1
1 1 0 0 0
prekoračenje prekoračenje
nema prekoračenja nema prekoračenja
Uslovi prekoračenja
Prekoračenje kad je prenos u poziciju bita znaka nije isto što i carry-out (izlazni prenos)
8-mar.-07 Merni instrumenti - Digitalna elektronika 29
Ai Bi Sum Cout0 0 0 00 1 1 01 0 1 01 1 1 1
Ai Bi Cin Sum Cout0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1
Kola za binarno sabiranje
Polusabirač (sabiranje dva jednobitna broja)Sum = Ai' Bi + Ai Bi' = Ai xor BiCout = Ai Bi
Pun sabirač (ulazni prenos za kaskadu – višebitne sabirače)Sum = Ci xor A xor BCout = B Ci + A Ci + A B = Ci (A + B) + A B
8-mar.-07 Merni instrumenti - Digitalna elektronika 30
Cout = A B + Cin (A xor B) = A B + B Cin + A Cin
AB
CinS
A
A
B
B
CinCout
A
B
A xor B
Cin
A xor B xor CinPolu
sabirač
Sum
Cout Cin (A xor B)A B
Sum
Cout
Polusabirač
Sum
Cout
Implementacije punog sabirača
Standardni pristup6 gejtova2 XOR, 2 AND, 2 OR
Alternativne implementacije5 gejtovapolusabirač je XOR gejt i AND gejt2 XOR, 2 AND, 1 OR
8-mar.-07 Merni instrumenti - Digitalna elektronika 31
A B
Cout
Sum
Cin
0 1
Saberi'Oduzmi
A0 B0B0'
Sel
Prekoračenje
A B
Cout
Sum
Cin
A1 B1B1'
Sel
A B
Cout
Sum
Cin
A2 B2B2'
Sel 0 1 0 10 1
A B
Cout
Sum
Cin
A3 B3B3'
Sel
S3 S2 S1 S0
Sabirač/oduzimač
Upotreba sabirača za oduzimanje zahvaljujući predstavljanju u drugom komplementu
A – B = A + (– B) = A + B' + 1Kontrolni signal bira B ili drugi komplement B
8-mar.-07 Merni instrumenti - Digitalna elektronika 32
A
A
B
BCin Cout
@0@0
@0@0
@N
@1
@1
@N+1
@N+2
signal koji kasno stigne
dva kašnjenja gejtada se izračuna Cout
4 – stepeni sabirač
A0B0
Cin
S0 @2
A1B1
C1 @2
S1 @3
A2B2
C2 @4
S2 @5
A3B3
C3 @6
S3 @7Cout @8
Sabirač sa brzim generisanjem prenosa
Kritično kašnjenjePropagacija signala prenosa od nižih ka višim stepenima
8-mar.-07 Merni instrumenti - Digitalna elektronika 33
T0 T2 T4 T6 T8
S0, C1 Valid S1, C2 Valid S2, C3 Valid S3, C4 Valid
Sabirač sa brzim generisanjem prenosa (nastavak)
Kritično kašnjenjePropagacija signala prenosa od nižih ka višim stepenima1111 + 0001 je najgori slučajSignal prenosa mora da propagira kroz sve bite
8-mar.-07 Merni instrumenti - Digitalna elektronika 34
Logika za predviđanje signala prenosa
Generisanje Carry signala: Gi = Ai BiMora se generisati carry kad je A = B = 1
Propagacija Carry signala: Pi = Ai xor BiOvde je Carry-in jednak sa carry-out
Zbir i Cout mogu da se izraze preko generisanja/propagacije (generate/propagate):
Si = Ai xor Bi xor Ci= Pi xor Ci
Ci+1 = Ai Bi + Ai Ci + Bi Ci= Ai Bi + Ci (Ai + Bi)= Ai Bi + Ci (Ai xor Bi)= Gi + Ci Pi
8-mar.-07 Merni instrumenti - Digitalna elektronika 35
Logika za predviđanje signala prenosa (nastavak)
Ponovo napišimo logiku signala prenosa kao:C1 = G0 + P0 C0C2 = G1 + P1 C1 = G1 + P1 G0 + P1 P0 C0C3 = G2 + P2 C2 = G2 + P2 G1 + P2 P1 G0 + P2 P1 P0 C0C4 = G3 + P3 C3 = G3 + P3 G2 + P3 P2 G1 + P3 P2 P1 G0 + P3 P2 P1 P0 C0
Svaka od jednačina signala prenosa može da se implementira kao logika u dva nivoa
Svi ulazi su sada direktno izvedeni iz ulaza podataka, a ne iz signala među-prenosaovo omogučava da se svi izlazi za zbir računaju paralelno
8-mar.-07 Merni instrumenti - Digitalna elektronika 36
G3
C0C0
C0
C0P0P0
P0
P0
G0G0
G0
G0C1
P1
P1
P1
P1
P1
P1 G1G1
G1
C2P2
P2
P2
P2
P2
P2
G2G2
C3
P3
P3
P3
P3
C4
Pi @ 1 kašnjenje gejta
Ci Si @ 2 kašnjenja gejta
BiAi
Gi @ 1 kašnjenje gejta povećava se kompleksnost logike za signal prenosa
Implementacija logike za predviđanje signala prenosa
Sabirač sa izlazima za propagaciju i generisanje
8-mar.-07 Merni instrumenti - Digitalna elektronika 37
A0B0
Cin
S0 @2
A1B1
C1 @2
S1 @3
A2B2
C2 @4
S2 @5
A3B3
C3 @6
S3 @7Cout @8
A0B0
Cin
S0 @2
A1B1
C1 @3
S1 @4
A2B2
C2 @3
S2 @4
A3B3
C3 @3
S3 @4
C4 @3 C4 @3
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 paralelnoMeđutim, cena logike za prenos se povećava sa brojem stepeni
8-mar.-07 Merni instrumenti - Digitalna elektronika 38
Jedinica za predviđanje signala prenosaC0
P0 G0P1 G1P2 G2P3 G3 C3 C2 C1
C0
P3-0 G3-0
C4
@3@2@4
@3@2@5
@3@2@5
@3@2
@4
@5@3
@0C16
A[15-12]B[15-12]C12
S[15-12]
A[11-8] B[11-8]C8
S[11-8]
A[7-4] B[7-4]C4
S[7-4]@7@8@8
A[3-0] B[3-0]C0
S[3-0]
@0
@4
4 4
4P G
4-bit sabirač
4 4
4P G
4-bit sabirač
4 4
4P G
4-bit sabirač
4 4
4P G
4-bit sabiračr
Sabirač sa logikom za predviđanje signala prenosa sa kaskadiranom logikom predviđanja
Sabirač sa logikom za predviđanje signala prenosa4 četvorobitna sabirača sa internom logikom za predviđanjeDrugi nivo logike za predviđanje proširuje ovu logiku na 16 bita
8-mar.-07 Merni instrumenti - Digitalna elektronika 39
4-Bit sabirač[3:0]
C0C4
4-bit sabirač[7:4]
1C8
0C8
pet2:1 mux
01010101
sabiračlow
sabiračhigh
01
4-bit sabirač[7:4]
C8 S7 S6 S5 S4 S3 S2 S1 S0
Sabirač sa izborom signala prenosa
Redundantni hardver da bi se ubrzalo računanje prenosaRačuna dve najviše sume paralelno dok čeka na carry-inJedna podrazumeva da je carry-in 0, druga da je 1Bira se ispravan rezultat kad se carry-in izračuna
8-mar.-07 Merni instrumenti - Digitalna elektronika 40
logičke i aritmetičke operacijenisu sve operacije korisne, ali se dobijaju uzgred, pa se pojavljuju u tabeli
S10011
S00101
FunkcijaFi = Ai
Fi = not AiFi = Ai xor BiFi = Ai xnor Bi
Komentarulaz Ai se prenosi na izlazkomplement Ai se prenosi na izlazizračunaj XOR funkciju Ai, Biizračunaj XNOR funkciju Ai, Bi
M = 0, logičke bit-po-bit operacije
M = 1, C0 = 0, aritmetička operacija0011
0101
F = AF = not A
F = A plus BF = (not A) plus B
ulaz A prenosi se na izlazkomplement A prenosi se na izlazsuma A i Bsuma B i komplementa A
M = 1, C0 = 1, aritmetička operacija0011
0101
F = A plus 1F = (not A) plus 1F = A plus B plus 1
F = (not A) plus B plus 1
inkrement Adrugi komplement Ainkrement sume A i BB minus A
Specifikacija za razvoj aritmetičko-logičke jedinice
8-mar.-07 Merni instrumenti - Digitalna elektronika 41
M0
1
1
S10
0
1
1
0
0
1
1
0
0
1
1
S00
1
0
1
0
1
0
1
0
1
0
1
CiXXXXXXXXXXXX000000000000111111111111
Ai0101001100110101001100110 10100110011
BiXXXX01010101XXXX01010101XXXX01010101
Fi011001101001011001101001100110010110
Ci+1XXXXXXXXXXXXXXXX00010100011001111101
Specifikacija za razvoj aritmetičko-logičke jedinice (nastavak)
Primer kombinacione tabele za ALU
8-mar.-07 Merni instrumenti - Digitalna elektronika 42
12 gejtova
\S1\Bi
[35]
[35] M
M
MS1Bi
[33][33]
[33]
[33]
S0Ai
[30]
[30]
[30]
[30]
[30]
Ci
Ci
Ci
Ci
Co
\Co
\Co
\Co
\[30]\[35]
Fi
Razvoj aritmetičko-logičke jedinice (nastavak)
Primer implementacije ALU u logici sa više nivoa sa diskretnim gejtovima
8-mar.-07 Merni instrumenti - Digitalna elektronika 43
BiS1 AiS0 CiM
FiCi+1
X1
X2
X3
A1 A2
A3 A4
O1
gejtovi prvog nivoakoristiti S0 za komplement Ai
S0 = 0 gejt X1 propušta AiS0 = 1 gejt X1 propušta Ai'
koristiti S1 da se blokira BiS1 = 0 gejt A1 definiše da se Bi prosleđuje kao 0
(ne želimo Bi za operacije u kojima se koristi A)S1 = 1 gejt A1 propušta Bi
koristiti M da se blokira CiM = 0 gejt A2 definiše da se Ci propušta kao 0
(ne želimo Ci u logičkim operacijama)M = 1 gejt A2 propušta Ci
ostali gejtoviza M=0 (logičke operacije, Ci se ne koristi)
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 ) = Ci+1 = Ci (S0 xor Ai) + S1 Bi ( (S0 xor Ai) xor Ci ) =
potpun sabirač sa ulazima S0 xor Ai, S1 Bi, i Ci
Aritmetičko-logička jedinica (nastavak)
Primer ALU – implementacija u više nivoa