Układy konwersji kodów Problematyka wykładu Wprowadzenie Zjawisko hazardu Układy arytmetyczne Układy konwersji kodów Multipleksery i demultipleksery
Wprowadzenie Kolejność postępowania przy syntezie kombinacyjnego układu logicznego: określenie funkcji logicznej odpowiednio do postawionych wymagań np. za pomocą tablicy stanów (tablicy prawdy); przeprowadzenie procesu minimalizacji funkcji logicznej np. przy użyciu tablic Karnaugha lub metodą algebraiczną; sporządzenie schematu układu, odpowiadającego zminimalizowanej formie boolowskiej; optymalizacja konfiguracji schematowej.
Wprowadzenie Synteza układu opisanego formą sumacyjną, reguły stosowania symboli funktorów równoważnych dla NAND: bramkę wejściową, na której wyjściu otrzymuje się stany lub poziomy logiczne realizujące pożądaną funkcję, określa się jako reprezentującą pierwszy (nieparzysty) poziom układu. Graficznym symbolem tej bramki jest symbol DOR; POZIOMY UKŁADU 1 F
Wprowadzenie Synteza układu opisanego formą sumacyjną, reguły stosowania symboli funktorów równoważnych dla NAND: bramki których wyjścia są przyłączone do wejść bramki wyjściowej, określa się jako reprezentujące drugi (parzysty) poziom układu. Graficznymi symbolami tych bramek są symbole NAND; POZIOMY UKŁADU 2 1 F
Wprowadzenie Synteza układu opisanego formą sumacyjną, reguły stosowania symboli funktorów równoważnych dla NAND: dalsze poprzedzające bramki reprezentują odpowiednio dalsze nieparzyste i parzyste poziomy, przy czym na poziomach nieparzystych stosuje się symbole DOR, a na poziomach parzystych symbole NAND; POZIOMY UKŁADU 4 3 2 1 F
Wprowadzenie Synteza układu opisanego formą sumacyjną, reguły stosowania symboli funktorów równoważnych dla NAND: w zasadzie każda linia połączeniowa między wyjściem jednej bramki a wejściem drugiej powinna mieć na obydwu końcach symbole wskaźnika negacji lub nie powinna ich mieć w ogóle; POZIOMY UKŁADU 4 3 2 1 F
Wprowadzenie Synteza układu opisanego formą sumacyjną, reguły stosowania symboli funktorów równoważnych dla NAND: zmienne wprowadzane na wejścia ze wskaźnikami negacji są reprezentowane w formie boolowskiej przez swe dopełnienia; zmienne wprowadzane na wejścia bez wskaźników negacji są reprezentowane w formie boolowskiej bez dopełnienia. POZIOMY UKŁADU 4 3 2 1 F
Wprowadzenie POZIOMY UKŁADU 4 3 2 1 F F 1 2 3 4
Przykład odstępstwa od reguły 4-tej Wprowadzenie Przykład odstępstwa od reguły 4-tej F 1 2 POZIOMY UKŁADU F
maksymalna niezawodność. Wprowadzenie Do optymalizacji układów kombinacyjnych (reguła 4-ta) najczęściej są stosowane następujące kryteria: minimalna złożoność układowa; minimalne opóźnienie propagacji; minimalny koszt; maksymalna niezawodność.
Hazard Przyczyny powstania zjawiska hazardu: gdy przynajmniej jeden sygnał wejściowy dochodzi do wyjścia drogami o różnych opóźnieniach; gdy jednocześnie ulegają zmianie dwa lub więcej sygnałów wejściowych i przechodzą one do wyjścia drogami o różnych opóźnieniach; gdy układ zapewnia dla wszystkich sygnałów wejściowych drogi o jednakowych opóźnieniach, lecz sygnały te zmieniają swe stany logiczne niejednocześnie.
Zjawisko hazardu statycznego F F1 F2 F3 1 0 0 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 F1 F2 F3 F x1x0 x2 00 01 11 10 1 Hazard statyczny w 1
Zjawisko hazardu dynamicznego F F1 F2 F4 F3 1 01 10 10 01 10 01 1 10 01 1 10 01 1 01 10 1 1 10 10 1 10 01 01 F1 F2 F3 F4 Hazard dynamiczny F
Zjawisko hazardu dynamicznego F F1 F2 F4 F3 x2x3 x1 00 01 11 10 1 F F1
Zjawisko hazardu dynamicznego 1 01 10 01 10 1 1 01 10 F F1 1 F1 F Hazard statyczny w 1
Detektor narastającego zbocza sygnału 1 10 01 01 10 F F1 10 01 F1 F
Detektor opadającego zbocza sygnału 10 01 F F1 1 1 01 10 01 1 10 F1 F
Detektor opadającego zbocza sygnału F F1 01 1 01 01 10 1 10 10 01 1 1 10 F1 F
Układy arytmetyczne Równanie Tabela prawdy Symbol Tablice Karnaugha Układ półsumatora Równanie Tabela prawdy A B C S Czynniki Suma Przeniesienie A B S C 0 0 0 1 1 0 1 1 Symbol A C B S Tablice Karnaugha 1 A B C S
Układy arytmetyczne Tablice Karnaugha Układ półsumatora Tablice Karnaugha C S B B 1 1 A A 1 1 1 1 1
Przykłady implementacji układowej półsumatora Układy arytmetyczne Przykłady implementacji układowej półsumatora B A Przykład
Układy arytmetyczne Symbol Równanie Tablice Karnaugha S Tabela prawdy Układ sumatora Symbol Równanie Ai Bi Ci-1 Ci Si Czynniki Suma Przeniesienie Ai Ci Bi Si S Ci-1 Tablice Karnaugha Ci Ai Bi Ci-1 Si 00 01 11 10 1 Tabela prawdy Ai Bi Ci-1 Si Ci 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 1 0 0 1 1 1 00 01 11 10 1
Układy arytmetyczne Tablice Karnaugha Układ sumatora Tablice Karnaugha Ci Ai Bi Ci-1 00 01 11 10 1 Si Ai Bi Ci-1 00 01 11 10 1
Przykłady implementacji układowej sumatora Układy arytmetyczne Przykłady implementacji układowej sumatora Bi Ai Ci-1 Przykład
Realizacja układ sumatora z dwóch półsumatorów Układy arytmetyczne Realizacja układ sumatora z dwóch półsumatorów Ai Bi PÓŁSUMATOR AB Si Ci Ci-1 Przykład
Sumator wielobitowy szeregowy Układy arytmetyczne Sumator wielobitowy szeregowy Składnik A ........ Suma A Ci-1 S B Ci n-bitowy rejestr przesuwający ........ Składnik B n-bitowy rejestr przesuwający ........ D Q C n-bitowy rejestr przesuwający Zegar
Sumator wielobitowy szeregowy Układy arytmetyczne Sumator wielobitowy szeregowy Składnik A 1 1 1 1 1 Suma A Ci-1 S B Ci 6-bitowy rejestr przesuwający 1 1 1 1 1 1 1 Składnik B 6-bitowy rejestr przesuwający 1 1 1 1 D Q C 6-bitowy rejestr przesuwający 1 Zegar 6 4 5 3 1 2
Sumator wielobitowy równoległy z przeniesieniami szeregowymi Układy arytmetyczne Sumator wielobitowy równoległy z przeniesieniami szeregowymi B A Ci Ci-1 S A1 B1 C0 S1 Ci Ci-1 A2 B2 C1 S2 A3 B3 C2 S3 Ci Ci-1 An Bn Cn-1 Sn Cn C3
Sumator wielobitowy równoległy z przeniesieniami szeregowymi Układy arytmetyczne Sumator wielobitowy równoległy z przeniesieniami szeregowymi B A Ci Ci-1 S Ci Ci-1 A1 B1 C0 S1 A2 B2 C1 S2 A3 B3 C2 S3 Ci Ci-1 A4 B4 S4 C5 C3 1 1 1 1 1
Sumator wielobitowy równoległy z przeniesieniami jednoczesnymi Układy arytmetyczne Sumator wielobitowy równoległy z przeniesieniami jednoczesnymi Blok przeniesień Blok sumy A B S Cn C0
Scalony układ arytmetyczny Układy arytmetyczne Scalony układ arytmetyczny
Jednostka arytmetyczno-logiczna Układy arytmetyczne Jednostka arytmetyczno-logiczna A0,...,A3 i B0,...,B3 - wejścia dla dwóch słów czterobitowych Cn - wejście przeniesienia M - wejście określające tryb pracy S0,...,S3 - wejścia wyboru funkcji F0,...,F3 - wyjście wyniku Cn+4 - wyjście przeniesienia G - wyjście przeniesienia generowanego P - wyjście przeniesienia propagowanego A = B - wyjście komparacyjne
Realizacja operacji porównania Układy arytmetyczne Realizacja operacji porównania A=B jest w stanie wysokim gdy obydwie liczby są równe A=B jest w stanie niskim gdy obydwie liczby są różne W wyniku operacji porównania na wyjściach A=B i Cn+4 otrzymujemy:
Układ realizujący operację dodawania i odejmowania B4 B3 B2 B1 A4 A3 A2 A1 1 1 1 1 A1 S1 A2 S2 A3 S3 A4 S4 B1 B2 B3 B4 C0 C4 1 1 1 1 1 Sterowanie Dodawanie Odejmowanie 1 1
Układ realizujący operację dodawania liczb w kodzie BCD A1 S1 A2 S2 A3 S3 A4 S4 B1 B2 B3 B4 C0 C4 A4 A3 A2 A1 1 Cn-1 1 1 1 Cn A1 S1 A2 S2 A3 S3 A4 S4 B1 B2 B3 B4 C0 C4 1 1 1 1
Układ generacji bitu parzystości Generowanie bitu parzystości polega na wytworzeniu jednego bitu i dodaniu go do słowa kodowego, będącego nośnikiem informacji. Bit ten jest zwany bitem parzystości. Jeśli dane słowo kodowe zawiera nieparzystą (parzystą) liczbę jedynek, to bit parzystości przyjmuje wartość 1 w przeciwnym przypadku wartość 0. Bit parzystości generowany jest zgodnie z równaniem: gdzie: - bit słowa informacyjnego (i=0…n).
Układ generacji bitu parzystości 1 1 1 A0 A1 A2 A3 1 1 1 1 1 1 1 1 Sygnał sterujący: 0 – generacja bitu parzystości; 1 – generacja bitu nieparzystości. 0 – bez błędu; 1 – błąd. dla bitu parzystości 0 – błąd; 1 – bez błędu. dla bitu nieparzystości
Układ generacji bitu parzystości Tabela stanów dla układu 74180 Wejścia Wyjścia Liczba stanów 1 na wejściach danych (A...H) od 0 do 7 jest: Parzyste (EI) Nieparzyste (OI) Parzyste (EVEN) Nieparzyste (ODD) Parzysta 1 Nieparzysta X
Układ generacji bitu parzystości F G H EI EVEN OI ODD 74180 B0 B7 Wejścia sterujące Wyjścia kontrolne
Układy konwersji kodów Podział: enkodery (zwane również koderami); zwykłe priorytetowe dekodery; pełne - jeżeli 2n = m niepełne - jeżeli 2n < m transkodery.
Układ enkodera zwykłego Tabela prawdy Wejścia Wyjścia Kod 1 z 10 Kod 9 8 7 6 5 4 3 2 1 0 D C B A 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 Równania dla enkodera 1 z 10 A = 1 + 3 + 5 + 7 + 9 A = (1 + 9) + (3 + 7) + (5 + 7) B = 2 + 3 + 6 + 7 B = (2 + 6) + (3 + 7) C = 4 + 5 + 6 + 7 C = (4 + 6) + (5 + 7) D = 8 + 9 D = 8 + 9
Układ enkodera zwykłego Realizacje układowe Przykład: enkoder1z10.msm
Układ enkodera zwykłego Tabela prawdy Wejścia Wyjścia Kod 1 z 10 Kod 9 8 7 6 5 4 3 2 1 0 D C B A 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 Równania dla enkodera
Układ enkodera zwykłego Realizacje układowe Przykład: enkoder_nie_1z10.msm
Układ enkodera priorytetowego Realizacja z konwersją pośrednią Kod 1 z n . K o d x z n w y j ś c i
Układ enkodera priorytetowego Realizacja z konwersją bezpośrednią . K o d x z n w y j ś c i
Układ enkodera priorytetowego Realizacja iteracyjna konwersji kodu x z n na kod 1 z n x z n n - 1 Yn-1 Bn En-1 n - 2 Yn-2 Bn-1 En-2 Bn-2 Bi+1 i Yi-1 B2 Ei-1 1 Y1 B1 E1 Y0 B0 E0 Bi 1 z n Funkcje przełączające i-tego stopnia mają postać:
Zasada działania i-tego stopnia enkodera priorytetowego Bi+1 Yi Bi Ei Symbol Schemat logiczny 1 1 1 1 1 1 Bi+1 Ei Yi Bi 0 0 0 1 1 0 1 1 Tabela prawdy 1
Układ enkodera priorytetowego Realizacja z równoległą propagacją przeniesienia
Układ dekodera pełnego Tabela prawdy Wejścia Wyjścia x0 x1 A B C D 0 0 1 0 0 0 0 1 1 1 0 1 0 1 0 0 1 0 1 1 1 0 0 0 1 0 1 1 0 1 1 1 0 0 0 1 1 1 1 0 Równania dla dekodera kodu 8421 na 1 z 4
Układ dekodera pełnego Realizacje układowe NOT x0 x1 A B C D AND 1 z 4 Przykład: dekoder8421_1z4.msm
Układ dekodera pełnego Realizacje układowe NOT A B C D NOR 1 z 4 x0 x1
Układ dekodera pełnego Tabela prawdy Wejścia Wyjścia x0 x1 A B C D 0 0 1 0 0 0 0 1 1 1 0 1 0 1 0 0 1 0 1 1 1 0 0 0 1 0 1 1 0 1 1 1 0 0 0 1 1 1 1 0 Równania dla dekodera kodu 8421 na
Układ dekodera pełnego Realizacje układowe NOT x0 x1 A B C D NAND Przykład: dekoder8421_nie_1z4.msm
Układ dekodera pełnego Realizacje układowe NOT A B C D OR x0 x1
Układ dekodera niepełnego Tabela prawdy 1 --- 10 11 01 00 x1x0 x3x2 A 1 --- 10 11 01 00 C x3x2 x1x0 Wejścia Wyjścia BCD 8421 1 z 10 X3 X2 X1 X0 A B C D E F G H I J 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1
Układ dekodera niepełnego Tabela stanów dekodera Kod wejściowy x3 x2 x1 x0 Nr aktywnego wyjścia 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 A B C D E F G H I J Stany zabronione 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 C, I D, J E, I F, J G, I H, J Przykład: dekoder_8421_1z10.msm
Układ transkodera Kod wejściowy X Kod wejściowy Y Transkoder Kod pierścieniowy Kod wejściowy Y DEKODER ENKODER Transkoder TRANSKODER Kod wejściowy Y Kod wejściowy X
Układ transkodera Tabela prawdy A = x3 D = x0 1 --- 10 11 01 00 x1x0 1 --- 10 11 01 00 x1x0 x3x2 B 1 --- 10 11 01 00 C x3x2 x1x0 Wejścia Wyjścia 8 4 2 1 2 4 2 1 X3 X2 X1 X0 A B C D 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 1 1 0 1 1 1 1 A = x3 D = x0
Multipleksery i demultipleksery Linia przesyłowa W E J Ś C I A Y 1 2 n-1 n Adres
Funkcja realizowana przez układ: Multiplekser scalony 74151 Tabela stanów Symbol Wejścia Wyjścia Adresowe Strobujące Y W C B A S X X X 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 1 D0 D0’ D1 D1’ D2 D2’ D3 D3’ D4 D4’ D5 D5’ D6 D6’ D7 D7’ Funkcja realizowana przez układ:
Realizacja funkcji przełączającej za pomocą multipleksera ba c 00 01 11 10 1 1 3 2 4 5 7 6 ?
Realizacja funkcji przełączającej za pomocą multipleksera ba c 00 01 11 10 1 1 3 2 4 5 7 6 1
Realizacja funkcji przełączającej za pomocą multipleksera ba dc 00 01 11 10 1 3 2 4 5 7 6 ?
Realizacja funkcji przełączającej za pomocą multipleksera ba dc 00 01 11 10 1 3 2 4 5 7 6 1
Funkcja realizowana przez układ: Multiplekser scalony 74151 Tabela stanów Symbol Wejścia Wyjścia Adresowe Strobujące Y W C B A S X X X 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 1 D0 D0’ D1 D1’ D2 D2’ D3 D3’ D4 D4’ D5 D5’ D6 D6’ D7 D7’ Funkcja realizowana przez układ:
Demultiplekser scalony 74155
Realizacja demultipleksera 8-bitowego