Podstawy układów logicznych

Wielkość: px
Rozpocząć pokaz od strony:

Download "Podstawy układów logicznych"

Transkrypt

1 odstawy układów logicznych ykład dla ydziału nformatyki / Uklady Logiczne ASC FLEX rowadzi: adeusz ŁUBA, (GE pok. 47) GAL ELD

2 Organizacja. Łuba dr G. Borowik Dr. omaszewicz

3 Egzamin... Funkcja boolowska Ćwiczenia 4 pkt. Egzamin 6 pkt. 3

4 Literatura. Astola J., Stankovic R.: Fundamentals of Switching heory and Logic Design, Springer 6.. Minimization Algorithms for VLS Synthesis, Kluwer Academic ublishers, Boston, Brown F. M.: Boolean Reasoning. he Logic of Boolean Equation, Kluwer Academic ublishers, Brzozowski J. A, Seger C-J.: Asynchronous Circuits, Springer Verlag, New York Brzozowski J., Łuba.: Decomposition of Boolean Functions Specified by Cubes. Journal of Multiple-Valued Logic and Soft Computing. Vol. 9, pp Old City ublishing, nc., hiladelphia De Micheli G.: Synthesis and Optimization of Digital Circuits. McGraw-Hill, New York, 994. Również tłumaczenie polskie: Łuba Synteza.: i optymalizacja układów cyfrowych. N, arszawa Devadas, S., Ghosh, A., and Keutzer, Synteza K. Logic Synthesis. układów McGraw-Hill, New York, Gajski D.D.: Astola rinciples of digital J., design. Stankovic rentice-hall logicznych. nternational, R: New jersey Hassoun S., Sasao., Brayton R. (ed.): Logic Synthesis and Verification. Fundamentals of Kluwer Academic ublishers, New York. 9. man S., edram M.: Logic Synthesis for Low ower VLS Design, Kluwer Academic ublishers, Kamionka-Mikuła H., Małysiak H., ochopień B.: Układy cyfrowe. eoria i przykłady. yd. racowni Komputerowej Jacka Skalmierskiego. Gliwice 3. Logic Design.. Kania D.: Synteza logiczna przeznaczona dla matrycowych struktur programowalnych typu AL. olitechnika Śląska. Zeszyty Naukowe. Nr 69. Gliwice 4. Springer 6. Katz R. H.: Contemporary logic design. he Benjamin/Cummings ublishing Company, nc., Redwood City, Kohavi Z.: Switching and Finite Automata heory. Mc-Graw-Hill, New York, Kuźmicz.: Układy ASC w polskich realiach. rzegląd elekomunikacyjny i iadomości elekomunikacyjne, nr 8, pp , Lala.K.: ractical digital logic design and testing. rentice-hall, New Jersey Łuba.(red.), Rawski M., omaszewicz., Zbierzchowski B.: Synteza układów cyfrowych. KŁ arszawa Łuba., Zbierzchowski B., Zbysiński.: Układy reprogramowalne dla potrzeb telekomunikacji cyfrowej. rzegląd elekomunikacyjny i iadomości elekomunikacyjne, nr 5,. Oficyna ydawnicza Switching heory and 9. Łuba.: Synteza układów logicznych. Oficyna ydawnicza, arszawa Łuba.: Rola i znaczenie syntezy logicznej w technice cyfrowej układów programowalnych. Elektronika, str. 5 9, nr 7-8,.. Łuba., Jasiński K., Zbierzchowski B.: rogramowalne układy przetwarzania sygnałów i informacji - technika cyfrowa w multimediach i kryptografii, rzegląd elekomunikacyjny i iadomości elekomunikacyjne, str , nr 8-9, 3.. Majewski., Albicki A.: Algebraiczna teoria automatów. N, arszawa 98.. Mikołajczak B.: Algebraiczna i strukturalna teoria automatów. N, arszawa Łódź Mulawka J.: Systemy ekspertowe. N, arszawa Mrózek A., łonka L.: Analiza danych metodą zbiorów przybliżonych. Zastosowania w ekonomii, medycynie i sterowaniu. Akademicka Oficyna ydawnicza LJ, arszawa McCluskey E. J.: Logic design principles, with emphasis on testable semicustom circuits. rentice-hall nternational, nc., New Jersey awlak Z.:Rough Sets. heoretical Aspects of Reasoning about Data, Kluwer Academic ublishers, Roth C. H.: Fundamentals of Logic Design. est ubl. CO., Salsic Z., Smailagic A.: Digital systems design and prototyping using field programmable logic. Kluwer Academic ublishers, Sasao.: Switching heory for Logic Synthesis, Kluwer Academic ublishers, Sasao.: Logic Synthesis and Optimization. Kluwer Academic ublishers, Słowiński R.(ed.): ntelligent Decision Support - Handbook of Applications and Advances of the Rough Sets heory, Kluwer Academic ublishers, Dordrecht Scholl C.: Functional Decomposition with Application to FGA Synthesis. Kluwer Academic ublisher, Boston. 33. yszer J.: Układy cyfrowe. Materiały pomocnicze do wykładów. yd. olitechniki oznańskiej. oznań. 34. Zieliński C.: odstawy projektowania układów cyfrowych. N, arszawa Zbysiński., asierbiński J.: Układy programowalne pierwsze kroki. yd., ydawnictwo BC. arszawa 4. 4

5 Literatura 5

6 6

7 Z układami logicznymi mamy do czynienia od dawna... Rok 847 7

8 8... Układ logiczny 8

9 Rozwój technologii miliony bramek logicznych ASC 9

10 Układy te wytwarzane są w różnych technologiach Full Custom Semi custom Układy programowalne układy zamawiane przez użytkownika układy projektowane przez użytkownika układy programowane przez użytkownika (LD)

11 Układy programowalne (rogrammable Logic Devices) to układy scalone, których właściwości funkcjonalne są definiowane nie przez producenta, lecz przez końcowego użytkownika. Najważniejsza cechą tych układów jest możliwość nadawania im (przez programowanie) określonych przez użytkownika cech funkcjonalnych, w jego laboratorium czy na biurku, a nie w fabryce. LD LD

12 Układy FGA (Field rogrammable Gate Array) Configurable Logic Block (CLB) Logic Element (LE) DAA N LOG C VARABLES.di.a.b.c.d.e QX F CO MBNAONAL FUNCON G QY F DN G F DN G MUX MUX D Q RD D Q QX F G QY.X CLB OUUS.Y ENABLE clk clk RESE.ec "" (ENABLE).k.rd "" ( NH B) RD (GLOBAL RESE) Reprogramowania i rekonfiguracji

13 Układy programowalne wyrównują szanse 3

14 Układ kryptograficzny LD ASC LD 4

15 Komputerowe systemy projektowania GAL AL FGA FLEX + ELD 5

16 Komputerowe projektowanie Języki opisu sprzętu Specyfikacja HDL Hardware Description Language (HDL): Synteza funkcjonalna Synteza logiczna Odwzorowanie technologiczne FGA 6

17 iedza niezbędna do opanowania sztuki komputerowego projektowania Synteza logiczna Odwzorowanie technologiczne Układy logiczne Języki opisu sprzętu Synteza funkcjonalna Układy cyfrowe 7

18 Znaczenie syntezy logicznej Niedoskonałość metod syntezy logicznej Specyfikacja HDL Synteza funkcjonalna Nowe procedury syntezy logicznej Synteza logiczna Odwzorowanie technologiczne FGA 8

19 Systemy komercyjne i akademickie Komercyjne systemy projektowania nie nadążają za rozwojem technologii. Dlatego powstają Akademickie Systemy Syntezy Logicznej: niewygodne do bezpośredniego projektowania, ale generują wyniki niekiedy -krotnie lepsze bezpośrednio przyczyniając się do sukcesu rynkowego realizowanego układu cyfrowego 9

20 rzykład prosty układ x x x 3 x 9 kombinacyjny Układ kombinacyjny UK y y.type fr.i.o.p 5.e

21 ::4 -- LA -> VHDL converter ver.. library EEE; use EEE.SD_LOGC_64.all; entity bul is port(i : in std_logic_vector( to ); o : out std_logic_vector( to )); end bul; architecture arch of bul is begin Realizacja funkcji F w systemie Quartus LA: process(i) begin case i is when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when others => o <= "XX"; end case; end process; end; Quartus

22 ::4 -- LA -> VHDL converter ver.. library EEE; use EEE.SD_LOGC_64.all; entity bul is port(i : in std_logic_vector( to ); o : out std_logic_vector( to )); end bul; architecture arch of bul is begin Realizacja funkcji F w systemie Quartus LA: process(i) begin case i is when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when others => o <= "XX"; end case; end process; end; Quartus 8 komórek (Stratix)

23 System Quartus radycyjne procedury syntezy logicznej Specyfikacja HDL Synteza funkcjonalna Nowe procedury syntezy logicznej Synteza logiczna Odwzorowanie technologiczne FGA 3

24 ::4 -- LA -> VHDL converter ver.. Zagadka - jak zachowa się Quartus z nową procedurą? library EEE; use EEE.SD_LOGC_64.all; entity bul is port(i : in std_logic_vector( to ); o : out std_logic_vector( to )); end bul; architecture arch of bul is begin LA: process(i) begin case i is when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when "" => o <= ""; when others => o <= "XX"; end case; end process; end; rocedura dekompozycji G H 7 9 G H y y 4 komórki CLB 6

25 odsumowanie Realizacje różnych układów np. kryptograficznych, DS, w strukturach LD/FGA, z zastosowaniem nowoczesnych metod syntezy logicznej, a w szczególności Akademickich Systemów Syntezy Logicznej, to ze względu na dynamikę rozwoju technologii szanse przede wszystkim dla aktualnie studiujących 5

26 ojęcia podstawowe Algebra Boole a Elementy teorii grafów Klasy zgodności Rachunek podziałów

27 Dwuelementowa algebra Boole a Algebra Boole a jest algebrą z trzema operacjami na dwuwartościowych argumentach, które przyjmują wartości: i. Rezultaty tych operacji są także dwuwartościowe. e trzy operacje to: - suma logiczna (suma boolowska, alternatywa), - iloczyn logiczny (iloczyn boolowski, koniunkcja), - negacja (inwersja). Dwie pierwsze operacje są n-argumentowe, a trzecia jest jednoargumentowa.

28 Dwuelementowa algebra Boole a Operacja sumy logicznej (OR) jest zdefiniowana następująco: jeżeli co najmniej jeden z argumentów jest równy, to wynik jest równy, zatem suma logiczna jest równa tylko dla przypadku, gdy wszystkie argumenty są równe. + = + = + = + = a b Bramka OR c = a + b gdzie + oznacza operację OR

29 Dwuelementowa algebra Boole a Operacja iloczynu logicznego (AND) jest zdefiniowana następująco: wynik iloczynu jest równy, wtedy i tylko wtedy, gdy wszystkie argumenty przyjmują wartość. = = = = a b Bramka AND c = a b gdzie oznacza operację AND

30 Dwuelementowa algebra Boole a Operacja negacji (NO) zmienia wartość argumentu na przeciwny. Negacją jest, a negacją jest = ; = x x Operacja NO zmiennej X, jest oznaczana X

31 rawa i własności algebry Boole a a + = a,834, ,. 89,.. a = a + = a = a,834,834. 3,., +,=,,= odwójna negacja a = a a + a = a dempotentność a a = a 6

32 rawa i własności algebry Boole a c.d. a + b = b + a rzemienność a b = b a Łączność a + (b + c) = (a + b) + c a (b c) = (a b) c Rozdzielność a + b c = (a + b) (a + c) a (b + c) = a b +a c rawa De Morgana y = a b = a + b y = a + b = a b 7

33 yrażenie boolowskie yrażenie boolowskie to formuła, w której zmienne boolowskie połączone są operatorami: + (OR), (AND), (NO) X rzykład: a+b+c d+e a+b(d+e) a+b+cd+e Kropkę często pomijamy Kolejność operacji:. NO. AND 3. OR Może być zmieniona przez stosowanie nawiasów. 8

34 Upraszczanie wyrażenia boolowskiego abc + abc + abc + abc + abc = = abc + ab(c + c) + ab(c + c) = = a bc + ab + = = ab = a bc + a(b + b) = a bc + a + abc = a + abc + abc = a + bc

35 Grafy Grafem prostym nazywamy parę G = (V, E), gdzie V jest niepustym skończonym zbiorem wierzchołków, a E jest skończonym zbiorem krawędzi nieuporządkowanych par różnych elementów ze zbioru V. rzykład: V = {,,3,4, 5,6} E = {(,6), (,3), (,4), (,5), (,6), (3,4), (3,6), (5,6)}

36 Klika Dowolny podzbiór wierzchołków, w którym każde dwa wierzchołki są połączone krawędzią nazywamy kliką. Klikę, która nie jest zawarta w żadnej istotnie innej klice, nazywamy maksymalną. Najliczniejszą klikę w danym grafie nazywamy największa kliką. V = {, 3, 4} V = {, 3, 6} 6 V = {, 5, 6} 3 5 4

37 Zbiór niezależny (antyklika) Zbiorem niezależnym nazywamy dowolny zbiór wierzchołków, które nie są sąsiednie w danym grafie. Analogicznie określamy pojęcie maksymalnego zbioru niezależnego.

38 Zbiór niezależny (antyklika) Zbiorem niezależnym nazywamy dowolny zbiór wierzchołków, które nie są sąsiednie w danym grafie. Analogicznie określamy pojęcie maksymalnego zbioru niezależnego. rzykłady zbiorów niezależnych V = {, 4, 5} 6 V = {, 3, 5} V = {4, 6} V = {, }

39 nie jest zadaniem łatwym. Obliczanie klik roblem obliczania maksymalnych klik można sprowadzić do problemu obliczania maksymalnych klas zgodności definiowanych dla danej relacji zgodności.

40 ojęcie relacji loczynem kartezjańskim zbiorów A i B, oznaczanym A B nazywamy zbiór wszystkich par uporządkowanych (a, b), takich że pierwszy element pary należy do zbioru A (a A), natomiast drugi do B (b B). {( a, b) : a A b B} A B =, rzykładzik Niech A = {p, q} oraz B = {r, s, t}, wtedy A B = {(p, r), (p, s), (p, t), q, r), (q, s), (q, t)} 5

41 ojęcie relacji Relacją nazywamy dowolny podzbiór iloczynu kartezjańskiego zbiorów A, B. ypowe własności relacji na zbiorze A (czyli A A): zwrotność a A: ara symetria a, b A: arb bra przechodniość a, b, c A : arb, brc arc 6

42 Najważniejsze relacje Relację, która jest zwrotna, symetryczna, i przechodnia nazywamy relacją równoważności Relację, która jest zwrotna, symetryczna, ale nie jest przechodnia nazywamy relacją zgodności 7

43 łasności relacji zgodności pokrywają się z intuicyjnym rozumieniem zgodności: a) Każdy element jest zgodny z samym sobą, b) Jeśli element v jest zgodny z v, to również v jest zgodny z v. c) Jeśli v jest zgodny z v oraz v jest zgodny z v 3, to z tego nie wynika, że v jest zgodny z v 3. 8

44 Maksymalne klasy zgodności Zbiór par określających relację zgodności nazywa się zbiorem par zgodnych. ary zgodne umożliwiają wyznaczenie maksymalnych zbiorów zgodnych. Zbiór V = {v,...,v p } nazywamy maksymalnym zbiorem zgodności (maksymalną klasą zgodności), jeżeli każda para v i, v j wzięta z tego zbioru jest zgodna oraz nie istnieje żaden inny zbiór elementów zgodnych V, zawierający V. 9

45 Algorytm obliczania klik metodą Maksymalnych Klas Zgodności (MKZ) Zapisać pary SRZECZNE w postaci koniunkcji dwuskładnikowych sum (v i, v j ), (v i, v j ), (v p, v q ), (v i + v j )(v i + v j )(v p + v q ) Koniunkcję dwuskładnikowych sum przekształcić do minimalnego wyrażenia boolowskiego typu suma iloczynów v i v j v k + v p v q v r v s + tedy MKZ są uzupełnieniami zbiorów reprezentowanych przez składniki iloczynowe tego wyrażenia

46 rzykład obliczania klik (Maksymalnych Klas Zgodności) v ary zgodne: ary sprzeczne: v6 v (v, v6) (v, v) (v, v3) (v, v4) (v, v3) (v, v4) v5 v3 (v, v5) (v, v6) (v, v5) (v3, v5) v4 (v3, v4) (v4, v5) (v3, v6) (v4, v6) (v5, v6)

47 ary sprzeczne rzykład E = {(v, v), (v, v3), (v, v4), (v, v5), (v3, v5), (v4, v5), (v4, v6)} Obliczamy wyrażenie boolowskie typu koniunkcja sum : (v +v)(v + v3)(v+ v4)(v + v5)(v3 + v5)(v4 + v5) (v4 +v6) = (v +v)(v + v3)(v+ v4)(v + v5) (v4 + v5) (v4 +v6)(v3 + v5) = (v + vv3v4v5)(v4 + v5v6)(v3 + v5) = (vv4 + vv5v6 + vv3v4v5 + vv3v4v5v6) (v3 + v5) = (vv4 + vv5v6 + vv3v4v5) (v3 + v5) = vv3v4 + vv3v5v6 + vv3v4v5 + vv4v5 + vv5v6 +vv3v4v5 = vv3v4 + vv4v5 + vv5v6 +vv3v4v5

48 rzykład vv3v4 + vv4v5 + vv5v6 + vv3v4v5 {v,..., v6} {v, v3, v4} = {v, v5, v6 } {v,...,v6} {v, v4, v5 } = {v, v3, v6} {v,...,v6} {v, v5, v6} = {v, v3, v4} {v,...,v6} {v, v3, v4, v5 } = {v, v6} v6 v v v5 v3 v4

49 Algorytm obliczania Maksymalnych Zbiorów Niezależnych (MZN) Zapisać pary ZGODNE w postaci koniunkcji dwuskładnikowych sum (v i, v j ), (v i, v j ), (v p, v q ), (v i + v j )(v i + v j )(v p + v q ) Koniunkcję dwuskładnikowych sum przekształcić do minimalnego wyrażenia boolowskiego typu suma iloczynów v i v j v k + v p v q v r v s + tedy MKZ są uzupełnieniami zbiorów reprezentowanych przez składniki iloczynowe tego wyrażenia 4

50 E = {(v, v6), (v, v3), (v, v4), (v, v5), (v, v6), (v3, v4), (v3, v6), (v5, v6)} rzykład Obliczamy wyrażenie boolowskie typu koniunkcja sum : v6 v5 v v4 v v3 (v +v6)(v + v3)(v+ v4)(v + v5)(v + v6)(v3 + v4) (v3 +v6) (v5 +v6) = (v + v3)(v+ v4)(v + v5)(v + v6)(v6 + v) (v6 +v3) (v6 +v5) (v3 + v4) = (v + v3v4v5v6)(v6 + vv3v5)(v3 + v4) = (vv6 +vvv3v5 + v3v4v5v6 + vv3v4v5v6) (v3 + v4) =

51 rzykład = (vv6 +vvv3v5 + v3v4v5v6 + vv3v4v5v6) (v3 + v4) = vv3v6 +vvv3v5 + v3v4v5v6 + vv3v4v5v6 + vv4v6 +vvv3v4v5 + v3v4v5v6 + vv3v4v5v6 = vv3v6 +vvv3v5 + v3v4v5v6 + vv4v6 = vv3v6 + vv4v6 +vvv3v5 + v3v4v5v6 v Maksymalne Zbiory Niezależne: v6 v {v, v4, v5} {v, v3, v5} {v4, v6} v5 v3 {v, v} v4

52 Kolorowanie grafu Kolorowaniem wierzchołków grafu nazywamy całkowitą funkcję C ze zbioru wierzchołków w pewien niepusty skończony zbiór, nazywany zbiorem kolorów, taki że jeśli: (a, b) E C(a) C(b). Jeśli zbiór kolorów jest k elementowy (gdzie k N) oraz funkcja kolorująca wierzchołki jest funkcją na, to wówczas mówimy, że graf jest k-kolorowalny

53 odstawowy problem Jak obliczać minimalną liczbę kolorów zapewniających prawidłowe pokolorowanie grafu?

54 Algorytm kolorowania grafu Obliczyć wszystkie Maksymalne Zbiory Niezależne Uzyskujemy Rodzinę Maksymalnych Zbiorów Niezależnych (RMZN) Obliczyć pokrycie zbioru wierzchołków V minimalną liczbą Maksymalnych Zbiorów Niezależnych uzyskanym pokryciu usunąć elementy powtarzające się Komentarz: formalnie pokrycie.. MZN RMZN MZN = V 9

