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

Slides:



Advertisements
Liknande presentationer
F. Drewes, Inst. f. datavetenskap1 Föreläsning 13: Resolution •Resolution i satslogiken •Resolution i predikatlogiken.
Advertisements

Snabbguide och tips.
PowerPoint av Bendik S. Søvegjarto Koncept, text och regler av Skage Hansen.
Hur kan vi arbeta mot mobbning. eller Hur kan vi arbeta för vänskap
PowerPoint av Bendik S. Søvegjarto Koncept, text och regler av Skage Hansen.
Talföljder formler och summor
Skapa ett video-CV på YouTube
PowerPoint av Bendik S. Søvegjarto Koncept, text och regler av Skage Hansen.
Formulär Tänkte nu gå igenom vad ett formulär är och hur man kan skapa dem i Access.
X-mas algebra Är du redo? Klicka!!.
Grunder i PowerPoint 2000 Skapa en ny presentation Rita egna objekt
En genomgång av spelet: Dubbelkrig-Grön
hej och välkomna EKVATIONER Ta reda på det okända talet.
William Sandqvist Booles Algebra Genom att representera logiska uttryck på matematisk form, där sammanfognings-orden OR och AND motsvarade.
Punktprevalensmätning Trycksår och Fall
William Sandqvist Booles Algebra Genom att representera logiska uttryck på matematisk form, där sammanfognings-orden OR och AND motsvarade.
Funktioner och programorganisation
Funktionen SA10-Grupper. Följande typer av grupper finns: - Grupp i kurs hör alltid ihop med en kurskod - Grupp i program hör alltid ihop med en programkod.
EDA Digital och Datorteknik
ERGONOMI Vad är det?.
Matematik Kurs C Grafer och derivator.
Logikprogrammering Ons, 25/9
Minnesteknologier Teknologi Accesstid Kostnad $/GB SRAM 1 ns 1000 DRAM
Komplexa tal inför Laborationerna
Spolen och Kondensatorn motverkar förändringar
BUSSKRETSAR eller busshanteringskretsar. Det mest centrala i en dator anses vara huvudbussen Ordet buss kommer från latinets omnibus = ”till för alla”
William Sandqvist Metalldetektorn Alla ”förluster” (även virvel-strömsförluster i metaller) sammanfattas av symbolen r ! Järnföremål påverkar.
IKT i nöd och lust! Hur får man eleverna att ta eget ansvar? Hur får man dem att samarbeta? Och hur får man lärare att vilja jobba ämnesövergripande?
En PowerPoint om PowerPoint
Pointers. int a=5; int f(int b) { a--; b++; return b; } int main() { int a=3; printf("%d,",f(a)); printf("%d",a); return 0; }
PIRATPARTIET Rubriksnitt: Impact, vanlig text Arial Här kan man lägga en lite ingressbetonad text på ett par tre meningar (men funkar även utan). Vill.
Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1
Max start-guide Liten och väldigt snabbt ihopkastad.
Felkalkyl Ofta mäter man inte direkt den storhet som är den intressanta, utan en grundläggande variabel som sedan används för att beräkna det som man är.
KVALITATIV ANALYS - BALK & RAM
Att sälja Lions Quest-kurser till skolor /14.
Bildfabriken kan ställas in på olika sätt - se några exempel
IF1330 Ellära F/Ö1 F/Ö2 F/Ö3 Strömkretslära Mätinstrument Batterier
Multiplexern som kombinatorisk krets
KVALITATIV ANALYS - FACKVERK
Styrteknik: Grundläggande logiska funktioner D2:1
Programmering efter tillståndsdiagram
En mycket vanlig frågeställning gäller om två storheter har ett samband eller inte, många gånger är det helt klart: y x För en mätserie som denna är det.
William Sandqvist Låskretsar och Vippor Låskretsar (latch) och vippor (flip-flop) är kretsar med minnesfunktion. De ingår i datorns minnen.
Logikprogrammering 21/10 Binära träd
IE1204 Digital Design F1 F2 Ö1 Booles algebra, Grindar F3 F4
Vad kännetecknar ett sekvensnät?
Projekt 5.3 Gilpins och Ayalas θ-logistiska modell A Course in Mathematical Modeling - Mooney & Swift.
William Sandqvist Binärkod och Graykod 7 Bitars Kodskiva för avkodning av vridningsvinkel. Skivans vridnings-vinkel finns tryckt som binära.
DIGITAL DESIGN INLEDNING Allmänt och kursens hemsidor Analogt och digitalt Booleska variabler Binära tal Positiv och negativ logik (Aktiv hög och låg logik)
Digitalteknik 7.5 hp distans: 6.3 nMOS-inverteraren 6:2.1 nMOS-inverterare med passiv pull-up nMOS innehåller enbart nMOS-transistorer OBS vid låg utgång.
William Sandqvist 11.1 ”Glitchar” Om signaler passerar olika många grindsteg på vägen mot utgången kan kortvariga oönskade avvikelser från.
William Sandqvist IS1500 Datorteknik William Sandqvist
Styrteknik: Boolesk algebra D1:1
Vad är elektricitet? Vad är elektricitet?
William Sandqvist Lab 2 Några slides att repetera inför Lab 2 William Sandqvist
Satslogik, forts. DAA701/716 Leif Grönqvist 5:e mars, 2003.
William Sandqvist Binärkod och Graykod 7 Bitars Kodskiva för avkodning av vridningsvinkel. Skivans vridnings-vinkel finns tryckt som binära.
Digitalteknik 7.5 hp distans: 6.1 MOS-transistorn6:1.1 CMOS Complementary Metal Oxide Semiconductor (nMOS och pMOS) nMOS-transistorn.
William Sandqvist Tillståndsmaskiner  Moore-automat  Mealy-automat William Sandqvist
Kronljusströmställaren 0, 1, 2, 3
IE1206 Inbyggd Elektronik F1 F2
Shannon dekomposition
IF1330 Ellära Växelströmskretsar j  -räkning Enkla filter F/Ö1 F/Ö4 F/Ö6 F/Ö10 F/Ö13 F/Ö15 F/Ö2F/Ö3 F/Ö12 tentamen William Sandqvist F/Ö5.
William Sandqvist Låskretsar och Vippor Låskretsar (latch) och vippor (flip-flop) är kretsar med minnesfunktion. De ingår i datorns minnen.
Digitalteknik 3p - Kombinatorisk logik
Kombinatoriska byggblock
Kombinatoriska byggblock
Digitala CMOS-grindar
Digitalteknik 3p - Kombinatorisk logik
Presentationens avskrift:

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

