LOGICKÉ OBVODY
JIŘÍ
KALOUSEK
Ostrava 2006
Obsah předmětu ČÍSELNÉ SOUSTAVY ..................................................................................................... 2 1.1. Číselné soustavy - úvod.............................................................................................. 2 1.2. Rozdělení číselných soustav....................................................................................... 2 1.3. Polyadické číselné soustavy ....................................................................................... 2 1.3.1. Desítková soustava ............................................................................................. 2 1.3.2. Dvojková soustava ............................................................................................. 3 1.3.3. Šestnáctková soustava ........................................................................................ 3 1.3.4. Osmičková soustava ........................................................................................... 3 1.4. Převody mezi soustavami........................................................................................... 3 2. LOGICKÉ OBVODY ........................................................................................................ 6 2.1. Kombinační logické obvody ...................................................................................... 6 2.2. Sekvenční logické obvody ......................................................................................... 6 2.3. Booleovské funkce ..................................................................................................... 7 2.3.1. Možnosti zápisu booleovských funkcí ............................................................... 7 2.3.2. Algebra booleovských funkcí........................................................................... 11 2.3.3. Sestavení funkce ze zapsané Booleovské funkce............................................. 12 2.3.4. Zjednodušování zápisu logické funkce ............................................................ 13 2.4. Návrh kombinačního obvodu z logické funkce........................................................ 15 2.4.1. Hradlo NAND .................................................................................................. 15 2.4.2. Hradlo NOR ..................................................................................................... 16 2.4.3. Hradlo NOT...................................................................................................... 17 2.5. Sekvenční obvody – paměťové členy ...................................................................... 20 2.5.1. Paměťový člen RS............................................................................................ 20 2.5.2. Paměťový člen JK ............................................................................................ 21 2.5.3. Paměťový člen D.............................................................................................. 22 1.
1
1. ČÍSELNÉ SOUSTAVY
1.1.
Číselné soustavy - úvod
Číselná soustava je způsob zobrazení (reprezentace) čísel. Nejznámější, a také nejrozšířenější soustavou je soustava desítková, také zvaná arabská. Ve výpočetní technice je však nejpoužívanější soustavou soustava dvojková a rovněž šestnáctková.
1.2.
Rozdělení číselných soustav
Číselné soustavy můžeme rozdělit na: • polyadické – soustavy, které mají definovaný jeden základ z, kde z ≥ 2. Nejpoužívanější základy jsou 2, 8, 10, 16, tyto soustavy se nazývají dvojková (binární), osmičková (oktalová), desítková (decimální) a šestnáctková (hexadecimální). • nepolyadické – soustavy se smíšenými základy. Tyto soustavy mají několik základů. Nejznámější nepolyadická soustava je soustava římských číslic. Dále se budeme věnovat pouze soustavám polyadickým, protože nepolyadické soustavy se ve výpočetní technice nepoužívají.
1.3.
Polyadické číselné soustavy
Každé přirozené číslo p polyadické číselné soustavy lze vyjádřit ve tvaru z-adického rozvoje n
p = ∑ ai z i = a n z n + a n −1 z n −1 + K + a 2 z 2 + a1 z 1 + a 0 z 0 i =0
Kde z je přirozené číslo větší než 1, a i ∈ {1, 2, 3, K , z − 1} , a pak lze zapsat pomocí tzv. zadického zápisu
(α nα n−1 Kα 2α1α 0 )z .
Např.: (7646819)10 Zde z se nazývá základ z-adické číselné soustavy a i , a jsou znaky reprezentující čísla a i . Znaky α i (popř. někdy také čísla a i ) se nazývají číslice (cifry). Index i číslice a i , resp. pozice, která tomuto indexu v číselném obrazu přísluší, se nazývá řád číslice a i , resp. řád obrazu číslice a i . Číslice s indexem i se nazývá číslice řádu i nebo číslice i -tého řádu.
1.3.1. Desítková soustava Desítkovou nebo také decimální soustavou je soustava o základu deset (z = 10). V této soustavě se používá deset číslic: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Každé číslo lze v desítkové soustavě zapsat pomocí polynomu
a = an · 10n + an-1 · 10n-1 + ... + a2 · 102 + a1 · 101 + a0 · 100
2
Např. číslo 2013 můžeme zapsat tímto způsobem: 2013 = 2 · 103 + 0 · 102 + 1 · 101 + 3 · 100 = 2 · 1000 + 0 · 100 + 1 · 10 + 3 · 1
1.3.2. Dvojková soustava Dvojkovou (binární) soustavou je soustava o základu dva (z = 2). Používá pouze dvou číslic 0 a 1. Je používána především ve výpočetní technice. Všechny výpočty „uvnitř“ počítače probíhají právě v této soustavě. Důvod je celkem prostý, je mnohem snadnější realizovat zařízení rozpoznávající dva stavy než zařízení rozpoznávající deset stavů. Příkladem může být žárovka, když svítí, jedná se o stav jedna, když nesvítí, jde o stav nula. V praxi se s dvojkovou soustavou setkáte při programování, i když zde se již více pracuje se soustavou šestnáctkovou a také v počítačových sítích při práci s IP adresou a maskou sítě.
1.3.3. Šestnáctková soustava Šestnáctkovou (hexadecimální) soustavou je soustava o základu šestnáct (z = 16). Používá šestnácti číslic. Protože však v běžném životě používáme pouze 10 čísel (0..9), pro vyjádření zbývajících číslic používáme písmena abecedy. V šestnáctkové soustavě se tedy používají tyto číslice: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. S touto soustavou se setkáte v grafice, např. při definování barev, dále také v programování a v počítačových sítích (např. MAC adresa).
1.3.4. Osmičková soustava Osmičkovou (oktálovou) soustavou je soustava o základu osm (z = 8). Používá osm číslic. V osmičkové soustavě se tedy používají číslice: 0, 1, 2, 3, 4, 5, 6, 7. S touto soustavou se můžete setkat například v operačním systému UNIX při zadávání různých atributů.
1.4. Převody mezi soustavami Převod z desítkové soustavy: Metoda postupného dělení základem: Číslo z desítkové soustavy dělíme číslem základu nové soustavy. Získaný (neúplný) podíl opět dělíme základem nové soustavy. Toto aplikujeme tak dlouho, dokud není neúplný podíl roven nule. Koeficienty ai vycházejí jako zbytky celočíselného dělení v pořadí a0, a1, a2,..., an. Poziční zápis čísla v nové soustavě získáme tak, že napíšeme všechny zbytky v pořadí od konce do začátku anan-1 ... a1a0 Příklad: Převeďte číslo 7910 do dvojkové soustavy. Řešení: Podíl 79:2 = 39 39:2 = 19 19:2 = 9 9:2 = 4 4:2 = 2 2:2 = 1 1:2 = 0
Zbytek 1 1 1 1 0 0 1
Koeficienty a0=1 a1=1 a2=1 a3=1 a4=0 a5=0 a6=1
Výsledek: 7910 = 10011112 3
Příklad: Převeďte číslo 8210 do osmičkové soustavy soustavy. Řešení: Podíl 82:8 = 10 10:8 = 1 1:8 = 0
Zbytek 2 2 1
Koeficienty a0=2 a1=2 a2=1
Výsledek: 8210 = 1222 Příklad: Převeďte číslo 200710 do šestnáctkové soustavy. Řešení: Podíl 2007:16 = 125 125:16 = 7 7:16 = 0
Zbytek 7 13 7
Koeficienty a0=7 a1=13 a2=7
V šestnáctkové soustavě číslu 13 (koeficient a1) odpovídá písmeno D, výsledkem tedy bude: 200710 = 7D72
Převod do desítkové soustavy: Zde použijeme metodu váhových kódů. Číslo rozepíšeme na součet mocnin a po jejich sečtení dostaneme výsledek v desítkové soustavě. Příklad: Převeďte číslo 1010112 do desítkové soustavy. Řešení: 101011= 1x25+ 0x24+ 1x23+ 0x22+ 1x21+ 1x20 = 1x32 + 0x16 + 1x8 + 0x4 + 1x2 + 1x1 = 32 + 0 + 8 + 0 + 2 + 1 = 43 Výsledek: 1010112 = 4310 Příklad: Převeďte číslo 10758 do desítkové soustavy. Řešení: 1075= 1x83 + 0x82 + 7x81 + 5x80 = 1x512 + 0x64 + 7x8 + 5x1 = 512 + 0 + 56 + 5 = 573 Výsledek: 10758 = 57310 Příklad: Převeďte číslo A3C16 do desítkové soustavy. Řešení: A3C= 10x162 + 3x161 + 12x160 = 10x256 + 3x16 + 12x1 = 2560 + 48 + 12 = 2620 Výsledek: A3C16 = 262010
Převod mezi soustavami, z nichž žádná není desítková: • •
Nejprve převedeme číslo do desítkové soustavy (viz. postup výše) a poté z desítkové soustavy metodou postupného dělení základem převedeme do požadované soustavy. Pokud se jedná o převod z dvojkové soustavy do osmičkové nebo šestnáctkové, lze použít tento postup:
4
Převod z dvojkové soustavy do osmičkové: číslo z dvojkové soustavy rozdělíme do trojic (zprava) a tyto trojice převedeme metodou váhových kódů do osmičkové soustavy. Příklad: Převeďte číslo 11010112 do osmičkové soustavy. Řešení: 1101011 rozdělíme na trojice, číslo pokud je třeba doplníme zleva nulami:
1 101 001
011
101 011
Tyto trojice samostatně převedeme do osmičkové soustavy. 001 101 011 0x22 + 0x21 + 1x20 1x22 + 0x21 + 1x20 0x22 + 1x21 + 1x20 1 5 3 Výsledek: 11010112 = 1538 Převod z dvojkové soustavy do šestnáctkové: číslo z dvojkové soustavy rozdělíme do čtveřic (zprava) a tyto čtveřice převedeme metodou váhových kódů do šestnáctkové soustavy. Příklad: Převeďte číslo 11010112 do šestnáctkové soustavy. Řešení: 1101011 rozdělíme na čtveřice, číslo pokud je třeba doplníme zleva nulami: 110 1011 0110 1011
Tyto čtveřice samostatně převedeme do šestnáctkové soustavy. 0110 1011 3 2 1 0 0x2 + 1x2 +1x2 + 0x2 1x23 + 0x22 + 1x21 + 1x20 6 B Výsledek: 11010112 = 6B16
5
2. LOGICKÉ OBVODY
2.1.
Kombinační logické obvody
Kombinační logický obvod je logický obvod, jehož výstupní proměnné závisí pouze na logických hodnotách vstupních proměnných. Výstupní proměnné nejsou tedy závislé na vnitřním stavu obvodu. Příkladem jsou tzv. logická hradla: logický součin, součet, ….. Chování kombinačních obvodů se dá vyjádřit pravdivostní tabulkou nebo funkcí v Booleově algebře. Klíčová slova této kapitoly: Booleo va a lg ebra, log ická funkc e, Karnaugho va mapa, sek venč ní, ko mb inačn í, h rad lo, pa měťo vý člen .
Kombinační obvody si nepamatují co se s nimi dělo v minulosti. Čas potřebný k prostudování učiva kapitoly: 6 hodin y
Obr. 1: Kombinační logický obvod
2.2.
Sekvenční logické obvody
Sekvenční logický obvod je logický obvod, jehož výstupní proměnné závisí jednak na proměnných vstupních a také na jejich předchozím stavu, případně i na vnitřním stavu obvodu. Jediné kombinaci vstupu může tedy odpovídat více různých hodnot výstupů. Sekvenční obvod má paměť pro všechny nebo jen pro několik vstupních a výstupních hodnot. Sekvenční logické obvody dělíme na: • Asynchronní sekvenční obvody • Synchronní sekvenční obvody Asynchronní sekvenční obvody V těchto obvodech dochází ke změně výstupních stavů okamžitě po změně stavů vstupních.
6
Synchronní sekvenční obvody Výstupní stavy nemění svůj stav ihned po změně vstupu, ale až po změně taktovacího (clock) signálu. Obvod mění své hodnoty jen v definovaných okamžicích, daných hodinovým signálem, např. při jeho náběžné hraně.
Obr. 2: Sekvenční logický obvod
2.3.
Booleovské funkce
Funkce, které popisují chování kombinačních obvodů. Jedná se o dvouhodnotové funkce s dvouhodnotovými proměnnými.
2.3.1. Možnosti zápisu booleovských funkcí Tabulkový zápis: Tento zápis je jedním z nejpoužívanějších způsobů zápisu. Tabulka pro úplnou booleovskou funkci obsahuje pro n vstupních proměnných 2 n kombinací logických hodnot. Proto musí tato tabulka obsahovat 2 n řádku. Je tedy zřejmé, že tento způsob je vhodný pro zápis funkcí s menším počtem vstupních proměnných, neboť pro 8 vstupních proměnných bude mít tabulka již 256 řádků. Ukázka booleovské funkce s dvěmi vstupními proměnnými: X1
X0
F
0
0
0
0
1
0
1
0
0
1
1
1
Obr. 3: Ukázka boolovské funkce zapsané tabulkovým zápisem
7
Číselný zápis: Tento zápis využívá skutečnosti, že vstupní proměnné lze chápat také jako číslo vyjádřené ve dvojkové soustavě. X1
X0
Číslo desítkové soustavy
0
0
0
0
1
1
1
0
2
Toto pořadí se uvádí zleva doprava od nejvyšší váhy k váze nejnižší. Například kombinace x2x1x0 = 101 = 1012 = 510 Používají se dvě základní formy zápisu: • Disjunktivní – v závorce jsou hodnoty v desítkové soustavě, pro které funkce nabývá logické hodnoty 1 • Konjunktivní - v závorce jsou hodnoty v desítkové soustavě, pro které funkce nabývá logické hodnoty 0
X1
X0
F
0
0
0
0
1
0
1
0
0
1
1
1
Tabulka bude tedy po přepsání do: • •
Disjunktivního zápisu vypadat takto: f(x2x1x0) = D(3) Konjunktivního zápisu vypadat takto: f(x2x1x0) = K(0,1,2)
Vektorový zápis: Využívá se zde skutečnosti, že logické funkce jsou uspořádány v řádcích. První hodnota vektorového zápisu odpovídá nejvyšší hodnotě a poslední pak nejnižší. Vektorový zápis pro tabulku bude tedy vypadat: X1
X0
F
0
0
0
0
1
0
1
0
0
1
1
1
f(x2x1x0) = 1000
Zápis pomocí Karnaughovy mapy: Tato mapa obsahuje 2 n čtverečku, tedy každé kombinaci vstupních proměnných je vyhrazen jeden. Pomocí kódovacích čar na levém a horním okraji mapy a podle připsaných
8
proměnných jsou definovány čtverečky, ve kterých jednotlivé vstupní proměnné nabývají hodnot logické 0 nebo 1. Oblasti nacházející se pod kódovací čarou nabývají hodnotu 1, mimo tuto oblast 0.
Obr. 4: Karnaughova mapa pro 3 proměnné
Na obr.4 vidíte Karnaughovu mapu pro 3 proměnné (X0, X1, X2). Čtvereček, ve kterém je umístěn symbol +, odpovídá hodnotám: X0 = 0, X1=1, X2 =1. Ukázka Karnaughovy mapy k příslušné tabulce: X1
X0
F
0
0
0
0
1
0
1
0
0
1
1
1
Tabulce odpovídá tato Karnaughova mapa
Ukázky Karnaughových map, včetně ukázek vytvoření mapy pro více proměnných: Pro 1 proměnnou
Pro 2 proměnné
9
Pro 3 proměnné
Pro 4 proměnné
pro 5 proměnných
Karnaughova mapa se používá maximálně pro 5 vstupních proměnných, neboť pro větší počet je již značně nepřehledná.
10
2.3.2. Algebra booleovských funkcí Je jedním ze základních způsobů, jak upravovat booleovské funkce. Základní funkce Booleovy algebry jsou: • Logický součet (disjunkce) • Logický součin (konjunkce) • Negace Logický součet Je taková funkce proměnných a,b,c,…., že nabývá hodnoty 1 právě tehdy, když alespoň jedna proměnná má hodnotu 1. Logický součet značíme: +, nebo také OR např.:Y = A + B = A OR B Př.: Je-li funkce Y funkcí dvou proměnných a, b, potom Y = 1, když a = 1 nebo b = 1 nebo se obě současně rovnají jedné. Logický součin Je taková funkce proměnných a,b,c,…., že nabývá hodnoty 1 tehdy a jen tehdy, když všechny proměnné mají hodnotu 1. Logický součin značíme: * nebo také AND např.: Y=A*B = A AND B Př. Je-li funkce Y funkcí dvou proměnných a, b, potom Y = 1, když a = 1 a zároveň b =1 Negace (Inverze) Je taková funkce proměnné a, která nemá pro tutéž hodnotu jako a. Pokud je tedy proměnná a = 1 potom negace a = 0 Negaci značíme: ¬ nebo také čárou nad negovaným výrazem, např.: A Př. Je-li funkce Y funkcí jedné proměnné a potom Y = 1, když a = 0 Základní zákony Booleovy algebry 1. Zákon absorpce
a+a =a a + ab = a
a∗a = a a ∗ ( a + b) = a 2. Zákony absorpce negace
a ∗ ( a + b) = ab a ∗ (a + b) = a b
a + ab = a + b a + ab = a + b
3. Zákony kontradikce
a + a =1
a∗a = 0
11
4. Zákony komutativní
ab = ba
a+b =b+a
5. Zákony asociativní
a ∗ (bc ) = ( ab ) ∗ c
a + (b + c ) = (a + b) + c
6. Zákony distributivní
a + bc = (a + b) ∗ (a + c)
a ∗ (b + c) = ab + ac 7. Zákon dvojí negace
a =a 8. De Morganova pravidla
a + b = a ∗b
a ∗b = a + b 9. Zákony agresívnosti 0 a 1
a +1 = 1
a∗0 = 0 10. Zákony neutrálnosti 0 a 1
a+0=a
a ∗1 = a 11. Zákon absorpce konsenzu
ab + a c + bc = ab + a c (a + b) ∗ (a + c) ∗ (b + c) = (a + b) ∗ (a + c) 2.3.3. Sestavení funkce ze zapsané Booleovské funkce Máme dánu funkci proměnných a,b,c, tabulkou. Z této tabulky sestavíme rovnici booleovské funkce. c a b Y 0
0
0
0
0
0
1
1
0
1
0
1
12
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
• Základní součtový tvar: Tato funkce je definována pro hodnoty, kde Y = 1 a
b
c
Y
Dílčí součin
0
0
1
1
a ∗b ∗c
0
1
0
1
a ∗b ∗c
1
0
0
1
a ∗b ∗c
1
0
1
1
a ∗b ∗c
1
1
1
1
a ∗b∗c
Potom F = a ∗ b ∗ c + a ∗ b ∗ c + a ∗ b ∗ c + a ∗ b ∗ c + a ∗ b ∗ c • Základní součinový tvar: Tato funkce je definována pro hodnoty, kde Y = 0
a
b
c
Y
Dílčí součet
0
0
0
0
a+b+c
0
1
1
0
a+b +c
1
1
0
0
a +b +c
Potom F = ( a + b + c ) ∗ ( a + b + c ) ∗ ( a + b + c )
2.3.4. Zjednodušování zápisu logické funkce Logická funkce vyjádřená v základním součtovém (součinovém) tvaru není jediným možným vyjádřením logické funkce. Ve většině případů lze tuto funkci zjednodušit, čímž se usnadní pozdější realizace tohoto logického obvodu. K minimalizaci Booleovských funkcí vyjádřených pomocí Booleovského výrazu se nejčastěji používají tyto metody: • Algebraická minimalizace • Minimalizace pomocí Karnaughovy mapy Algebraická minimalizace Tato metoda vychází z aplikace zákonů Booleovy algebry na zapsanou funkci. Zjednodušení závisí zejména na zkušenostech a na matematických dovednostech zjednodušuijícího. Je především vhodná pro menší počet proměnných, a to především kvůli přehlednosti.
13
Příklad: Zjednodušte funkci (a + bc)(b + cd ) + b + c
Minimalizace pomocí Karnaughovy mapy Minimalizace pomocí Karnaughovy mapy se provádí sdružováním jedniček v mapě do smyček. Při tomto sdružování musíme dodržet tato pravidla: • Do smyčky lze sdružit pouze vzájemně sousedící jedničky, přičemž první a poslední řádek (resp. sloupec) mapy se také považují za vzájemně sousedící. • V smyčce může být pouze takový počet jedniček, který je mocninou čísla 2, tzn. 2, 4, 8, 16, ... • Každá smyčka musí mít tvar kruhu nebo elipsy. • Smyčky se mohou vzájemně překrývat (každá jednička může být součástí několika smyček). • Snažíme se vytvářet co největší smyčky a mít co nejmenší počet smyček. • Každá jednička musí být uzavřena ve smyčce. Pokud některou jedničku není možné do smyčky uzavřít, musíme vytvořit pro tuto jedničku samostatnou smyčku.
Pro získání výsledného minimalizovaného logického výrazu postupujeme podle těchto pravidel: • Jestliže buňky náležející některé proměnné obsahují celou smyčku (celá smyčka je pod kódovací čarou dané proměnné), zapíšeme tuto proměnnou do výrazu. • Jestliže buňky náležející některé proměnné neobsahují žádnou část smyčky, zapíšeme do výrazu tuto proměnnou negovanou
14
• •
Buňky náležející některé proměnné, obsahují jen část smyčky, tuto proměnnou ignorujeme. Jednotlivé proměnné zapsané do výrazu mezi sebou logicky násobíme (AND).
2.4.
Návrh kombinačního obvodu z logické funkce
Pro realizaci kombinačních logických obvodů používáme logické členy, nazývané také hradla. Vytvořené kombinační obvody se skládají ze vzájemného spojení těchto logických členů (hradel).
Nejčastěji používaná hradla jsou: • Negovaný součin – NAND • Negovaný součet – NOR • Negátor – NOT
2.4.1. Hradlo NAND Toto hradlo realizuje logickou funkci
Y = A∗ B
Značka obvodu:
Pravdivostní tabulka: A
B
Y
0
0
1
0
1
1
1
0
1
1
1
0
15
Nejpoužívanějším integrovaným obvodem, obsahujícím čtyři dvojvstupá hradla NAND je obvod 7400
Obr. 5: Obvod 7400
2.4.2. Hradlo NOR Toto hradlo realizuje logickou funkci
Y = A+ B
Značka obvodu:
Pravdivostní tabulka: A
B
Y
0
0
1
0
1
0
1
0
0
1
1
0
Nejpoužívanějším integrovaným obvodem obsahující čtyři dvojvstupá hradla NOR, je obvod 7402.
16
Obr. 6: obvod 7402
2.4.3. Hradlo NOT Toto hradlo realizuje logickou funkci
Y=A
Značka obvodu:
Pravdivostní tabulka: A
Y
0
1
1
0
Nejpoužívanějším integrovaným obvodem obsahující šest hradel NOT, je obvod 7404
Obr. 7: Obvod 7404
17
Komplexní příklad na realizaci logické funkce: Realizujte pomocí dvouvstupých hradel NAND funkci: f(a,b,c) = D(0,1,5,6) 1. Funkci zadanou disjunktivní formou přepíšeme do tabulky: a
b
c
Y
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
2. Z tabulky přepíšeme do karnaughovy mapy, pomocí které danou funkci minimalizujeme:
3. Minimalizovanou funkci převedeme do tvaru logických součtů. Tento krok provedeme pomocí De Morganových pravidel:
Y = abc + a b + b c = abc + a b + b c = abc ∗ a b ∗ b c 4. Minimalizovanou funkci zapojíme pomocí dvouvstupých hradel NAND. Na dvouproměnné výrazy může rovnou zavést do hradla NAND, tří vstupou proměnnou musíme rozdělit a realizovat pomocí dvou dvouvstupých hradel
18
Použití kombinačních obvodů: • Logické funkce • Sčítačky • Kodéry • Dekodéry • Demultiplexery
19
2.5.
Sekvenční obvody – paměťové členy
Paměťové členy, někdy nazývané klopné obvody jsou logické sekvenční obvody. Mají dva různé stavy a používají se jako paměť hodnoty logické proměnné. Používají se k realizaci: • Čítačů • Registrů • A mnoha dalších Podle vlastností těchto členů je můžeme rozdělit na: • Asynchronně řízené • Synchronně řízené
Nejčastěji používané paměťové členy:
2.5.1. Paměťový člen RS Jedná se o asynchronní obvod řízený dvěma vstupními signály: • R – Reset • S – Set Vstupní signály R,S jsou aktivní v logické 0, proto jsou uvedeny jako negované. Chování obvodu definuje pravdivostní tabulky. Ri
Si
Q i +1
0
0
Zakázaný stav
0
1
0
1
0
1
1
1
Qi
Stav R i = 0 a současně S i = 0 je označován jako zakázaný stav, neboť v tomto případě je porušen vztah mezi vstupem Q a Q , neboť by zde platilo Q = Q = 1
Z této tabulky lze odvodit přechodovou tabulku: Q i → Q i +1
Ri
Si
0→0
X
1
0→1
1
0
1→0
0
1
1→1
1
X
20
Obr. 8: Paměťový člen RS vytvořený z hradel NAND
2.5.2. Paměťový člen JK Jedná se o synchronní klopný obvod, který má dva vstupní signály: J,K a hodinový vstup C a výstupy Q. Reaguje na sestupnou hranu hodinového signálu. Chování obvodu definuje pravdivostní tabulky. J
K
Q i +1
0
0
Qi
0
1
0
1
0
1
1
1
Qi
Z této tabulky lze odvodit přechodovou tabulku: Q i → Q i +1
J
K
0→0
0
X
0→1
1
X
1→0
X
1
1→1
X
0
21
Obr. 9: Paměťový člen JK vytvořený z hradel NAND
2.5.3. Paměťový člen D Jedná se o synchronní klopný obvod, který obsahuje vstup D, vstup hodinového kmitočtu C a výstup Q. Reaguje na nástupní hranu hodinového signálu. Při příchodu aktivní úrovně hodinového signálu je hodnota ze vstupu D předána na výstup Q.
Obr. 10: Paměťový člen D vytvořený z hradel NAND
Obr. 11: Časový průběh paměťového členu D
22