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