• Cvičenie č.1 (23.02.2009) - Zadanie číslo 1 - analýza kombinačných logických obvodov; simulátor LOG
  • Harmonogram cvičení z predmetu LO - HARMONOGRAM_CVICENI.doc
    Zadanie č.1 nájdete v dokumente ZADANIE ULOH.DOC
    Schémy obvodov k zadaniu č. 1 - schémy obvodov
    Program na kreslenie obvodov - LOG
    Tutoriál k programu LOG - tutorial
    Zdrojový súbor pre LOG z dokumentu cvic1_3.doc - example.lgf
    Na stránke http://aplo.fiit.stuba.sk/aps/ nájdete výučbový systém k predmetu APS, ale niektoré témy sa zhodujú s predmetom LO preto Vám odporúčam aspoň nazrieť.

    Odporúčam Vám, aby ste si LOG nahrali k sebe na plochu, prípadne do svojej zložky, ktorá je prístupná iba Vám. Vyhnete sa tak zbytočným problémom s odopretím prístupu (napríklad pre uloženie obvodu na zdieľanom disku).

    Cvicenie 2 - Prekresleny priklad do LOGu
    Obr.1 - Prekreslený príklad z dokumentu cvic1_3.doc do programu LOG


  • Cvičenie č.2 (02.03.2009) - Zadanie číslo 1 - analýza kombinačných logických obvodov; simulátor LOG
  • Na dnešnom cvičení máte možnosť prezentovať zadanie č.1. Ak preukážete vedomosti v danej oblasti a Vaše zaanie bude správne, môžete ísť domov alebo sa venovať inej činnosti (napríklad si pozrieť stránku uvedenú pri tomto cvičení). Ďalej platí, že nemusíte prísť na 3. cvičenie, ale až na 4. Odporúčame Vám preto, aby ste zadania odovzdali čo najskôr. Získate tým čas pre Vás ale aj pre nás :)

    Odporúčam Vám ďalej pozrieť si študijné materiály k predmetu, ktoré sa nachádzajú na stránke http://aplo.fiit.stuba.sk/ls/moodle/login/index.php. Pre využívanie všetkých možností stránky, je potrebné sa zaregistrovať.


  • Cvičenie č.3 (09.03.2009) - Zadanie číslo 1 - analýza kombinačných logických obvodov; simulátor LOG
  • Všetci ktorí odprezentovali zadanie číslo 1 nemusia prísť na cvičenie číslo 3. Ak ale máte nejaké otázky, prípadne chcete využiť čas cvičenia na vlastné účely, kľudne prijdite. Všetci sa potom uvidíme na 4. cvičení, kde sa bude robiť nové zadanie.


  • Cvičenie č.4 (16.03.2009) Zadanie číslo 2 - syntéza kombinačných logických obvodov
  • Zadanie č.2 nájdete v dokumente ZADANIE ULOH.DOC
    Presné znenie zadania a príklad riešenia nájdete v dokumente cvic4_5.doc  (schéma obvodu v LOGu)

    Tutoriál k programu ESPRESSO - tutorial ESPRESSO
    Program na minimalizáciu dvoch funkcii pomocou Quine McCluskeyho algoritmu si môžete stiahnuť tu
    Popis niektorých metód minimalizácie (najmä Quine McCluskeyho) nájdete v dokumente Skupinova minimalizacia.pdf

    Program Skupinova minimalizacia bol vytvorený mnou ako bakalársky projekt. Je v ňom použitá metóda Quine McCluskey, ktorá je najľahšia na počítačové spracovanie. Program má niekoľko obmedzení: Aj napriek týmto obmedzeniam, program dokáže ukázať a vysvetliť, ako použiť metódu Quine McCluskeyho pri skupinovej minimalizácii logických funkcií.

    Kody Príklad začatia riešenia
    Obr.2 - dekadické kódy

    Obr.3 - Príklad, ako začať návrh

    Druhé zadanie je náročnejšie ako prvé zadanie, najmä čo sa týka nakreslenia schémy v simulátore LOG. Odporúčame Vám preto Vaše schémy začať kresliť tak, ako to vidieť na obrázku 3: najskôr si pripraviť všetky vstupné signály (aj ich negácie) a potom ich už napájať na NANDy tak, ako je potrebné. Odporúčame pozrieť si aj schému nakreslenú k vzorovému riešeniu druhého zadania, kde je to takto nakreslené. Musíte sami uznať, že výsledná schéma je prehľadná a nedá sa v nej pomýliť.
    Pre tých, ktorý potrebujú nakresliť karnaughovu mapu pre 5 premenných, budú nápomocné obrázky 4 a 5.

    Karnaughova mapa, 5 premenných
    Karnaughova mapa, 5 premenných
    Obr.4 - Príklad karnaughovej mapy pre 5 premenných

    Obr.5 - Príklad karnaughovej mapy pre 5 premenných


  • Cvičenie č.5 (23.03.2009) Zadanie číslo 2 - syntéza kombinačných logických obvodov
  • Na dnešnom cvičení sa odovzdáva zadanie číslo 2. Je potrebné, aby ste mali pripravený vypracovaný dokument a schému v LOGu.
    Váš dokument by mal obsahovať: Tí, ktorí nestihnú zadanie odprezentovať, musia ho poslať mailom na adresu svojeho cvičiaceho do 27.03.2009! (piatok) do 24:00
    V maile uveďte Vaše meno, kedy máte cvičenie, číslo Vašeho zadania a priložte tri prílohy : kde meno je Vaše meno (stačí priezvisko).

    Na ďalšom cvičení sa bude písať test, ktorý bude pozostávať z nasledujúcich 4 otázok:
    1. Navrhnite dvojstupňový obvod s minimálnym počtom členov (NAND alebo NOR, podľa zadania) s výstupnými funkciami zadanými karnaughovými mapami.
      Budú 2 výstupné a 3 vstupné premenné. Je treba sa naučiť MKNF a zopakovať si MDNF. Otázka podobná druhému zadaniu.
    2. Je zadaná štruktúra kombinačnej logickej siete, nájdite výstupné funkcie a zapíšte ich do karnaughovej mapy.
      Budú 1 alebo 2 výstupné premenné, 3 alebo 4 vstupné premenné. Zopakujte si správanie logických členov NOT, AND, NAND, OR, NOR, XOR (ex-OR). Otázka je podobná prvému zadaniu.
    3. Otázka k programu LOG, jeho použitie.
    4. Otázka k programu ESPRESSO, jeho použitie.

  • Cvičenie č.6 (30.03.2009) Zadanie číslo 3 - synchrónne sekvenčné obvody
  • Znenie zadania č.3 nájdete v dokumente ZADANIE ULOH.DOC
    Príklad riešenia zadania č.3 nájdete v dokumente pr_z3.doc
    Príklad návrhu simulácie v LOGu pre zadanie 3 nájdete v súbore pr_z3_d.lgf

    Najskôr je potrebné zostaviť stavový diagram. Jednotlivé stavy vyjadrujú, koľko správne rozpoznaných znakov sme našli v postupnosti, pričom stav A vyjadruje žiadny správne rozpoznaný znak a stav F vyjadruje päť správne rozpoznaných znakov za sebou. V našom prípade ide o postupnosť 01110.
    Najskôr si nakreslíme všetky stavy, ktoré môžu vzniknúť:
    • A - nemám nič rozpoznané
    • B - mám rozpoznaný jeden znak
    • C - mám rozpoznané dva znaky
    • D - mám rozpoznané tri znaky
    • E - mám rozpoznané štyri znaky
    • F - mám rozpoznaných päť znakov - celú postupnosť
    Je ľahké nakresliť, kedy sa z jedného stavu dostaneme do vyššieho: je to práve vtedy, keď v postupnosti rozpoznáme znak, ktorý patrí do tej našej postupnosti 01110. To znamená, že ak rozpoznám 0, prejdem do stavu B, ak potom rozpoznám 1, prejdem do stavu C a pod. Ak správne postupujeme, malo by nám vyjsť niečo také, ako vidno na obrázku č. 6.
    Stavový diagram - začiatok
    Obr.6 - stavový diagram, zobrazujúci stavy a prechody medzi nimi pri postupnosti 01110

    Čo ale robiť, ak rozpoznám iný znak, ako očakávam? V stave A je to veľmi jednoduché: ak som nerozpoznal znak, ktorý by ma posunul do vyššieho stavu, ostávam v stave A čakať na ten znak(v našom prípade znak 0 nás posúva do vyššieho stavu, pri znaku 1 ostávame v stave A).
    Po vyriešení tohoto problému, sa nachádzame v stave B. Ak príde očakávaný znak 1, idem do stavu C. V prípade znaku 0 sa musím zamyslieť: Musím sa naspäť vrátiť do stavu A alebo môžem ostať v stave B? Ak by sme sa vrátili do stavu A, musíme čakať na znak 0, ktorý by nás posunul do stavu B. To je ale úplne zbytočné a nesprávne, pretože by sme sa nemohli posunúť do stavu C v prípade prijatia znaku 1. Musíme preto ostať v stave B, kde čakáme na znak 1.
    Sme v stave C. Čakáme na znak 1, ktorý nás posunie do stavu D. Príde nám ale znak 0. Čo teraz? Stav A, B alebo C?
    Povedzme, že sa vrátime do stavu A. Tu vzniká rovnaká situácia ako v predošlom prípade: na to, aby sme sa posunuli do stavu B, musíme získať ďalší znak 0 a to je nesprávne.
    Uvažujme teda stav C. V stave A sme rozpoznali 0, v stave B 1 a v stave C zase znak 0. Naša postupnosť je teda 010, my sme v stave C a očakávame 1. Po jej prijati by sme mali postupnosť 0101 a to nezodpovedá postupnosti, ktorú očakávame.
    Ostal teda stav B. V stave A sme prijali 0, v stave B 1 a v stave C zase 0. Máme postupnosť 010, čo taktiež nezodpovedá našej postupnosti, ale môžeme ísť do stavu B, pretože nulu, ktorú sme rozpoznali v stave C, by sme rozpoznali aj v A to je zbytočné. Ak ostaneme v stave B a ako ďalší znak rozpoznáme 1, dostaneme postupnosť 0101, čo síce nie je naša postupnosť, ale posledné dva znaky 01 tvoria začiatok novej postupnosti, ktorú môžeme rozpoznať.
    Takto pokračujeme až do konca, až nám vyjde stavový diagram, ktorý je nakreslený na obrázku č. 7. Tento diagram potom prekreslíme do stavovej tabuľky, ktorá sa nachádza aj v dokumente príkladu riešenia tohoto zadania 3.
    Stavový diagram - dokončený
    Obr.7 - hotový stavový diagram


  • Cvičenie č.7 (06.04.2009) Zadanie číslo 3 - synchrónne sekvenčné obvody
  • Na dnešnom cvičení budete pokračovať v riešení zadania číslo 3. Všetky potrebné informácie potrebné k vyriešeniu zadania sa nachádzajú na tejto stránke.
    Pri písaní dokumentu sa inšpirujte príkladom riešenia zadania č.3 pre postupnosť 01110. Snažte sa vyvarovať chýb, ktorých ste sa dopustili v predošlých dokumentoch (nepriložené zadanie, žiadny záver, chýbajúci výstup z espressa a pod.).

    Nezabudnite ani na zapojenie RESETu:
    Ak chceme aby bol obvod po RESETe v 0, napojíme D preklapácie obvody signálom zo spodu.
    Ak chceme aby bol obvod po RESETe v 1, napojíme D preklapácie obvody signálom z vrchu.
    Pripomínam, že RESET je aktívny v 0, teda aby obvod fungoval, musí mu na vstup byť privedená logická 0. Komu sa to nepáči, môže použiť negátor pred vstupom signálu do preklápacieho obvodu. Odporúčam inšpirovať sa navrhnutou schémou v LOGu pre postupnosť 01110.

    Budúci pondelok je veľkonočný pondelok, tak sa uvidíme až ten ďalší pondelok (20.4.2009) kedy budete Vaše zadania predvádzať.


  • Cvičenie č.8 (20.04.2009) Zadanie číslo 3 - synchrónne sekvenčné obvody
  • Na dnešnom cvičení budete modifikovať svoje zadania na použitie JK preklápacích obvodov a prezentovať svoje riešenia k zadaniu číslo 3.
    Ing. Tomalová Vám vysvetlila, ako pracuje obvod JK-PO, stačí prerobiť zadanie. To pôvodné si ale uchovajte, lebo sa odovzdáva tiež. V súbore pr_z3_edited.doc som doplnil informácie k JK-PO. Taktiež dávam do pozornosti aj schému pr_z3_jk.lgf, kde je nakreslený obvod pre postupnosť 01110 s použitím JK preklápacích obvodov.

    Tí, ktorí nestihnú zadanie odprezentovať, musia ho poslať mailom na adresu svojeho cvičiaceho do 24.04.2009! (piatok) do 24:00 (platí pre študentov, ktorých cvičí Ing. Tomalová!)
    V maile uveďte Vaše meno, kedy máte cvičenie, číslo Vašeho zadania a priložte tieto prílohy : kde meno je Vaše meno (stačí priezvisko). V maile ďalej uveďte, či Váš obvod funguje správne alebo nie.


  • Cvičenie č.9 (27.04.2009) Zadanie číslo 4 - asynchrónne sekvenčné obvody
  • Na dnešnom cvičení sa rozdelíte na dvojice a každej dvojici bude pridelené jedno zadanie zo súboru ZADANIE ULOH.DOC. Vzorové riešenie zadania nájdete v súbore cvic9_11.doc. Zadanie je potrebné vypracovať do zošita a len prvé dve úlohy:
    1. Zostavte formálnu špecifikáciu v tvare fundamentálneho stavového stroja (automatu) M 1.rádu
    2. Zvolte vhodný vnútorný kód pre stavy v M
    Zadanie sa odovzdáva do konca semestra, t.j. do cvičenia číslo 11 (11.05.2009).
    11. cvičenie je aj zápočtové cvičenie, doneste si so sebou indexy.

    Budúci týždeň (04.05.2009) sa bude písať druhý test. Príklad zadania testu je nasledovný:
    Navrhnite synchrónny sekvenčný obvod opísaný zadaným automatom (FSM). V pamäťovej časti použite JK-PO, v kombinačnej časti minimálny počet členov NAND.
    Uveďte:
    Synchrónny sekvenčný obvod opísaný automatom FSM
    Obr.8 - obvod zadaný FSM automatom

    Odporúčam Vám, aby ste si príklad doma prepočítali, pretože čas na vypracovanie testu bude tak akurát. Veľa štastia!