Struktury układów logicznych

Slides:



Advertisements
Podobne prezentacje
I część 1.
Advertisements

Teoria układów logicznych
Minimalizacja formuł Boolowskich
Kod Hamminga Podstawy Telekomunikacji Autor: Paweł Zajdel
Układy sekwencyjne - pojęcie automatu
Modelem układu sekwencyjnego jest AUTOMAT
Obserwowalność System ciągły System dyskretny
Filtracja obrazów cd. Filtracja obrazów w dziedzinie częstotliwości
Michał Łasiński Paweł Witkowski
Budowa komputera Wstęp do informatyki Wykład 15
Algorytm Rochio’a.
Systemy dynamiczneOdpowiedzi systemów – modele różniczkowe i różnicowe Kazimierz Duzinkiewicz, dr hab. inż.Katedra Inżynierii Systemów Sterowania 1 Systemy.
Układy logiczne kombinacyjne sekwencyjne
Minimalizacja funkcji boolowskich
I T P W ZPT 1 Jak smakuje Espresso I T P W ZPT 2.
Struktury układów logicznych
Hipergrafy Hipergraf jest rozszerzeniem pojęcia grafu. Hipergraf różni się od grafu nieskierowanego tym, że każda hiperkrawędź może być incydentna do dowolnej.
Architektura komputerów
UKŁADY SZEREGOWO-RÓWNOLEGŁE
Tytuł prezentacji Warszawa, r..
Jak usprawnić obliczanie MKZ?
minimalizacja automatów
O relacjach i algorytmach
Układy kombinacyjne.
Układy sekwencyjne - pojęcie automatu
Synteza układów sekwencyjnych z (wbudowanymi) pamięciami ROM
UKŁADY LOGICZNE Prowadzi: Tadeusz ŁUBA, (GE pok. 472)
Dekompozycja metodą rachunku podziałów c.d.
Zmodyfikowana metoda ekspansji Komputerowe narzędzia syntezy logicznej
Licznik dwójkowy i dziesiętny Licznik dwójkowy i dziesiętny
Problem kodowania stanów w układach sekwencyjnych (automatach)
Espresso mankamenty.
Problem kodowania x s 1 A B C D Wariant I A = 00 B = 01 C = 10 D = 11
Espresso mankamenty.
Cyfrowe układy logiczne
MISTRZOSTWA BYDGOSZCZY
Obserwatory zredukowane
II Zadanie programowania liniowego PL
Analiza wpływu regulatora na jakość regulacji (1)
Minimalizacja funkcji boolowskich
Przykład syntezy strukturalnej
Minimalizacja funkcji boolowskich
Minimalizacja automatu
Minimalizacja automatu
Dekompozycja Kalmana systemów niesterowalnych i nieobserwowalnych
Synteza logiczna w projektowaniu…
Problematyka wykładu Podział rejestrów i liczników
Metoda klasyczna ... to metoda tablicowa, graficzna, której podstawowe
Systemy Liczbowe (technika cyfrowa)
Sygnały cyfrowe i bramki logiczne
Obserwowalność i odtwarzalność
Stało- i zmiennopozycyjna reprezentacja liczb binarnych
(C) Jarosław Jabłonka, ATH, 5 kwietnia kwietnia 2017
II Zadanie programowania liniowego PL
Podstawy Techniki Cyfrowej
Bramki logiczne i układy kombinatoryczne
Dekompozycja metodą rachunku podziałów c.d.
Systemy dynamiczne 2014/2015Obserwowalno ść i odtwarzalno ść  Kazimierz Duzinkiewicz, dr hab. in ż. Katedra In ż ynierii Systemów Sterowania 1 Obserwowalność.
Działania w systemie binarnym
Własności bramek logicznych RÓZGA DARIUSZ 20061
Kalendarz 2020.
Elementy geometryczne i relacje
I T P W ZPT 1 Kodowanie stanów to przypisanie kolejnym stanom automatu odpowiednich kodów binarnych. b =  log 2 |S|  Problem kodowania w automatach Minimalna.
I T P W ZPT 1 Minimalizacja funkcji boolowskich c.d. Pierwsze skuteczne narzędzie do minimalizacji wieloargumentowych i wielowyjściowych funkcji boolowskich.
ZPT f Gate ArrayStandard Cell Programmable Logic Devices PAL, PLA 1 Omówione do tej pory metody syntezy dotyczą struktur bramkowych… Dekompozycja funkcji.
ZPT 1 Dekompozycja nierozłączna Pojęcie r - przydatności Dekompozycja zrównoważona Dekompozycja równoległa.
Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów
I T P W ZPT 1 Jak usprawnić obliczanie MKZ? W celu sprawniejszego obliczania MKZ wprowadzimy skuteczniejszą metodę wg par zgodnych Znamy metodę wg par.
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Metoda klasyczna (wg książki Sasao)
Zapis prezentacji:

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

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

