KARTA PRZEDMIOTU 1. Nazwa przedmiotu: KOMPUTEROWE
Transkrypt
KARTA PRZEDMIOTU 1. Nazwa przedmiotu: KOMPUTEROWE
Z1-PU7 WYDANIE N1 Strona 1 z 4 KARTA PRZEDMIOTU (pieczęć wydziału) 1. Nazwa przedmiotu: KOMPUTEROWE WSPOMAGANIE 2. Kod przedmiotu: PROJEKTOWANIA UKŁADÓW SCALONYCH KWPUS 3. Karta przedmiotu ważna od roku akademickiego: 2015/2016 4. Forma kształcenia: studia drugiego stopnia1 5. Forma studiów: studia stacjonarne 6. Kierunek studiów: ELEKTRONIKA I TELEKOMUNIKACJA (WYDZIAŁ AEII) 7. Profil studiów: ogólnoakademicki 8. Specjalność: APARATURA ELEKTRONICZNA 9. Semestr: 1-2 10. Jednostka prowadząca przedmiot: INSTYTUT ELEKTRONIKI 11. Prowadzący przedmiot: dr inż. Wojciech Sakowski 12. Przynależność do grupy przedmiotów: przedmioty specjalnościowe 13. Status przedmiotu: obowiązkowy 14. Język prowadzenia zajęć: polski 15. Przedmioty wprowadzające oraz wymagania wstępne: Zakłada się, że przed rozpoczęciem nauki niniejszego przedmiotu student posiada przygotowanie w zakresie Podstaw Techniki Cyfrowej, Projektowania Urządzeń Cyfrowych, Języków Opisu Sprzętu oraz języków programowania. 16. Cel przedmiotu: Celem wykładu jest zapoznanie studentów z nowoczesnymi metodologiami projektowania scalonych układów cyfrowych, z wykorzystaniem języków opisu sprzętu w procesie projektowania oraz z narzędziami programistycznymi wspomagającymi ten proces. 17. Efekty kształcenia:2 Nr Opis efektu kształcenia W1 Zna metodologię projektowania układów scalonych w oparciu o języki opisu sprzętu Rozumie semantykę języków Verilog/VHDL w zakresie syntezy na poziomie przesłań międzyrejestrowych Rozumie semantykę języków Verilog/VHDL w zakresie syntezy na poziomie przesłań międzyrejestrowych Potrafi zrealizować projekt układu cyfrowego na poziomie przesłań międzyrejestrowych w językach VHDL lub Verilog Zna podstawy języka SystemC i zasady jego stosowania w modelowaniu układów cyfrowych i syntezie wysokiego poziomu. W2 W3 U1 W4 1 2 wybrać właściwe należy wskazać ok. 5 – 8 efektów kształcenia Metoda sprawdzenia efektu kształcenia Forma prowadzenia zajęć Wykonanie ćwiczeń Laboratorium laboratoryjnych Kolokwium i egzamin wykład Odniesienie do efektów dla kierunku studiów K2_W07 K2_W11 K2_W07 K2_U12 Kolokwium i egzamin wykład K2_W07 K2_U12 Wykonanie projektu K2_U08 K2_U12 projekt Kolokwium i egzamin, wykład, K2_W07 K2_U12 Z1-PU7 U2 Potrafi wykonać prosty model w języku SystemC Wykonanie ćwiczeń laboratoryjnych U3 Potrafi zrealizować implementację Wykonanie ćwiczeń programowalnego układu logicznego laboratoryjnych w technologii Altera 18. Formy zajęć dydaktycznych i ich wymiar (liczba godzin) W. : 15 Ćw.: 15 - Sem. 1 L. : 15 P.: 15 - Sem. 2 WYDANIE N1 wykład, projekt, laboratorium laboratorium Strona 2 z 4 K2_U08 K2_U12 K2_U08 K2_U12 19. Treści kształcenia: (oddzielnie dla każdej z form zajęć dydaktycznych W./Ćw./L./P./Sem.) W+Ćw. 1. Przykłady prostych i złożonych układów cyfrowych. Technologie implementacji. Reprezentacja danych projektowych (diagram Gajskiego) – różne poziomy abstrakcji i perspektywy projektowe. Komputerowe narzędzia wspomagające rożne etapy procesu projektowania (specyfikacja, synteza, weryfikacja). 2. Metodologia projektowania układów scalonych w oparciu o języki opisu sprzętu i narzędzia syntezy. Wykorzystanie języków VHDL i Verilog do tworzenia syntezowalnych modeli sprzętu. Ograniczenia stylu modelowania przy tworzeniu modeli syntezowalnych na poziomie przesłań międzyrejestrowych. Procesy kombinacyjne i sekwencyjne. Unikanie niechcianych elementów pamięciowych. Modelowanie układów kombinacyjnych: bramki, struktury bramkowe, multipleksery, dekodery. układy arytmetyczne. 3. Modelowanie elementów sekwencyjnych. Modelowanie synchronicznych automatów sekwencyjnych. Pamięci jaki elementy zależne od technologii. Wykorzystanie opisu strukturalnego. Dobre praktyki modelowania typowych elementów cyfrowych w językach VHDL i Verilog. Projektowanie komponentów wirtualnych. 4 Projektowanie na poziomie RTL. Redukcja rozpatrywanej przestrzeni stanów. Zegary i zerowanie. Synchronizacja domen zegarowych. Wykorzystanie potoków. Statyczna analiza czasowa. 5. Podstawy syntezy logicznej: Elaboracja modelu RTL – techniki przekształceń układowych. Elementy syntezy sekwencyjnej. Podstawy minimalizacji logicznej. Synteza wielopoziomowa. Odwzorowanie technologiczne. Różnice między optymalizacją układów programowalnych logicznych i specjalizowanych układów scalonych. Narzędzia do syntezy. SDC – język ograniczeń projektowych do sterowania syntezą. Synteza układów łatwotestowalnych. 6. Wprowadzenie w problematykę projektowania specjalizowanych układów scalonych (ASIC). Miejsce narzędzi syntezy RTL w procesie projektowania układów ASIC. Technologia CMOS. Parametry tranzystorów MOS i ich powiązanie z własnościami technologii i projektem topografii. Analiza statyczna i dynamiczna inwertera CMOS. Podstawowe struktury układów logicznych CMOS. Reguły projektowe i parametry elektryczne tranzystorów. Projektowanie na poziomie układowym. Układy analogowe. Biblioteki komórek standardowych i ich charakteryzacja. 7. Projektowanie topografii cyfrowych układów CMOS (drzewo zegarowe, rozmieszczanie komórek i prowadzenie połączeń między nimi. Pola kontaktowe. Pierścienie zasilające i minimalizacja poboru mocy). Prototypowanie i produkcja układów ASIC – aspekty ekonomiczne i logistyczne. Rola układów FPGA w prototypowaniu układów specjalizowanych. 8. Metody minimalizacji poboru mocy przez cyfrowe układy scalone. Standardy UPF i CPF. 9. Rola symulacji logicznej w weryfikacji układów scalonych. Modelowanie podstawowych własności funkcjonalnych. Algebry wielowartościowe. Modelowanie własności dynamicznych bramek i przerzutników. Algorytmy symulacji sterowanej zdarzeniami (event driven). Weryfikacja za pomocą symulacji logicznej. Anotacja wsteczna modelu. Wykorzystanie języka VHDL w modelowaniu na poziomie logicznym (standard VITAL). 10. Różnice między symulacja układową a logiczną. Symulacja czasowa. Symulacja switch level. Symulacja mieszana i języki modelowania układów analogowych. Symulacja synchroniczna. Weryfikacja wspomagana przez oporgramowanie. Sprzętowe wspomaganie symulacji, emulacja logiczna, prototypowanie. Symulacja uszkodzeń i generacja testów. 11. Podstawy weryfikacji formalnej. Informacja o języku SystemVerilog. Asercje i ich wykorzystanie w Z1-PU7 WYDANIE N1 Strona 3 z 4 projektowaniu i weryfikacji. Uniwersalna metodologia weryfikacji (UVM). Standardowe komponenty weryfikacyjne (VIP) Problemy weryfikacji układów niskomocowych. 12. Przypomnienie cech obiektowych języka C++. Język SystemC. Implementacja podstawowych elementów języka jako klas i wzorców języka C++. Definiowanie hierarchii projektowej i modelowanie RTL. Jądro symulatora i sterowanie symulacją. 13. Rozdział funkcjonalności i komunikacji w języku SystemC. Modelowanie transakcyjne. Biblioteki TLM. Wykorzystanie języka SystemC w weryfikacji. Biblioteka SCV i wsparcie dla metodologii UVM. 14. Podstawy teoretyczne syntezy wysokiego poziomu. Narzędzia i praktyka wykorzystania syntezy wysokiego poziomu w procesie projektowania układów i systemów scalonych, 15. Systemy scalone. Metody specyfikacji i projektowania na poziomie systemowym. Integracja komponentów wirtualnych. Magistrala AMBA. Standard IP-XACT. Elementy współbieżnego projektowania sprzętu i oprogramowania. Wykorzystanie wirtualnych prototypów do wczesnej weryfikacji oprogramowania wbudowanego. Wykorzystanie syntezy wysokiego poziomu w projektowaniu programowalnych systemów scalonych (SoPC). L. 1. Definiowanie projektu i symulacja w środowisku Modelsim (lub innego symulatora VHDL). 2. Weryfikacja projektu za pomocą symulacji i ocena jej kompletności. 3. Synteza logiczna i analiza czasowa modelu układu w języku VHDL lub Verilog. 4. Implementacja układu cyfrowego w układzie FPGA. 5. Uruchamianie prototypu w układzie FPGA. 6. Wykonanie prostego modelu układu cyfrowego w języku SystemC i jego weryfikacja przez symulację P. Wykonanie projektu układu cyfrowego w języku VHDL lub Verilog lub SystemC. 20. Egzamin: tak 21. Literatura podstawowa: MARK ZWOLIŃSKI, Projektowanie układów cyfrowych z wykorzystaniem języka VHDL, ISBN 83-206-1452-X Donald E. Thomas(Author), Philip R. Moorby, The Verilog® Hardware Description Language, ISBN-13: 9781475775891 David C. Black, J.Donovan, B. Bunton, A. Keist, SystemC: From the GroundUp, 2nd ed, Springer, 2010, ISBN 9780-387-69957-8 22. Literatura uzupełniająca: Praca zbiorowa pod redakcją JÓZEFA KALISZA, Język VHDL w praktyce, WKŁ, ISBN 83-206-1440-6 TADEUSZ ŁUBA, KRZYSZTOF JASIŃSKI, BOGDAN ZBIERZCHOWSKI, Specjalizowane układy cyfrowe w strukturach PLD i FPGA Wydawnictwa Komunikacji i Łączności, ISBN: 83-206-1235-7 JERZY PASIERBIŃSKI, PIOTR ZBYSIŃSKI, Układy programowalne w praktyce, Wydawnictwa Komunikacji i Łączności, ISBN 83-206-1393-0 Ray Salemi, The UVM Primer: A Step-by-Step Introduction to the Universal Verification Methodology, 2013 Brian Baileyet al.,TLM-Driven Design and Verification Methodology, Cadence, ISBN 978-0-557-53906-2 PETER J. ASHENDEN, The Designer’s Guide to VHDL, Morgan Kaufmann Publishers, 2008 ISBN 9780120887859 MICHAEL J.S. SMITH, Application Specific Integrated Circuits, Addison-Wesley, 1997 Z1-PU7 WYDANIE N1 Strona 4 z 4 23. Nakład pracy studenta potrzebny do osiągnięcia efektów kształcenia Lp. Forma zajęć 1 Wykład 2 Ćwiczenia 15/10 3 Laboratorium 15/15 4 Projekt 15/25 5 Seminarium 0/0 6 Inne 0/5 Suma godzin Liczba godzin kontaktowych / pracy studenta 15/5 60/60 24. Suma wszystkich godzin: 120 25. Liczba punktów ECTS:3 4 26. Liczba punktów ECTS uzyskanych na zajęciach z bezpośrednim udziałem nauczyciela akademickiego 2 27. Liczba punktów ECTS uzyskanych na zajęciach o charakterze praktycznym (laboratoria, projekty) 2 26. Zatwierdzono: ……………………………. ………………………………………………… (data i podpis prowadzącego) (data i podpis dyrektora instytutu/kierownika katedry/ Dyrektora Kolegium Języków Obcych/kierownika lub dyrektora jednostki międzywydziałowej) 3 1 punkt ECTS – 30 godzin.