Lausekkeiden sieventäminen

Slides:



Advertisements
Samankaltaiset esitykset
Kehäantennit Looppi, silmukka
Advertisements

Copyright  Hannu Laine Bittitason-operaatiot Hannu Laine.
15. Loogiset operaatiot.
@ Leena Lahtinen Helia Ohjelman perusrakenteet 1. PERÄKKÄISRAKENNE 2. VALINTARAKENNE 3. TOISTORAKENNE.
Ohjelmiston tekninen suunnittelu
Olio-ohjelmoinnin perusteet luento 3: Muuttujista ja funktioista Sami Jantunen LTY/Tietotekniikan osasto.
JavaScript (c) Irja & Reino Aarinen, 2007
Virheen havaitseminen ja korjaus
Ohjelman perusrakenteet
Synkroniset tilakoneet
Aggregaattifunktiot (1)
NAND I-SOP NOR KOMBINAATIOPIIRIT & 1 & A B A B
Langattomien laitteiden matematiikka 1
Derivaatta MA 07 Derivaatta tarkoittaa geometrisesti käyrälle piirretyn tangentin kulmakerrointa.
Auli Jaakkola 1 Palkkatiedustelun tietomallin mukaisen tilastovastauksen luonti Tässä esimerkissä tiedosto tuotetaan excelistä csv-muotoon. 1.Oletetaan,
Yhdistetty M-ary ASK ja M-ary PSK Timo Mynttinen1 Yhdistetty M-ary ASK ja M-ary PSK Tähän asti on kerrallaan käytetty yksinomaan joko amplitudia, taajuutta.
AS Automaation signaalinkäsittelymenetelmät
Valitse seuraaviin vaihtoehtotehtäviin oikea vastaus…
Taylor polynomi usean muuttujan funktiolle
KERTAUSTA PERUSASTEEN MATEMATIIKASTA Piia junes
LUKUJÄRJESTELMÄMUUNNOKSET
TMA.003 / L3 ( )1 3. Funktioista 3.1. Kuvaus ja funktio Olkoon A ja B ei-tyhjiä joukkoja. Tulojoukon A  B = {(x,y) | x  A, y  B} osajoukko on.
3. Funktioista 3.1. Kuvaus ja funktio
RSA – Julkisen avaimen salakirjoitusmenetelmä Perusteet, algoritmit, hyökkäykset Matti K. Sinisalo, FL.
Ohjelmoinnin tekniikkaa Sisällys for -lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely.
Mittaustekniikka (3 op)
Gray BCD UTF-8 ISO 8859 ASCII Unicode ISO (UCS) UCS-2
Tiedon esittäminen.
2. Vuokaaviot.
m0 M7 Maksimitermi Minimitermi Boole A = A A · 0 = 0 SOP De Morgan POS
13. Hyvä ohjelmointitapa (osa 1)
Relaatioalgebra (1) Kokoelma relaatioiden käsittelyyn tarkoitettuja operaatioita Operaatiot muuntavat relaatioita uusiksi relaatioiksi Muodostaa perustan.
Tietovuokaaviot (ei osa UML-kieltä)
Raja-arvon määritelmä
ict1td002 - Copyright Raine Kauppinen 1 Alkuarvot ja tyyppimuunnokset (1/5)  Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op ALU.
Digitaalitekniikan matematiikkaTäsmätehtävät Fe Luku 1 ?1?1 Sivu 1Luku 1Sivu 2Opetuskerta 1 ?2?2 ?3?3 ?4?4.
KORIPALLON VIRALLISET PELISÄÄNNÖT 2014
1. Usean muuttujan funktiot
XNA peliohjelmointi. XNA Perustuu Microsoftin kehittämään.NET- arkkitehtuuriin ja C#-kieleen. XNA:lla tehdyt pelit toimivat Windows ja XBOX360-alustoilla.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op
PARAABELI (2. ASTEEN FUNKTION KUVAAJIA)
@ Leena Lahtinen Toistorakenne Ohjelmassa toistetaan tiettyjä toimenpiteitä monta kertaa peräkkäin Toisto noudattaa sille kuuluvia tarkkoja standardoituja.
5. Lineaarinen optimointi
© Jukka Juslin1 Osio2 Olio-ohjelmointi: Merkkijonot eli Stringit Jukka Juslin.
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 9 - Jaakko Niemi Optimointiopin seminaari - Syksy 2005 / 1 Virittäminen (Tuning) s
Kytkentäfunktiot ja perusporttipiirit
Tietokoneen rakenne matalalla tasolla KYMENLAAKSON AMMATTIKORKEAKOULU Jarkko Ansamäki, kevät 2002.
Visual Basic -ohjelmointi
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 2 - Jirka Poropudas Optimointiopin seminaari - Kevät 2005 / 1 Bayes-verkoista s
Tehtävä 1 Nk. SINE-toistojaksojen esiintymistä tietyissä kromosomikohdissa tutkittiin viidessä eri nisäkäslajissa. (SINE-toisto joko on tietyssä kohdassa.
Visual Basic -ohjelmointi
XML – osa 2 Teppo Räisänen
Javascript 2: Ohjelmointikielen ominaisuudet Jaana Holvikivi Metropolia.
Funktio.
S ysteemianalyysin Laboratorio Aalto-yliopiston teknillinen korkeakoulu Ohjaamaton oppiminen– Heikki Vesterinen Optimointiopin seminaari - Syksy 2010 Ohjaamaton.
Rekisterit ja laskurit
Digitaalitekniikka (piirit)Täsmätehtävät Fe/AKo Luku 1 ?1?1 Sivu 4Luku 1Sivu 1Opetuskerta 1 ?2?2.
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä # - Esitelmöijän nimi Optimointiopin seminaari - Syksy 2000 / 1 Potentiaalien kertaus ja.
S Ihminen ja tietoliikennetekniikka Harjoitustyön tutkimussuunnitelma, Ryhmä 2: Simo Hakkarainen, 69085B (ryhmänjohtaja) Antti Ratilainen,
Uusi näkökulma TIEA341 Funktio-ohjelmointi 1 Syksy 2005.
Matematiikkaa 3a, Kertausjakso Lukuja © Varga–Neményi ry 2016
Syventävä matematiikka 2. kurssi
13. Loogiset operaatiot.
Vielä laskentoa: kertausta ja täsmennystä
14. Hyvä ohjelmointitapa.
Itseisarvo ja vastaluku
Salvat ja kiikut 1D C1 1D C1 S 1D C1 R 1T C1 1J C1 1K 1J S C1 R 1K
13. Loogiset operaatiot.
Ohjelman perusrakenteet
Esityksen transkriptio:

Lausekkeiden sieventäminen Olennainen perustermi Sievennys Don't Care Espresso Karnaugh

Johdanto Tässä luvussa esitetään perusteet lausekemuodossa esitettyjen kytkentäfunktioiden sieventämiselle esitetään Karnaugh´n karttamenetelmä, jolla lausekkeita sievennetään mahdollisimman pienellä porttipiirimäärällä toteutettaviksi käydään läpi kaksi esimerkkiä Karnaugh'n kartan käytöstä funktion mahdollisimman yksinkertaisen SOP-muotoisen lausekkeen etsimiseen etsitään samojen funktioiden mahdollisimman yksinkertaiset POS-muotoiset lausekkeet Karnaugh'n karttamenetelmällä esitetään epätäydellisesti määritellyt kytkentäfunktiot ja niiden sieventäminen Karnaugh'n karttamenetelmällä Luku on melko teoreettinen, mutta oppimiseen käytetään käytännön esimerkkejä Luvussa esitettäviä käsitteitä ja menettelyjä sovelletaan jatkossa, kun suunnitellaan käytännön digitaalipiirejä

Lausekkeiden sieventäminen Pyritään piirin koon, hinnan ja tehonkulutuksen minimointiin mahdollisimman pieni määrä portteja mahdollisimman yksinkertaisia portteja vähän tuloja yksinkertainen sisäinen rakenne Mitä yksinkertaisempi lauseke, sitä pienempi piiri Kytkentäfunktion lauseke sievennetään (simplify, optimize) mahdollisimman yksinkertaiseen SOP- tai POS-muotoon Kytkentäalgebran teoreemat (jos kaksi muuttujaa) esimerkki: F = A (A + B) = A A + A B = 0 + A B = A B Karnaugh´n karttamenetelmä (jos 3 - 6 muuttujaa) Tietokoneella erikseen tehtävä sievennys Quinen-McCluskeyn menetelmä Espresso-menetelmä Suunnittelutyökaluihin sisältyvät sievennys- ja sovitusalgoritmit

Lausekkeen sieventäminen SOP-muotoon Jokainen SOP-lausekkeen tulotermi antaa funktiolle arvon 1 yhdellä tai usealla (2n) muuttujien arvoyhdistelmällä sanotaan, että tulotermi peittää (cover) tietyn määrän funktion ykkösiä mitä vähemmän muuttujia tulotermissä on, sitä useampia ykkösiä se peittää Lausekkeen tulotermien tulee peittää funktion kaikki ykköset ja vain ne Mahdollisimman yksinkertaisessa SOP-lausekkeessa on mahdollisimman vähän tulotermejä ja ne ovat mahdollisimman yksinkertaisia Sievennyksen tehtävänä on löytää tällainen lauseke eli funktion SOP-minimipeitto F(A, B, C) = B + A C A B C F 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 Esimerkki: Usea tulotermi saa peittää saman ykkösen

Lausekkeen sieventäminen POS-muotoon Jokainen POS-lausekkeen summatermi antaa funktiolle arvon 0 yhdellä tai usealla (2n) muuttujien arvoyhdistelmällä sanotaan, että summatermi peittää tietyn määrän funktion nollia mitä vähemmän muuttujia summatermissä on, sitä useampia nollia se peittää Lausekkeen summatermien tulee peittää funktion kaikki nollat ja vain ne Mahdollisimman yksinkertai- sessa POS-lausekkeessa on mahdollisimman vähän summatermejä ja ne ovat mahdollisimman yksinkertaisia Sievennyksen tehtävänä on löytää tällainen lauseke eli funktion POS-minimipeitto F(A, B, C) = (A + B) (B + C) A B C F 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 Esimerkki: Usea summa- termi saa peittää saman nollan

Karnaugh'n karttamenetelmä K-MAP Manuaalinen sievennysmenetelmä Soveltuu 3 - 6:lle muuttujalle Helppo 3 - 4:lle muuttujalle Perustuu kytkentäfunktion totuustaulun piirtämiseen muotoon, jossa voidaan visuaalisesti soveltaa kytkentäalgebran teoreemaa K · F(A, B, C…) + K · F(A, B, C…) = (K + K) · F(A, B, C…) = F(A, B, C…) jopa useita kertoja yhtä aikaa ja löytää näin funktion SOP-minimipeitto Esimerkki: G = A B C + A B C + A B = (A + A) B C + A B = B C + A B Funktion POS-minimipeitto löydetään vastaavasti soveltamalla visuaalisesti teoreemaa (K + F(A, B, C…)) · (K + F(A, B, C…)) = (K · K) + F(A, B, C…) = F(A, B, C…) Karnaugh´n kartta on myös hyödyllinen kytkentäfunktioiden sievennyksen ja digitaalitekniikan käsitteiden ymmärtämisen apuväline

Karnaugh'n kartta K-MAP HTOL Digitaalitekniikan perusteet Luku 4 Sivu 7 (49) 1998-1999 Luentokalvoseloste 12.6.1998 Fe K-MAP Karnaugh'n kartta Karnaugh'n kartan (Karnaugh map) kukin ruutu vastaa yhtä totuustaulun riviä Ruutujen lukumäärä vastaa rivien lukumäärää Muuttujia Ruutuja 3 8 4 16 5 2 x 16 6 4 x 16 Kuhunkin ruutuun merkitään sitä vastaavalla totuustaulun rivillä oleva funktion arvo Kartassa yhden muuttujan suhteen erilaisia rivejä vastaavat ruudut ovat vierekkäin Vierekkäisyys tulkitaan siten, että reunimmaiset ruudut ovat myös keskenään vierekkäisiä

Kolmen muuttujan Karnaugh´n kartta 3 Kolmen muuttujan Karnaugh´n kartta Kolmen muuttujan kartta esitettynä kaikkine merkintöineen C 1 AB 00 01 11 10 F Nimet (F,A,B,C) Vierekkäiset rivit C B A C:n ykkös- alue A:n ykkösalue B:n ykkösalue 2 6 4 1 3 7 5 Totuustaulun rivin numero 1 Funktion arvot totuustaulusta (sivu 4) C A B 1 F U-sääntö A C B 1 Piirretään yleensä yksinkertaistettuna: F

Neljän muuttujan Karnaugh´n kartta HTOL Digitaalitekniikan perusteet Luku 4 Sivu 9 (49) 1998-1999 Luentokalvoseloste 12.6.1998 Fe Neljän muuttujan Karnaugh´n kartta 4 Kuvassa yksinkertainen esitystapa Huomaa vierekkäisyydet Vierekkäiset rivit Silmukkasääntö D A B C F 1 C D A B 1 F

Viiden muuttujan Karnaugh´n kartta Lisä Viiden muuttujan Karnaugh´n kartta Kaksi erillistä karttaa, jotka ajatellaan asetetuiksi päällekkäin Vierekkäisyys kuten neljän muuttujan kartassa, lisäksi päällekkäiset ruudut ovat vierekkäisiä A = 0 A = 1 F B F B Vierekkäiset ruudut E E D D 5 C C

Karnaugh’n kartan käyttö, tulojen summa (SOP) Laaditaan toteutettavan funktion totuustaulu Piirretään muuttujien määrän mukainen Karnaugh’n kartta Siirretään totuustaulusta nollat ja ykköset karttaan Muodostetaan vierekkäisistä ykkösistä kaikki mahdollisimman suuret 1:n, 2:n, 4:n tai 8:n ykkösen ryhmät; tietty ykkönen saa kuulua useaan ryhmään Valitaan muodostettuja ryhmiä, kunnes kaikki ykköset ovat ainakin yhdessä ryhmässä: joskus on valittava kaikki ryhmät, joskus vain osa ryhmistä Kutakin ryhmää vastaa tulotermi, jossa ovat mukana ne muuttujat sellaisinaan, joiden ykkösalueella kaikki ryhmän ykköset ovat invertoituina, joiden 1-alueen ulkopuolella kaikki ryhmän ykköset ovat Muodostetaan valittuja ryhmiä vastaavien tulotermien looginen summa se on yksinkertaisin totuustaulua vastaava tulojen summa (SOP) -muotoinen lauseke eli SOP-minimipeitto

Esimerkkejä ryhmistä ja vastaavista tulotermeistä 1 C D A B A B C D A B D A C D 1 C D A B 1 C D A B A B C D A C ? 1 1 C B A D A D B C B D 1 C A D B A B D B C D A B C D 1 C D A B

Perustermit ja olennaiset perustermit Tulotermiä, joka vastaa mahdollisimman suuren määrän ykkösiä sisältävää ryhmää, nimitetään perustermiksi (prime implicant) Perustermiä, jota vastaava ryhmä ainoana peittää ainakin yhden ykkösen, nimitetään olennaiseksi perustermiksi (essential prime implicant) Mikäli yksinkertaisin lauseke voidaan muodostaa pelkästään olennaisista perustermeistä, se on yksikäsitteinen Mikäli tarvitaan lisäksi muita perustermejä, on useita yhtä yksinkertaisia lausekkeita 1 C A B F D Ei perus- termi! B C D Olennaiset perustermit B C D ? 2 Muut perustermit A D A C F = B + C D + C D + A C tai F = B + C D + C D + A D

Esimerkki 1: SOP-muotoinen lauseke, 3 muuttujaa C A B F 1 A B F C 1 1 1 + A C F = B A B C F 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 ? 3 Molemmat tulotermit olennaisia perustermejä SOP Huom! Järjestyksen vaihto

Esimerkki 2: SOP-muotoinen lauseke, 4 muuttujaa A B C D F 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 1 D C A B F Vain B D ja B D olennaisia perustermejä 1 1 1 1 Vaihto- ehtoinen perustermi A C D B C 1 SOP D 1 C A B F 1 Huom! Järjestyksen vaihto F = B D + B D + C D + A B C 1

Karnaugh’n kartan käyttö, summien tulo (POS) Laaditaan toteutettavan funktion totuustaulu Piirretään muuttujien määrän mukainen Karnaugh’n kartta Siirretään totuustaulusta nollat ja ykköset karttaan Muodostetaan vierekkäisistä nollista kaikki mahdollisimman suuret 1:n, 2:n, 4:n tai 8:n nollan ryhmät; tietty nolla saa kuulua useaan ryhmään Valitaan muodostettuja ryhmiä, kunnes kaikki nollat ovat ainakin yhdessä ryhmässä: joskus on valittava kaikki ryhmät, joskus vain osa ryhmistä Kutakin ryhmää vastaa summatermi, jossa ovat mukana ne muuttujat sellaisinaan, joiden nolla-alueella kaikki ryhmän nollat ovat invertoituina, joiden nolla-alueen ulkopuolella kaikki ryhmän nollat ovat nolla-alue on muuttujan ykkösalueen ulkopuolinen alue Muodostetaan valittuja ryhmiä vastaavien summatermien looginen tulo; se on yksinkertaisin totuustaulua vastaava summien tulo (POS) -muotoinen lauseke eli POS-minimipeitto A A:n nolla-alue

Esimerkki 1: POS-muotoinen lauseke, 3 muuttujaa C A B F B 1 C A F 1 1 1 F = (A + B) (B + C) A B C F 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 Molemmat summatermit olennaisia perustermejä Huom! Järjestyksen vaihto

Esimerkki 2: POS-muotoinen lauseke, 4 muuttujaa Esittele Karnaugh'n karttaohjelma A B C D F 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 Kaikki summatermit olennaisia perustermejä 1 D C A B F 1 1 1 1 C B 1 D A F 1 ? 4 F = (A + B + D) (B + C + D) (B + C + D) 1 Huom! Järjestyksen vaihto 1 POS

Epätäydellisesti määritellyt kytkentäfunktiot Toisinaan kytkentäfunktion arvolla tietyllä tai tietyillä muuttujien arvoyhdistelmillä ei ole merkitystä yhdistelmä ei koskaan voi esiintyä: esimerkiksi kolmiasentoinen kytkin arvolla ei muutoin ole merkitystä: esimerkiksi lyhytaikainen virhekoodi Vastaavaa funktion arvoa nimitetään hälläväliä-arvoksi (don't care) Tällöin arvo voidaan jättää määrittelemättä: sanotaan, että kytkentäfunktio on epätäydellisesti määritelty (incompletely specified) Totuustauluun kyseiseen kohtaan merkitään X Jos kytkentäfunktio määritellään minimi- tai maksimi- termien avulla, määritellään erikseen hälläväliä-termit A B C F 0 0 0 1 0 0 1 X 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 X 1 1 0 1 1 1 1 0 Hälläväliä-termit Esimerkki: F(A, B, C) =  m (0, 2, 3, 6); d (A, B, C) =  m (1, 5) F(A, B, C) =  M (4, 7); d (A, B, C) =  M (1, 5) Don't Care!

Hälläväliä-arvot sieventämisessä Hälläväliä-arvot merkitään Karnaugh’n karttaan X:llä Arvot tulkitaan kukin erikseen 0:ksi tai 1:ksi sen mukaan, kumpi johtaa yksinkertaisempaan lausekkeeseen Lausekkeena määritelty kytkentäfunktio on aina täysin määritelty: funktiolla on aina joko arvo 1 tai 0 Don´t care!

Esimerkki hälläväliä-arvoista sieventämisessä SOP 1 C A B X F C A B F X 1 1 X 1 F = A + B C X toteutuu 1:nä X toteutuu 0:na A B C F 0 0 0 1 0 0 1 X 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 X 1 1 0 1 1 1 1 0 ? 5 Don´t care! Huom! Järjestyksen vaihto

Yhteenveto HTOL Digitaalitekniikan perusteet Luku 4 Sivu 22 (49) 1998-1999 Luentokalvoseloste 12.6.1998 Fe Yhteenveto Mahdollisimman yksinkertaisen lausekkeen löytämistä kytkentäfunktiolle nimitetään sen sieventämiseksi Sievennys voidaan tehdä esimerkiksi Karnaugh'n karttamenetelmällä Karnaugh'n kartta on ruudukon muotoon piirretty funktion totuustaulu Menetelmä on helppo kolmen ja neljän muuttujan funktioille ja käyttökelpoinen myös viiden ja kuuden muuttujan funktioille Menetelmässä Karnaugh'n kartan ykkösistä (SOP) tai nollista (POS) muodostetaan mahdollisimman suuria ryhmiä Kutakin ryhmää vastaa tulotermi (SOP) tai summatermi (POS) Näistä saadaan yksinkertaisin mahdollinen SOP- tai POS-lauseke Mikäli kaikki lausekkeen termit ovat olennaisia perustermejä, lauseke on yksikäsitteinen, muutoin on useita yhtä yksinkertaisia lausekkeita Funktio on epätäydellisesti määritelty, jos osalla sen saamista arvoista ei ole merkitystä Epätäydellisesti määritellyn funktion sievennys voidaan myös tehdä Karnaugh'n kartalla