Dekompozycja funkcji boolowskich 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.

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)

Metoda klasyczna ... to metoda tablicowa, graficzna, której podstawowe operacje wykonywane są na tzw. tablicy dekompozycji Tablicą 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  1 01 00    001 000 x1x2x3 x4x5 A 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.

Krotność kolumn Krotność kolumn = 4 Liczbę istotnie różnych kolumn tej macierzy ze względu na ich zawartość nazywamy ich krotnością i oznaczamy symbolem (A|B). x1x2x3 x4x5 000 001 010 100 110 101 011 111 00 1 01 10 11 A B Krotność kolumn = 4

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(g1(B),.., gj(B),A)  (A|B)  2j. B (bound set), A (free set)

Istnieje dekompozycja ! Przykład x1x2x3 x4x5 000 001 010 100 110 101 011 111 00 1 01 10 11 A B x1 x2 x3 g1 g2 1 g1g2 x4x5 00 01 10 11 0 0 1 0 1 1 0 1 1 Istnieje dekompozycja ! f = h(x4, x5, g1(x1, x2, x3), g2(x1, x2, x3))

Praktyczne znaczenie dekompozycji.. ..dla struktur FPGA x1 x2 x3 x4 x5 x1 x2 x3 x4 x5

Przykład trochę trudniejszy cde a b 000 001 010 011 100 101 110 111 00 1 – 01 10 11   K0 K1 K2 K3 K4 K5 K6 K7 c d e a b Istnieje dekompozycja ! f = h(a,b,g1(c,d,e), g2(c,d,e))

Relacja zgodności kolumn Jak obliczać dekompozycję

Relacja zgodności kolumn Kolumny {kr, ks} są zgodne, jeśli nie istnieje wiersz i, dla którego elementy Kir, Kis są określone i różne, tzn. odpowiednio: 0, 1 albo 1, 0. K1 K2 K3 K4 K5 K6 K7 1 -

Relacja zgodności kolumn 1 - Kolumny zgodne można „sklejać” {K1,K4,K7} 1 - 1 - {K5,K6}

Obliczanie dekompozycji... Wyznaczyć relację zgodności kolumn, czyli wypisać wszystkie pary sprzeczne. Wyznaczyć 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.

Przykład - obliczanie klas zgodności Pary sprzeczne: 0,1 0,2 0,5 0,7 1,2 1,7 2,3 2,4 2,6 3,5 3,7 4,7 5,6 6,7 cde a b 000 001 010 011 100 101 110 111 00 1 – 01 10 11   K0 K1 K2 K3 K4 K5 K6 K7 K0, K1 sprzeczna K0, K2 sprzeczna K0, K3 zgodna K0, K4 zgodna

Przykład – obliczanie klas zgodności Stosując algorytm MKZ obliczamy rodzinę Maksymalnych Klas Zgodnych kolumn: Wybieramy: 1,5 0,3,4,6 2,7 Ostatecznie: 0,3,4,6 1,3,4,6 0,3,4,6 1,4,5 2,5,7 1,4,5 Kolumny powtarzające się usuwamy Komentarz: formalnie obliczamy pokrycie.. 2,5,7

Sklejanie kolumn – funkcja h cde ab 000 001 010 011 100 101 110 111 00 1 - 01 10 11 K0 K1 K2 K3 K4 K5 K6 K7 {K0,K3,K4,K6} {K1,K5} {K2,K7} g1g2 ab 00 01 11 10 1 - Kodowanie? Może być dowolne

Kodowanie kolumn – funkcja g cde ab 000 001 010 011 100 101 110 111 00 1 - 01 10 11 K0 K1 K2 K3 K4 K5 K6 K7 c d e g1 g2 1 g1g2 ab 00 01 11 10 1 -

Co uzyskaliśmy c d e a b c d e g1 g2 1 - 10 1 11 01 00 g1g2 ab Opis funkcji g i h tablicami prawdy wystarczy dla realizacji w strukturach FPGA Ale funkcje g i h można obliczyć jawnie… czyli po procesie dekompozycji można je minimalizować

uzyskując w rezultacie … …strukturę na bramkach c d e a b

Przykład – funkcje g1 i g2 c d e g1 g2 1 e cd 1 00 01 11 10 e cd 1 00 1 e cd 1 00 01 11 10 e cd 1 00 01 11 10 21

Przestawiliśmy wiersze Przykład – funkcja h Uwaga: Przestawiliśmy wiersze g1g2 ab 00 01 11 10 1 - 22

Przykład – realizacja G H a b c d e G g1 g2 H h = f

