Pytania do
kolokwium z Inżynierii Układów Programowalnych:
1. Wymień trzy kategorie układów programowalnych (podział pod względem złożoności architektury) i scharakteryzuj krótko każdą z nich.
2. Jakiej kategorii układów programowalnych dotyczy podział na „coarse grade”, „medium grade” i „fine grade”. Scharakteryzuj krótko cechy wyżej wymienionych rodzajów układów.
3. Jaki rodzaj pamięci konfiguracji dominuje w układach CPLD, a jaki w FPGA.
4. Wymień rodzaje pamięci konfiguracji – podaj ich wady i zalety.
5. W układzie Spartan3E w jednej komórce LUT można zrealizować pewne funkcje logiki. Podaj ile maksymalnie zmiennych wejściowych może mieć dowolna funkcja logiczna zrealizowana w jednej komórce LUT, ile i jakich niezależnych dowolnych funkcji można zrealizować za pomocą jednego Slice oraz ile maksymalnie wejść mogą mieć pewne funkcje logiczne wykonane w oparciu o jeden Slice.
6. Wymień statyczne parametry końcówki I/O układu Spartan3E które można konfigurować i podaj znaczenie tych parametrów w realizacjach układowych.
7. Wymień dynamiczne parametry końcówki I/O układu Spartan3E które można konfigurować i podaj znaczenie tych parametrów w realizacjach układowych.
8. Wymień tryby konfiguracji układu Spartan3E.
9. Narysuj schemat układu „week-keeper” i podaj jego zastosowanie. Gdzie występuje ten układ w układzie Spartan3E.
10. Wyjaśnij pojęcie „local routing”.
11. Wyjaśnij pojęcie „general purpose routing”.
12. Wyjaśnij pojęcie „global routing”.
13. Wyjaśnij pojęcie „dedicated routing”.
14. Wyjaśnij pojęcie „clock skew” oraz podaj sposoby jego zmniejszania lub kompensacji.
15. Wyjaśnij pojęcie Delay Locked Loop, narysuj schemat takiej pętli i podaj zastosowania.
16. Jakie sygnały generuje układ DCM w układzie Spartan3E. Jakie są wymagania odnośnie parametrów sygnału zegarowego.
17. Wymień i scharakteryzuj tryby zapisu pamięci Block-RAM w układach Spartan3E.
18. Wymień możliwe zastosowania pamięci Block-RAM w układach Spartan3E.
19. Wymień właściwości 2-portowych pamięci Block-RAM w układach Spartan3E.
20. Wymień funkcje które może w komórce CLB układu Spartan3E spełniać blok LUT.
21.
Który z rodzajów funkcji logicznych najtrudniej jest
zrealizować z wykorzystaniem klasycznego układu SPLD i dlaczego:
f1(a,b,c,d,e,f,g,h) = a and b and c and d and e and f and g and h
f2(a,b,c,d,e,f,g,h) = a or b or c or d or e or f or g or h
f3(a,b,c,d,e,f,g,h) = a xor b xor c xor d xor e xor f xor g xor h
22. Wymień podstawowe cechy układów PLA i PAL.
23. Wymień i krótko scharakteryzuj poziomy abstrakcji stosowane w opisie sprzętu.
24. Wymień metody opisu układów cyfrowych.
25. Co to jest podzbiór syntezowalny języka VHDL, podaj przykład instrukcji niesyntezowalnej.
26. Co to jest funkcja rezolucji.
27. Podaj sposoby unikania stanów zabronionych w maszynach stanów.
28. Co to jest metastabilność przerzutników.
29. Wymień i krótko scharakteryzuj trzy sposoby syntezy z wykorzystaniem bloków funkcjonalnych w układach FPGA.
30.
Podaj właściwości zmiennych w procesach.
31.
Podaj właściwości zmiennych w funkcjach.
32.
Wymień zasadnicze różnice pomiędzy zmiennymi a sygnałami.
33.
Omów sposoby parametryzacji modułów projektowych.
34.
Co to jest „unconstrained vector”, podaj zastosowania.
35.
Jaka musi być liczba iteracji syntezowalnej pętli ?
36.
Do czego służy instrukcja „generate” ?
37.
Napisz proces synchroniczny w języku VHDL realizujący
syntezowalny mnożnik n-bitowy (na liczbach binarnych bez znaku). Proszę
operować na sygnałach typu std_logic i std_logic_vector. Proces powinien
rozpoczynać proces mnożenia z chwilą wystąpienia sygnału mul_start. W trakcie
trwania mnożenia proces wystawia sygnał mul_busy. Mnożna i mnożnik podane na
sygnały: mul_in_1 oraz mul_in_2, a wynik powinien być podany na rejestr
mul_result (2n bitowy). Podać definicje używanych sygnałów.
mnożnik: process (clk, rst)
.....
end process;
38.
Napisz proces synchroniczny w języku VHDL realizujący
syntezowalny n-bitowy licznik Johnsona. Proszę operować na sygnałach typu
std_logic i std_logic_vector. Podać definicje używanych sygnałów. Zabezpieczyć
licznik przed blokadą w stanie (lub stanach) zabronionych.
johnson: process (clk, rst)
.....
end process;
39.
Napisz proces synchroniczny w języku VHDL realizujący
syntezowalną maszynę stanów sterującą pracą wycieraczek samochodowych. Maszyna
dysponuje sygnałami wejściowymi: wipe_on (oznacza włączenie wycieraczek), home_pos (pozycja spoczynkowa
wycieraczek), end_pos (pozycja końcowa
wycieraczek). Maszyna stanów generuje sygnały wyjściowe: motor_on (włącza silnik wycieraczek), motor_rev (przełącza kierunek obrotów na
wsteczny). Można pominąć filtrujące
przerzutniki D. Podać definicje
używanych sygnałów.
wiper: process (clk, rst)
.....
end process;
40.
Napisz proces synchroniczny w języku VHDL realizujący
syntezowalny generator sygnału PWM. Proszę operować na sygnałach typu std_logic
i std_logic_vector. Podać definicje używanych sygnałów. Wejściowym sygnałem
jest n-bitowy wektor definiujący współczynnik wypełnienia. Wyjściowym sygnałem
jest jednobitowy sygnał PWM. Zabezpieczyć generator przed stanami przejściowymi
mogącymi wystąpić w momencie zmiany wejściowego wektora programującego
wypełnienie.
pwm: process (clk, rst)
.....
end process;