Politechnika Warszawska - Centralny System Uwierzytelniania
Strona główna

Układy cyfrowe

Informacje ogólne

Kod przedmiotu: 103C-ELEIK-ISP-UCYF
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Układy cyfrowe
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Przedmioty podstawowe )-Mikrosystemy i systemy elektroniczne-mgr.-EITI
( Przedmioty podstawowe )-Telekomunikacja-mgr.-EITI
( Przedmioty techniczne )---EITI
( Technika cyfrowa )-Elektronika, Telekomunikacja-inż.-EITI
Punkty ECTS i inne: (brak) Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.

zobacz reguły punktacji
Język prowadzenia: polski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

UCYF

Numer wersji:

3

Skrócony opis:

Nowoczesna technologia mikroelektroniczna umożliwia realizację bardzo złożonych systemów cyfrowych w pojedynczym układzie scalony. Celem przedmiotu jest przedstawienie metod syntezy i weryfikacji układów i systemów cyfrowych realizowanych w nowoczesnych technologiach, a w szczególności opanowanie podstaw posługiwania się językami opisu sprzętu HDL w komputerowych systemach projektowania układów cyfrowych.

Pełny opis:

Nowoczesna technologia mikroelektroniczna umożliwia realizację bardzo złożonych systemów cyfrowych w pojedynczym układzie scalony. Celem przedmiotu jest przedstawienie metod syntezy i weryfikacji układów i systemów cyfrowych realizowanych w nowoczesnych technologiach, a w szczególności opanowanie podstaw posługiwania się językami opisu sprzętu HDL w komputerowych systemach projektowania układów cyfrowych.

Treść wykładu
Informacje wstępne (1h)

Podstawowe informacje dotyczące wykładu: organizację, sposób
zaliczania, literaturę.

Układy cyfrowe - rola i zastosowanie (2h)

Rozwój technologii cyfrowej i jej wpływ na dziedziny życia. Rola i
znaczenie układów cyfrowych we współczesnym świecie. Układy cyfrowe w
przetwarzaniu informacji i sygnałów. Style projektowania układów
cyfrowych. Klasyfikacja układów cyfrowych. Układy katalogowe, układy
specjalizowane (ASIC), układy programowalne przez użytkownika (FPLD).
Etapy procesu projektowego.

Specyfika projektowania układów cyfrowych (2h)

Przykład syntezy układu cyfrowego realizującego prosty algorytm.
Porównanie metodologii projektowania układu cyfrowego z projektowaniem
oprogramowania realizującego to samo zadanie. Synteza strukturalna.
Blok wykonawczy i sterujący. Komputerowe projektowanie. Możliwości
narzędzi CAD.

Metody reprezentacji systemów cyfrowych (4h)

Sposoby opisu i modelowania systemów cyfrowych. Diagram "Y". Cyfrowe
kombinacyjne i sekwencyjne bloki funkcjonalne wykorzystywane w syntezie
strukturalnej układów cyfrowych. Sposoby reprezentacji liczb w zapisie
binarnym (NKB, U2, zapis stałopozycyjny oraz zmiennopozycyjny).
Podstawowe działania arytmetyczne na liczbach przedstawionych binarnie.

Zasady specyfikacji układów cyfrowych - języki opisu sprzętu (3h)

Ograniczenia tradycyjnych języków programowania. Zastosowania języków
HDL (Hardware Description Language). Cechy języków HDL. Podstawowe
koncepcje na przykładzie języka VHDL. Opis SOP (Sum-Of-Product). Opis
strukturalny. Opis behawioralny. Testbench. Konfiguracja. Elementy
języka VHDL. Omówienie różnych sposobów opisu projektowanego systemu.

Realizacja logiki kombinacyjnej (3h)

Sposoby realizacji logiki kombinacyjnej z wykorzystaniem struktur
języka VHDL. Sposoby implementacji podstawowych kombinacyjnych bloków
funkcjonalnych, tj. multipleksery dekodery, moduły opisane tablicą
prawdy i równaniami boolowskimi. Parametry czasowe układów
kombinacyjnych. Pojęcie ścieżki krytycznej (topologicznej,
rzeczywistej, fałszywej).

Realizacja logiki sekwencyjnej (3h)

