Wydział Informatyki
Kierunek studiów Informatyka Poziom i forma studiów pierwszego stopnia inżynierskie stacjonarne
Specjalność / Ścieżka dyplomowania --- Profil kształcenia ogólnoakademicki
Nazwa przedmiotu Projektowanie SoC Kod przedmiotu INF1SOC
Rodzaj przedmiotu obieralny
Forma zajęć i liczba godzin W Ć L P Ps T S Semestr 5
26 30 Punkty ECTS 5
Przedmioty wprowadzające Architektura komputerów (INF1AKO),   Synteza układów cyfrowych (INF1SUC),  
Cele przedmiotu

Celem przedmiotu jest zapoznanie studentów z metodami i technikami projektowania systemów wbudowanych z wykorzystaniem układów System-on-Chip (SoC). Podczas wykładów zostaną przedstawione teoretyczne aspekty projektowania SoC, w tym języki opisu sprzętu (język Verilog lub VHDL), architektury SoC, bloki IP stosowane w układach SoC oraz architektura procesorów ARM. Zajęcia pracowni specjalistycznej posłużą do praktycznego wykorzystania zdobytej wiedzy w projektowaniu systemów cyfrowych na bazie SoC.

Odniesienia do standardu SFIA:
Hardware design HWDE - poziom 3
Real-time/embedded systems development RESD - poziom 3

Treści programowe

Wykład:
1. Język opisu sprzętu Verilog lub VHDL: Pojęcia podstawowe. Reprezentacja liczb. Moduł i lista portów wejścia-wyjścia.
2. Typy danych. Parametry. Operatory.
3. Jednostka testowa. Instrukcje proceduralne.
4. Układy kombinacyjne i sekwencyjne. Projektowanie automatów skończonych.
5. Architektury procesorów SoC. Pakiety projektowania SoC.
6. Projektowanie komponentów SoC. Wykorzystanie pamięci wewnętrznej i zewnętrznej. Projektowanie układów peryferyjnych.
7. Integracja komponentów SoC. Programowanie komponentów SoC. Emulacja komponentów SoC. Kompleksowe debugowanie SoC. Programowanie procesorów.
8. Programowalne bloki IP. Bloki IP dla SoC. Wprowadzenie do bloków IP.
9. Programowe i sprzętowe bloki IP. Biblioteki bloków IP. Generatory bloków IP.
10. Projektowanie złożonych systemów z wykorzystaniem bloków IP.
11. Architektura ARM. Lista rozkazów. Programowanie w języku assembler. Programowanie w języku C/C++.
12. Linux dla systemów wbudowanych.
13. Zaliczenie wykładu.

Pracownia specjalistyczna:
1. Wprowadzenie do systemu Quartus Prime.
2. Realizacja prostych układów kombinacyjnych z wykorzystaniem wybranego języka opisu sprzętu. Kodery, dekodery, multipleksery, sumatory.
3. Projektowanie układów sekwencyjnych z wykorzystaniem wybranego języka opisu sprzętu. Rejestry i liczniki.
4. Projektowanie automatów skończonych z wykorzystaniem wybranego języka opisu sprzętu.
5. Tworzenie jednostek testujących z wykorzystaniem wybranego języka opisu sprzętu. Symulacja układów.
6. Konfiguracja procesora NIOS II w układzie FPGA.
7. Obsługa portów GPIO procesora NIOS II.
8. Obsługa przerwań procesora NIOS II.
9. Wykorzystanie timerów.
10. Bloki IP dla procesora NIOS II.
11 - 14. Realizacja złożonego projektu systemu: obsługa portów komunikacyjnych, urządzeń zewnętrznych, integracja komponentów systemu.
15. Zaliczenie pracowni - obrona projektów.

Metody dydaktyczne

wykład problemowy,   programowanie z użyciem komputera,   wykład informacyjny,   ćwiczenia laboratoryjne,  

Forma zaliczenia

Wykład – zaliczenie w postaci sprawdzianu pisemnego; pracownia specjalistyczna – ocena sprawozdań ze zrealizowanych zadań.

Symbol efektu uczenia się Zakładane efekty uczenia się Odniesienie do kierunkowych efektów uczenia się
EU1 architektury i nowoczesne metodyki projektowania układów SoC przy pomocy współczesnych narzędzi INF1_W03
INF1_W14
EU2 wybrany język opisu sprzętu INF1_W04
EU3 projektować układy SoC z wykorzystaniem najnowszych narzędzi i technologii INF1_U04
INF1_U13
EU4 oprogramować system na bazie SoC INF1_U05
EU5 optymalizacji projektowanych systemów pod względem wykorzystywanych zasobów H1_K03
Symbol efektu uczenia się Sposób weryfikacji efektu uczenia się Forma zajęć na której zachodzi weryfikacja
EU1 sprawdzian pisemny W
EU2 sprawdzian pisemny W
EU3 sprawozdania z ćwiczeń Ps
EU4 sprawozdania z ćwiczeń Ps
EU5 sprawozdania z ćwiczeń Ps
Bilans nakładu pracy studenta (w godzinach) Liczba godz.
Wyliczenie
1 - Udział w wykładach - 13x2 26
2 - Udział w pracowni specjalistycznej - 15x2 30
3 - Przygotowanie do pracowni specjalistycznej 20
4 - Opracowanie sprawozdań i realizacja zadań domowych 30
5 - Przygotowanie do zaliczenia 15
6 - Udział w konsultacjach 5
RAZEM: 126
Wskaźniki ilościowe GODZINY ECTS
Nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela 61
(1)+(6)+(2)
2.4
Nakład pracy studenta związany z zajęciami o charakterze praktycznym 80
(4)+(2)+(3)
3.2
Literatura podstawowa

1. Intel Corp., Intelectual Property & Reference Designs. https://www.intel.com/content/www/us/en/products/details/fpga/intellectual-property.html
2. Intel Corp., Quartus Prime Software User Guides. https://www.intel.com/content/www/us/en/support/programmable/support-resources/design-software/user-guides.html
3. M. Nowakowski, PicoBlaze. Mikroprocesor w FPGA. Wydawnictwo BTC, Legionowo 2009.
4. V. Salauyou, A. Klimowicz, Projektowanie systemów wbudowanych w układach FPGA, Oficyna Wydawnicza PB, 2022
5. P. C. Pong, Embedded SoPC Design with Nios II Processor and VHDL Examples. Hoboken: John Wiley a. Sons, 2011.
6. J. O. Hamblen, T.S. Hall, M.D. Furman. Rapid Prototyping of Digital Systems: SOPC Edition. 1st ed. New York, NY: Springer, 2007.
7. Laung-Terng Wang, Charles E. Stroud, Nur Touba (editors), System-on-chip test architectures : nanometer design for testability Amsterdam, Elsevier : Morgan Kaufmann Publ., 2008.

Literatura uzupełniająca

1. B. J. LaMeres, Introduction to Logic Circuits & Logic Design with VHDL, 2nd Edition, Elsevier, 2019
2. Taraate, Vaibbhav. Advanced HDL Synthesis and SOC Prototyping: RTL Design Using Verilog. 1st ed. 2019. Singapore: Springer, 2019

Jednostka realizująca Katedra Mediów Cyfrowych i Grafiki Komputerowej Data opracowania programu
Program opracował(a) dr inż. Tomasz Grześ,dr inż. Adam Klimowicz,prof. dr hab. inż. Valery Salauyou 2025.03.01