Projektowanie Systemów Cyfrowych


UWAGA!
Zawarte w tym serwisie programy, materiały, wykłady, tutoriale itp. są opracowaniami autorskimi i są chronione prawami autorskimi. Nieuprawniona reprodukcja jakiejkolwiek ich części bez uprzedniej zgody autorów jest zabroniona. W szczególności dotyczy to wszelkich kursów prowadzonych na AGH oraz na innych uczelniach.


Absolwentów kursu PSC zapraszamy na przedmiot obieralny
„Zaawansowane Zagadnienia Projektowania Systemów Cyfrowych”


Przedmiot

Kurs ma na celu zdobycie umiejętności projektowania układów i systemów cyfrowych przy wykorzystaniu nowoczesnych metod i narzędzi projektowych, a w szczególności – za pomocą języków opisu sprzętu. Szczególny nacisk w całym kursie położony jest na stronę praktyczną.
Wiedza i umiejętności zdobyte podczas kursu są konieczne dla dalszego kształcenia w kierunku inżynierii systemów cyfrowych (systemy wbudowane, sprzętowa implementacja algorytmów, zaawansowane zagadnienia projektowania systemów cyfrowych itp.) Uzyskane kompetencje są również niezbędne dla praktyk zawodowych (organizowanych także przez prowadzących kurs) oraz prac inżynierskich i magisterskich, ściśle powiązanych z tematyką z przemysłu i nauki (konstrukcja aparatury przemysłowej i badawczej).
Absolwenci kursu są specjalistami poszukiwanymi do praktyk i pracy zawodowej m.in. przez małopolskie oddziały globalnych firm, takich jak: ARM, ABB, Aldec, Ericpol, Evatronix, Nokia Solutions & Networks, Woodward i inne, z którymi prowadzący kurs ściśle współpracują.

Warunki zaliczenia:

1. Obecność na wykładach – premia za każdą obecność uwzględniona w ocenie końcowej.
2. Zaliczenie laboratorium (tutorialów). Na wysokość oceny wpływ ma termin ukończenia programu laboratorium, który jest wyznaczany przez prowadzącego (zwykle ok. 7 tygodni). Każdy tydzień zwłoki powoduje obniżenie oceny o pół stopnia. Pozytywna ocena z laboratorium jest konieczna dla zaliczenia przedmiotu.
3. Wykonanie projektu w/g uzgodnień. Ocena zależna jest od stopnia złożoności, stanu zaawansowania oraz jakości dokumentacji i terminu ukończenia projektu.
4. Zdanie egzaminu.
5. Ocena końcowa jest średnią z ocen: laboratorium, projektu i egzaminu, powiększoną o premię za obecność i aktywność na wykładach. W razie niewykonania projektu student otrzymuje z tej części ocenę 'zal', która umożliwia ukończenie całego kursu, jednak negatywnie wpływa na wysokość oceny końcowej (jest uwzględniana w średniej jako 2.0).


Wykłady

Dla szybkiego nabycia wiedzy potrzebnej podczas zajęć laboratoryjnych i projektowych przygotowano specjalny, skrócony kurs języka opisu sprzętu VHDL, wraz z praktycznymi informacjami i wskazówkami dla projektowania układów cyfrowych. W ramach wykładu omówiona jest też wykorzystywana na zajęciach laboratoryjnych i projektowych platforma sprzętowa z programowalnym układem logicznym FPGA.

Program wykładów

Laboratorium

Zdobycie podstawowych umiejętności projektowania układów i systemów cyfrowych odbywa się podczas pierwszej części zajęć praktycznych, opartej na dobrze udokumentowanych tutorialach, wykonywanych w obecności i przy pomocy prowadzącego.

UWAGA!
Optymalna liczebność grup laboratoryjnych to 12 osób. Wszystkie terminy muszą być obciążone równomiernie.

