Studijní literatura základní VRBA, R., LEGÁT, P., FUJCIK, L., HÁZE, J., KUCHTA, R., MIKEL, B., SKOČDOPOLE, M.: Digitální obvody a mikroprocesory. Elektronické skriptum, 1. vyd., FEKT VUT, Brno 2003, 238 s., ISBN MEL103 VRBA, R., SKOČDOPOLE, M., FUJCIK, L., ŠTEFFAN, P., KUCHTA, R.: Digitální obvody a mikroprocesory. Laboratorní cvičení. Elektronické skriptum, FEKT VUT, Brno 2007, 54 s. VRBA, R., LEGÁT, P., KUCHTA, R., MIKEL, B.: Digitální obvody a mikroprocesory. Skriptum, 1. vyd., FEKT VUT, Brno 2004, 218 s.
DIGITÁLNÍ OBVODY A MIKROPROCESORY BDOM Prof. Ing. Radimír Vrba, CSc. Ing. Lukáš Fujcik, Ph.D. Ing. Pavel Šteffan, Ph.D. Ústav mikroelektroniky FEKT VUT
@feec.vutbr.cz www.umel.feec.vutbr.cz/BDOM Brno 2010/11 1
doporučená a rozšiřující VRBA, R., KUCHTA, R., SAJDL, O., HUB, P., SKOČDOPOLE, M., FUJCIK, L., HÁZE, J., ZEMÁNEK, M., VRBA, R. Multimediální učebnice digitálních obvodů. FEKT VUT, Brno 2004, http://www.umel.feec.vutbr.cz/bdom/ SINGH, A. K., TIWARI, M.: Digital Principles Foundation of Circuit Design and Application. ISBN 81-224-1759-0, 400 pp., 2006 WAKERLY, J. Digital Design - Principles and Practices. Pearson Edu. 2000 VRBA, R., KOLOUCH, J., KUCHTA, R., JAROŠ, J. Digitální obvody. Skriptum FEKT VUT, 1. vyd., Ing. Zdeněk Novotný, Brno 2002, 170 s., ISBN 80-214-2137-1 2
Zdroj informací 1. Informační systém • Aktuality • Elektronická Skripta • Zkoušky, zápočty
1. ZÁKLADNÍ POJMY DIGITÁLNÍ TECHNIKY
2. E-learning • Soubory ke cvičením • Elektronická verze přednášek
Abstrakce v digitální technice: signály se pokládají za skokově proměnné, v nejjednodušším případě dvě možné hodnoty logická jednička log. 1 1 logická nula log. 0 0
3. Webové stránky www.umel.feec.vutbr.cz/BDOM • Aktuality • Soubory ke cvičením 3
4
1
Zobrazení dvouhodnotových veličin Popis pomocí dvouhodnotových veličin:
Zobrazením pomocí úrovně fyzikální veličiny (napětí, proudu) - úroveň H (vyšší hodnota), L (nižší hodnota) kladná logika pro úroveň H s hodnotou 1, záporná logika pro úroveň H s hodnotou 0
1.logická interpretace - 1, 0 2. pravdivostní interpretace - výrok pravdivý (1), nepravdivý (0) 3. interpretace formou binárních číslic 1, 0, ta se užívá zvlášť pro vícebitové skupiny
+5V a
4. interpretace vyjadřující aktivní (1) a neaktivní (0) stav určité řídicí veličiny; 5. další možnosti - např. kontaktová reprezentace - sepnuto (1), rozepnuto (0) Nejčastěji interpretace logická, v programových prostředcích interpretace formou binárních číslic.
Zobrazením pomocí změny úrovně fyzikální veličiny vyznačení určitého okamžiku - např. pro zápis do registru, pro inkrementaci čítače apod. aktivní hrana (vzestupná nebo sestupná)
5
6
Číselné soustavy a kódy
Logické veličiny logické konstanty (0, 1), logické proměnné, které se označují pomocí identifikátorů.
Přirozené číslo FZ lze obecně vyjádřit základem Z pomocí koeficientů nebo číslic ai
Digitální systémy systémy kombinační, u nichž hodnoty výstupních veličin závisí jen na okamžitém stavu vstupních veličin, systémy sekvenční, kde hodnoty výstupních veličin závisí i na předchozích hodnotách vstupních veličin, obsahují paměť.
7
základ 2 se symboly 0 a 1, základ 10 se symboly 0, 1, …, 8, 9, základ 8 (oktalový) se symboly 0, 1, …, 6, 7, základ 16 se symboly 0, 1, …, 8, 9, A, B, C, D, E, F. 8
2
Metoda postupného odečítání Metoda se snadno použije pro přechod od základu B k základu 2. Původní číslo se rozkládá odečítáním zmenšujících se mocnin základu, přičemž se hledá mocnina čísla 2 rovná převáděnému číslu nebo menší.
26 = 64 příliš velké 25 = 32 24 = 16
22 = 4 21 = 2
Příklad
27 = 128
23 = 8
190 - 128 62 - 32 30 - 16 14
1
20 = 1
0 1
Výsledek
-8 6 -4 2 -2 0
1 1 1 0
19010 = 101111102
1 9
10
Kontrola výpočtu pomocí Hornerova schématu v obou soustavách:
FZ = 1*20 + 1*21 + 1*22 + 0*23 + 0*24 + 1*25 + 0*26 + + 0*27 + 1*28 + 1*29 + 1*210 = = 1 + 2 + 4 + 0 + 0 + 32 + 0 + 0 + 256 + 512 + 1024 = = 1831D
11
FZ = 7*160 + 2*161 + 7*162 = 7 + 32 + 1792 = 1831D
12
3
Převod necelých čísel: obdobně, exponenty i záporné
Příklad: Vyjádřete číslo -13 v binárním kódu Řešení:
Vyjádření záporných čísel ve dvojkovém kódu pomocí druhého dvojkového doplňku
|-13| = 13 ≈ 1101 B
1. absolutní hodnotu záporného dekadického čísla vyjádříme ve dvojkovém kódu 2. vytvoříme první dvojkový doplněk (negace jednotlivých bitů) 3. k tomuto číslu přičteme 1 a získáme zápornou hodnotu ve dvojkovém doplňkovém kódu (druhý doplněk)
0010B +
1B 0011B
≈
-13
13
14
Úplně určená kombinační logická funkce
2. KOMBINAČNÍ LOGICKÉ FUNKCE
taková funkce, jejíž definiční obor zahrnuje všechny kombinace vstupních proměnných.
Neúplně určené kombinační logická funkce její definiční obor nezahrnuje některé tyto kombinace.
Kombinační logické funkce jedné vstupní proměnné
Kombinační logická funkce pravidlo přiřazující každé kombinaci hodnot 0 a 1 vstupních proměnných z definičního oboru funkce jedinou hodnotu výstupní proměnné.
15
16
4
Určení kombinačních logických funkcí n proměnných Sestavování tabulky pro n proměnných: 1. do n řádků nad sebou vypíšeme možné hodnoty vstupních proměnných tak, aby v jednotlivých sloupcích vytvořily všechny možné kombinace hodnot těchto proměnných - např. tak, že tyto sloupce budou představovat n-bitová binární čísla odpovídající pořadí každého sloupce, počet těchto kombinací je m = 2n
Nejdůležitější kombinační logické funkce dvou proměnných
2. pod těmito řádky představujícími vstupní proměnné vytvoříme řádky odpovídající funkčním hodnotám jednotlivých funkcí tak, že do těchto řádků vypíšeme všechny možné kombinace m funkčních hodnot, těchto řádků a tedy možných funkcí je 2m 3. celkem je počet možných funkcí n proměnných 2
2n
Počet úplně určených kombinačních logických funkcí dvou proměnných je tedy 16. 17
18
Počet logických funkcí velmi rychle roste s počtem vstupních proměnných. Logické funkce 1 proměnné - stačí inverze, logické funkce 2 proměnných - logický součet a součin, logické funkce většího počtu proměnných - další složitější základní logické funkce nebo použít několika elementárních logických funkcí = soubor takových funkcí se nazývá úplný soubor logických funkcí.
Kombinační logické funkce dvou vstupních proměnných
Úplný soubor logických funkcí 1. NAND - touto jedinou funkcí můžeme vyjádřit všechny KLF libovolného počtu proměnných; 2. NOR - platí pro ni totéž co pro funkci NAND;
19
3. úplnými soubory funkcí jsou i takové soubory, jimiž lze výše uvedené funkce vyjádřit, tedy například funkce OR spolu s negací, funkce AND spolu s negací a další. 20
x1
5
Booleova algebra V Booleově algebře se používají logické reprezentace dvouhodnotových veličin - logických proměnných. Základní zákony této algebry mají podobný tvar jako mají zákony běžné algebry. a + a = a, a . a = a, a + a = 1, a . (b + c) = a . b + a . c; a + (b . c) = (a + b) . (a + c); a + ( a . b) = a + b; a . b = (a b ) ,
2.1 Způsoby zápisu a zobrazení kombinačních logických funkcí Abychom mohli s kombinačními logickými funkcemi pracovat, musíme je nejprve zapsat či zobrazit.
a . a = 0; Nejčastěji se používají tyto způsoby zápisu, popř. zobrazení kombinačních logických funkcí:
a + b = (a . b) de Morganova pravidla
Hodnota logického výrazu s operátory logického součtu a logického součinu se nezmění, jestliže vzájemně tyto operátory zaměníme (tj. operátory logického součtu nahradíme operátory logického součinu a naopak), invertujeme proměnné a výsledek. 21
2.1.1 Zápis kombinační logické funkce pravdivostní tabulkou Příklad: převodník čtyřbitového binárního kódu na kód sedmisegmentového displeje s hexadecimálním zobrazením – viz schéma a obrázek.
• • • •
zápis pomocí pravdivostní tabulky, zápis logickým výrazem, zobrazení pomocí mapy, zobrazení pomocí logického schématu.
22
Pravdivostní tabulka převodníku
Vstupní proměnné MSB (Most Significant Bit) a LSB (Least Significant Bit) označují nejvýznamnější a nejméně významný bit. B/7seg
a b
r (MSB) a
c s d
f
g
b
t e
e
c
u (LSB) f g
d
Převodník čtyřbitového binárního kódu na kód sedmisegmentového displeje. Při hodnotě 1 proměnných a až g odpovídající segmenty svítí.
23
24
6
Zvláštní typy logických výrazů: 2.1.2 Zápis kombinační logické funkce logickým výrazem Logický výraz - zápis skupiny identifikátorů logických proměnných vzájemně oddělených logickými operátory, přičemž se pro vyjádření pořadí provádění operací v případě potřeby používají závorky.
součinový term - obsahuje jen operátory logického součinu (nazývaný též implikant, konjunkce), součtový term - obsahuje jen operátory logického součtu (inhibent, disjunkce), minterm - součinový term obsahující všechny vstupní proměnné (které mohou být přítomny v přímém nebo v inverzním tvaru),
Nejpoužívanější operátory pro základní logické operace: • logický součet, součin, inverze, funkce EX-OR, • existují i další operátory pro jiné operace a s alternativními symboly operátorů pro uvedené logické funkce.
maxterm - součtový term obsahující podobně všechny vstupní proměnné, úplný term - minterm nebo maxterm. 25
Z de Morganových pravidel plyne: součtový term sestavený z určité kombinace vstupních proměnných je roven inverzi součinového termu sestaveného z týchž proměnných, které mají opačné znaky inverze, tj. proměnná obsažená v součtovém termu bez inverze je v odpovídajícím součinovém termu invertovaná a naopak. Z definice vyplývá, že logická funkce představovaná mintermem má nulovou hodnotu pro všechny kombinace vstupních proměnných s výjimkou jediné, u níž jsou vstupní proměnné uvedené v zápisu mintermu s inverzí nulové a proměnné uvedené v tomto zápisu bez inverze jsou rovny 1. Vzhledem k tomu, že při interpretaci zápisu hodnot vstupních proměnných formou binárních číslic představuje číslo vzniklé tímto způsobem hodnotu stavového indexu s, budeme značit příslušný 27 minterm symbolem ks.
26
Podobně funkce představovaná maxtermem má hodnotu rovnou jednotce pro všechny kombinace vstupních proměnných s výjimkou té, pro niž je přiřazení hodnot proměnných opačné než bylo uvedeno u mintermu. Tedy proměnná je nulová, je-li v zápisu maxtermu uvedena bez inverze, a má hodnotu 1 v opačném případě. Tento maxterm budeme značit symbolem ds. Při uvedeném označení tedy platí: Pro 3 proměnné bude:
28
7
Úzká souvislost mezi zápisem kombinační logické funkce a tabulkou
Zápis kombinační logické funkce různé způsoby a s použitím různých operátorů. Dva základní způsoby zápisu funkce: 1. Součet součinů (Sum of Products, SOP) Pro úplné termy (= mintermy) - úplný součtový tvar zápisu Pro některé neúplné termy - zkrácený (zjednodušený) součtový tvar zápisu. 2. Součin součtů (Product of Sums, POS) Pro úplné termy (= maxtermy) - úplný součinový tvar zápisu Pro některé neúplné termy - zkrácený (zjednodušený) součinový tvar zápisu. Realizace kombinační logické funkce minimální tvary zápisu 29
30
Lze snadno ukázat, že je-li počet vstupních proměnných n, je počet mintermů a maxtermů z těchto proměnných vytvořených právě N = 2n.
Zápis funkce v úplném součtovém a součinovém tvaru je jednoznačný. Minimálních tvarů však může být pro určitou funkci více.
Vyjádření kombinační logické funkce f(xn, ..., x1) v úplném tvaru součtu součinů: f(xn, ..., x1) = f0 . k0 + f1 . k1 + ... + fN-1 . kN-1
Někdy může být potřebné doplnit zkrácený tvar zápisu logické funkce na úplný tvar.
Vyjádření funkce f(xn, ..., x1) v úplném tvaru součinu součtů: f(xn, ..., x1) = (f0 + d0) . (f1 + d1) . ... . ( fN-1 + dN-1) Použijeme-li k realizaci například číslicové integrované obvody typu NAND nebo NOR, pokládáme obvykle za minimální takový zápis typu součtu součinů nebo součinu součtů, který vyžaduje co nejmenší počet potřebných vývodů použitých obvodů, což zhruba odpovídá co nejmenšímu počtu symbolů vstupních proměnných použitých v zápisu funkce. 31
Bývá to například při realizaci funkcí pomocí multiplexerů. Úpravu je možno provést tak, že se členy, které neobsahují některé proměnné, doplní činiteli typu , kde a je proměnná chybějící v členu.
Příklad
a b c b c a b c a a b c a b c a b c a b c 32
8
2.1.3 Zobrazení kombinační logické funkce pomocí mapy
Minterm a maxterm v Karnaughově mapě
Karnaughova mapa - upravený způsob zápisu pravdivostní tabulky buňky mapy = řádky tabulky stavové indexy sousedních buněk se v binární soustavě liší vždy v hodnotě jedné vstupní proměnné t
u 0 0000
1 0001
3 0011
2 0010
s 4 0100
5 0101
7 0111
6 0110
r C 1100
D 1101
8 1000
F 1111
9 1001
E 1110
B 1011
A
Karnaughova mapa pro čtyři vstupní proměnné
1010
33
34
2.2 Zjednodušování zápisu kombinačních logických funkcí
2.1.4 Zobrazení kombinační logické funkce logickými schématy s kombinačními logickými členy
Realizace logických funkcí - například pomocí digitálních integrovaných obvodů řady 74 - obvykle vycházíme z minimálního tvaru zápisu funkce, který získáme z jiných tvarů zjednodušením (minimalizací).
Zápis logické funkce pomocí logického výrazu můžeme snadno převést do grafického tvaru - vstupní a výstupní proměnné naznačíme ve formě vstupních a výstupních signálů logického schématu. Operace prováděné s proměnnými znázorníme pomocí grafických značek - logických členů. Většinou se používají značky představující jeden druh logické operace – např.: NAND NOR EX-OR AND-OR-INVERT apod. 35
Zjednodušování algebraické úpravy, Karnaughovy mapy, počítačové metody (např. Quineho a McCluskeyho - převod metody Karnaughovy mapy do algoritmického vyjádření). Minimalizace úplně určených funkcí Při zjednodušování pomocí algebraických úprav využíváme nejčastěji vztahu a a 1 Obsahuje-li logická funkce zapsaná v součtovém tvaru dva termy, které se vzájemně liší jen v jedné proměnné, je možno zbývající 36 proměnné z jejich součtu vytknout
9
Realizace logických funkcí - například pomocí digitálních integrovaných obvodů řady 74 - obvykle vycházíme z minimálního tvaru zápisu funkce, který získáme z jiných tvarů zjednodušením (minimalizací).
Dvojí výběr:
Příklad: rstu rstu rst.(u u) rst
t
u 0
1
1 4
1
1
2
0
1 5
1 7
1
t
u
3
6
1
1 4
s
1
1
3
2
1 5
7
1
6
1
s
Příklad: (displej) t
u 0
1
3
4
5
7
1
t
u 2
0
6
4
1
1
3
2
7
6
D
F
E
9
B
A
0
1
0
0
0
s C
1
D
1
F
8
C
1
9
B
1
s
E
1
y s t t u s u
Funkce se dvěma možnými minimálními součtovými tvary
5
0
y t u s u s t
r
A
1
8
1
r
0
37
38
Minimalizace neúplně určených funkcí Pravdivostní tabulka neúplně určené funkce neobsahuje všechny řádky, které má tabulka úplně určené funkce se stejným počtem proměnných. Tedy pro některé kombinace vstupních proměnných není hodnota funkce definována. Pro tyto kombinace můžeme hodnotu funkce definovat dodatečně tak, aby vyjádření funkce bylo co nejjednodušší. t
u 0
1
1
0 4
0
0 5
0
2
0
1 7
0
t
u
3
1 6
1
0 4
1
0
3
0 5
0
2
1 7
0
6
1
s C
X
D
X 8
1
F
X 9
0
B
X
s
E
C
X
X A
X
e s u t u
r
D
X 8
1
F
X 9
0
E
X B
X
A
r
X
e u s t
Minimalizace funkce e s využitím neúplnosti její definice
39
10