SMD033
Digitalteknik
Digitalteknik F1 bild 1
Vi som undervisar
■
Anders Hansson
A3209
91 230
[email protected]
Digitalteknik F1 bild 2
Registrering
■
Registrering via email till
[email protected]
Digitalteknik F1 bild 3
Kursuppläggning
Föreläsningar 15 st
Övningar 3 st
Laboration 2 st
Konstruktionsuppgift 2 st
Digitalteknik F1 bild 4
Litteratur
■
Huvudtext:
– Wakerly: Digital design, Principles and practices
Prentice Hall 0-13-059973-5
■
Kompletterande kursmaterial:
– LuTH:
– LuTH:
■
Laborationer/konstruktionsuppgifter
Manualer till datorverktyg etc
Information under kursens gång:
http://www.sm.luth.se:80/csee/courses/smd033/
(sätt ett bokmärke på den sidan!)
Digitalteknik F1 bild 5
Var används digitalteknik?
■
Styrning / övervakning av “apparater”:
– Diskmaskiner
– Trafikljus
■
– TV / Video
– Bilmotorer
Räknande “apparater” (databeh. system):
– Kalkylatorer
– Telefoner
– Datorer
Digitalteknik F1 bild 6
Karaktäristiskt:
■
Information som hanteras kodas med
symbolerna “1” och “0”.
Talsystem och koder
Digitalteknik F1 bild 7
Några begrepp:
Insignaler
Utsignaler
Digital funktion
ƒ
Digitalteknik F1 bild 8
Kombinatoriska kretsar
■
Utsignalerna beror endast av insignalerna:
Insignaler
Utsignaler
Digital funktion
ƒ
Digitalteknik F1 bild 9
Sekventiella kretsar
■
Utsignalerna beror av insignal och gammalt
tillstånd:
Insignaler
Utsignaler
Digital funktion
ƒ
(
)
Minneselement
M
Synk
Digitalteknik F1 bild 10
Komponenter
■
■
■
Grindar
Vippor
MSI-kretsar
– Kombinatoriska
■ adderare
■ multiplexer
■ jämförare
– Sekventiella
■ räknare
■ register
■
Programmerbara kretsar
Digitalteknik F1 bild 11
Arbetssätt och verktyg
Arbetssätt/
verktyg
Manuella
metoder
Boolesk
algebra
Karnaughdiagram
Tillståndstabeller och
-diagram
Datorbaserade
metoder
Prototyp- Secifikations- Optimeringsuppkoppling
språk
program
Simulering
Kretsgenerering
Digitalteknik F1 bild 12
Kombinatoriska kretsar
■
Att beskriva funktionen hos en kombinatorisk
krets:
– Funktionstabell:
Alla kombinationer av in- och
utsignaler skrivs upp systematiskt.
– Logikekvationer: Funktionen beskrivs med hjälp av
Boolesk algebra.
– Logikschema:
Funktionen beskrivs med hjälp av
symboler för enklare kretsar.
– Designspråk:
Funktionen beskrivs med ett formellt
språk.
■
Alla beskrivningar av en given krets är
ekvivalenta.
Digitalteknik F1 bild 13
Funktionstabell
Insignaler
3
2 rader
3 insignaler
–> 8 möjliga komb.
1 utsignal
8
–> 2 möjliga komb.
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
ƒ
0
0
1
1
0
1
0
0
Utsignal(er)
Digitalteknik F1 bild 14
Logikschema
A
1
&
B
1
&
C
1
&
≥1
ƒ
Digitalteknik F1 bild 15
Logikekvationer
■
ƒ = A’BC’ + A’BC + AB’C
Digitalteknik F1 bild 16
Designspråk
module combinatorial_function
“ Input pins
A, B,C
pin 1,2,3;
“output pins
ƒ
pin 4;
equations
ƒ = /A*B*/C + /A*B*C + A*/B*C;
end combinatorial_function
Digitalteknik F1 bild 17
Boolesk algebra
■
En algebra (system med räkneregler,
funktionsvärden etc) som lämpar sig för
digitalteknik.
■
Vi kan använda Boolesk algebra för att:
– beskriva Booleska (digitala) funktioner.
– skriva om Booleska funktioner till en mer ändamålsenlig
form.
– förstå den teoretiska grunden för det som görs dolt i
datorprogram för digital konstruktion
Digitalteknik F1 bild 18
Boolesk algebra
■
■
“Det formella regelsystem (den matematik)
som används för att beskriva och bearbeta
digitala funktioner.
Bygger på
– Axiom (postulat)
– Härledda satser som kan bevisas
■ m h a axiomen
■ m h a perfekt induktion
Digitalteknik F1 bild 19
Boolesk algebra – axiom
■
■
Två element, 0 och 1.
Två operationer,
och
satisfierar:
x*0=0
x*1=x
x*y=y*x
x + 1 = 1
x+0=x
x+y=y+x
x * (y + z) = x * y + x * z
x + y * z = (x + y) * (x + z)
0’ = 1
1’ = 0
(* och +) som
begränsningar
kommutativa
lagar
distributiva
lagar
invers
Digitalteknik F1 bild 20
Boolesk algebra – några satser
(x + y) + z = x + (y + z)
(x * y) * z = x * (y * z)
associativa
lagar
(x + y)’ = x’ * y’
(x * y)’ = x’ + y’
deMorgans
lagar
x+x*y=x
x + x’ = 1
x * (x + y) = x
x * x’ = 0
absorbtion
komplement
x * y + x’ * z = x * y + x’ * z + y * z
konsensus
(x + y)*(x’ + z) = (x + y)*(x’ + z)*(y + z)
Digitalteknik F1 bild 21
Disjunktiv normalform
Rader där ƒ = 1:
ABC = 0 1 0; 0 1 1; 1 0 1
A
0
0
0
0
1
1
1
1
B C
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
ƒ
0
0
1
1
0
1
0
0
Motsvarande Booleska
uttryck kallas mintermer:
A’BC’ A’BC AB’C
Den fullständiga funktionen
ges på disjunktiv normalform
(summa av produkter):
ƒ(ABC) = A’BC’ + A’BC + AB’C
Alla insignaler återfinns i
samtliga termer!
Digitalteknik F1 bild 22
Konjunktiv normalform
Rader där ƒ = 0:
ABC = 0 0 0; 0 0 1; 1 0 0;
1 1 0; 1 1 1
A
0
0
0
0
1
1
1
1
B C
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
ƒ
0
0
1
1
0
1
0
0
Motsvarande Booleska uttryck
kallas maxtermer:
(A + B + C)
(A + B + C’)
(A’ + B + C) (A’ + B’ + C)
(A’ + B’ + C’)
Den fullständiga funktionen ges på
konjunktiv normalform (produkt av
summor):
ƒ(ABC) = (A + B + C) * (A + B + C’) *
(A’ + B + C) * (A’ + B’ + C) *
(A’ + B’ + C’)
Digitalteknik F1 bild 23
Normalformer
■
■
De disjunktiva och konjunktiva
normalformerna består av fullständiga minrespektive maxtermer.
Alternativa (kortare) skrivsätt:
– ƒ(ABC) = ∑ (2,3,5)
– ƒ(ABC) = ∏ (0,1,4,6,7)
Digitalteknik F1 bild 24
Normalformer och logiksymboler
A’BC’ –>
A’BC –>
AB’C –>
A
A’
B
C’
A’
B
C
A
B’
C
1
A+B+C –>
A
B
C
≥1
A+B+C’ –>
A
B
C’
≥1
A’+B+C –>
A’
B
C
≥1
A’+B’+C –>
A’
B’
C
≥1
A’+B’+C’ –>
A’
B’
C’
≥1
&
≥1
&
ƒ
&
A’
B
1
B’
C
1
&
ƒ
C’
Digitalteknik F1 bild 25
Logiksymboler
A
0
0
1
1
B
0
1
0
1
and
0
0
0
1
or
0
1
1
1
&
≥1
nand
1
1
1
0
&
nor
1
0
0
0
xor
0
1
1
0
≥1
=1
Digitalteknik F1 bild 26
deMorgans lagar
■
deMorgans lagar gör det möjligt att växla
mellan AND- och OR-funktioner:
(ab)’ = a’ + b’ –>
&
=
≥1
(a+b)’ = a’b’
≥1
=
&
–>
Digitalteknik F1 bild 27
deMorgan – exempel 1
a
b
c’
■
■
■
■
ƒ = abc’ + a’bc
ƒ’ = (abc’ + a’bc)’
ƒ’ = ((abc’)’ (a’bc)’)
ƒ’’ = ƒ = ((abc’)’(a’bc)’)’
a’
b
c
&
≥1
ƒ
&
ƒ
&
=
a
b
c’
a’
b
c
&
&
Digitalteknik F1 bild 28
deMorgan – exempel 2
■
Funktionstabell:
ABCD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
ƒ
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
■
■
■
ƒ=
a’b’cd’ + a’bc’d’ +
ab’c’d + abcd’
ƒ’ = (a’b’cd’ + a’bc’d’ +
ab’c’d + abcd’)’
ƒ’ = (a’b’cd’)’ * (a’bc’d’)’ *
(ab’c’d)’ * (abcd’)’
ƒ’’ = ((a’b’cd’)’ * (a’bc’d’)’ *
(ab’c’d)’ * (abcd’)’)’
Vår disjunktiva normalform har
transformerats till ett uttryck
på nand-nand-form.
Digitalteknik F1 bild 29
deMorgan – exempel 3
Funktionstabell:
ABCD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
■
ƒ
1
1
1
0
0
1
1
0
1
1
1
1
1
0
1
1
■
■
■
ƒ=
(a+b+c’+d’) * (a+b’+c+d) *
(a+b’+c’+d’) * (a’+b’+c+d’)
ƒ’ = ((a+b+c’+d’) * (a+b’+c+d) *
(a+b’+c’+d’) * (a’+b’+c+d’))’
ƒ’ = (a+b+c’+d’)’ + (a+b’+c+d)’ +
(a+b’+c’+d’)’ + (a’+b’+c+d’)’
ƒ’’ = ((a+b+c’+d’)’ + (a+b’+c+d)’ +
(a+b’+c’+d’)’ + (a’+b’+c+d’)’)’
Vår konjunktiva normalform har
transformerats till ett uttryck på
nor-nor-form.
Digitalteknik F1 bild 30
Konstruktionsuppgifter...
1. NOR-labben:
Du (ni) skall skriva ett program som givet en
godtycklig funktionstabell implementerar
funktionen med endast 2-ingångars NOR-grindar.
2. Multiplikatorn
Du skall konstruera en krets som utför multiplikation
på två 16-bitars tal. Det handlar om en sekventiell
multiplikator som utför operationen i flera steg. Du
kommer att använda ett grafiskt konstruktionshjälpmedel,
GRTL
Digitalteknik F1 bild 31