W czasie zajęć praktycznych używane będą pakiety oprogramowania:
• Aldec Active-HDL: front-end, do specyfikacji i weryfikacji projektów, konieczny do realizacji wszystkich tutorialów oraz projektu,
• Xilinx Vivado: back-end, do syntezy i implementacji projektów, konieczny do realizacji tutorialów 4…7 oraz projektu.
Instrukcje instalacji można znaleźć na tej stronie.

Program laboratorium

Projekt

Utrwalenie i wykorzystanie umiejętności zdobytych w toku laboratorium ma miejsce podczas drugiej części zajęć praktycznych, w ramach której studenci wykonują oryginalne projekty. Tematy projektów wybierane są przez studentów indywidualnie wg własnych inspiracji lub z listy propozycji, obejmujących szeroką tematykę: gry i automaty zręcznościowe, układy pomiarowe i sterujące, interfejsy komunikacji międzyukładowej, układy telekomunikacyjne, audio/video itp. Zasadniczym celem każdego projektu jest jego poprawne skonstruowanie oraz fizyczne uruchomienie i przetestowanie.
W obydwu częściach kursu wykorzystywane są: oprogramowanie CAD (Aldec, Xilinx), nowoczesne platformy uruchomieniowe z układami FPGA (Xilinx, Digilent) oraz ew. dodatkowe moduły sprzętowe. Pomocą przy uruchamianiu służą też dostępne w pracowni narzędzia pomiarowe.

W toku ralizacji projektu istotna jest systematyczna praca i konsultacje na bieżąco w trybie cotygodniowym, aby możliwie na wczesnym etapie ustrzec się od ew. błędów projektowych, które mogą później skutkować koniecznością dokonania głębszych zmian w projekcie.

Tematy projektów
Warunki podjęcia i zaliczenia projektu:

1. Projekt jest wybrany i zatwierdzony po ukończeniu wszystkich tutorialów. Obranie tematu projektu musi nastąpić najpóźniej po upływie 7 terminów zajęć, a jego oddanie — przed rozpoczęciem sesji.
2. Projekt działa (realizuje uzgodnione założenia).
3. Projekt zawiera Testbench wraz z odpowiednimi skryptami. Testbench wizualizuje wszystkie kluczowe funkcje realizowanego zadania.
4. Projekt jest dokładnie udokumentowany. Dokumentacja obejmuje:

  • sprawozdanie (format Word, nie PDF!), zawierające:
    • stronę tytułową: temat, rok akademicki, nazwiska projektantów, nazwisko opiekuna, zdjęcie układu dodatkowego (jeżeli występuje, miniatura)
    • założenia projektu,
    • opis funkcjonalny, sposób obsługi układu (przyciski, przełączniki, diody etc. — co się dzieje kiedy),
    • informacje dot. ew. kluczowych, specyficznych elementów użytych w projekcie,
    • schemat blokowy projektu + opis słowny koncepcji blokowej i współzależności łączących bloki sygnałów,
    • bardziej szczegółowy opis zawartości modułów, z tabelką zbierającą porty: nazwa, kierunek (we, wy, we/wy), szerokość (# bit), funkcja
    • bardziej szczegółowy opis realizacji najistotniejszych bloków projektu (np. algorytm sterujący grą — opis stanów i warunków przejść),
    • schemat i rysunek PCB (zdjęcie) układu dodatkowego (jeżeli występuje),
    • uwagi i doświadczenia zdobyte podczas realizacji projektu.
  • wszelkie dane gromadzone podczas wykonywania projektu [opisy wykorzystywanych standardów, karty katalogowe, noty aplikacyjne itp.],
  • kompletny folder projektu, zawierający m.in. kod źródłowy, opatrzony odpowiednimi komentarzami (nie należy umieszczać go w sprawozdaniu).

5. Projekt powinien być oddany wraz z dokumentacją (w formie elektronicznej, plik zip o nazwie: "Temat_projektu Rok Imię_Nazwisko" — np.: "Oscyloskop_VGA 2016 Jan_Kowalski.zip").