Przykład (bardziej skomplikowany) - TL27 .type fr .i 10 .o 1 .p 25 0010111010 0 1010010100 0 0100011110 0 1011101011 0 1100010011 0 0100010110 0 1110100110 0 0100110000 0 0101000010 0 0111111011 1 0000010100 1 1101110011 1 0100100000 1 0100011111 1 0010000110 1 1111010001 1 1111101001 1 1111111111 1 0010000000 1 1101100111 1 0010001111 1 1111100010 1 1010111101 1 0110000110 1 0100111000 1 .e x3 x5 x6 x7 x8 x9 x10 f 1 x7 x8 x9 x3 x5 x6 x10 f 1 A B

Tablica dekompozycji dla funkcji TL27 1 000 – 001 010 011 100 101 110 111 x3 x5 x6 x10 x7x8x9

Tablica dekompozycji dla funkcji TL27 H G g 000 1 001 010 011 100 – 101 110 111 x7x8x9 x3 x5 x6 x10 G 1 

Praktyczny wynik dekompozycji funkcji TL27 .type fr .i 10 .o 1 .p 25 0010111010 0 1010010100 0 0100011110 0 1011101011 0 1100010011 0 0100010110 0 1110100110 0 0100110000 0 0101000010 0 0111111011 1 0000010100 1 1101110011 1 0100100000 1 0100011111 1 0010000110 1 1111010001 1 1111101001 1 1111111111 1 0010000000 1 1101100111 1 0010001111 1 1111100010 1 1010111101 1 0110000110 1 0100111000 1 .e Tylko 2 komórki

Zagadka 25 kom. (FLEX) lub 27 kom. (Stratix)!!! Na ilu komórkach zrealizuje tę funkcję amerykański system QUARTUS? QUARTUS 25 kom. (FLEX) lub 27 kom. (Stratix)!!!

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

Metoda bezpośrednia Pary 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.

Przykład – obliczanie klas zgodności 0,3 0,4 0,6 1,3 1,4 1,5 1,6 2,5 2,7 3,4 3,6 4,5 4,6 5,7 Maksymalne klasy zgodności: 0,3,4 0,3,6 0,4,6 1,3,4 0,3,4,6 1,3,6 1,3,4,6 1,4,5 1,4,6 2,5,7 3,4,6 1,4,5 2,5,7

Algorytm MKZ wg par zgodnych E – relacja zgodności (ei,ej)  E Rj = { ei | i < j oraz (ei,ej)  E} RKZk RKZk+1 KZ  RKZk a) Rk+1 = , RKZk+1 jest powiększana o klasę KZ = {k+1} b) KZ  Rk+1 = , KZ bez zmian c) KZ  Rk+1  , KZ’ = KZ  Rk+1 {k+1}

Rj = { ei | i < j oraz (ei,ej)  E} Przykład Rj = { ei | i < j oraz (ei,ej)  E} E: 0,3 0,4 0,6 1,3 1,4 1,5 1,6 2,5 2,7 3,4 3,6 4,5 4,6 5,7  R0 = R1 =  R2 =  R3 = 0,1 R4 = 0,1,3 R5 = 1,2,4 R6 = 0,1,3,4 R7 = 0,2,5

Przykład R0 = R1 = R2 = R3 = R4 = R5 =  {0,1} {0,1,3} {1,2,4} R6 = {0,1,3,4} R7 = {0,2,5} {0} {0} {1} {0} {1} {2} {0,3} {1,3} {2} {0,3,4} {1,3,4} {2} {4,5} {1,4,5} {2,5} {0,3,4} {1,3,4} {1,4,6} {2,5} {0,3,4,6} {1,3,4,6} {1,4,5} {1,4,5} {2,5,7} {0,3,4,6} {1,3,4,6} {5,7} Rodzina MKZ

Warto umiejętnie dobierać metodę... Pary zgodne: (1,2), (1,3), (1,4), (1,5), (1,6), (1,7), (2,3), (2,5), (2,6), (2,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), Pary sprzeczne: (1,8) (2,4) (2,8) (3,7) (4,5) Wybór metody jest oczywisty!

W poszukiwaniu innych metod… W obliczaniu kolumn, które można „skleić” znajdują zastosowanie algorytmy kolorowania grafu. Wierzchołki grafu reprezentują kolumny tablicy dekompozycji. Niezgodne pary kolumn łączy się krawędziami. Graf niezgodności: (ki, kj) (ki, ks) (kl, kr) Pary niezgodne: ks k2 ki kj kl k1 kr kp

Przykład… Pary zgodne: Pary sprzeczne: 0,3 0,4 0,6 1,3 1,4 1,5 1,6 2,5 2,7 3,4 3,6 4,5 4,6 5,7 0,1 0,2 0,5 0,7 1,2 1,7 2,3 2,4 2,6 3,5 3,7 4,7 5,6 6,7

Graf niezgodności (0,1), (0,2), (0,5), (0,7), (1,2), (1,7), (2,3), (2,4), (2,6), (3,5), (3,7), (4,7), (5,6), (6,7) 1 2 3 4 5 6 7 i jego kolorowanie