55 Algorytm kolorowania grafu Maksymalne Zbiory Niezależne: Minimalna podrodzina pokrywająca zbiór V = {v, v,, v6}: v {v, v4, v5} {v, v3, v5} {v, v3, v5} {v4, v6} v6 v {v4, v6} {v, v} {v, v} v5 v3 ybrane zbiory wyczerpują wszystkie elementy V Elementy powtarzające się usuwamy: Uzyskane zbiory rozłączne reprezentują kolorowanie: {v, v3, v5} {v4, v6} v4 {v} 3

56 Elementy rachunku podziałów odziałem na zbiorze S jest system zbiorów = {B i }, którego bloki są rozłączne, czyli a ponadto B i B j =φ, jeśli tylko i j S = i Bi Dla S = {,,3,4,5,6}, = {{,}, {3,5}, {4,6} } jest podziałem na S. Π = (,; 3,5;4,6) odstawowe pojęcia: loczyn podziałów oraz relacja. odzbiory nazywamy blokami

57 Elementy rachunku podziałów owiemy, że podział a jest nie większy od b (co oznaczamy: a b ), jeśli każdy blok z a jest zawarty w pewnym bloku z b. Π a = (,,4;3,5,6) Π b = (,4;,6;3,5) Π. = (,; 4;6;3,5) Π c Π a ak Π a = (,,4;3,5,6) Π. = (,; 4;6;3,5) Π() podział najmniejszy Π() podział największy Π c </ Π b Π b = (,4;,6;3,5) Π. = (,; 4;6;3,5)

58 Elementy rachunku podziałów loczynem podziałów Π a Π b nazywamy największy (względem relacji ) podział, który jest nie większy od Π a oraz Π b. Π a = (,,4;3,5,6) Π b = (,4;,6;3,5) Π a Π b = (,4; ; 6; 3,5)

59 Elementy rachunku podziałów odział ilorazowy Niech a i b są podziałami na S oraz a b. odział a b jest podziałem ilorazowym a i b, jeżeli jego elementy są blokami b, a bloki są blokami a. Na przykład: a =,6,7;,3,8;4,5 b = ;,8; 3; 4,5; 6,7 a b = ()(6,7) ; (3)(,8) ; (4,5)

60 Zadanie domowe arto przeczytać rozdział z książki SUL. Są tam inne przykłady obliczania MKZ....a dla treningu można obliczyć zadanie str

61 Układy logiczne Układy logiczne to dział techniki cyfrowej, w której układy cyfrowe konstruowane są na poziomie bramek logicznych i przerzutników. kombinacyjne sekwencyjne D Clk FF Q Q

62 Funkcja boolowska Funkcją boolowską zmiennych binarnych x,...,x n nazywamy odwzorowanie: f: X Y gdzie: X B n = {,} {,}... {,}, Y B m n-razy Jeżeli X = B n, to funkcję nazywamy zupełną; w przeciwnym przypadku jest to funkcja niezupełna, zwana również funkcją nie w pełni określoną. Reprezentacje: ablica prawdy Formuła (wyrażenie) boolowskie... i wiele innych sposobów opisu (np. BDD)

63 ablica prawdy tablicowe przedstawienie odwzorowania f f: B 3 B f(x, x, x 3 ) 3 x x x 3 f x x x 3 f Funkcja niezupełna ( ) ANKB = j= AD = L a j n j 3

64 ablica prawdy... ( ) A NKB = j= j A D = L a j = n, 3 3 ГГ, Г, Г, () B = =5 D () B = = D 4

65 Uproszczony zapis tablicy prawdy x x x 3 f x x x 3 f f = Σ(, 3, 5, 6, 7) f = Σ[, 3, 5, 7, (, 6)] 5

66 yrażenie boolowskie 7,ż :ł, ł ,947, Г # % X a b a + b a b a 6

67 yrażenie boolowskie - przykład x x x 3 f f = xx x xx x3 xx x3 xx x3 xx x f = + x + x + x + xx x3 xx3 xx3 xx3 xx x3 Ogromne znaczenie formuł boolowskich... 7

68 Operatory logiczne maj swoje realizacje techniczne - bramki logiczne x AND x x 3 OR 3 f NO 4 5 Realizacja funkcji f f = x xx3 xx x3 xx x3 xx x3 xx x

69 Komentarz,9:57,8.,. 7,. 7, 3, , / 4 /34. 3 :574 3 : ,, ,89484,3. -7,.4/. /: ,. 7,,. 48 9,. 7,,. 9 8, , 8,. 43 : ,8 4574/: 9:3,7 3 : x x x f x x x 3 f 5 odstawy teoretyczne upraszczania wyrażeń boolowskich zawarte są w algebrze Boole a. 9

70 ransformacja formuły Minimalizacja funkcji boolowskich!!! f x x x 3 Realizacja uproszczonej funkcji f = = x x x x x x x x x x x x x x x f = + + = 3 3 x x x x x x ( ) 3 x x x x + = ) ( 3 x x x x + + = + + ) ( 3 3 x x x x 3 x x + x = = = = = = x x x x x x x x x x x x x x x x x x

71 Sens fizyczny minimalizacji x x x 3 f x x x f x x x 3 f

72 Minimalizacja to bardzo ważny proces.type fr.i.o 6.ilb i i i i3 i4 i5 i6 i7 i8 i9 i.ob o o o o3 o4 o5 o6 o7 o8 o9 o o o o3 o4 o5.end.type fr.i 6.o 4.e

73 ostaci (formy) kanoniczne Kanoniczna postać sumacyjna (suma iloczynów) Kanoniczna postać iloczynowa (iloczyn sum) 3

74 Kanoniczna postać sumacyjna f(x) = n V k= x e k x e k x e n nk f(x k ) x x x 3 f x e f(x) = x, gdy e = = x, gdy e = n V k= k (X)f(X k ) f(x) = x x x3 + x x x3 + x + x x + x x x x x x

75 Kanoniczna postać iloczynowa f(x) = n k= ( ) ek ek e x + x + + x nk + f(x ) n k x x x 3 f x e f(x) = x, = x, n k= gdy e = gdy e = ( S + f(x )) k k f = (x + + x x 3 ) ( x 3 x + x + ) ( + x x ) x + 3 5

76 Minimalizacja funkcji boolowskich Zagadnienie intensywnych prac badawczych od początku lat pięćdziesiątych wieku. Ogromny wzrost zainteresowania minimalizacją f.b. powstał ponownie w latach 8. rzyczyna: możliwość realizacji układów logicznych w strukturach scalonych o złożoności milionów bramek logicznych.

77 Metody minimalizacji funkcji boolowskich Graficzne Analityczne Komputerowe Absolutnie nieprzydatne do obliczeń komputerowych ablice Karnaugha Metoda Quine a McCluskey a Omówienie całego Espresso jest ierwsze skuteczne narzędzie do minimalizacji wieloargumentowych nierealne! i wielowyjściowych funkcji boolowskich (Uniwersytet Kalifornijski w Berkeley) : Metoda i system Espresso (984) Ze względu na ograniczony zakres wykładu omówimy wyłącznie: Metodę tablic Karnaugha Metodę Ekspansji (przykładową procedurę Espresso)

78 Metoda tablic Karnaugha ablica K. jest prostokątem zło onym z n kratek, z których ka da reprezentuje jeden pełny iloczyn (minterm) zmiennych binarnych. x x x 3-7,9 5 8: 8,794. :3. 9, , / 4, ,9, /3 7, , 8, 9: /,/ A x + Ax = A x x x + x x x 3 3 x x = Dla uzyskania efektu sąsiedztwa współrzędne pól opisuje się kodem Gray a 3

79 Kod Gray a 4

80 rzykładzik x x x 3 f ) pisanie funkcji do tablicy ) Zakreślanie pętelek 3 Z pętelkami kojarzymy iloczyn zmiennych (prostych lub zanegowanych) x x x 3 f = x x + x 3 5

81 pisywanie funkcji ułatwia opis kratek tablic Karnaugha wg NKB x x x x x 3 x ( ) ANKB = j= AD = L a j x 4 x 5 x x x 3 3 n j x 3 x 4 x x

82 rzykładzik x x x 3 f pisanie funkcji do tablicy x 3 x x x x x Zakreślanie pętelek i kojarzenie z nimi odpowiednich iloczynów jest trudniejsze 7

83 rzykład x x x 3 x x 3 x f = x x 3 + x x + x x 3 x x 3 x x x x x 3 x x x x x x 3 x x 3 x 3 8

84 Algorytm minimalizacji ) Zapisujemy funkcję do tablicy K. ) Zakreślamy pętelki. a) ętelki zakreślamy wokół grup sąsiadujących kratek zawierających -ki albo -ki i (kreski). b) Liczba kratek objętych pętelka musi wynosić:,, 4,, k. c) Staramy się objąć pętelką jak największą liczbę kratek. 3) ętelki zakreślamy tak długo, aż każda -ka będzie objęta co najmniej jedną pętelką, pamiętając o tym aby pokryć wszystkie -ki możliwie minimalną liczbą pętelek. 4) Z każdą pętelką kojarzymy iloczyn zmiennych prostych lub zanegowanych. Suma tych iloczynów, to minimalne wyrażenie boolowskie danej funkcji. 9

85 rzykłady pętelek x x x 3 x x 3 x x 4 x 5 x x x 3 x 3 x 4 x x

86 rzykład - minimalizacja dla KS f = Σ[, 5, 6, 7,, (, 3,, )] x 3 x 4 x x x 3 x 4 x x f = x + x + x x + x x 3 x 3 x 4 x x 4

87 rzykład - minimalizacja dla K Różnice wynikają ze sposobu interpretacji zmiennej w szystkie czynności są takie same Kanonicznej ostaci Sumy: Kanonicznej ostaci loczynu: x e = x, x, gdy e gdy e = = x e = x, x, gdy e = gdy e = c 9: ,7 9 4/,9..4 chodzą na wykłady)

88 rzykład f = Σ[, 5, 6, 7,, (, 3,, )] x 3 x 4 x x f = (x x 3 ) x ) ( x ) ( x x ) ( x x 4 3 x 4 3

89 mplikant funkcji boolowskiej mplikant danej funkcji f jest to iloczyn literałów (zmiennych prostych i zanegowanych) o następującej własności: dla wszystkich kombinacji wartości zmiennych, dla których implikant jest równy jedności, również funkcja f jest równa jedności. rosty implikant jest to implikant, który zmniejszony o dowolny literał przestaje być implikantem. 4

90 mplikant funkcji boolowskiej interpretacji tablic Karnaugha implikant odpowiada prawidłowo zakreślonej grupie jedynek (i kresek). Natomiast implikant prosty odpowiada grupie jedynek (i kresek), której nie można powiększyć. x 3 x 4 x x mplikant xx3x 4 rosty implikant x x 3 o nie jest mplikant! 5

91 Realizacje bramkowe Realizacja AND-OR (wg sumy iloczynów) y = x + x + xx3 xx3 Realizacja OR-AND (wg iloczynu sum) y = (x + x )( x + x3 )( x + x3 ) 6

92 Sum-of-products (SO) Realizacja AND-OR x x x 3 y + = x x + x x 3 x x 3 x x x x 3 x x 3 y 7

93 roduct-of-sums (OS) Realizacja OR-AND x x x 3 y = (x + x )(x + x3 )( x + x3 ) x x x x 3 x x 3 y 8

94 nne operatory (bramki) logiczne NAND y = a b NOR y = a + b EX-OR y = a b = ab + ab NAND (NO-AND) NOR (NO-OR) EXOR (Exclusive OR) 9

95 nne realizacje bramkowe Realizacja NAND Realizacja NOR y = x + x + xx3 xx3

96 x 3 3 xx3 x3 Realizacja NAND x 3 x x y = xx + xx3 + xx3 y = x x xx 3 xx3 x x x x 3 x x 3 y

97 Realizacja NOR x x x 3 y = (x + x )( x + x3 )( x + x3 ) y = x + + x + x + x3 + x x3 x x x x 3 x x 3 y

98 Minimalizacja funkcji wielowyjściowych rzykład sygnalizujący problem: Należy zaprojektować zespół trzech funkcji czterech argumentów: f = Σ(3,7,,4,5) f = Σ(3,7,,3,4,5) f 3 = Σ(3,7,,,3,5) 3

99 rzykład sygnalizujący problem Jeśli każdą funkcję zminimalizujemy oddzielnie: ab cd cd ab ab cd f = abc + cd f = ab+ acd f 3 = abc+ cd 4

100 to uzyskamy a b c c d a b a c d a b c c d f f f 3 Do realizacji tych trzech funkcji potrzebujemy 9 bramek. Czy można zredukować ich liczbę? atrz następna plansza. 5

101 usuwamy niektóre bramki a b c c d a b a c d f f Bramka AND dla f może być usunięta przez wykorzystanie bramki AND z f 3. a b c c d f 3 eraz potrzebujemy 8 bramek..cdn. 6

102 co dalej a b c c d a b a c d a b c c d f f f 3 Bramkę AND zf można usunąć przez wykorzystanie faktu ab = abc + abc eraz potrzebujemy zaledwie 7 bramek. 7

103 Komentarz rzykład sugeruje, że w realizacji zespołu funkcji stosowanie minimalnej sumy implikantów prostych nie zawsze prowadzi do rozwiązania z minimalnym kosztem. 8

104 rzykład 3.5 z książki SUL y = Σ(,3,5,7,8,9,,,3,5) y = Σ(,3,5,6,7,,,4,5) cd ab 3 y 3 = Σ(6,7,8,9,3,4,5) cd ab cd ab cd ab y = ab + bd + bc y = c+ abd y 3 = bc+ acd+ abc 7 bramek AND 9

105 rzykład 3.5 z książki SUL cd ab cd ab cd ab 3 4 y = bc+ abd + abd +abc y = bc 5 +abd +bc abc y = abd + bc 3 5 bramek AND a poprzednio było 7 bramek AND!!! 3

106 Metody analityczne i komputerowe w minimalizacji funkcji boolowskich Metoda Quine a McCluskey a a) generacja implikantów prostych b) selekcja implikantów (tzw. pokrycie) Metoda Espresso duża liczba różnorodnych procedur procedury heurystyczne iteracyjne poprawianie wyniku

107 rocedury systemu ESRESSO F,D Complement Expand Essential primes rredundant-cover Reduce Last-gasp FM (rozdział 6 w książce SUL)

108 Zmodyfikowana metoda ekspansji (rozdział 3.3 książka SUL) Łączy idee metody Quine a McCluskey a oraz metody Espresso: a) generacja implikantów prostych (wg Espresso) b) selekcja implikantów (wg Quine a McCluskey a) Metoda ta zrealizowana w programie ANDOR jest udostępniona na w katalogu OROGRAMOANE 3

109 ojęcia podstawowe Kostka K to krotka o składowych,, reprezentująca zbiór wektorów zero-jedynkowych. K = ( ), to zbiór wektorów: Kostka reprezentuje niepełny iloczyn: K = = x x 3 4

110 Oznaczenia standardzie espresso wektory (w ogólności kostki), dla których funkcja f = oznacza się zbiorem F. ektory (kostki) dla których funkcja f = oznacza się zbiorem R. f = (F, R) 5

111 6 rzykład (EXL) k 5 k 4 k 3 k k f x 7 x 6 x 5 x 4 x 3 x x = F R =

112 Ekspansja Ekspansja jest procesem działającym na kostkach zbiorów F i R, a jej celem jest uzyskanie dla danej k F kostki k' tak dużej, jak to tylko możliwe (tzn. z możliwie dużą liczbą pozycji o wartości ) i nie pokrywającej żadnego wektora zbioru R. swoich obliczeniach Ekspansja wykorzystuje tzw. macierz blokującą B. 7

113 Macierz blokująca Definicja oryginalna (z książki Braytona): Macierzą blokującą (kostkę k) nazywamy macierz B(k,R) = [b ij ], w której każdy element b ij {,} jest definiowany następująco: b ij =, jeśli k j = oraz r ij = lub k j = oraz r ij = ; b ij =, w pozostałych przypadkach. Macierz blokująca dla danej kostki k F powstaje z macierzy R przez zanegowanie tych kolumn R, których pozycje są wyznaczone przez pozycje jedynek w kostce k F. 8

114 9 worzenie macierzy blokuj cej F = = R = B yznaczymy macierz blokującą dla kostki k wiedząc, że F i R są opisane macierzami: Skoro k = (), to dla uzyskania B wystarczy w macierzy R "zanegować" kolumny drugą, piątą i siódmą. Zatem B(k,R):

115 okrycie kolumnowe okryciem kolumnowym macierzy B jest zbiór kolumn L (L {,...,n}) taki, że dla każdego wiersza i istnieje kolumna j L, która w wierszu i ma jedynkę. Zbiór L jest minimalnym pokryciem kolumnowym macierzy B, jeśli nie istnieje zbiór L (tworzący pokrycie) taki, że L L. okrycie kolumnowe jest pojęciem ogólnym, można go tworzyć dla każdej macierzy binarnej

116 = B {L 6, L 7 } {L 3, L 4 } {L, L 4 } {L, L 3, L 7 } Obliczanie pokrycia kolumnowego L = {L 4, L 7 } jest pokryciem kolumnowym. L = {L, L 3, L 6 } jest pokryciem kolumnowym. L = {L, L 3 } nie L = {L, L 6 } nie L = {L 3, L 6 } nie

117 Obliczanie pokrycia kolumnowego B = {L 6, L 7 } {L 3, L 4 } {L, L 4 } {L, L 3, L 7 } (L 6 + L 7 ) (L 3 + L 4 ) (L + L 4 ) (L + L 3 + L 7 ) = (L 4 + L )(L 4 + L 3 )( L 7 + L 6 )(L 7 + L + L 3 ) = (L 4 + L L 3 )(L 7 + L 6 (L + L 3 )) = (L 4 + L L 3 )(L 7 + L L 6 + L 3 L 6 ) = L 4 L 7 + L L 4 L 6 + L 3 L 4 L 6 + L L 3 L 7 + L L 3 L + L 6 L 3 L 6

118 Generacja (tworzenie) implikantów Macierz blokująca B(k,R) pozwala wyznaczyć ekspansję kostki k oznaczaną k + (L,k) w sposób następujący: wszystkie składowe kostki k należące do L nie ulegają zmianie, natomiast składowe nie należące do L przyjmują wartość. Ekspansja kostki k jest implikantem funkcji f = (F,R). szczególności k + (L,k) jest implikantem prostym, gdy L jest minimalnym pokryciem kolumnowym macierzy B(k,R). 3

119 4 Generacja implikantów - przykład Dla k = () i macierzy B= zbiór L = {4,7} jest pokryciem kolumnowym B, a więc x 4 x x x x Natomiast dla L = {,3,6} (inne pokrycie kolumnowe), k + (L,k) = ( ) = k = () czyli implikantem F jest k + (L, k ) = ( ),

120 5 mplikanty proste x x x x x x x x = = = = x x x x x = = = Obliczając kolejno implikanty proste dla każdej k F uzyskuje się: roszę zauważyć, że na tym zakończyliśmy proces generacji implikantów prostych

121 przystępujemy do procesu selekcji Relacja pokrycia dla kostek x x x 3 k x 7 k k 3 k 4 k 5 x 4 x 5 x 6 = = x x x6 = x x ( ) ( ) k ( ) k k, k 5,k, k 3 4 k k k k 3 k 4 k 5 6

122 ablica implikantów prostych 3 = = = x x x 4 x x 6 7 ( ) k ( ) k,k 5 ( ) k,k 3,k 4 3 k 7 k k 3 k 4 k

123 ablica implikantów prostych ablica implikantów prostych umożliwia wybór (selekcję) takiego minimalnego zbioru implikantów, który pokrywa wszystkie kostki funkcji pierwotnej 8

124 Selekcja implikantów prostych okrycie kolumnowe k k k 3 k 4 k 5 nny zapis tablicy:, 3, 4 3, 5, 6, 7 3, 7 = x x 6 = x x 3 4 7, Minimalne pokrycie:, 3, 7 Minimalna formuła: x 4x7 + xx6 9

125 mplementacja metody program andor Fragment pliku wyjściowego andora: mplicants table of function y... rochę inny zapis All results of function y y =!x4!x7 + x!x6

126 aki sam wynik generuje Espresso.type fr.i 7.o.p 9.ilb x x x3 x4 x5 x6 x7.ob y.e F,D ięcej na temat formatu espresso w książce SUL Complement Expand Essential primes rredundant-cover Reduce Last-gasp funkcja EXL w formacie espresso FM.i 7.o.ilb x x x3 x4 x5 x6 x7.ob y.p e

127 lik wejściowy i wyjściowy przyk adu.type fr.i 7.o.p 9.ilb x x x3 x4 x5 x6 x7.ob y.e Skoro wyszło to samo co w obliczeniach za pomocą tylko jednej procedury ekspansji....i 7.o.ilb x x x3 x4 x5 x6 x7.ob y.p e...to p inne procedury ESRESSO o jest za prosty przykład!

