Pobierz spis treści
Transkrypt
Pobierz spis treści
Spis treści Wstęp Pojęcia podstawowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zastosowania programowalnych układów logicznych . . . . . . . . . . . Organizacja podręcznika . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 4 1. Programowalne układy logiczne 1.1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . 1.2. Proces projektowania . . . . . . . . . . . . . . . . . . 1.2.1. Realizacja funkcji logicznej z wykorzystaniem układów scalonych TTL . . . . . . . . . . . . 1.2.2. Realizacja funkcji logicznej z wykorzystaniem programowalnego układu logicznego . . . . . 1.3. Technologie programowania . . . . . . . . . . . . . . 1.4. Rodzaje programowalnych układów logicznych . . . 1.4.1. Układy SPLD . . . . . . . . . . . . . . . . . . 1.4.2. Układy CPLD . . . . . . . . . . . . . . . . . . 7 7 8 . . . . . . . . . . . . . . cyfrowych . . . . . . . 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 12 14 14 17 2. Układy programowalne FPGA 2.1. Budowa układów FPGA . . . . . . . . . . . . . . . . . 2.1.1. Konfigurowalne bloki logiczne . . . . . . . . . . 2.1.2. Bloki wejść/wyjść . . . . . . . . . . . . . . . . . 2.1.3. Globalne linie zegarowe . . . . . . . . . . . . . 2.1.4. Generatory wewnętrznych sygnałów zegarowych 2.1.5. Bloki mnożące . . . . . . . . . . . . . . . . . . . 2.1.6. Pamięć Block RAM . . . . . . . . . . . . . . . . 2.1.7. Interfejs JTAG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 21 22 25 32 34 38 39 41 3. Płyty prototypowe 3.1. Płyta XC2-XL . . . . . . . . . . . . . . 3.1.1. Układ programowalny XC9572XL 3.1.2. Układ programowalny XC2C256 3.2. Płyta Spartan-3 Starter Kit Board . . . 3.3. Programator Platform Cable USB II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 43 45 46 46 50 iii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv Spis treści 4. Projektowanie układów kombinacyjnych 4.1. Sterownik czterech diod LED . . . . . . . . . . . . . . . . 4.1.1. Zasady przygotowania programów w języku VHDL 4.1.2. Oprogramowanie Xilinx ISE Design Suite . . . . . 4.1.3. Opis projektowanego układu . . . . . . . . . . . . . 4.1.4. Kod źródłowy . . . . . . . . . . . . . . . . . . . . . 4.1.5. Czynności projektowe . . . . . . . . . . . . . . . . 4.2. Sterownik sześciu diod LED – opis behawioralny . . . . . 4.2.1. Sposoby opisu architektury w języku VHDL . . . . 4.2.2. Opis projektowanego układu . . . . . . . . . . . . . 4.2.3. Kod źródłowy . . . . . . . . . . . . . . . . . . . . . 4.2.4. Czynności projektowe . . . . . . . . . . . . . . . . 4.3. Sterownik diody LED – opis strukturalny . . . . . . . . . 4.3.1. Opis projektowanego układu . . . . . . . . . . . . . 4.3.2. Kod źródłowy . . . . . . . . . . . . . . . . . . . . . 4.3.3. Czynności projektowe . . . . . . . . . . . . . . . . 4.4. Dekoder siedmiosegmentowy . . . . . . . . . . . . . . . . . 4.4.1. Typy danych języka VHDL . . . . . . . . . . . . . 4.4.2. Opis projektowanego układu . . . . . . . . . . . . . 4.4.3. Kod źródłowy . . . . . . . . . . . . . . . . . . . . . 4.4.4. Czynności projektowe . . . . . . . . . . . . . . . . 4.5. Sumator, komparator . . . . . . . . . . . . . . . . . . . . . 4.5.1. Sumatory i komparatory . . . . . . . . . . . . . . . 4.5.2. Czynności projektowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 51 51 52 63 63 68 69 69 70 70 73 74 75 75 79 80 80 83 83 86 89 89 92 5. Projektowanie układów sekwencyjnych 5.1. Linijka diodowa . . . . . . . . . . . . . . . . . . . . 5.1.1. Układy synchroniczne . . . . . . . . . . . . 5.1.2. Wyrażenia współbieżne i sekwencyjne . . . 5.1.3. Opis projektowanych układów . . . . . . . . 5.1.4. Kod źródłowy . . . . . . . . . . . . . . . . . 5.1.5. Czynności projektowe . . . . . . . . . . . . 5.2. Obsługa przycisków . . . . . . . . . . . . . . . . . . 5.2.1. Układy obsługi wyłączników mechanicznych 5.2.2. Kod źródłowy . . . . . . . . . . . . . . . . . 5.2.3. Czynności projektowe . . . . . . . . . . . . 5.3. Automaty stanów . . . . . . . . . . . . . . . . . . . 5.3.1. Pojęcia podstawowe . . . . . . . . . . . . . 5.3.2. Kod źródłowy . . . . . . . . . . . . . . . . . 5.3.3. Czynności projektowe . . . . . . . . . . . . 5.4. Układ obsługi pamięci RAM . . . . . . . . . . . . . 5.4.1. Układy pamięci RAM . . . . . . . . . . . . 5.4.2. Kod źródłowy . . . . . . . . . . . . . . . . . 5.4.3. Czynności projektowe . . . . . . . . . . . . 5.5. Sterownik procesu przemysłowego . . . . . . . . . . 5.5.1. Automat do wiercenia otworów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 95 95 96 99 100 106 108 108 109 121 122 122 124 132 132 132 133 144 144 144 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Spis treści v 5.5.2. Kod źródłowy . . . . . . . . . . . . . . . . . . . . . . . . . 145 5.5.3. Przykłady do samodzielnego wykonania . . . . . . . . . . 151 5.5.4. Czynności projektowe . . . . . . . . . . . . . . . . . . . . 153 6. Projektowanie mikroprocesorów 6.1. Mikroprocesor ośmiobitowy . . . . . . 6.1.1. Projektowanie mikroprocesorów 6.1.2. Kod źródłowy . . . . . . . . . . 6.1.3. Czynności projektowe . . . . . . . . . . . . . . . w języku VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 155 155 159 177 7. Projektowanie regulatorów cyfrowych 7.1. Środowisko ISE Design Suite – programy wsadowe . . . . . . . . 7.1.1. Programy wsadowe środowiska ISE Design Suite . . . . . 7.1.2. Kod źródłowy . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.3. Czynności projektowe . . . . . . . . . . . . . . . . . . . . 7.2. Mnożenie liczb w układzie Spartan-3 . . . . . . . . . . . . . . . . 7.2.1. Mnożenie liczb stałoprzecinkowych w układzie Spartan-3 . 7.2.2. Kod źródłowy . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.3. Czynności projektowe . . . . . . . . . . . . . . . . . . . . 7.3. Regulator cyfrowy PID . . . . . . . . . . . . . . . . . . . . . . . . 7.3.1. Przebieg procesu projektowania regulatorów w układach FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.2. Projektowanie regulatora PID w układzie FPGA . . . . . 7.3.3. Kod źródłowy . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.4. Przykłady do samodzielnego wykonania . . . . . . . . . . 7.3.5. Czynności projektowe . . . . . . . . . . . . . . . . . . . . 179 179 179 181 196 199 199 200 208 209 8. Projektowanie układów cyfrowego przetwarzania 8.1. Układ obliczający szybkie przekształcenie Fouriera 8.1.1. Przekształcenie Fouriera . . . . . . . . . . . 8.1.2. Kod źródłowy . . . . . . . . . . . . . . . . . 8.1.3. Czynności projektowe . . . . . . . . . . . . 247 247 247 254 285 sygnałów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 212 214 242 245 Bibliografia 287 A. Połączenia sygnałowe płyt prototypowych 299