Digital- och datorteknik Föreläsning #4 Biträdande professor Jan Jonsson Instittionen för data- och informationsteknik Chalmers tekniska högskola
SP- och PS-form: Boolesk algebra Vid förra föreläsningen konstaterade vi att fnktionen hos en krets kan ttrckas på två olika former: Som en smma av prodkter, SP-form, även kallad disjnktiv form. Eempel: ttrcket +z är på SP-form. Som en prodkt av smmor, PS-form, även kallad konjnktiv form. Eempel: ttrcket (+)(+z) är på PS-form. SP-form och PS-form för samma fnktion är alltså ekvivalenta, så endera formen kan väljas.
Mintermer och matermer: Boolesk algebra Utgående från fnktionstabellen för en given Boolesk fnktion är det möjligt att härleda fnktionens SP-form respektive PS-form: För SP-form skall vi identifiera de rader i tabellen som har ett fnktionsvärde lika med 1. Den nika prodkten av invariabler för en sådan rad kallas för en minterm. Smman av alla mintermer kallas för SP normal form. För PS-form skall vi identifiera de rader i tabellen som har ett fnktionsvärde lika med 0. Den nika smman av invariabler för en sådan rad kallas för en materm. Prodkten av alla matermer kallas för PS normal form.
Boolesk algebra Samtliga mintermer och matermer för tre variabler: Minterm z z z z z z z z Är 1 om 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 Materm + + z + + z + + z + + z + + z + + z + + z + + z Är 0 om 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 ( + )( + z)
Karnaghminimering Minimering av Booleska fnktioner: Om vi inte är nöjda med den lösning som ges av fnktionens SP normal form eller PS normal form, kan vi härleda ett minimalt ttrck genom Karnaghminimering. Denna metod bgger på att man för in fnktionstabellen i en matris (Karnaghdiagram) med invariablernas olika värden längs rader och kolmner. Varje rta i matrisen representerar fnktionsvärdet för en minterm (för SP form) eller en materm (för PS form).
Karnaghminimering Minimering av Booleska fnktioner: För att ge möjlighet till effektiv eliminering av onödiga variabler skall intilliggande rader respektive kolmner representera termer ordnade enligt Gra-kod, d v s de skiljer sig åt i en bitposition. Ringa in så stora grpper av 1:or (för SP form) eller 0:or (för PS form) som möjligt, och ta fram ttrcken för dessa. Gör Karnaghminimering på PS normal form för ( + )( + z)
De grndläggande logikoperationerna: INVERTERARE (ICKE, NOT) 0 1 1 0 = ELLER (OR) 0 0 0 0 1 1 1 0 1 1 1 1 = ( + ) OCH (AND) 0 0 0 0 1 0 1 0 0 = ( ) 1 1 1
på riktigt : Under 1900-talet användes tre olika tper av komponenter för att realisera logikgrindar: Reläer Elektronrör Transistorer Gemensamt för dessa komponenter är att de har en strsignal som öppnar och stänger en grind som reglerar ett annat signalflöde. Likt en vattenventil, fast med elektronisk strning av elektriska signaler.
Reläer: Strsignal på ger ström genom en spole som aktiverar en elektromagnet. Denna maniplerar en strömbrtare som kan användas för att öppna och stänga förbindelsen mellan A och B. A B strsignal
Elektronrör: Strsignal 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. A B strsignal
Transistor (nmos): Strsignal på lägger ett positivt elektriskt fält på en grind ( gate ) varpå en ledande kanal i kiselsbstratet öppnas pp. Grinden kan alltså öppna och stänga förbindelsen mellan A och B. A strsignal B nmos pmos pmos-transistorn fngerar på ett liknande sätt men har inverterad logik.
Inverterare (ICKE, NOT) på riktigt : Insignal på ( = 1) lägger ett positivt elektriskt fält på den nedre transistorns (nmos) grind varpå dess kanal öppnas och släpper igenom den logiska signalen till tsignal. Samtidigt ges samma insignal till den övre transistorn (pmos) vars inverterade logik gör att dess kanal stängs, och förhindrar att den logiska signalen når tsignal. Resltat: = 1 ger tsignalen = 0 3
Inverterare (ICKE, NOT) på riktigt : Insignal av ( = 0) tar bort det positiva elektriskt fältet på den nedre transistorns (nmos) grind varpå dess kanal stängs och förhindrar att den logiska signalen når tsignal. Samtidigt ges samma insignal till den övre transistorn (pmos) vars inverterade logik gör att dess kanal öppnas och släpper igenom den logiska signalen till tsignal. Resltat: = 0 ger tsignalen = 1 3
ELLER (OR) på riktigt : Om båda insignalen är av ( = 0 och = 0) tas det positiva elektriskt fältet bort på de två nmos-transistorernas grindar och deras kanaler stängs. Samtidigt ges samma insignal till de två pmos-transistorerna vars inverterade logik gör att deras kanaler öppnas. Detta gör att signalen w = 1. Vi ser att de två transistorerna till höger tgör en inverterare, vilket innebär att tsignalen = 0 2 w
ELLER (OR) på riktigt : Om den övre insignalen slås på ( = 1) läggs ett positivt elektriskt fält på den vänstra nmos-transistorns grind varpå dess kanal öppnas pp. Samtidigt ges samma insignal till den övre pmos-transistorn vars inverterade logik gör att dess kanal stängs. Detta gör att signalen w = 0. Vi ser att de två transistorerna till höger tgör en inverterare, vilket innebär att tsignalen = 1 2 w Notera att samma resltat erhålls för = 1.
OCH (AND) på riktigt : Om båda insignalen är på ( = 1 och = 1) läggs ett positivt elektriskt fält på de två nmos-transistorernas grindar och deras kanaler öppnas. Samtidigt ges samma insignal till de två pmos-transistorerna vars inverterade logik gör att deras kanaler stängs. Detta gör att signalen w = 0. Vi ser att de två transistorerna till höger tgör en inverterare, vilket innebär att tsignalen = 1 4 w 5
OCH (AND) på riktigt : Om den övre insignalen slås av ( = 0) tas det positiva elektriskt fältet bort på den nedre nmos-transistorns grind varpå dess kanal stängs. Samtidigt ges samma insignal till den vänstra pmos-transistorn vars inverterade logik gör att dess kanal öppnas. Detta gör att signalen w = 1. Vi ser att de två transistorerna till höger tgör en inverterare, vilket innebär att tsignalen = 0 Notera att samma resltat erhålls för = 0. 4 5 w
1 NOR och NAND: Vi såg att det vid realisering av ELLER- och OCH-grinden med transistorer sitter en inverterare på grindens tgång. Detta gör att realisering av grindnät i många sammanhang kan kräva onödigt många transistorer. 2 Inverterare 4 Inverterare 3 5
NOR och NAND: Av det skälet brkar man istället använda de negerade logiska fnktionerna som grndläggande bggblock. Dessa bggblock kallas för NOR- respektive NAND-grind. 3 2 NOR-grind 4 NAND-grind 0 1 0 1 0 0 1 1 1 5
4 0 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 1 1 1 0 1 1 1 1 NOR ( negated OR ) 0 0 1 0 1 0 1 0 0 1 1 0 5 NAND ( negated AND ) 0 0 1 0 1 1 = ( + ) = ( ) 1 0 1 1 1 0 Vi skall senare visa hr man enkelt kan översätta grindnät på SP-form (AND/OR-logik) till NAND-logik, och grindnät på PS-form (OR/ANDlogik) till NOR-logik. På så sätt får grindnätet färre transistorer, och blir desstom snabbare. 1 2