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

Relevanta dokument
Mintermer. SP-form med tre mintermer. William Sandqvist

Digital Design IE1204

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

IE1204 Digital Design

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

Digital Design IE1204

Digitalteknik syntes Arne Linde 2012

Digitalteknik F2. Digitalteknik F2 bild 1

EDA Digital och Datorteknik 2009/2010

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Digital elektronik CL0090

Tentamen med lösningar för IE1204/5 Digital Design Torsdag 15/

EDA Digital och Datorteknik 2010/2011

IE1204 Digital Design

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

Digital Design IE1204

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Styrteknik: Grundläggande logiska funktioner D2:1

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

Grundläggande digitalteknik

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

Grundläggande Datorteknik Digital- och datorteknik

Quine McCluskys algoritm

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)

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

Digital- och datorteknik

Sekvensnät Som Du kommer ihåg

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

Digital elektronik CL0090

IE1204/IE1205 Digital Design

Tentamen i Digital Design

IE1205 Digital Design: F9: Synkrona tillståndsautomater

F5 Introduktion till digitalteknik

F5 Introduktion till digitalteknik

Tenta i Digitalteknik

Digital- och datorteknik

Digital- och datorteknik

Tenta i Digitalteknik

Tentamen med lösningar i IE1204/5 Digital Design Måndag 27/

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

IE1204 Digital Design

IE1205 Digital Design: F10: Synkrona tillståndsautomater del 2

Tentamen i IE1204/5 Digital Design Torsdag 29/

SMD033 Digitalteknik. Digitalteknik F1 bild 1

Tenta i Digitalteknik

2.1 Disjunktiv och konjunktiv normalform

Repetition TSIU05 Digitalteknik Di/EL. Michael Josefsson

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

Omtentamen med lösningar i IE1204/5 Digital Design Fredag 10/

FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM

Tentamen med lösningar i IE1204/5 Digital Design Torsdag 29/

Digital Design IE1204

Tenta i Digitalteknik

Kortlaboration DIK. Digitalteknik, kombinatorik.

Omtentamen IE Digital Design Måndag 14/

TSIU05 Digitalteknik. LAB1 Kombinatorik LAB2 Sekvensnät LAB3 System

Logik. Boolesk algebra. Logik. Operationer. Boolesk algebra

Asynkrona sekvensmaskiner

Tenta i Digitalteknik

Tenta i Digitalteknik

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

Digital- och datorteknik

Digital Design IE1204

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

DIGITALTEKNIK. Laboration D173. Grundläggande digital logik

Digital- och datorteknik

Digital Design IE1204

Laboration Kombinatoriska kretsar

Digital Design IE1204

Tentamen IE Digital Design Fredag 15/

Kvalificeringstävling den 26 september 2017

Tentamen i IE Digital Design Fredag 21/

IE1204/5 Digital Design typtenta

TSEA22 Digitalteknik 2019!

Tentamen med lösningar i IE Digital Design Fredag 15/

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Tenta i Digitalteknik

Digital Design IE1204

Digital- och datorteknik

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.

DIGITALA TAL OCH BOOLESK ALGEBRA

Digitalteknik. Talsystem Grindlogik Koder Booles algebra Tillämpningar Karnaughdiagram. A.Lövdahl

Lösningsförslag till tentamen i Digitalteknik, TSEA22

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

DIGITALTEKNIK. Laboration D172

Institutionen för systemteknik, ISY, LiTH. Tentamen i. Tid: kl

IE1204/5 Digital Design typtenta

Digital Design IE1204

Laboration Kombinatoriska kretsar

Digital Design IE1204

VHDL 1. Programmerbara kretsar

Facit till övningsuppgifter Kapitel 4 Kombinatoriska nät Rita in funktionen i ett Karnaughdiagram och minimera

Tentamen i Digitalteknik, EIT020

D0013E Introduktion till Digitalteknik

Exempel på tentamensfrågor Digitalteknik

DIGITALTEKNIK. Laboration D161. Kombinatoriska kretsar och nät

Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner i VHDL för PLD Sekvensfunktioner i VHDL för PLD

ÅBO AKADEMI LOGIKSTYRNING. Hannu Toivonen Jari Böling. Augusti Biskopsgatan 8 FIN Åbo Finland

