06a -- Kombinatorisk logikk Elementer...Komplett CPU: Funksjonell Diglog-implementasjon The image...

Preview:

Citation preview

Kombinatorisk logikk - elementer

Hovedpunkter •  Komparator

•  Dekoder/enkoder

•  MUX/DEMUX

•  Kombinert adder/subtraktor

•  ALU

Omid Mirmotahari 2

Komparator Komparator – sammenligner to tall A og B

•  3 utganger: A=B, A>B og A<B

Kan skrives: (A0⊕B0)´(A1⊕B1)´(A2⊕B2)´(A3⊕B3)´

Eksempel: 4-bits komparator

Utgang A=B

Slår til hvis A0=B0 og A1=B1 og A2=B2 og A3=B3

Omid Mirmotahari 3

Komparator - eksempel Utgang A>B slår til hvis:

(A3>B3) eller

(A2>B2 og A3=B3) eller

(A1>B1 og A2=B2 og A3=B3) eller

(A0>B0 og A1=B1 og A2=B2 og A3=B3)

Kan skrives:

(A3B3´) + (A2B2´) (A3⊕B3)´+ (A1B1´) (A2⊕B2)´(A3⊕B3)´+

(A0B0´)(A1⊕B1)´(A2⊕B2)´(A3⊕B3)´ Omid Mirmotahari 4

Komparator - eksempel Utgang A<B slår til hvis:

(A3<B3) eller

(A2<B2 og A3=B3) eller

(A1<B1 og A2=B2 og A3=B3) eller

(A0<B0 og A1=B1 og A2=B2 og A3=B3)

Kan skrives:

(A3´B3) + (A2´B2) (A3⊕B3)´+ (A1´B1) (A2⊕B2)´(A3⊕B3)´+

(A0´B0)(A1⊕B1)´(A2⊕B2)´(A3⊕B3)´ Omid Mirmotahari 5

Komparator - eksempel

Omid Mirmotahari 6

Dekoder

Dekoder – tar inn et binært ord, gir ut alle mintermer

Eksempel: 3bit inn / 8bit ut

Omid Mirmotahari 7

Dekoder - sannhetstabell Eksempel: 3bit inn

Utganger Innganger

0 0 0 1

0 1 1 1

1 0 0 0

x y z

0 0 0 1

0 1 1 1

0 0 0 0 1 1 1 1

D0

0 0 0 0

0 1 0 0

D1

0 0 0 0

D2

0 0 1 0 0 0 0 0

D3

0 0 0 1 0 0 0 0

D4

0 0 0 0 1 0 0 0

D5

0 0 0 0 0 1 0 0

D6

0 0 0 0 0 0 1 0

D7

0 0 0 0 0 0 0 1

Omid Mirmotahari 8

Dekoder – varianter Enable input: Enable aktiv - normal operasjon.

Enable inaktiv - alle utganger disablet NAND logikk: Inverterte utganger

Eksempel Aktiv ”lav” enable inngang Omid Mirmotahari 9

Dekoder - parallellkobling Eksempel: Lager en 4x16 dekoder fra 2stk 3x8

dekodere med enable innganger

10

Dekoder – generering av logiske funksjoner

Dekoder - elektrisk sannhetstabell. Kan generere generelle logiske funksjoner direkte fra mintermene på utgangen

Eksempel: Fulladder

An

Bn

Cn Cn+1

Sn

11

Enkoder Enkoder – motsatt av dekoder

Utganger Innganger

0 0 0 1

0 1 1 1

1 0 0 0

x y z

0 0 0 1

0 1 1 1

0 0 0 0 1 1 1 1

D0

0 0 0 0

0 1 0 0

D1

0 0 0 0

D2

0 0 1 0 0 0 0 0

D3

0 0 0 1 0 0 0 0

D4

0 0 0 0 1 0 0 0

D5

0 0 0 0 0 1 0 0

D6

0 0 0 0 0 0 1 0

D7

0 0 0 0 0 0 0 1

Eksempel: 8x3 enkoder

x = D4 + D5 + D6 + D7

y = D2 + D3 + D6 + D7

z = D1 + D3 + D5 + D7

Antar at det ikke eksisterer andre inngangskombinasjoner

Omid Mirmotahari 12

Enkoder

Eksempel D0

D1

D2

D3

D4

D5

D6

D7

X

Y

z

x = D4 + D5 + D6 + D7

y = D2 + D3 + D6 + D7

z = D1 + D3 + D5 + D7

Omid Mirmotahari 13

Prioritets-enkoder Problem i enkodere: Hva hvis man får flere

”1”ere inn samtidig?

Utganger Innganger

0 0 0 1

0 1 1 1

1 x x x

x y z

0 0 0 1

0 1 1 1

0 0 0 0 1 1 1 1

D0

x x x x

0 1 x x

D1

x x x x

D2

0 0 1 x x x x x

D3

0 0 0 1 x x x x

D4

0 0 0 0 1 x x x

D5

0 0 0 0 0 1 x x

D6

0 0 0 0 0 0 1 x

D7

0 0 0 0 0 0 0 1

Eksempel: 8x3 prioritets-enkoder

Løsning: Prioritets-enkoder

Hvis flere ”1”ere inn - ser kun på inngang med høyst indeks (prioritet)

14

Prioritets-enkoder

Eksempel: 4x2 prioritets-enkoder med ”valid” utgang

”V” signaliserer at minst en inngang er ”1” 15

Multiplekser Multiplekser (MUX) – velger hvilke innganger

som slippes ut

A B C

N

UT

Select

Hver inngang kan bestå av ett eller flere bit

16

MUX

Eksempel: 2-1 MUX

Implementasjon Symbol Omid Mirmotahari 17

Eksempel: 4-1 MUX

Omid Mirmotahari 18

MUX

Eksempel: 2-1 MUX

19

Demultiplekser Demultiplekser – motsatt av multiplekser

A B C

N

INN

Select 20

Kombinert adder/subtraktor

M=0: adder / M=1: subtraktor / V: overflow bit Omid Mirmotahari

ALU

ALU –Arithmetic Logic Unit

Generell regneenhet

Eksempel: SN74LS181 4bit utbyggbar ALU 30 forskjellige operasjoner

ALU - SN74LS181

Omid Mirmotahari

Komplett CPU: 4-bit databuss / 3bit adressebuss

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

Komplett CPU: Funksjonell Diglog-implementasjon The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

Omid Mirmotahari

Recommended