Dr inż. Jan Chudzikiewicz Pokój 253/S Tel. 683-93-57 E-mail: [email protected] Dane przedmiotu Wykład: 14 godzin Ćwiczenia laboratoryjne: 16 godzin Warunki zaliczenie: • Otrzymanie pozytywnej oceny z kolokwium przeprowadzonego na ostatnim wykładzie. • Otrzymanie pozytywnej oceny z laboratoriów. • Ocena końcowa z przedmiotu jest średnią ocen z: laboratoriów oraz kolokwium. 1 Literatura do części pierwszej wykładów Zieliński C.: Podstawy projektowania układów cyfrowych, Wydawnictwo Naukowe PWN, Warszawa 2003. Kamionka-Mikuła H.: Układy cyfrowe – teoria i przykłady, Pracownia komputerowa Jacka Skalmierskiego, Gliwice 2002. Tyszer J., Mrugalski G.: Układy cyfrowe. Zbiór zadań z rozwiązaniami, Wydawnictwo Politechniki Poznańskiej, Poznań 2002. Kalisz J.: Podstawy elektroniki cyfrowej, WKiŁ, Warszawa 1998. Traczyk W.: Układy cyfrowe. Podstawy teoretyczne i metody syntezy, WNT, Warszawa 1994. Baranowski, Kalinowski.: Układy elektroniczne cz. III. Układy i systemy cyfrowe, WNT, Warszawa 1994. 2 Problematyka wykładu • Wprowadzenie • Kody liczbowe stosowane w technice cyfrowej • Arytmetyka dwójkowa • Metody opisu układów kombinacyjnych • Metody minimalizacji funkcji logicznych (przełączających) 3 Rachunek zdań Zdania Zmienne zdaniowe Koniunkcja (p i q) Alternatywa (p lub q) Implikacja (jeśli p to q) Równoważność (p wtedy i tylko wtedy, gdy q) pq Negacja (nie p) Øp p q p Ùq p Úq pÞ q 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1 1 1 1 0 4 Poziomy logiczne U[V] 5 1 2 0,8 0 0 t Dla układów TTL serii standardowej: U OL max 0, 4 V U OH min 2, 4V U IL max 0,8 V U IH min 2V 5 Poziomy logiczne U[V] 5 1 2 0,8 0 0 t Marginesy zakłóceń: M L min U IL max U OL max 0,8 0, 4 0, 4V M H min U OH min U IH min 2, 4 2, 0 0, 4V 6 Algebra Boole’a Zerojedynkowa algebra Boole’a sygnałów binarnych B, , *, , 0, 1 Podstawowe funkcje logiczne: • iloczyn logiczny I (AND), • suma logiczna LUB (OR), • negacja NIE (NOT). 7 Algebra Boole’a X Y Suma – ‘+’ Iloczyn – ‘*’ Negacja – ‘ X ‘ 0 0 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 1 0 8 Prawa algebra Boole’a x0 x x *0 0 x 1 1 x *1 x xx x x*x x x x 1 x*x 0 xx x *( y z ) x * y x * z x y * z ( x y ) *( x z ) 9 Prawa algebra Boole’a x *( x y ) x x *( x y ) x * y x x* y x xx*y x y x* y y* z x * z x* y x *z ( x y ) *( y z ) *( x z ) ( x y) *( x z ) x * y x * y y ( x y )*( x y ) y x yz x* y* z* x * y*z * xyz 10 Przykłady stosowania algebry Boole’a F x * y * z x * y * z x * y *( z z ) x * y 1 F x * y z *( x * y z ) x * y z * x * y z * z x * y *(1 z ) x * y 0 1 F x * y y * z x * z x * y y * z *( x x ) x * z x* y x* y* z x * y* z x *z x * y *(1 z ) x * z *( y 1) x * y x * z 1 1 11 Przykłady stosowania algebry Boole’a Znajdź najprostszą postać funkcji. F x*z x * y *z y*z F x x* y x* z x* y * z Przekształć, wykorzystując prawa de Morgana, poniższe funkcje do postaci zawierającej jedynie operatory sumy i negacji. F x * y x *z y*z F ( y z )*( x y )*( y z ) 12 Systemy liczbowe Liczba w kodzie naturalnym: an 1 p n1 an 2 p n2 a1 p 1 a2 p 2 a1 p1 a0 p 0 n1 a m1 p m1 a m p m ai p i i 0 Najbardziej rozpowszechnione systemy liczbowe system dwójkowy (binarny) p 2, a i {0,1} system ósemkowy (oktalny) p 8, a i {0,1, 2, 3, 4, 5, 6, 7} system dziesiętny (dziesiątkowy, decymalny) p 10, a i {0,1, 2, 3, 4, 5, 6, 7, 8, 9} system szesnastkowy (heksadecymalny, heksagonalny) p 16, a i {0,1, 2, 3, 4, 5, 6, 7, 8, 9, A, B,C, D, E, F } 13 Systemy liczbowe Przykład zapisu liczb w zaprezentowanych kodach Kod dziesiętny Naturalny kod binarny Kod ósemkowy Kod szesnastkowy 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 00000 00001 00010 00011 00100 00101 00110 00111 01000 01001 01010 01011 01100 01101 01110 01111 10000 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 14 Systemy liczbowe - konwersja liczb Istotą konwersji liczb jest przekształcenie liczby zapisanej w jednym systemie liczbowym na równoważną jej liczbę zapisaną w innym systemie liczbowym. Ze względu na to, że wynik konwersji zapisu liczby z dowolnego systemu na binarny jest dłuższy niż pierwotna postać tej liczby, konwersję do postaci binarnej nazywa się również znajdowaniem rozwinięcia dwójkowego liczb, zaś jej wynik rozwinięciem dwójkowym liczby poddawanej konwersji. Prostym sposobem znajdowania rozwinięcia dwójkowego liczby dziesiętnej, czyli przeprowadzania konwersji dziesiętno-dwójkowej, jest znalezienie: • • dla części całkowitej - ciągu reszt dzielenia przez dwa, który w odwrotnym porządku daje część całkowitą wyniku; dla części ułamkowej - ciągu części całkowitych mnożenia przez dwa. 15 Systemy liczbowe - konwersja liczb Znaleźć rozwinięcie dwójkowe liczby 61.5625 Część ułamkowa liczby Część całkowita liczby: 61 . 30 1 Kolejne 1 1250 15 0 0 2500 7 1 0 5000 3 1 1 0000 1 1 0 1 wyniki dzielenia przez 2 Część całkowita . 5625 Kolejne wyniki mnożenia przez 2 Reszta 61.562510 = 111101.10012 16 Systemy liczbowe - konwersja liczb Konwersja z systemu dwójkowego do dziesiętnego liczby 111101.1001 Nr pozycji 1 2 3 4 5 6 7 8 9 10 Waga 2 4 8 16 32 64 128 256 512 1024 Nr pozycji 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 Waga 1 0.5 0.25 0.125 0.0625 0.03125 0.015625 0.0078125 0.00390625 0.00195312 1 25 1 24 1 23 1 22 0 21 1 20 61 1 2 3 4 1 2 0 2 0 2 1 2 0.5 0.0625 0.5625 111101.10012 = 61.562510 17 Systemy liczbowe - konwersja liczb Konwersja z systemu dwójkowego do ósemkowego liczby 1111000111000.111000111B dokonuje się podziału na grupy: 1 111 000 111 000.111 000 111 oraz podstawienia (w razie potrzeby po uzupełnieniu na początku końcu odpowiednią ilością zer, aby skrajne grupy były trzycyfrowe): 001 111 000 111 000.111 000 111 1 7 0 7 0 . 7 0 7 uzyskany wynik: 1111000111000.111000111B = 17070.707oct 18 Systemy liczbowe - konwersja liczb Konwersja z systemu ósemkowego do dwójkowego liczby 2340.5671oct przedstawienie każdej cyfry w postaci binarnej: 2 3 4 0 . 5 6 7 1 010 011 100 000 . 101 110 111 001 uzyskany wynik: 2340.5671oct = 010011100000.101110111001B 19 Systemy liczbowe - konwersja liczb Konwersja z systemu dwójkowego do szesnastkowego liczby 1111000111000.111000111B dokonuje się podziału na grupy: 1 1110 0011 1000.1110 0011 1 oraz podstawienia (w razie potrzeby po uzupełnieniu na początku końcu odpowiednią ilością zer, aby skrajne grupy były trzycyfrowe): 0001 1110 0011 1000.1110 0011 1000 1 E 3 8 . E 3 8 uzyskany wynik: 1111000111000.111000111B = 1E38.E38H 20 Systemy liczbowe - konwersja liczb Konwersja z systemu szesnastkowego do dwójkowego liczby 0E6C.7F8H przedstawienie każdej cyfry w postaci binarnej: E 6 C . 7 F 8 1110 0110 1100 . 0111 1111 1000 uzyskany wynik: 0E6C.7F8H = 111001101100.011111111000B 21 Systemy liczbowe System dziesiętny kodowany dwójkowo Jest to system liczbowy, w którym cyfry dziesiętne są przedstawiane w kodzie dwójkowym (są kodowane dwójkowo). Dla jednoznacznego przedstawienia 10 cyfr {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} systemu dziesiętnego trzeba zastosować kod dwójkowy przynajmniej 4-pozycyjny (4-bitowy). Kody służące do kodowania dwójkowego cyfr systemu dziesiętnego noszą nazwę kodów dwójkowo-dziesiętnych (ang. Binary Coded Decimal). 8 1 5 1000 0001 0101 setki dziesiątki jednostki 22 Systemy liczbowe System dziesiętny kodowany dwójkowo Kody dwójkowo-dziesiętne wagowe Kod 8421 2* 4 2 1 Aikena 2421 7421 8 4-2-1 0 0000 0000 0000 0000 0000 1 0001 0001 0001 0001 0111 2 0010 0010 0010 0010 0110 3 0011 0011 0011 0011 0101 4 0100 0100 0100 0100 0100 5 0101 0101 1011 0101 1011 6 0110 0110 1100 0110 1010 7 0111 0111 1101 1000 1001 8 1000 1110 1110 1001 1000 9 1001 1111 1111 1010 1111 Cyfra 23 Systemy liczbowe System dziesiętny kodowany dwójkowo Kody dwójkowo-dziesiętne niewagowe Kod Wattsa 1 z 10 (pierścieniowy) Johnsona pseudopierścieniowy 0011 0000 0000000001 00000 1 0100 0001 0000000010 00001 2 0101 0011 0000000100 00011 3 0110 0010 0000001000 00111 4 0111 0110 0000010000 01111 5 1000 1110 0000100000 11111 6 1001 1010 0001000000 11110 7 1010 1011 0010000000 11100 8 1011 1001 0100000000 11000 9 1100 1000 1000000000 10000 Z nadmiarem 3 0 Cyfra 24 Systemy liczbowe System dziesiętny kodowany dwójkowo Przykład. Liczbę dziesiętną A=197 można przedstawić: 1 9 7 w kodzie 8421 A8421 = 0001 1001 0111B w kodzie 2421 A2421 = 0001 1111 1101B w kodzie 84-2-1 A84-2-1= 0111 1111 1001B 25 Kod Graya Kod dziesiętny Kod refleksyjny 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 00000 00001 00011 00010 00110 00111 00101 00100 01100 01101 01111 01110 01010 01011 01001 01000 11000 26 Kod Graya Konwersja liczby z NKB na kod Graya bn1 , , bk , b1b0 bn1 , , bk , b1b0 bk bk bk 1 przy czym: bn 0; bn1 bn 1. Przykład 1010 10102 1 1 1 1 b0 b0 b1 0 1 1 b1 b1 b2 1 0 1 b2 b2 b3 0 1 1 b3 b3 1 27 Funkcja EX-OR Równania manipulacyjne dla funkcji EX-OR L.p. Równanie 1 XY = X’Y’ 2 XY’ = X’Y = (XY)’ 3 XX = 0 4 XX’ = 1 5 X1 = X’ 6 X0 = X 7 11 = 0 8 10 = 1 9 00 = 0 10 Jeśli XY = Z, to XZ = Y i ZY = X 28 Arytmetyka dwójkowa Dodawanie liczb dwójkowych Przeniesienie 1 1 1 1 1 Liczba pierwsza 1 1 0 0 1 Liczba druga 0 1 1 1 1 0 1 0 0 0 Wynik 1 29 Arytmetyka dwójkowa Odejmowanie liczb dwójkowych z zastosowaniem kodów uzupełnieniowych Uzupełnienie p-1 U ( p 1)( L) p n p m L Reguła praktyczna: uzupełnienie U(p-1) liczby dodatniej otrzymuje się przez odjęcie każdej cyfry tej liczby od (p-1). Przykład: U1(1011001) = 0100110 U1(10.11001) = 01.00110 U1(0) = 1 U1(0.0) = 1.1 Przedział wartości: - 2n-1 do 2n-1-1 30 Operacje arytmetyczne Reguła odejmowania: A-B = A+U1(B) Odjąć liczbę 19 od liczby 15 1510 = 000011112 1910 = 000100112 U1(19) = 111011002 1 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 0 1 1 Wynik = -11111011U1 = -410 31 Operacje arytmetyczne Reguła odejmowania: A-B = A+U1(B) Odjąć liczbę 15 od liczby 19 1510 = 000011112 1910 = 000100112 U1(15) = 111100002 1 1 1 1 0 0 0 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 Wynik = 000001002 = 410 0 0 0 1 0 0 32 Operacje arytmetyczne Odejmowanie liczb dwójkowych z zastosowaniem kodów uzupełnieniowych Uzupełnienie p U ( p)( L) p n L Reguła praktyczna: uzupełnienie U(p) liczby dodatniej otrzymuje się przez dodanie jedynki na namniej znaczącej pozycji uzupełnienia U(p-1). Przykład: U2(1011001) = 0100111 U2(10.11001) = 01.00111 U2(0) = 0 U2(0.0) = 0.0 Przedział wartości: - 2n-1 do 2n-1-1 33 Operacje arytmetyczne Reguła odejmowania: A-B = A+U2(B) Odjąć liczbę 19 od liczby 15 1510 = 000011112 1910 = 000100112 U2(19) = 111011012 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 0 Wynik = -11111100U2 = -410 34 Operacje arytmetyczne Reguła odejmowania: A-B = A+U2(B) Odjąć liczbę 15 od liczby 19 1510 = 000011112 1910 = 000100112 U2(15) = 111100012 1 1 1 0 0 1 1 1 0 0 0 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 0 Wynik = 00000100U2 = 410 35 Arytmetyka dwójkowa Dodawanie w kodzie BCD 9 1 0 5 0 1 0 3 1 0 1 0 0 6 1 1 0 1 1 0 Dodawanie dwójkowe 1 1 0 0 1 0 1 1 Korekcja (-10 = 0110U2) 1 1 0 0 1 3 1 0 0 0 1 1 36 Metody opisu układów kombinacyjnych Opis słowny: Wyznaczyć funkcję przełączającą układu, który stanem F=1 wyróżnia wśród liczb wejściowych z przedziału 0-7, podawanych w naturalnym kodzie binarnym takie, w których liczba jedynek jest parzysta. Tabela prawdy: i x0 x1 x2 .................. xn-1 0 1 2 3 . . . . 2n - 1 0 0 0 . . . . . 1 0 0 0 . . . . . 1 0 0 0 . . . . . 1 ................... ................... . . . . . . ................... 0 1 0 . . . . . 1 F 37 Metody opisu układów kombinacyjnych Opis słowny: Wyznaczyć funkcję przełączającą układu, który stanem F=1 wyróżnia wśród liczb wejściowych z przedziału 0-7, podawanych w naturalnym kodzie binarnym takie, w których liczba jedynek jest parzysta. Tabela prawdy: i x0 x1 x2 F 0 1 2 3 4 5 6 7 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 0 1 1 0 38 Metody opisu układów kombinacyjnych Kanoniczna forma sumacyjna 2n 1 F f ( x 0 , x1, x 2 ,......, x n 1 ) a i 0 i Ii gdzie: ai = 0 lub 1; Ii - reprezentuje postać w naturalnym kodzie binarnym wartości i; - znak oznaczający sumę logiczną. 39 Metody opisu układów kombinacyjnych Przykład Wyznaczyć kanoniczną formę sumacyjną funkcji przełączającej układu, który stanem F=1 wyróżnia wśród liczb wejściowych z przedziału 0-7, podawanych w naturalnym kodzie binarnym takie, w których liczba jedynek jest parzysta. i x0 x1 x2 F 0 1 2 3 4 5 6 7 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 0 1 1 0 f ( x0 , x1 , x2 ) 23 1 ai I i i 0 0* I 0 0* I1 0* I 2 1* I3 0* I 4 1* I5 1* I 6 0* I 7 1* I3 1* I5 1* I6 x0 * x1 * x2 x0 * x1 * x2 x0 * x1 * x2 40 Metody opisu układów kombinacyjnych Kanoniczna forma iloczynowa 2n 1 F f ( x0 , x1, x2 ,......, xn1 ) gdzie: (a i 0 i Si ) ai = 0 lub 1; Si - reprezentuje postać w naturalnym kodzie binarnym wartości i; - znak oznaczający iloczyn logiczny. 41 Metody opisu układów kombinacyjnych Przykład Wyznaczyć kanoniczną formę sumacyjną funkcji przełączającej układu, który stanem F=1 wyróżnia wśród liczb wejściowych z przedziału 0-7, podawanych w naturalnym kodzie binarnym takie, w których liczba jedynek jest parzysta. i x0 x1 x2 F 0 1 2 3 4 5 6 7 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 0 1 1 0 f ( x0 , x1 , x2 ) 23 1 (ai Si ) i 0 (0 S0 )*(0 S1 )*(0 S2 )*(1 S3 )*(0 S4 )* *(1 S5 )*(1 S6 )*(0 S7 ) (0 S0 )*(0 S1 )*(0 S2 )*(0 S4 )*(0 S7 ) ( x0 x1 x2 )*( x0 x1 x2 )*( x0 x1 x2 )* *( x0 x1 x2 )*( x0 x1 x2 ) 42 Metody opisu układów kombinacyjnych Wyznaczenie kanonicznej formy sumacyjnej poprzez rozkład funkcji: Rozkład funkcji względem zmiennej x1: f ( x1 , x 2 , x 3 , , xn ) x1 f (1, x 2 , x 3 , , xn ) x1 f (0, x 2 , x 3 , , xn ) Rozkład funkcji względem zmiennej x2: f ( x1 , x 2 , x 3 , , xn ) x1 x 2 f (1,1, x 3 , x1 x 2 f (1, 0, x 3 , , xn ) x1 x 2 f (0,1, x 3 , , xn ) x1 x 2 f (0, 0, x 3 , , xn ) , xn ) Przykład: f ( x1 , x 2 ) x1 * x 2 x1 f ( x1, x 2 ) x1 *(1* x 2 0) x1 *(0* x 2 1) x1 * x 2 x1 f ( x1 , x 2 ) x 2 *( x1 *1 x1 ) x2 *( x 1*0 x 1 ) x1 * x 2 x 1*x 2 x 1* x2 43 Metody opisu układów kombinacyjnych Wyznaczenie kanonicznej formy iloczynowej poprzez rozkład funkcji: Rozkład funkcji względem zmiennej x1: f ( x1 , x 2 , x 3 , , xn ) [ x1 f (0, x 2 , x 3 , , xn )]*[ x1 f (1, x 2 , x 3 , , xn )] Rozkład funkcji względem zmiennej x2: f ( x1 , x 2 , x 3 , , xn ) [ x1 x 2 f (0,0, x 3 , , xn )]*[ x1 x 2 f (1,0, x 3 , , xn )]* *[ x1 x 2 f (0,1, x 3 , , xn )]*[ x1 x 2 f (1,1, x 3 , , xn )] Przykład: f ( x1 , x 2 ) x1 * x 2 x1 f ( x1, x 2 ) [ x1 (0* x 2 1)]*[ x1 (1* x 2 0)] x1 x 2 f ( x1, x 2 ) [ x 2 ( x1 0)]*[ x2 ( x 1 1)] x 1 x 2 44 Metody opisu układów kombinacyjnych Wyznaczenie kanonicznej formy sumacyjnej oraz iloczynowej z wykorzystaniem binarnego diagramu decyzyjnego: f ( x1 , x 2 , f (0, x 2 , x2 0 0 , xn ) x1 0 x1 1 , xn ) f (1, x 2 , x2 1 f (1, x3 , , xn ) x2 0 1 , xn ) x2 1 f (1, x3 , , xn ) 45 Metody opisu układów kombinacyjnych Wyznaczenie kanonicznej formy sumacyjnej oraz iloczynowej z wykorzystaniem binarnego diagramu decyzyjnego: x1 * x 2 x1 * x 2 x 3 Przykład: x1 0 x2 0 1 x 2x 3 x1 1 x2 1 x3 0 x3 x2 0 x3 1 0 F1={(00x);(011);(101);(11x)} 1 x3 0 x3 x 2 x 3 x3 1 0 x2 1 1 1 F0={(010);(100)} FS x1 * x 2 *x 3 x1 * x 2 *x 3 x1 * x 2 *x 3 x1 * x 2 *x 3 x1 * x 2 *x 3 x1 * x 2 *x 3 FI ( x1 x 2 x 3 )*( x1 x 2 x 3 ) 46 Metody minimalizacji funkcji przełączającej Tablicą Karnaugha nazywamy uporządkowaną strukturę prostokątną, złożoną z prostokątów elementarnych (kratek), z których każdy reprezentuje jedno wyrażenie logiczne. Przy n zmiennych tablica Karnaugha zwiera 2n kratek, obejmując wszystkie możliwe wyrażenia. x1x0 x2 00 01 11 10 0 1 Reguła upraszczania: x1 * x2 x1 * x2 x1 ( x1 x2 ) *( x1 x2 ) x1 47 Metody minimalizacji funkcji przełączającej x1x0 x2 00 01 11 10 0 1 Zasady łączenia kratek: • liczba kratek elementarnych łączonych ze sobą musi być potęgą dwójki (1, 2, 4, ..., 2n); • łączone kratki muszą być sąsiednimi, tzn. oddzielonymi od siebie linią pionową, poziomą lub krawędzią tablicy. Ewentualnie, jak ma to miejsce w przypadku tablicy dla ilości zmiennych większej od czterech, można sklejać kratki zajmujące pozycje będące swoimi zwierciadlanymi odbiciami; • łączone pola muszą mieć kształt symetryczny względem swych osi (kwadraty lub prostokąty); 48 Metody minimalizacji funkcji przełączającej x1x0 x3x2 00 01 11 10 00 01 11 10 49 Metody minimalizacji funkcji przełączającej x2 x2 x2x1x0 x4x3 000 001 011 010 110 111 101 100 00 01 11 10 50 Metody minimalizacji funkcji przełączającej Wyznaczyć funkcję przełączającą układu, który stanem F=1 wyróżnia wśród liczb wejściowych z przedziału 0-7, podawanych w naturalnym kodzie binarnym takie, które są podzielne przez 2. i x0 x1 x2 F 0 1 2 3 4 5 6 7 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 F x1 * x2 x0 * x2 x1x2 00 01 11 10 0 0 0 0 1 1 1 0 0 1 x0 x0 * x2 x1 * x2 51 Metody minimalizacji funkcji przełączającej Wyznaczyć funkcję przełączającą układu, który stanem F=1 wyróżnia wśród liczb wejściowych z przedziału 0-7, podawanych w naturalnym kodzie binarnym takie, które są podzielne przez 2. i x0 x1 x2 F 0 1 2 3 4 5 6 7 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 F x1 * x2 x0 * x2 F x2 *( x0 x1 ) x1x2 00 01 11 10 0 0 0 0 1 1 1 0 0 1 x0 x0 x1 x2 52 Metody minimalizacji funkcji przełączającej Wyznaczyć, wykorzystując tablicę Karnaugha, postać minimalną funkcji przełączającej, która stanem logicznym 1 sygnalizuje pojawienie się na wejściu układu liczby z zakresu 0-24, której suma z następną w kolejności zawiera się w przedziałach od 3 do 9 oraz od 17 do 24. Liczbą kolejną dla 24 jest 0. Liczby podawane są na wejście układu w postaci binarnej. x2x1x0 x4x3 00 01 11 10 000 0 0 8 1 24 1 16 0 001 1 1 9 1 25 --17 0 011 3 11 27 19 1 1 --0 010 2 10 26 18 1 1 --0 110 111 6 0 7 14 0 --- 15 0 30 22 101 5 0 31 --- 13 23 21 0 0 29 100 0 4 1 0 --- 12 0 --- 0 20 28 0 53 Metody minimalizacji funkcji przełączającej Wyznaczyć, wykorzystując tablicę Karnaugha, postać minimalną funkcji przełączającej, która stanem logicznym 1 sygnalizuje pojawienie się na wejściu układu liczby z zakresu 0-24, której suma z następną w kolejności zawiera się w przedziałach od 3 do 9 oraz od 17 do 24. Liczbą kolejną dla 24 jest 0. Liczby podawane są na wejście układu w postaci binarnej. x2x1x0 x4x3 00 01 11 10 000 001 011 010 110 111 101 100 0 1 1 0 1 1 --0 1 1 --- 1 1 --0 0 0 0 1 0 --- 0 --- 0 --- 0 --- 0 0 0 0 0 F x2 * x3 x2 * x0 * x4 x2 * x1 * x4 x0 * x1 * x2 * x3 * x4 54 Podstawowe układy kombinacyjne Funktor AND Realizowana funkcja Symbol X F F X *Y X F X Y X Y X F OR Y NOT NAND F F Y X NOR EX-OR Y F Y F F X F X *Y X X F & F Y F Y X & Y X X Konwencja prostokątna F F X Y X F X Y X F Y =1 F Y 55 Podstawowe układy kombinacyjne System wskaźników negacji (SWN) Wskaźnik negacji stosuje się przy konstrukcji schematów logicznych w konwencji abstrakcyjnych stanów logicznych (0,1), tzn. abstrahując od występujących w realnych układach poziomów wielkości fizycznych (np. napięć) reprezentujących te stany. Ten system oznaczeń określa się jako system wskaźników negacji (SWN). SWN jest oparty na następujących regułach: 1. brak wskaźnika negacji (kółeczka) pomiędzy symbolem podstawowym a jego końcówką oznacza, że stan wewnętrzny jest taki sam jak zewnętrzny; 2. obecność wskaźnika negacji oznacza, że stan wewnętrzny jest negacją stanu zewnętrznego. 56 Podstawowe układy kombinacyjne System wskaźników negacji (SWN) Z reguły drugiej można wysnuć wniosek, że obecność wskaźnika negacji na wejściu symbolu oznacza negację odpowiedniej zmiennej wejściowej w zapisie matematycznym funkcji logicznej, realizowanej przez ten element. Natomiast obecność wskaźnika negacji na wyjściu symbolu oznacza negację tej funkcji. System wskaźników negacji może być użyty do opisu realnych układów, jeżeli dodatkowo wprowadzone zostaną jednoznaczne związki miedzy abstrakcyjnymi stanami 0 i 1 i rzeczywistymi poziomami L i H. 57 Podstawowe układy kombinacyjne System wskaźników negacji (SWN) Istnieją tylko dwie takie konwencje (przeciwstawne), które określa się jako „logika dodatnia” i „logika ujemna”. Definicje tych konwencji w odniesieniu do schematów logicznych są następujące: 1. logika dodatnia oznacza, że na wszystkich końcówkach symboli stan 1 jest równoważny poziomowi wysokiemu H, a stan 0 jest równoważny poziomowi niskiemu L; 2. logika ujemna oznacza, że na wszystkich końcówkach symboli stan 1 jest równoważny poziomowi niskiemu L, a stan 0 jest równoważny poziomowi wysokiemu H. 58 Podstawowe układy kombinacyjne Symbole dualne podstawowych funktorów a) X X F Y F = X * Y RÓWNOWAŻNE F Y NAND F=X+Y DOR X X F Y F = X + Y RÓWNOWAŻNE F DAND NOR X F=X*Y Y F F=X X RÓWNOWAŻNE F F=X DNOT NOT b) X F Y F=X*Y RÓWNOWAŻNE X F Y AND DNOR X F Y OR F=X+Y X F=X+Y RÓWNOWAŻNE F Y F=X*Y DNAND 59 Wyprowadzenie x y * z ( x y ) *( x z ) x y xz ( x y ) *( x z ) 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 x y z y*z x y* z 0 0 0 0 0 0 1 0 1 0 60 Wyprowadzenie x y * z ( x y ) *( x z ) ( x y ) *( x z ) x* x x* z x* y y* z x(1 z y ) y * z x y*z Powrót 61