Grzegorz Cygan Układy cyfrowe
Wybrane operatory „Algebry Boole'a” 𝑠𝑢𝑚𝑎𝑙𝑜𝑔𝑖𝑐𝑧𝑛𝑎 𝑙𝑢𝑏 :∨. 𝑖𝑙𝑜𝑐𝑧𝑦𝑛𝑙𝑜𝑔𝑖𝑐𝑧𝑛𝑦 𝑖 :∧. 𝑁𝑒𝑔𝑎𝑐𝑗𝑎 𝑛𝑖𝑒 : 𝑎 ˉ . Do zapisu sumy stosuje się także znak „plus” (+), a iloczyn zapisujemy za pomocą kropki lub pomijamy, jeżeli nie prowadzi to do niejednoznaczności.
Wybrane prawa „Algebry Boole'a” Idempotentność Przemienność Prawo de Morgana 𝑥∨𝑥=𝑥 𝑥∧𝑥=𝑥 𝑥∨𝑦=𝑦∨𝑥 𝑥∧𝑦=𝑦∧𝑥 𝑥∨𝑦= 𝑥 ∧ 𝑦 𝑥∧𝑦= 𝑦 ∨ 𝑦
Proste operacje 0∨0=0 0∧0=0 0 =1 0∨1=1 0∧1=1 1 =0 1∨1=1 1∧1=1 Celowo pominięto po jednym przypadku iloczynu i sumy logicznej, zastosowanie ma tu prawo przemienności
Bramki AND Iloczyn logiczny (koniunkcja) OR Suma logiczna (alternatywa) Inwerter (NOT) Negacja & ≥1 1
UKŁADY KOMBINACYJNE Multiplekser Umożliwia wybór i przesłanie na wyjście sygnału z jednego z N wejść. Demultiplekser Odwrotna funkcja do multipleksera. Koder Do przemiany z kodu 1 z N na dowolny inny. Dekoder Do przemiany dowolnego kodu na kod 1 z N. Transkoder Do przemiany dwóch różnych kodów z wyjątkiem kodu 1 z N.
Synteza układu kombinacyjnego na przykładzie multipleksera
Multiplekser A1 A0 Y X0 X0 X1 1 X1 X2 1 X2 X3 A1 A0 1 1 X3 X0 X1 Y 1 X1 X2 1 X2 X3 A1 A0 1 1 X3 Projektowany układ posiada 6 wejść (4 linie danych i 2 wejścia adresowe) zatem liczba możliwych stanów wynosi 2 ^ 6 = 64. Do tablicy Karnaugh'a wpisuję tylko jedynki.
x2 x1 x0 a1 a0 x3 000 001 011 010 110 111 101 100 000 1 1 1 1 001 1 1 1 1 011 1 1 1 1 010 1 1 1 1 110 111 1 1 1 1 1 1 1 1 101 1 1 1 1 100 1 1 1 1 y
x2 x1 x0 a1 a0 x3 000 001 011 010 110 111 101 100 000 1 1 1 1 001 1 1 1 1 011 1 1 1 1 010 1 1 1 1 110 111 1 1 1 1 1 1 1 1 101 1 1 1 1 100 1 1 1 1
x2 x1 x0 a1 a0 x3 000 001 011 010 110 111 101 100 000 1 1 1 1 001 1 1 1 1 011 1 1 1 1 010 1 1 1 1 110 111 1 1 1 1 1 1 1 1 101 1 1 1 1 100 1 1 1 1 𝑦= 𝑎 1 ˉ 𝑎 0 ˉ 𝑥 0 ∨ 𝑎 1 ˉ 𝑎 0 𝑥 1 ∨ 𝑎 1 𝑎 0 𝑥 3 ∨ 𝑎 1 𝑎 0 ˉ 𝑥 2
Układ można zrealizować za pomocą: dwóch inwerterów czterech trójwejściowych bramek AND jednej czterowejściowej bramki OR Schemat układu pokazano na schemacie
𝑦= 𝑎 1 ˉ 𝑎 0 ˉ 𝑥 0 ∨ 𝑎 1 ˉ 𝑎 0 𝑥 1 ∨ 𝑎 1 𝑎 0 𝑥 3 ∨ 𝑎 1 𝑎 0 ˉ 𝑥 2 x0 & x1 & ≥1 y x2 & x3 & 1 1 a1 a0
Do realizacji układu można także użyć układu PLD. Opis w języku ABEL na następnym slajdzie
module multip title 'Multiplekser' declarations multip device 'p16v8'; x3,x2,x1,x0 pin 2,3,4,5; a1,a0 pin 8,9; y pin 17; equations y = !a1&!a0&x0 # !a1&a0&x1 # a1&a0&x3 # a1&!a0&x2; end
W języku ABEL można w prosty sposób opisać układ bez korzystania z tablic Karnaugh'a
module multip title 'Multiplekser' declarations multip device 'p16v8'; x3,x2,x1,x0 pin 2,3,4,5; a1,a0 pin 8,9; y pin 17; a = [a1,a0]; equations when a == 0 then y = x0; when a == 1 then y = x1; when a == 2 then y = x2; when a == 3 then y = x3; end
UKŁADY SEKWENCYJNE Rejestr Blok złożony z pewnej liczny n przerzutników, którego zawartość jest określana jednym słowem n-bitowym Równoległy Przesuwający Równoległo-szeregowy Szeregowo-równoległy
Rejestr przesuwny
rejestr device 'p16v8'; clk pin 1; we pin 9; !a,!b,!c,!d,!e,!f,!g,!h pin 19,18,17,16,15,14,13,12 istype 'reg,invert'; st = [h,g,f,e,d,c,b,a]; equations st.c = clk; a := we; b := a.fb; c := b.fb; d := c.fb; e := d.fb; f := e.fb; g := f.fb; h := g.fb;
Budowa bramek Bramki mogą być elementami elektronicznymi, pneumatycznymi lub innymi. Zajmiemy się budową tylko niektórych bramek elektronicznych. Mówiąc (lub pisząc) bramka będziemy mieli na myśli bramki zbudowane jako układy scalone z tranzystorów. Bramki przetwarzają sygnały elektryczne. Wartości 0 i 1 są przedstawione za pomocą odpowiednich napięć.
Zakresy napięć dla stanów wysokiego (czerwony) i niskiego (zielony) Na wejściu bramki Na wyjściu bramki W logice dodatniej stanowi niskiemu odpowiada zero, a wysokiemu – jedynka logiczna.