| Obsah knihy: |
| |
| 1 | Úvod | 11 |
| |
| 2 | Signály v číslicových systémech | 13 |
| 2.1 | Dvojstavové signály | 14 |
| 2.2 | Třístavové signály | 16 |
| 2.3 | Dynamické parametry číslicových signálů | 16 |
| |
| 3 | Jazyk VHDL | 19 |
| 3.1 | Historie, současnost, budoucnost a vlastnosti jazyka VHDL | 20 |
| 3.2 | Použité formátování pro výpisy kódu a syntaxi jazyka VHDL | 23 |
| 3.3 | Komentáře a identifikátory | 24 |
| 3.4 | Zápis čísel, znaků a řetězců | 25 |
| 3.4.1 | Zápis čísel v dekadické soustavě | 25 |
| 3.4.2 | Zápis čísel v dalších soustavách | 25 |
| 3.4.3 | Zápis znaku | 26 |
| 3.4.4 | Zápis textových řetězců | 26 |
| 3.4.5 | Zápis bitových řetězců | 26 |
| 3.5 | Entita, architektura a další návrhové jednotky | 27 |
| 3.6 | Základní datové typy | 30 |
| 3.6.1 | Výčtový typ | 31 |
| 3.6.2 | Celočíselný typ | 32 |
| 3.6.3 | Fyzický typ | 33 |
| 3.6.4 | Typ s plovoucí řádovou čárkou | 34 |
| 3.6.5 | Typ pole | 35 |
| 3.6.6 | Typ záznam | 35 |
| 3.6.7 | Typ soubor | 36 |
| 3.7 | Operátory | 37 |
| 3.7.1 | Logické operátory | 37 |
| 3.7.2 | Relační operátory | 38 |
| 3.7.3 | Operátory posuvu | 38 |
| 3.7.4 | Sčítací operátory a operátor spojení | 39 |
| 3.7.5 | Znaménkové operátory | 40 |
| 3.7.6 | Násobící operátory | 40 |
| 3.7.7 | Různé operátory | 40 |
| 3.8 | Základní objekty | 41 |
| 3.8.1 | Konstanty | 41 |
| 3.8.2 | Signály | 41 |
| 3.8.3 | Proměnné | 42 |
| 3.8.4 | Aliasy | 42 |
| 3.8.5 | Soubory | 43 |
| 3.9 | Paralelní příkazy | 43 |
| 3.9.1 | Nepodmíněné přiřazení | 44 |
| 3.9.2 | Podmíněné přiřazení | 45 |
| 3.9.3 | Výběrové přiřazení | 46 |
| 3.9.4 | Proces | 47 |
| 3.9.5 | Generující příkaz | 48 |
| 3.9.6 | Použití komponenty | 49 |
| 3.9.7 | Volání procedury | 51 |
| 3.9.8 | Příkaz bloku | 51 |
| 3.9.9 | Příkaz assert | 51 |
| 3.10 | Sekvenční příkazy | 51 |
| 3.10.1 | Sekvenční přiřazení do proměnné | 52 |
| 3.10.2 | Sekvenční přiřazení do signálu | 52 |
| 3.10.3 | Příkaz wait | 53 |
| 3.10.4 | Příkaz if | 54 |
| 3.10.5 | Příkaz case | 54 |
| 3.10.6 | Příkaz loop | 55 |
| 3.10.7 | Příkaz next | 57 |
| 3.10.8 | Příkaz exit | 57 |
| 3.10.9 | Příkaz return | 57 |
| 3.10.10 | Příkaz null | 57 |
| 3.10.11 | Příkaz assert | 57 |
| 3.10.12 | Příkaz report | 58 |
| 3.10.13 | Procedury | 59 |
| 3.10.14 | Funkce | 59 |
| 3.11 | Atributy | 60 |
| 3.11.1 | Atributy typů | 60 |
| 3.11.2 | Atributy polí | 63 |
| 3.11.3 | Atributy signálů | 64 |
| 3.11.4 | Atributy pojmenovaných objektů | 66 |
| 3.11.5 | Uživatelem definované atributy | 67 |
| 3.12 | Knihovny a knihovní balíky | 67 |
| 3.12.1 | Knihovní balík std_logic_1164 | 69 |
| 3.12.2 | Knihovní balík numeric_std | 71 |
| 3.12.3 | Knihovna LPM | 72 |
| 3.12.4 | Uživatelské knihovny a knihovní balíky | 75 |
| 3.13 | Testovací prostředí pro ověřování funkčnosti navrženého systému | 77 |
| 3.14 | Seznam klíčových slov jazyka VHDL | 80 |
| |
| 4 | Číslicové součástky a technologie | 81 |
| 4.1 | Vlastnosti číslicových součástek | 82 |
| 4.2 | Značení logických členů | 85 |
| 4.3 | Bipolární technologie | 85 |
| 4.4 | Unipolární technologie - CMOS | 89 |
| 4.5 | Technologie BiCMOS | 92 |
| 4.6 | Nevyužité vstupy číslicových součástek | 93 |
| |
| 5 | Třístavové výstupy a otevřené kolektory | 95 |
| 5.1 | Obvody s třístavovými výstupy | 96 |
| 5.2 | Terminátory sběrnice | 98 |
| 5.3 | Výstupy s otevřenými kolektory | 100 |
| |
| 6 | Kombinační obvody | 103 |
| 6.1 | Základní pravidla Booleovy algebry | 104 |
| 6.2 | Hlavní pravidla pro tvorbu a úpravy logických výrazů | 105 |
| 6.3 | Pravdivostní tabulka | 106 |
| 6.4 | Neurčené stavy | 108 |
| 6.5 | Minimalizace logické funkce | 109 |
| 6.6 | Skupinová minimalizace | 111 |
| 6.7 | Mapy a jejich použití | 112 |
| 6.8 | Návrh kombinačních obvodů | 116 |
| 6.9 | Využití multiplexorů | 120 |
| 6.10 | Využití členů EX-OR | 123 |
| 6.11 | Realizace kombinačních obvodů pamětí | 125 |
| |
| 7 | Přechodné děje v kombinačních obvodech | 127 |
| 7.1 | Zpoždění signálů ze vstupů na výstupy | 128 |
| 7.2 | Hazardní stavy v kombinačních obvodech | 130 |
| 7.3 | Hledání hazardu pomocí map | 132 |
| 7.4 | Hledání hazardu z výrazu | 134 |
| 7.5 | Hazard při změně více než jedné proměnné | 135 |
| 7.6 | Potlačení falešného impulzu filtrem | 135 |
| 7.7 | Potlačení falešného impulzu registrem | 136 |
| 7.8 | Vliv úprav výrazu a obvodu na hazardy | 136 |
| 7.9 | Dynamický hazard | 137 |
| |
| 8 | Základní funkční bloky | 139 |
| 8.1 | Dekodér | 140 |
| 8.2 | Multiplexor | 143 |
| 8.3 | Demultiplexor | 146 |
| 8.4 | Prioritní kodér | 148 |
| 8.5 | Číslicový komparátor | 150 |
| 8.6 | Sčítačka | 152 |
| 8.7 | Odčítačka | 154 |
| 8.8 | Převodník kódu | 156 |
| 8.9 | Asynchronní klopné obvody | 158 |
| 8.10 | Synchronní klopné obvody | 163 |
| 8.11 | Transformace klopných obvodů | 173 |
| 8.12 | Blokování klopných obvodů | 174 |
| |
| 9 | Registry a čítače | 177 |
| 9.1 | Datové registry | 178 |
| 9.2 | Posuvné registry | 180 |
| 9.3 | Posuvné registry se zpětnou vazbou | 184 |
| 9.4 | Charakteristika čítačů | 188 |
| 9.5 | Asynchronní čítače | 190 |
| 9.6 | Synchronní čítače | 191 |
| 9.7 | Nulování a přednastavení čítače | 195 |
| 9.8 | Přenosy z čítače | 197 |
| 9.9 | Čítače „modulo M" | 199 |
| |
| 10 | Sekvenční obvody | 203 |
| 10.1 | Přechodová a výstupní funkce | 204 |
| 10.2 | Popis pomocí grafu | 205 |
| 10.3 | Popis pomocí soustavy rovnic | 207 |
| 10.4 | Popis pomocí tabulek | 208 |
| 10.5 | Popis v některém programovacím jazyku | 208 |
| 10.6 | Obvodová realizace konečného automatu | 213 |
| 10.7 | Kódování stavů | 215 |
| 10.8 | Volba klopných obvodů | 217 |
| 10.9 | Návrh budicích funkcí | 217 |
| 10.10 | Časování signálů v synchronním sekvenčním obvodu | 219 |
| 10.11 | Nastavení počátečního stavu | 223 |
| |
| 11 | Tvarovací a časovači obvody | 225 |
| 11.1 | Asynchronní časovači obvody | 226 |
| 11.2 | Synchronní časovači obvody | 230 |
| 11.3 | Impulzní šířkový modulátor | 234 |
| |
| 12 | Paměti | 237 |
| 12.1 | Rozdělení pamětí | 238 |
| 12.2 | Důležité parametry pamětí | 238 |
| 12.3 | Paměti paralelní a sériové | 239 |
| 12.4 | Vnitřní uspořádání paměti s adresovým výběrem | 240 |
| 12.5 | Statické paměti RAM | 243 |
| 12.6 | Dynamické paměti RAM | 245 |
| 12.7 | Synchronní dynamické paměti RAM | 250 |
| 12.8 | Synchronní dynamické paměti DDR | 254 |
| 12.9 | Permanentní paměti | 255 |
| 12.10 | Dvojbránová paměť | 261 |
| 12.11 | Paměť fronty | 266 |
| |
| 13 | Programovatelné logické obvody | 271 |
| 13.1 | Historie programovatelných logických obvodů | 272 |
| 13.2 | Jednoduché programovatelné logické obvody (SPLD) | 277 |
| 13.3 | Komplexní programovatelné logické obvody (CPLD) | 279 |
| 13.4 | Programovatelná logická pole (FPGA) | 283 |
| 13.5 | Základní dynamické parametry PLD | 288 |
| |
| 14 | Mikroprogprogramový automat | 289 |
| 14.1 | Základní obvody mikroprogramového automatu | 290 |
| 14.2 | Obvody pro modifikaci adres | 292 |
| 14.3 | Obvody pro vyhodnocení podmínek přechodu | 296 |
| 14.4 | Nastavení počáteční adresy | 298 |
| 14.5 | Časování signálů mikroprogramového automatu | 299 |
| 14.6 | Dynamické výstupy | 301 |
| 14.7 | Pomocné obvody | 301 |
| 14.8 | Použití mikroprogramového automatu | 303 |
| |
| 15 | Návrh rozsáhlých systémů | 305 |
| 15.1 | Synchronizace vnitřních obvodů systému | 307 |
| 15.2 | Časování vstupních signálů | 309 |
| 15.3 | Korespondenční provoz | 310 |
| 15.4 | Zřetězené zpracování | 312 |
| 15.5 | Systémy RTL | 314 |
| 15.6 | Návrh číslicového obvodu při použití RTL popisu | 320 |
| |
| Literatura | 323 |
| Seznam zkratek a anglických termínů | 327 |
| Příloha: zjednodušená syntaxe jazyka VHDL | 331 |
| Rejstřík | 341 |