En funktion av fyra variabler a b c d Sanningstabellen till höger innehåller 11 st 1:or och 5 st 0:or. Funktionen kan ut-tryckas på SP-form med 11 st mintermer eller på PS-form med 5 st maxtermer. Den som använt Booles algebra vet att det därefter följer ett mödosamt arbete för att ta fram enklare uttryck. Mintermerna kan kombineras på många olika sätt som alla resulterar i olika förenklade uttryck - hur vet man om man har funnit det enklaste? William Sandqvist william@kth.se

Ett diagram med enhetsavstånd Karnaughdiagrammet är sanningstabellen men med en annan ordning. Lägg märke till numreringen! Rutorna är ordnade så att endast en bit ändras mellan två vertikala eller horisontella rutor. Denna ordning kallas för Gray-kod. William Sandqvist william@kth.se

William Sandqvist william@kth.se Två ”grannar” Rutorna "5" och "13" är "grannar" i Karnaughdiagrammet ( fast det är långt mellan dem i sanningstabellen ). De svarar mot två mintermer med fyra variabler, och i figuren visas hur de med Booles algebra, kan reduceras till en term med tre variabler. Det de två rutorna har gemensamt är att b=1, c=0 och d=1, och den reducerade termen uttrycker precis detta. Överallt i Karnaughdiagrammet där man hittar två ettor som är "grannar" ( vertikalt eller horisontellt ) kan man reducera de min-termerna till det som är gemensamt för de två rutorna. Detta kallas för en hoptagning. William Sandqvist william@kth.se

