Układy kombunacyjne i arytmetyczne
Projekty z użyciem bramek NOR, OR, AND, NAND, XOR, INV (zamiast negacji na wejściu można stosować bramki np. NOR2B1)

Nie wolno posługiwać się żadnymi pomocami naukowymi (jedynie opisem skryptu), nie wolno rozmawiać pomiędzy osobami w różnych zespołach, dozwolone jest tylko posiadanie kartki i długopisu (kartka z projektem należy pokazać prowadzącemu), w razie jakichkolwiek wątpliwości należy zwracać się do prowadzącego (a nie do kolegi). Aby pozytywnie zaliczyć projekt na podaną ocenę należy pokazać projekt *.sch oraz go odpowiednio zasymulować. Student może wybrać ocenę (a nie projekt), którą chce uzyskać, na podstawie tej oceny prowadzący wybiera przypadkowy projekt (np. dla oceny 4.0 projekty dla oceny 3.0 oraz 4.0)

Ocena 3.0

  1. Zaprojektować układ inkrementujący o stałą wartość 1.
  2. Zaprojektować układ dekrementujący o stałą wartość 1.
  3. Zaprojektować układ konwersji liczby ujemnej zapisanej w kodzie binarnym do kodu uzupełnień do 2.
  4. Zaprojektować układ dodający dwie liczby.
  5. Zaprojektować układ odejmujący dwie liczby.
  6. Zaprojektować układ porównujący z wartością stałą.
  7. Zaprojektować dekoder z kodu BCD (cyfry 0-9) na kod siedmiosegmentowy dla wybranego przez prowadzącego segmentu wyświetlacza  (z zastosowaniem optymalnego kodowania stanów dowolnych!)
  8. Zaprojektować dekoder z kodu hex na kod siedmosegmentowy tylko dla wybrany przez prowadzącego segment (dla kodów BCD: A-F kodowanie następujące: A-A, B-b, C-C, D-d, E-E, F-F, z zastosowaniem optymalnego kodowania!)
  9. Zaprojektować układ sprawdzający czy dana liczba z zakresu 0-15 jest podzielna przez n (np. liczba jest podzielna przez 3 lub 5) z optymalną logiką.
  10. Zaprojektować układ obliczający pierwiastek kwadratowy / sześcienny danej liczby 0-15. Jeżeli liczba nie ma pierwiastka naturalnego wskazuje a) dowolną wartość b) same zera c) same jedynki, d) liczbę naturalną z zaokrągleniem w dół.
  11. Zaprojektować układ obliczający czy dana liczba binarna np. 0-255 ma parzystą/ nieparzystą liczbę jedynek
  12. Zaprojektować dekoder kodu BCD na 1 z 10

  13. Ocena 4.0
  14. Zaprojektować układ inkrementujący lub dekrementujący o stałą wartość w zależności od wejściowego sygnału kontrolnego.
  15. Zaprojektować układ dodający lub odejmujący dwie liczby w zależności od wejściowego sygnału kontrolnego.
  16. Zaprojektować układ porównujący dwie liczby.
  17. Zaprojektować układ dodający z wskaźnikiem przepełnienia pracujący w kodzie U2.
  18. Zaprojektować układ dodający i odejmujący w kodzie U2 ze wskażnikiem przepełnieniem.
  19. Zaprojektować układ inkrementatora równoległego (tzn. przeniesienia nie propagują)
  20. Zaprojektować układ konwersji z kodu znak moduł na kod a) uzupełnień do dwóch (U2) b) uzupełnień do jednego (U1).
  21. Zaprojektować układ dający moduł z liczby zapisanej w kodzie a) U2 b)U1

  22. Ocena 5.0
  23. Zaprojektować układ inkrementujący i dekrementujący o 1 (w zależnoci od sygnału kontrolnego) typu Ripple-Block Carry-Look Ahead (p. 47 [2])  z użyciem n-bitowych (n=2-4) bloków inkrementatora równoległego.
  24. Zaprojektować układ dodający typu Ripple Carry z użyciem (2-3)-bitowych bloków typu Carry Look Ahead.
Literatura:
[1] Madisetti V. K. VLSI Digital Signal Processors, II 209484
[2] Omondi A.R. Computer Arithmetic Systems, II 209227.
Układy kombinacyjne: kombin.zip
Układy dodające: dodaj.zip