{"id":1689,"date":"2015-09-23T13:37:59","date_gmt":"2015-09-23T11:37:59","guid":{"rendered":"http:\/\/priit.ati.ttu.ee\/?page_id=1689"},"modified":"2017-10-30T10:55:07","modified_gmt":"2017-10-30T08:55:07","slug":"praktikum-ii-2","status":"publish","type":"page","link":"http:\/\/priit.ati.ttu.ee\/?page_id=1689","title":{"rendered":"Praktikum II"},"content":{"rendered":"<p style=\"text-align: right;\">\n    <!-- WP Last Modified by Dogan Ucar (https:\/\/www.dogan-ucar.de). -->\n    <!-- This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;-->\n    <!-- 2016 - 2026 Dogan Ucar. -->Last modified: 2017-10-30 10:55:07<\/p>\n<h2>Loogikafunktsioonide s\u00fcsteemi minimeerimine<\/h2>\n<p>\u00dche v\u00e4ljundiga loogikafunktsiooni minimeerimist k\u00e4sitlesime eelmisel tunnil. Kui sisendite arv j\u00e4\u00e4b alla 5 on suheliselt h\u00f5lbus leida minimaalset lahendus heuristiliste meetoditega nagu Karnaugh kaart. Suurema v\u00e4ljundite arvu korral on Karnaugh kaart k\u00fcll rakendatav, kuid minimaalse lahenduse leidmine v\u00e4het\u00f5en\u00e4oline ning t\u00fclikas. Seet\u00f5ttu tasub mitme sisendi ning mitme v\u00e4ljundiga s\u00fcsteeme minimeerida kasutades s\u00fcsteemset l\u00e4henemist nagu seda v\u00f5imaldab Quine-McCluskey minimeerimisv\u00f5te v\u00f5i Espresso programm.<\/p>\n<h2>Tunnit\u00f6\u00f6<\/h2>\n<ol>\n<li>Proovida l\u00e4bi loogikafunktsioonide s\u00fcsteemi minimeerimine <a href=\"https:\/\/tams.informatik.uni-hamburg.de\/research\/software\/tams-tools\/kvd-editor.html\" target=\"_blank\" rel=\"noopener\">Karnaugh kaardi rakendusega<\/a>, \u00fclesande m\u00e4\u00e4rab \u00f5ppej\u00f5ud<\/li>\n<li>Kirjutada Karnaugh kaardi lahendusest v\u00e4lja PLA\u00a0fail ning salvestada kettale<\/li>\n<li>\u00d5ppej\u00f5u juhendamisel kasutada programmi Espresso loogikafunktsiooni s\u00fcsteemi minimeerimiseks (\u00fclesanne allpool)<\/li>\n<li>M\u00f5ista Espresso kasutamist, tulemuse v\u00e4ljakirjutamist ning k\u00e4skude -Dverify ning -Dopoall kasutamist<\/li>\n<li>Koostada skeemisimulaatoris espresso tulemusele vastav skeem ning simuleerida skeemi t\u00f6\u00f6d loenduriga<\/li>\n<li>Harjutada Karnaugh kaardi rakenduse, Espresso programmi ning skeemisimulaatori kasutamist \u00f5ppej\u00f5u m\u00e4\u00e4ratud \u00fclesande p\u00f5hjal<\/li>\n<li>Teha test:\n<ol>\n<li><a href=\"https:\/\/goo.gl\/forms\/ZHLKrvjG2Ly0Bm012\" target=\"_blank\" rel=\"noopener\">Esmasp\u00e4ev kell 16:00<\/a><\/li>\n<li><a href=\"https:\/\/goo.gl\/forms\/xZs2j7SBoZjDAPCn1\" target=\"_blank\" rel=\"noopener\">Kolmap\u00e4ev kell 08:15<\/a><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h2>Kodune t\u00f6\u00f6<\/h2>\n<ul>\n<li>Arvutada v\u00e4lja oma kodut\u00f6\u00f6 \u00fclesande t\u00f5ev\u00e4\u00e4rtustabel &#8211; j\u00e4rgmisel tunnil l\u00e4heb seda vaja!<\/li>\n<\/ul>\n<h2 id=\"espresso\">Heuristiline ja t\u00e4pne minimeerimine programmi <span style=\"color: #ff6600;\"><a style=\"color: #ff6600;\" href=\"http:\/\/mini.li.ttu.ee\/~lrv\/espresso\/\">Espresso <\/a><\/span>abil<\/h2>\n<div id=\"espresso-link-1689\" class=\"sh-link espresso-link sh-hide\"><a href=\"#\" onclick=\"showhide_toggle('espresso', 1689, '\u00d5petus!', 'Peida \u00f5petus!'); return false;\" aria-expanded=\"false\"><span id=\"espresso-toggle-1689\">\u00d5petus!<\/span><\/a><\/div><div id=\"espresso-content-1689\" class=\"sh-content espresso-content sh-hide\" style=\"display: none;\"><\/p>\n<p><a href=\"http:\/\/mini.li.ttu.ee\/~lrv\/espresso\/\" target=\"_blank\" rel=\"noopener\">Espresso <\/a>on programm loogika funktsioonide s\u00fcsteemi kahetasemeliseks minimeerimiseks. Tegu on konsooli programmiga, mis t\u00e4hendab, et k\u00e4ivitamiseks Windowsis tuleb k\u00e4ivitada\u00a0<em><strong>Command Prompt<\/strong><\/em>. Viimase k\u00e4ivitamiseks kirjutada Start men\u00fc\u00fcsse k\u00e4sk <b><i>cmd<\/i><\/b><i><\/i>. Avanenud aknas (konsoolis) tuleb liikuda vastavate k\u00e4skude abil kataloogi, kus asub espresso k\u00e4ivitusfail (espresso.exe). Soovitus on paigutada\u00a0<em><strong>espresso.exe<\/strong><\/em> kohe k\u00f5vakettale ligip\u00e4\u00e4setavuse-mugavuse eesm\u00e4rgil.<\/p>\n<p><a href=\"http:\/\/user.engineering.uiowa.edu\/~switchin\/OldSwitching\/espresso.5.html\" target=\"_blank\" rel=\"noopener\">Online Espresso kiirjuhend!<\/a><\/p>\n<ul>\n<li>Espresso k\u00e4ivitamiseks kirjutada konsooli k\u00e4sk\u00a0<em><strong>espresso<\/strong><\/em> millele v\u00f5ivad j\u00e4rgneda minimeerimisviisid kui ka sisendfaili nimi.<\/li>\n<li>T\u00e4psemat infot parameetrite kohta saab k\u00e4suga\u00a0<em><strong>espresso &#8211;help<\/strong><\/em>.<\/li>\n<li>Espresso sisendiks sobib .txt fail, milles on korrektselt \u00e4ra m\u00e4\u00e4retseletud sisendite\/v\u00e4ljundite arv ning l\u00f5pu tunnus\n<ul>\n<li><a href=\"http:\/\/priit.ati.ttu.ee\/I207\/exercise1.txt\" target=\"_blank\" rel=\"noopener\">Siit<\/a> leiab harjutus\u00fclesande 1 espresso faili<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3><\/h3>\n<p>T\u00f6\u00f6 programmiga:<\/p>\n<ul>\n<li>Minimeerimiseks anda k\u00e4sk <em><strong>espresso<\/strong>\u00a0ja<\/em>\u00a0failminimi. N\u00e4itena: espresso exercise1.txt<\/li>\n<\/ul>\n<p><a href=\"http:\/\/priit.ati.ttu.ee\/wp-content\/uploads\/2015\/02\/esp1.png\"><img loading=\"lazy\" class=\"aligncenter wp-image-1323 size-medium\" src=\"http:\/\/priit.ati.ttu.ee\/wp-content\/uploads\/2015\/02\/esp1-300x188.png\" alt=\"Espresso minimeerimine\" width=\"300\" height=\"188\" srcset=\"http:\/\/priit.ati.ttu.ee\/wp-content\/uploads\/2015\/02\/esp1-300x188.png 300w, http:\/\/priit.ati.ttu.ee\/wp-content\/uploads\/2015\/02\/esp1.png 675w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<ul>\n<li>Programm v\u00f5imaldab paljusid erinevaid lisavalikuid, mida n\u00e4eb k\u00e4suga <em><strong>espresso &#8211;help<\/strong><\/em><\/li>\n<li>Minimeerides funktsioonide s\u00fcsteemi on oluline parameeter <em><strong>-Dopoall<\/strong><\/em>, mis minimeerib l\u00e4htudes sellest, et funktsioone vaadeldakse \u00fckshaaval ning inverteeritakse. K\u00e4ivitamiseks: espresso -Dopoall failinimi<\/li>\n<\/ul>\n<p><a href=\"http:\/\/priit.ati.ttu.ee\/wp-content\/uploads\/2015\/02\/esp2.png\"><img loading=\"lazy\" class=\"aligncenter wp-image-1324 size-medium\" src=\"http:\/\/priit.ati.ttu.ee\/wp-content\/uploads\/2015\/02\/esp2-245x300.png\" alt=\"Espressoga minimeerimine\" width=\"245\" height=\"300\" srcset=\"http:\/\/priit.ati.ttu.ee\/wp-content\/uploads\/2015\/02\/esp2-245x300.png 245w, http:\/\/priit.ati.ttu.ee\/wp-content\/uploads\/2015\/02\/esp2.png 675w\" sizes=\"(max-width: 245px) 100vw, 245px\" \/><\/a><\/p>\n<ul>\n<li>&#8211;<strong>Dopoall<\/strong> k\u00e4sk annab esimese tulemuse, kus implikantide arv on minimaalne. Kui aga programmi t\u00f6\u00f6 k\u00e4igus on n\u00e4ha, et on veel minimaalsemaid lahendusi, saab need ette anda faili, lisades k\u00e4su p\u00e4rast v\u00e4ljundeid (.o 4) .phase XXXX, kus XXXX t\u00e4histab vastavat faasi, millega soovitakse minimeerida. Tuleb meeles pidada, et tulemuse v\u00e4ljakirjutamisel on nulliga t\u00e4histatud faasid vaja veel omakorda inverteerida, et saada korrektne l\u00f5pptulemus.<\/li>\n<\/ul>\n<p><a href=\"http:\/\/priit.ati.ttu.ee\/wp-content\/uploads\/2015\/02\/esp3.png\"><img loading=\"lazy\" class=\"aligncenter wp-image-1325 size-medium\" src=\"http:\/\/priit.ati.ttu.ee\/wp-content\/uploads\/2015\/02\/esp3-245x300.png\" alt=\"esp3\" width=\"245\" height=\"300\" srcset=\"http:\/\/priit.ati.ttu.ee\/wp-content\/uploads\/2015\/02\/esp3-245x300.png 245w, http:\/\/priit.ati.ttu.ee\/wp-content\/uploads\/2015\/02\/esp3.png 675w\" sizes=\"(max-width: 245px) 100vw, 245px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/priit.ati.ttu.ee\/wp-content\/uploads\/2015\/02\/esp4.png\"><img loading=\"lazy\" class=\"aligncenter wp-image-1326 size-medium\" src=\"http:\/\/priit.ati.ttu.ee\/wp-content\/uploads\/2015\/02\/esp4-177x300.png\" alt=\"esp4\" width=\"177\" height=\"300\" srcset=\"http:\/\/priit.ati.ttu.ee\/wp-content\/uploads\/2015\/02\/esp4-177x300.png 177w, http:\/\/priit.ati.ttu.ee\/wp-content\/uploads\/2015\/02\/esp4-604x1024.png 604w, http:\/\/priit.ati.ttu.ee\/wp-content\/uploads\/2015\/02\/esp4.png 675w\" sizes=\"(max-width: 177px) 100vw, 177px\" \/><br \/>\n<\/a><\/p>\n<ul>\n<li>&#8211;<strong>Dverify<\/strong> k\u00e4sk v\u00f5imaldab v\u00f5rrelda kahte faili PLA kujul. Antud k\u00e4sk on kasulik, et veenduda \u00fclesande \u00f5igsuses ka p\u00e4rast minimeerimist. Lisaks saab Karnaugh kaardi rakendusest eksportida tulemuse PLA kujul, mida siis hiljem v\u00f5rrelda originaali v\u00f5i omakorda minimeeritud tulemusega.<\/li>\n<\/ul>\n<p><\/div>\n<h2>Skeemi modelleerimine <span style=\"color: #ff6600;\"><a style=\"color: #ff6600;\" href=\"http:\/\/www.falstad.com\/circuit\/\">skeemisimulaatori <\/a><\/span>abil<\/h2>\n<div id=\"skeemisimulaator-link-1689\" class=\"sh-link skeemisimulaator-link sh-hide\"><a href=\"#\" onclick=\"showhide_toggle('skeemisimulaator', 1689, '\u00d5petus!', 'Peida \u00f5petus!'); return false;\" aria-expanded=\"false\"><span id=\"skeemisimulaator-toggle-1689\">\u00d5petus!<\/span><\/a><\/div><div id=\"skeemisimulaator-content-1689\" class=\"sh-content skeemisimulaator-content sh-hide\" style=\"display: none;\"><\/p>\n<p><a href=\"http:\/\/www.falstad.com\/circuit\/\">Skeemisimulaatori <\/a>kasutamiseks on oluline teada m\u00f5ningaid lihtsalt k\u00e4sku programmist.<\/p>\n<ul>\n<li>Nupp\u00a0<em><strong>Reset\u00a0<\/strong><\/em>taasalustab simuleerimise.<\/li>\n<li>Olek\u00a0<em><strong> Stopped\u00a0<\/strong><\/em> lubab ajutist peatamist, et skeemi loomise ajal Java-mootor asjatult arvutit ei koormaks. Samas toimub t\u00f6\u00f6 ajal pidev skeemi korrektsuse kontroll.<\/li>\n<li>Men\u00fc\u00fcst\u00a0<em><strong> Circuits\u00a0<\/strong><\/em> saab valida erinevaid valmis-skeeme v\u00f5i alustada uue loomist k\u00e4suga\u00a0<strong>\u00a0<em>Blank Circuit<\/em><\/strong>.<\/li>\n<li>Komponentide lisamiseks skeemile teha t\u00f6\u00f6alas <strong>paremkl\u00f5ps<\/strong>, misj\u00e4rel saab avanenud men\u00fc\u00fcs juba omale sobiva elemendi lisada.\n<ul>\n<li>Meile on olulised\u00a0<em><strong>Inputs\/Outputs<\/strong><\/em> men\u00fc\u00fcs olevad\u00a0<em><strong>Logic Input\u00a0<\/strong><\/em> ja\u00a0<em><strong> Logic Output<\/strong><\/em>. Samuti leiab samast men\u00fc\u00fcst ka taktigeneraatori sisendi\u00a0<em><strong>Clock<\/strong><\/em>.<\/li>\n<li>Loogika ventiilid ja trigerid on leitavad men\u00fc\u00fcde\u00a0<em><strong>Logic Gates<\/strong><\/em> ja\u00a0<em><strong> Chips<\/strong><\/em> alt.<\/li>\n<li>K\u00e4sk\u00a0<em><strong>Add Wire\u00a0<\/strong><\/em> abil on v\u00f5imalik komponente omavahel \u00fchendada. \u00dchendusi on v\u00f5imalik teha ainult viikudelt.<\/li>\n<li>Tehes paremkl\u00f5psu olemasoleval komponendil lubab seda kopeerida, kustutada, lainegraafikule lisada (<em><strong>View in Scope<\/strong><\/em>) ja parameetreid muuta (n\u00e4iteks sisendite\/v\u00e4ljundite arv).<\/li>\n<\/ul>\n<\/li>\n<li>Hiire vasak kl\u00f5ps loob valitud komponendi. Suund ja suurus oleneb sellest, mis suunas kursorit allhoidmise ajal nihutatakse. Kl\u00f5ps koos\u00a0<em><strong>Ctrl<\/strong><\/em> klaviga lubab komponenti p\u00f6\u00f6rata ja\/v\u00f5i suurust muuta. Kl\u00f5ps koos\u00a0<em><strong>Shift\u00a0<\/strong><\/em>klahviga lubab komponendi asukohta muuta. Oluline on t\u00e4hele panna, et juhtmed komponendiga p\u00e4rast liigutamist kaasa ei tule ning tuleb eraldi \u00fcmber paigutada.<\/li>\n<li>Skeemi salvestamine ja laadimine toimub\u00a0<em><strong>File<\/strong><\/em> men\u00fc\u00fcst k\u00e4skudega\u00a0<em><strong>Import\/Export<\/strong>.<\/em><\/li>\n<li>Detailne programmi kasutamise inglise keelne juhend on k\u00e4ttesaadav <a href=\"http:\/\/www.falstad.com\/circuit\/directions.html\">siit<\/a>.<\/li>\n<\/ul>\n<p><\/div>\n<h2>Harjutus\u00fclesanded loogikafunktsioonide s\u00fcsteemile<\/h2>\n<ol>\n<li>On antud 3-sisendi ja 2-v\u00e4ljundiga funktsioonide s\u00fcsteem:<br \/>\n<b>y10(i2,i1,i0) = \u03a3(1,2,7)<sub> 1<\/sub>(3,5)<sub>&#8211;<\/sub><\/b> ja<br \/>\n<b>y11(i2,i1,i0) = \u03a3(1,5)<sub> 1<\/sub>(3)<sub>&#8211;<\/sub><\/b> .<\/li>\n<li>On antud 3-sisendi ja 3-v\u00e4ljundiga funktsioonide s\u00fcsteem:<br \/>\n<b>y10(i2,i1,i0) = \u03a3(0,2,3,7)<sub> 1<\/sub><\/b> ;<br \/>\n<b>y11(i2,i1,i0) = \u03a3(0,1,3,5)<sub> 1<\/sub><\/b> ja<br \/>\n<b>y12(i2,i1,i0) = \u03a3(0,1,2,7)<sub> 1<\/sub><\/b> .<\/li>\n<li>On antud 4-sisendi ja 4-v\u00e4ljundiga funktsioonide s\u00fcsteem:<br \/>\n<b>y10(i3,i2,i1,i0) = \u03a3(1,2,3,6,9,11,12)<sub> 1<\/sub> (13)<sub> &#8211;<\/sub><\/b> ;<br \/>\n<b>y11(i3,i2,i1,i0) = \u03a3(2,3,6,9,12,14)<sub> 1<\/sub> (0,1,4,13,15)<sub> &#8211;<\/sub><\/b> ;<br \/>\n<b>y12(i3,i2,i1,i0) = \u03a3(2,4,5,8,10,13)<sub> 1<\/sub> (1,6,11,12,15)<sub> &#8211;<\/sub><\/b> ja<br \/>\n<b>y13(i3,i2,i1,i0) = \u03a3(1,3,4,10,11,15)<sub> 1<\/sub> (6,9,12)<sub> &#8211;<\/sub><\/b> .<\/li>\n<\/ol>\n<h2>Harjutus\u00fclesanded \u00fche sisendiga loogikafunktsioonidele<\/h2>\n<ol>\n<li>On antud 3-muutuja funktsioon <b>y1(i2,i1,i0) = \u03a3(0,1,6,7)<sub>1<\/sub> (3)<sub>\u2014<\/sub><\/b><\/li>\n<li>On antud 4-muutuja funktsioon <b>y1(i3,i2,i1,i0) = \u03a3(3,5,11,13)<sub>1<\/sub> (6,7,14,15)<sub>\u2014<\/sub><\/b><\/li>\n<li>On antud 4-muutuja funktsioon <b>y1(i3,i2,i1,i0) = \u03a3(0,1,4,9,14)<sub>1<\/sub> (2,3,8,11,12,15)<sub>\u2014<\/sub><\/b><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Loogikafunktsioonide s\u00fcsteemi minimeerimine \u00dche v\u00e4ljundiga loogikafunktsiooni minimeerimist k\u00e4sitlesime eelmisel tunnil. Kui sisendite arv j\u00e4\u00e4b alla 5 on suheliselt h\u00f5lbus leida minimaalset lahendus heuristiliste meetoditega nagu Karnaugh kaart. Suurema v\u00e4ljundite arvu korral on Karnaugh kaart k\u00fcll rakendatav, kuid minimaalse lahenduse leidmine v\u00e4het\u00f5en\u00e4oline ning t\u00fclikas. Seet\u00f5ttu tasub mitme sisendi ning mitme v\u00e4ljundiga s\u00fcsteeme minimeerida kasutades s\u00fcsteemset l\u00e4henemist [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":978,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"http:\/\/priit.ati.ttu.ee\/index.php?rest_route=\/wp\/v2\/pages\/1689"}],"collection":[{"href":"http:\/\/priit.ati.ttu.ee\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/priit.ati.ttu.ee\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/priit.ati.ttu.ee\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/priit.ati.ttu.ee\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1689"}],"version-history":[{"count":21,"href":"http:\/\/priit.ati.ttu.ee\/index.php?rest_route=\/wp\/v2\/pages\/1689\/revisions"}],"predecessor-version":[{"id":2481,"href":"http:\/\/priit.ati.ttu.ee\/index.php?rest_route=\/wp\/v2\/pages\/1689\/revisions\/2481"}],"up":[{"embeddable":true,"href":"http:\/\/priit.ati.ttu.ee\/index.php?rest_route=\/wp\/v2\/pages\/978"}],"wp:attachment":[{"href":"http:\/\/priit.ati.ttu.ee\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1689"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}