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

Podobne dokumenty