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
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
I T P W ZPT 1 Jak smakuje Espresso I T P W ZPT 2.
Struktury układów logicznych
Architektura komputerów
UKŁADY SZEREGOWO-RÓWNOLEGŁE
gdzie A dowolne wyrażenie logiczne ; x negacja x Tablice Karnaugha Minimalizacja A x+ A x=A gdzie A dowolne wyrażenie logiczne ;
Bramki Logiczne.
O relacjach i algorytmach
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
Wyrażenia algebraiczne
Licznik dwójkowy i dziesiętny Licznik dwójkowy i dziesiętny
Bramki logiczne w standardzie TTL
Problem kodowania stanów w układach sekwencyjnych (automatach)
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
Cyfrowe układy logiczne
Obserwatory zredukowane
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.
Minimalizacja funkcji boolowskich
Minimalizacja funkcji boolowskich
Problematyka wykładu Podział rejestrów i liczników
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
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
Kalendarz 2020.
I T P W ZPT 1 Minimalizacja funkcji boolowskich c.d. Pierwsze skuteczne narzędzie do minimalizacji wieloargumentowych i wielowyjściowych funkcji boolowskich.
Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów
Elementy cyfrowe i układy logiczne
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.
Metoda klasyczna (wg książki Sasao)
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 KPS   Suma 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 –

Przykład - minimalizacja dla KPI Różnice wynikają ze sposobu interpretacji zmiennej w… Wszystkie czynności są takie same Kanonicznej Postaci Sumy: Kanonicznej Postaci Iloczynu:

Ten sam przykład dla „iloczynu sum”   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 14 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:

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

Realizacje bramkowe Realizacja AND-OR (wg sumy iloczynów) Realizacja OR-AND (wg iloczynu sum)

Realizacja AND-OR   Sum-of-products (SOP) x3 x1x2 1 00 01 11 10

Realizacja OR-AND Product-of-sums (POS) x3 x1x2 1 00 01 11 10 20

Inne operatory (bramki) logiczne NAND NOR EX-OR NAND (NOT-AND) NOR (NOT-OR) EXOR (Exclusive OR)

Realizacja NAND   x3 x1x2 1 00 01 11 10

Realizacja NOR x3 x1x2 1 00 01 11 10

Minimalizacja funkcji wielowyjściowych Przykład sygnalizujący problem: Należy zaprojektować zespół trzech funkcji czterech argumentów: f1 = (3,7,11,14,15) f2 = (3,7,12,13,14,15) f3 = (3,7,11,12,13,15)

Przykład sygnalizujący problem… Jeśli każdą funkcję zminimalizujemy oddzielnie: cd cd cd 00 01 11 10 ab 00 01 11 10 ab ab 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 f1 = abc + cd

… to uzyskamy… a b c f1 Do realizacji tych trzech funkcji potrzebujemy 9 bramek. Czy można zredukować ich liczbę? Patrz następna plansza . c d a b f2 c d a b f3 c d

…usuwamy niektóre bramki c f1 Bramka AND dla f1 może być usunięta przez wykorzystanie bramki AND z f3. c d a b f2 c d a b Teraz potrzebujemy 8 bramek. …….cdn. f3 c d

…co dalej a b c f1 Bramkę AND z f2 można usunąć przez wykorzystanie faktu c d a b f2 c d Teraz potrzebujemy zaledwie 7 bramek. a b f3 c d

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

Przykład 3.5 z książki SUL 7 bramek AND cd ab 00 01 11 10 1 3 2 4 5 7 6 12 13 15 14 8 9 1 10 11 01 00 cd ab 1 10 11 01 00 cd ab 1 10 11 01 00 cd ab 7 bramek AND

Przykład 3.5 z książki SUL 5 bramek AND cd ab 00 01 11 10 1 cd ab 00 01 11 10 1 cd ab 00 01 11 10 1 1 2 3 4 5 bramek AND 1 2 5 … a poprzednio było 7 bramek AND!!! 4 3 5