INF2270. Boolsk Algebra og kombinatorisk logikk

Like dokumenter
IN1020. Logiske porter om forenkling til ALU

Hva gikk vi gjennom forrige uke? Omid Mirmotahari 3

Ferdighetsmål: Kunne forenkle boolske uttrykk Kunne implementere flerinputs-porter med bare 2-inputs porter

INF1400. Karnaughdiagram

INF1400 Kap 02 Boolsk Algebra og Logiske Porter

Forelesning 2. Boolsk algebra og logiske porter

INF1400. Kombinatorisk Logikk

Forelesning 3. Karnaughdiagram

Repetisjon digital-teknikk. teknikk,, INF2270

INF1400. Kombinatorisk Logikk

Forelesning 4. Binær adder m.m.

Repetisjon. Sentrale temaer i kurset som er relevante for eksamen (Eksamen kan inneholde stoff som ikke er nevnt her)

Forelesning 5. Diverse komponenter/større system

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and. ! Kort repetisjon fra forrige gang

INF1400. Digital teknologi. Joakim Myrvoll 2014

INF1400 Kap4rest Kombinatorisk Logikk

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Kort repetisjon fra forrige gang. Kombinatorisk logikk

Dagens temaer. Dagens temaer er hentet fra P&P kapittel 3. Motivet for å bruke binær representasjon. Boolsk algebra: Definisjoner og regler

Oppsummering digital-teknikk, teknikk, INF2270

Dagens tema. Dagens temaer hentes fra kapittel 3 i læreboken. Repetisjon, design av digitale kretser. Kort om 2-komplements form

VLSI (Very-Large-Scale-Integrated- Circuits) it Mer enn porter på samme. LSI (Large-Scale-Integrated-Circuits)

4 kombinatorisk logikk, løsning

UNIVERSITETET I OSLO

TFE4101 Krets- og Digitalteknikk Høst 2016

UNIVERSITETET I OSLO

Løsningsforslag til regneøving 6. a) Bruk boolsk algebra til å forkorte følgende uttrykk [1] Fjerner 0 uttrykk, og får: [4]

Løsningsforslag i digitalteknikkoppgaver INF2270 uke 5 (29/1-4/2 2006)

Datamaskiner og operativsystemer =>Datamaskinorganisering og arkitektur

UNIVERSITETET I OSLO

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

TFE4101 Krets- og Digitalteknikk Høst 2016

Notater: INF2270. Veronika Heimsbakk 10. juni 2014

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK, LF DIGITALTEKNIKKDELEN AV EKSAMEN (VERSJON 1)

INF1400. Sekvensiell logikk del 1

INF2270. Sekvensiell Logikk

INF1400. Sekvensiell logikk del 1

Høgskoleni østfold EKSAMEN. Dato: Eksamenstid: kl til kl. 1200

INF1400. Tilstandsmaskin

INF1400. Tilstandsmaskin

Forelesning 7. Tilstandsmaskin

IN1020. Sekvensiell Logikk

Kapittel 5 Tilstandsmaskin

UNIVERSITETET I OSLO

V.17. Sven Åge Eriksen. Referanse:

Løsningsforslag INF1400 H04

Dagens temaer. Dagens temaer hentes fra kapittel 3 i læreboken. Oppbygging av flip-flop er og latcher. Kort om 2-komplements form

Emnenavn: Datateknikk. Eksamenstid: 3 timer. Faglærer: Robert Roppestad. består av 5 sider inklusiv denne forsiden, samt 1 vedleggside.

7. Hvilket alternativ (A, B eller C) representerer hexadesimaltallet B737 (16) på oktal form?

NY EKSAMEN Emnekode: ITD13012

EKSAMEN Emnekode: ITD13012

ITPE2400/DATS2400: Datamaskinarkitektur

Løsningsforslag til 1. del av Del - EKSAMEN

Høgskoleni østfold EKSAMEN. Emnekode: Emne: ITD13012 Datateknikk (deleksamen 1, høstsemesteret) Dato: Eksamenstid: kl til kl.