Wykorzystanie elementów pamięciowych. Model układu sekwencyjnego.
Sposoby opisu sekwencyjnych bloków funkcjonalnych. Automat Mealy`ego.
Automat Moore`a. Kodowanie stanów. Liczniki. Sposoby realizacji logiki
sekwencyjnej z wykorzystaniem struktur języka VHDL. Sposoby
implementacji podstawowych sekwencyjnych bloków funkcjonalnych, tj.
rejestry, automaty, liczniki.

Projektowanie układów synchronicznych z wykorzystaniem FSM i ASM (4h)

Zastosowanie automatów FSM i diagramów ASM do projektowania
synchronicznych układów cyfrowych. Pojęcia: ripple and/or gated clocks,
clock skew, clock enable. Dystrybucja sygnału zegara. Synchronizacja
międzysymbolowa. Synchronizacja międzyramkowa. Generacja sekwencji.
Sposoby współdziałania automatów w systemie cyfrowym. Obsługa portów
dwukierunkowych. Wykorzystanie specjalizowanych bloków na przykładzie
pamięci RAM. Domeny zegarowe i komunikacja między nimi.

Projektowanie hierarchiczne i zaawansowane zagadnienia syntezy układów cyfrowych (4h)

Przedstawienie metodologii projektowania hierarchicznego (bottom-up i
top-down). Moduły parametryzowane. Wykorzystanie pakietów. Kodowanie
stanów automatu. Minimalizacja automatu. Zaawansowane metody syntezy
FSM: dekompozycja, wykorzystanie pamięci ROM, układy modyfikacji
adresu. Zjawisko wyścigów krytycznych - "szpilki".

Zaawansowane metody projektowania (4h)

