06a -- kombinatorisk logikk elementer...komplett cpu: funksjonell diglog-implementasjon the image...
TRANSCRIPT
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