Forelesning 6. Sekvensiell logikk

Digital representasjon

kl 12:00 - mandag 31. mars 2008 Odde: uke 11 (12. mars 2008) Utlevert: fredag 7. mars 2008 Like: uke 13 (26. mars 2008) Regneøving 4

Prosent- og renteregning

EKSAMEN (Del 1, høsten 2015)

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK

MIK 200 Anvendt signalbehandling, Lab. 5, brytere, lysdioder og logikk.

Løsningsforslag til eksamen i INF2270

Datateknikk TELE1004-A 13H HiST-AFT-EDT. Oppgåve 1. Delemne digitalteknikk og datakommunikasjon Øving 2; løysing

PENSUM INF1400 H11. Joakim Myrvoll Johansen. Digital Design, M. Morris Mano, 4th edition

SIE 4005, 2/10 (2. Forelesn.)

INF1400 Kap 1. Digital representasjon og digitale porter

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

, ~', -~ lalle trykte og skrevne hjelpemidler. I Kalkulator som ikke kan kommunisere med andre.

- - I Aile trykte og skrevne. samt kalkulator

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK Fredag 21. mai 2004 Tid. Kl

EKSAMEN (Del 1, høsten 2014)

5 E, B (16) , 1011 (2) Danner grupper a' fire bit , (2) Danner grupper a' tre bit 1 3 6, 5 4 (8)

HiST-AFT-EDT Digitalteknikk EDT001T-A 11H

INF2270. Datamaskin Arkitektur

Digitalstyring sammendrag

Andre funksjoner som NAND, NOR, XOR og XNOR avledes fra AND, To funksjoner er ekvivalente hvis de for alle input-kombinasjoner gir

Overordnet maskinarkitektur. Maskinarkitektur zoomet inn. I CPU: Kontrollenheten (CU) IT1101 Informatikk basisfag, dobbeltime 11/9

Løsningsforslag til regneøving 4

SIE 4005, 8/10 (3. Forelesn.)

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er

LØSNINGSFORSLAG 2006

Det matematisk-naturvitenskapelige fakultet

! Brukes for å beskrive funksjoner i digitale kretser. ! Tre grunnleggende funksjoner: AND, OR og NOT

RAPPORT LAB 3 TERNING

Løsningsforslag til 1. del av Del - EKSAMEN

INF2270. Datamaskin Arkitektur

Dagens temaer. temaer hentes fra kapittel 3 i Computer Organisation. av sekvensielle kretser. and Architecture. Tilstandsdiagram.

MAX MIN RESET. 7 Data Inn Data Ut. Load

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

VEILEDNING TIL LABORATORIEØVELSE NR 4

Helhetlige pasientforløp. med IKT og telemedisin. Health World 2011 Ellen Rygh, Gro Berntsen, Gerd Ersdal

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Låsekretser (latch er) SR latch bygget med NOR S R latch bygget med NAND D latch. Master-slave D flip-flop JK flip-flop T flip-flop

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK

Oppsummering av digitalteknikkdelen

Generell informasjon

SIE 4005, 9/10 (4. Forelesn.)

Transkript:

INF227 Boolsk Algebra og kombinatorisk logikk

Hovedpunkter Boolsk Algebra og DeMorgans Teorem Forkortning av uttrykk ved regneregler Utlesing av sannhetsverdi-tabell; Max og Min-termer Forkortning av uttrykk med Karnaugh diagram Portimplementasjon Kretsanalyse Adder og subtraktor design Generell Black-box design/tankesett Enkoder og Dekoder Multiplexer og DeMultiplexer

Boolsk Algebra Variable kan ha to verdier: og Tre basis regneoperasjoner: AND, OR, NOT Omid Mirmotahari 4

Boolsk Algebra Boolske funksjoner kan spesifiseres enten:. Funksjonsuttrykk 2. Sannhetsverdi-tabell Omid Mirmotahari 5

Sannhetstabell En boolsk funksjon kan visualiseres i en sannhetstabell Eksempel: F = x + y z En gitt funksjon har kun en sannhetstabell x y z F Men, en gitt sannhetstabell har uendelig mange funksjonsuttrykk Omid Mirmotahari 6