Różne sposoby projektowania układów cyfrowych. Strukturalna realizacja
przepływu danych. Rozwijanie pętli (loop unrolling). Układ sterujący -
układ operacyjny. Diagramy ASM. Diagramy ASMD. Operacje RT realizowane
w trybie Mealy`ego. Współdzielenie zasobów. Potokowanie. Zastosowanie
zaawansowanej syntezy logicznej.

Uwaga: plansze do wykładów dostępne w Internecie

http://www.zpt.tele.pw.edu.pl/pomoce.htm



Zakres laboratorium
Zapoznanie z komputerowymi systemami projektowania CAD. Realizacja
kombinacyjnych i sekwencyjnych bloków funkcjonalnych z uwzględnieniem
technologii standard-cells i FPLD. Zaawansowane procedury syntezy
logicznej (dekompozycja, minimalizacja stanów automatu, kodowanie
stanów automatu, synteza układów sekwencyjnych w strukturach FPGA z
blokami EAB, układy modyfikacji adresu). Tworzenie złożonych projektów
o strukturze wielopoziomowej z wykorzystaniem mieszanej formy
specyfikacji i elementów wszystkich dostępnych bibliotek funkcji, makro
i megafunkcji. Zastosowanie zaawansowanych metodologii projektowania z
wykorzystaniem diagramów ASM i ASMD. Rozwijanie pętli, potokowanie,
współdzielenie zasobów.


Laboratorium obejmuje 10 terminów po 3 godz. lekcyjne począwszy od 5
tygodnia semestru w ramach których wykonanych będzie 8 ćwiczeń
laboratoryjnych.



Wykład wprowadzający IMIO, IRE, IT



Ćwiczenie 1. IMIO

Synteza układów kombinacyjnych w technologii GA i S.C.

Realizacja podstawowych kombinacyjnych bloków funkcjonalnych.

Realizacja układów arytmetycznych: sumatory, komparatory.



Ćwiczenie 2. IMIO

Synteza układów sekwencyjnych w technologii GA i S.C.

Realizacja uniwersalnych rejestrów.

Realizacja automatów FSM. Minimalizacja i kodowanie stanów.

Realizacja liczników (różne tryby pracy, liczniki modulo n, itp.).



Ćwiczenie 3. IRE

Synteza układów kombinacyjnych w technologii PLD/FPGA.

Realizacja podstawowych kombinacyjnych bloków funkcjonalnych.

Realizacja układów arytmetycznych: sumatory, komparatory.



Ćwiczenie 4. IRE

Synteza układów sekwencyjnych w technologii PLD/FPGA.

Realizacja uniwersalnych rejestrów.

Realizacja automatów FSM. Minimalizacja i kodowanie stanów.

Realizacja liczników (różne tryby pracy, liczniki modulo n, itp.).



Ćwiczenie 5. IT

Synteza strukturalna, behawioralna i logiczna konwertera BIN2BCD.

Wykorzystanie algorytmicznych maszyn stanów ASM i algorytmicznych
maszyn stanów ze ścieżką przepływu danych ASMD w projektowaniu układów
cyfrowych.

Wykorzystanie operacji realizowanych w trybie Mealy`ego i Moore`a.

Wykorzystanie koncepcji współdzielenia zasobów.



Ćwiczenie 6. IT

Zaawansowane procedury syntezy logicznej w projektowaniu układów
cyfrowych.

Zastosowanie wielopoziomowej dekompozycji funkcjonalnej i redukcji
argumentów w realizacji układów kombinacyjnych.

Zastosowanie układów modyfikacji adresu i symbolicznej dekompozycji
funkcjonalnej w realizacji automatów.



Ćwiczenie 7. IT

Projektowanie układów DSP.

Realizacji filtrów cyfrowych w strukturze szeregowej i metodą
arytmetyki rozproszonej.

Wykorzystanie specjalizowanych modułów wbudowanych DSP.

Wykorzystanie koncepcji zrównoleglenia obliczeń.



Ćwiczenie 8. IT

Projektowanie układów kryptograficznych.

Realizacja typowych przekształceń dla algorytmów kryptograficznych
takich jak permutacje i funkcje S-box

Wykorzystanie metody rozwijania pętli i koncepcji potokowości w
realizacji układów cyfrowych.



Termin rezerwowy.




Poprzedniki

Typ poprzednikaNr poprzednikaKod poprzednikaNazwa poprzednika
Wymagany1103B-TExxx-ISP-ULOGUkłady logiczne
Wymagany1103B-TExxx-ISP-ULOGUkłady logiczne

Literatura:

  • Materiały pomocnicze do wykładu na stronie internetowej:
    www.zpt.tele.pw.edu.pl w katalogu Wykłady/Plansze i materiały
    pomocnicze do wykładów

  • Łuba T.(red.), Rawski M., Tomaszewicz P., Zbierzchowski B.:
    Programowalne Układy Przetwarzania Sygnałów i Informacji, WKŁ, Warszawa
    2008.

  • Łuba T.: Synteza układów logicznych, Oficyna Wydawnicza
    Politechniki Warszawskiej, Warszawa 2005.

  • Łuba T., Zbierzchowski B.: Komputerowe projektowanie układów
    cyfrowych. WKŁ, Warszawa 2000.

  • Tyszer J., Mrugalski G.: Układy cyfrowe. Zbór zadań z
    rozwiązaniami. Wyd. Politechniki Poznańskiej, Poznań 2002.

  • Skahill K.: Język VHDL. Projektowanie programowalnych układów
    logicznych. Wyd. Naukowo-Techniczne, Warszawa 2001.

  • De Micheli G.: Synteza i optymalizacja układów cyfrowych. WNT,
    Warszawa 1998.

  • Brown S, Vranesic Z.: Fundamentals of Digital Logic with VHDL
    Design. McGraw Hill, Boston 1998.

  • Meyer-Baese U. : Digital Signal Processing with FPGAs. Springer
    Berlin 2007.

  • Zwoliński M.: Projektowanie układów cyfrowych z wykorzystaniem
    języka VHDL. WKŁ. Warszawa 2002.

  • Parchi K. K., Nishitani T.: Digital Signal Processing for
    Multimedia Systems, Marcel Dekker, Inc. New York 1999.

  • Zieliński C.: Podstawy projektowania układów cyfrowych, PWN,
    Warszawa 2003.

Przedmiot nie jest oferowany w żadnym z aktualnych cykli dydaktycznych.
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.
pl. Politechniki 1, 00-661 Warszawa tel: (22) 234 7211 https://pw.edu.pl kontakt deklaracja dostępności USOSweb 7.0.2.0-2 (2024-03-29)