Digital- och datorteknik

Relevanta dokument
Digital- och datorteknik

Digital- och datorteknik

SMD033 Digitalteknik. Digitalteknik F1 bild 1

Digital- och datorteknik

Definition av kombinatorisk logik Olika sätt att representera kombinatorisk logik Minimering av logiska uttryck

Grundläggande Datorteknik Digital- och datorteknik

EDA Digital och Datorteknik 2009/2010

Kap. 7 Logik och boolesk algebra

Digital- och datorteknik

EDA Digital och Datorteknik 2010/2011

Digital Design IE1204

F5 Introduktion till digitalteknik

IE1205 Digital Design. F2 : Logiska Grindar och Kretsar, Boolesk Algebra. Fredrik Jonsson KTH/ICT/ES

Logik. Boolesk algebra. Logik. Operationer. Boolesk algebra

Digital- och datorteknik

Sanningstabell. En logisk funktion kan också beskrivas genom en sanningstabell (truth table) 1 står för sann (true) 0 står för falsk (false)

F5 Introduktion till digitalteknik

IE1204 Digital Design

Switchnätsalgebra. Negation, ICKE NOT-grind (Inverterare) Konjunktion, OCH AND-grind. Disjunktion, ELLER OR-grind

Switch. En switch har två lägen. Sluten/Till (Closed/On) Öppen/Från (Open/Off) Sluten. Öppen. Symbol. William Sandqvist

Maurice Karnaugh. Karnaugh-diagrammet gör det enkelt att minimera Boolska uttryck! William Sandqvist

Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section

Digitalteknik F2. Digitalteknik F2 bild 1

Digital elektronik CL0090

Digital- och datorteknik

Laboration D181. ELEKTRONIK Digitalteknik. Kombinatoriska kretsar, HCMOS v 2.1

Digital- och datorteknik

Moment 2 - Digital elektronik. Föreläsning 1 Binära tal och logiska grindar

Digital- och datorteknik

Digital och Datorteknik

Styrteknik: Grundläggande logiska funktioner D2:1

IE1205 Digital Design: F4 : Karnaugh-diagrammet, två- och fler-nivå minimering

Mintermer. SP-form med tre mintermer. William Sandqvist

DIGITALA TAL OCH BOOLESK ALGEBRA

DIGITALTEKNIK. Laboration D161. Kombinatoriska kretsar och nät

Sanningsvärdet av ett sammansatt påstående (sats, utsaga) beror av bindeord och sanningsvärden för ingående påståenden.

Tentamen i IE1204/5 Digital Design onsdagen den 5/

7, Diskreta strukturer

DIGITALTEKNIK I. Laboration DE1. Kombinatoriska nät och kretsar

Digital- och datorteknik

Digitala system EDI610 Elektro- och informationsteknik

Tentamen i TTIT07 Diskreta Strukturer

Digital- och datorteknik

Tentamen i Digitalteknik, EITF65

Tentamen i Digital Design

Digital- och datorteknik

Digital- och datorteknik

Quine McCluskys algoritm

Tentamen i TDDC75 Diskreta strukturer , lösningsförslag

Övningar och datorlaborationer, Datorer i system

Kursens mål: Grundläggande Datorteknik. Kursens Hemsida. Fatta hur en dator är uppbyggd (HDW) Fatta hur du du programmerar den (SW)

Inledning. Kapitel 0. Det finns tre typer av regler- och styrproblem

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Föreläsning 4/11. Lite om logiska operationer. Hambley avsnitt 12.7, 14.1 (7.3 för den som vill läsa lite mer om grindar)

Vad är det? Översikt. Innehåll. Vi behöver modeller!!! Kontinuerlig/diskret. Varför modeller??? Exempel. Statiska system

MATEMATIKENS SPRÅK. Avsnitt 1

Mattias Wiggberg Collaboration

2.1 Disjunktiv och konjunktiv normalform

Booleska variabler och översättning mellan programuttryck och booleska variabler

Digital Design IE1204

T1-modulen Lektionerna Radioamatörkurs OH6AG OH6AG. Bearbetning och översättning: Thomas Anderssén, OH6NT Heikki Lahtivirta, OH2LH

Föreläsningsanteckningar och övningar till logik mängdlära

Grundläggande digitalteknik

2 Matematisk grammatik

LMA033/LMA515. Fredrik Lindgren. 4 september 2013

Övningshäfte 1: Logik och matematikens språk

Digital Design IE1204

Föreläsningsanteckningar och övningar till logik mängdlära Boolesk algebra

Tentamen i EDA320 Digitalteknik för D2

IE1204/IE1205 Digital Design

5:2 Digitalteknik Boolesk algebra. Inledning OCH-funktionen

