Är 1 om - Chalmers tekniska högskola

Digital- och datorteknik
Föreläsning #4
Biträdande professor Jan Jonsson
Institutionen för data- och informationsteknik
Chalmers tekniska högskola
Boolesk algebra
SP- och PS-form:
Vid förra föreläsningen konstaterade vi att funktionen hos en
krets kan uttryckas på två olika former:
•  Som en summa av produkter, SP-form, även kallad disjunktiv
form. Exempel: uttrycket x+yz är på SP-form.
•  Som en produkt av summor, PS-form, även kallad konjunktiv
form. Exempel: uttrycket (x+y)(x+z) är på PS-form.
SP-form och PS-form för samma funktion är alltså ekvivalenta,
så endera formen kan väljas.
Boolesk algebra
Mintermer och maxtermer:
Utgående från funktionstabellen för en given Boolesk funktion är
det möjligt att härleda funktionens SP-form respektive PS-form:
•  För SP-form skall vi identifiera de rader i tabellen som har
ett funktionsvärde lika med ’1’. Den unika produkten av
invariabler för en sådan rad kallas för en minterm. Summan av
alla mintermer kallas för SP normal form.
•  För PS-form skall vi identifiera de rader i tabellen som har
ett funktionsvärde lika med ’0’. Den unika summan av
invariabler för en sådan rad kallas för en maxterm. Produkten
av alla maxtermer kallas för PS normal form.
Boolesk algebra
Samtliga mintermer och maxtermer för tre variabler:
Minterm
x⋅y⋅z
x ⋅ y ⋅z
x⋅y⋅z
x ⋅y⋅z
x⋅y⋅z
x ⋅ y ⋅z
x⋅y⋅z
x ⋅y⋅z
Är 1 om
x
y
z
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
Maxterm
x+y+z
x+y+z
x+y+z
x+y+z
x+y+z
x+y+z
x+y+z
x+y+z
Är 0 om
x
y
z
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
Boolesk algebra
Ta fram PS normal form för
(x + y)(x + z)
Karnaughminimering
Minimering av Booleska funktioner:
Om vi inte är nöjda med den lösning som ges av funktionens
SP normal form eller PS normal form, kan vi härleda ett minimalt
uttryck genom Karnaughminimering.
Denna metod bygger på att man för in funktionstabellen i en
matris (Karnaughdiagram) med invariablernas olika värden längs
rader och kolumner.
Varje ruta i matrisen representerar funktionsvärdet för en minterm
(för SP form) eller en maxterm (för PS form).
Karnaughminimering
Minimering av Booleska funktioner:
För att ge möjlighet till effektiv eliminering av onödiga variabler
skall intilliggande rader respektive kolumner representera termer
ordnade enligt Gray-kod, d v s de skiljer sig åt i en bitposition.
Ringa in så stora grupper av 1:or (för SP form) eller 0:or (för PS
form) som möjligt, och ta fram uttrycken för dessa.
Gör Karnaughminimering på PS normal form för
(x + y)(x + z)
Logikgrindar
De grundläggande logikoperationerna:
INVERTERARE
(ICKE, NOT)
ELLER (OR)
OCH (AND)
x
x
y
x
y
x
0
1
u
u
u
u
1
0
u=x
x
0
0
1
1
y
0
1
0
1
u
0
1
1
1
x
y
u
0
0
1
1
0
1
0
1
0
0
0
1
u = (x + y)
u = (x ∗ y)
Logikgrindar
Logikgrindar ”på riktigt”:
Under 1900-talet användes tre olika typer av komponenter
för att realisera logikgrindar:
•  Reläer
•  Elektronrör
•  Transistorer
Gemensamt för dessa komponenter är att de
har en styrsignal som öppnar och stänger en
”grind” som reglerar ett annat signalflöde.
Likt en vattenventil, fast med elektronisk
styrning av elektriska signaler.
Logikgrindar
Reläer:
Styrsignal ”på” ger ström genom en spole som aktiverar
en elektromagnet. Denna manipulerar en strömbrytare som kan
användas för att öppna och stänga förbindelsen mellan A och B.
A
B
styrsignal
Logikgrindar
Elektronrör:
Styrsignal ”på” lägger ett elektriskt fält på ett galler (”grid”) som
påverkar den ström som släpps igenom mellan katod och anod.
Gallret kan alltså öppna och stänga förbindelsen mellan A och B.
B
A
styrsignal
Logikgrindar
Transistor (nMOS):
Styrsignal ”på” lägger ett positivt elektriskt fält på en grind (”gate”)
varpå en ledande kanal i kiselsubstratet öppnas upp. Grinden
kan alltså öppna och stänga förbindelsen mellan A och B.
styrsignal
A
B
nMOS
pMOS
pMOS-transistorn
fungerar på ett
liknande sätt men
har inverterad logik.
äggande logikfunktioner
ktionerna som visas i
stabellen till höger.
2
Logikgrindar
VDD
t från Uppgift 1.2 och
x
gur 1–5 i marginalen)
Inverterare (ICKE, NOT) ”på riktigt”:
knamn).
mn)
T
y
Insignal ”på” (x = 1) lägger ett positivt elektriskt fält på denunedre
transistorns (nMOS) grind varpå dess kanal öppnas och släpper
Funktionstabell
igenom
den logiska signalen ”0” till utsignal u.
Samtidigt ges samma insignal till
den övre transistorn (pMOS) vars
inverterade
logik
x
u gör att dess kanal
stängs, och förhindrar att den
logiska signalen ”1” når utsignal u.
”1”
3
”1”
x
0
1
Resultat: x = 1 ger utsignalen u = 0
x
y
u
”0”
”0”
0
1
VDD
u
4
VDD
äggande logikfunktioner
ktionerna som visas i
stabellen till höger.
2
Logikgrindar
VDD
t från Uppgift 1.2 och
x
gur 1–5 i marginalen)
Inverterare (ICKE, NOT) ”på riktigt”:
knamn).
mn)
T
y
Insignal ”av” (x = 0) tar bort det positiva elektriskt fältet på uden
nedre transistorns (nMOS) grind varpå dess kanal stängs och
Funktionstabell
förhindrar
att den logiska signalen ”0” når utsignal u.
Samtidigt ges samma insignal till
den övre transistorn (pMOS) vars
inverterade
logik
x
u gör att dess kanal
öppnas och släpper igenom den
logiska signalen ”1” till utsignal u.
”1”
3
”0”
x
0
1
Resultat: x = 0 ger utsignalen u = 1
x
y
u
”1”
”0”
0
1
VDD
u
4
VDD
sas på de små indikatorerna omedelbart
av på de större indikatorerna till höger
Logikgrindar
1
VDD
x
ELLER (OR) ”på riktigt”:
u
Om båda insignalen är ”av” (x = 0 och y = 0)y tas det positiva
vensnät | Grundläggande
logikfunktioner
elektriskt fältet
bort på de två nMOS-transistorernas grindar
och deras kanaler stängs.
latorn, logikfunktionerna som visas i
Samtidigt ges till
samma
insignal till de två
Fyll i funktionstabellen
höger.
pMOS-transistorerna vars inverterade
logik gör
deras kanaler
öppnas.
med dina resultat
frånattUppgift
1.2 och
att isignalen
w = 1.
OS-kopplingDetta
(figurgör1–5
marginalen)
Vi ser att de två transistorerna till höger
lska namn (logiknamn).
OSing
5)
2
”0”
”1”
VDD
x
w
”0”
y
u
utgör en inverterare, vilket innebär att
Grind
utsignalen u = 0Funktionstabell
”1”
”0”
(logiknamn)
”0”
V
DD
x
u
3
sas på de små indikatorerna omedelbart
av på de större indikatorerna till höger
Logikgrindar
1
VDD
x
ELLER (OR) ”på riktigt”:
u
Om den övre insignalen slås ”på” (x = 1) läggs
ett positivt
y
vensnät | Grundläggande
elektriskt fält logikfunktioner
på den vänstra nMOS-transistorns grind
varpå dess kanal öppnas upp.
latorn, logikfunktionerna som visas i
Samtidigt ges till
samma
insignal till den övre
Fyll i funktionstabellen
höger.
pMOS-transistorn vars inverterade
logik gör
dess kanal
med dina resultat
frånattUppgift
1.2 stängs.
och
att isignalen
w = 0.
OS-kopplingDetta
(figurgör1–5
marginalen)
Vi ser att de två transistorerna till höger
lska namn (logiknamn).
OSing
5)
2
”1”
”1”
VDD
x
w
y
u
utgör en inverterare, vilket innebär att
Grind
utsignalen u = 1Funktionstabell
”0”
”1”
(logiknamn)
Notera att samma resultat erhålls för y = 1.
x
u
”0”
V
DD
3
-koppling (figur 1–5 i marginalen)
y
ka namn (logiknamn).
Grind
(logiknamn)
u
Funktionstabell
Logikgrindar
VDD
u
OCH (AND) x
”på riktigt”:
3
Om båda insignalen är ”på” (x = 1 och y = 1) läggs
ett
x
0 fält på de1 två nMOS-transistorernas
positivt
elektriskt
NOT
grindar och deras kanaler öppnas.
Samtidigt ges 1
samma insignal
0 till de två
pMOS-transistorerna vars inverterade
y
u
logik gör att x
deras kanaler
stängs.
Detta gör att0signalen
0 w = 0.0
Vi ser att de två transistorerna till höger
0
1
0
AND
utgör en inverterare, vilket innebär
att
utsignalen u1= 1
0
0
1
x
1
y
1
u
4
u
”1” VDD
w
x
u
”1”
”0”
y
”1”
”0”
5
VDD
”1”
-koppling (figur 1–5 i marginalen)
y
ka namn (logiknamn).
Grind
(logiknamn)
u
Funktionstabell
Logikgrindar
VDD
u
OCH (AND) x
”på riktigt”:
3
Om den övre insignalen slås ”av” (x = 0) tas detx positivau
0bort på den1 nedre nMOS-transistorns grind
elektriskt
fältet
NOT
varpå dess kanal stängs.
Samtidigt ges 1
samma insignal
0 till den
vänstra pMOS-transistorn vars inverterade
4
y öppnas.
u
logik gör att x
dess kanal
x
Detta gör att0signalen
0 w = 1.0
”1” VDD
w
u
”0”
Vi ser att de två transistorerna till höger
0
1
0
AND
utgör en inverterare, vilket innebär
att
utsignalen u1= 0
0
0
”1”
y
Notera att samma
resultat
erhålls för y = 0.
1
1
x
y
1
u
”0”
5
VDD
”0”
esultat från Uppgift 1.2 och
delbart
ng (figur 1–5 i marginalen)
y
n (logiknamn).
höger
Grind
logiknamn)
er NOT
i
AND
abell
u
u
Logikgrindar
Funktionstabell
VDD
1
NORx och
x NAND:
u
VDD
3
u
Vi såg att det vid realisering av ELLER- och OCH-grinden
x
u
y
med transistorer
sitter
0
1 en inverterare på grindens utgång.
Detta gör att realisering av grindnät i många sammanhang
kan kräva onödigt många transistorer.
Inverterare
0
1
ch
n)
x
x
0
x
2
y
0
VDD
u
0
y
0
1
0
1
0
0
1
1
x 3 y
VDD
Inverterare
1
u
4
VDD
x
u
u
y
5
VDD
esultat från Uppgift 1.2 och
delbart
ng (figur 1–5 i marginalen)
y
n (logiknamn).
höger
Grind
logiknamn)
er NOT
abell
u
Logikgrindar
VDD
1
NORx och
x NAND:
u
VDD
3
u
Av det skälet brukar man istället använda de negerade
x
u
y funktionerna som grundläggande
logiska
byggblock.
0
1
Dessa byggblock kallas för NOR- respektive NAND-grind.
0
1
AND
u
Funktionstabell
i
ch
n)
x
x
0
x
2
y
0
VDD
NOR-grind
0
1
0
1
0
0
1
1
x 3 y
VDD
4
u
0
y
1
u
NAND-grind
VDD
x
u
u
y
5
VDD
Arkiv | Kombinatorik och sekvensnät | Grundläggande logikfunktioner.
0
ns grindar1som realiserar
de grundläggande logikfunktionerna.
4
VDD
x (ljusgul
y
ubakgrund) kan du klicka på för att ändra
mkopplarna
x
åerna hos
0 grindarnas
0
0ingångar.
u
ångarnas
0 nivåer
1 kan0 avläsas på yde små indikatorerna omedelbart
vänster om varje grind.
1
0
0
gångarnas
läser du av på de större indikatorerna till höger
1 nivåer
1 NOR
1 (”negated OR”)
NAND
respektive grind.
5
x
y
u
ppgift 2.1
x
0
0
0
lj:
0
1
1
Logikgrindar
(”negated AND”)
VDD
y
x
y
u
x
rifiera, med
1 hjälp
1 av 1simulatorn, logikfunktionerna som visas i
0
0 Fyll
1 i funktionstabellen till höger. 0
mbol-kolumnen i tabellen.
0
1
0
0
mför funktionstabellerna
med0dina resultat
1.2 och1
u =från
(x +Uppgift
y)
1
0
ntifiera motsvarande
CMOS-koppling
(figur 1–5 i marginalen)1
1
1
0
u
y
y
u
0
1
1
1
0
1
1
0
2
VDD
u = (x ∗ y)
x
y
ge slutligen grindens engelska namn (logiknamn).
Symbol
x
u
Arkiv | Kombinatorik
1
0 och
1 sekvensnät | Grundläggande logikfunktioner
VDD
1
u
Vi skall
senare visaGrind
hur man enkelt
kan översätta grindnät på SP-form
CMOSFunktionstabell
koppling
(logiknamn)
(AND/OR-logik)
till
NAND-logik, och grindnät på PS-form (OR/AND(1-5)
logik) till NOR-logik. På så sätt får grindnätet färre transistorer, och blir
x
u
3
dessutom snabbare.
VDD
3
NOT
0
1
x
u