Podstawy syntezy kombinacyjnych ukªadów logicznych. Kodery i dekodery. Sprawozdanie
Tomasz Grobelny Mirosªaw Jedynak 2 kwietnia 2005
1 Minimalizacja zadanej funkcji logicznej
Rozwa»amy funkcj¦ logiczn¡ zdeniowan¡ za pomoc¡ tablicy prawdy 1. Posta¢ kanoniczna sumy przyjmuje posta¢:
Y = A B C D + A B C D + A B C D + A B C D + A B C D + A B C D + A B C D natomiast posta¢ kanoniczna iloczynu ma posta¢:
Y = A + B + C + D · A + B + C + D · A + B + C + D · A + B + C + D · A + B + C + D · A + B + C + D · A + B + C + D · A + B + C + D · A + B + C + D
Minimalizacji funkcji dokonujemy za pomoc¡ tablicy Karnaugh'a 2. Po zminimalizowaniu funkcja ma posta¢:
Y = A B D + B C D + B D
Ukªad realizuj¡cy t¡ funkcj¦ logiczn¡ zrealizowany przy u»yciu bramek NAND przedstawiony jest na rysunku 1.
Rysunek 1: Realizacja funkcja z tablicy 1 przy u»yciu bramek NAND
2 Ukªad zwi¦kszaj¡cy 4-bitow¡ liczb¦ binarn¡
W tablicy 3 przedstawiono funkcje logiczne realizuj¡ce ukªad inkrementuj¡cy liczb¦ 4-bitow¡. Po uproszczeniu funkcji X, Y , Z i W b¦d¡ one miaªy posta¢:
X = A C + A B + A C D + A B C D Y = B D + B C D + B C
Z = C D + C D
A B C D Y
0 0 0 0 0 1
1 0 0 0 1 0
2 0 0 1 0 1
3 0 0 1 1 0
4 0 1 0 0 0
5 0 1 0 1 0
6 0 1 1 0 0
7 0 1 1 1 1
8 1 0 0 0 1
9 1 0 0 1 0
10 1 0 1 0 1
11 1 0 1 1 0
12 1 1 0 0 0
13 1 1 0 1 1
14 1 1 1 0 0
15 1 1 1 1 1
Tablica 1: Zadana funkcja logiczna
PP PP
PP PP
AB CD 00 01 11 10
00 1 0 0 1
01 0 0 1 0
11 0 1 1 0
10 1 0 0 1
Tablica 2: Tablica Karnaugh'a dla funkcji logicznej zdeniowanej w tablicy 1
A B C D X Y Z W
0 0 0 0 0 0 0 1
0 0 0 1 0 0 1 0
0 0 1 0 0 0 1 1
0 0 1 1 0 1 0 0
0 1 0 0 0 1 0 1
0 1 0 1 0 1 1 0
0 1 1 0 0 1 1 1
0 1 1 1 1 0 0 0
1 0 0 0 1 0 0 1
1 0 0 1 1 0 1 0
1 0 1 0 1 0 1 1
1 0 1 1 1 1 0 0
1 1 0 0 1 1 0 1
1 1 0 1 1 1 1 0
1 1 1 0 1 1 1 1
1 1 1 1 0 0 0 0
Tablica 3: Funkcje logiczne potrzebne do zbudowania ukªadu inkrementuj¡cego liczb¦ 4-bitow¡
Ukªad zrealizowany na podstawie tych funkcji logicznych (po zminimalizowaniu za pomoc¡ tabeli Karnaugh'a) przedstawiony jest na rysunku 2. Przy zaprezentowanym wy»ej podej±ciu uogólnienie problemu na liczby n-
Rysunek 2: Realizacja ukªadu inkrementuj¡cego liczb¦ 4-bitow¡ przy u»yciu dowolnych bramek logicznych bitowe jest trudne. W realizacji ukªadu mo»na jednak wykorzysta¢ n sumatorów bitowych w ten sposób, »e jedno wej±cie sumatora podª¡czamy do odpowiadaj¡cego mu wej±cia ukªadu, a drugie do wyj±cia przeniesienia poprzedniego sumatora (dla pierwszego sumatora do napi¦cia zasilaj¡cego). W ten sposób bardzo ªatwo mo»na uogólni¢ problem na dowoln¡ liczb¦ bitów wykorzystuj¡c tylko 2 bramki (AND i XOR) na ka»dy kolejny bit.
Kompletny ukªad przedstawiony zostaª na rysunku 3.
3 Ukªad sprawdzaj¡cy podzielno±¢ 4-bitowej liczby przez 3
Funkcj¦ logiczn¡ któr¡ nale»y zrealizowa¢ w tym zadaniu przedstawiono w tabeli 4. Minimalizacja funkcji okazuje si¦ nieskuteczna zatem do projektowania ukladu przyjmujemy funkcj¦ postaci:
Y = A B C D + A B C D + A B C D + A B C D + A B C D + A B C D Gotowy ukªad przedstawiony jest na rysunku 4.
4 Sporz¡dzenie ukªadu detekcji okre±lonych stanów licznika
Funkcja realizowana przez ukªad dekoduj¡cy stan 5 na wej±ciu przedstawia si¦ nast¦puj¡co:
Y = A B CD
Zatem aby zrealizowa¢ ten ukªad potrzebujemy jednej bramki AND oraz 2 inwertery. Odpowiedni ukªad przedsta- wiono na rysunku 5.
Rysunek 3: Realizacja ukªadu inkrementuj¡cego liczb¦ 4-bitow¡ przy u»yciu sumatora bitowego A B C D Y
0 0 0 0 0 1
1 0 0 0 1 0
2 0 0 1 0 0
3 0 0 1 1 1
4 0 1 0 0 0
5 0 1 0 1 0
6 0 1 1 0 1
7 0 1 1 1 0
8 1 0 0 0 0
9 1 0 0 1 1
10 1 0 1 0 0
11 1 0 1 1 0
12 1 1 0 0 1
13 1 1 0 1 0
14 1 1 1 0 0
15 1 1 1 1 1
Tablica 4: Funkcja logiczna zwracaj¡ca warto±c 1 dla liczb podzielnych przez 3
5 Realizacja enkodera 1 z 4 na kod binarny
Realizacja ukªadu enkodera 1 z 4 na kod binarny przedstawiona jest na rysunku 6. W zaprezentowanym roz- wi¡zaniu wykorzystano bramki OR, ale zastosowanie w ich miejsce bramek XOR nie zmieniªoby dziaªania ukªadu przy zaªo»eniu, »e nie wi¦cej ni» jedno wej±cie jest aktywne.
D C B A X Y Z W
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1
0 0 1 0 0 0 1 1
0 0 1 1 0 0 1 0
0 1 0 0 0 1 1 0
0 1 0 1 0 1 1 1
0 1 1 0 0 1 0 1
0 1 1 1 0 1 0 0
1 0 0 0 1 1 0 0
1 0 0 1 1 1 0 1
1 0 1 0 1 1 1 1
1 0 1 1 1 1 1 0
1 1 0 0 1 0 1 0
1 1 0 1 1 0 1 1
1 1 1 0 1 0 0 1
1 1 1 1 1 0 0 0
Tablica 5: Zapis liczb w kodzie Graya
PP PP
PP PP
AB CD 00 01 11 10
00 0 0 0 0
01 0 0 0 0
11 1 1 1 1
10 1 1 1 1
Tablica 6: Tablica Karnaugh'a dla funkcji logicznej X
PP PP
PP PP
AB CD 00 01 11 10
00 0 0 0 0
01 1 1 1 1
11 0 0 0 0
10 1 1 1 1
Tablica 7: Tablica Karnaugh'a dla funkcji logicznej Y
PP PP
PP PP
AB CD 00 01 11 10
00 0 0 1 1
01 1 1 0 0
11 1 1 0 0
10 0 0 1 1
Tablica 8: Tablica Karnaugh'a dla funkcji logicznej Z
PP PP
PP PP
AB CD 00 01 11 10
00 0 1 0 1
01 0 1 0 1
11 0 1 0 1
10 0 1 0 1
Rysunek 4: Realizacja ukªadu sprawdzaj¡cego podzielno±¢ liczby przez 3 przy u»yciu dowolnych bramek logicznych
Rysunek 5: Realizacja ukªadu dekoduj¡cego stan 5 na wej±ciu wraz z ukªadem testuj¡cym
6 Realizacja transkodera kodu binarnego na kod Graya
Z tablic Karnaugh'a o numerach 6, 7, 8 oraz 9 wynikaj¡ nast¦puj¡ce postacie zminimalizowane odpowiednich funkcji przedstawionych w tablicy 5:
X = D
Y = D C + D C Z = C B + C B W = A B + A B
Ukªad realizuj¡cy powy»sze funkcje logiczne przedstawiony jest na rysunku 7.
Rysunek 6: Realizacja ukªadu enkodera 1 z 4 na kod binarny
Rysunek 7: Realizacja transkodera kodu binarnego na kod Graya