Minimalizacja funkcji boolowskich

Slides:



Advertisements
Podobne prezentacje
Teoria układów logicznych
Advertisements

Minimalizacja formuł Boolowskich
Teoria układów logicznych
Kod Hamminga Podstawy Telekomunikacji Autor: Paweł Zajdel
Układy sekwencyjne - pojęcie automatu
Modelem układu sekwencyjnego jest AUTOMAT
A.Skorupski „Podstawy budowy i działania komputerów” (Warszawa 2000)
Architektura systemów komputerowych
Michał Łasiński Paweł Witkowski
Wprowadzenie System rozproszony jest kolekcją niezależnych, autonomicznych komputerów, które dla użytkownika prezentują się jak jeden komputer. Można wyróżnic.
ZŁOŻONOŚĆ OBLICZENIOWA
Systemy liczbowe w architekturze komputerów materiał do wykładu 1/3
Budowa komputera Wstęp do informatyki Wykład 15
Budowa komputera Wstęp do informatyki Wykład 6 IBM PC XT (1983)
Od algebry Boole’a do komputera
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
gdzie A dowolne wyrażenie logiczne ; x negacja x Tablice Karnaugha Minimalizacja A x+ A x=A gdzie A dowolne wyrażenie logiczne ;
Systemy liczbowe.
Układy kombinacyjne.
Układy kombinacyjne.
Podstawy układów logicznych
Układy sekwencyjne - pojęcie automatu
Synteza układów sekwencyjnych z (wbudowanymi) pamięciami ROM
Funkcje logiczne i ich realizacja. Algebra Boole’a
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)
Problem kodowania stanów w układach sekwencyjnych (automatach)
Zadanie treningowe… …do wykładów ULOG cz. 6 i cz. 7 Rozwiązanie: E S 1
Cyfrowe układy logiczne
A. Sumionka. Starodawna gra marynarska; Gra dwu i wieloosobowa; Gracze wykonują ruchy naprzemian; Złożona ze stosów, w których znajduje się pewna ilość
W układach fizycznych napięcie elektryczne może reprezentować stany logiczne. Bramką nazywamy prosty obwód elektroniczny realizujący funkcję logiczną.
II Zadanie programowania liniowego PL
ZASADY PODZIAŁU SIECI NA PODSIECI, OBLICZANIA ADRESÓW PODSIECI,
Układy cyfrowe.
Przykład syntezy strukturalnej
Minimalizacja funkcji boolowskich
Minimalizacja automatu
Problematyka wykładu Podział rejestrów i liczników
Podstawowe pojęcia rachunku zdań
Metoda klasyczna ... to metoda tablicowa, graficzna, której podstawowe
Liczby całkowite dodatnie BCN
Struktury układów logicznych
Sygnały cyfrowe i bramki logiczne
Stało- i zmiennopozycyjna reprezentacja liczb binarnych
Podstawy Techniki Cyfrowej
II Zadanie programowania liniowego PL
PODSTAWOWE BRAMKI LOGICZNE
Złożone układy kombinacyjne
Podstawy arytmetyki komputerowej Paweł Perekietka
Bramki logiczne i układy kombinatoryczne
URZĄDZENIA TECHNIKI KOMPUTEROWEJ
Działania w systemie binarnym
Własności bramek logicznych RÓZGA DARIUSZ 20061
Układy asynchroniczne
Budowa komputera Wstęp do informatyki Wykład 6 IBM PC XT (1983)
I T P W ZPT 1 Minimalizacja funkcji boolowskich c.d. Pierwsze skuteczne narzędzie do minimalizacji wieloargumentowych i wielowyjściowych funkcji boolowskich.
Podstawy Techniki Cyfrowej Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Wykład 5: Minimalizacja form boolowskich.
Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów
Elementy cyfrowe i układy logiczne
I T P W ZPT 1 Realizacje funkcji boolowskich Omawiane do tej pory metody minimalizacji funkcji boolowskich związane są z reprezentacją funkcji w postaci.
Dr Galina Cariowa. Legenda  Optymalizacja układów dwupoziomowych.  Kryterium kosztu realizacji.  Tablica (mapa) Karnaugh’a.  Metoda Quine’a – Mc Cluske’a.
Elementy cyfrowe i układy logiczne
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Wstęp do Informatyki - Wykład 6
Zapis prezentacji:

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. Przyczyna: możliwość realizacji układów logicznych w strukturach scalonych o złożoności milionów bramek logicznych.

Minimalizacja funkcji boolowskich W ciągu kilkudziesięciu lat powstało wiele metod… Graficzne Analityczne Komputerowe Absolutnie nieprzydatne do obliczeń komputerowych Tablice Karnaugha Metoda Quine’a – McCluskey’a Omówienie całego Espresso jest nierealne! Pierwsze skuteczne narzędzie do minimalizacji wieloargumentowych i wielowyjściowych funkcji boolowskich (Uniwersytet Kalifornijski w Berkeley) : Metoda i system Espresso (1984) Ze względu na ograniczony zakres wykładu omówimy wyłącznie: Metodę tablic Karnaugha Metodę Ekspansji (jako przykładową procedurę Espresso)