128 ablica implikantów prostych orównanie andora i Espresso wymaga szczegółowszych eksperymentów. Można je przeprowadzić samodzielnie. rzykładowe pliki oraz programy andor i Espresso są umieszczone w katalogu Eksperymenty do wykładów cz. 3 i cz. 4. 3

129 Dyskusja Barierą ograniczającą obliczenia systematyczną metodą zastosowaną w andorze jest ogromna złożoność obliczeniowa zarówno w procesie generacji, jak też w procesie obliczania pokrycia kolumnowego. rogram ANDOR został stworzony po to, aby naocznie zaobserwować zjawisko wzrostu złożoności obliczeniowej wraz ze wzrostem liczby argumentów funkcji. Funkcja EXL ma 7 implikantów (andor dokonuje lepszej selekcji i oblicza ich zaledwie 5). Nie ma żadnej sprawy w obliczeniu minimalnego pokrycia kolumnowego. Ale 4

130 KAZ Zagadka.type fr.i.o.p 3.end le implikantów prostych ma funkcja L7 a ile KAZ? Można pomylić się o dlatego L7 obliczy zarówno systematyczna ekspansja andora, jak i Espresso. Ale już funkcja KAZ jest z praktycznego punktu widzenia realna do policzenia wyłącznie programem ESRESSO. Ale nie może to być wynik minimalny O innych zaletach andora na następnym wykładzie L7.type fr.i.o.p 5.e 5

131 A jak w jest w rzeczywistym Espresso... Komentarz tylko dla tych co chodzą na wykłady 6

132 Dalsze zalety Espresso Metoda Espresso jest szczególnie efektywna w minimalizacji zespołów funkcji boolowskich. Dla metod klasycznych synteza wielowyjściowych funkcji boolowskich jest procesem bardzo złożonym trudnym do zalgorytmizowania. rzypomnijmy przykład z poprzedniego wykładu 7

133 Układy wielowyjściowe - przykład y = Σ(,3,5,7,8,9,,,3,5) y = Σ(,3,5,6,7,,,4,5) y 3 = Σ(6,7,8,9,3,4,5) o żmudnych obliczeniach uzyskaliśmy wynik na 5 bramkach AND y = bc+ abd+ abd +abc y = bc +abd +abc +bc y = abd + bc 3 8

134 .type fr.i 4.o 3.p 6.e Jak obliczy Espresso? F,D Complement Expand Essential primes rredundant-cover Reduce Last-gasp Można sprawdzić, że jest to taki sam wynik jak na planszy 3 wykładu ULOG cz. F M.i 4.o 3.p e 9

135 Espresso... mankamenty

136 Funkcja 7 argumentów f x 7 x 6 x 5 x 4 x 3 x x f x 7 x 6 x 4 x amiętamy... z ekspansji x x x x f + = Czy mo na przewidzie od jakich argumentów funkcja istotnie zależy???

137 rzykład z Synteza układów logicznych str 65.type fr.i.o.p 5.e Funkcja argumentów Espresso Brak x 3.i.o.p e f = x + 5x6x8 + xx x5 + x5x6x8 x + x4x7x + x7x9 x6x7x - 9 argumentów 3

138 Zagadka....type fr.i.o.p 5.e Od ilu argumentów zależy ta funkcja Można wykazać, że funkcja ta jest zależna od zaledwie 7 argumentów! 4

139 niosek Espresso redukuje składniki iloczynowe Nie redukuje argumentów!!! 5

140 ROBLEM: Obliczania minimalnej liczby argumentów od których funkcja istotnie zależy...jest bardzo istotny w redukowaniu złożoności obliczeniowej procedur minimalizacji funkcji boolowskich, a w konsekwencji może się przyczynić do uzyskiwania lepszych rezultatów. Nowy sposób opisu funkcji: rachunek podziałów 6

141 Elementy rachunku podziałów odziałem na zbiorze S jest system zbiorów = {B i }, którego bloki są rozłączne, czyli a ponadto B i B j =φ, jeśli tylko i j S = i Bi Dla S = {,,3,4,5,6}, = {{,}, {3,5}, {4,6} } jest podziałem na S. Π = (,; 3,5;4,6) odstawowe pojęcia: loczyn podziałów oraz relacja. odzbiory nazywamy blokami 7

142 Elementy rachunku podziałów owiemy, że podział a jest nie większy od b (co oznaczamy: a b ), jeśli każdy blok z a jest zawarty w pewnym bloku z b. Π a = (,,4;3,5,6) Π b = (,4;,6;3,5) Π. = (,; 4;6;3,5) Π c Π a ak Π a = (,,4;3,5,6) Π. = (,; 4;6;3,5) Π() podział najmniejszy Π() podział największy Π c </ Π b Π b = (,4;,6;3,5) Π. = (,; 4;6;3,5) 8

143 Elementy rachunku podziałów loczynem podziałów Π a Π b nazywamy największy (względem relacji ) podział, który jest nie większy od Π a oraz Π b. Π a = (,,4;3,5,6) Π b = (,4;,6;3,5) Π a Π b = (,4; ; 6; 3,5) 9

144 Elementy rachunku podziałów odział ilorazowy Niech a i b są podziałami na S oraz a b. odział a b jest podziałem ilorazowym a i b, jeżeli jego elementy są blokami b, a bloki są blokami a. Na przykład: a =,6,7;,3,8;4,5 b = ;,8; 3; 4,5; 6,7 a b = ()(6,7) ; (3)(,8) ; (4,5)

145 Nowy sposób opisu funkcji - podziały Funkcja f x x x 3 x 4 x 5 x 6 x 7 f = {5;,,3,4,6,7,8,9} 3 = 3 = 4 = {,,6,7,8; 3,4,5,9} {,3,5,6;,4,7,8,9 } {,4,5,6,7,8,9;,3 } = 6 = { 7;,,3,4,5,6,8,9 } {,5,7,9;,3,4,6,8 } = f = {,3,6,7,8;,4,5,9 } {,,3,4; 5,6,7,8,9}

146 ojęcie zmiennej niezbędnej Jeżeli wektory X a oraz X b : f (X a ) f (X b ), różnią się dokładnie dla jednej zmiennej to zmienną taką nazywamy niezbędną f x 7 x 6 x 5 x 4 x 3 x x x 4 x x x x x f + = Zmienne niezbędne występują w każdym wyrażeniu funkcji!!!

147 Redukcja argumentów przykład Funkcja f x 4 x 6 zmienne niezbędne x x x 3 x 4 x 5 x 6 x 7 f ponieważ wiersze i 8 różnią się na pozycji a wiersze 4 i 9 x 4 na pozycji x = {,4,5,6,7,8,9;,3} = {,5,7,9;,3,4,6,8} Dalej liczymy iloczyn = (,5,7,9 ; 4,6,8 ;,3) f = {,,3,4; 5,6,7,8,9} 3

148 yjaśnienie x x x 3 x 4 x 5 x 6 x 7 f x x x 3 x 5 x 6 x 7 f ablica specyfikacji jest sprzeczna, ponieważ f() = (wektor ) f() = (wektor 8) Zatem x 4 jest zmienną niezbędną 4

149 ojęcie zmiennej niezbędnej Obszerniejsze wyjaśnienie i interpretacja w książce: arto przeczytać rozdział 3.4 5

150 Redukcja argumentów przykład loczyn podziałów wyznaczonych przez zmienne niezbędne (ozn. N ) ma bardzo ważną interpretację N = 4 6 = (,5,7,9 ; 4,6,8 ;,3 ) f = {,,3,4; 5,6,7,8,9 } ystarczy bowiem obliczy, N N F = ( (),(5,7,9);(4),(6,8);(,3)) aby wiedzieć jakie wektory należy rozdzielić, 5, 7, 9 4, 6, 8 6

151 Redukcja argumentów przykład c.d. x x x 3 x 4 x 5 x 6 x 7 f, 5, 7, 9 3 4, 6, , 5, 7, 9 4, 6 4, 8 x x x 3 x 5 x 7 x x 3 x x 3 x 7 x x 7 x x x 3 x x 5 7 x x 3 x x 7...obliczamy systematycznie u obliczamy minimalne pokrycie kolumnowe 7

152 Redukcja argumentów przykład c.d. x x x 3 x x 5 7 x x 3 x x 7 (x + x ) (x 3 + x 5 + x 7 ) (x + x 3 )(x + x 7 )= = (x +x )(x + x 3 )(x + x 7 )(x 3 + x 5 + x 7 ) = =(x +x x 3 x 7 )(x 3 + x 5 + x 7 ) = = x x 3 + x x 5 +x x 7 + x x 3 x {x 4,x 6 } {x,x 3,x 4,x 6 } {x,x 4,x 5,x 6 }{x,x 4,x 6,x 7 } ylko to było znalezione przez Espresso 8

153 ...a / - / - / 49. / , :3.,9,, 9 44/ 9 44/ < x x x 3 x 4 x 5 x 6 x 7 f x x 4 x 6 x 7 f , :3. 4 3, 3,,9 4,9 4 3, 4, 3, 9 3,9,-.,73,:,,73,:, 9

154 prowadzenie redukcji argumentów do procedury ekspansji daje w rozsądnym czasie wyniki lepsze niż słynne Espresso

155 rzykład z Synteza układów logicznych str 65.type fr.i.o.p 5.e Funkcja L7 argumentów Espresso.i.o.p e 9 argumentów 6 termów

156 Funkcja L7 Funkcja L7 przed redukcją.type fr.i.o.p 5 andor.e Realizacja funkcji f lość zmiennych = 7 lość wektorów = 5 R3 = {,,4,6,7,9,} Jedno z rozwiązań po redukcji argumentów

157 3 rzykład L7 Funkcja argumentów, 5 wektorów w x x x x x x x x x x x x x x x x x x f = ynik andora po RedArg 7 argumentów, 5 termów x x x x x x x x x x x x x f = ynik Espresso 9 argumentów, 6 termów

158 Funkcja KAZ!7 /7/:..type fr.i.o.p 3.end andor le jest takich rozwiązań /34 :74,, p47/:. argumentów 4

159 rzykład KAZ Silnie nieokreślona funkcja argumentów, 3 wektorów w ynik Espresso 9 argumentów, 3 termy f = x + x4x9x + x7x8x x5x8x ynik andora 5 argumentów, 3 termy f = x + x4x9x9 + xx4x9 xx9x 5

160 6 Zadanie nieco trudniejsze y y X 9 X 8 X 7 X 6 X 5 X 4 X 3 X X 7,8 4,6; 3,9,; F =,,5; Jeżeli wektory X a oraz X b : f (X a ) f (X b ), różnią się dokładnie dla jednej zmiennej to zmienną taką nazywamy niezbędną

161 Zadanie 333 -ę/3 N={x,x 3,x 7 } N = 3 7 N = (,4,8 ;,7 ; 3; 5, 6, ; 9) F =,,5; 3,9,; 4,6; 7,8 odział ilorazowy: N N F N N F = ()(4)(8); ()(7); (3); (5)(6)();(9) 7

162 8 Zadanie ; ()(4)(8) ; ()(7) (5)(6)(); N F = ; (3) (9),4,6,8,9 8, y y X 9 X 8 X 7 X 6 X 5 X 4 X 3 X X,4,6 5,6,9,5,6,8 4,5,6,9,4,8,9,4,8 4,8,7 5,6 6, 5, v v

163 9 Zadanie ( )( )( )( )= = = ) 8 4(5 6 6) 8(5 9 yrażenie boolowskie według indeksów zmiennych X i : ( )( )( )( )= = ( )( )= =

164 3 Zadanie ( )( )( )( )= = = ) 8 4(5 6 6) 8(5 9 yrażenie boolowskie według indeksów zmiennych X i : ( )( )( )( )= = ( )( )= = =

165 3 Zadanie Ostatecznie: = = ami taj c, e zmienne niezb dne były: {x,x 3,x 7 }

166 Zadanie... {x,x 3,x 7 } = Łatwo wypisać wszystkie minimalne rozwiązania: x, x, x 3, x 7, x 9 x, x 3, x 6, x 7, x 9 x, x 3, x 6, x 7, x 8 x, x 3, x 4, x 5, x 7, x 9 x, x 3, x 4, x 7, x 8, x 9 x, x, x 3, x 5, x 7, x 8 x, x 3, x 4, x 5, x 7, x 8 3

167 Dekompozycja równoległa X X g X X X h X F Xg Xh Y G Yg H Yh Y = Yg Yh 33

168 34 y : {x, x, x 6 } y : {x 3, x 4 } y 3 : {x, x, x 4, x 5, x 8 } {x, x, x 4, x 6, x 8 } y 4 : {x, x, x 3, x 4, x 7 } y 5 : {x, x, x 4 } y 6 : {x, x, x 6, x 8 } y 6 y 5 y 4 y 3 y y x 8 x 7 x 6 x 5 x 4 x 3 x x Dekompozycja równoległa - przykład

169 Dekompozycja równoległa - przykład y : {x, x, x 6 } y : {x 3, x 4 } y 3 : {x, x, x 4, x 5, x 8 } {x, x, x 4, x 6, x 8 } y 4 : {x, x, x 3, x 4, x 7 } y 5 : {x, x, x 4 } y 6 : {x, x, x 6, x 8 } G= {y, y 3,y 6 } H= {y, y 4,y 5 } X g = {x, x, x 4, x 6, x 8 } X h = {x, x, x 3, x 4, x 7 } 35

170 36 x x x 3 x 4 x 5 x 6 x 7 x 8 H G y 6 y 3 y x 9 x 6 x 4 x x y 5 y 4 y x 7 x 4 x 3 x x Dekompozycja równoległa - przykład

171 Struktury układów logicznych f Gate Array Standard Cell rogrammable Logic Devices

172 Struktury układów logicznych Ale w dzisiejszych technologiach układy logiczne to nie tylko bramki! FGA Coraz większego znaczenia nabierają technologie, w których podstawowym elementem konstrukcyjnym są komórki logiczne (Logic Cell) Logic Cell Field rogrammable Gate Array a dla tych struktur omówione do tej pory metody syntezy - w szczególności minimalizacja - są nieskuteczne

173 Dekompozycja funkcjonalna jest metodą znaną od dawna, ale jej intensywny rozwój dokonuje się od niedawna. Sytuacja jest podobna do rozwoju nowoczesnych metod minimalizacji, który to rozwój zapoczątkowany został pojawieniem się układów scalonych z milionami bramek logicznych. Jedyną różnicą jest fakt, że technologie struktur komórkowych pojawiły się znacznie później i metody ich syntezy nie nie są jeszcze wbudowane do systemów komercyjnych. 3

174 Dekompozycja funkcjonalna Skuteczność dekompozycji jest tak ogromna, że mimo jej braku w narzędziach komercyjnych należy się z tymi metodami zapoznać i stosować w praktyce projektowania układów cyfrowych za pośrednictwem narzędzi uniwersyteckich. Dekompozycję funkcji boolowskich omówimy w dwóch ujęciach: a) metoda klasyczna (znana od dawna...) b) metoda nowoczesna (dostosowana do złożoności dzisiejszych technologii) 4

175 Metoda klasyczna... to metoda tablicowa, graficzna, której podstawowe operacje wykonywane są na tzw. tablicy dekompozycji ablicą dekompozycji funkcji f nazywamy macierz dwuwymiarową o kolumnach etykietowanych wartościami zmiennych funkcji f ze zbioru B oraz o wierszach etykietowanych wartościami zmiennych funkcji f ze zbioru A B A x 4 x 5 x x x 3 Elementami macierzy M są wartości, jakie przyjmuje funkcja f na wektorach złożonych z odpowiednich etykiet i-tego wiersza i j-tej kolumny. 5

176 Krotność kolumn Liczbę istotnie różnych kolumn tej macierzy ze względu na ich zawartość nazywamy ich krotnością i oznaczamy symbolem ν(a B). B x x x 3 x 4 x 5 A Krotność kolumn = 4 6

177 Klasyczne twierdzenie o dekompozycji Niech będzie dana funkcja boolowska f oraz podział zbioru zmiennych wejściowych funkcji f na dwa rozłączne zbiory A i B, to wówczas: f(a,b) = h(g (B),.., g j (B),A) ν(a B) j. B g A h f B (bound set), A (free set) 7

178 rzykład B x x x 3 x 4 x 5 A x x x 3 g g g g x 4 x 5 stnieje dekompozycja! f = h(x 4, x 5, g (x, x, x 3 ), g (x, x, x 3 )) 8

179 raktyczne znaczenie dekompozycji.. x 4 x 5 x x x 3..dla struktur FGA x x x 3 x 4 x 5 g f h g g h 9

180 rzykład trochę trudniejszy cde a b K K K K3 K4 K5 K6 K7 a b c d e g stnieje dekompozycja! h f = h(a,b,g (c,d,e), g (c,d,e))

181 Relacja zgodno ci kolumn Jak obliczać dekompozycję

182 Relacja zgodności kolumn Kolumny {k r, k s } są zgodne, jeśli nie istnieje wiersz i, dla którego elementy K ir, K is są określone i różne, tzn. odpowiednio:, albo,. K K K3 K4 K5 K6 K

183 Relacja zgodności kolumn K K K3 K4 K5 K6 K Kolumny zgodne można sklejać {K,K4,K7} {K5,K6} - - 3

184 Obliczanie dekompozycji... yznaczyć relację zgodności kolumn, czyli wypisać wszystkie pary sprzeczne. yznaczyć rodzinę maksymalnych zbiorów kolumn zgodnych (maksymalnych klas zgodnych MKZ). Z rodziny tej wyselekcjonować minimalną podrodzinę (w sensie liczności) rozłącznych zbiorów zgodnych pokrywającą zbiór K wszystkich kolumn tablicy dekompozycji. 4

185 rzykład - obliczanie klas zgodności ary sprzeczne: cde a b K K K K3 K4 K5 K6 K7 K, K sprzeczna K, K sprzeczna K, K3 zgodna K, K4 zgodna,,,5,7,,7,3,4,6 3,5 3,7 4,7 5,6 6,7 5

186 rzykład obliczanie klas zgodności Stosując algorytm MKZ obliczamy rodzinę Maksymalnych Klas Zgodnych kolumn:,3,4,6,3,4,6,4,5,5,7 ybieramy:,3,4,6,4,5,5,7 Ostatecznie:,3,4,6,5,7 Kolumny powtarzające się usuwamy Komentarz: formalnie obliczamy pokrycie.. KZ RKZ S KZ = K 6

187 Sklejanie kolumn funkcja h cde ab K K K K3 K4 K5 K6 K7 {K,K3,K4,K6} {K,K5} {K,K7} g g ab Kodowanie? Może być dowolne 7

188 Kodowanie kolumn funkcja g ab cde K K K K3 K4 K5 K6 K7 g g ab c d e g g 8

189 Co uzyskaliśmy a b c d e h g c d e g g g g ab Opis funkcji g i h tablicami prawdy wystarczy dla realizacji w strukturach FGA Ale funkcje g i h można obliczyć jawnie czyli po procesie dekompozycji można je minimalizować 9

190 uzyskując w rezultacie a b c d e g h strukturę na bramkach

191 rzykład funkcje g i g c d e g g cd e cd e g = cde + cde g = cde + ce + de

192 rzykład funkcja h g g ab Uwaga: rzestawiliśmy wiersze h = ag bg + + ag

193 rzykład realizacja a b c d e c d e c d e c d e c e d e g g G a g b g a g H h = f 3

194 rzykład (bardziej skomplikowany) - L7.type fr.i.o.p 5.e x 3 x 5 x 6 x 7 x 8 x 9 x f x 7 x 8 x 9 x 3 x 5 x 6 x f A B 4

195 ablica dekompozycji dla funkcji L7 x 3 x 5 x 6 x x 7 x 8 x 9 5

196 ablica dekompozycji dla funkcji L7 H G g x 3 x 5 x 6 x G x 7 x 8 x 9 6

197 raktyczny wynik dekompozycji funkcji L7.type fr.i.o.p 5.e x 7 x 8 x 9 x 3 x 5 x 6 x G H f ylko komórki 7

198 Zagadka Na ilu komórkach zrealizuje tę funkcję amerykański system QUARUS? 5 kom. (FLEX) QUARUS lub 7 kom. (Stratix)!!! 8

199 Jak usprawnić obliczanie MKZ? metodzie dekompozycji jednym z najważniejszych algorytmów jest algorytm obliczania maksymalnych klas zgodności celu sprawniejszego obliczania MKZ wprowadzimy metodę wg par zgodnych: a) metodę bezpośrednią b) metodę iteracyjną 9

200 Metoda bezpośrednia ary zgodne: a, b b, c a, c {a, b, c} a, b, c a, b, d b, c, d a, c, d {a, b, c, d} i.t.d. 3

201 rzykład obliczanie klas zgodności,3,4,6,3,4,5,6,5,7 3,4 3,6 4,5 4,6 5,7,3,4,3,6,4,6,3,4,4,5,4,6,5,7 3,4,6 Maksymalne klasy zgodności:,3,4,6,3,6,3,4,6,4,5,5,7 3