William Sandqvist william@kth.se Fyra ”grannar” Rutorna "1" "3" "5" "7" är en grupp av fyra rutor med ettor som ligger som "grannar" till varandra. Även här går de fyra mintermerna att reducera till en term som uttrycker det som är gemensamt för rutorna, nämligen att a=0 och d=1. Överallt i Karnaughdiagrammet där man hittar sådana grupper av fyra ettor kan man göra sådana förenklingar, hoptagningar. William Sandqvist william@kth.se

William Sandqvist william@kth.se Åtta ”grannar” Alla grupper av 2, 4, 8, ( ... 2N dvs. med jämna 2-potenser ) rutor som innehåller ettor kan reduceras till en term, med "det som är gemensamt", en hoptagning. William Sandqvist william@kth.se

William Sandqvist william@kth.se Karnaugh - toroid Egentligen bör man avbilda Karnaughdiagrammet på en toroid ( en donut ). Når man en kant, så börjar diagrammet om från den motsatta sidan! Ruta 0 är således "granne" med ruta 2, men även "granne" med ruta 8 som är granne med ruta 10. De fyra ettorna i hörnen har b=0 och d=0 gemensamt och kan därför bilda en hoptagning. William Sandqvist william@kth.se

William Sandqvist william@kth.se Bästa hoptagningar? Man söker efter så stora hoptagningar som möjligt. I exemplet finns det en hoptagning med åtta ettor ( rutorna 0,1,3,2,4,5,7,6 ). Hörnen ( 0,2,8,10 ) är en hoptagning av fyra ettor. Två av rutorna ( 0,10 ) har redan tagits med i den första hoptagningen, men inget hindrar att en ruta bir medtagen flera gånger. Alla ettor måste med i funktionen, antingen i en hoptagning, eller som en minterm. Ettan i ruta 13 kan bilda en hoptagning med ettan i ruta 5, någon större hoptagning finns tyvärr inte för denna etta. Jämför den resulterande funktionen med de ursprungliga 11 mintermerna! William Sandqvist william@kth.se

Felaktiga hoptagningar? Finns det några felaktiga hoptagningar i detta Karnaugh-diagram? Hoptagningar ska vara 2, 4, 8 (= tvåpotenser) ”grannar” vertikalt eller horisontellt, ej diagonalt. William Sandqvist william@kth.se

William Sandqvist william@kth.se 6.1 Karnaughdiagrammet William Sandqvist william@kth.se

(6.2 Karnaughdiagrammet) William Sandqvist william@kth.se

William Sandqvist william@kth.se Hoptagningar av 0:or Karnaughdiagrammet är också användbart för hoptagning av 0:or. Hoptagningarna kan omfatta samma antal rutor som i fallet med hoptagning av 1:or. I detta exempel kan 0:orna tas ihop i par med sina "grannar". Maxtermerna förenklas till det som är gemensamt för rutorna. William Sandqvist william@kth.se

William Sandqvist william@kth.se De Morgan Tips! Tar man ihop 0:or som om de vore 1:or får man funktionens invers! (det vill säga helt fel) Med De Morgans lag kan man därefter ta fram den icke-inverterade funktionen. (nu helt rätt) William Sandqvist william@kth.se

William Sandqvist william@kth.se Andra variabelantal 6 Karnaughdiagram med tre och två variabler är också användbara. Metoden kan med lite möda även användas för 5 och 6 variabler – men enklare är att använda något av de generella minimeringsprogram som finns. William Sandqvist william@kth.se

William Sandqvist william@kth.se 6.4 Byt från NOR till NAND ? William Sandqvist william@kth.se

William Sandqvist william@kth.se 6.4 = William Sandqvist william@kth.se

William Sandqvist william@kth.se 6.4 ! = William Sandqvist william@kth.se

PLD-kretsar har utgångsinverterare PLD-kretsar har ofta en XOR-grind på utgången så att man vid behov skall kunna invertera funktionen. Man kan då välja mellan att ta ihop 0:or eller 1:or efter vad som är fördelaktigast. När styrsignalen a är ”1” blir utgången lika med b:s invers, när a är ”0” blir utgången lika med b. William Sandqvist william@kth.se

William Sandqvist william@kth.se 6.5 Minimera med K-map William Sandqvist william@kth.se

