1. Std_logic_vector ma 2 bity logiczne, ale w sumie ma aż 9 bitów. Nadmiarowe bity nie
są brane pod uwagę w czasie syntezy, ale trzeba je uwzględniać przy pisaniu kodu w
vhdl
2. Std_match pozwala korzystać z zapisu kostkowego
3. Resorce sparing
4. Komórka logiczna może obsłużyć funkcję 4 zmiennych
5. Bloki funkcjonalne
6. Równanie multipleksera dla różnych n
7. Równanie pełnego sumatora jednobitowego
8. Przeliczanie między systemami
9. Liczby stałoprzecinkowe w kodzie U2
10. Równanie komparatora 3-bitowego (zmienna i
k
)
11. Liczniki z NKB (z przejściem do 1 jeśli wszystkie poprzednie mają 1)
12. Przerzutowanie na unsigned przed porównywaniem (>,<,==)
13. Konwersja na signed przed dodawaniem, odejmowaniem
14. Wszystkie sygnały od których zależy wyjście procesu muszą być na jego liście
czułości
15. Ścieżka topologiczna, ścieżka krytyczna, fałszywa ścieżka krytyczna
16. Różnica w działaniu latch’a i przerzutnika D
17. Buforowanie wyjścia + synchronizacja zegarem pozwala usunąć szpilki
18. „&” – operator konkatenacji w vhdl
19. Różnica pomiędzy automatami Moore’a i Mealy’ego (opóźnienia, synchronizacja z
clk i reakcja natychmiastowa)
20. Kodowanie (jakie jest najlepsze): hot-one (statystycznie całkiem niezłe), lub
minimalne, lub własne (ale trzeba dobrze wiedzieć jak to zrobić)
21. Przy jednosegmentowym opisie nie ma wyjść Mealy’ego. Wszystko traktowane jest
jako rejestry
22. Do wygenerowania przebiegów „0011110010100” wedle życzenia najlepiej użyć
automatów FSM
23. Projektowanie automatów do odczytu z szyny (np.USB)
24. Signal xxx_next zapowiada, że będzie buforowanie (rejestry), żeby uniknąć szpilek.
Trzeba te sygnały wyliczyć wcześniej
25. Zamiana ASM na FSM
26. Jak uniknąć „latch’y” – Pamiętać o przypisaniu domyślnych wartości wyjściom w
automacie na początku. Bez tego, jeśli się o którymś sygnale zapomni w którejś z
gałęzi to mamy właśnie zatrzask.
27. Napisać w vhdl coś hierarchicznego (sterownik klawiatury – opis vhdl) (tylko
std_logic i std_logic_vector)