202 Algorytm MKZ wg par zgodnych E relacja zgodności (e i,e j ) E R j = { e i i < j oraz (e i,e j ) E} RKZ k RKZ k+ KZ RKZ k a) R k+ = φ, RKZ k+ jest powiększana o klasę KZ = {k+} b) KZ R k+ = φ, KZ bez zmian c) KZ R k+ φ, KZ = KZ R k+ {k+} 3

203 rzykład R j = { e i i < j oraz (e i,e j ) E} E:,3,4,6,3,4,5,6,5,7 3,4 3,6 4,5 4,6 5,7 R = φ R = φ R = φ R 3 =, R 4 =,,3 R 5 =,,4 R 6 =,,3,4 R 7 =,,5 33

204 rzykład R = R = R = R 3 = R 4 = R 5 = φ φ φ {,} {,,3} {,,4} R 6 = {,,3,4} R 7 = {,,5} {} {} {} {} {} {} {,3} {,3} {} {,3,4} {,3,4} {} {4,5} {,4,5} {,5} {,3,4} {,3,4} {,4,6} {,5,7} {,5} {,3,4,6} {,3,4,6} {,4,5} {,3,4,6} {,3,4,6} {5,7} {,4,5} Rodzina MKZ 34

205 arto umiej tnie dobiera metod... ary zgodne: (,), (,3), (,4), (,5), (,6), (,7), (,3), (,5), (,6), (,7), (3,4), (3,5), (3,6), (3,8), (4,6), (4,7), (4,8), (5,6), (5,7), (5,8), (6,7), (6,8), (7,8), ary sprzeczne: (,8) (,4) (,8) (3,7) (4,5) ybór metody jest oczywisty! 35

206 poszukiwaniu innych metod obliczaniu kolumn, które można skleić znajdują zastosowanie algorytmy kolorowania grafu. ierzchołki grafu reprezentują kolumny tablicy dekompozycji. Niezgodne pary kolumn łączy się krawędziami. Graf niezgodno ci: k k s k ary niezgodne: (k i, k j ) (k i, k s ) k r k i (k l, k r ) k p k l k j 36

207 rzykład ary zgodne: ary sprzeczne:,3,4,6,3,4,5,6,5,7 3,4 3,6 4,5 4,6 5,7,,,5,7,,7,3,4,6 3,5 3,7 4,7 5,6 6,7 37

208 Graf niezgodno ci (,), (,), (,5), (,7), (,), (,7), (,3), (,4), (,6), (3,5), (3,7), (4,7), (5,6), (6,7) 7 i jego kolorowanie

209 &,/ ,/ ,:94,9: Automat v v V v S S /Y /Y v 3 y Y v v v 3 v Y v v 3 v Y 3 Y v v 3 S 3 /Y 3 v jest definiowany przez określenie: a) zbioru liter wejściowych V (X) i wyjściowych Y, b) zbioru stanów wewnętrznych S, c) funkcji przejść (ozn. δ), d) funkcji wyjść (ozn. λ).

210 F:3.,57 :3.,57 Funkcja przejść: δ: S X S Funkcja wyjść: λ: S X Y (tzw. automat Mealy ego) λ: S Y (tzw. automat Moore a) Automat może być zupełny lub niezupełny

211 Specyfikacja automatu ablica przej -wyj automatu: Mealy ego Moore a v v v v v v v 3 y S S S y y S S 3 S y 3 y S S S S 3 y S S 3 S S y Mealy ego: S 3 S S y y 3 wej cie/wyj cie... i graf S 3 S S 3 S y 3 Moore a: wej cie stan stan/ wyj ci e 3

212 Specyfikacja automatu ablica przej -wyj automatu: Mealy ego Moore a v v v v v v v 3 y S S S y y S S 3 S y 3 y S S S S 3 y S S 3 S S y Mealy ego S 3 S S y y 3 v /y v /y 3 S S 3 v /y v /y v /y S 3... i graf v /y S 3 S S 3 S y 3 v v v 3 S S 3 /y y v v v 3 v v 3 Moore a S y v 3 4

213 Układ sekwencyjny Jak zrealizowa automat x x Q Q v v v 3 Y S S S 4 y S S 5 S 3 S y S 3 S 4 S 5 y 3 S 4 S S S 3 y S 5 S 4 S y 4 Zakodowane litery wej ciowe x y UK x n y m Zakodowane litery wyj ciowe Zakodowane stany automatu Q wej cie synchronizuj ce uk adach synchronicznych q Q B k CLK US q k uk adach asynchronicznych 5

214 Klasyfikacja układów sekwencyjnych x y x n UK y m Q q Q k B q k wej cie synchronizuj ce CLK Uk ady sekwencyjne: Synchroniczne (B zbudowany z przerzutników synchronicznych) Asynchroniczne (B realizuj opó nienia lub przerzutniki asynchroniczne) Brak sygna u zegarowego 6

215 Synchroniczne układy sekwencyjne x x n y UK y m Q B q Q k rzerzutniki q k CLK rzerzutnik to automat typu Moore a FF Q Q o dwóch stanach wewnętrznych, CLK jednym lub dwóch wejściach informacyjnych, dwóch wyjściach (prostym i zanegowanym) oraz wejściu synchronizującym (zegarowym). 7

216 rzerzutniki zależności od rodzaju wejść informacyjnych wyróżniamy przerzutniki typu: D,, SR oraz JK. D FF Q Q SJ RK FF Q Q CLK CLK rzerzutnik jest określony: tablicą przejść, równaniem charakterystycznym, tablicą wzbudzeń. 8

217 rzerzutniki tablice przejść D Q Q = D SR Q Q Q' = Q+ Q JK Q Równanie charakterystyczne: Q = f(,,q) 9

218 rzerzutniki tablice wzbudzeń Q Q D S R J K D delay trigger S Set (wej cie w czaj ce) R Reset (wej cie wy czaj ce) J wej cie w czaj ce K wej cie wy czaj ce

219 rzebiegi czasowe przerzutnik typu D D CLK FF CLK Q Q D D Q Q

220 rzebiegi czasowe przerzutnik typu FF Q Q CLK CLK Q Q

221 rzebiegi czasowe - porównanie CLK D () Q (D) Q () 3

222 Synteza układów sekwencyjnych Etapy syntezy: synteza abstrakcyjna (utworzenie tablicy przejść-wyjść) redukcja (minimalizacja) liczby stanów kodowanie stanów, liter wejściowych i wyjściowych synteza kombinacyjna (obliczanie funkcji wzbudzeń przerzutników i funkcji wyjściowych) v v S S / /Y Y v v 3 x x Y v 3 v v v v v v v 3 S S S y y Q Q S 3 /Y 3 S S 3 S y 3 y Q Q v S 3 S S y y 3 CLK 4

223 Synteza kombinacyjna X UK we Q rze rzu tniki Q UK wy Y CLK Obliczanie funkcji steruj cych wej ciami przerzutników (funkcje wzbudze ) Q = f(x,q) Obliczanie funkcji wyj ciowych Y = f(q) (Moore) Y = f(x,q) (Mealy) 5

224 rzykład syntezy (detektor sekwencji) Do zakodowania trzech symboli stanów potrzebne s dwie zmienne binarne czyli wystarcz dwa przerzutniki, oznaczamy je Q, Q S X A B A B C A C C A Y QQ X A B C ( ) Samo przyporz dkowanie symbolom stanów s ów binarnych jest zazwyczaj dowolne, gdy staramy si spe ni wy cznie warunek jednoznaczno ci kodowania, ale 6

225 Obliczanie funkcji wzbudzeń i wyjściowych QQ D X S QQ A B C ( ) % 47 9,- /,:3. -:/ :93 X X QQ QQ D=Q D=Q = xq Q' = D = x Q' D= Y Y = xq 7

226 Schemat logiczny detektora sekwencji x Y D Q D Q Q Q $., : 3,54/89, :3. -:/ D= xq D = x Y = xq 8

227 rzykład... Realizacja X QQ X QQ QQ X QQ Q Q X QQ = QQx + xq xq+ xq = Y jak poprzednio 9

228 Schemat logiczny detektora () x x Y Q Q Q Q CLK = QQx + xq xq+ xq = Y jak poprzednio

229 rzykład... Realizacja JK X QQ X QQ QQ J K Q Q QQ QQ J K QQ QQ J= xq K= x J = x K = x J K

230 Schemat logiczny detektora (JK) CLK J Q K Q K J Q Q x Y J= xq K= x J = x K = x Y jak poprzednio

231 Zadanie: licznik mod. 5 ze sterowaniem x x clk Licznik (up, down, clear) y a up liczenie do przodu b down liczenie do ty u c clear zerowanie a up b down liczenie c clear liczenie do przodu zerowanie do ty u S X a b c Y X QQQ S S S4 S S S S S S S3 S S S3 S4 S S S4 S S3 S 3

232 Licznik ze sterowaniem X QQQ Q Q Q x x QQQ Q Q Q 4

233 rzerzutniki D Dla przerzutników typu D: Q = D x x QQQ Q Q Q x x QQQ x x QQQ x x QQQ Q = D Q = D Q = D 5

234 Licznik ze sterowaniem - przerzutniki D x x QQQ x x QQQ x x QQQ D = QQx x +QQQx x D D D D = QQx x +QQx x +QQx x +Qx x D = QQx +QQx x +Qx x 6

235 Licznik ze sterowaniem - przerzutniki JK 7

236 QQ J K Licznik ze sterowaniem - JK QQQ x x Q x x QQQ J = x x QQQ QQx x J K + QQx x K = 8

237 QQ J K Licznik ze sterowaniem - JK x x QQQ Q J = x x QQQ x x QQQ Qx x J K + Qx x K = x + Qx +Qx 9

238 QQ J K Licznik ze sterowaniem - JK QQQ x x Q x x QQQ x x QQQ J = J Qx x K + Qx +Qx x K = 3

239 Nie martwmy się... Synteza kombinacyjna uk adów sekwencyjnych mo e by (i zazwyczaj jest) procesem mudnym, trzeba przetwarza ogromne tablice wype nione zerami i jedynkami. Ale nie martwmy si! roces ten w systemach komputerowego projektowania jest ca kowicie zautomatyzowany. 3

240 jedyn czynno ci Nie martwmy u ytkownika się... jest... AHDL lub VHDL dalej automatycznie a do zaprogramowania FGA 3

241 Specyfikacja automatu Nie wnikaj c w szczegó y takiego zapisu (b d one omawiane na innych wyk adach) trzeba podkre li, e jest to wierne odwzorowanie tablicy przej wyj automatu. AHDL VHDL 33

242 Na przykład licznik ze sterowaniem... ABLE % current current next next % % state input state output % S X Y S S S4 S S S S S S S3 S S S3 S4 S S S4 S S3 S END ABLE; s, v[] => s, y; s, B" => s, ; s, B" => s4, ; s, B"X => s, ; s, B" => s, ; s, B" => s, ; s, B"X => s, ; s, B" => s3, ; s, B" => s, ; s, B"X => s, ; s3, B" => s4, ; s3, B" => s, ; s3, B"X => s, ; s4, B" => s, ; s4, B" => s3, ; s4, B"X => s, ; zapisany w j zyku AHDL, po wprowadzeniu... 34

243 specyfikacji do edytora tekstowego ABLE % current current next next % % state input state output % END ABLE; s, v[] => s, y; s, B" => s, ; s, B" => s4, ; s, B"X => s, ; s, B" => s, ; s, B" => s, ; s, B"X => s, ; s, B" => s3, ; s, B" => s, ; s, B"X => s, ; s3, B" => s4, ; s3, B" => s, ; s3, B"X => s, ; s4, B" => s, ; s4, B" => s3, ; s4, B"X => s, ; 35

244 i uruchomieniu kompilatora...zostanie automatycznie zrealizowany bez udzia u projektanta. q _EQ =!q & q &!X & X # q &!X & X #!q &!q &!X &!X; EM73 q _EQ = q &!X & X # q & q &!X & X #!q & q &!q &!X &!X # q &!q &!q &!X &!X; q _EQ3 =!q &!q &!q &!X & X # q & q &!q &!X &!X; 36

245 niosek Skoro kompilator oblicza funkcje wzbudze automatycznie, to umiej tno ta nie jest w dzisiejszych czasach spraw najwa niejsz. Lepiej skoncentrowa si na tych metodach i procedurach syntezy logicznej, które nie s jeszcze wbudowane do systemów komercyjnych. 37

246 Minimalizacja automatu Minimalizacja automatu to minimalizacja liczby stanów. Jest to transformacja automatu o danej tablicy przejść-wyjść na równoważny mu (pod względem przetwarzania sygnałów cyfrowych) automat o mniejszej liczbie stanów wewnętrznych. Jest to prawie zawsze możliwe, gdyż w procesie pierwotnej specyfikacji często wprowadzane są stany nadmiarowe lub równoważne. Minimalizacja liczby stanów S x a b c d a b c d S S S3 S4 S5 S6 S4 S6 S3 S3 S4 S S6 S6 S S5 S S S3 a b c d a b A C B C A B C C A C B C A B Czysty zysk zamiast trzech przerzutników tylko dwa! c d

247 nformacja dla zainteresowanych syntezą logiczną Materiał z tego wykładu jest prezentowany również w ramach wykładu prof. M. erkowskiego ECE 573 Design od sequential circuits w ortland State University Jest to wykład obszerniejszy niż nasz bo obejmuje wyłącznie układy sekwencyjne

248 Minimalizacja liczby stanów Relacja zgodności na zbiorze stanów S: (pary stanów zgodnych) Maksymalne zbiory stanów zgodnych (Maksymalne Klasy Zgodności) Selekcja zbiorów zgodnych spełniających tzw.: warunek pokrycia warunek zamknięcia 3

249 ojęcia podstawowe Dwa stany wewnętrzne Si, Sj są zgodne, jeżeli dla każdego wejścia v mają one niesprzeczne stany wyjść, a ich stany następne są takie same lub niesprzeczne. x S a b 3 c 4 d a b c d Stany zgodne warunkowo Stany zgodne Stany sprzeczne Dwa stany wewnętrzne S i, S j są zgodne warunkowo, jeżeli ich stany wyjść są niesprzeczne oraz dla pewnego v V para stanów następnych do S i, S j (ozn. S k, S l ): (S i, S j ) (S k, S l ) Stany Si, Sj są sprzeczne, jeżeli dla pewnego v V ich stany wyjść są sprzeczne. 4

250 Relacja zgodności Ze względu na zgodność warunkową w obliczeniach (wszystkich!) par zgodnych posługujemy się tzw. tablicą trójkątną. ablica trójkątna zawiera tyle kratek, ile jest wszystkich możliwych par stanów. Na przykład dla automatu o 5 stanach: 5

251 ablica trójkątna 3 4 v x 5 (i,j) 3 4 Kratki tablicy wypełniamy symbolami: v jeżeli para stanów jest zgodna, x jeżeli para stanów jest sprzeczna, lub (i,j) - parą (parami stanów następnych), jeżeli jest to para zgodna warunkowo. 6

252 7 ablica trójkątna - przykład d c b a d c b a ,; 3,5 v v v v v

253 ablica trójkątna - przykład o wypełnieniu tablicy sprawdzamy, czy pary stanów sprzecznych (zaznaczone ) nie występują przypadkiem jako pary stanów następnych. Jeśli są takie pary, to należy je skreślić (czyli zaznaczyć ). roces ten trzeba powtarzać tak długo, aż sprawdzone zostaną wszystkie krzyżyki ,6 4,6 szystkie kratki niewykreślone odpowiadają parom zgodnym: (,); (,3); (,5); (,3); (,4); (,5); (3,5); (3,6); (4,6). 5,4 6 3,4 3,; 3,

254 Obliczanie MKZ o wyznaczenie zbioru par stanów zgodnych, przystępujemy do obliczenia: maksymalnych zbiorów stanów zgodnych. Maksymalne klasy zgodności (MKZ)...znamy co najmniej trzy metody obliczania MKZ! 9

255 ...wracamy do przykładu ary zgodne: (,); (,3); (,5); (,3); (,4); (,5); (3,5); (3,6); (4,6),,3,5,3,4,5 3,5 3,6 4,6 v v v v v v MKZ:,,3,,5,,3,5,3,5,3,5,4 3,6 4,6 MKZ = {{,,3,5}, {,4}, {3,6}, {4,6}}

256 Algorytm minimalizacji ) yznaczenie par stanów zgodnych, ) Obliczenie maksymalnych zbiorów stanów zgodnych (MKZ), 3) Selekcja zbiorów spełniających tzw. warunek pokrycia (a) i zamknięcia (b): a) każdy stan musi wchodzić co najmniej do jednej klasy; b) dla każdej litery wejściowej wszystkie następniki (stany następne) danej klasy muszą wchodzić do jednej klasy.

257 arunek pokrycia - przykład d c b a d c b a MKZ = {{,,3,5}, {3,6}, {,4}, 4,6}} Aby spełnić warunek pokrycia wystarczy wybrać klasy: {,,3,5}, {4,6}

258 3 arunek zamknięcia - przykład d c b a d c b a Dla wybranych klas {,,3,5},{4,6}} obliczamy ich następniki: 4,6,,3,5 d c b a Nie jest spełniony warunek zamknięcia! 4,6 3,6,4 3 6, 3,5 3,6!,4!

259 4 arunek pokrycia i zamknięcia druga próba d c b a d c b a 4,6 C 3,5 B, A d c b a d c b a MKZ = {{,,3,5}, {3,6}, {,4}, {4,6}} ybór: B A C B C A C C B A C B C A d c b a d c b a {,}, {3,5}, {4,6} 3,5, O.K.

260 5 Jeszcze jeden przykład v v v v v v v v v v 37

261 Jeszcze jeden przykład c.d v v v 37 v v v 3 4 ary zgodne: 37 v v v v 5 6 7,3,7,5,8 3,4 3,5 3,6 4,5 4,6 4,7 5,7 5,8 6,7 6,8 MKZ:,5,8 3,4,5 3,4,6 4,5,7 4,6,7,3,7 6,8 6

262 Jeszcze jeden przykład c.d MKZ:,5,8 3,4,5 3,4,6 4,5,7 4,6,7,3,7 6,8 8,5,8 3,4,5 3,4,6 4,5,7 4,6,7,3,7 6,8 δ(,s i ) δ(,s i )

263 8 Jeszcze jeden przykład c.d δ(,s i ) δ(,s i ) 6,8,7,3 4,6,7 4,5,7 3,4,6 3,4,5,5,8 B A C A B B C C A X S A B C Automat minimalny:

264 Detektor sekwencji Zaprojektować układ sekwencyjny Mealy ego o jednym wejściu binarnym i jednym wyjściu binarnym. Układ ma badać kolejne trójki symboli wejściowych. Sygnał wyjściowy pojawiający się podczas trzeciego skoku układu ma wynosić, gdy trójka ma postać, a, gdy trójka jest innej postaci. Sygnał pojawiający się podczas pierwszego i drugiego skoku układu może być nieokreślony /- /- /- /- /- / / / / / / / / / 9

265 Detektor sekwencji /- /- / /- /- /- / / / / / / / /- /- /- / /- / /- /- /- / / / / S S

266 Minimalizacja detektora sekwencji S X , , 3 5, 3, , 5 4, Bardzo dużo par zgodnych! 3 4 Do wyznaczenia MKZ wykorzystamy pary sprzeczne, których jest znacznie mniej (dwie).

267 Minimalizacja detektora sekwencji ary sprzeczne zapisujemy w postaci wyrażenia boolowskiego typu iloczyn (koniunkcja) dwu-składnikowych sum. detektorze sekwencji pary sprzeczne są: (, 3); (4, 5). Na tej podstawie zapisujemy wyrażenie: ( 3) (4 5), które po wymnożeniu uzyskuje postać: ( 3) (4 5) = Odejmując od zbioru S = {,, 3, 4, 5} wszystkich stanów zbiory zapisane w poszczególnych składnikach uzyskujemy rodzinę wszystkich MKZ. {,, 3, 4, 5} {, 4} = {, 3, 5} {,, 3, 4, 5} {, 5} = {, 3, 4} {,, 3, 4, 5} {3, 4} = {,, 5} {,, 3, 4, 5} {3, 5} = {,, 4}

268 Minimalizacja detektora sekwencji X S S MKZ: {, 3, 5}, {, 3, 4}, {,, 5}, {,, 4} X Klasy {, 3, 5}, {,, 4} spełniają warunek pokrycia, Funkcja przejść dla wszystkich MKZ ale nie spełniają warunku zamkniętości stany następne: {,,5}! Dokładamy klasę {,,5} Klasy: {,3,5}, {,, 4}, {,, 5} spełniają warunek pokrycia i zamkniętości S X A 35 B 5 C S X A B C B C C A A A 3

