SMD033 Digitalteknik Digitalteknik F1 bild 1
Vi som undervisar Anders Hansson A3209 91 230 aha@sm.luth.se Digitalteknik F1 bild 2
Registrering Registrering via email till diglabs@luth.se 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: Laborationer/konstruktionsuppgifter LuTH: 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 TV / Video Trafikljus Bilmotorer Räknande apparater (databeh. system): Kalkylatorer Datorer Telefoner 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 Datorbaserade metoder Boolesk algebra Karnaughdiagram Tillståndstabeller och -diagram Simulering Prototypuppkoppling Secifikationsspråk Optimeringsprogram 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 B C ƒ 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 0 Utsignal(er) Digitalteknik F1 bild 14
Logikschema A 1 & B 1 & 1 ƒ C 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 (* och +) som satisfierar: x * 0 = 0 x + 1 = 1 begränsningar x * 1 = x x + 0 = x x * y = y * x x + y = y + x kommutativa lagar x * (y + z) = x * y + x * z distributiva x + y * z = (x + y) * (x + z) lagar 0 = 1 1 = 0 invers Digitalteknik F1 bild 20
Boolesk algebra några satser (x + y) + z = x + (y + z) associativa (x * y) * z = x * (y * z) lagar (x + y) = x * y demorgans (x * y) = x + y lagar x + x * y = x x * (x + y) = x absorbtion x + x = 1 x * x = 0 komplement x * y + x * z = x * y + x * z + y * z (x + y)*(x + z) = (x + y)*(x + z)*(y + z) konsensus Digitalteknik F1 bild 21
Disjunktiv normalform A B C ƒ 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 0 Rader där ƒ = 1: ABC = 0 1 0; 0 1 1; 1 0 1 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 A B C ƒ 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 0 Rader där ƒ = 0: ABC = 0 0 0; 0 0 1; 1 0 0; 1 1 0; 1 1 1 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 B C & A+B+C > A+B+C > A B C A B C 1 1 A BC > A B C & 1 ƒ A +B+C > A B C 1 & ƒ AB C > A B C & A +B +C > A +B +C > A B C A B C 1 1 A 1 A B 1 B C 1 C Digitalteknik F1 bild 25
Logiksymboler A B and or nand nor xor 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 1 1 1 0 0 0 & 1 & 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 ƒ = abc + a bc ƒ = (abc + a bc) ƒ = ((abc ) (a bc) ) a b c a b c & & = 1 ƒ ƒ = ƒ = ((abc ) (a bc) ) a b c a b c & & & ƒ Digitalteknik F1 bild 28
demorgan exempel 2 Funktionstabell: ABCD ƒ 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 1 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 ƒ 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 0 1 1 1 0 1 1 1 1 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