Hambley avsnitt 12.7 (7.3 för den som vill läsa lite mer om grindar) sann 1 falsk 0

Formell logik Kapitel 3 och 4. Robin Stenwall Lunds universitet

MA 11. Hur starkt de binder. 2 Reella tal 3 Slutledning 4 Logik 5 Mängdlära 6-7 Talteori 8 Diofantiska ekvationer 9 Fördjupning och kryptografi

Dig o Dat. Digital och Datorteknik. Kursens mål: Digital teknik Dator teknik. Dig o Dat = DoD

Tentamen i IE1204/5 Digital Design måndagen den 15/

Digitalteknik F4. NOR-labben. Digitalteknik F1b bild 1

Grundläggande logik och modellteori

Repetition TSIU05 Digitalteknik Di/EL. Michael Josefsson

Laboration i digitalteknik Introduktion till digitalteknik

DIGITALTEKNIK. Laboration D164. Logiska funktioner med mikroprocessor Kombinatoriska funktioner med PIC16F84 Sekvensfunktioner med PIC16F84

1 Suddig logik och gitter

D. x 2 + y 2 ; E. Stockholm ligger i Sverige; F. Månen är en gul ost; G. 3 2 = 6; H. x 2 + y 2 = r 2.

Övningshäfte 6: 2. Alla formler är inte oberoende av varandra. Försök att härleda ett par av de formler du fann ur några av de övriga.

Laboration D151. Kombinatoriska kretsar, HCMOS. Namn: Datum: Epostadr: Kurs:

Laboration Kombinatoriska kretsar

Jesper Carlström 2008 (reviderad 2009)

Följddiagram för händelsestyrda rörelser

D0013E Introduktion till Digitalteknik

Digitalteknik syntes Arne Linde 2012

Dig o Dat. Digital och Datorteknik. Kursens mål: Digital teknik Dator teknik. Dig o Dat = DoD

Hur implementera algoritmerna på maskinnivå - datorns byggstenar

Lösningsförslag till tentamen i Digitalteknik, TSEA22

Introduktion till digitalteknik

Tommy Färnqvist, IDA, Linköpings universitet. 1 Kursadministration 1. 2 Introduktion Varför logik? Satslogik... 2

Grundläggande logik och modellteori

EDA451 - Digital och Datorteknik 2010/2011. EDA Digital och Datorteknik 2010/2011

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

Transkript:

Digital- och datorteknik Föreläsning #3 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola

Logikgrindar Från data till digitala byggblock: Kursens inledande föreläsningarna har introducerat bitar, bitsträngar och binära koder, d v s det som representerar de data som vår dator kommer att bearbeta. Nästa steg blir nu att ta fram de byggblock (digitala kretsar) som senare på lämpligt sätt kombineras till större byggblock och blir det som utgör datorns grundläggande delar. För detta syfte behöver vi logikgrindar, digitala kretselement som utför enklare logiska operationer. I en logisk operation representerar varje bit ett sanningsvärde* som kan vara antingen SANT ( 1 ) eller FALSKT ( 0 ). * ) Vi har alltså stött på ännu en kodning (tolkning) av binära siffror.

Logikgrindar Grundläggande logikoperationer och dess symboler: Grind (Gate) Symbol Funktionstabell Booleskt uttryck INVERTERARE (ICKE, NOT) ELLER (OR) OCH (AND) x x y x y 1 1 u u u x u 0 1 1 0 x y u 0 0 0 0 1 1 1 0 1 1 1 1 x y u 0 0 0 0 1 0 1 0 0 1 1 1 u = x u = x + y u = x y Funktionstabell: Beskriver de möjliga logiska värden som kan påföras en grinds ingångar samt det resulterande värdet på grindens utgång.

Logikgrindar Regelverk för logiska operationer och grindnät: För bearbetning av variabler (symboler) som representerar tal finns regler som beskriver hur dessa variabler får manipuleras, för att exempelvis lösa ekvationssystem och uttrycka formler. Detta regelverk kallas algebra. Ett motsvarande regelsystem finns för bearbetning av variabler som representerar logiska värden. Dessa regler kan användas för att beskriva och analysera beteendet hos logikgrindar, t ex för påvisa ekvivalens mellan två givna grindnät eller för att ta fram kretslösningar med så få grindar som möjligt. Detta speciella regelverk kallas Boolesk algebra.

Boolesk algebra George Boole Claude Shannon På 1930-talet jobbade Shannon med switchnät, nät uppbyggda av kretselement som kan växla mellan två tillstånd. Kretselementen bestod vid den tiden av reläer. För att modellera och analysera kretselementen på en matematisk form använde han den algebra som Boole presenterat i mitten av 1800-talet.