269 ...a to już było S X A B B C A A Uzyskany automat był już realizowany na przerzutnikach i bramkach wykład cz6, plansze 5 do. C C A Omówiliśmy cały proces syntezy! Zaprojektować układ sekwencyjny Mealy ego o jednym wejściu binarnym i jednym wyjściu binarnym. Układ ma badać kolejne trójki symboli wejściowych. Sygnał wyjściowy pojawiający się podczas trzeciego skoku układu ma wynosić, gdy trójka ma postać, a, gdy trójka jest innej postaci. Sygnał pojawiający się podczas pierwszego i drugiego skoku układu może być nieokreślony. x x Y CLK Q Q Q Q 4

270 roblem kodowania s x ariant ariant A B C D A A D A B C C B A = B = C = D = A = B = C = D = ariant + = " " " " + = " " + " " " " = " " ariant = + " " " = = " "

271 Kodowanie Jak przewidzieć (obliczyć) najlepsze kodowanie stanów? Czy realne jest sprawdzenie wszystkich możliwości 3 stany - 3 różne kodowania 4 stany - 3 różne kodowania 5 stanów - 4 kodowań 7 stanów - 84 kodowań 9 stanów - ponad milionów kodowań

272 KODOANE Jedyną rozsądną z punktu widzenia dzisiejszych technologii i realną do omówienia w ograniczonym ) czasie wykładu jest metoda wykorzystująca podział z własnością podstawienia. ) A wszystkich wytrwałych w tym procesie specjalnie nagradzam na egzaminie. 3

273 Elementy rachunku podziałów odziałem na zbiorze S jest system zbiorów = {B i }, którego bloki są rozłączne, czyli B i B j =φ, jeśli tylko i j. Dla S = {,,3,4,5,6}, = {{,}, {3,5}, {4,6} } jest podziałem na S. Π = (,; 3,5; 4,6) loczyn podziałów, suma podziałów oraz relacja. 4

274 Elementy rachunku podziałów owiemy, że podział Π a jest nie większy od Π b (co oznaczamy: Π a Π b ), jeśli każdy blok z Π a jest zawarty w pewnym bloku z Π b. Π a = (,,4;3,5,6) Π b = (,4;,6;3,5) Π. = (,; 4;6;3,5) Π c Π a ak Π c </ Π b Π() podział najmniejszy Π() podział największy 5

275 Elementy rachunku podziałów loczynem podziałów Π a Π b nazywamy największy (względem relacji ) podział, który jest nie większy od Π a oraz Π b. Π a = (,,4;3,5,6) Π b = (,4;,6;3,5) Π a Π b = (,4; ;6;3,5) 6

276 Elementy rachunku podziałów Sumą podziałów Π a + Π b nazywamy najmniejszy (względem relacji ) podział, który jest nie mniejszy od Π a oraz Π b. Π a = = (,;3,4;5,6 7,8,9) (,6;,3;4,5 7,8 9) Π b Π = (,,6;... ) a + Π b = (,,3,6;... ) Π a + Π b Π = (,,3,4,6;... ) a + Π b Π ( ) a + Π b =,,3,4,5,6;... Π a + Π b = (,,3,4,5,6;7,8,9 ) 7

277 8 łasność podstawienia odział Π na zbiorze stanów automatu M=<S,, δ> ma własność podstawienia (closed partition), gdy dla każdej pary stanów S i, S j należącej do tego samego bloku Π i każdego wejścia k stany k S i oraz k S j należą do wspólnego bloku Π. E D F F B E A F D E C C C E B F A A x s ( ) F D C E B A,, ;,, π = odziały z własnością podstawienia: ( ) F E D B C A, ;, ;, π =

278 wierdzenie Dany jest automat M o zbiorze stanów S, S = n. Do zakodowania stanów potrzeba Q,..., Q k elementów pamięci. β(π) liczba bloków podziału Π Jeżeli istnieje podział Π z własnością podstawienia i jeżeli r spośród k zmiennych kodujących Q,..., Q k, gdzie r = log β(π), jest przyporządkowanych blokom podziału Π tak, że wszystkie stany zawarte w jednym bloku są oznaczone tymi samymi kodami Q,..., Q r, to funkcje Q,..., Q r, są niezależne od pozostałych (k r) zmiennych. 9

279 rzykład - interpretacja w.p. s A x A F π = ( A, B, E; C, D, F ) B C E C C E ( A, D; B, C; E F ) τ =, D F A E F B D F E Kodowanie wg Π A τ B Nie wystarcza to do zakodowania Π τ = Π() C D E F arunek jednoznaczności kodowania!

280 rzykład s x Co to znaczy, że zastosujemy kodowanie wg podziału zamkniętego: A B C D E F A E C F B D F C E A F E Q Q Q 3 A B C D E F Q = D = f(x,q ) a co z pozostałymi? Niestety tylko jedną zmienną zakodowaliśmy wg podziału zamkniętego, zatem: Nie musimy obliczać funkcji wzbudzeń, aby stwierdzić, że pierwsza z nich, czyli D będzie Q = D = f(x,q,q,q 3 ) Q 3 = D 3 = f(x,q,q,q 3 )

281 rzykład A może jest więcej podziałów zamkniętych: s A B C x A E C F C E óźniej wykażemy, że oprócz Π jest Π π ( ) = A, B, E; C, D, F π ( A, C; B, D; E, F ) = D F A Kodowanie wg Π Π E B F A F D E B C Jest to kodowanie jednoznaczne Π Π = Π() D E F

282 RZYKŁAD c.d. rzy tak dobranym kodowaniu pierwsza funkcja wzbudzeń Q tego automatu będzie zależna od jednej zmiennej wewnętrznej, a druga i trzecia łącznie (Q, Q 3 ) od dwóch zmiennych wewnętrznych, czyli Q = f(x,q ) Q = f(x,q,q 3 ) Q 3 = f(x,q,q 3 ) Kto nie wierzy, niech zakoduje, obliczy funkcje Q, Q, Q 3 i sprawdzi. Dla całego roku! 3

283 Obliczanie podziału zamkniętego s x worzymy graf par następników dla różnych wierzchołków początkowych A B A E F C A,B C D C F E A A,E C,F E F B D F E F C,D E A,C E,F A,B = ( ) B,D A,C A,D Π ( ) Π = Π() A,D A,F 4

284 5 RZYKŁAD Z A B G B D H D C F C A E C E D D G C A F B B H A x s Generujemy podziały zamknięte Do zakodowania stanów automatu M potrzebne są 3 podziały -blokowe, takie że: = Π() Π Π Π c b a

285 RZYKŁAD c.d. x Z s Graf par następników : A H B B F A C G D A,B F,H D E C E A C F C D G B A C,D B,D H D B G,H Π = ( ) G,E E,F A,C 6

286 7 RZYKŁAD c.d. Z A B G B D H D C F C A E C E D D G C A F B B H A x s ( ) = ; ; ; A,D D,H B,F + =Π

287 Π = Π = ( ) ( ) RZYKŁAD c.d. Niestety: Π Π = ( ) Π() otrzebny jest więc jeszcze jeden podział τ: Π Π τ = Π( ) τ = ( ) 8

288 RZYKŁAD c.d. Π ( ) = Π = ( ) τ = ( ) Kodowanie wg Π Π A B C D E F G H τ 9

289 RZYKŁAD c.d. rzy tak dobranym kodowaniu dwie funkcje wzbudzeń Q i Q tego automatu będą zależne od jednej zmiennej wewnętrznej, a trzecia Q 3 (w najgorszym przypadku) od trzech zmiennych, czyli Q = f(x,q ) Q = f(x,q ) Q 3 = f(x,q,q,q 3 ) arto zakodować, obliczyć funkcje wzbudzeń Q, Q, Q 3 i sprawdzić, czy rzeczywiście tak jest.

290 Komentarz Każde inne kodowanie doprowadzi do bardziej skomplikowanych funkcji wzbudzeń. szczególności dla kodowania wg naturalnego kodu binarnego ) : A B C D E F G H Q = f(x,q ) Q = f(x,q,q,q 3 ) Q 3 = f(x,q,q,q 3 ) ) Naturalny kod binarny jest przyjmowany domyślnie do kodowania automatów w komercyjnych systemach projektowania układów cyfrowych

291 Nie martwmy się najnowszych systemach istnieje opcjonalna możliwość wprowadzenia kodowania obliczonego zewnętrznie przez użytkownika

292 Dekompozycja szeregowa Dany jest automat M o zbiorze stanów S. arunkiem koniecznym i wystarczającym dekompozycji szeregowej automatu M na dwa szeregowo połączone automaty M, M jest istnienie podziału π z własnością podstawienia i podziału τ takich, że π τ =. x q Q q Q f (x,q ) D f (x,q,q ) D f (x,q ) z 3

293 Dekompozycja równoległa Automat M jest dekomponowalny na dwa podautomaty M, M działające równolegle wtedy i tylko wtedy, gdy na zbiorze S tego automatu istnieją dwa nietrywialne podziały π, π z własnością podstawienia takie, że π π = π() q x f (x,q ) D q f (x,q ) D Q Q f (x,q,q ) z 4

294 Schematy dekompozycji Dekompozycja szeregowa x y M (π) M (τ) Y Dekompozycja równoległa M (π) x M (π ) Y y 5

295 Dekompozycja szeregowa - przykład x s A A F π = s s ( A, B, E; C, D, F ) B E C C D E F C F B D E A F E s s s 3 ( A, D; B, C; E F ) τ =, π τ = π() s x s s s s s s x s s s s 3 s s 3 S, s 3 s S, s s 3 S, s 3 s s S, s s 3 s 3 S, S, S, S, 6

296 Dekompozycja równoległa - przykład x s A A F ( A, B, E; C, D, F ) π s s = B C D E C F C E A ( A, C; B, D; E, F ) π s s s 3 = E F B D F E π π = π() s x x s S, S, S, S, s x s s s s s s s s s s s 3 s 3 s s 3 s s 3 s s 3 s 3 s s 3 s s s 3 s s 3 s s 3 s s 3 7

297 Dekompozycja z autonomicznym zegarem Niektóre automaty mają dekompozycję, w której występuje autonomiczny zegar podautomat niezależny od wejść. odział π i zbioru stanów S automatu M jest zgodny z wejściem, jeśli dla każdego stanu S j S i dla wszystkich v l V δ(s j,v ), δ(s j,v ),..., δ(s j,v l ),..., δ(s j,v p ), są w jednym bloku podziału π i. arunkiem koniecznym i dostatecznym istnienia dekompozycji automatu M, w której występuje autonomiczny zegar o log β(π) stanach jest, aby istniał podział zamknięty π i nietrywialny zgodny z wejściem podział π i zbioru stanów S tego automatu, taki że π π i 8

298 RZYKŁAD 3 s x odział zgodny z wejściem: A B D C C D Π = ( ) C D E F F E Π jest zamknięty E F B A A B Π = ( ) Π Π = O Π() 9

299 RZYKŁAD 3 ( A,B;C,D;E,F) ( ) = Π = Kodowanie wg Π wg Π O Q = f(q,q ) A B Q = f(q,q ) C D Q 3 =??? E F y = f(x,q 3 ) 3

300 Zadanie treningowe do wykładów ULOG cz. 6 i cz. 7 Zaprojektować licznik mod 8 z wejściem zezwalającym E (Enable). rzerzutniki do realizacji dobrać tak ), aby uzyskać najprostszy schemat logiczny licznika. Rozwiązanie: S E E Licznik clock Q ) tym sensie jest to zadanie z metod kodowania S S S S S S S S S 3 S 3 S 3 S 4 S 7 S 7 S

301 Zakodowana tablica przejść licznika ablica przejść Zakodowana tablica przejść kod binarny S E QQQ E S S S S S S S S S 3 S 3 S 3 S 4 S 4 S 4 S 5 S 5 S 5 S 6 S 6 S 7 S 6 S 7 S 7 s S QQQ Q Q Q

302 3 QQQ E QQQ Q Q Q QQQ E QQQ Q Q Q Zakodowana tablica tranformowana do tablicy Karnaugha

303 Funkcje wzbudzeń dla przerzutników D QQQ E E QQQ QQQ Q Q Q QQQ D D D D = QQ +QQ +QE D = + QQQE QE QE + QQ D = QE + QE +Q 4

304 5 QQQ E QQQ QQQ E QQQ Q Q Q = EQQ = = EQ E Funkcje wzbudzeń dla przerzutników

305 Schemat logiczny licznika ) = E = EQ = EQ Q = Q Enable Q Q Q Clock Q Q Q ) Najprostszy na świecie 6

306 x Układy asynchroniczne Model układu sekwencyjnego Model układu asynchronicznego (synchronicznego) y x n UK y m układ kombinacyjny clock t Q q Q k B x s Stan stabilny s: δ(s,x) = s x blok pamięci jest realizowany q k przez opóźnienia przerzutniki automacie asynchronicznym wszystkie stany są stanami stabilnymi

307 Skala czasu x z x z x $,,.,8:,7 x x a x x x x,,,,,,

308 Najprostszy układ asynchroniczny SR q rzerzutnik SR Q Q = qr + S = q R + S =qr S S Q R qr Q 3

309 rzykład Zaprojektować układ asynchroniczny o dwóch wejściach binarnych x, x i jednym wyjściu y, który ma sygnalizować jedynką pojawienie się na wejściu sekwencji wektorów wejściowych...,,,. Należy założyć, że jednoczesna zmiana dwóch sygnałów wejściowych jest niemożliwa. x y x / / 3/ 5/ 4/ 6/ S x x y

310 Redukcja stanów... jest prosta S x x y A B C x x S y, ,5, S x x y A A A B C B C B C C A C C C a kodowanie... 5

311 ... jest trudne Kod stanu A/ B/ Kodowanie stanów x x S y A A A B C B C B C C A C C C C/ Graf stanów automatu minimalnego x x S y A B (-) C 6

312 Analiza działania układu asynchronicznego () x x S y A x x Układ kombinacyjny (bez opóźnień) y B (-) C Q q Q q Opóźnienia > < 7

313 Analiza działania układu asynchronicznego () x x S y A x x Układ kombinacyjny (bez opóźnień) y B (-) C Q q Q q Opóźnienia Stan wejść Stan wewn. ; Stan następny ; > < ; ; yścig krytyczny! ; > yścig niekrytyczny! < 8

314 Analiza działania układu asynchronicznego (3) x x S y A x x Układ kombinacyjny (bez opóźnień) y B (-) C Q q Q q Stan wejść Stan wewn. ; Stan następny ; > < ; ; Opóźnienia ; yścig ; niekrytyczny! 9

315 Kodowanie stanów Aby uniknąć wyścigów krytycznych należy kodowanie przeprowadzić tak, aby kody stanów, pomiędzy którymi jest przejście, różniły się tylko na jednej pozycji. Np.: ; ; itp.. akie kodowanie zapewnia rozpięcie grafu stanów automatu na kwadracie lub sześcianie kodowym.

316 Kodowanie stanów Kod stanu A/ B/ A B C/ yścig niekrytyczny można wykorzystać do właściwego kodowania stanów w układach asynchronicznych. (-) C (-) x x S y A B (-) C

317 ablice przejść x x S y A B (-) C x x QQ Q Q Q Q

318 yznaczanie funkcji wzbudzeń x x QQ Y Q Q Q Q Q' = Q x + Q x + x x + Q x Q' = Q x x + Q Q x Q x Dlaczego dodano dodatkową pętlę składnik? Zjawisko hazardu Y = Q 3

319 Zjawisko hazardu Q' = Q x + Q x + x x Z = Q x + x x rzy Q =, x =, a przy zmianie x : na wyjściu Z powinna być stała Q X Z X X Z Na skutek opóźnienia sygnału x w sygnale Z pojawia się krótki impuls o wartości. Jest to hazard statyczny - szkodliwy w układach asynchronicznych! 4

320 5

321 Zjawisko hazardu układach asynchronicznych funkcje wzbudzeń muszą być realizowane w taki sposób, aby nie występował hazard statyczny. yrażenia boolowskie należy uzupełnić o składnik (nadmiarowy), odpowiadający pętli na tablicy Karnaugha, w taki sposób, aby każde dwie sąsiednie jedynki były objęte wspólną pętlą. x x QQ Q x 6

322 Realizacja układu Y = Q Q' = Q x + Q x + x x + Q x Q' = Q x x + Q Q x X X Q Q Y Q 7

323 Jak jest zbudowany przerzutnik synchroniczny? () S S Q Clk R Q R Jest to synchronizacja szerokością impulsu latch (zatrzask) Strefa oddziaływania CLK S R Q Stan Q przerzutnika zmienia się dwukrotnie w czasie trwania okresu przebiegu zegarowego! 8

324 roblem synchronizacji rzerzutniki tego typu mają prostą budowę, ale mogą służyć tylko do przechowywania (zatrzaskiwania) informacji. Nie mogą służyć do budowy synchronicznych układów sekwencyjnych. rawidłowa synchronizacja powinna działać tak, aby w czasie trwania okresu przebiegu zegarowego sygnał wejściowy przerzutnika był odczytywany jeden raz, a stan przerzutnika zmieniał się także jeden raz niezależnie od zmiany sygnałów wejściowych. 9

325 Jak jest zbudowany przerzutnik synchroniczny? () D Clk? rzerzutnik typu D Q Q D Q

326 rzykład Synchroniczny przerzutnik typu D synchronizowany zboczem dodatnim D Clk Automa t sterujący Y Y S R rzerzutnik R S Q Q S Q Q S R R Q

327 rzykład c.d. D Clk Automat sterujący Automat sterujący wytwarza na wyjściach Y lub Y sygnał (włączający lub wyłączający przerzutnik S R ) tylko wówczas, gdy w sygnale Clk pojawi się zbocze synchronizujące, to jest zmiana Clk. Jeśli w tym momencie na wejściu D jest, to pojawi się na wyjściu Y ( S) przerzutnik S R zostanie włączony. Jeśli na wejściu D jest, to pojawi się na wyjściu Y ( R) przerzutnik zostanie wyłączony Y Y S R D clk rzerzutnik R S / S R Q Q 3/ / S R

328 rzykład c.d. D clk / / S R 3/ S ablica przejść-wyjść D,clk YY (clk c) D,c QQ YY () () (3) Zakodowana tablica p-w (kody stanów takie same, jak wyjścia Y, Y) 3

329 (clk c) rzykład c.d. D,c QQ YY () () (3) Q Q D,c D,c QQ QQ () () () () (3) (3) Q Q = c + Q D + Q = c + Q D+ Q 4

330 5 rzykład - realizacja Q D Q c Q D Q c Q D Q c Q' = + + = + + = Q D Q c Q D Q c Q D Q c Q' = + + = + + = S R Q Q D Clk (c) Q =Y Q =Y Automat sterujący

331 Zadanie Zaprojektować asynchroniczny układ o wejściach x i x wyjściu y pracujący wnastępujący sposób: y= gdy x =x = i przedostatnia zmiana sygnału wejściowego była zmianą na wejściu x. pozostałych przypadkach y=. / / 3/ 6/ 4/ 7/ Zmiana przedostatnia 5/ / Zmiana ostatnia 6

332 Zadanie c.d. 7/ / / 3/ 4/ 5/ x x 6/ S y

333 Zadanie c.d. Minimalizacja S x x y S x x y 6, , , Automat minimalny x x y S A,6 D B A A B,4 D B C B C C B C A D 5,7 D D A B 8

334 Zadanie c.d. Kodowanie S x x y A D B A A B D B C B C B C A D D D A B x x S y A C B D yścig Krytyczny! A/ D/ C/ B/ 9

335 Zadanie c.d. x x QQ y Synteza kombinacyjna y = Q Q Q Q x x QQ x x QQ = xx + Qx + Qx Qx Q' = Q x + Qx x + Qxx + QQ x 3 Q' +

336 Zadanie c.d. - realizacja y x x Q Q 3

337 Kodowanie metodą n Liczba stanów automatu wynosi n. Długość wektora kodowego ustalamy na n. Jeden stan kodujemy wektorem złożonym z samych zer. ozostałe stany kodujemy wektorami z jedną jedynką. Między każde dwa stany S, kodowane wektorami z jedną jedynką wstawiamy stan niestabilny R o wektorze kodowym R = S A: C:, B:, D: S x x y A D B A A B D B C B C B C A D D D A B A/ C/ D/ B/ 3

338 Kodowanie n A/ C/ E D/ B/ F Modyfikacja tablicy p-w x x QQQ3 y A D B A A B DF B CE B C BE C A D D D A B E F D B C F B 33

339 Kodowanie n Zakodowana tablica p-w x x QQQ3 y A D F B E (-) (-) C Q Q Q3 Y = Q 34

340 Kodowanie n Q x x QQQ3 Q' = Q Q x + Qxx 35

341 Kodowanie n Q x x QQQ3 ętla antyhazardowa Q' = Q Q + Q3 + Q3xx + Q3xx QQ x 36

