Układy cyfrowe, także układy logiczne – układy operujące na wartościach dyskretnych. Układy cyfrowe budowane są w oparciu o bramki logiczne realizujące elementarne operacje logiczne: iloczyn logiczny (AND, NAND), sumę logiczną (OR, NOR), negację NOT, różnicę symetryczną (XOR). Tworzone są układy o logice sekwencyjnej i kombinacyjnej. Początkowo układy cyfrowe były realizowane jako układy mechaniczne, następnie elektromechaniczne, współcześnie tworzone są układy elektroniczne. Złożone układy cyfrowe wykonuje się w postaci układów scalonych.
Mimo większej odporności na zakłócenia, wykrywanie przekłamań stanów logicznych, np. pojawienie się wartości 0 zamiast spodziewanej 1, wymaga dodatkowych zabezpieczeń (patrz: kod korekcyjny) choć nie zawsze jest możliwe wykrycie błędu; jeszcze większy problem stanowi ewentualne odtworzenie oryginalnej informacji.
Klasyfikacja układów cyfrowych
Ze względu na sposób przetwarzania informacji rozróżnia się dwie główne klasy układów logicznych:
Układy kombinacyjne – układy „bez pamięci”, w których sygnały wyjściowe są zawsze takie same dla określonych sygnałów wejściowych;
Układy sekwencyjne – układy „z pamięcią”, w których stan wyjść zależy nie tylko od aktualnego stanu wejść, ale również od stanów wcześniejszych.
Ze względu na technologie w jakiej wykonano bramki logiczne:
Ostatnimi laty bardzo popularne stały się programowalne układy cyfrowe. W odróżnieniu od programowalnych mikroprocesorów, w tym przypadku programowana jest fizyczna struktura układu oparta na:
Ze względu na różne czynniki, takie jak wahania napięcia zasilającego, zakłócenia zewnętrzne, rozrzut parametrów itp., sygnały przetwarzane w układach cyfrowych nie mają ściśle określonych wartości, stąd też liczby przypisuje się nie wartościom napięć, ale przedziałom napięć.
W układach logicznych, gdzie są zdefiniowane tylko dwie wartości liczbowe, rozróżnia się dwa przedziały napięć: wysoki (ozn. H, z ang. high) i niski (ozn. L, z ang. low); pomiędzy nimi jest przerwa, dla której nie określa się wartości liczbowej – jeśli napięcie przyjmie wartość z tego przedziału, to stan logiczny układu jest nieokreślony.
Jeśli do napięć wysokich zostanie przyporządkowana logiczna jedynka, a do niskich logiczne zero, wówczas mówi się, że układ pracuje w logice dodatniej (inaczej zwanej pozytywną), w przeciwnym razie mamy do czynienia z logiką ujemną (lub negatywną).