Sannhetsverdi-tabell 3 variable X Y Z F Omid Mirmotahari 7

DeMorgans teorem (x y) = x + y (x + y) = x y På invertert form: x y = (x + y ) x + y = (x y ) Omid Mirmotahari 8

Huntington postulater (P) Mengden {,} er lukket under + og lukket (P) x + x = x x x = x (P2) x + = x x = x ident.el. (P2b) x + = x = (P5) x + x = x x = komplem. (P6) minst 2 el. (P3) x + y = y + x x y = y x kommutativ (P4) x (y + z) = x y + x z x+(y z) = (x+y) (x+z) distributiv (P5) (x ) = x Dualitet for postulatene: Kan bytte med + hvis man bytter med Presedens: Først utføres, så, så og til slutt + Omid Mirmotahari 9

Regneregler - oversikt x + = x x + x = xx = x + y = y+x xy = yx x + (y+z) = (x+y) + z x (yz) = (xy)z x(y+z) = xy + xz x + (yz) = (x+y)(x+z) x + x = x x + = x + xy = x x(x+y) = x (x+y) = x y (xy) = x + y Omid Mirmotahari

Forenkling av uttrykk F = x y z + x yz + xy Prosedyre: Omid Mirmotahari

Forenklingseksempler Eksempel: F = x(x +y) Eksempel: F = x+x y Eksempel: F = (x+y)(x+y ) Omid Mirmotahari 2

Forenklingseksempler II Eksempel: F = xy+x z+yz Eksempel: F = (x+y)(x +z)(y+z) Omid Mirmotahari 3

Komplement av funksjon Inverterer begge sider og bruker DeMorgan Eksempel: F = x yz +x y z Eksempel: F = x(y z +yz) Omid Mirmotahari 4

Minterm I en funksjon kan en binær variabel x opptre som x eller x En funksjon kan være gitt på sum av produkt form Eksempel: F = xy + xy + x Hvert produktledd som inneholder alle variablene kalles en minterm. For to variable finnes det 4 forskjellige mintermer: For 3 variable finnes det 2 3 forskjellige mintermer Omid Mirmotahari 5

Maksterm En funksjon kan være gitt på produkt av sum form Eksempel: F = (x+y)(x+y )y Hvert summeledd som inneholder alle variablene kalles en maksterm For to variable finnes det 4 forskjellige makstermer: For n variable finnes det 2 n forskjellige makstermer Omid Mirmotahari 6

Sannhetstabell / mintermer Hvis man genererer en funksjon ut i fra sannhetstabellen får man en sum av mintermer Eksempel: F = x y z + xy z + xyz En sannhetstabell kan sees på som en liste av mintermer x y z F Omid Mirmotahari 7

Notasjon Mintermer har notasjon m x Maxtermer har notasjon M x Funksjoner som bare består av sum/produkt av min/maxtermer (kanonisk form) har følengde notasjon: F(x,y,z) = S(m 3, m 6 ) = F(x,y,z) = Π(M 3, M 6 ) = Omid Mirmotahari 8

Karnaughdiagram Grafisk metode for forenkling av Boolske uttrykk Uttrykket må være representert ved sum av mintermer (m x ). Disse leser vi direkte ut av sannhetstabellen Metoden egner seg for funksjoner med 2-4(5) variable Eksempel, 2 variable: F = m + m 3 = Eksempel, 4 variable: F = m + m + m 5 = Omid Mirmotahari 9

Prosedyre, 2 variable Setter inn mintermene i diagram Eksempel: generell funksjon - 2 variable F = m + m + m 2 + m 3 Omid Mirmotahari 2

Prosedyre, 2 variable F = xy F 2 = x y + xy + xy Omid Mirmotahari 2

Prosedyre, utlesning Grupperer naboruter som inneholder slik at vi får sammenhengende rektangler, Velg så store grupper som mulig. Antall element må være en potens av 2 Representerer gruppene ved de variablene i gruppen som ikke varierer Omid Mirmotahari 22