342 Kodowanie n Q3 x x QQQ3 Q3' = x + x + QQ 3x + QQ3x 37

343 ELEFONA KOMÓRKOA RZEARZANE DŹD ĘKU RADOFONA ELEZJA Układy cyfrowe Układy cyfrowe NERNE RADOOMUNKACJA RADOLOKACJA ELEMEDYCYNA

344 Jaki jest związek układów logicznych z projektowaniem układów cyfrowych?

345 Układy cyfrowe...konstruowane są w różnych technologiach i na różnych poziomach opisu. oziomy opisu: ) Bramki i elementarne układy pamięciowe (przerzutniki) D Clk rzerzutnik typu D Q Q A n B n ) Bloki funkcjonalne: układy arytmetyczne (sumatory), liczniki, rejestry. s s clock X L (Q) Y s s clock x p X R (Q) Y n- Z OVR G x l ALU c n c Y n S worzą one nowe elementy konstrukcyjne, z których buduje się złożone układy cyfrowe o różnorodnych zastosowaniach: układy przetwarzania sygnałów, układy sterowania, specjalizowane procesory, układy kryptograficzne. Y 3

346 Bloki funkcjonalne stanowią wyposażenie bibliotek komputerowych systemów projektowania Licznik Mux Rejestr Każdy układ cyfrowy składamy z bloków funkcjonalnych 4

347 Blok funkcjonalny specjalizowany układ cyfrowy wykonujący jedną lub kilka elementarnych operacji (mikrooperacji) przetwarzania sygnałów cyfrowych Na przykład: dodawanie, odejmowanie ypowe bloki funkcjonalne: multipleksery, demultipleksery, sumatory, liczniki, rejestry. Systematyczne studia dotyczące bloków funkcjonalnych na wykładzie z UKŁADÓ CYFROYCH 5

348 Multiplekser (MUX) e ejście zezwalające N = n wejść informacyjnych d d d N- y = e N k = k (A)d k ejścia adresowe a n- a gdzie k (A) oznacza pełny iloczyn zmiennych a n,...,a, prostych lub zanegowanych, zgodnie z reprezentacją binarną liczby k = L(A). 6

349 Multipleksery d d d d 3 3 e= Dla n = (MUX : ): y = ad + ad dla n = (MUX 4 : ): y = a a d + + a a d + a a d a a d 3 d a e a d a a d y dla n = 3 (MUX 8 : ): y = a a a d + a a a d + + a a a d + a a a d 4 5 a a a d + a a a d 3 + d 6 a a a d + a a a 3 + d 7 7

350 Multiplekser jako przełącznik e= y = a + ad + aa d + aa d aa d3 3 8

351 Demultiplekser e ejście zezwalające y ejście d informacyjne ejścia adresowe a n- a y y N- N = n wyjść y k = e (A)d k gdzie k (A) oznacza pełny iloczyn zmiennych a n,...,a, prostych lub zanegowanych, zgodnie z reprezentacją binarną liczby k = L(A). 9

352 Demultiplekser jako przełącznik e= y y = a = a a a d d y = a a d 3 a y 3 = a a d e y a d y y y 3

353 Bloki komutacyjne a a 3 a a 3 MUX-y i DMUX-y można przystosować do przełączania (komutacji) sygnałów wielobitowych (grupowych)

354 Dekoder DMUX e DEKODER d y y a a y y y N- a n- y N- a n- a N = n

355 MUX/DMUX w realizacji funkcji boolowskich y = Σ(,7,,3,4,5) y y x 3 x x x x 3 x x x 3

356 Bezpośrednie zastosowanie MUX/DMUX do realizacji funkcji boolowskich należy odłożyć do kosza! Sensowne jest natomiast stosowanie tych układów do wspomagania procesu syntezy funkcji boolowskich Dobrym przykładem jest zastosowanie dekoderów do zmniejszania liczby wyjść pamięci ROM w realizacjach zespołów funkcji boolowskich. Jest to problem z Zadania 5, str. 46 podręcznika SUL. 4

357 Sumatory A B Sumator podstawowy BF powszechnie stosowany w technice DS c n n Σ n c nne układy arytmetyczne: układy odejmowania układy mnożące układy dzielenia...są budowane z sumatorów Y n 5

358 Najprostszy sumator Kaskadowy ripple carry adder A B n n a n- b n- a i b i a b c n C 4 = = Σ c c n Σ c n- c i+ Σ c i c Σ c n y n- y i y Y Jak jest zbudowane pojedyncze ogniwo? 6

359 Funkcje logiczne sumatora c o c a b Σ y y i i+ c = a b c i i i = ab c (a b ) i i a b c c o y i i i c o ab c y = cab cab cab cab = c a b c a y = c a b ( b) ab c = ab c(a b) = ab c(a b) 7

360 Sumator/układ odejmujący Jak z sumatora zbudować układ odejmujący? A B n B XOR n n cn c Σ n Y + B B A U = (a n,..., a j,..., a ) C o = C o = ( ) = n + U n j= A = L A a a D j n j

361 Reprezentacje liczb NKB/U A =<a n,..., a j,..., a > gdzie a j {,} NKB: ( ) = NKB j= A = L A a D j n j U: ( ) = n + U n j= A = L A a a D j n j 9

362 Kod U A U = <a n,..., a j,..., a >, gdzie a j {,} ( ) = n + U n j= A = L A a a D j Bit a n można interpretować jako bit znaku. Jeśli a n =, to liczba jest dodatnia; jeśli a n = to liczba jest ujemna; pozostałe bity stanowią uzupełnienie (różnicę) wartości liczby do najwyższej potęgi liczby <> U = +5 D ; <> U = 5 D Zakres: n A D n n j

363 Komparator A B n n K z 3 A < B A = B A > B

364 Komparator a 3 b 3 i 3 A = a 3 a a a B = b 3 b b b i k = a k b k a b i a b i A eq B = i 3 i i i a b i A < B = A eq B+ A gt B A > B = a 3 + i b 3 3 i + i a 3 b a b + i 3 i + i a b a k b k A < B, gdy a k =, b k = A > B, gdy a k =, b k =

365 Komparator a 3 b 3 a b a b a b i 3 i i i A = a 3 a a a B = b 3 b b b A = B A < B A > B 3

366 Rejestry Rejestry buduje się z przerzutników typu D Najprostszy rejestr: ładowanie (load) i pamiętanie D Q D Q D 3 Q 3 D 4 Q 4 CLK LOAD aki rejestr nazywamy równoległo-równoległym, krótko równoległym 4

367 Rejestr przesuwający SHR wejście szeregowe clk Q Q Q 3 Q 4 D D D 3 D 4 aki rejestr nazywamy szeregowo-równoległym, krótko szeregowym E Q Q Q 3 Q 4 5

368 Jak zbudować rejestr uniwersalny... tzn. taki, który wykonywałby funkcje zarówno rejestru równoległego, jak też szeregowego D Q D Q D 3 Q 3 D 4 Q 4 CLK Q Q Q 3 Q 4 wejście szeregowe D D D 3 D 4 CLK 6

369 Rejestr szeregowo-równoległy ejścia równoległe X x p X x p ejście szeregowe ejście sterujące s s clock R (Q) Clock D D D D Y D Clock Q D Q Y Y := X Y := Y D Q LOAD D HOLD Clock Q Y := SHR(x p, Y) yjścia równoległe 7

370 Liczniki rosty licznik mod 8 z wejściem zezwalającym E (Enable) można zaprojektować jako układ sekwencyjny E clock Licznik Q E S S S S S S S S S S 3 S 3 S 3 S 4 S 7 S 7 S 8

371 Funkcje wzbudzeń dla przerzutników QQ QQQ E E QQQ QQQ Q Q Q QQQ = EQQ = EQ = E 9

372 rzykład licznika z wejściem Enable 3 = E = EQ = EQQ = = EQ Q Q Q = Q E A A A A A A A A A A 3 A 3 A 3 A 4 A 4 A A 5 Enable Q Q Q Q A 4 A 4 A 5 Clock Q Q Q Q A 5 A 5 A 3

373 Licznik z wpisywaniem równoległym Enable D D Q Q Q ejścia równoległe D D Q Q Q yjścia równoległe D D Q Q Q D 3 D Q Q Q 3 Load Clock Output carry

374 Mikrooperacje licznika LOAD HOLD COUN LOAD HOLD COUN clock Licznik LOAD Zliczanie 3

375 rzykład syntezy strukturalnej Konwerter kodu binarnego na kod BCD: kodzie BCD (Binary Coded Decimal) każda cyfra liczby zapisanej w kodzie dziesiętnym jest przedstawiana czterobitową liczbą binarną Np. liczba 489 zostanie zapisana jako wektor binarny z wykorzystaniem bitów (3 4 bity) BCD

376 Konwerter BinBCD 7 BN BN/BCD 7 BCD liczby 99 Dwie metody projektowania: a) Metoda syntezy strukturalnej b) Metoda syntezy logicznej

377 Konwerter BinBCD Realizacja w strukturze FGA (Stratix) FGA Jakość realizacji: EFK a) Liczba zajętych komórek LC b) Szybkość maksymalna liczba słów przetwarzanych w ciągu sek. 3

378 Synteza strukturalna - metoda +3 7 = LDA LDB LB LDB 5 NE AK LDB := LDB LDB := LDB+3 8 4

379 LDA LDB LB LD < 5 LD < 5 LD < 5 3 LD < 5 4 LD < 5 5 LD < 5 6 LDB LD < 5 8 LD BCD = = 7 7 5

380 Opis strukturalny LB 8 4 R3 R R A S3 S S B LK LK = LOAD DEC MUX MUX A B 4 4 Σ K R4 LOAD US K 5 8 Y = LD 6

381 Komputerowe projektowanie uzyskaną strukturę zapisujemy w języku opisu sprzętu i kompilujemy w systemie Quartus SECYFKACJA FUNKCJONALNA (HDL) SEĆ LOGCZNA SYNEZA FUNKCJONALNA OYMALZACJA LOGCZNA OS RL ODZOROANE ECHNOLOGCZNE RANSLACJE SECYFKACJ FGA 54 LEs 33 mln/sek 7

382 Konwerter BinBCD BCD na poziomie logicznym.type fr.i 9.o 8.p * * *.e AHDL/VHDL

383 Komputerowe projektowanie SECYFKACJA FUNKCJONALNA (HDL) SEĆ LOGCZNA SYNEZA FUNKCJONALNA OYMALZACJA LOGCZNA OS RL ODZOROANE ECHNOLOGCZNE RANSLACJE SECYFKACJ FGA 4 LEs 33 mln/sek 9

384 ablica prawdy binbcd # Konwerter binbcd.type fr.i 7.o 8.p e LE " Decomposed project: binbcd "; % ranslated from DEMAN format % % arsaw University of echnology % % nstitute of elecommunications % SUBDESGN A ( in_, in_, in_3, in_4 :NU; in_5, in_6, in_7 :NU; out_, out_, out_3, out_4 :OUU; out_5, out_6, out_7, out_8 ) VARABLE g_, g_, g_3, g3_ :OUU; :LCELL; :LCELL; g_, g_ BEGN ---- Level ---- ABLE (in_, in_, in_3, in_4) => (g_); B"" => B""; B"" => B"";... B"" => B""; B"" => B""; END ABLE; ABLE (in_6, g_, g_, g_) => (out_7); B"X" => B"";... B"" => B""; END ABLE; END; rocedura dekompozycji 3 komórek (!!!) 35 mln/sek

385 Realizacja Binbcd wg Demaina in_ in_ in_3 in_4 in_ in_ in_3 in_4 in_5 in_7 g_ g_ g_3 in_6 g_ g_ out_ out_ out_4 out_5 out_6 out_7 out_3 out_8

386 orównanie realizacji BNBCD Liczba elementów logicznych liczba słów Synteza strukturalna 54 LEs 33 mln/sek Synteza logiczna: system komercyjny Quartus 4 LEs 33 mln/sek system specjalizowany 3 LEs 35 mln/sek rocesor AMD Athlon 64X Dual Core 4+. GHz 9,7 mln/sek

387 UKŁADY MKROROGRAMOANE Konwerter BNBCD LB R3 R R 8 US A S3 S S B MUX MUX A B LK = LK LOAD DEC 3 5 R4 LOAD Σ K Y = LD K 5 Układ sterujący Układ wykonawczy

388 System cyfrowy Sygnały sterujące Dane wejściowe Układ sterujący (kontroler) Układ wykonawczego Stan części operacyjnej Dane wyjściowe

389 Mikroprogramowany układ sterujący Mikroprogramowany układ sterujący Skoro układ sekwencyjny można opisać siecią działań, to powstaje pytanie, czy nie można takiego układu realizować bezpośrednio bez przekształcania SD na opis w postaci grafu automatu. 3

390 Mikroprogramowany układ sterujący. Sekwencyjny układ synchroniczny (Moore a lub Mealy ego). Funkcje przejść i wyjść są zapisane w pamięci stałej typu ROM zwanej pamięcią mikroprogramu 3. każdym takcie pracy układu jest badany (w zasadzie) jeden warunek (sygnał zewnętrzny) spośród zbioru X wszystkich wejść 4. Opis działania za pomocą sieci działań 4

391 Sieć działań Graf zbudowany z wierzchołków (klatek) Z i krawędzi Klatki: operacyjne Z Z Z Z x x x 3 Z 3 x x x i,...,x k Z 4 warunkowe selekcyjne 5

392 Mikroinstrukcja - podstawowe segmenty SD MKRONSRUKCJA M (A i ) wygenerowanie mikrorozkazu Z badanie warunku x X określenie adresu A następnej wykonywanej mikroinstrukcji Moore a A i Z A i x Mealy ego Z a x Z b A j A k A i : Z = Z a, if x then A = A j else A = A k A i :, if x then Z = Z a, A = A j else Z = Z b, A = A k 6 A j A k

393 na segmenty odpowiadające mikroinstrukcjom A odział sieci działań Stany wewnętrzne A i Moore a A i Z A Z Z Z x A j x A j A k x A 3 A x 3 A4 Z 3 x A 5 Z 4 A j x A i φ A k 7

394 Sieć działań reprezentuje automat odział sieci na stany (dla automatu) x x x 3 A A A A A A A A A A A A A A A A A 3 A A A Z A A A A A A 3 A 3 A 3 A 3 A A 3 A 3 A 3 A 3 A 3 A 3 A 3 A 3 A 3 Z x A x x 3 Z 3 x A 3 Z 4 8

395 Mikroprogramowany układ sterujący Schemat blokowy MUS akt A RA UA Sygnały (warunki) zewnętrzne i wewnętrzne M M DM UO Dekoder mikroinstrukcji 9

396 Format mikroinstrukcji Adres mikroinstrukcji M Mikroinstrukcja S B C Z Format mikroinstrukcji: M = <S, B,C, Z> ola: S -sterujące (kod M) B - adresowe C - kontrolne Z - operacyjne (mikrorozkaz)

397 rzykład syntezy MUS Mając do dyspozycji licznik o mikrooperacjach LOAD, COUN ze sterowaniem odpowiednio: (dla LOAD), (dla COUN), pamięć ROM oraz ewentualnie inne bloki funkcjonalne i bramki, zaprojektować mikroprogramowany układ sterujący o następującej liście mikroinstrukcji µ : Z, if x c then A = A i else A = A i+, µ : Z, if x c then A = A i+ else A = A i+, µ 3 : Z, A = A j. rozwiązaniu należy podać: fragmenty sieci działań (schematy) odpowiadające wszystkim mikroinstrukcjom, schemat blokowy układu sterującego, tablicę prawdy dekodera mikroinstrukcji oraz minimalne wyrażenia boolowskie opisujące jego wyjścia.

398 rzykład c.d. - mikroinstrukcje µ : Z, if x c then A = A i else A = A i+ (oczekiwanie na spełnienie warunku) A i µ : Z, if x c then A = A i+ else A = A i+ (skok warunkowy o )) Z x A i+ A i Z x µ 3 : Z, A = A j C, Z C, Z B, Z A i+ A i+ Formaty mikroinstrukcji A i Z A j

399 rzykład syntezy US - schemat blokowy B + Adresy: A, A+, A+, B X Q Q B L MA A LCZNK C Z M C Z B Z Formaty mikroinstrukcji C, Z C, Z B, Z ola C i B są polami zgodnymi ponieważ nie występują jednocześnie w żadnej mikroinstrukcji. Można je umieścić w jednym segmencie M C s s Z s s x c DM L Q Q 3

400 rzykład c.d. dekoder mikroinstrukcji M A i Z x A i+ M A i Z x A i+ A i+ M 3 Z A i A j Q Q B A + MA A+ s s DM M s s x c L Q Q x c L Q Q Count Load L LCZNK A 3 L = s + x c Q = s x c Q = s 4

401 rzykład (str. 39 SUL) Zaprojektować układ sterujący o następującej liście mikroinstrukcji: a) A i : Z, A' = A i+ b) Ai : Z, A' = A j. c) A i : Z, if x c then A' = A i+ else A' = A i, onadto układ ma umożliwiać obsługę mikropodprogramu. 5

402 Mikroinstrukcje do obsługi (mikro)podprogramu arunkowe wejście do podprogramu A i : if x c then A' = A j, RS:= A i+ else A' = A i+ A i x c RS := A i+ A j adres A i+ powrotu z podprogramu zapamiętany w rejestrze śladu RS A i+ Rejestr Śladu A i+ A :=RS x c A k q arunkowe wyjście z podprogramu A k+ A i : if x c then A' = RS else A' = A i+ 6

403 rzykład c.d. Zaprojektować układ sterujący o następującej liście mikroinstrukcji: a) A i : Z, A' = A i+ b) A i : Z, A' = A j. c) A i : Z, if x c then A' = A i+ else A' = A i, onadto układ ma umożliwiać obsługę mikropodprogramu. d) A i : if x c then A' = A j, RS:= A i+ else A' = A i+ e) A i : if x c then A' = RS else A' = A i+ 7

404 rzykład cd. a) b) c) A i A i Z A i Adresy: A i+ Z A i + Z A j x c A j A i d) e) A i A i A i + RS x c RS := A i + x c A j A' := RS A' = RS A i + A i + 8

405 rzykład cd. realizacja z rejestrem adresowym Q A + 3 MUXA q RS Adresy: A i+ A j RA A i M RS X S B v Q q v MUX C Z DM x c S x c 9

406 rzykład cd. realizacja z rejestrem adresowym Q A + 3 MUXA q RS Adresy: A i+ A j RA A i M RS X S B v Q q v MUX C Z DM x c S x c

407 rzykład cd. a) rzejście bezwarunkowe, Z b) Skok bezwarunkowy, Z c) rzejście warunkowe, Z d) arunkowe wejście do podprogramu e) arunkowe wyjście z podprogramu A Q + 3 MUXA q RS M s s s x c Q q v a HOLD Z RA b HOLD Z M c HOLD HOLD Z Z X S B v Q q v d HOLD LOAD NO NO MUX x c C Z S DM x c e 3 HOLD NO NO

408 rzykład cd. z licznikiem adresowym Q MUXA q RS + Adresy: L LA A i+ count M A i hold X MUX C S B Z v Q q v DM A j load RS load S x c x c

409 ablice decyzyjne

Minimalizacja funkcji boolowskich

Minimalizacja funkcji boolowskich Minimalizacja funkcji boolowskich Zagadnienie intensywnych prac badawczych od początku lat pięćdziesiątych 2 wieku. Ogromny wzrost zainteresowania minimalizacją f.b. powstał ponownie w latach 8. rzyczyna:

Bardziej szczegółowo

Minimalizacja funkcji boolowskich

Minimalizacja funkcji boolowskich Minimalizacja funkcji boolowskich Zagadnienie intensywnych prac badawczych od początku lat pięćdziesiątych 20 wieku. Ogromny wzrost zainteresowania minimalizacją f.b. powstał ponownie w latach 80. rzyczyna:

Bardziej szczegółowo

PODSTAWY UKŁADÓW LOGICZNYCH. Prowadzi: prof. dr hab. Tadeusz ŁUBA, (Nowowiejska 15/19, GE pok. 472) luba@tele.pw.edu.

PODSTAWY UKŁADÓW LOGICZNYCH. Prowadzi: prof. dr hab. Tadeusz ŁUBA, (Nowowiejska 15/19, GE pok. 472) luba@tele.pw.edu. PODSTAWY UKŁADÓW LOGICZNYCH Prowadzi: prof. dr hab. Tadeusz ŁUBA, (Nowowiejska 15/19, GE pok. 472) luba@tele.pw.edu.pl 0-22 234-73-30 Organizacja T. Łuba Wykład dr M. Rawski dr G. Borowik Ćwiczenia http://www.zpt.tele.pw.edu.pl

Bardziej szczegółowo

Rachunek podziałów i elementy teorii grafów będą stosowane w procedurach redukcji argumentów i dekompozycji funkcji boolowskich.

