xyz 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0
Transkrypt
xyz 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0
Dr inż. Jan Chudzikiewicz Pokój 117/65 Tel. 683-77-67 E-mail: [email protected] Materiały: http://www.ita.wat.edu.pl/~jchudzikiewicz/ Warunki zaliczenie: • Otrzymanie pozytywnej oceny z kolokwium zaliczeniowego. • 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) Negacja (nie 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 p⇔q ¬p 4 Poziomy logiczne U[V] 5 1 2 0,8 0 0 t Dla układów TTL serii standardowej: U O L m ax ≤ 0, 4 V U O H m in ≥ 2, 4 V U IL m ax ≤ 0, 8 V U IH m in ≥ 2 V 5 Poziomy logiczne U[V] 5 1 2 0,8 0 0 t Marginesy zakłóceń: M L m in = U IL m ax − U O L m ax = 0, 8 − 0, 4 = 0, 4 V M H m in = U O H m in − U IH m in = 2, 4 − 2, 0 = 0, 4 V 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 Systemy liczbowe Liczba w kodzie naturalnym: a n − 1 p n − 1 + a n − 2 p n − 2 + ... + a 1 p 1 + a 0 p 0 + n −1 + a −1 p −1 + a −2 p −2 + ... + a − m + 1 p − m +1 + 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 } 8 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 9 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 10 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 11 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 12 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 13 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 14 Funkcja EX-OR Równania manipulacyjne dla funkcji EX-OR L.p. Równanie 1 X⊕Y = X’⊕Y’ 2 X⊕Y’ = X’⊕Y = (X⊕Y)’ 3 X⊕X = 0 4 X⊕X’ = 1 5 X⊕1 = X’ 6 X⊕0 = X 7 1⊕1 = 0 8 1⊕0 = 1 9 0⊕0 = 0 10 Jeśli X⊕Y = Z, to X⊕Z = Y i Z⊕Y = X 15 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 16 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 17 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 18 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 19 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 20 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 21 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 22 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 23 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 24 Metody opisu układów kombinacyjnych Kanoniczna forma sumacyjna 2n − 1 F = f ( x 0 , x 1, x 2 , ...... , x n −1 ) = U ai Ii i = 0 gdzie: ai = 0 lub 1; Ii - reprezentuje postać w naturalnym kodzie binarnym wartości i; U - znak oznaczający sumę logiczną. 25 Metody opisu układów kombinacyjnych Kanoniczna forma iloczynowa 2n − 1 F = f ( x 0 , x1, x 2 ,......, x n −1 ) = I (a i + Si ) i=0 gdzie: ai = 0 lub 1; Si - reprezentuje postać w naturalnym kodzie binarnym wartości i; I - znak oznaczający iloczyn logiczny. 26 Metody minimalizacji funkcji przełączającej x1x0 x3x2 00 01 11 10 00 01 11 10 27 Metody minimalizacji funkcji przełączającej x1x0 x3x2 00 01 11 10 00 01 11 10 28 Metody minimalizacji funkcji przełączającej x1x0 x3x2 00 01 11 10 00 01 11 10 29 Metody minimalizacji funkcji przełączającej x2 x2 x2x1x0 x4x3 000 001 011 010 110 111 101 100 00 01 11 10 30 Metody minimalizacji funkcji przełączającej x2x1x0 x4x3 000 001 011 010 110 111 101 100 00 01 11 10 31 Metody minimalizacji funkcji przełączającej x2x1x0 x4x3 000 001 011 010 110 111 101 100 00 01 11 10 32 Metody minimalizacji funkcji przełączającej x2x1x0 x4x3 000 001 011 010 110 111 101 100 00 01 11 10 33 Metody minimalizacji funkcji przełączającej x2x1x0 x4x3 000 001 011 010 110 111 101 100 00 01 11 10 34 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 100 5 0 4 1 0 31 --- 13 0 --- 12 0 --- 23 21 0 20 0 0 29 28 0 35 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 F Y X Y & F Y ≥1 F Y X X Konwencja prostokątna F F = X′ F = X *Y F = X +Y F = X ⊕Y X X 1 F & F Y X ≥1 F Y X =1 F Y 36 Podstawowe układy kombinacyjne Symbole dualne podstawowych funktorów a) X F Y X 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 RÓWNOWAŻNE X F F=X DNOT NOT b) X X F Y F=X*Y RÓWNOWAŻNE F Y AND DNOR X F Y OR F=X+Y X F=X+Y RÓWNOWAŻNE F Y F=X*Y DNAND 37 Wyprowadzenie x + y * z = ( x + y ) *( x + z ) x+ y x+z ( 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 38