Egenskaper: Boolesk algebra Den booleska algebran definieras av en uppsättning värden som variabler och konstanter kan anta en uppsättning grundläggande operationer som kan utföras på variabler och konstanter en uppsättning räkneregler De värden som kan antas är SANT (1, ) eller FALSKT (0, ) De grundläggande operationer som kan utföras är: ICKE (negation): x (alt. x' el. x) ELLER (disjunktion): x + y (alt. x y) OCH (konjunktion): x y (alt. xy, x y el. x y)

Räkneregler: (Postulat) Boolesk algebra P1. x + y = y + x (kommutativa lagarna) x y = y x P2. x (y + z) = x y + x z (distributiva lagarna) x + (y z) = (x + y) (x + z) P3. x + 0 = x (neutralt element) x 1= x P4. x + x = 1 (komplementlagarna) x x = 0

Räkneregler: (Teorem) Boolesk algebra T5. x + (y + z) = (x + y) + z (associativa lagarna) x (y z) = (x y) z T6. x y = (x + y) (De Morgans lagar) x + y = (x y) T7. x + x = x (idempotent element) x x = x T8. x + 1= 1 (annihilerande element) x 0 = 0 T9. (x) = x (dubbel negation)

Ett möjligt framtida scenario För att illustrera hur användbar Boolesk algebra är i digitaloch datorteknik, föreställer vi oss ett scenario i en inte alltför avlägsen framtid: Du är helt ny på ditt jobb som konstruktör av digitala system, och har fått i uppgift att avsluta ett pågående projekt. Allt går bra tills du kommer till en delkomponent som tyvärr använder för många logiska grindar för att projektet skall uppfylla kraven. Mer specifikt har du fastnat vid funktionen f = (x+y)(x+z) som tar tre logiska grindar i anspråk, men som du misstänker kan realiseras med färre grindar. Om du hittar en sådan lösning skulle produkten kunna färdigställas (varandes lite billigare och strömsnålare), vilket säkerligen skulle uppskattas av din chef.

Ett möjligt framtida scenario Då deadline för uppgiften är redan i morgon, och då du känner dig orutinerad vad gäller denna del av digitalteknik som kallas "kretsminimering, rådfrågar du en kollega som lovar att ta en titt på detta snarast möjligt. När arbetsdagen är nästan till ända kommer din kollega med en lösning som bara behöver två grindar: g = x+yz. Din kollega har dock bråttom hem och hinner inte stanna för att förklara hur han fått fram lösningen, utan säger bara "Trust me! Då du vet att din kollega gått på Högskolan i X, och inte på Chalmers, vill du helst verifiera att den nya lösningen ger samma funktion som den första. Du vill ju inte lämna ifrån dig en felaktig design det första du gör på ditt nya jobb

Ett möjligt framtida scenario Visa på lämpligt sätt att (x + y)(x + z) = x + y z Metod 1: Ställ upp en sanningstabell och visa att de två uttrycken ger samma utfall för varje kombination av uttryckens variabler. Metod 2: Visa ekvivalensen algebraiskt genom att tillämpa räknereglerna i den Boolska algebran.

Ett möjligt framtida scenario En tid har gått och du tänker tillbaka på den lyckade starten på ditt jobb. Fast det retar dig lite att du inte hade egen kunskap för att lösa detta. Därför tar du fram ditt gamla material från kursen i Digital- och datorteknik, och går igenom det i lugn och ro under en helg, så att du kan vara ordentligt förberedd nästa gång en liknande uppgift dyker upp. Så: hur borde du ha löst uppgiften???

SP- och PS-form: Boolesk algebra I det framtida scenariot observerade vi att funktionen hos en krets kan uttryckas på två olika former: Som en summa av produkter, SP-form, även kallad disjunktiv form. Din kollegas lösning, x+yz, är exempel på sådan form. Som en produkt av summor, PS-form, även kallad konjunktiv form. Den lösning du ville förbättra, (x+y)(x+z), är exempel på sådan form. SP-form och PS-form för samma funktion är alltså ekvivalenta, så endera formen kan väljas. Dock kan den ena i praktiken vara mer lämpad, t ex på grund av begränsningar i hur många grindar som totalt får användas, eller på grund av begränsningar i vilken typ av grindar som får användas.

Mintermer och maxtermer: Boolesk algebra Utgående från funktionstabellen för en given Booleskt 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. Observera att varje minterm och maxterm är unik och innehåller samtliga invariabler.

Boolesk algebra Ta fram SP normal form för (x + y)(x + z) Kommentar: Vi väljer SP-form eftersom vi såg att din kollegas lösning, med det minsta antalet grindar, hade den formen.

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 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å SP normal form för (x + y)(x + z)