Heuristiline ja täpne minimeerimine programmi Espresso abil

Tunnitöö

  • Espresso kasutamine õppejõu juhendamisel
    • Koos õppejõuga minimeerida nutika küttesüsteemi lahendus
    • Analüüsida tulemust -Dopoall käsku kasutades, leida minimaalseim lahendus
    • Minimeerida ülesanne parima faasiga
    • Kirjutada välja minimaalseim lahendus loogika funktsioonina
    • Koostada loogikaskeem funktsioonist ning hinnata elementide arvu võrreldes heuristilise lahenduse tulemusega
  • Harjutada iseseisvalt Espresso kasutamist õppejõu poolt määratud ülesandega
  • Täita ära test I

Windowsi kasutajale

Espresso on programm loogika funktsioonide süsteemi kahetasemeliseks minimeerimiseks. Tegu on konsooli programmiga, mis tähendab, et käivitamiseks Windowsis tuleb käivitada Command Prompt. Viimase käivitamiseks kirjutada Start menüüsse käsk cmd. Avanenud aknas (konsoolis) tuleb liikuda vastavate käskude abil kataloogi, kus asub espresso käivitusfail (espresso.exe). Soovitus on paigutada espresso.exe kohe kõvakettale ligipääsetavuse mugavuse eesmärgil.

  • Espresso käivitamiseks kirjutada konsooli käsk espresso millele võivad järgneda minimeerimisviisid kui ka sisendfaili nimi.
  • Täpsemat infot parameetrite kohta saab käsuga espresso –help.
  • Espresso sisendiks sobib .txt fail, milles on korrektselt ära määretseletud sisendite/väljundite arv ning lõpu tunnus
    • Siit leiab harjutusülesande 1 espresso faili

Linuxi kasutajale klassi arvutis

Klassi arvutitesse on juba Espresso paigaldatud. Käivitamiseks ava terminal (näiteks paremklõps tühjal töölaual ning menüüst Open in new Terminal). Järgmiseks liigu kataloogi, kus asub Espresso sisendfail. Harjutusülesande nr. 1 fail salvestatakse vaikimisi Downloads kataloogi. Kui avasid terminali töölaual siis anna käsk cd .., millega liigud ühe kataloogi võrra madalamale ning seejärel käsk cd Downloads, mis viib sind allalaetud failide kataloogi. Käsuga espresso exercise1.txt käivitad programmi, mis minimeerib ülesande.

Töö programmiga:

  • Minimeerimiseks anda käsk espresso ja failminimi. Näitena: espresso exercise1.txt

Espresso minimeerimine

  • Programm võimaldab paljusid erinevaid lisavalikuid, mida näeb käsuga espresso –help
  • Minimeerides funktsioonide süsteemi on oluline parameeter -Dopoall, mis minimeerib lähtudes sellest, et funktsioone vaadeldakse ükshaaval ning inverteeritakse. Käivitamiseks: espresso -Dopoall failinimi

Espressoga minimeerimine

  • -Dopoall käsk annab esimese tulemuse, kus implikantide arv on minimaalne. Kui aga programmi töö käigus on näha, et on veel minimaalsemaid lahendusi, saab need ette anda faili, lisades käsu pärast väljundeid (.o 4) .phase XXXX, kus XXXX tähistab vastavat faasi, millega soovitakse minimeerida. Tuleb meeles pidada, et tulemuse väljakirjutamisel on nulliga tähistatud faasid vaja veel omakorda inverteerida, et saada korrektne lõpptulemus.

esp3

esp4

  • -Dverify käsk võimaldab võrrelda kahte faili PLA kujul. Antud käsk on kasulik, et veenduda ülesande õigsuses ka pärast minimeerimist. Lisaks saab Karnaugh kaardi rakendusest eksportida tulemuse PLA kujul, mida siis hiljem võrrelda originaali või omakorda minimeeritud tulemusega.

Harjutusülesanded loogikafunktsioonide süsteemile

  1. On antud 3-sisendi ja 2-väljundiga funktsioonide süsteem:
    y10(i2,i1,i0) = Σ(1,2,7) 1(3,5) ja
    y11(i2,i1,i0) = Σ(1,5) 1(3) .
  2. On antud 3-sisendi ja 3-väljundiga funktsioonide süsteem:
    y10(i2,i1,i0) = Σ(0,2,3,7) 1 ;
    y11(i2,i1,i0) = Σ(0,1,3,5) 1 ja
    y12(i2,i1,i0) = Σ(0,1,2,7) 1 .
  3. On antud 4-sisendi ja 4-väljundiga funktsioonide süsteem:
    y10(i3,i2,i1,i0) = Σ(1,2,3,6,9,11,12) 1 (13) ;
    y11(i3,i2,i1,i0) = Σ(2,3,6,9,12,14) 1 (0,1,4,13,15) ;
    y12(i3,i2,i1,i0) = Σ(2,4,5,8,10,13) 1 (1,6,11,12,15) ja
    y13(i3,i2,i1,i0) = Σ(1,3,4,10,11,15) 1 (6,9,12) .