Motivace: v simulátoru žáci vidí, co se děje uvnitř paměťového obvodu, který zapojovali v praktickém cvičení. Vyzkoušejí si, jak se z jednoduchých součástí sestavují složitější systémy – integrované obvody. Seznámí se s principem synchronizačního vodiče v komunikaci.
Budeme pracovat na webu logic.ly. Je docela snadné se v něm zorientovat, ale návod k použití možná pomůže.
Pokud chcete rovnou přeskočit na poslední cvičení, můžete začít od kroku 9.
Při otevření stránky se nám nabízí ukázkový obvod D-Latch. Pro jednou na něj klikneme.
Zjevně jde o nějaký druh paměti. V jednom vstupu nalevo se pravidelně střídá low a high, zatímco druhý můžeme přepnout tak, že na něj klikneme. Obvod si zapamatuje hodnotu druhého vstupu pokaždé, když první vstup je zrovna high. Dokud první vstup je low, neděje se nic.
Obvod je sestavený z hradel NOT, AND a NOR, což by nás zbytečně rušilo. Obdélníkovým výběrem označíme všechny zoučástky a klávesou Delete je smažeme.
Postavíme obvod, jak jej známe z minulého cvičení.
V Česku a většině světa je zvykem, že vypínač je zapnutý v poloze "nahoře". Pro přehlednost si tedy můžeme všechny vypínače otočit.
Obvod si pamatuje svůj stav, když jsou oba vypínače zapnuté. Pokud jeden z nich na chvíli vypneme, necháme tak obvod, aby si zapamatoval stav "rozsvíceno" nebo "zhasnuto".
(Mimochodem: zapínání směrem dolů je obvyklé v Británii a v zemích Commonwealth. Simulátor logic.ly je americké výroby, takže není vůbec jasné, proč má vypínače vzhůru nohama.)
Náš paměťový obvod se chová přehledným a užitečným způsobem, tak ho celý zavřeme do jedné součástky. Nejdřív je potřeba pojmenovat součástce vstupy (vypínače) a výstup (žárovku).
Vidíme, že tahle nová součástka přibyla úplně na konci levého panelu, v oddílu Custom. Můžeme ji přidat a vyzkoušet, že se chová stejně jako původní obvod.
Není úplně pohodlné, že při rozsvěcení i zhasínání musíme na některý z vypínačů kliknout dvakrát – abychom ho vždycky vrátili do zapnuté polohy. Vhodnější bude použít součástku Push Button, která dává signál high jen ve chvíli, když zrovna držíme tlačítko myši.
Když teď klikneme na jedno nebo druhé tlačítko, můžeme žárovku rozsvítit, resp. zhasnout.
Navíc vidíme, že zapojení stejného vstupu do obou nožiček hradla NAND tuto hodnotu převrátí, čili udělá high z low a naopak. To se bude hodit v následujícím cvičení.
Pokud by náš obvod ovládal běh nějakého velkého stroje (například elektrické pily), bylo by dobré pro bezpečnost, aby v případě nouze bylo snadné stroj vypnout. Potřebujeme tedy zapojit několik samostatných tlačítek, z nichž každé bude sloužit jako vypínač.
Bezpečné taky je, aby stroj nešlo zapnout omylem (třeba když někdo zakopne a upadne na tlačítko). Přidáme vypínač, který bude potřeba nechat zapnutý, aby fungovalo zapínací tlačítko.
Obvod z předchozího cvičení můžeme chápat ještě jiným způsobem.
Vypínač teď opravdu slouží k rozsvěcení žárovky. Obvod na něj ale bere ohled jen v okamžiku, když zrovna zmáčkneme tlačítko. Význam toho tlačítka tedy můžeme popsat slovy "Teď! si zapamatuj" – jinak řečeno, tlačítko udává časovací signál.
Obvod z předchozího kroku je schopný se rozsvítit podle vypínače, když mu dáme povel tlačítkem. Bylo by elegantní, kdyby podobným způsobem šel i zhasnout.
Obvod z předchozího cvičení se trochu podobá tomu, u kterého jsme začali, ale jeho chování se dá líp popsat. Při stisku tlačítka si zapamatuje, v jakém stavu je vypínač. Bude se nám hodit v následujícím cvičení.
Když budeme chtít začít pracovat až od tohoto kroku (například, abychom se hned pustili do posledního cvičení), můžeme vyrobit integrovaný obvod z následujícího zapojení. Funguje stejně jako obvod z předchozího cvičení. Žárovku pojmenujeme "Stav", horní vypínač pojmenujeme "Teď", spodní "Data".
Neuškodí si nový integrovaný obvod rovnou vyzkoušet.
Chceme vytvořit obvod, který se bude jedním stiskem tlačítka zapínat a druhým stiskem vypínat. Stejným způsobem se chová spousta přístrojů – například obrazovku telefonu každým stiskem vypínače rozsvítíme nebo zhasneme.