4. primeri kombinacione logike - kelm.ftn.uns.ac.rs · 8-mar.-07 ftn novi sad merni instrumenti -...

22
8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07 Merni instrumenti - Digitalna elektronika 2 Primeri kombinacione logike a Opšta procedura razvoja a Primeri `Podsistem kalendara `Kontroler displeja BCD u 7-segment `Kontroler procesne linije `Logička funkcijska jedinica a Aritmetička kola `Predstavljanje prirodnih brojeva `Sabiranje/oduzimanje `Aritmetičko/logička jedinica

Upload: vungoc

Post on 05-Jul-2018

223 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07

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

Page 2: 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07

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

Page 3: 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07

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’

Page 4: 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07

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

Page 5: 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07

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

Page 6: 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07

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

Page 7: 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07

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%

Page 8: 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07

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

Page 9: 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07

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

Page 10: 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07

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

Page 11: 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07

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

Page 12: 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07

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)

Page 13: 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07

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)

Page 14: 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07

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)

Page 15: 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07

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

Page 16: 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07

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

Page 17: 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07

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

Page 18: 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07

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

Page 19: 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07

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

Page 20: 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07

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

Page 21: 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07

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

Page 22: 4. PRIMERI KOMBINACIONE LOGIKE - kelm.ftn.uns.ac.rs · 8-mar.-07 FTN Novi Sad Merni instrumenti - Digitalna elektronika 4. PRIMERI KOMBINACIONE LOGIKE dr Zoran Mitrović 8-mar.-07

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