digitální technika - skriptaq-skripta.cz/stahnout/dt1.pdf · ČÍselnÉ soustavy každé...
TRANSCRIPT
Digitální technika I.
obory: mechanik elektrotechnik
telekomunikační mechanik
2. ročník
© Jiří Gregor 2011
ČÍSELNÉ SOUSTAVY
Každé digitální zařízení pracuje s čísly. Pro nás jsou
čísla symbolem určitého množství – kvantity.
V běžném životě využíváme desítkovou soustavu,
která používá deset znaků – číslic, a to 0, 1, 2, 3, 4,
5, 6, 7, 8, 9 a její základ je tedy Z = 10. Pro digitální
systémy (např. počítače) však není tato soustava
vhodná, protože by bylo třeba rozlišovat deset
různých, například napěťových úrovní a to by kladlo
velké nároky na kvalitu a přesnost. Proto v digitálních
systémech využíváme číselné soustavy o jiných
základech, nejčastěji je základ 2 s číslicemi 0 a 1.
ČÍSELNÉ SOUSTAVY
Obvyklé číselné soustavy
Soustava desítková (dekadická) Z = 10
používá se v běžném životě, tu známe.
Soustava dvojková (binární) Z = 2
Používá dva znaky: 0 a 1, nebo L a H. Znaky 0 nebo
L znamenají vypnuto, kontakt rozepnutý, nulová nebo
nízká (Low) úroveň napětí, znaky 1 nebo H pak
zapnuto, kontakt sepnutý, max. jmenovitá nebo
vysoká (High) úroveň napětí. Tato soustava je
používána mj. v elektronických spínacích obvodech.
ČÍSELNÉ SOUSTAVY
Soustava osmičková (oktalová) Z = 8
Využívá osmi číslic: 0, 1, 2, 3, 4, 5, 6 a 7. Tato
soustava se spolu se šestnáctkovou dříve používala v
souvislosti se staršími typy sálových počítačů.
Soustava šestnáctková (hexadecimální) Z = 16
Tato soustava využívá 16 znaků, a to číslice od 0 do 9
a zbylých 6 znaků jsou písmena A až F.
ČÍSELNÉ SOUSTAVY
Dekadická
soustava
Z = 10
Dvojková
soustava
Z = 2
Osmičková
soustava
Z = 8
Šestnáctková
soustava
Z = 16
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
Převody mezi číselnými soustavami
Převod čísla do dekadické soustavy
Pro převod čísla ze soustavy o základu Z do soustavy
dekadické
FZ → F10
uvedeme několik příkladů:
1. Převeďte číslo F3 = 2101 do soustavy o základu Z = 10
Řešení: F3 = 2·33 + 1 ·3
2 + 0 ·3
1 + 1 ·3
0
F10 = 54 + 9 + 0 + 1 = 64
Výsledek: F10 = 64
Převod čísla do dekadické soustavy
2. Převeďte číslo F2 = 11011 do soustavy o základu Z = 10
Řešení: F10 = 1·24 + 1 ·2
3 + 0 ·2
2 + 1 ·2
1 + 1 ·2
0
F10 = 16 + 8 + 0 + 2 + 1 = 27
Výsledek: F10 = 27
3. Převeďte číslo F8 = 2175 do soustavy o základu Z = 10
Řešení: F10 = 2 ·83 + 1 ·8
2 + 7 ·8
1 + 5 ·8
0
F10 = 1024 + 64 + 56 + 5 = 1149
Výsledek: F10 = 1149
Převod čísla do dekadické soustavy
Na základě předchozích příkladů vypracujte kontrolní úlohy:
1. Převeďte číslo F2 = 10101 do soustavy o základu Z = 10
Výsledek: F10 = 21
2. Převeďte číslo F2 = 111010 do soustavy o základu Z = 10
Výsledek: F10 = 58
3. Převeďte číslo F8 = 1864 do soustavy o základu Z = 10
Výsledek: F10 = 1076
4. Převeďte číslo F16 = C7A do soustavy o základu Z = 10
Výsledek: F10 = 3194
Převod čísla z dekadické soustavy
Pro převod čísla ze soustavy dekadické do soustavy o základu Z
F10 → FZ
existují dvě metody:
Metoda postupného odečítání
Metoda postupného dělení
Ukážeme si metodu postupného dělení. Původní číslo F10 v
soustavě o základu10 se rozkládá postupným dělením číslem,
které odpovídá základu Z soustavy, do které chceme číslo
převést, přičemž jako výsledek se zapisují zbytky po dělení v
opačném pořadí.
Převod čísla z dekadické soustavy
Příklad: Převeďte číslo F10 = 190 do soustavy o základu Z = 2
Řešení:
Převáděné číslo postupně dělíme číslem 2 a zbytky zapisujeme z pravé strany.
190 : 2 = 95, zbytek po dělení je 0 0 → a0
95 : 2 = 47, zbytek po dělení je 1 1 → a1
47 : 2 = 23, zbytek po dělení je 1 1 → a2
23 : 2 = 11, zbytek po dělení je 1 1 → a3
11 : 2 = 5, zbytek po dělení je 1 1 → a4
5 : 2 = 2, zbytek po dělení je 1 1 → a5
2 : 2 = 1, zbytek po dělení je 0 0 → a6
1 : 2 = 0, zbytek po dělení je 1 1 → a7
Výsledek: F2 = a7 a6 a5 a4 a3 a2 a1 a0 = 10111110
Převod čísla z dekadické soustavy
Příklad:
Převeďte číslo F10 = 190 do soustavy o základu Z = 16
Řešení:
Převáděné číslo postupně dělíme číslem 16 a zbytky zapisujeme z pravé strany.
190 : 16 = 11, zbytek po dělení je 14 1410 = E16 → a0
11 : 16 = 0, zbytek po dělení je 11 1110 = B16 → a1
Výsledek: F16 = a1 a0 = BE
Převod čísla z dekadické soustavy
Příklad:
Převeďte číslo F10 = 190 do soustavy o základu Z = 8
Řešení:
Převáděné číslo postupně dělíme číslem 8 a zbytky zapisujeme z pravé strany.
190 : 8 = 23, zbytek po dělení je 6
23 : 8 = 2, zbytek po dělení je 7
2 : 8 = 0, zbytek po dělení je 2
Výsledek: F8 = 276
Aritmetické operace ve dvojkové soustavě
Sčítání
Při sčítání se příslušné koeficienty čísla sčítají
obdobně jako v soustavě desítkové. Protože u
soustav s menší hodnotou základu Z (např. Z = 2) se
řády mění rychleji než v soustavě desítkové, musíme
věnovat velkou pozornost přenosům do vyššího řádu.
Přenos do vyššího řádu vzniká v případě, že je
součet sčítaných číslic roven nebo větší než základ
číselné soustavy, ve které sčítáme. Při větším počtu
sčítanců může nastat přenos ne o jeden, ale o více
řádů.
Sčítání ve dvojkové soustavě
Příklad:
sečtěte dvě dakadická čísla A10 = 7 a B10 = 8
Řešení:
7
8
____
15
Číslo 5 odpovídá součtu na řádovém místě jednotek,
jednička tvoří přenos do vyššího řádu.
Sčítání ve dvojkové soustavě
Protože se v digitální technice nejčastěji používá
vyjádření binárními čísly, ukážeme si postup sčítání
právě na nich. Sčítání ve dvojkové soustavě je totiž
nejdůležitější matematickou operací, protože tvoří
základ pro ostatní aritmetické operace – - odečítání,
násobení a dělení.
Obecně můžeme součet čísel A a B zapsat takto:
S = A + B
Sčítání ve dvojkové soustavě
Při sčítání využíváme následujících vlastností binárních čísel:
0 + 0 = 0
0 + 1 = 1 + 0 = 1
1 + 1 je součet, který známe z desítkové soustavy a jehož hodnota je 2. Protože číslo 2 ve dvojkové soustavě neexistuje, musíme je vyjádřit dvojkově:
210 → 102
Aritmetický součet dvou binárních čísel 1 je
1
1 _____________
10
Na řádovém místě v součtu, které odpovídá řádovému místu obou sčítanců,
zůstává nula a jednička tvoří přenos do vyššího řádu.
Sčítání ve dvojkové soustavě
Příklad:
Sečtěte dvě dvojková čísla A = 110112 a B = 1100102
Řešení:
110112
1100102 ______________________
10011012
Výsledek: Součet čísel A + B = 10011012 .
Odčítání ve dvojkové soustavě
Odčítání
Odčítání ve dvojkové soustavě provádíme obdobně jako v
soustavě desítkové, musíme však opět respektovat změny řádů.
Příklad:
Odečtěte dvě dvojková čísla A = 10010112 a B = 1100102
Řešení:
10010112 (menšenec)
01100102 (menšitel) ______________________
00110012 (rozdíl)
Výsledek: Rozdíl dvou čísel A - B = 00110012 .
Násobení ve dvojkové soustavě
Násobení
provádíme ve dvojkové soustavě stejným způsobem jako v soustavě desítkové:
Příklad: Vynásobte mezi sebou dvě dekadická čísla
A = 4510 a B = 1310
vyjádřené ve dvojkové soustavě
Řešení: A 1011012
B 11012
________________
101101
000000
101101
101101 __________________________
10010010012
Výsledek: A . B = 4510 . 1310 = 10010010012
Aritmetické operace ve dvojkové soustavě
Vypočítejte:
A) Sečtěte dvě dvojková čísla A = 110012 a B = 1101102
Odečtěte dvojková čísla A = 1101102 a B = 110012
Vynásobte dvojková čísla A = 100012 a B = 1102
B) Sečtěte dvě dvojková čísla A = 10012 a B = 1101102
Odečtěte dvojková čísla A = 1101002 a B = 111012
Vynásobte dvojková čísla A = 101012 a B = 1112
C) Sečtěte dvě dvojková čísla A = 111112 a B = 1100002
Odečtěte dvojková čísla A = 1100002 a B = 111112
Vynásobte dvojková čísla A = 101012 a B = 1012
KÓDOVÁNÍ DAT
Před zpracováváním dat například v počítači je třeba znaky převést do tvaru, kterému počítač rozumí, tj. přiřadit jim určité kombinace bitů. Tomuto převodu se říká kódování.
Kód je předpis pro jednoznačné přiřazení určité kombinace bitů příslušnému znaku. Kombinaci bitů zobrazující znak se říká kódové slovo. Z ekonomických důvodů se znaky zobrazují pokud možno co nejmenším počtem bitů. Počtem bitů v kódovém slově je však zdola omezen počtem různých znaků, kterých se v praxi používá více než 100. Z toho vyplývá, že kódová slova vyjadřující alfanumerické znaky musejí mít nejméně 7 bitů, protože 27 = 128 bitů. Jen výjimečně, při omezeném souboru znaků nebo při přepínání kódových slov, se používá menší počet bitů, např. 5.
KÓDOVÁNÍ DAT
Příklad zobrazení různých znaků pomocí osmibitového kódového slova: kombinaci bitů 01011010 můžeme dát různý význam, daný příslušným kódem, např. může tato skupina bitů zobrazovat celé dekadické číslo 9010, nebo může také zobrazovat reálné dekadické číslo 1,70312510, budeme-li uvažovat řádovou čárku za prvním bitem zleva. Uvedenou kombinaci bitů můžeme znázornit také pomocí hexadecimálního zobrazení jako 5AH. Vidíme, že jedna kombinace bitů může odpovídat různému kódování znaků a vždy je třeba mít jasno, co zvoleným kódem sledujeme a stále musíme zvolený způsob kódování dodržovat.
Kódy používané pro strojové operace
Kódová slova pro různé kódy se řadí do kódových tabulek. Přiřazování kódových slov
určitým znakům se říká kódování. Ke kódování se používá generátor kódu, který může obsahovat logické nebo paměťové obvody. Původní znak se získá z kódového slova dekódováním.
K dekódování se používá dekodér obsahující opět logické nebo paměťové obvody.
Kódy používané pro strojové operace
Přímý dvojkový kód
Je to kód, který jednoznačně přiřazuje dané číslici kombinaci pouze dvou různých znaků. Na rozdíl od desítkové soustavy používá dvojková soustava pouze dvě číslice, 0 a1. Hodnota každé číslice je závislá na jejím umístění ve dvojkovém čísle, na tzv. váze, což je mocnina základu, tedy čísla 2.
Kódy pro zkrácení zápisu binárních čísel
K přehlednějšímu zobrazení dat ve dvojkové soustavě se používá zobrazení v osmičkové (oktalové) a v šestnáctkové (hexadecimální) soustavě.
Kódy používané pro strojové operace
Kódy pro zkrácení zápisu binárních čísel
Oktalový kód
využívá pro zobrazení koeficientů na jednotlivých řádových místech číslic 0 až 7. Při převodu čísla z dvojkové do osmičkové soustavy se dvojkové číslo rozdělí na trojice bitů, počínaje nejnižšími řády. Každá trojice bitů se vyjádří jednou osmičkovou číslicí nezávisle na ostatních číslicích.
Příklad: 001 101 111 1102 = 15768
Hexadecimální kód
Hexadecimální (šestnáctková) soustava se využívá v technické dokumentaci počítačů, při programování, k zápisu kódových slov atd.
Kódy používané pro strojové operace
BCD kód (8421 kód) Jedná se o dvojkově desítkový
kód (Binary Coded Decimal).,
používá se pro kódování
desítkových číslic 0 až 9.
Každá desítková číslice D je
vyjádřena kódovým slovem se
čtyřmi bity ve dvojkové
soustavě (viz tabulka).
D b3 b2 b1 b0
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
Kódy používané pro strojové operace
Exces 3 kód (kód
BCD+3) Nechceme-li vyjádřit v kódu
BCD žádnou informaci,
ukazuje počítač 0000, což je
čteno jako číslo 0, a to je
problém. Tento problém řeší
kód Exces 3 (Exces –
nadbytek). Kód Exces 3 se
vytvoří tak, že se každá
číslice v kódu BCD zvýší o
tři.
D BCD Exces 3
0 0000 0011
1 0001 0100
2 0010 0101
3 0011 0110
4 0100 0111
5 0101 1000
6 0110 1001
7 0111 1010
8 1000 1011
9 1001 1100
Kódy používané pro strojové operace
Grayův kód Zrcadlový binární kód podle Franka Graye, je binární
číselná soustava, ve které se každé dvě po sobě jdoucí hodnoty liší v bitovém vyjádření změnou pouze jedné bitové pozice.
Zrcadlový binární kód byl původně navržen pro zabránění rušivého výstupu z elektromechanických přepínačů (hazardy relé). Dnes je Grayův kód používán pro podporu opravy chyb v digitální komunikaci jako je digitální pozemní televize a některé systémy kabelové televize. Grayův kód využívají také odpovídače sekundárního radaru v letadlech. Také některé snímače polohy (lineární i rotační) udávají absolutní polohu v Grayově kódu, aby byl vyloučen výskyt chybné hodnoty při přechodu mezi dvěma sousedními polohami.
Kódy používané pro strojové operace
Kódy k z n Kódy k z n mají kódové slovo s délkou n
bitů, z nichž k bitů jsou jedničky a je jich
konstantní počet, ostatní bity jsou nulové.
Tyto kódy jsou detekční, což znamená, že
umožňují detekovat jednu chybu. V praxi se
pro kódování řídicích signálů užívají kódy 1 z
n, kde n = 2 až 10.
Kódy používané pro strojové operace
Ochrana při přenosu kódů Zakódované binární slovo často přenášíme na určitou
vzdálenost přenosovou cestou, na které může dojít vlivem rušení ke zkreslení, chybám v přenášených datech. Přenesenou informaci je proto třeba zkontrolovat, zda neobsahuje chyby, v dalším zpracování je možno pokračovat až po té, jestliže tomu tak není.
Kontrola paritou
Princip této metody spočívá v tom, že k přenášené informaci přidáme další bit, označovaný jako bit paritní. Hodnotu tohoto bitu určíme tak, že v nově vzniklém slově bude vždy dohromady buď sudý počet jedniček (sudá parita) nebo lichý počet jedniček (lichá parita).
Kódy používané pro strojové operace
Chybný přenos informace
Kontrola paritou nám tedy dovolí odhalit chybu. Po přijetí zprávy
kontrolujeme, zda má přijaté slovo sudý nebo lichý počet jedniček.
Když tomu tak není, víme, že při přenosu došlo k chybě nejvýše v
jednom bitu.
Kódy používané pro strojové operace
Čárové kódy
Používají se běžně např. na obalech
spotřebního zboží. Podává v číselném tvaru
informace o příslušném výrobku, např. cena
zboží, skladové číslo apod. Lze je rozdělit do
dvou skupin: a) kódy užívané obchodem
b) kódy užívané v průmyslu
Kódy používané pro strojové operace
Starší typy kódů – sedmibitový kód
Nejpoužívanějším kódem pro zobrazení
alfanumerických znaků s pro sériový přenos dat je
ASCII kód (American Standard Code for Information
and Interchange). Tento kód byl vynalezen přibližně
před 50 lety jako prostředek k zobrazování textu na
monitoru počítače. Přiřazoval každému písmenu číslo
a pak pomocí dekódovací tabulky tomuto číslu
přiřadil písmeno a zobrazil je displeji. Například
písmenu A odpovídá dekadický kód 65, písmenu a
pak kód 97. ASCII kód se stal celosvětovým
standardem a je používán v každém počítači.
Kontrolní otázky
Čemu se říká kódování?
Co je to kód?
Čemu se říká kódové slovo?
Kolik bitů musejí mít kódová slova vyjadřující alfanumerické znaky a proč?
Co se používá ke kódování a co k dekódování a co tyto obvody obsahují?
Co je přímý dvojkový kód?
Které kódy se používají pro zkrácení zápisu binárních čísel? Popište je.
Vysvětlete, co je kód BCD.
Vysvětlete, co je kód BCD+3.
Grayův kód
Popište kódy k z n.
Ochrana při přenosu kódů.
Čárové kódy, starší typy kódů.
LOGICKÉ FUNKCE
Logika je nauka o základech myšlení v
procesu vytváření úsudků a důkazů.
Logický obvod je takový obvod, u něhož
může každá veličina na vstupu i výstupu v
ustáleném stavu nabývat s určenou
přesností jen jedné ze dvou možných
hodnot a který obsahuje takové prvky, jejichž
vstupní a výstupní veličiny mohou nabývat
také jen jedné ze dvou možných hodnot.
Kombinační logické obvody
Jedná se o systémy, jejichž odezva je v určitém časovém okamžiku podmíněna výhradně hodnotami, které jsou na vstupech tohoto systému, jinými slovy každá změna logických hodnot na vstupech se téměř okamžitě projeví změnou logické hodnoty na výstupu, v závislosti na logické funkci systému.
Kombinační logické obvody
Úkolem kombinačního obvodu je realizovat
logické funkce fi tak, že každé kombinaci
hodnot vstupních proměnných přiřadí
určitou hodnotu výstupní proměnné.
Na vstup obvodu může přijít z vnějšku
celkem 2n různých kombinací hodnot
vstupních proměnných. Pro n vstupních
proměnných můžeme získat 22n různých
logických funkcí fi.
Sekvenční logické obvody
Jedná se o systémy, jejichž odezva je v
určitém časovém okamžiku dána nejen
hodnotami proměnných na vstupech tohoto
systému, ale i posloupností (sekvencí)
předcházejících vstupních hodnot. Sekvenční
obvod je proto opatřen pamětí, která svým
stavem definuje vnitřní stav tohoto systému v
závislosti na posloupnosti signálů, které
přicházely na vstup.
Logické funkce jedné proměnné
Logickou funkci jedné
nezávisle proměnné lze
vyjádřit čtyřmi způsoby
(viz tabulka):
a f0 f1 f2 f3
0
1
0
0
0
1
1
0
1
1
Vstupní proměnná je označená a,
logické funkce jsou f0, f1, f2 a f3.
f0 – triviální identita
f1 – identická funkce, její hodnota se
shoduje s hodnotou proměnné a
f2 – funkce negace, její hodnota se
shoduje s hodnotou .
f3 – triviální identita, jednotková funkce
Praktický význam mají
pouze funkce
identická a funkce
negace. Negace
logické funkce a se
označuje pruhem nad
příslušnou veličinou,
tj. f2 = .
Logické funkce dvou proměnných
Pro dvě vstupní proměnné můžeme najít
šestnáct různých logických funkcí. Jestliže
označíme vstupní proměnné symboly a, b, a
logické funkce f0 až f15 , můžeme sestavit
tabulku (učebnice, Tab. 4.2.). Jednotlivé
sloupce tabulky vyznačují hodnoty logických
funkcí pro všechny kombinace vstupních
proměnných a, b (00, 01, 10, 11). V pravém
sloupci je uvedeno označení příslušné
funkce.
Logické funkce dvou proměnných
Při návrhu logických obvodů se používají tři základní logické funkce:
logický součin dvou proměnných a, b, označovaný jako AND. Označíme-li výstup logického obvodu y, pak logický součin zapíšeme jako
y = a . b
logický součet, označovaný jako OR. Můžeme ho zapsat vztahem
y = a + b
negace, označovaná jako NOT, je dána vztahy
y = a nebo y = b
Uvedené vztahy se nazývají úplný soubor logických funkcí, protože
jejich kombinací můžeme navrhnout jakýkoliv digitální obvod.
Logické funkce dvou proměnných
Další významné logické funkce
NAND negovaný logický součin y = a . b
NOR negovaný logický součet y = a + b
XOR nonekvivalence y = a b = a . b + a . b
Tato funkce nabývá hodnoty 1, jsou-li hodnoty obou proměnných různé.
XNOR ekvivalence y = a b = a . b + a . b
Funkce nabývá hodnoty 1, jsou-li hodnoty obou vstupních proměnných stejné.
Obě funkce XOR a XNOR jsou významné pro realizaci aritmetických obvodů a číslicových komparátorů.
Logické funkce realizujeme pomocí základních logických členů, jejichž spojováním získáme logický obvod. Pro kreslení schémat logických obvodů používáme schématické značky
(učebnice, Tab. 4.3). http://mikrokontrolery-pic.cz/zaciname/cislicova-technika/booleova-algebra-logicke-funkce/
Logické funkce dvou proměnných
Logické funkce realizujeme pomocí základních logických členů, jejichž spojováním lze získat logický obvod. Pro kreslení schémat logických obvodů používáme schematické značky těchto členů.
Nejčastěji v ČR používané schematické
značky základních logických obvodů
HRADLO NAND (negované a, i)
Na výstupu je logická 0 pouze tehdy, je-li na obou (všech) vstupech logická 1.
Kontrolní otázky
Co je logika? Co je to logický obvod?
Charakteristika kombinačních logických obvodů.
Charakteristika sekvenčních logických obvodů.
Kolika způsoby lze vyjádřit logickou funkci jedné nezávisle proměnné a proč? Nakreslete tabulku a popište jednotlivé funkce.
Kolik logických funkcí můžeme najít pro dvě vstupní proměnné a jak je označujeme?
Které tři základní logické funkce se používají při návrhu logických obvodů? Napište pro ně platné vztahy.
Popište logické funkce NAND a NOR.
Popište logické funkce XOR a XNOR.
Nakreslete schematické značky logických členů OR, NAND, XOR
Nakreslete schematické značky logických členů NOR, AND, NOT
BOOLEOVA ALGEBRA
Booleova (logická) algebra je matematická disciplína, která je přímo aplikovatelná při návrhu číslicových obvodů. Zahrnuje pravidla a teorémy pro operace s logickými proměnnými a funkcemi. Při používání pravidel se využívají tři základní operace
logický součin (konjunkce),
logický součet (disjunkce),
negace (inverze),
které tvoří teoretický prostředek pro návrh (syntézu) logických obvodů s požadovaným chováním. Vztahy mezi dvouhodnotovými proměnnými lze definovat několika matematickými zákony, tzv. zákony Booleovy algebry, jsou uvedeny v tabulce na následující straně:
BOOLEOVA ALGEBRA
Zákony součtu Zákony součinu
Zákon idempotence
a + a = a a . a = a
Zákon absorpce a + a . b = a a . (a + b) = a
Zákon komutativní
a + b = b + a a . b = b . a
Zákon asociativní a + (b + c) = (a + b) + c a . (b . c) = (a . b) . c
Zákon distributivní
a + (b . c) = (a + b).(a + c) a . (b + c) = a . b + a . c
BOOLEOVA ALGEBRA
Zákony součtu Zákony součinu
Neutrálnost nuly a jedničky
a + 0 = a a . 1 = a
Agresívnost nuly a jedničky
a + 1 = 1 a . 0 = 0
Zákon vyloučeného třetího _
a + a = 1
_
a . a = 0
Zákon negace _
0 = 1
_
1 = 0
Zákon dvojité negace =
a = a
De Morganovy zákony ____ _ _
a + b = a . b
____ _ _
a . b = a + b
BOOLEOVA ALGEBRA
Dva uvedené zápisy v každém bodě
představují obě duální formy každého
zákona. Pojem duální forma znamená, že
jeden vyplývá z druhého při záměně
logického součtu za logický součin a hodnoty
logická 0 za logickou 1 a naopak. Zákony
Booleovy algebry využíváme při úpravách
logických funkcí, aby jejich obvodová
realizace byla co nejjednodušší (jedna z
možností minimalizace logických funkcí).
BOOLEOVA ALGEBRA
De Morganovy zákony jsou v tabulce uvedeny jako
tzv. shannonův teorém, který umožňuje změnit
každou rovnici tak, že znaménko logického součtu
nahradíme znaménkem logického součinu a naopak.
Rovnici v této podobě říkáme inverzní. Podle
shannonova teorému získáme inverzní tvar rovnice
takto:
všechny logické součty zaměníme za logické součiny
a naopak
každou jednotlivou proměnnou negujeme
negujeme celou rovnici
Způsoby popisu logických funkcí
Příklad (učebnice, kap. 4.4.3)
Máme navrhnout logický obvod zadaný logickým výrazem
Použijte základní členy
AND, OR, NOT.
Řešení
Jednotlivé logické operace ve výrazu nahradíme základními členy.
Realizační obvodová struktura dané funkce (učebnice, obr. 4.2)
Způsoby popisu logických funkcí
Pravdivostní tabulka
je nejběžnějším způsobem popisu logické
funkce. Popisuje zcela přesně chování
logického obvodu, ale neobsahuje žádný
návod pro jeho realizaci. Je to vlastně
model chování logického systému.
Obsahuje výčet všech kombinací
vstupních proměnných a jim
odpovídajících výstupů. Má-li logická
funkce n nezávislých proměnných, bude
mít pravdivostní tabulka 2n řádků. Na
obrázku je příklad zobrazení logické
funkce součinu – AND.
b a y
0 0 0
0 1 0
1 0 0
1 1 1
y = a . b
Způsoby popisu logických funkcí
Pravdivostní tabulkou
můžeme vyjádřit určitou i
neurčitou funkci. Příkladem
neurčité logické funkce je v
této pravdivostní tabulce, kdy
je v jedné řádce zapsán
symbol x, který značí, že je
lhostejné, zda tato hodnota je
logická 1 nebo 0.
T D Qt+1
0 x Qt
1 0 0
1 1 1
Klopný obvod
typu D
Způsoby popisu logických funkcí
Seznam stavových indexů
Seznam stavových indexů představuje zjednodušený
zápis pravdivostní tabulky. Stavovým indexem
rozumíme dekadickou hodnotu kombinace binárních
vstupních proměnných. Např. kombinaci čtyř
vstupních proměnných 0110 můžeme jednoznačně
reprezentovat stavovým indexem 6. Logickou funkci
můžeme potom zapsat jako seznam stavových
indexů, pro něž logická funkce nabývá hodnoty 1,
nebo seznam indexů, pro něž nabývá hodnoty 0.
Způsoby popisu logických funkcí
Logický výraz
Je popisem logické funkce pomocí logických (Booleovských) proměnných ve formě analytického popisu. Jeho vyjádření získáme zápisem logické funkce pro jednotlivé vstupní kombinace. Každému logickému výrazu odpovídá jednoznačně obvodová struktura za předpokladu, že máme k dispozici všechny realizační členy odpovídající operátorům výrazu. Logický výraz tedy můžeme považovat za model struktury logického obvodu. Máme-li tedy zadaný logický výraz popisující logickou funkci, můžeme pomocí základních logických členů navrhnout strukturu logického obvodu.
Způsoby popisu logických funkcí
Vennův diagram Je názorným množinovým způsobem zobrazení logické
funkce. V rovinné oblasti zvolíme tolik dílčích podoblastí, kolik máme vstupních proměnných.
Podoblasti volíme tak, aby existoval neprázdný průnik kterékoli možné kombinace těchto podoblastí.
Jednoznačné přiřazení nastane tehdy, dohodneme-li se, že vstupní proměnná bude jedničková uvnitř příslušné podoblasti. Na následujícím obrázku je znázorněna funkce negovaný logický součin.
Způsoby popisu logických funkcí
Zobrazení pomocí map Má-li logická funkce n vstupních proměnných, rozdělíme
je do dvou přibližně stejných skupin po n1 a n2 proměnných. Potom sestavíme mapu, která bude mít 2n1 sloupců a 2n2 řádků, tj. 2n1 . 2n2 = 2(n1+n2) = 2n polí. Mapa je tedy transformací pravdivostní tabulky, kdy každému řádku tabulky odpovídá jednoznačně jedno pole mapy. Každému řádku, resp. sloupci mapy přiřadíme jednu z kombinací nezávisle proměnných a provedeme zakódování řádků a sloupců. V každém poli mapy je zapsána hodnota logické funkce, která odpovídá logickým proměnným příslušného řádku a sloupce.
Minimalizace logických funkcí
Minimalizace logické funkce pomocí Karnaughovy mapy
Příklad
Navrhněte logický obvod, který bude indikovat hodnotou log.1 na výstupu přítomnost čísla většího než 4 na vstupech obvodu. Obvod bude mít tři vstupy (číslo musí být samozřejmě v binárním tvaru, pomocí tří vstupů lze tedy reprezentovat číslo od nuly do sedmi) a jeden výstup. Použijte pouze nezbytně nutný počet hradel. Zadání příkladu můžeme vyjádřit pravdivostní tabulkou. Vstupy jsou pro přehlednost označeny písmeny A, B, C.
Vlevo v tabulce je též uvedena dekadická hodnota vstupního binárního čísla. Dle zadání nabývá výstup Y hodnoty 1, je-li na vstupech A, B, C číslo 1012=510, 1102=610 nebo 1112=710.
Minimalizace logické funkce spočívá v převedení pravdivostní tabulky v tzv. mapu, ve které přehledným grafickým způsobem vytváříme skupiny jedniček. Použijeme tzv. Karnaughovu [čti: karnafovu] mapu.
Minimalizace pomocí Karnaughovy mapy
Velikost mapy závisí na počtu vstupních proměnných resp. na počtu řádků tabulky, v obecném případě má 2n polí, kde n je počet proměnných. V našem příkladu máme tři proměnné, jejichž kombinací může na vstupu nastat 8 různých situací. Karnaughova mapa bude mít tedy 8 polí (stejný počet řádků má i pravdivostní tabulka). Nakreslete si nejprve mřížku o rozměrech 2×4 pole a jeden svislý a dva vodorovné pruhy podél mapy, kterým přiřaďte jednotlivé vstupní proměnné dle obrázku. Tyto pruhy označují řádky a sloupce, v nichž nabývá daná proměnná hodnoty 1. Druhý řádek mapy tak označuje pole, ve kterých nabývá proměnná C hodnoty log.1 (jedná se o 1., 3., 5. a 7. řádek tab.).
Minimalizace pomocí Karnaughovy mapy
Podobně ve dvou prostředních sloupcích, které leží pod pruhem B, nabývá proměnná B hodnoty log.1 a pruh A označuje pravé dva sloupce, ve kterých má proměnná A vždy hodnotu 1 (4. až 7. řádek v tabulce). Pruhy jsou uspořádány tak, aby každé pole odpovídalo jednomu možnému stavu, který může na vstupu nastat. Každé pole je navíc v rohu označeno malým červeným číslem, které odpovídá danému řádku tabulky.
Minimalizace pomocí Karnaughovy mapy
Dalším krokem je vyplnění mapy jedničkami, popř.
nulami. Postupujeme následujícím způsobem: v
řádku č.0 tabulky 1 jsou všechny proměnné A, B i C
nulové, hledáme tedy takové pole mapy, které není
označeno žádným pruhem. Nachází se vlevo nahoře.
Funkce Y nabývá pro toto pravdivostní ohodnocení
hodnoty log.0, do pole tedy zapíšeme 0 (nebo
nezapíšeme nic). Nulu zapíšeme případně i do
dalšího pole, které odpovídá řádku č.1 tab.1. Zde je
A=0, B=0, C=1, hledáme tedy řádek označený
pruhem C a sloupec bez pruhů A a B (nachází se
vlevo dole).
Minimalizace pomocí Karnaughovy mapy
Podobným způsobem vyplníme celou mapu. Poté je
nutno uzavřít jedničky do tzv. smyček. Smyčka může
být buď čtvercového nebo obdélníkového tvaru o
hranách velikosti 2n polí. V našem případě připadají v
úvahu smyčky o rozměrech 1×1, 1×2, 1×4, 2×2 nebo
2×4. Smyčky se mohou vzájemně překrývat, naší
snahou je vytvořit je co největší. Dle uvedených
předpokladů je možné v naší mapě vytvořit pouze
dvě smyčky o rozměrech 1×2 způsobem, který je
vyznačen na obrázku.
Minimalizace pomocí Karnaughovy mapy
Na závěr je nutno sestavit zápis minimalizované funkce. Dostaneme jej ve formě součtu součinů následujícím způsobem: zelená smyčka leží celá v oblasti, kde se nemění hodnota proměnné A (v obou polích je A=1) ani proměnné B (taktéž je v obou polích B=1), avšak mění se hodnota proměnné C (v horním poli je C=0 a v dolním C=1). Proměnnou C tedy nebudeme uvažovat a zapíšeme součin A·B. Modrá smyčka leží v oblasti, kde se nemění hodnota proměnných A a C (obě proměnné zde nabývají hodnoty 1). Modrá smyčka leží v oblasti, kde se nemění hodnota proměnných A a C (obě proměnné zde nabývají hodnoty 1).
Minimalizace pomocí Karnaughovy mapy
Proměnná B svou hodnotu ve smyčce mění, proto ji nebudeme uvažovat a zapíšeme součin: A·C. Výslednou funkci dostaneme součtem součinů získaných z jednotlivých smyček: Y=A·B+A·C.
Řešení pomocí hradel AND a OR Řešení pomocí hradel NAND
Minimalizace pomocí Karnaughovy mapy
PŘÍKLADY
1. Minimalizujte logickou funkci dvou vstupních
proměnných:
ZÁKLADNÍ LOGICKÉ ČLENY
Logický člen je základní logický obvod, který má alespoň jeden
vstup a jeden výstup a transformuje vstupní dvouhodnotový logický signál podle určité elementární logické funkce.
Nejčastěji dělíme logické členy podle těchto hledisek:
podle realizované logické funkce
kombinační
sekvenční
podle schopnosti zesilovat signál
pasivní
aktivní
podle druhu signálu, který je nositelem logické informace
elektromechanické (signál je napětí nebo proud a následně síla – relé)
elektrické (signálem je napětí nebo proud)
optoelektrické (signálem je světelný tok a následně elektrické napětí nebo proud)
pneumatické (signálem je mechanický tlak)
ZÁKLADNÍ LOGICKÉ ČLENY
podle použité součástkové základny
elektromechanické – logická funkce je realizována pomocí relé a jejich
kontaktů. Používají se velmi zřídka, pocházejí z dob před vznikem
polovodičů. Základní logické funkce jsou realizovány následovně:
inverze (negace) – pomocí rozpojovacích kontaktů
logický součin (konjunkce) – pomocí kontaktů zapojených do série
logický součet (disjunkce) - pomocí kontaktů zapojených paralelně
diodové – logická funkce je realizována pomocí spínacích diod a
omezovacích rezistorů
tranzistorové – logická funkce je realizována pomocí tranzistorů a
dalších obvodových prvků (diody, rezistory)
integrované - logická funkce je realizována pomocí integrovaných
obvodů, v současnosti nejpoužívanější a nejperspektivnější.
ZÁKLADNÍ LOGICKÉ ČLENY
v rámci jednotlivých technologií podle toho, z jakých obvodových
prvků jsou vyrobeny, dělíme logické členy
DL (diodová logika) – jako spínací prvky jsou používány diody a
omezovací rezistory. Dioda propouští proud, je-li na její anodě vyšší
kladné napětí oproti katodě (o 0,6 – 0,7 V pro Si diodu). V tomto stavu
se chová jako sepnutý spínač, v opačném případě je mezi anodou a
katodou maximální odpor.
Nevýhodami jsou
nemožnost realizace
funkce invertoru, a to,
že jsou to obvody
pasivní a nemají tedy
definovány výstupní
napěťové úrovně, které
kolísají se zatížením.
ZÁKLADNÍ LOGICKÉ ČLENY
DTL (diodově tranzistorová logika) – tento typ logiky používá
jako aktivní prvek tranzistor, který pracuje jako spínač.
RTL (rezistorově tranzistorová logika) – nevýhodou je malá
odolnost proti rušení.
TTL (tranzistorově tranzistorová logika) – nejvíce rozšířená
logika.
CMOS (komplementární MOS technologie). Tato logika využívá
unipolární tranzistory, rovněž velmi rozšířená, vyrábí se i obvody
kompatibilní s TTL.
ETL (emitorově vázaná logika) – pro velmi rychlé číslicové
obvody, např. velmi rychlé paměti.
Základní pojmy logických členů
Šumová imunita Logické obvody (LO) mají vždy definované určité rozmezí hodnot napětí pro logickou 0
i pro logickou 1. Například pro řadu LO TTL je definováno, že stavu logické 1 odpovídá
na výstupu napětí v rozsahu 2,4 až 5 V a stavu logické 0 napětí v rozmezí 0 až 0,4 V.
Rovněž je definováno, že vstup musí za logickou 1 považovat jakoukoli hodnotu
v rozmezí 2,0 až 5,5 V a za logickou 0 jakoukoli hodnotu v rozsahu 0 až 0,8 V.
Šumová imunita představuje
odolnost dané technologie proti
parazitnímu rušení. Představuje
přesah tolerančních pásem mezi
hraničním napětím pro vstup a
výstup. Zvolené napěťové úrovně
zabezpečují činnost systému proti
náhodným poruchám tím, že napětí
na výstupu musí být vždy o 0,4 V vyšší pro log 1 a o 0,4 V nižší pro log 0, než je mez určující spolehlivou činnost obvodu
na jeho výstupu. Typická hodnota šumové imunity udávaná výrobci pro TTL je 0,9 V.
Základní pojmy logických členů
Logický zisk N Jedním z požadavků na logické členy je spolehlivé navázání vstupů jedněch
logických členů na výstupy jiných. Logický zisk nebo též logická zatížitelnost je
číslo, udávající maximální počet vstupů stejné technologie, které je možno
zapojit na výstup logického členu.
Dynamické parametry logických obvodů Měří se na vnějších svorkách
obvodu. Na obrázku je
zobrazen vstupní a výstupní
průběh napětí měřený na
svorkách hradla. Jsou zde
vyznačeny doby tr (rise time) a
tf (fall time), které udávají tzv.
strmost hran, neboli náběh a
doběh impulsu. Náběžná
(vzestupná) hrana tr je doba, za
kterou stoupne signál z 10% na
90% své maximální hodnoty.
Základní pojmy logických členů
Sestupná (týlová) hrana tf je doba, za kterou poklesne signál z 90% na 10%
své maximální hodnoty. Má-li signál příliš dlouhý náběh nebo doběh, je LO po
dlouhou dobu v oblasti nestability. Tento stav je nežádoucí, protože může
způsobit chyby v činnosti obvodu, proto je třeba volit správné signály s dobou
náběhu a doběhu a logické členy takové, aby oblast nestability byla
minimalizována. Na obrázku je též naznačeno zpoždění signálu při průchodu
logickým členem. Doba tpd0 představuje dobu přechodu (zpoždění) obvodu při
změně výstupní úrovně ze stavu logická 1 do stavu logická 0 a naopak, tj. dobu
přechodu obvodu při změně výstupu ze stavu logická 0 do stavu logická 1.
Charakteristické zpoždění určité typové řady je pak udáváno jako průměrná
hodnota, tj.
Okamžiky začátku a konce měření jsou určeny okamžikem průchodu signálu
rozhodovací napěťovou hladinou Ur, která závisí na technologii logických
obvodů. Pro obvody TTL je Ur = 1,5 V, pro obvody CMOS závisí Ur na
napájecím napětí. Podmínky stanovení dynamických parametrů
najdeme v katalogu výrobce.
Základní pojmy logických členů
Frekvenční poměry Maximální pracovní kmitočet fmax je nejvyšší možný kmitočet, který je logický
obvod ještě schopen zpracovat a reagovat na něj, aniž by došlo k výpadkům
signálu nebo k poklesu výstupních úrovní. Jeho hodnota úzce souvisí se
zpožděním logického členu a se strmostí jeho náběžné a sestupné hrany
signálu. Pro vyšší kmitočty již obvody neumějí signál reprodukovat. Např. pro
obvody TTL standard je maximální frekvence kolem 10 MHz.
Energetické poměry Přípustný rozptyl napájecích napětí souvisí především s výrobní technologií.
Pro TTL logické obvody je přípustná jen velmi malá změna napájecího napětí
± 5 % Ucc. Technologie CMOS připouští velké změny Ucc v rozsahu, např. 3 až
18 V. Pro odběr energie často platí, že čím má LO větší odběr, tím je menší
zpoždění v logické síti. Např. LO Schottky TTL, které mají průměrné zpoždění
tpd = 3 ns, ale typický příkon na hradlo mají18 mW.
Základní pojmy logických členů
Připojení nepoužitých vstupů Při realizaci LO se často stává, že pokaždé nezapojíme všechny vstupy
logických členů. Nezapojené vstupy musíme proto ošetřit, aby přes ně
nedocházelo k rušení funkce obvodu parazitními signály, tzn. neponecháváme
je nezapojené.
Obecně platí, že nepoužité vstupy členů realizujících logický součin (AND,
NAND) připojujeme na logickou jedničku přes vhodný rezistor (cca 1 kΩ).
Nepoužité vstupy členů, realizujících logický součet (OR, NOR) se
připojují na logickou nulu. Na obrázku jsou příklady ošetření
nezapojených vstupů: V mnoha případech
můžeme spojit
vstupy paralelně, a
tak snížit počet
nepoužitých vstupů.
V případě členů AND a NAND se chovají spojené vstupy z hlediska zátěže jako
jeden vstup. V případě členů OR a NOR však spojené vstupy představují logickou
zátěž všech spojených vstupů.
Logické obvody TTL
Polovodičová technika realizuje obvody, kterými jsou vytvářeny logické signály reprezentující funkční hodnoty dvouhodnotových logických funkcí. Ze základních principů binární logiky plyne, že k realizaci libovolné funkce lze využít soustavy logických členů , které plní funkce logického součinu a negace AND a NOT, nebo logického součtu OR NOT. Existují ještě dvě funkce, z nichž každá umožňuje sestavení libovolně zadaného kombinačního systému. Jsou to negovaný logický součin NAND a negovaný logický součet NOR. Pro realizaci libovolné logické funkce vybíráme takové členy, které vedou na jednodušší zapojení logického systému.
Logické obvody CMOS
Logické obvody CMOS (Complementary Metal Oxid Semiconductors) byly vyvinuty jako konkurence k technologii TTL. Jejich hlavní výhodou je velmi nízký příkon v klidovém stavu (až nW) i za provozu (desítky µW), široký rozsah napájecího napětí (3 až 18 V), velká odolnost proti rušení (šumová imunita) a dostatečná rychlost blížící se TTL. Technologie CMOS umožňuje podstatně vyšší stupeň integrace než TTL. Umožňuje konstrukci obvodů LSI a VLSI (s vysokým a velmi vysokým stupněm integrace). Kromě logických obvodů se technologie CMOS využívá při výrobě pamětí a různých druhů mikroprocesorů.
Kontrolní otázky
Vysvětlete pojem Logický člen.
Jak dělíme logické členy (stručný popis)
1) podle realizované logické funkce
2) podle schopnosti zesilovat signál
3) podle druhu signálu, který je nositelem logické informace
Jak dělíme logické členy podle použité součástkové základny
Jak dělíme logické členy v rámci jednotlivých technologií podle toho, z jakých obvodových prvků jsou vyrobeny, stručně je popište
Popište a nakreslete diodovou logiku
Podrobně vysvětlete, co je šumová imunita, vč. grafického vyjádření
Co je Logický zisk N? Popište a graficky znázorněte Dynamické parametry logických obvodů.
Vysvětlete pojmy FREKVENČNÍ a ENERGETICKÉ poměry
Jak připojujeme nepoužité vstupy?
Popište charakteristiku LO TTL
Popište charakteristiku LO CMOS
KOMBINAČNÍ LOGICKÉ OBVODY
Jsou to obvody, u nichž mohou vstupní i výstupní proměnné v ustáleném stavu nabývat jedné ze dvou možných hodnot – logické nuly nebo logické jedničky. Kombinační logický obvod je realizován spojením základních logických členů tak, aby splňoval požadovanou logickou funkci. Okamžitá hodnota výstupních proměnných je dána pouze okamžitou kombinací vstupních proměnných. Proto těmito obvody realizujeme výhradně takové situace, které nejsou závislé na předchozích kombinacích vstupů.
KOMBINAČNÍ LOGICKÉ OBVODY
Představiteli kombinačních logických
obvodů jsou:
dekodéry
multiplexery a demultiplexery
komparátory
obvody pro aritmetické operace
(sčítačky, generátory přenosu
apod.)
Návrh logických obvodů
Navrhněme logický obvod jako realizaci logické
funkce y = a . b + c
Součin a . b vyřešíme hradlem AND, z jehož výstupu
společně se vstupem c bude připojeno hradlo OR.
Syntéza kombinačních logických obvodů
Navrhněme logický obvod jako realizaci logické
funkce y = a . b + c . d
Součiny a . b a c . d vyřešíme hradly AND, z jejichž
výstupů bude připojeno hradlo OR.
Syntéza kombinačních logických obvodů
Jedná se o logický součet
dvou negovaných
proměnných, proto nejprve
pomocí invertorů negujeme
obě proměnné a pak sečteme
funkcí nebo prostřednictvím
hradla NAND.
Syntéza kombinačních logických obvodů
Navrhněme logický obvod jako realizaci logické funkce
Jedná se o logický součet
dvou negovaných
proměnných, proto nejprve
pomocí invertorů negujeme
obě proměnné a pak sečteme
funkcí nebo prostřednictvím
hradla NAND. Víme však, že
podle Booleovy algebry se
tento výraz rovná negovanému
součinu tj. NAND.
Syntéza kombinačních logických obvodů
Navrhněme logický obvod jako realizaci logické funkce
Součiny vyřešíme dvěmi třívstupovými hradly AND, přičemž negované proměnné opatříme invertory. Výstupy z obou hradel zavedeme na hradlo OR a sečteme funkcí nebo.
Syntéza kombinačních logických obvodů
Navrhněme logický obvod jako realizaci logické funkce
Součiny vyřešíme dvěmi třívstupovými hradly AND, přičemž negované proměnné opatříme invertory. Výstupy z obou hradel zavedeme na hradlo OR a sečteme funkcí nebo.
Syntéza kombinačních logických obvodů
Navrhněme logický obvod jako realizaci logické funkce
Součiny vyřešíme dvěmi třívstupovými hradly AND, přičemž negované proměnné opatříme invertory. Výstupy z obou hradel zavedeme na hradlo OR a sečteme funkcí nebo.
Syntéza kombinačních logických obvodů
Navrhněme logický obvod jako realizaci logické funkce
Součiny vyřešíme dvěmi třívstupovými hradly AND, přičemž negované proměnné opatříme invertory. Výstupy z obou hradel zavedeme na hradlo OR a sečteme funkcí nebo.
Syntéza kombinačních logických obvodů
Navrhněme logický obvod jako realizaci logické funkce
Součiny vyřešíme dvěmi třívstupovými hradly AND, přičemž negované proměnné opatříme invertory. Výstupy z obou hradel zavedeme na hradlo OR a sečteme funkcí nebo.
Syntéza kombinačních logických obvodů
Navrhněme logický obvod jako realizaci logické funkce
Syntéza kombinačních logických obvodů
Některé kombinační logické integrované obvody
TTL řady 7400 s hradly NAND, NOR, NOT:
7400: 4x 2-vstupové hradlo NAND
7402: 4x 2-vstupové hradlo NOR
7404: 6x invertor (NOT)
7410: 3x 3-vstupové hradlo NAND
7420: 2x 4-vstupové hradlo NAND
7430: 8-vstupové hradlo NAND
Syntéza kombinačních logických obvodů
Syntézou kombinačních LO chápeme postup, kdy získáme ze slovního zadání odpovídající LO, který zadaný požadavek realizuje. Slovní zadání nejčastěji zapisujeme do pravdivostní tabulky, ze které získáme popis logické funkce v součtové nebo v součinové podobě. Získanou logickou funkci obvykle minimalizujeme. Shrnutí postupu:
1. slovní zadání
2. popis logické funkce obvodu (pravdivostní tabulka)
3. minimalizace
4. realizace kombinačního LO pomocí logických členů.
Syntéza kombinačních logických obvodů
Příklad Navrhněte logický obvod, který bude indikovat binární
čísla 8, 9, 7, 15, 14 a 6.
Syntéza kombinačních logických obvodů
Příklad Navrhněte logický obvod, který bude indikovat binární
čísla 8, 9, 7, 15, 14 a 6.
Řešení:
Vyplníme pravdivostní tabulku
Odvodíme ze zadaných čísel logickou rovnici
Provedeme minimalizaci
Vyřešíme logický obvod pomocí logických členů
(nakreslíme odpovídající schéma)
Syntéza kombinačních logických obvodů
Příklad Navrhněte logický obvod, který bude indikovat binární
čísla 8, 9, 7, 15, 14 a 6.
Řešení:
Vyplníme pravdivostní tabulku
Odvodíme ze zadaných čísel logickou rovnici
Provedeme minimalizaci
Vyřešíme logický obvod pomocí logických členů
(nakreslíme odpovídající schéma)
Syntéza kombinačních logických obvodů
Příklad Navrhněte logický obvod, který bude indikovat binární
čísla 8, 9, 7, 15, 14 a 6.
Řešení: Vyplníme pravdivostní tabulku, odvodíme ze zadaných čísel
logickou rovnici, provedeme minimalizaci.
Syntéza kombinačních logických obvodů
Příklad Navrhněte logický obvod, který bude indikovat binární
čísla 8, 9, 7, 15, 14 a 6.
Řešení: Vyplníme pravdivostní tabulku a odvodíme ze zadaných čísel
logickou rovnici, provedeme minimalizaci.
Syntéza kombinačních logických obvodů
Příklad Navrhněte logický obvod, který bude indikovat binární
čísla 8, 9, 7, 15, 14 a 6.
Řešení: Vyplníme pravdivostní tabulku a odvodíme ze zadaných čísel
logickou rovnici, provedeme minimalizaci.
Nakreslíme odpovídající schéma
Syntéza kombinačních logických obvodů
Příklad Navrhněte logický obvod, který bude indikovat binární
čísla 8, 9, 7, 15, 14 a 6.
Řešení: Vyplníme pravdivostní tabulku a odvodíme ze zadaných čísel
logickou rovnici, provedeme minimalizaci.
Nakreslíme odpovídající schéma
Syntéza kombinačních logických obvodů
Použijeme logické členy NOT, AND, OR
Návrh logického obvodu
Syntéza kombinačních logických obvodů
Použijeme logické členy NOT, AND, OR
Návrh logického obvodu
Syntéza kombinačních logických obvodů
Úkol 1 Navrhněte logický obvod, který bude indikovat binární čísla 3, 4 a 7. (použijte 2x dvouvstupové hradlo AND, třívstupové OR)
Úkol 2 Navrhněte logický obvod, který bude indikovat binární čísla 1, 5 a 7. (2x invertor, 2x dvouvstupové NAND nebo rovnou kombinační obvod TTL 7400)
Úkol 3 Navrhněte logický obvod, který bude indikovat binární čísla 1, 4 a 5. (použijte obvod TTL 7400)
Úkol 4 Navrhněte logický obvod, který bude řešit bezpečnost při sepnutí lisu. Lis bude spouštěn současně dvěma tlačítky A, B (každé jednou rukou) za předpokladu, že v prostoru lisování čidlo C nezaznamená přítomnost nežádoucího předmětu (ruka). (použijte obvod TTL 7410)
Syntéza kombinačních logických obvodů
Navrhněte automatické
hovorové zařízení, které má po
stisknutí tlačítka umožnit
spojení tří vedoucích
pracovníků firmy – ředitele
firmy, vedoucího směny a
mistra, se sekretářkou. Každý
z vedoucích pracovníků má jiné
postavení ve firmě a jiné pravomoci, a tedy i priority jejich
hovorů se sekretářkou jsou různé. Nejvyšší priority má ředitel,
mistr dostane požadované spojení se sekretářkou jen tehdy,
nehovoří-li s ní ředitel ani vedoucí směny.
Příklad: Návrh automatického hovorového zařízení
Syntéza kombinačních logických obvodů
Vstupní proměnné si označíme takto:
požadavek ředitele firmy R
požadavek vedoucího směny V
požadavek mistra M
Výstupní proměnné udávají skutečný hovor:
hovor ředitele f1
hovor vedoucího směny f2
hovor mistra f3
Jak nezávisle proměnné, tak i výstupní mohou nabývat jen dvou logických
stavů (ředitel požaduje spojení nebo ne, vedoucí požaduje spojení
nebo ne, mistr požaduje spojení nebo ne, a na druhé straně spojovací
zařízení požadavek splní nebo ne). Z toho plyne, že jak nezávisle
proměnné, tak i hledaná výstupní funkce jsou binární.
Syntéza kombinačních logických obvodů
Ze slovního zadání sestavíme pravdivostní
tabulku:
R V M f1 f2 f3
0 0 0 0 0 0
0 0 1 0 0 1
0 1 0 0 1 0
0 1 1 0 1 0
1 0 0 1 0 0
1 0 1 1 0 0
1 1 0 1 0 0
1 1 1 1 0 0
Z pravdivostní tabulky vyplývají
funkce v úplné součtové formě ve
tvaru:
Minimalizací získáme výsledné
výstupní funkce:
Multiplexery
Multiplexer je kombinační
logický obvod, který umožňuje
převádět digitální informace z
některého vstupního kanálu na
výstup. Mohli bychom ho
označit jako přepínač digitálních
signálů.
Demultiplexery
Demultiplexer plní přesně opačnou
funkci než multiplexer. V závislosti
na logickém stavu adresových
vodičů přenáší z jediného datového
vstupu sled logických hodnot na
jeden z výstupů, zatímco na
ostatních výstupech setrvává
neaktivní stav.
Komparátory
Komparátor je kombinační logický
obvod, který porovnává dvě binární
čísla a generuje výstupní signál o jejich
rovnosti nebo různosti. Důležitým
obvodem z hlediska použití v
komparátorech je je obvod realizující
funkci Exclusive OR, označovaný
obvykle XOR.
Komparátory
Schéma logického obvodu Exklusive OR
Obvod realizuje logickou funkci
nonekvivalence, popsanou vztahem
Komparátory
Vstupy Funkce
B A XOR XNOR
0 0 0 1
0 1 1 0
1 0 1 0
1 1 0 1
Pravdivostní tabulka funkce nonekvivalence (XOR)
a ekvivalence (XNOR)
Komparátory
Na obrázku je znázorněno
zapojení komparátoru pro
porovnání dvou n-bitových čísel A
a B. Jsou zde použity obvody XOR
7486. Číslo A je přivedeno na
obvod XOR přímo, číslo B je
připojeno přes invertor. Tak
získáme na výstupech XOR hradel
X1 až Xn logickou funkci
nonekvivalence. Výstupy členů
XOR přivedeme na hradlo NAND.
Pokud budou čísla An a Bn
shodná ve všech bitech, bude
výstup Y roven logické 0, pokud
se čísla budou lišit alespoň v
jediném bitu, bude výstup Y ve
stavu logická 1. Délka
porovnávaných binárních čísel
závisí na počtu vstupů výstupního
hradla NAND.
1
A
1
&
B
Y
=1
=1
B
A
1B
=1A
1
1
2
2
n
n
X1
X2
Xn
OBVODY PRO ARITMETICKÉ OPERACE
Aritmetické operace s binárními čísly jsou
základem programového vybavení
mikroprocesorů a hardwarového vybavení
specializovaných integrovaných obvodů.
Základními aritmetickými operacemi je
sčítání, odčítání, násobení a dělení, pro
případ logických obvodů v binární číselné
soustavě. Operace odčítání, násobení a
dělení lze převést na sčítání, proto je sčítání
základem pro ostatní aritmetické operace.
Sčítačky
Sečtení dvou dvojkových čísel je založeno na sečtení všech dvojic dvojkových míst, které si vzájemně řádově odpovídají počínaje nejnižšími řády. Přitom je třeba brát v úvahu i přenosy z nižších do vyšších řádů, které během sčítání vznikají.
Při sčítání dvou dvojkových čísel musíme nejdříve sečíst hodnoty na nejnižším řádovém místě. Sčítačka, kterou lze použít pouze k sečtení dvou čísel na nejnižších řádových místech (A0 a B0) se nazývá poloviční sčítačka. Pokud použijeme výstup pro přenos do vyššího řádu, dostaneme sčítačku úplnou.
Vícebitová sčítačka
s postupným šířením přenosu
Již umíme sečíst dvě jednobitová čísla a to
včetně správného použití přenosu. Co když
ale potřebujeme sčítat větší čísla? Vícebitové
sčítačky se zpravidla skládají z několika
úplných jednobitových sčítaček, kterých je
právě tolik, kolik bitů chceme umět sčítat.
V dnešní době nejsou výjimkou ani 64-bitové
sčítačky.
Vícebitová sčítačka - vstupy a výstupy
V závislosti na použití vícebitové sčítačky můžeme přivést na přenos z nižšího řádu logickou 0 nebo pro nejnižší řád použít poloviční sčítačku. Přenos do vyššího řádu lze použít pro zjištění přetečení (výsledek je mimo rozsah).
vstupy A0 .. An = bity prvního n-bitového sčítance (prvního operandu)
vstupy B0 .. Bn = bity druhého n-bitového sčítance (druhého operandu)
výstupy S0 .. Sn = bity n-bitového součtu
vstup Cin = přenos z nižšího řádu (carry in)
výstup Cout = přenos do vyššího řádu (carry out)
Vícebitová sčítačka - schéma zapojení
Vícebitovou sčítačku s postupným šířením
přenosu sestavíme zřetězením několika
jednobitových úplných sčítaček. Každá
sčítačka sečte jeden bit sčítanců a aplikuje
přenos z nižšího řádu. Případný přenos pošle
dál do vyššího bitu. Jak vidíme, přenos se
postupně šíří z nejnižšího bitu do nejvyššího.
Z tohoto chování vychází i název zapojení.
Kontrolní otázky
1. Vysvětlete, co je komparátor, nakreslete schéma.
2. Vysvětlete, co je multiplexer, nakreslete schéma.
3. Vysvětlete funkci nonekvivalence a ekvivalence,
doplňte tabulku.
4. Vysvětlete, co je demultiplexer, nakreslete schéma.
5. Vysvětlete princip poloviční a úplné sčítačky.
6. Nakreslete blokové schéma čtyřbitové sčítačky a
popište její funkci vč. všech vstupů a výstupů.