Książka szczegółowo opisuje metody i techniki projektowania szeroko pojętych układów cyfrowych poprzedzono analizą zadań projektowych.
Pokazano jak konstruować elementy o większej złożoności z elementów prostszych, nie pomijając żadnego z etapów pośrednich. Dzięki temu poza umiejętnością projektowania układów cyfrowych czytelnik zyska głębokie zrozumienie podstaw ich funkcjonowania.
Podręcznik przeznaczony dla studentów elektroniki, informatyki, mechatroniki, automatyki i robotyki oraz wydziału elektrycznego politechnik.
Rozdziały: Wykaz oznaczeń 13
1. Wstęp 15 1.1. Układy cyfrowe 15 1.2. Krótki esej o projektowaniu 15
2. Układy kombinacyjne 18 2.1. Podstawy projektowania układów kombinacyjnych 18 2.1.1. O pis słowny problemu 18 2.1.2. Formalizacja opisu działania układu sterującego 22 2.1.3. Podstawowe bramki 26 2.1.4. Tworzenie schematu układu 27 2.1.5. Algebraiczna minimalizacja wyrażeń logicznych 29 2.1.6. Ocena kosztu układu 30 2.1.7. Redukcja liczby typów stosowanych bramek 31 2.1.8. Bramki NAND i NO R 32 2.1.9. Systemy funkcjonalnie pełne 34 2.1.10. Specyfikacja funkcji logicznych 35 2.1.11. Podstawy mnemotechnicznych sposobów minimalizacji funkcji logicznych 38 2.1.12. Kod Graya 39 2.1.13. Tablice Karnaugha 40 2.1.14. Minimalizacja funkcji logicznych za pomocą tablic Karnaugha 42 2.1.15. Wartości nieokreślone 47 2.1.16. Alternatywna Postać Normalna 49 2.1.17. Faktoryzacja 51 2.1.18.Metoda zakazu 53 2.1.19. Łączne zastosowanie metody zakazu i faktoryzacji 56 2.1.20. Koniunkcyjna Postać Normalna 58 2.1.21.Metoda Quine’a iMcCluskeya 64 2.1.22. Hazard statyczny 70 2.1.23. Hazard dynamiczny 75 2.1.24. Bramki XO R 77 2.2. Złożone układy kombinacyjne 78 2.2.1. Układy iteracyjne z jednokierunkowym przepływem informacji między blokami 78 2.2.2. Układy iteracyjne z dwukierunkowym przepływem informacji między blokami 82 2.2.3. Układy kaskadowe 88 2.2.4. Układy kombinacyjne z zastosowaniem multiplekserów 88 2.2.5. Układy kombinacyjne z zastosowaniem dekoderów 103 2.2.6. Demultipleksery 107 2.2.7. Pamięć stała 108 2.2.8. Układy na zamówienie—ASIC 110 Zadania projektowe 119
3. Układy synchroniczne 120 3.1. Wprowadzenie 120 3.1.1. Sformułowanie problemu 120 3.1.2. Stan układu 122 3.1.3. Grafy 123 3.1.4. Tablica przejść i wyjść 126 3.1.5. Kodowanie 127 3.1.6. Przerzutnik typu D 129 3.1.7. Tablice wzbudzeń przerzutników 130 3.1.8. Realizacja układu synchronicznego 132 3.2. Podstawy teoretyczne 135 3.2.1. Struktury automatów synchronicznych 135 3.2.2. Automat 136 3.2.3. Równoważność stanów automatów zupełnych 139 3.2.4. Zgodność stanów automatów niezupełnych 151 3.2.5. Formalizacja algorytmów minimalizacji automatów 158 3.2.6. Realizacja automatu minimalnego z zastosowaniem przerzutników typu D 160 3.2.7. Przerzutnik typu JK 163 3.2.8. Realizacja automatu synchronicznego za pomocą przerzutników typu JK 165 3.2.9. Częściowa równoważność automatów Moore’a i Mealy’ego 167 3.2.10. Układy bezwejściowe 171 Zadania projektowe 173
4. Układy asynchroniczne 175 4.1. Wprowadzenie 175 4.1.1. Sformułowanie problemu 175 4.1.2. Graf stanu oraz tablica przejść i wyjść układu 177 4.1.3. Zakodowana tablica przejść i wyjść układu 179 4.1.4. Realizacja układu 179 4.2. Podstawowe definicje 180 4.2.1. AutomatyMoore’a iMealy’ego 180 4.2.2. Stany stabilne i niestabilne 181 4.2.3. Założenia projektowe 182 4.3. Podstawy projektowania układów asynchronicznych 183 4.3.1. Wykresy czasowe 184 4.3.2. Przyporządkowanie stanów 184 4.3.3. Pierwotna tablica przejść i wyjść 185 4.3.4. Uzupełnianie brakującej informacji 187 4.3.5. Minimalizacja liczby stanów 189 4.3.6. Nieprawidłowe kodowanie 191 4.3.7. Wyścigi 192 4.3.8. Przejścia cykliczne 195 4.3.9. Zastosowanie hipersześcianów do kodowania stanów 196 4.3.10. Zakodowana tablica przejść i wyjść oraz realizacja automatu 199 4.4. Alternatywna metoda minimalizacji układów asynchronicznych 201 4.4.1. Faza pierwsza — poszukiwanie zbiorów stanów pseudorównoważnych 203 4.4.2. Faza druga — poszukiwanie zbiorów stanów pseudozgodnych 204 4.4.3. Przykład zastosowania alternatywnej procedury minimalizacji automatów asynchronicznych 4.5. Wybrane problemy projektowania układów asynchronicznych 209 4.5.1. Przyporządkowanie stanów odcinkom wykresów czasowych 209 4.5.2. Metoda uzyskania funkcji przejść i wyjść układu 213 4.5.3. Statyczny przerzutnik typu RS 216 4.5.4. Wykorzystanie statycznych przerzutników typu RS do projektowania automatów asynchronicznych 4.5.5. Asynchroniczne automaty Mealy’ego 221 4.6. Metoda projektowania automatów asynchronicznych z zastosowaniem grafu stanu 227 4.6.1. Sformułowanie problemu 227 4.6.2. Tworzenie grafu stanu 229 4.6.3. Minimalizacja automatu i kodowanie jego stanów 233 4.6.4. Realizacja automatu 235 Zadania projektowe 237
5. Reprezentacja liczb 239 5.1. Rys historyczny 239 5.2. Pozycyjna reprezentacja liczb naturalnych 243 5.3. Pozycyjna reprezentacja dodatnich liczb wymiernych 245 5.4. Zamiana podstawy liczby 246 5.5. Dodawanie liczb 249 5.6. Mnożenie liczb 250 5.7. Mnożenie liczb przez ich podstawę 252 5.8. Dzielenie liczb przez ich podstawę 253 5.9. Reprezentacja liczb ujemnych 254 5.9.1. Reprezentacja znak–moduł liczb ujemnych 254 5.9.2. Przepełnienie w reprezentacji stałopozycyjnej 257 5.9.3. Reprezentacja uzupełnieniowa do podstawy pomniejszonej o jeden 258 5.9.4. Reprezentacja uzupełnieniowa do podstawy 265 Zadania 273
6. Bloki funkcjonalne 274 6.1. Wewnętrzna struktura bloków funkcjonalnych 274 6.1.1. Sformułowanie problemu 274 6.1.2. Fazy projektu 276 6.1.3. Projekt części synchronicznej 277 6.1.4. Projekt części asynchronicznej (statycznej) 280 6.1.5. Projekt części kombinacyjnej 283 6.1.6. Schemat bloku funkcjonalnego 283 6.2. Typy wejść bloków funkcjonalnych 283 6.2.1. Operacje synchroniczne 286 6.2.2. Operacje asynchroniczne statyczne 287 6.2.3. Operacje asynchroniczne dynamiczne 287 6.3. Ogólny przegląd rodzajów bloków funkcjonalnych 289 6.3.1. Kombinacyjne bloki funkcjonalne 289 6.3.2. Sekwencyjne bloki funkcjonalne 295 Zadania projektowe 301
7. Cyfrowe systemy sterowania oraz przetwarzania danych 302 7.1. Wprowadzenie i sformułowanie problemu 302 7.2. System i jego otoczenie 303 7.3. Algorytm 304 7.3.1. Algorytm komunikacji systemu projektowanego z systemem zewnętrznym 306 7.3.2. Algorytm mnożenia 308 7.4. Układ operacyjny 310 7.5. Ulepszony algorytm mnożenia i wynikający z niego układ operacyjny 314 7.6. Struktura systemu cyfrowego 320 7.7. Sygnały sterujące układem operacyjnym 322 7.8. Sposoby transformacji sieci działań w graf stanu 324 7.9. Automat sterujący Moore’a 325 7.9.1. Transformacja sieci działań w graf stanu 325 7.9.2. Realizacja minimalnego automatu sterującego 328 7.9.3. Problemy z automatem Moore’a 330 7.10. Automat sterujący Mealy’ego 336 7.10.1. Transformacja sieci działań w graf stanu 336 7.10.2. Realizacja minimalnego automatu sterującego 339 7.10.3. Problemy z automatem Mealy’ego 343 7.11. Realizacja układu sterującego za pomocą rozdzielacza sterującego 349 7.11.1. Przekształcenie sieci działań w rozdzielacz sterujący 350 7.11.2. Rozdzielacz sterujący Moore’a 352 7.11.3. Rozdzielacz sterujący Mealy’ego 355 7.12. Inicjacja pracy układu sterującego 357 7.13. Mikroprogramowane układy sterujące 360 7.13.1. Mikroprogramowany automat sterujący Moore’a 361 7.13.2. Mikroprogramowany automat sterujący Mealy’ego 369 7.13.3. Maszyny mikroprogramowane 377 7.14. Szkic jeszcze jednego projektu 379 7.14.1. Sformułowanie problemu 379 7.14.2. Układ operacyjny oraz sieć działań 382 7.14.3. Selektor priorytetowy 386 7.14.4. Analiza przepustowości generatora impulsów 387 Zadania projektowe 388
8. Cyfrowe systemy współbieżne 392 8.1. Sformułowanie problemu 392 8.2. Sieci Petriego 395 8.2.1. Definicja sieci Petriego 395 8.2.2. Znakowana sieć Petriego 396 8.2.3. Sposób działania znakowanej sieci Petriego 397 8.2.4. Jeszcze kilka przydatnych terminów 398 8.2.5. Przykład wykorzystania znakowanej sieci Petriego 399 8.2.6. Drzewo osiągalności 402 8.2.7. Rozszerzona sieć Petriego 403 8.3. Sterownik systemu współbieżnego 404 8.3.1. Stworzenie sieci Petriego 404 8.3.2. Analiza sieci Petriego 410 8.3.3. Graf przejść automatu sterującego 412 8.3.4. Automat sterujący 414 8.3.5. Rozbudowa przedsiębiorstwa 418 Zadanie projektowe 421
9. Quo vadis? 422 Dodatek A. Algebry Boole’a 427 Dodatek B. Automaty a języki 429 Zadania projektowe 435 Dodatek C. Krótki rys historyczny
Podstawy projektowania układów cyfrowych
|