Rachunek podziałów i elementy teorii grafów będą stosowane w procedurach redukcji argumentów i dekompozycji funkcji boolowskich. Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów Klasy zgodności Rachunek podziałów i elementy teorii grafów będą stosowane w procedurach redukcji argumentów i dekompozycji funkcji boolowskich.

Bardziej szczegółowo

Minimalizacja funkcji boolowskich c.d.

Minimalizacja funkcji boolowskich c.d. Minimalizacja funkcji boolowskich c.d. Metoda tablic Karnaugha Metoda Quine a McCluskey a Absolutnie nieprzydatna do obliczeń komputerowych Pierwsze skuteczne narzędzie do minimalizacji wieloargumentowych

Bardziej szczegółowo

Minimalizacja form boolowskich UC1, 2009

Minimalizacja form boolowskich UC1, 2009 Minimalizacja form boolowskich UC, 29 mplikanty funkcji boolowskiej UC, 29 2 mplikanty funkcji boolowskiej UC, 29 3 Metody minimalizacji UC, 29 4 Siatki Karnaugh UC, 29 5 Siatki Karnaugh UC, 29 Stosowanie

Bardziej szczegółowo

UKŁADY LOGICZNE. Prowadzi: Tadeusz ŁUBA, (GE pok. 472) Wykład dla specjalności: Elektronika i Inżynieria Komputerowa, Inżynieria Biomedyczna (ULOGE)

UKŁADY LOGICZNE. Prowadzi: Tadeusz ŁUBA, (GE pok. 472) Wykład dla specjalności: Elektronika i Inżynieria Komputerowa, Inżynieria Biomedyczna (ULOGE) UKŁADY LOGICZNE Wykład dla specjalności: / Uklady Logiczne Elektronika i Inżynieria Komputerowa, Inżynieria Biomedyczna (ULOGE) ASIC FLEX Prowadzi: Tadeusz ŁUBA, (GE pok. 472) GAL EPLD 1 Organizacja Wykład

Bardziej szczegółowo

Minimalizacja form boolowskich

Minimalizacja form boolowskich Sławomir Kulesza Technika cyfrowa Minimalizacja form boolowskich Wykład dla studentów III roku Informatyki Wersja 1.0, 05/10/2010 Minimalizacja form boolowskich Minimalizacja proces przekształcania form

Bardziej szczegółowo

Część 2. Funkcje logiczne układy kombinacyjne

Część 2. Funkcje logiczne układy kombinacyjne Część 2 Funkcje logiczne układy kombinacyjne Zapis funkcji logicznych układ funkcjonalnie pełny Arytmetyka Bool a najważniejsze aksjomaty i tożsamości Minimalizacja funkcji logicznych Układy kombinacyjne

Bardziej szczegółowo

DIGITAL LOGIC. Warsaw Information Technology Warsaw University of Technology. Digital Logic. Prof. Tadeusz Łuba

DIGITAL LOGIC. Warsaw Information Technology Warsaw University of Technology. Digital Logic. Prof. Tadeusz Łuba DIGITAL LOGIC / Digital Logic Prof. Tadeusz Łuba Warsaw Information Technology Warsaw University of Technology 1 Our communication 0-22- 825-1580 luba@tele.pw.edu.pl The subject homepage is located at:

Bardziej szczegółowo

Wstęp do Techniki Cyfrowej... Algebra Boole a

Wstęp do Techniki Cyfrowej... Algebra Boole a Wstęp do Techniki Cyfrowej... Algebra Boole a Po co AB? Świetne narzędzie do analitycznego opisu układów logicznych. 1854r. George Boole opisuje swój system dedukcyjny. Ukoronowanie zapoczątkowanych w

Bardziej szczegółowo

Koszt literału (literal cost) jest określony liczbą wystąpień literału w wyrażeniu boolowskim realizowanym przez układ.

Koszt literału (literal cost) jest określony liczbą wystąpień literału w wyrażeniu boolowskim realizowanym przez układ. Elementy cyfrowe i układy logiczne Wykład Legenda Kryterium kosztu realizacji Minimalizacja i optymalizacja Optymalizacja układów dwupoziomowych Tablica (mapa) Karnaugh a Metoda Quine a-mccluskey a Złożoność

Bardziej szczegółowo

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

dr inż. Rafał Klaus Zajęcia finansowane z projektu Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle POKL Technika cyfrowa w architekturze komputerów materiał do wykładu 2/3 dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii

Bardziej szczegółowo

Wykład nr 1 Techniki Mikroprocesorowe. dr inż. Artur Cichowski

Wykład nr 1 Techniki Mikroprocesorowe. dr inż. Artur Cichowski Wykład nr 1 Techniki Mikroprocesorowe dr inż. Artur Cichowski ix jy i j {0,1} {0,1} Dla układów kombinacyjnych stan dowolnego wyjścia y i w danej chwili czasu zależy wyłącznie od aktualnej kombinacji stanów

Bardziej szczegółowo

Technika cyfrowa Synteza układów kombinacyjnych (I)

Technika cyfrowa Synteza układów kombinacyjnych (I) Sławomir Kulesza Technika cyfrowa Synteza układów kombinacyjnych (I) Wykład dla studentów III roku Informatyki Wersja 2.0, 05/10/2011 Podział układów logicznych Opis funkcjonalny układów logicznych x 1

Bardziej szczegółowo

Technika cyfrowa Synteza układów kombinacyjnych

Technika cyfrowa Synteza układów kombinacyjnych Sławomir Kulesza Technika cyfrowa Synteza układów kombinacyjnych Wykład dla studentów III roku Informatyki Wersja 2.0, 05/10/2011 Podział układów logicznych Opis funkcjonalny układów logicznych x 1 y 1

Bardziej szczegółowo

Minimalizacja formuł Boolowskich

Minimalizacja formuł Boolowskich Minimalizacja formuł Boolowskich Stosowanie reguł algebry Boole a w celu minimalizacji funkcji logicznych jest niedogodne brak metody, aby stwierdzić czy dana formuła może być jeszcze minimalizowana czasami

Bardziej szczegółowo

Podstawy Automatyki. Wykład 12 - synteza i minimalizacja funkcji logicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Podstawy Automatyki. Wykład 12 - synteza i minimalizacja funkcji logicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki Wykład 12 - synteza i minimalizacja funkcji logicznych Instytut Automatyki i Robotyki Warszawa, 2017 Synteza funkcji logicznych Terminy - na bazie funkcji trójargumenowej y = (x 1, x 2, x 3 ) (1) Elementarny

Bardziej szczegółowo

Lekcja na Pracowni Podstaw Techniki Komputerowej z wykorzystaniem komputera

Lekcja na Pracowni Podstaw Techniki Komputerowej z wykorzystaniem komputera Lekcja na Pracowni Podstaw Techniki Komputerowej z wykorzystaniem komputera Temat lekcji: Minimalizacja funkcji logicznych Etapy lekcji: 1. Podanie tematu i określenie celu lekcji SOSOBY MINIMALIZACJI

Bardziej szczegółowo

Elementy logiki. Algebra Boole a. Analiza i synteza układów logicznych

Elementy logiki. Algebra Boole a. Analiza i synteza układów logicznych Elementy logiki: Algebra Boole a i układy logiczne 1 Elementy logiki dla informatyków Wykład III Elementy logiki. Algebra Boole a. Analiza i synteza układów logicznych Elementy logiki: Algebra Boole a

Bardziej szczegółowo

Rys. 2. Symbole dodatkowych bramek logicznych i ich tablice stanów.

Rys. 2. Symbole dodatkowych bramek logicznych i ich tablice stanów. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z funktorami realizującymi podstawowe funkcje logiczne poprzez zaprojektowanie, wykonanie i przetestowanie kombinacyjnego układu logicznego realizującego

Bardziej szczegółowo

Architektura komputerów Wykład 2

Architektura komputerów Wykład 2 Architektura komputerów Wykład 2 Jan Kazimirski 1 Elementy techniki cyfrowej 2 Plan wykładu Algebra Boole'a Podstawowe układy cyfrowe bramki Układy kombinacyjne Układy sekwencyjne 3 Algebra Boole'a Stosowana

Bardziej szczegółowo

Automatyka Treść wykładów: Literatura. Wstęp. Sygnał analogowy a cyfrowy. Bieżące wiadomości:

Automatyka Treść wykładów: Literatura. Wstęp. Sygnał analogowy a cyfrowy. Bieżące wiadomości: Treść wykładów: Automatyka dr inż. Szymon Surma szymon.surma@polsl.pl pok. 202, tel. +48 32 603 4136 1. Podstawy automatyki 1. Wstęp, 2. Różnice między sygnałem analogowym a cyfrowym, 3. Podstawowe elementy

Bardziej szczegółowo

Algebra Boole a. Ćwiczenie Sprawdź, czy algebra zbiorów jestrównież algebrą Boole a. Padaj wszystkie elementy takiej realizacji.

Algebra Boole a. Ćwiczenie Sprawdź, czy algebra zbiorów jestrównież algebrą Boole a. Padaj wszystkie elementy takiej realizacji. Algebra Boole a Algebrą Boole a nazywamy zbiór B, wyróżnione jego podzbiory O i I oraz operacje dwuargumentowe +;, które dla dowolnych elementów X, Y, Z zbioru B spełniają następujące aksjomaty: X+Y B;

Bardziej szczegółowo

SYNTEZA AUTOMATÓW SKOŃCZONYCH Z WYKORZYSTANIEM METOD KODOWANIA WIELOKROTNEGO

SYNTEZA AUTOMATÓW SKOŃCZONYCH Z WYKORZYSTANIEM METOD KODOWANIA WIELOKROTNEGO II Konferencja Naukowa KNWS'05 "Informatyka- sztuka czy rzemios o" 15-18 czerwca 2005, Z otniki Luba skie SNTEZA AUTOMATÓW SKOŃCZONCH Z WKORZSTANIEM METOD KODOWANIA WIELOKROTNEGO Arkadiusz Bukowiec Instytut

Bardziej szczegółowo

Wstęp do Techniki Cyfrowej i Mikroelektroniki

Wstęp do Techniki Cyfrowej i Mikroelektroniki Wstęp do Techniki Cyfrowej i Mikroelektroniki dr inż. Maciej Piotrowicz Katedra Mikroelektroniki i Technik Informatycznych PŁ piotrowi@dmcs.p.lodz.pl http://fiona.dmcs.pl/~piotrowi -> Wstęp do... Układy

Bardziej szczegółowo

10. Kolorowanie wierzchołków grafu

10. Kolorowanie wierzchołków grafu p. 10. Kolorowanie wierzchołków grafu 10.1 Definicje i twierdzenia Przez k-kolorowanie wierzchołków grafu G rozumiemy przyporzadkowanie każdemu wierzchołkowi grafu G jednego z k kolorów 1, 2,...,k. p.

Bardziej szczegółowo

dr inż. Małgorzata Langer Architektura komputerów

dr inż. Małgorzata Langer Architektura komputerów Instrukcja współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie Innowacyjna dydaktyka bez ograniczeń zintegrowany rozwój Politechniki Łódzkiej zarządzanie Uczelnią,

Bardziej szczegółowo

Problem kodowania w automatach

Problem kodowania w automatach roblem kodowania w automatach Kodowanie stanów to przypisanie kolejnym stanom automatu odpowiednich kodów binarnych. Minimalna liczba bitów b potrzebna do zakodowania automatu, w którym liczność zbioru

Bardziej szczegółowo

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki Wykład 13 - Układy bramkowe Instytut Automatyki i Robotyki Warszawa, 2015 Układy z elementów logicznych Bramki logiczne Elementami logicznymi (bramkami logicznymi) są urządzenia o dwustanowym sygnale wyjściowym

Bardziej szczegółowo

Minimalizacja funkcji boolowskich - wykład 2

Minimalizacja funkcji boolowskich - wykład 2 SWB - Minimalizacja funkcji boolowskich - wykład 2 asz 1 Minimalizacja funkcji boolowskich - wykład 2 Adam Szmigielski aszmigie@pjwstk.edu.pl Laboratorium robotyki s09 SWB - Minimalizacja funkcji boolowskich

Bardziej szczegółowo

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

Bramki logiczne Podstawowe składniki wszystkich układów logicznych Układy logiczne Bramki logiczne A B A B AND NAND A B A B OR NOR A NOT A B A B XOR NXOR A NOT A B AND NAND A B OR NOR A B XOR NXOR Podstawowe składniki wszystkich układów logicznych 2 Podstawowe tożsamości

Bardziej szczegółowo

Elementy cyfrowe i układy logiczne

Elementy cyfrowe i układy logiczne Elementy cyfrowe i układy logiczne Wykład 5 Legenda Procedura projektowania Podział układów VLSI 2 1 Procedura projektowania Specyfikacja Napisz, jeśli jeszcze nie istnieje, specyfikację układu. Opracowanie

Bardziej szczegółowo

Funkcja Boolowska. f:b n B, gdzieb={0,1} jest zbiorem wartości funkcji. Funkcja boolowska jest matematycznym modelem układu kombinacyjnego.

Funkcja Boolowska. f:b n B, gdzieb={0,1} jest zbiorem wartości funkcji. Funkcja boolowska jest matematycznym modelem układu kombinacyjnego. SWB - Minimalizacja funkcji boolowskich - wykład 2 asz 1 Funkcja Boolowska Funkcja boolowskanargumentową nazywamy odwzorowanie f:b n B, gdzieb={0,1} jest zbiorem wartości funkcji. Funkcja boolowska jest

Bardziej szczegółowo

Tranzystor JFET i MOSFET zas. działania

Tranzystor JFET i MOSFET zas. działania Tranzystor JFET i MOSFET zas. działania brak kanału v GS =v t (cutoff ) kanał otwarty brak kanału kanał otwarty kanał zamknięty w.2, p. kanał zamknięty Co było na ostatnim wykładzie? Układy cyfrowe Najczęściej

Bardziej szczegółowo

Podstawy techniki cyfrowej

Podstawy techniki cyfrowej Podstawy techniki cyfrowej Wykład 1: Wstęp Dr hab. inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Informacje o przedmiocie Wprowadzenie Podstawy matematyczne:

Bardziej szczegółowo

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki Wykład 13 - Układy bramkowe Instytut Automatyki i Robotyki Warszawa, 2015 Układy z elementów logicznych Bramki logiczne Elementami logicznymi (bramkami logicznymi) są urządzenia o dwustanowym sygnale wyjściowym

Bardziej szczegółowo

b) bc a Rys. 1. Tablice Karnaugha dla funkcji o: a) n=2, b) n=3 i c) n=4 zmiennych.

b) bc a Rys. 1. Tablice Karnaugha dla funkcji o: a) n=2, b) n=3 i c) n=4 zmiennych. DODATEK: FUNKCJE LOGICZNE CD. 1 FUNKCJE LOGICZNE 1. Tablice Karnaugha Do reprezentacji funkcji boolowskiej n-zmiennych można wykorzystać tablicę prawdy o 2 n wierszach lub np. tablice Karnaugha. Tablica

Bardziej szczegółowo

Synteza logiczna układu realizującego zespół funkcji przełączających z użyciem bramek XOR w strukturach CPLD

Synteza logiczna układu realizującego zespół funkcji przełączających z użyciem bramek XOR w strukturach CPLD BIULETYN WAT VOL. LVIII, NR 3, 29 Synteza logiczna układu realizującego zespół funkcji przełączających z użyciem bramek XOR w strukturach CPLD DARIUSZ KANIA 1, WALDEMAR GRABIEC 1 Politechnika Śląska, Wydział

Bardziej szczegółowo

Metoda Karnaugh. B A BC A

Metoda Karnaugh. B A BC A Metoda Karnaugh. Powszechnie uważa się, iż układ o mniejszej liczbie elementów jest tańszy i bardziej niezawodny, a spośród dwóch układów o takiej samej liczbie elementów logicznych lepszy jest ten, który

Bardziej szczegółowo

Podstawy Automatyki. Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

Podstawy Automatyki. Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych Instytut Automatyki i Robotyki Warszawa, 2015 Kody liczb całkowitych nieujemnych Kody liczbowe dzielimy na analityczne nieanalityczne (symboliczne)

Bardziej szczegółowo

Wstęp do Techniki Cyfrowej... Teoria automatów

Wstęp do Techniki Cyfrowej... Teoria automatów Wstęp do Techniki Cyfrowej... Teoria automatów Alfabety i litery Układ logiczny opisywany jest przez wektory, których wartości reprezentowane są przez ciągi kombinacji zerojedynkowych. Zwiększenie stopnia

Bardziej szczegółowo

Układy kombinacyjne Y X 4 X 5. Rys. 1 Kombinacyjna funkcja logiczna.

Układy kombinacyjne Y X 4 X 5. Rys. 1 Kombinacyjna funkcja logiczna. Układy kombinacyjne. Czas trwania: 6h. Cele ćwiczenia Przypomnienie podstawowych praw Algebry Boole a. Zaprojektowanie, montaż i sprawdzenie działania zadanych układów kombinacyjnych.. Wymagana znajomość

Bardziej szczegółowo

Cyfrowe bramki logiczne 2012

