Cyfrowe układy kombinacyjne
Combinational circuitsskładają się z bramek logicznych. Te obwody działają z wartościami binarnymi. Wyjście (a) obwodu kombinacyjnego zależy od kombinacji obecnych wejść. Poniższy rysunek przedstawiablock diagram obwodu kombinacyjnego.
Ten układ kombinacyjny ma „n” zmiennych wejściowych i „m” wyjść. Każda kombinacja zmiennych wejściowych będzie miała wpływ na wyniki.
Procedura projektowania układów kombinacyjnych
Znajdź wymaganą liczbę zmiennych wejściowych i wyników z podanych specyfikacji.
Sformułuj Truth table. Jeśli jest „n” zmiennych wejściowych, to będzie 2n możliwych kombinacji. Znajdź wartości wyjściowe dla każdej kombinacji danych wejściowych.
Znaleźć Boolean expressionsdla każdego wyjścia. W razie potrzeby uprość te wyrażenia.
Zaimplementuj powyższe wyrażenia logiczne odpowiadające każdemu wyjściu przy użyciu Logic gates.
Konwertery kodu
Omówiliśmy różne kody w rozdziale o nazwie kody. Konwertery, które konwertują jeden kod na inny, są nazywane jakocode converters. Te konwertery kodu zasadniczo składają się z bramek logicznych.
Przykład
Kod binarny do konwertera kodu Graya
Zaimplementujmy konwerter, który konwertuje 4-bitowy kod binarny WXYZ na odpowiadający mu kod Graya ABCD.
W poniższej tabeli przedstawiono Truth table 4-bitowego kodu binarnego do konwertera kodu Graya.
Kod binarny WXYZ | WXYZ Szary kod ABCD |
---|---|
0000 | 0000 |
0001 | 0001 |
0010 | 0011 |
0011 | 0010 |
0100 | 0110 |
0101 | 0111 |
0110 | 0101 |
0111 | 0100 |
1000 | 1100 |
1001 | 1101 |
1010 | 1111 |
1011 | 1110 |
1100 | 1010 |
1101 | 1011 |
1110 | 1001 |
1111 | 1000 |
Z tabeli Prawda możemy napisać plik Boolean functions dla każdego wyjściowego bitu kodu Graya, jak poniżej.
$$ A = \ sum m \ left (8,9,10,11,12,13,14,15 \ right) $$
$$ B = \ sum m \ left (4,5,6,7,8,9,10,11 \ right) $$
$$ C = \ sum m \ left (2,3,4,5,10,11,12,13 \ right) $$
$$ D = \ sum m \ left (1,2,5,6,9,10,13,14 \ right) $$
Uprośćmy powyższe funkcje za pomocą 4 zmiennych K-Maps.
Poniższy rysunek przedstawia 4 variable K-Map dla uproszczenia Boolean function, A.
Grupując 8 sąsiednich, otrzymaliśmy $ A = W $.
Poniższy rysunek przedstawia 4 variable K-Map dla uproszczenia Boolean function, B.
Istnieją dwie grupy po 4 sąsiadujące ze sobą. Po zgrupowaniu otrzymamy B jako
$$ B = {W} 'X + W {X}' = W \ oplus X $$
Podobnie, po uproszczeniu otrzymamy następujące funkcje boolowskie dla C & D.
$$ C = {X} 'Y + X {Y}' = X \ oplus Y $$
$$ D = {Y} 'Z + Y {Z}' = Y \ oplus Z $$
Poniższy rysunek przedstawia circuit diagram 4-bitowego kodu binarnego do konwertera kodu Graya.
Ponieważ wyjścia zależą tylko od obecnych wejść, ten 4-bitowy konwerter kodu binarnego na kod Graya jest układem kombinacyjnym. Podobnie możesz zaimplementować inne konwertery kodu.
Generator bitów parzystości
Istnieją dwa typy generatorów bitów parzystości w zależności od typu generowanego bitu parzystości. Even parity generatorgeneruje bit parzystości. Podobnie,odd parity generator generuje dziwny bit parzystości.
Generator parzystości
Teraz zaimplementujmy generator równej parzystości dla 3-bitowego wejścia binarnego, WXY. Generuje parzysty bit parzystości P. Jeśli na wejściu jest nieparzysta liczba jedynek, to parzysty bit parzystości P powinien wynosić „1”, aby wynikowe słowo zawierało parzystą liczbę jedynek. Dla innych kombinacji danych wejściowych, nawet bitu parzystości, P powinno wynosić „0”. W poniższej tabeli przedstawionoTruth table generatora parzystości.
Wejście binarne WXY | Parzysty bit P |
---|---|
000 | 0 |
001 | 1 |
010 | 1 |
011 | 0 |
100 | 1 |
101 | 0 |
110 | 0 |
111 | 1 |
Z powyższej tabeli Prawdy możemy napisać plik Boolean function dla parzystego bitu jako
$$ P = {W} '{X}' Y + {W} 'X {Y}' + W {X} '{Y}' + WXY $$
$ \ Rightarrow P = {W} '\ left ({X}' Y + X {Y} '\ right) + W \ left ({X}' {Y} '+ XY \ right) $
$ \ Rightarrow P = {W} '\ left (X \ oplus Y \ right) + W {\ left (X \ oplus Y \ right)}' = W \ oplus X \ oplus Y $
Poniższy rysunek przedstawia circuit diagram generatora parzystości.
Ten obwód składa się z dwóch Exclusive-OR gatesz dwoma wejściami każdy. Pierwsza bramka ExclusiveOR ma dwa wejścia W & X i wytwarza wyjście W ⊕ X. To wyjście jest podawane jako jedno wejście drugiej bramki Exclusive-OR. Drugim wejściem tej drugiej bramki Exclusive-OR jest Y i generuje wyjście W ⊕ X ⊕ Y.
Generator nieparzystej parzystości
Jeśli na wejściu występuje parzysta liczba jedynek, to nieparzysty bit parzystości P powinien wynosić „1”, tak aby wynikowe słowo zawierało nieparzystą liczbę jedynek. W przypadku innych kombinacji danych wejściowych nieparzysty bit parzystości P powinien wynosić „0”.
Wykonaj tę samą procedurę dla generatora parzystej parzystości, aby zaimplementować generator nieparzystej parzystości. Plikcircuit diagram nieparzystego generatora parzystości pokazano na poniższym rysunku.
Powyższy schemat obwodu składa się z bramki Ex-OR na pierwszym poziomie i bramki Ex-NOR na drugim poziomie. Ponieważ parzystość nieparzysta jest przeciwieństwem parzystości parzystej, możemy umieścić falownik na wyjściu generatora parzystości parzystej. W takim przypadku pierwszy i drugi poziom zawierają bramkę ExOR na każdym poziomie, a trzeci poziom składa się z falownika.
Kontroler parzystości
Istnieją dwa rodzaje narzędzi do sprawdzania parzystości w zależności od rodzaju sprawdzania parzystości. Even parity checkersprawdza błąd w przesyłanych danych, które zawierają bity wiadomości wraz z parzystością. Podobnie,odd parity checker sprawdza błąd w przesyłanych danych, które zawierają bity komunikatu wraz z nieparzystą parzystością.
Nawet sprawdzanie parzystości
Teraz zaimplementujmy obwód sprawdzania parzystości. Załóżmy, że wejście binarne 3-bitowe, WXY jest przesyłane wraz z bitem parzystości P. Zatem wynikowe słowo (dane) zawiera 4 bity, które zostaną odebrane jako wejście kontrolera parzystości.
Generuje plik even parity check bit, E. Ten bit będzie równy zero, jeśli odebrane dane zawierają parzystą liczbę jedynek. Oznacza to, że w otrzymanych danych nie ma błędów. Ten bit kontroli parzystości będzie równy jeden, jeśli odebrane dane zawierają nieparzystą liczbę jedynek. Oznacza to, że w odebranych danych wystąpił błąd.
W poniższej tabeli przedstawiono Truth table równego kontrolera parzystości.
4-bitowe odebrane dane WXYP | Bit kontroli parzystości E |
---|---|
0000 | 0 |
0001 | 1 |
0010 | 1 |
0011 | 0 |
0100 | 1 |
0101 | 0 |
0110 | 0 |
0111 | 1 |
1000 | 1 |
1001 | 0 |
1010 | 0 |
1011 | 1 |
1100 | 0 |
1101 | 1 |
1110 | 1 |
1111 | 0 |
Z powyższej tabeli Prawdy możemy zauważyć, że wartość bitu kontroli parzystości parzystości wynosi „1”, gdy w odebranych danych występuje nieparzysta liczba bitów. Oznacza to, że funkcją logiczną bitu kontroli parzystości jest funkcjaodd function. Funkcja wyłącznego LUB spełnia ten warunek. Dlatego możemy bezpośrednio napisać plikBoolean function nawet bit kontroli parzystości jako
$$ E = W \ oplus X \ oplus Y \ oplus P $$
Poniższy rysunek przedstawia circuit diagram nawet kontrolera parzystości.
Ten obwód składa się z trzech Exclusive-OR gatesz dwoma wejściami każdy. Bramki pierwszego poziomu wytwarzają wartości wyjściowe $ W \ oplus X $ i $ Y \ oplus P $. Bramka Exclusive-OR, która jest na drugim poziomie, daje wynik $ W \ oplus X \ oplus Y \ oplus P $
Nieparzysty kontroler parzystości
Załóżmy, że 3-bitowe wejście binarne, WXY jest przesyłane wraz z nieparzystym bitem parzystości P. Zatem wynikowe słowo (dane) zawiera 4 bity, które zostaną odebrane jako wejście nieparzystego kontrolera parzystości.
Generuje plik odd parity check bit, E. Ten bit będzie równy zero, jeśli odebrane dane zawierają nieparzystą liczbę jedynek. Oznacza to, że w otrzymanych danych nie ma błędów. Ten nieparzysty bit kontroli parzystości będzie jeden, jeśli odebrane dane zawierają parzystą liczbę jedynek. Oznacza to, że w odebranych danych wystąpił błąd.
Postępuj zgodnie z tą samą procedurą co kontroler parzystej parzystości, aby zaimplementować nieparzysty kontroler parzystości. Plikcircuit diagram nieparzystego kontrolera parzystości pokazano na poniższym rysunku.
Powyższy schemat obwodu składa się z bramek Ex-OR na pierwszym poziomie i bramki Ex-NOR na drugim poziomie. Ponieważ parzystość nieparzysta jest przeciwieństwem parzystości parzystej, możemy umieścić falownik na wyjściu kontrolera parzystości. W takim przypadku pierwszy, drugi i trzeci poziom zawierają odpowiednio dwie bramki Ex-OR, jedną bramkę Ex-OR i jeden falownik.