Digital Design IE1204

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

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

IE1204 Digital Design

Digital Design IE1204

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

Digital Design IE1204

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

IE1204 Digital Design

EDA Digital och Datorteknik 2009/2010

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Digital Design IE1204

Digital Design IE1204

EDA Digital och Datorteknik 2010/2011

Digital Design IE1204

Grundläggande digitalteknik

Digital elektronik CL0090

IE1204 Digital Design

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

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

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

Digitalteknik syntes Arne Linde 2012

Digitalteknik F2. Digitalteknik F2 bild 1

Digital Design IE1204

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Digital Design IE1204

Digital Design IE1204

Digital Design IE1204

Styrteknik: Grundläggande logiska funktioner D2:1

Grundläggande Datorteknik 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)

Tentamen i Digital Design

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

Tenta i Digitalteknik

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

IE1204 Digital Design

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

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare

IE1204/IE1205 Digital Design

Digital elektronik CL0090

Tenta i Digitalteknik

F5 Introduktion till digitalteknik

Digital- och datorteknik

Digital Design IE1204

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

IE1205 Digital Design: F9: Synkrona tillståndsautomater

Sekvensnät Som Du kommer ihåg

Digital Design IE1204

Digital Design IE1204

Tenta i Digitalteknik

SMD033 Digitalteknik. Digitalteknik F1 bild 1

Digital Design IE1204

Översikt, kursinnehåll

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

Digital- och datorteknik

Digitala system EDI610 Elektro- och informationsteknik

F5 Introduktion till digitalteknik

Quine McCluskys algoritm

Tentamen i IE1204/5 Digital Design Torsdag 29/

Tenta i Digitalteknik

Digital- och datorteknik

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

Tenta i Digitalteknik

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

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

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

Repetition TSIU05 Digitalteknik Di/EL. Michael Josefsson

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

Digital Design IE1204

DIGITALTEKNIK. Laboration D161. Kombinatoriska kretsar och nät

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

Omtentamen IE Digital Design Måndag 14/

Tenta i Digitalteknik

Digital Design IE1204

DIGITALA TAL OCH BOOLESK ALGEBRA

Digital- och datorteknik

IE1204/5 Digital Design typtenta

Digital Design IE1204

Asynkrona sekvensmaskiner

Tenta i Digitalteknik

Digital Design IE1204

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Lösningsförslag till tentamen i Digitalteknik, TSEA22

Laboration Kombinatoriska kretsar

Grindar och transistorer

TSIU05 Digitalteknik. LAB1 Kombinatorik LAB2 Sekvensnät LAB3 System

IE1205 Digital Design: F3 : CMOS-kretsen, Implementeringsteknologier. Fredrik Jonsson KTH/ICT/ES

Digital- och datorteknik

Digital Design IE1204

Digital Design IE1204

Tentamen i IE Digital Design Fredag 21/

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

Tentamen IE Digital Design Fredag 15/

D0013E Introduktion till Digitalteknik

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

Tentamen IE Digital Design Måndag 23/

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

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

Transistorn en omkopplare utan rörliga delar

Exempel på tentamensfrågor Digitalteknik

IE1204/5 Digital Design typtenta

Transkript:

Digital Design IE24 F4 Karnaugh-diagrammet, två- och fler-nivå minimering william@kth.se

IE24 Digital Design F F3 F2 F4 Ö Booles algebra, Grindar MOS-teknologi, minimering F5 F6 Ö2 Aritmetik Ö3 KK LAB Kombinatoriska kretsar F7 F8 Ö4 F9 Ö5 Multipleor KK2 LAB2 Låskretsar, vippor, FSM F F Ö6 KK3 LAB3 FSM, VHDL introduktion F2 Ö7 F3 Asynkron FSM Ö8 F4 tentamen Minnen Föreläsningar och övningar bygger på varandra! Ta alltid igen det Du missat! Läs på i förväg delta i undervisningen arbeta igenom materialet efteråt!

Detta har hänt i kursen Talsystem: Decimala, headecimala, oktala, binära (75,5) = ( AE.8) = (256.4) = (.) 6 8 2 AND OR NOT XOR XNOR Sanningstabell, mintermer Matermer PS-form SP-form demorgans lag Bubbelgrindar Fullständig logik NAND NOR CMOS grindar, standardkretsar

Mintermer OR f 2 3 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 OR f 2 3 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!

OR Venn-diagram Alla mintermer OR, några av mintermerna 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 OR f 2 3 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 Kubens hörn är kodade med Gray-kod. 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 Graykodade 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.

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! Och så vidare

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

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

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

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

4D-kuben i Paris

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

4D-kuber i USA

3D-Kub 2D-diagram a b c b = Gray-kod spegla b = b c a

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

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

4D-Kub 2D-diagram 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.

Två grannar bc d 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. 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 a d 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=. Ö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 4 5 7 2 3 5 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.

Karnaugh - toroid

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 + b d + bc d

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.

Minimeringseempel 2 3 7 f ( a, b, c) = m(,2,3,5,7) b c a 5 a bc 3 2 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 b c a f f = = a c a c + bc + ab + ac + ac f Redundanta implikanter - bägge är inte nödvändiga (en måste vara med) för att täcka funktionen. bc a ( a, b, c) = m(,2,3,5,7)

Två-nivå minimering

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

Programmable Logic Array (PLA) Programerbar AND och OR matris. Programmeringen består av att man bränner av anslutningar man inte vill ha kvar. (nu föråldrad teknik)

Programmable Logic Array (PLA) Grind-matriserna har så många ingångar att man brukar rita grindarna med ett förenklat ritsätt

Programmable Logic Array (PLA) PLA. Både AND- och ORmatriserna är programmerbara. 2 3 Förenklat ritsätt. P P 2 P 3 OR plane ( en kostsam fleibilitet ) AND plane P 4 f f2

Programmable Array Logic (PAL) 2 3 P PAL. Bara ANDmatrisen är programmerbar. ( en ekonomisk kompromisslösning ) P 2 P 3 P 4 f 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)!!! f = 3

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

XOR kan vara till hjälp Om två fyra-inringningar inte kan bilda en åttainringning kan kanske XOR/XNOR-funktionen vara till hjälp. 3 2 Detta under förutsättningen att det finns en särskilt effektiv implementering av XOR-funktionen. f = + = 2 2 2

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 3 2 4 = 4 4 = 3 2 Samma i båda diagrammen, oberoende av 4. 2 3

Spegling med 5 variabler Spegla! 4 3 2 3 2

och med en annan ordning 2 4 3 3 2

Karnaugh-diagram med 6 variabler 5 = 5 5 = 3 2 = 4 = 4 4 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 :an som minterm helt fel! f = f = = f = 32 invertera, så blir det rätt! 3 2 { dm} = ( + 2 + + ) 3 = 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 då 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 kan ses som sammansatta av underfunktioner.

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

( XOR och XNOR ) XOR = XNOR 2 XOR 2 2 2 XNOR + 2 + 2 Med en effektiv implementering av XOR-grindar (få transistorer) så kan man se lösningar i Karnaughdiagrammet även när det inte går att göra några hoptagningar!

Funktionell dekomposition Implementeringen 2 g 3 4 f 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