Programowanie układów FPGA

Język wykładowy Polski
Semestr Zimowy
Status W ofercie
Opiekun Marek Materzok
Liczba godzin 30 (wyk.) 30 (prac.)
Rodzaj I2.Z - zastosowania inf.
ECTS 6
Polecany dla I roku Nie
Egzamin Tak
Tagi SY (systemy sieciowe i komputerowe)

Opis przedmiotu:

Wykład jest wprowadzeniem do projektowania układów cyfrowych przy użyciu języka opisu sprzętu (System)Verilog oraz ich implementacji na układach FPGA. W ramach zajęć student nauczy się również metod testowania sprzętu oraz zapozna się z podstawami formalnej weryfikacji układów cyfrowych. **Wymagania:** Wysoce wskazana jest znajomość zasad projektowania układów cyfrowych (np. przez zaliczenie przedmiotu "Logika cyfrowa"), mile widziana jest znajomość języka C i idąca za tym umiejętność programowania niskopoziomowego. **Program:** 1. Verilog jako język modelowania sprzętu 2. Symulacja sprzętu przy użyciu programów Icarus Verilog, Verilator i ModelSim 3. Testowanie modeli sprzętu przy użyciu języka Verilog 4. Synteza sprzętu 5. Budowa układów FPGA 6. Synteza sprzętu przy użyciu programu Yosys 7. Synteza sprzętu na FPGA Intela przy użyciu programu Quartus 8. Elementy wbudowane na FPGA: multiplikatory, pamięci, PLL 9. Wykorzystywanie tzw. rdzeni IP (modułów sprzętowych) 10. Łączenie modułów sprzętowych przy użyciu Intel Platform Designer (Qsys), magistrala Avalon 11. Magistrala AMBA AXI 12. Język TCL 13. Łączenie FPGA z sprzętowym procesorem 14. Języki opisu sprzętu wysokiego poziomu: Chisel i Clash 15. Formalna weryfikacja sprzętu przy użyciu programów Yosys i SymbiYosys **Zalecana literatura:** Douglas J.Smith, HDL Chip Design: A Practical Guide for Designing, Synthesizing & Simulating ASICs & FPGAs Using VHDL or Verilog Samir Palnitkar, Verilog HDL (2nd Edition) J. Bhasker, A Verilog HDL Primer, Third Edition Donald Thomas, Logic Design and Verification Using SystemVerilog (Revised)