Tentamen med lösningar i IE Digital Design Fredag 21/

Transkript:

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

Mintermer 2 3 OR f En minterm är en produktterm som innehåller alla variabler och som anger den kombination av :or och :or som tillsammans gör att termen antar värdet. SP-form med tre mintermer. f m(,2,3)

Minimering med boolesk algebra,2,3) ( m f 3 2 f OR Förenkling med boolesk algebra ) ( ) ( ) ( ) ( vsh Som väntat!

Matermer 2 3 OR f En materm är en summafaktor som innehåller alla variabler och som anger den kombination av :or och :or som tillsammans gör att faktorn antar värdet. f M ( ) Denna gång fick vi det enkla uttrycket med en materm direkt!

Venn-diagram OR I ett Venn-diagram kan man se att en funktion kan uttryckas på en mängd olika sätt, men det är inte lätt att se vad som är optimalt. En annan fråga är också hur man kan rita Venn-diagram för mer än tre variabler???

Grafisk minimeringsmetod 3 2 f OR m m m 2 m 3 3 2 ) ( m m 3 ) ( m m f

Grafisk minimeringsmetod 2 3 OR f f Gör hoptagningar av par av rutor med :or (horisontellt eller vertikalt), behåll de variabler i produktermerna som är gemensamma.

Grindfunktioner på grafisk form AND OR XOR NAND NOR XNOR dm dm

3D boolesk talrymd 2 För hörn som är grannar är det bara skillnad i en variabel.

ÖH 3.4 kubrepresentation 2 2 2 2 2 2 ) (,2,3,4,6 ),, ( m f Så här representerar man en funktion av tre variabler, som en 3D kub med Gray-kodade hörn.

ÖH 3.4 minimering med kub 2 2 En yta representeras av en variabel, en sida av en produktterm med två variabler, och ett hörn en minterm med tre variabler. Kub-metoden kan generaliseras till Hyperkuber med godtyckligt antal variabler.

Hyperkuber Ett hörn är en -dimension subspace, en sida kallas för en -dimension subspace, en yta kallas för en 2-dimension subspace, en kub kallas för en 3-dimension subspace Det finns minimeringsmetoder för hyperkuber, och de går att tillämpa för valfritt antal variabler! Metoderna med hyperkuber är lämpade för datoralgoritmer.

Hur ritar man en 3D-kub? Man ritar två st 2D-kuber ( = kvadrater), och sammanbinder deras hörn.

Hur ritar man en 3D-kub? Man ritar två st 2D-kuber ( = kvadrater), och sammanbinder deras hörn.

Hur ritar man en 4D-kub? Man ritar två st 3D-kuber (kuber), och sammanbinder deras hörn.

4D-kuben i Paris

4D-Donut 4D-hyperkuben kan representeras med en toroid, en donut.

3-dimensional Boolean space (3-dimensionell boolesk talrymd) Format: abc -dimensional subspace -dimensional subspace b c 2-dimensional subspace a 8

Karnaugh-diagrammet b= b= b c b= b= a c a c a Hur skall man placera kub-halvorna??? 9

Speglingsmetoden b= Gray-kod!!! b c b= a bc a 2

Karnaugh-diagrammet Grafisk metod för minimering för hand av mindre booleska funktioner (för upp till se variabler) Maurice Karnaugh ( The Map for Synthesis of Combinational Logic Circuits, AIEE, Nov. 953 )

Graykoden osv... Speglingsplan Vid varje speglingsplan, lägg till en a och spegla övriga bitar till höger om den nya an. 22

Graykoden är en speglad binärkod Man kan lätt ta fram den Graykod med ett godtyckligt antal bitar som behövs för att numrera hyperhörnen i hyperkuber med!

Graykoden är en speglad binärkod Man kan lätt ta fram den Graykod med ett godtyckligt antal bitar som behövs för att numrera hyperhörnen i hyperkuber med!

Graykoden är en speglad binärkod Man kan lätt ta fram den Graykod med ett godtyckligt antal bitar som behövs för att numrera hyperhörnen i hyperkuber med!

Graykoden är en speglad binärkod Man kan lätt ta fram den Graykod med ett godtyckligt antal bitar som behövs för att numrera hyperhörnen i hyperkuber med!

Graykoden är en speglad binärkod Man kan lätt ta fram den Graykod med ett godtyckligt antal bitar som behövs för att numrera hyperhörnen i hyperkuber med!

Graykoden är en speglad binärkod Man kan lätt ta fram den Graykod med ett godtyckligt antal bitar som behövs för att numrera hyperhörnen i hyperkuber med!

Graykoden är en speglad binärkod Man kan lätt ta fram den Graykod med ett godtyckligt antal bitar som behövs för att numrera hyperhörnen i hyperkuber med!

Graykoden är en speglad binärkod Man kan lätt ta fram den Graykod med ett godtyckligt antal bitar som behövs för att numrera hyperhörnen i hyperkuber med!

Graykoden är en speglad binärkod Man kan lätt ta fram den Graykod med ett godtyckligt antal bitar som behövs för att numrera hyperhörnen i hyperkuber med!

Graykoden är en speglad binärkod Man kan lätt ta fram den Graykod med ett godtyckligt antal bitar som behövs för att numrera hyperhörnen i hyperkuber med!

Minimeringseempel f ( a, b, c) m(,2,3,5,7) b c a bc 3 2 a 4 5 7 6

Implikanter Ringa in min-termer som ligger bredvid varandra b c f ( a, b, c) m(,2,3,5,7) bc a a

Lite implikant-terminologi Implikant - en inringning av min-termer Prim-implikant - en inringning av min-termer som inte kan göras större. Essentiell prim-implikant - en maimal inringning av min-termer som måste vara med för att funktionen skall täckas. Redundant prim-implikant en maimal inringning av min-termer som inte nödvändigtvis måste vara med för att funktionen skall täckas.

Implikanter Redundanta implikanter - bägge är inte nödvändiga (en måste vara med) för att täcka funktionen. b c a f f a c bc a c ab ac ac f bc a ( a, b, c) m(,2,3,5,7)

En funktion av fyra variabler a b c d Sanningstabellen med st :or och 5 st :or. Funktionen kan uttryckas på SP-form med st mintermer eller på PS-form med 5 st matermer.

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 Graykod.

Två grannar Rutorna "5" och "3" är "grannar" i Karnaughdiagrammet. 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. bc d Det de två rutorna har gemensamt är att b=, c= och d=, 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.

Fyra grannar Rutorna "" "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= och d=. a d Överallt i Karnaughdiagrammet där man hittar sådana grupper av fyra ettor kan man göra sådana förenklingar, hoptagningar.

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

Karnaugh - toroid b d 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 är således "granne" med ruta 2, men även "granne" med ruta 8 som är granne med ruta. De fyra ettorna i hörnen har b= och d= gemensamt och kan därför bilda en hoptagning.

Bästa hoptagningar? Man söker efter så stora hoptagningar som möjligt. I eemplet finns det en hoptagning med åtta ettor ( rutorna,,3,2,4,5,7,6 ). Hörnen (,2,8, ) är en hoptagning av fyra ettor. Två av rutorna (, ) 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 3 kan bilda en hoptagning med ettan i ruta 5, någon större hoptagning finns tyvärr inte för denna etta. f ( a, b, c, d) a bd bcd

Hoptagningar av :or Karnaughdiagrammet är också användbart för hoptagning av :or. Hoptagningarna kan omfatta samma antal rutor som i fallet med hoptagning av :or. I detta eempel kan :orna tas ihop i par med sina "grannar". Matermerna förenklas till det som är gemensamt för rutorna. f ( a, b, c, d) ( a b d)( a c d)( a b d)

Andra variabelantal 6 Karnaughdiagram med tre och två variabler är också användbara.

Två-nivå minimering

Minimal Summa-Produkt Implementation f ( a, b, c) m(,2,3,5,7) a bc a b c f f ac bc ac

Programmable Logic Array (PLA) PLA. Både ANDoch ORmatriserna är programmerbara. ( kostsam fleibilitet ) 2 3 AND plane P P 2 P 3 P 4 OR plane f f2

Programmable Array Logic (PAL) 2 3 P PAL. Bara AND-matrisen är programmerbar. P 2 f Vilka funktioner döljer sig bakom kryssen? P 3 P 4 f 2

PAL vilka funktioner döljer sig bakom kryssen? 2 3 P P 2 f? P 3 P 4 f 2?

Sub-kub vid fyra varibler 3 2 Vi ringar alltid in en hel sub-kub (så stor som möjligt)!!!

4D Mintermernas ordning... f ( 3, 2,, ) m(,3,7,4) MSB 3 2 LSB 3 2 4 5 7 6 2 3 5 4 8 9

5D fem variabler 4 3 2 3 2 Samma i båda diagrammen, oberoende av 4. 3 2

Spegling med 5 variabler 4 3 2 3 2

och med en annan ordning 2 4 3 3 2

Karnaugh-diagram med 6 variabler 4 5 3 2 3 2 3 2 3 2 3 2 Oberoende av 5 och 4.

OBS! Spegling med 6 variabler 4 5 3 2 3 2

och med en annan ordning 2 5 4 3 3 2

Hoptagningar med :or 3 2 f 3 2 f f :an som minterm helt fel! 3 2 dm ( 2 ) 3 Nu rätt! Ringa in nollorna om dom är färre än ettorna!!!

Don t care Ofta kan man förenkla specifikationen för den logiska funktionen eftersom man vet att vissa kombinationer kan aldrig förekomma För dessa kombinationer använder vi värdet don t care Det finns olika symboler för don t care i bruk d, D, -,,

Ofullständig funktionsspecifikation 3 2 3 2 2 d d d d d d d d ( + ) ( 2 + ) (a) SOP implementation (b) POS implementation Två implementeringar av funktionen f ( 3,, ) = m(2, 4, 5, 6, ) + D(2, 3, 4, 5).

Annan notation (-) 3 2 3 2 2 - - - - - - - - ( + ) ( 2 + ) (a) SOP implementation (b) POS implementation Två implementeringar av funktionen f ( 3,, ) = m(2, 4, 5, 6, ) + D(2, 3, 4, 5).

Funktioner med flera utgångar Olika utgångar kan dela prim-implikanter!!! f f 3

Fler-nivå minimering

Behöver man fler nivåer än två? Man kan ju realisera alla kombinatoriska kretsar med två nivåer (AND-OR, OR-AND) Antagandet är att alla ingångar finns också i inverterade form (som i PAL, PLA)

Varför fler-nivå logik? Antalet ingångar i en krets kan vara begränsad Hög fan-in leder till långa fördröjningar Det kan vara mer kostnadseffektiv att använda en implementering med fler nivåer

Två strategier för fler-nivå logik Faktorisering 2 Funktionell dekomposition

Faktorisering f 2 3 4 5 6 2 3 4 5 6 Vi har bara AND med som mest 4 ingångar? Bryt ut 4 6 f ( 5) 4 6 2 3 5 2 3

Faktorisering 2 3 4 6 5 2 3 5 f ( 5) 4 6 2 3 5 2 3

Funktionell dekomposition Man kan ofta reducerar kompleiteten av en logisk funktion genom att återanvända funktioner flera gånger För implementeringen betyder det att man återanvänder en krets vid flera ställen i sin konstruktion

Funktionell dekomposition f 2 3 2 3 2 4 2 4 Funktioner sammansatta av underfunktioner. ( denna gång har vi inte tillgång till några inverterade ingångsvariabler )

Funktionell dekomposition Bryt ut 3 respektive 4 f 2 3 2 3 2 4 2 4 ( 2 2 ) 3 ( 2 2 ) 4 XOR XNOR = g = g f g 3 g 4 Hade Du kommit på det?

( XOR och XNOR ) 2 XOR XNOR XOR 2 2 2 XNOR 2 2

Funktionell dekomposition Implementeringen g 3 f 2 4 g 2 2 f g 3 g 4 2 g 3 4 h f

Algoritmer för minimering Karnaugh-minimering ger en bra inblick hur man kan minimera logiska funktioner Men för att minimera komplea funktioner med hjälp av datorstöd finns det bättre algoritmer Kapitel 4.9 och 4. i Brown/Vranesic ger en introduktion i minimeringsalgoritmer (för den intresserade studenten)

Sammanfattning Karnaugh-diagrammet är ett bra verktyg för att minimera logiska funktioner med få variabler Det finns algoritmer för både två-nivå och flernivås-minimering