Prosedyre, utlesning Funksjonene som diagrammene beskriver er nå gitt av summen av uttrykkene som representerer hver gruppe F = xy F 2 = x + y y xy x Omid Mirmotahari 23

Karnaugh - 3 variable Plassering av mintermer for 3-variable funksjoner: Mintermene plasseres slik at kun variabel varierer i mellom hver vannrette/loddrette naborute yz Omid Mirmotahari 24

Karnaugh - 4 variable Plassering av mintermer for 4-variable funksjoner Mintermene plasseres slik at kun variabel varierer i mellom hver vannrette/loddrette naborute Omid Mirmotahari 25

Grupperingsregler for diagram med 2-4 variable Grupperer naboruter som inneholder slik at vi får sammenhengende rektangler Ytterkantene av diagrammet kan også være naboruter Eksempel Omid Mirmotahari 26

Grupperingsregler for diagram med 2-4 variable Omid Mirmotahari 27

Grupperingsregler for diagram med 2-4 variable Omid Mirmotahari 28

Utlesningssregler for diagram med 2-4 variable Representerer hver gruppe ved de variablene i gruppen som ikke varierer. Diagrammets funksjon blir summen av hvert gruppeledd: Eksempel F = AD + CD + B C + AB Omid Mirmotahari 29

Utlesningsregler for diagram med 2-4 variable Eksempel: F = Merker oss at jo større ruter desto enklere uttrykk Omid Mirmotahari 3

Utlesningssregler for diagram med 2-4 variable F = Omid Mirmotahari 3

Utlesning av ere Ved å lese ut de tomme rutene ( erne) fra diagrammet får man F Dette kan noen ganger gi en enklere funksjon, eksempel: Hadde vi lest ut ere ville vi fått Omid Mirmotahari 32

Spesialteknikker Omid Mirmotahari 33

XOR XOR funksjonen dekker maksimalt uheldige er plasseringer i diagrammet Har man XOR porter til rådighet bruker man disse I dette eksemplet kan stk. 3-inputs XOR realisere F Omid Mirmotahari 34

XOR XNOR XOR XOR representerer den odde funksjonen, dvs de kombinasjoner av inngangen hvor det er odde antall ere ab cd ab cd Man kan også bruke Karnaugh diagram til å forenkle enkelte XOR funksjoner. XNOR er den inverterte funksjonen av XOR ab cd ab cd ab cd ab cd Omid Mirmotahari 35

XOR XOR funksjonen kan kombineres med andre ledd Eksempel: F = A B C D + A C D Omid Mirmotahari 36

Designeksempel Vi ønsker å designe en krets som kan sammenligne to tall A og B. Hvert tall er representert ved to bit. Kretsen skal finne A>B samt A=B Vi har dermed 2 2=4 innganger, og 2 utganger Setter navn på utgangene: F for A>B og F 2 for A=B A A B Digitalt system F B F 2 Omid Mirmotahari 37

Designeksempel Innganger Utganger A B Vi trenger en oversikt over alle mulige inngangs/utgangs kombinasjoner, derfor: Setter opp en sannhetstabell for hver utgang (slår sammen til en dobbel tabell) Leser ut mintermer F = A A B B + A A B B + A A B B + A A B B + A A B B + A A B B F 2 = A A B B + A A B B Omid Mirmotahari 3 8 A B F F 2

Forenkler uttrykket for å spare porter F B B Setter inn i Karnaughdiagram A A F = A A B B + A A B B + A A B B + A A B B + A A B B + A A B B F 2 = A A B B + A A B B + A A B B + A A B B A A F 2 B B Omid Mirmotahari 39

F B B Leser ut av diagrammene F = A B + A B B + A A B A A F 2 : Ingen forenkling mulig ved utlesning av ere, leser derfor ut ere F 2 = A B + A B + A B + A B Inverterer begge sider F 2 = (A B + A B + A B + A B ) F 2 A A B B Omid Mirmotahari 4