William Sandqvist william@kth.se 6.5 Hoptagning av ettor Hoptagning av nollor Denna gång var det förmånligast att ta ihop 0:or och invertera utgången! William Sandqvist william@kth.se

William Sandqvist william@kth.se 6.8 Don’t Care termer Ibland kan problemställningen vara sådan att vissa ingångs-kombinationer är ”omöjliga” och därför inte kan inträffa. Sådana mintermer (eller maxtermer) betecknar man med d (”don’t care”) och använder dom som ettor eller nollor allt efter vad som passar bäst för att få så stora hoptagningar som möjligt. (En risk kan vara att det som är ”omöjligt” trots allt ändå händer! Därför kan det ofta vara bättre att ta om hand alla kombinationer.) William Sandqvist william@kth.se

William Sandqvist william@kth.se 6.8 Hoptagning av ettor. Hoptagning av nollor. William Sandqvist william@kth.se

William Sandqvist william@kth.se Larm för vattentank William Sandqvist william@kth.se

William Sandqvist william@kth.se 8.2 William Sandqvist william@kth.se

William Sandqvist william@kth.se 8.2 Endast in-koderna X 0, 1, 3, 7, 15 kan förekomma. Övriga in-koder kan användas som ”don’t care”. Vi kan direkt se i tabellen att u2 och x3 är lika varför u2 kan anslutas direkt till x3. u2 = x3. De övriga uttrycken fås med hjälp av deras Karnaughdiagram. William Sandqvist william@kth.se

William Sandqvist william@kth.se 8.2 William Sandqvist william@kth.se

William Sandqvist william@kth.se 8.2 William Sandqvist william@kth.se

P och N MOS-transistorer William Sandqvist william@kth.se

William Sandqvist william@kth.se 7.3 CMOS-grind ? William Sandqvist william@kth.se

William Sandqvist william@kth.se 7.3 A=0 B=0 1 Y = 0 William Sandqvist william@kth.se

William Sandqvist william@kth.se 7.3 A=0 B=1 1 1 Y = 1 William Sandqvist william@kth.se

William Sandqvist william@kth.se 7.3 A=1 B=1 1 1 Y = 1 William Sandqvist william@kth.se

William Sandqvist william@kth.se 7.3 A B Y 0 0 0 0 1 1 1 0 1 1 1 1 OR-grind William Sandqvist william@kth.se

William Sandqvist william@kth.se 7.4 CMOS-grind ? William Sandqvist william@kth.se

William Sandqvist william@kth.se 7.4 EN = 1 När EN = 1 har vi en inverterare. William Sandqvist william@kth.se

William Sandqvist william@kth.se 7.4 EN = 0 När EN = 0 är utgången helt bortkopplad från matnings-spänning och jord. A kan inte längre påverka utgången. Detta är ett tredje utgångstillstånd, ”Threestate”. Om många utgångar kopplas ihop till samma tråd (”buss”) så kan ju bara en av utgångarna åt gången få vara aktiv. De övriga är i Threestate-tillståndet. William Sandqvist william@kth.se

William Sandqvist william@kth.se Utgångar från tre olika enheter är anslutna till en gemensam buss (BUS). Datorn väljer ut (Enablar, EN) en i taget som kopplas in på bussen. De övriga två förblir urkopplade, (Three state). William Sandqvist william@kth.se

William Sandqvist william@kth.se 7.5 CMOS-grind ? Tillverka ”Pull-up”-nätet med P-transistorerna för denna CMOS grind. William Sandqvist william@kth.se

William Sandqvist william@kth.se 7.5 Pull-down nätet ger funktionens invers. Pull-up nätet realiserar funktionen oinverterad: William Sandqvist william@kth.se

William Sandqvist william@kth.se 7.5 Pull-up-nätet skall således bestå av A och C i parallell­koppling (+) sedan seriekopplade () med B. Användandet av PMOS-transistorer inverterar variablerna A, B och C. William Sandqvist william@kth.se

En MOS-transistor ”on chip” MOS-transistorn steg för steg: http://micro.magnet.fsu.edu/electromag/java/transistor/

Idag upp till 2.000.000.000 MOS-transistorer/chip ! Pentium 4 har 50.000.000 MOS-transistorer