Metoda tablic Karnaugha Mimo swoich niedoskonałości metoda K. jest często wykładaną metodą minimalizacji funkcji boolowskich. Paradoksalnie to co jest jej wadą – prostota – jest jednocześnie jej zaletą, gdyż można szybko ją „opanować” i stosować w obliczeniach ręcznych… Należy jednak pamiętać, że w praktyce projektowania inżynierskiego metoda tablic K. jest absolutnie nieprzydatna.

Tablice Karnaugha Tablica K. jest prostokątem złożonym z 2n kratek, z których każda reprezentuje jeden pełny iloczyn (minterm) zmiennych binarnych. W kratki wpisuje się wartości funkcji. x3 x1x2 1 00 01 11 10 W tablicy K. różniącym się tylko o negację pełnym iloczynom przyporządkowane są leżące obok siebie pola tablicy (sąsiednie kratki). Korzysta się z faktu, że dla dowolnego A: - 1 Dla uzyskania efektu sąsiedztwa współrzędne pól opisuje się kodem Gray’a

Kod Gray’a 1 00 01 11 10 000 001 011 010 110 111 101 100 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000

Przykładzik wprowadzający do metody 1) Wpisanie funkcji do tablicy x1 x2 x3 f 1 2 3 4 5 6 7 2) Zakreślanie pętelek Z pętelkami kojarzymy iloczyn zmiennych (prostych lub zanegowanych) x3 x1x2 1 00 01 11 10 1 1 1 f = x1x2 + x3

Wpisywanie funkcji ułatwia…   …opis kratek tablic Karnaugha wg NKB x3 x1x2 1 00 01 2 3 11 6 7 10 4 5 x2x3 x1 00 01 11 10 1 3 2 4 5 7 6 x1 x2 x3 f 1 2 3 4 5 6 7 x3 x1x2 1 00 01 11 10 x3x4 x1x2 00 01 11 10 1 3 2 4 5 7 6 12 13 15 14 8 9 1 1 1  

Zakreślanie pętelek i tworzenie iloczynów   x3 x1x2 1 00 01 11 10 x1 x3 x2 1 = 3 2 x f 1 x1 x3 x2 1 x1 x2 x3 x3 1 x1 x2

Algorytm minimalizacji 1) Zapisujemy funkcję do tablicy K. 2) Zakreślamy pętelki. a) Pętelki zakreślamy wokół grup sąsiadujących kratek zawierających 1-ki albo 1-ki i „–” (kreski). b) Liczba kratek objętych pętelka musi wynosić: 1, 2, 4, …,2k. c) Staramy się objąć pętelką jak największą liczbę kratek. 3) Pętelki zakreślamy tak długo, aż każda 1-ka będzie objęta co najmniej jedną pętelką, pamiętając o tym aby pokryć wszystkie 1-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.

Przykłady prawidłowych pętelek…   x2x3 x1 00 01 11 10 1 x3 x1x2 1 00 01 11 10 x4x5 x1x2x3 00 01 11 10 000 001 011 010 110 111 101 100 x3x4 x1x2 00 01 11 10  

Przykład - minimalizacja dla sumy iloczynów   x3x4 x1x2 00 01 11 10 1 3 2 4 5 7 6 12 13 15 14 8 9  f = 0, 5, 6, 7, 10, (2, 3, 11, 12) x3x4 x1x2 00 01 11 10 1 –

Implikant funkcji boolowskiej Celem minimalizacji jest reprezentacja funkcji w postaci sumy iloczynów …dlatego taki najkrótszy iloczyn nazywa się implikantem vivjvk + vpvqvrvs +… (v oznacza afirmację albo negację zmiennej x) z najmniejszą liczbą składników oraz najmniejszą łączną liczbą literałów, co zapewnia realizację… z najmniejszą liczbą bramek AND …czyli najmniejszą liczbą połączeń (ścieżek metalizowanych) 12 i najmniejszą liczbą wejść do tych bramek

Implikant funkcji boolowskiej  Implikant danej funkcji f jest to iloczyn literałów (zmiennych prostych i zanegowanych) taki, że odpowiadający mu zbiór wektorów binarnych nie zawiera wektora „zerowego” funkcji. Prosty implikant jest to implikant, który zmniejszony o dowolny literał przestaje być implikantem. Prosty implikant

Przykład z planszy 11 jest implikantem, bo zbiór wektorów:   x3x4 x1x2 00 01 11 10 1 3 2 4 5 7 6 12 13 15 14 8 9  f = 0, 5, 6, 7, 10, (2, 3, 11, 12) jest implikantem, bo zbiór wektorów: 10 1010 11 1011  x3x4 x1x2 00 01 11 10 1 – nie zawiera żadnego wektora (mintermu), dla którego wartość funkcji jest 0 Ale nie jest to implikant prosty, gdyż można usunąć x1 uzyskując: W 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ć.

Implikant funkcji boolowskiej - interpretacja W 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ć. Implikant x3x4 x1x2 00 01 11 10 1 – To nie jest Implikant! Prosty implikant