Cyfrowe bramki logiczne 2012 LORTORIUM ELEKTRONIKI yfrowe bramki logiczne 2012 ndrzej Malinowski 1. yfrowe bramki logiczne 3 1.1 el ćwiczenia 3 1.2 Elementy algebry oole`a 3 1.3 Sposoby zapisu funkcji logicznych 4 1.4 Minimalizacja

Bardziej szczegółowo

Algebra Boole a i jej zastosowania

Algebra Boole a i jej zastosowania lgebra oole a i jej zastosowania Wprowadzenie Niech dany będzie zbiór dwuelementowy, którego elementy oznaczymy symbolami 0 oraz 1, tj. {0, 1}. W zbiorze tym określamy działania sumy :, iloczynu : _ oraz

Bardziej szczegółowo

Wielopoziomowa synteza układów logicznych

Wielopoziomowa synteza układów logicznych Wielopoziomowa synteza układów logicznych Dwupoziomowa synteza sprowadza się do realizacji, w których pierwszy poziom tworzą bramki AND, a drugi bramki OR. Cała struktura układu jest opisana formułą typu:

Bardziej szczegółowo

x x

x x DODTEK II - Inne sposoby realizacji funkcji logicznych W kolejnych podpunktach zaprezentowano sposoby realizacji przykładowej funkcji (tej samej co w instrukcji do ćwiczenia "Synteza układów kombinacyjnych")

Bardziej szczegółowo

PROJEKTOWANIE UKŁADÓW MIKROPROGRAMOWANYCH Z WYKORZYSTANIEM WBUDOWANYCH BLOKÓW PAMIĘCI W MATRYCACH PROGRAMOWALNYCH

PROJEKTOWANIE UKŁADÓW MIKROPROGRAMOWANYCH Z WYKORZYSTANIEM WBUDOWANYCH BLOKÓW PAMIĘCI W MATRYCACH PROGRAMOWALNYCH II Konferencja Naukowa KNWS'05 "Informatyka- sztuka czy rzemios o" 5-8 czerwca 005, Z otniki Luba skie PROJEKTOWANIE UKŁADÓW MIKROPROGRAMOWANYCH Z WYKORZYSTANIEM WBUDOWANYCH BLOKÓW PAMIĘCI W MATRYCACH

Bardziej szczegółowo

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014 Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014 Temat 1. Algebra Boole a i bramki 1). Podać przykład dowolnego prawa lub tożsamości, które jest spełnione w algebrze Boole

Bardziej szczegółowo

Logika binarna. Prawo łączności mówimy, że operator binarny * na zbiorze S jest łączny gdy (x * y) * z = x * (y * z) dla każdego x, y, z S.

Logika binarna. Prawo łączności mówimy, że operator binarny * na zbiorze S jest łączny gdy (x * y) * z = x * (y * z) dla każdego x, y, z S. Logika binarna Logika binarna zajmuje się zmiennymi mogącymi przyjmować dwie wartości dyskretne oraz operacjami mającymi znaczenie logiczne. Dwie wartości jakie mogą te zmienne przyjmować noszą przy tym

Bardziej szczegółowo

DEFINICJA. Definicja 1 Niech A i B będą zbiorami. Relacja R pomiędzy A i B jest podzbiorem iloczynu kartezjańskiego tych zbiorów, R A B.

DEFINICJA. Definicja 1 Niech A i B będą zbiorami. Relacja R pomiędzy A i B jest podzbiorem iloczynu kartezjańskiego tych zbiorów, R A B. RELACJE Relacje 1 DEFINICJA Definicja 1 Niech A i B będą zbiorami. Relacja R pomiędzy A i B jest podzbiorem iloczynu kartezjańskiego tych zbiorów, R A B. Relacje 2 Przykład 1 Wróćmy do przykładu rozważanego

Bardziej szczegółowo

Teoria automatów i języków formalnych. Określenie relacji

Teoria automatów i języków formalnych. Określenie relacji Relacje Teoria automatów i języków formalnych Dr inŝ. Janusz ajewski Katedra Informatyki Określenie relacji: Określenie relacji Relacja R jest zbiorem par uporządkowanych, czyli podzbiorem iloczynu kartezjańskiego

Bardziej szczegółowo

Instrukcje sekwencyjne

Instrukcje sekwencyjne nstrukcje sekwencyjne nstrukcje sekwencyjne są stosowane w specyfikacji behawioralnej (behavioral description) rzede wszystkim w tzw. procesach (process) roces nstrukcja F nstrukcja CASE Z 1 rocesy Konstrukcja

Bardziej szczegółowo

T. Łuba, B. Zbierzchowski Układy logiczne Podręcznik WSISiZ, Warszawa 2002.

T. Łuba, B. Zbierzchowski Układy logiczne Podręcznik WSISiZ, Warszawa 2002. Książkę: T. Łuba, B. Zbierzchowski Układy logiczne Podręcznik WSISiZ, Warszawa 2002. Można zakupić po najniższej cenie w księgarni Wyższej Szkoły Informatyki Stosowanej i Zarządzania ul. Newelska 6 pok.

Bardziej szczegółowo

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego Modelowanie kombinacyjnych układów przełączających z wykorzystaniem elementów pneumatycznych i elektrycznych Podstawy Automatyki i Automatyzacji

Bardziej szczegółowo

Układy kombinacyjne i sekwencyjne. Podczas ćwiczenia poruszane będą następujące zagadnienia:

Układy kombinacyjne i sekwencyjne. Podczas ćwiczenia poruszane będą następujące zagadnienia: Warszawa 207 Cel ćwiczenia rachunkowego Podczas ćwiczenia poruszane będą następujące zagadnienia: modelowanie i synteza kombinacyjnych układów przełączających; minimalizacja funkcji przełączającej; projektowanie

Bardziej szczegółowo

Zadania do wykładu 1, Zapisz liczby binarne w kodzie dziesiętnym: ( ) 2 =( ) 10, ( ) 2 =( ) 10, (101001, 10110) 2 =( ) 10

Zadania do wykładu 1, Zapisz liczby binarne w kodzie dziesiętnym: ( ) 2 =( ) 10, ( ) 2 =( ) 10, (101001, 10110) 2 =( ) 10 Zadania do wykładu 1,. 1. Zapisz liczby binarne w kodzie dziesiętnym: (1011011) =( ) 10, (11001100) =( ) 10, (101001, 10110) =( ) 10. Zapisz liczby dziesiętne w naturalnym kodzie binarnym: (5) 10 =( ),

Bardziej szczegółowo

Wstęp do Techniki Cyfrowej... Układy kombinacyjne

Wstęp do Techniki Cyfrowej... Układy kombinacyjne Wstęp do Techniki Cyfrowej... Układy kombinacyjne Przypomnienie Stan wejść układu kombinacyjnego jednoznacznie określa stan wyjść. Poszczególne wyjścia określane są przez funkcje boolowskie zmiennych wejściowych.

Bardziej szczegółowo

INFORMATOR LABORATORYJNY. TECHNIKA CYFROWA (studia niestacjonarne)

INFORMATOR LABORATORYJNY. TECHNIKA CYFROWA (studia niestacjonarne) INFORMATOR LABORATORYJNY TECHNIKA CYFROWA (studia niestacjonarne) A REGULAMIN LABORATORIUM 1. Laboratorium składa się z 3 ćwiczeń (8 terminów zajęć). Udział na każdych zajęciach jest obowiązkowy. Termin

Bardziej szczegółowo

Elektronika cyfrowa i mikroprocesory. Dr inż. Aleksander Cianciara

Elektronika cyfrowa i mikroprocesory. Dr inż. Aleksander Cianciara Elektronika cyfrowa i mikroprocesory Dr inż. Aleksander Cianciara Sprawy organizacyjne Warunki zaliczenia Lista obecności Kolokwium końcowe Ocena końcowa Konsultacje Poniedziałek 6:-7: Kontakt Budynek

Bardziej szczegółowo

Synteza logiczna w projektowaniu

Synteza logiczna w projektowaniu Synteza logiczna w projektowaniu układów cyfrowych (pływ syntezy logicznej na jakość realizacji układów cyfrowych) X Z System cyfrowy D Z U z bloków funkcjonalnych Z Y US X U F US automat lub układ mikroprogramowany

Bardziej szczegółowo

Arytmetyka liczb binarnych

Arytmetyka liczb binarnych Wartość dwójkowej liczby stałoprzecinkowej Wartość dziesiętna stałoprzecinkowej liczby binarnej Arytmetyka liczb binarnych b n-1...b 1 b 0,b -1 b -2...b -m = b n-1 2 n-1 +... + b 1 2 1 + b 0 2 0 + b -1

Bardziej szczegółowo

Układy logiczne. Wstęp doinformatyki. Funkcje boolowskie (1854) Funkcje boolowskie. Operacje logiczne. Funkcja boolowska (przykład)

Układy logiczne. Wstęp doinformatyki. Funkcje boolowskie (1854) Funkcje boolowskie. Operacje logiczne. Funkcja boolowska (przykład) Wstęp doinformatyki Układy logiczne komputerów kombinacyjne sekwencyjne Układy logiczne Układy kombinacyjne Dr inż. Ignacy Pardyka Akademia Świętokrzyska Kielce, 2001 synchroniczne asynchroniczne Wstęp

Bardziej szczegółowo

Programowalne Układy Logiczne. Wykład I dr inż. Paweł Russek

Programowalne Układy Logiczne. Wykład I dr inż. Paweł Russek Programowalne Układy Logiczne Wykład I dr inż. Paweł Russek Literatura www.actel.com www.altera.com www.xilinx.com www.latticesemi.com Field Programmable Gate Arrays J.V. Oldfield, R.C. Dorf Field Programable

Bardziej szczegółowo

WOJSKOWA AKADEMIA T E CHNI CZNA im. Jarosława Dą brow ski ego ZAKŁAD AWIONIKI I UZBROJENIA LOTNICZEGO

WOJSKOWA AKADEMIA T E CHNI CZNA im. Jarosława Dą brow ski ego ZAKŁAD AWIONIKI I UZBROJENIA LOTNICZEGO WOJSKOWA AKADEMIA T E CHNI CZNA im. Jarosława Dą brow ski ego ZAKŁAD AWIONIKI I UZBROJENIA LOTNICZEGO Przedmiot: PODSTAWY AUTOMATYKI I AUTOMATYZACJI (studia I stopnia) ĆWICZENIE RACHUNKOWE PROJEKT PROSTEGO

Bardziej szczegółowo

SWB - Wprowadzenie, funkcje boolowskie i bramki logiczne - wykład 1 asz 1. Plan wykładu

SWB - Wprowadzenie, funkcje boolowskie i bramki logiczne - wykład 1 asz 1. Plan wykładu SWB - Wprowadzenie, funkcje boolowskie i bramki logiczne - wykład 1 asz 1 Plan wykładu 1. Wprowadzenie, funkcje boolowskie i bramki logiczne, 2. Minimalizacja funkcji boolowskich, 3. Kombinacyjne bloki

Bardziej szczegółowo

Architektura komputerów ćwiczenia Bramki logiczne. Układy kombinacyjne. Kanoniczna postać dysjunkcyjna i koniunkcyjna.

Architektura komputerów ćwiczenia Bramki logiczne. Układy kombinacyjne. Kanoniczna postać dysjunkcyjna i koniunkcyjna. Architektura komputerów ćwiczenia Zbiór zadań IV Bramki logiczne. Układy kombinacyjne. Kanoniczna postać dysjunkcyjna i koniunkcyjna. Wprowadzenie 1 1 fragmenty książki "Organizacja i architektura systemu

Bardziej szczegółowo

Elementy cyfrowe i układy logiczne

Elementy cyfrowe i układy logiczne Elementy cyfrowe i układy logiczne Wykład Legenda Optymalizacja wielopoziomowa Inne typy bramek logicznych System funkcjonalnie pełny Optymalizacja układów wielopoziomowych Układy wielopoziomowe układy

Bardziej szczegółowo

1 Macierz odwrotna metoda operacji elementarnych

1 Macierz odwrotna metoda operacji elementarnych W tej części skupimy się na macierzach kwadratowych. Zakładać będziemy, że A M(n, n) dla pewnego n N. Definicja 1. Niech A M(n, n). Wtedy macierzą odwrotną macierzy A (ozn. A 1 ) nazywamy taką macierz

Bardziej szczegółowo

1 Działania na zbiorach

1 Działania na zbiorach M. Beśka, Wstęp do teorii miary, rozdz. 1 1 1 Działania na zbiorach W rozdziale tym przypomnimy podstawowe działania na zbiorach koncentrując się na własnościach tych działań, które będą przydatne w dalszej

Bardziej szczegółowo

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie

Bardziej szczegółowo

Układy logiczne układy cyfrowe

Układy logiczne układy cyfrowe Układy logiczne układy cyfrowe Jak projektować układy cyfrowe (systemy cyfrowe) Układy arytmetyki rozproszonej filtrów cyfrowych Układy kryptograficzne X Selektor ROM ROM AND Specjalizowane układy cyfrowe

Bardziej szczegółowo

Państwowa Wyższa Szkoła Zawodowa

Państwowa Wyższa Szkoła Zawodowa Państwowa Wyższa Szkoła Zawodowa w Legnicy Laboratorium Podstaw Elektroniki i Miernictwa Ćwiczenie nr 4 BADANIE BRAMEK LOGICZNYCH A. Cel ćwiczenia. - Poznanie zasad logiki binarnej. Prawa algebry Boole

Bardziej szczegółowo

Metody Programowania

Metody Programowania POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Metody Programowania www.pk.edu.pl/~zk/mp_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 8: Wyszukiwanie

Bardziej szczegółowo

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy Testowanie układów kombinacyjnych Przykładowy układ Wykrywanie błędów: 1. Sklejenie z 0 2. Sklejenie z 1 Testem danego uszkodzenia nazywa się takie wzbudzenie funkcji (wektor wejściowy), które daje błędną

Bardziej szczegółowo

Wykład nr 3 Techniki Mikroprocesorowe. dr inż. Artur Cichowski

Wykład nr 3 Techniki Mikroprocesorowe. dr inż. Artur Cichowski Wykład nr 3 Techniki Mikroprocesorowe dr inż. Artur Cichowski Automat skończony jest przetwornikiem ciągu symboli wejściowych na ciąg symboli wyjściowych. Zbiory symboli wejściowych x X i wyjściowych y

Bardziej szczegółowo

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego Modelowanie kombinacyjnych układów przełączających z wykorzystaniem elementów Podstawy Automatyki i Automatyzacji - Ćwiczenia Laboratoryjne mgr inż.

Bardziej szczegółowo

Wstęp do Techniki Cyfrowej... Teoria automatów i układy sekwencyjne

Wstęp do Techniki Cyfrowej... Teoria automatów i układy sekwencyjne Wstęp do Techniki Cyfrowej... Teoria automatów i układy sekwencyjne Alfabety i litery Układ logiczny opisywany jest przez wektory, których wartości reprezentowane są przez ciągi kombinacji zerojedynkowych.

Bardziej szczegółowo

LOGIKA I TEORIA ZBIORÓW

LOGIKA I TEORIA ZBIORÓW LOGIKA I TEORIA ZBIORÓW Logika Logika jest nauką zajmującą się zdaniami Z punktu widzenia logiki istotne jest, czy dane zdanie jest prawdziwe, czy nie Nie jest natomiast istotne o czym to zdanie mówi Definicja

Bardziej szczegółowo

Dr inż. Jan Chudzikiewicz Pokój 117/65 Tel Materiały:

Dr inż. Jan Chudzikiewicz Pokój 117/65 Tel Materiały: Dr inż Jan Chudzikiewicz Pokój 7/65 Tel 683-77-67 E-mail: jchudzikiewicz@watedupl Materiały: http://wwwitawatedupl/~jchudzikiewicz/ Warunki zaliczenie: Otrzymanie pozytywnej oceny z kolokwium zaliczeniowego

Bardziej szczegółowo

Metalogika (1) Jerzy Pogonowski. Uniwersytet Opolski. Zakład Logiki Stosowanej UAM

Metalogika (1) Jerzy Pogonowski. Uniwersytet Opolski. Zakład Logiki Stosowanej UAM Metalogika (1) Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl Uniwersytet Opolski Jerzy Pogonowski (MEG) Metalogika (1) Uniwersytet Opolski 1 / 21 Wstęp Cel: wprowadzenie

Bardziej szczegółowo

Automatyzacja i robotyzacja procesów produkcyjnych

Automatyzacja i robotyzacja procesów produkcyjnych Automatyzacja i robotyzacja procesów produkcyjnych Instrukcja laboratoryjna Technika cyfrowa Opracował: mgr inż. Krzysztof Bodzek Cel ćwiczenia. Celem ćwiczenia jest zapoznanie studenta z zapisem liczb

Bardziej szczegółowo

Synteza logiczna dla struktur CPLD typu PAL wykorzystująca elementy XOR

Synteza logiczna dla struktur CPLD typu PAL wykorzystująca elementy XOR BIULETYN WAT VOL. LVI, NR 3, 2007 Synteza logiczna dla struktur CPLD typu PAL wykorzystująca elementy XOR DARIUSZ KANIA*, WALDEMAR GRABIEC *Politechnika Śląska, Wydział Automatyki, Elektroniki i Informatyki,

Bardziej szczegółowo

Wykład 2. Informatyka Stosowana. 8 października 2018, M. A-B. Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41

Wykład 2. Informatyka Stosowana. 8 października 2018, M. A-B. Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41 Wykład 2 Informatyka Stosowana 8 października 2018, M. A-B Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41 Elementy logiki matematycznej Informatyka Stosowana Wykład 2 8 października

Bardziej szczegółowo

Podstawowe układy cyfrowe

Podstawowe układy cyfrowe ELEKTRONIKA CYFROWA SPRAWOZDANIE NR 4 Podstawowe układy cyfrowe Grupa 6 Prowadzący: Roman Płaneta Aleksandra Gierut CEL ĆWICZENIA Celem ćwiczenia jest zapoznanie się z podstawowymi bramkami logicznymi,

Bardziej szczegółowo

ID1UAL1 Układy arytmetyczno-logiczne Arithmetic logic systems. Informatyka I stopień ogólnoakademicki stacjonarne

ID1UAL1 Układy arytmetyczno-logiczne Arithmetic logic systems. Informatyka I stopień ogólnoakademicki stacjonarne Załącznik nr do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2012/2013

Bardziej szczegółowo

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki. Literatura 1. D. Gajski, Principles of Digital Design, Prentice- Hall, 1997 2. C. Zieliński, Podstawy projektowania układów cyfrowych, PWN, Warszawa 2003 3. G. de Micheli, Synteza i optymalizacja układów

Bardziej szczegółowo

Rozważmy funkcję f : X Y. Dla dowolnego zbioru A X określamy. Dla dowolnego zbioru B Y określamy jego przeciwobraz:

Rozważmy funkcję f : X Y. Dla dowolnego zbioru A X określamy. Dla dowolnego zbioru B Y określamy jego przeciwobraz: Rozważmy funkcję f : X Y. Dla dowolnego zbioru A X określamy jego obraz: f(a) = {f(x); x A} = {y Y : x A f(x) = y}. Dla dowolnego zbioru B Y określamy jego przeciwobraz: f 1 (B) = {x X; f(x) B}. 1 Zadanie.

Bardziej szczegółowo

Synteza układów kombinacyjnych

Synteza układów kombinacyjnych Sławomir Kulesza Technika cyfrowa Synteza układów kombinacyjnych Wykład dla studentów III roku Informatyki Wersja 4.0, 23/10/2014 Bramki logiczne Bramki logiczne to podstawowe elementy logiczne realizujące

Bardziej szczegółowo

Automatyka Lab 1 Teoria mnogości i algebra logiki. Akademia Morska w Szczecinie - Wydział Inżynieryjno-Ekonomiczny Transportu

Automatyka Lab 1 Teoria mnogości i algebra logiki. Akademia Morska w Szczecinie - Wydział Inżynieryjno-Ekonomiczny Transportu Automatyka Lab 1 Teoria mnogości i algebra logiki Harmonogram zajęć Układy przełączające: 1. Algebra logiki - Wprowadzenie 2. Funkcje logiczne - minimalizacja funkcji 3. Bramki logiczne - rysowanie układów

Bardziej szczegółowo

Automatyzacja Ćwicz. 2 Teoria mnogości i algebra logiki Akademia Morska w Szczecinie - Wydział Inżynieryjno-Ekonomiczny Transportu

Automatyzacja Ćwicz. 2 Teoria mnogości i algebra logiki Akademia Morska w Szczecinie - Wydział Inżynieryjno-Ekonomiczny Transportu Automatyzacja Ćwicz. 2 Teoria mnogości i algebra logiki Historia teorii mnogości Teoria mnogości to inaczej nauka o zbiorach i ich własnościach; Zapoczątkowana przez greckich matematyków i filozofów w

Bardziej szczegółowo

- Dla danego zbioru S zbiór wszystkich jego podzbiorów oznaczany symbolem 2 S.

- Dla danego zbioru S zbiór wszystkich jego podzbiorów oznaczany symbolem 2 S. 1 Zbiór potęgowy - Dla danego zbioru S zbiór wszystkich jego podzbiorów oznaczany symbolem 2 S. - Dowolny podzbiór R zbioru 2 S nazywa się rodziną zbiorów względem S. - Jeśli S jest n-elementowym zbiorem,

Bardziej szczegółowo

Zbiory, relacje i funkcje

Zbiory, relacje i funkcje Zbiory, relacje i funkcje Zbiory będziemy zazwyczaj oznaczać dużymi literami A, B, C, X, Y, Z, natomiast elementy zbiorów zazwyczaj małymi. Podstawą zależność między elementem zbioru a zbiorem, czyli relację

Bardziej szczegółowo

W jakim celu to robimy? Tablica Karnaugh. Minimalizacja

W jakim celu to robimy? Tablica Karnaugh. Minimalizacja W jakim celu to robimy? W projektowaniu układów cyfrowych istotne jest aby budować je jak najmniejszym kosztem. To znaczy wykorzystanie dwóch bramek jest tańsze niż konieczność wykorzystania trzech dla

Bardziej szczegółowo

3. SYNTEZA UKŁADÓW KOMBINACYJNYCH

3. SYNTEZA UKŁADÓW KOMBINACYJNYCH 3. SYNTEZA UKŁADÓW KOMBINACYJNYCH 3.. ZASADY OGÓLNE 3... ZAPIS FUNKCJI Synteza układów przełączających to zespól czynności, które n-i podstawie założeń dotyczących działania układów doprowadza ją do schematu

Bardziej szczegółowo

A i. i=1. i=1. i=1. i=1. W dalszej części skryptu będziemy mieli najczęściej do czynienia z miarami określonymi na rodzinach, które są σ - algebrami.

A i. i=1. i=1. i=1. i=1. W dalszej części skryptu będziemy mieli najczęściej do czynienia z miarami określonymi na rodzinach, które są σ - algebrami. M. Beśka, Wstęp do teorii miary, rozdz. 3 25 3 Miara 3.1 Definicja miary i jej podstawowe własności Niech X będzie niepustym zbiorem, a A 2 X niepustą rodziną podzbiorów. Wtedy dowolne odwzorowanie : A

Bardziej szczegółowo

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca

Bardziej szczegółowo

Relacje. opracował Maciej Grzesiak. 17 października 2011

Relacje. opracował Maciej Grzesiak. 17 października 2011 Relacje opracował Maciej Grzesiak 17 października 2011 1 Podstawowe definicje Niech dany będzie zbiór X. X n oznacza n-tą potęgę kartezjańską zbioru X, tzn zbiór X X X = {(x 1, x 2,..., x n ) : x k X dla

Bardziej szczegółowo

INSTYTUT INFORMATYKI POLITECHNIKI BIAŁOSTOCKIEJ

INSTYTUT INFORMATYKI POLITECHNIKI BIAŁOSTOCKIEJ INSTYTUT INFORMATYKI POLITECHNIKI BIAŁOSTOCKIEJ Do uŝytku wewnętrznego INFORMATOR LABORATORYJNY TECHNIKA CYFROWA Opracował: dr hab. inŝ. Tadeusz Maciak UWAGA: ćwiczenie 6 jest obecnie przepracowywane.

Bardziej szczegółowo

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa. Plan Procedura decyzyjna Reguły α i β - algorytm Plan Procedura decyzyjna Reguły α i β - algorytm Logika obliczeniowa Instytut Informatyki 1 Procedura decyzyjna Logiczna konsekwencja Teoria aksjomatyzowalna

Bardziej szczegółowo