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
© Copyright 2024