Implementerer uttrykkene F = A B + A B B + A A B F 2 = (A B + A B + A B + A B ) ( Hva med XOR? ) A B A B B F A B A B A B F 2 A A B A B Omid Mirmotahari 4

Black box tankesett! Styring av heis Omid Mirmotahari 42

Designeksempel Styring av heis Inngangssignaler fra sensor K = Knapp trykket inn: / V = Overvekt: / D = Dør lukket: / K V D Kontroll logikk M Utgangssignal til aktuator: M = Motor på: / Omid Mirmotahari 43

Sannhetstabell for designet K V D M Omid Mirmotahari 44

Implementasjon på portnivå Omid Mirmotahari 45

Port-implementasjon Omid Mirmotahari 46

Kretsanalyse Omid Mirmotahari 47

Generell analyseprosedyre for digitale kretser ) Sett funksjonsnavn på ledningene 2) Finn funksjonene 3) Kombiner funksjonsuttrykkene Omid Mirmotahari 48

Eksempel T 2 F F T T 3 F 2 F 2 Omid Mirmotahari 49

Adder og subtraktor design Omid Mirmotahari 5

Binær adder En av de mest brukte digitale kretser Vanlige anvendelser: Mikroprosessor ALU / Xbox / mikserbord / digitalt kommunikasjonsutstyr / AD-DA omformere osv... Basis for addisjon / subtraksjon / multiplikasjon / divisjon og mange andre matematiske operasjoner All form for filtrering / signalbehandling Omid Mirmotahari 5

Binær adder Ønsker å designe en generell binær adder Funksjonelt eksempel Adder to tall A=5 og B=3: + = + = + = + = + = + = S B A Omid Mirmotahari 52

Et adder system Systemelementer: Halvadder: Tar ikke mente inn Fulladder: Tar mente inn A 3 B 3 A 2 B 2 A B A B C 4 Full adder C 3 Full adder C 2 Full adder C Halv C = adder S 3 S 2 S S Omid Mirmotahari 5 3

Halvadder (ingen mente inn) Adderer sammen de to minst signifikante bittene A og B. Elementet har 2 innganger og 2 utganger Sannhetstabell S = C = Omid Mirmotahari 54

Halvadder implementasjon Omid Mirmotahari 55

Fulladder (mente inn) Adderer sammen bit A n, B n med evt. mente inn Sannhetstabell Elementet har 3 innganger og 2 utganger S n = C n+ Omid Mirmotahari 56

Forenkling Forenkler C n+ ved Karnaughdiagram A n B n C n C n+ = A n B n C n + A n B n C n + A n B n C n + A n B n C n C n+ = Omid Mirmotahari 57

Implementasjon I Rett fram implementasjon S n = A n B n C n A n B n C n S n C n+ = A n B n + A n C n + B n C n A n B n A n C n C n+ B n C n Omid Mirmotahari 58

Implementasjon II Forenklet implementasjon av C n+ basert på gjenbruk av porter fra S n S n = (A n B n ) C n Leser ut C n+ fra karnaughdiagram på nytt B n C n C n+ = A n B n + A n B n C n + A n B n C n A n C n+ = A n B n + (A n B n + A n B n ) C n C n+ = A n B n + (A n B n ) C n Omid Mirmotahari 59

Implementasjon II Vanlig implementasjon av en-bits fulladder S n = (A n B n ) C n C n+ = A n B n + (A n B n ) C n A n A n B n B n S n A n B n C n+ C n Omid Mirmotahari 6

Binær adder - Oppsummering Halvadder (ikke mente inn) A B S C n+ C n C C A n A n B n Fulladder (evt. mente inn) S n A B + S = A B C n+ B n S n S Omid Mirmotahari 6 C n

Menteforplantning 4-bits binær adder Full adder C 3 Full adder C 2 Full adder C Halv adder C 4 Omid Mirmotahari 62

Menteforplantning Portforsinkelse gir menteforplantning (rippeladder) Eksempel Adderer og Full adder Full adder Full adder Halv adder Omid Mirmotahari 63

Subtraksjon? Omid Mirmotahari 64

Komparator Komparator sammenligner to tall A og B 3 utganger: A=B, A>B og A<B Eksempel: 4-bits komparator Utgang A=B Slår til hvis A =B og A =B og A 2 =B 2 og A 3 =B 3 Kan skrives: (A B ) (A B ) (A 2 B 2 ) (A 3 B 3 ) Omid Mirmotahari 65

Komparator - eksempel Utgang A>B slår til hvis: (A 3 >B 3 ) eller (A 2 >B 2 og A 3 =B 3 ) eller (A >B og A 2 =B 2 og A 3 =B 3 ) eller (A >B og A =B og A 2 =B 2 og A 3 =B 3 ) Kan skrives: (A 3 B 3 ) + (A 2 B 2 ) (A 3 B 3 ) + (A B ) (A 2 B 2 ) (A 3 B 3 ) + (A B )(A B ) (A 2 B 2 ) (A 3 B 3 ) Omid Mirmotahari 66

Komparator - eksempel Utgang A<B slår til hvis: (A 3 <B 3 ) eller (A 2 <B 2 og A 3 =B 3 ) eller (A <B og A 2 =B 2 og A 3 =B 3 ) eller (A <B og A =B og A 2 =B 2 og A 3 =B 3 ) Kan skrives: (A 3 B 3 ) + (A 2 B 2 ) (A 3 B 3 ) + (A B ) (A 2 B 2 ) (A 3 B 3 ) + (A B )(A B ) (A 2 B 2 ) (A 3 B 3 ) Omid Mirmotahari 67

Komparator - eksempel Omid Mirmotahari 68

Dekoder Dekoder tar inn et binært ord, gir ut alle mintermer Eksempel: 3bit inn / 8bit ut Omid Mirmotahari 69

Dekoder - sannhetstabell Eksempel: 3bit inn Innganger Utganger x y z D D D 2 D 3 D 4 D 5 D 6 D 7 Omid Mirmotahari 7

Dekoder generering av logiske funksjoner Dekoder - elektrisk sannhetstabell. Kan generere generelle logiske funksjoner direkte fra mintermene på utgangen Eksempel: Fulladder A n B n S n C n C n Omid Mirmotahari 7 +

Enkoder Enkoder motsatt av dekoder Eksempel: 8x3 enkoder Innganger Utganger D D D 2 D 3 D 4 D 5 D 6 D 7 x y z x = D 4 + D 5 + D 6 + D 7 y = D 2 + D 3 + D 6 + D 7 z = D + D 3 + D 5 + D 7 Antar at det ikke eksisterer andre inngangskombinasjoner Omid Mirmotahari 72

Enkoder Eksempel D D 2 D 4 D 6 z x = D 4 + D 5 + D 6 + D 7 y = D 2 + D 3 + D 6 + D 7 z = D + D 3 + D 5 + D 7 Y X D D 3 D 5 D 7 Omid Mirmotahari 73

Multiplekser Multiplekser (MUX) velger hvilke innganger som slippes ut Hver inngang kan bestå av ett eller flere bit A B C UT N Select Omid Mirmotahari 74

MUX Eksempel: 2- MUX Implementasjon Symbol Omid Mirmotahari 75

Eksempel: 4- MUX Omid Mirmotahari 76

MUX Eksempel: 2- MUX Omid Mirmotahari 77

Demultiplekser Demultiplekser motsatt av multiplekser INN A B C N Omid Mirmotahari 78 Select

Kombinert adder/subtraktor M=: adder / M=: subtraktor / V: overflow bit Omid Mirmotahari

ALU ALU Arithmetic Logic Unit Generell regneenhet Eksempel: SN74LS8 4bit utbyggbar ALU 3 forskjellige operasjoner Omid Mirmotahari

ALU - SN74LS8 Omid Mirmotahari

Komplett CPU: 4-bit databuss / 3bit adressebuss 82 Omid Mirmotahari

Komplett CPU: Funksjonell Diglog-implementasjon The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. Omid Mirmotahari