Przykładowo

Transkrypt

Przykładowo
Wykład trzeci
2.4. Synteza funkcji logicznych
Wprowadźmy szereg terminów posługując się przykładowo funkcją
trójargumentową y  f ( x1 , x2 , x3 ) .
Elementarny iloczyn funkcji jest to dowolny iloczyn argumentów
prostych lub zanegowanych, np. x1  x3 x1  x2  x3
Składnik jedności – elementarny iloczyn, w którym występują
wszystkie argumenty danej funkcji.
Elementarna suma funkcji jest to dowolna suma argumentów prostych
lub zanegowanych, np. x1  x3 x1  x2  x3
Czynnik zera – elementarna suma, w której występują wszystkie
argumenty danej funkcji.
Kolejne stany argumentów danej funkcji, np. stan 011 (x1=0, x2=1, x3=1)
tworzą dwójkowe zapisy liczb dziesiętnych, które nazywamy numerami
1
stanu argumentów; numerem stanu argumentów 011 jest 3.
1
Wykład trzeci
Składniki jedności i czynniki zera funkcji trójargumentowych
Nr st. x1 x2 x3 Składniki jedności funkcji Czynniki zera funkcji
argum.
y  f ( x1 , x2 , x3 )
y  f ( x1 , x2 , x3 )
0
0
0
0
K 0  x1  x2  x3
D0  x1  x2  x3
1
0
0
1
K1  x1  x2  x3
D1  x1  x2  x3
2
0
1
0
K 2  x1  x2  x3
D2  x1  x2  x3
3
0
1
1
K 3  x1  x2  x3
D3  x1  x2  x3
4
1
0
0
K 4  x1  x2  x3
D4  x1  x2  x3
5
1
0
1
K 5  x1  x2  x3
D5  x1  x2  x3
6
1
1
0
K 6  x1  x2  x3
D6  x1  x2  x3
7
1
1 1
K 7  x1  x2  x3
D7  x1  x2 2x3
Wykład trzeci
W tablicy:
składnik jedności K oznaczono indeksem i, jeżeli dla i-tego stanu
argumentów przyjmuje on wartość 1,
czynnik zera D oznaczono indeksem i, jeżeli dla i-tego stanu
argumentów przyjmuje on wartość 0.
Należy zauważyć, że dla przyjętego sposobu numeracji składników
jedności i czynników zera:
składnik jedności Ki przyjmuje wartość 1 tylko dla i-tego stanu
argumentów; dla pozostałych stanów argumentów jest zerem,
czynnik zera Di przyjmuje wartość 0 tylko dla i-tego stanu
argumentów; dla pozostałych stanów argumentów jest jedynką.
Liczba składników jedności (czynników zera) jest równa liczbie
stanów argumentów.
3
Wykład trzeci
Łatwo zauważyć, że jakąkolwiek funkcję trójargumentową
(i analogicznie funkcje o innej liczbie argumentów) można zapisać
w postaci:
y ( x1 , x2 , x3 )  y0  K 0  y1  K1  y2  K 2  y3  K 3  y4  K 4  y5  K 5 
 y6  K 6  y7  K 7
zwanej kanoniczną postacią alternatywną danej funkcji,
gdzie: y0 - wartość zmiennej zależnej funkcji przy zerowym stanie
argumentów, y1 - wartość funkcji przy pierwszym stanie argumentów,
itd.
lub w postaci
y ( x1 , x2 , x3 )  ( y0  D0 )  ( y1  D1 )  ( y2  D2 )  ( y3  D3 )  ( y4  D4 ) 
 ( y5  D5 )  ( y6  D6 )  ( y7  D7 )
zwanej kanoniczną postacią koniunkcyjną danej funkcji.
4
Wykład trzeci
Przykład – dana jest funkcja w postaci tablicy wartości
Nr st.
argum.
x1
x2
x3
y
Kanoniczna postać alternatywna:
0
0
0
0
1
y ( x1 , x2 , x3 )  1 K 0  1 K1  0  K 2  0  K 3 
1
0
0
1
1
 1 K 4  1 K 5  1 K 6  1 K 7
2
0
1
0
0
3
0
1
1
0
Po usunięciu składników o wartości 0
4
1
0
0
1
y( x1 , x2 , x3 )  K 0  K1  K 4  K5  K 6  K 7
5
1
0
1
1
6
1
1
0
1
7
1
1
1
1
Funkcję tę można przedstawić w postaci
symbolicznej (liczbowej):
y( x1 , x2 , x3 )   0,1,4,5,6,7
Właściwym zapisem kanonicznej postaci alternatywnej danej funkcji jest:
y  x1  x2  x3  x1  x2  x3  x1  x2  x3  x1  x2  x3  x1  x2  x3  x1  x52  x3
Wykład trzeci
Kanoniczna postać koniunkcyjna:
Nr st.
argum.
x1
x2
x3
y
0
0
0
0
1
1
0
0
1
1
2
0
1
0
0
3
0
1
1
0
4
1
0
0
1
Po usunięciu czynników o wartości 1,
otrzymuje się
5
1
0
1
1
y( x1 , x2 , x3 )  D2  D3
6
1
1
0
1
7
1
1
1
1
y ( x1 , x2 , x3 )  (1  D0 )  (1  D1 )  (0  D2 ) 
 (0  D3 )  (1  D4 )  (1  D5 )  (1  D6 )  (1  D7 )
Funkcję tę można przedstawić w postaci
symbolicznej (liczbowej):
y( x1 , x2 , x3 )   2,3
Właściwym zapisem kanonicznej postaci koniunkcyjnej danej funkcji
jest:
y  (x  x  x )  (x  x  x )
1
2
3
1
2
3
6
Wykład trzeci
Postacie kanoniczne są algebraiczną formą zapisu dowolnie
złożonych funkcji logicznych.
Są one tworzone z wykorzystaniem tylko trzech operacji logicznych:
alternatywy, koniunkcji i negacji.
Zestaw (zbiór) funkcji logicznych umożliwiający tworzenie
algebraicznych zapisów dowolnych funkcji logicznych nazywa się
systemem funkcjonalnie pełnym.
Zestaw funkcji: alternatywa, koniunkcja i negacja nazywany jest
podstawowym systemem funkcjonalnie pełnym.
Systemami funkcjonalnie pełnymi są także:
• alternatywa i negacja,
• koniunkcja i negacja,
• funkcja NOR,
• funkcja NAND i inne.
7
Wykład trzeci
2.5. Minimalizacja funkcji logicznych
Na ogół, korzystając z praw algebry Boole’a, można przekształcać
postacie kanoniczne w celu zmniejszenia liczby występujących w nich
elementarnych operacji logicznych, co nazywamy minimalizacją
funkcji logicznych.
Podstawową czynnością przy poszukiwaniu możliwości minimalizacji
postaci kanonicznych jest poszukiwanie par składników jedności lub
par czynników zera, nad którymi można wykonać tzw. operację
sklejania.
Operacja sklejania (sklejanie), w przypadku minimalizacji
kanonicznej postaci alternatywnej, polega na wykonaniu działań
typu
a  b  a  b  a  (b  b)  a 1  a
gdzie: a reprezentuję jednakową część obu składników,
b - zmienną różniącą się znakiem negacji.
8
Wykład trzeci
Przykład:
x1  x2  x3  x1  x2  x3  x1  x2
W przypadku minimalizacji kanonicznej postaci koniunkcyjnej,
operacja sklejania polega na wykonaniu działań typu
( a  b)  ( a  b)  a  b  b  a  0  a
gdzie: a reprezentuję jednakową część obu czynników, b - zmienną
różniącą się znakiem negacji
Przykład:
( x1  x2  x3 )  ( x1  x2  x3 )  x1  x2
Metoda minimalizacji polegająca na wykonywaniu kolejnych
przekształceń pierwotnego zapisu funkcji w postaci kanonicznej
nazywa się metodą przekształceń algebraicznych.
9
Wykład trzeci
Inne metody minimalizacji:
• metoda Quine’a – McCluskey’a,
• metoda tablic Karnaugha,
usprawniają jedynie procedurę poszukiwania możliwości
i wykonywania operacji sklejania.
Postać funkcji uzyskana w wyniku wykonaniu wszystkich możliwych
sklejeń w kanonicznej postaci alternatywnej nazywa się normalną
postacią alternatywną.
Postać funkcji uzyskana w wyniku wykonaniu wszystkich możliwych
sklejeń w kanonicznej postaci koniunkcyjnej nazywa się normalną
postacią koniunkcyjną.
Postacie normalne nie zawsze są opisem wykorzystującym
najmniejszą z możliwych operacji logicznych.
10
Wykład trzeci
Zmniejszenie liczby operacji logicznych występujących w normalnej
postaci alternatywnej jest możliwe jeżeli z dwóch lub więcej
elementarnych iloczynów można wyprowadzić przed nawias wspólny
czynnik (prawo o rozdzielności mnożenia względem dodawania), np.
x1  x2  x3  x1  x2  x3  x1  ( x2  x3  x2  x3 )
Zmniejszenie liczby operacji logicznych występujących w normalnej
postaci koniunkcyjnej jest możliwe jeżeli z dwóch lub więcej
elementarnych sum można wyprowadzić przed nawias wspólny
składnik (prawo o rozdzielności dodawania względem mnożenia), np.
( x1  x2  x3 )  ( x1  x2  x3 )  x1  ( x2  x3 )  ( x2  x3 )
Operacje takie nazywane są faktoryzacją.
11
Wykład trzeci
2.5.1. Minimalizacja metodą przekształceń algebraicznych
Zminimalizujmy funkcję zdefiniowaną w postaci tablicy wartości:
x1
x2
x3
y
Kanoniczna postać alternatywna funkcji ma postać
0
0
0
1
0
0
1
1
y  x1  x2  x3  x1  x2  x3  x1  x2  x3  x1  x2  x3 
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
 x1  x2  x3  x1  x2  x3
Można w niej zauważyć pokazane możliwości
sklejeń
y  x1  x2  x3  x1  x2  x3  x1  x2  x3  x1  x2  x3 

 

 x1  x2  x3  x1  x2  x3  x1  x2  x1  x2  x1  x2


W uzyskanym wyniku widoczna jest możliwość dalszego sklejania
- środkowy składnik można skleić z pierwszym i z trzecim.
12
Wykład trzeci
Korzystając z twierdzenia algebry Boole’a x + x = x ,środkowy
składnik można traktować jakby wystąpił dwukrotnie. Zatem:
y  x1  x2  x1  x2  x1  x2  x1  x2  x1  x2  x1  x2  x1  x2 
 x1  x2  x1  x2  x1  x2  x1  x2  x2  x1

 
 
 

Uzyskana postać funkcji
y  x2  x1 jest postacią minimalną.
Kanoniczna postać koniunkcyjna rozważanej funkcji ma postać:
y  ( x1  x2  x3 )  ( x1  x2  x3 )
Występujące w niej czynniki zera różnią się znakiem negacji przy
zmiennej x3, zatem w rezultacie sklejenia obu czynników
otrzymuje się
y  x1  x2  x2  x1
13
Wykład trzeci
2.5.2. Metoda Quine’a – McCluskey’a
Metoda Quine’a – McCluskey’a polega na wykonaniu nad postacią
kanoniczną wszystkich możliwych sklejeń, przy czym stosuje się
specyficzny, uporządkowany sposób postępowania.
Przykład
Zminimalizować funkcję y( x1 , x2 , x3 , x4 )   0,1,2,5,8,9,10,13,14,15
Liczbowy zapis funkcji podaje numery składników jedności
kanonicznej postaci alternatywnej, np.
0 oznacza K 0  x1  x2  x3  x4
1 oznacza
K1  x1  x2  x3  x4
K0 i K1 można skleić; wynikiem sklejenia jest
K 0  K1  x1  x2  x3
14
Wykład trzeci
W metodzie Quine’a – McCluskey’a składniki jedności funkcji
zapisuje się w formie liczbowej, np.
K0 = 0000 , K1 = 0001; wynik sklejenia zapisuje się w formie
K0 + K1 = 000-, co oznacza x1  x2  x3
Proces minimalizacji wykonuje się tworząc kolumny:
• kolumna 1 – zawiera liczbowy zapis wszystkich składników jedności
• kolumna 2 – składniki pogrupowane ze względu na liczbę zer
• kolumna 3 – wyniki pierwszego etapu sklejeń (sklejać dają się tylko
składniki sąsiednich grup)
• kolumna 4 – wyniki kolejnego etapu sklejania.
Wyrażenia przeniesione do kolejnej kolumny lub wykorzystane do
sklejania oznacza się np. strzałką; wyrażenia bez strzałki są
końcowym wynikiem sklejania.
15
Wykład trzeci
Przebieg procesu sklejania funkcji
y( x1 , x2 , x3 , x4 )   0,1,2,5,8,9,10,13,14,15
000  
0000 
0000 
0001 
0001 
0010 
0010 
0101 
1000 
1000 
0101 
1001 
1001 
1010 
1010 
1101 
1101 
1110 
1110 
1111 
1111 
00  0 
 000 
0  01 
 001 
 010 
100  
10  0 
 101 
1  01 
 00 
00
 00 
00
 01
 01
1  10
11  1
111 
16
Wykład trzeci
Po wykonaniu wszystkich możliwych sklejeń pozostał zestaw trzech
różnych tzw. implikantów prostych w kolumnie czwartej i trzech w
kolumnie trzeciej. Można symbolicznie napisać:
y  (1  10)  (11  1)  (111)  (00)  (0  0)  (  01)
co oznacza, że
y  x1  x3  x4  x1  x2  x4  x1  x2  x3  x2  x3  x2  x4  x3  x4
Zwykle nie wszystkie implikanty są niezbędne do wyrażenia danej
funkcji. Do wyboru niezbędnego zestawu implikantów służy tablica
implikantów.
W tablicy symbolem V oznaczono te składniki jedności, ze sklejenia
których powstał dany implikant prosty. Mówi się, że imlikant prosty
pochłania te składniki jedności, z których powstał.
17
Wykład trzeci
Aby postać zminimalizowana była poprawnym zapisem danej funkcji,
musi zawierać zestaw implikantów prostych pochłaniających wszystkie
składniki jedności minimalizowanej funkcji. W rozpatrywanym
przykładzie jest to zestaw implikantów oznaczonych symbolem *.
Zatem ostatecznie otrzymuje się zminimalizowaną postać alternatywną
funkcji:
y  x1  x2  x3  x2  x4  x3  x4
Implikanty
proste
Składniki jedności funkcji
0000 0001 0010 0101 1000 1001 1010 1101 1110 1111
1-10
v
11-1
v
v
111- *
v
-00-
v
-0-0 *
v
--01 *
v
v
v
v
v
v
v
v
v
v
v
v
18
Wykład trzeci
2.5.3. Metoda tablic Karnaugha
Tablice Karnaugha
funkcji.
a) są specyficzną formą tablic wartości
b)
Nr stanu x1
argum.
0
0
1
0
2
0
3
0
4
1
5
1
6
1
7
1
x2
0
0
1
1
0
0
1
1
x3
y
0
1
0
1
0
1
0
1
Tablica zwykła dla funkcji
trzyargumentowych
x 2 , x3
x1
00
01
11
10
0
1
y
Tablica
Karnaugha
c)
x 2 , x3
x1
0
1
00
01
11
10
0
1
3
2
4
5
7
6
y
Tablica Karnaugha z numerami stanu argumentów
19
Wykład trzeci
b)
W tablicach Karnaugha
wartości zmiennej zależnej y są wpisywane w
polaxtablicy,
odpowiadające wartościom argumentów wypisanych na
2 , x3
00 01 11 10
obrzeżach
tablicy.
x1
0
Charakterystyczną
cechą tablic Karnaugha jest to, że sąsiednie wartości
stanów argumentów różnią się tylko jedną pozycją (wartości
1
argumentów są kolejnymi liczbami w kodzie Graya).
y
Dzięki temu, składniki jedności funkcji (albo czynniki zera) o numerach
znajdujących sięc)w polach sąsiednich można sklejać.
x 2 , x3
x1
0
1
00
01
11
10
0
1
3
2
4
5
7
6
y
Polami sąsiednimi są np. pola 0 i 1,
0 i 2, 4 i 6, 0 i 4 itd.
20
Wykład trzeci
Przykład 1: minimalizacja postaci alternatywnej
x 2 , x3
x1
00
0
1
1
0
01
0
4
1
0
11
1
5
0
0
y
10
3
7
0
0
2
6
Funkcja przyjmuje wartość 1 w stanach
argumentów 0 i 1, co oznacza, że
kanoniczna postać alternatywna funkcji
jest sumą logiczną składników jedności
K0 i K1 , które można skleić:
y  K 0  K1  x1  x2  x3  x1  x2  x3  x1  x2
Mówi się, że zostały sklejone jedynki, znajdujące się w polach 0 i 1.
Praktycznie wynik sklejania ustala się bezpośredni na podstawie
wartości argumentów jednakowych dla obu pól.
Polom 0 i 1 odpowiadają wartości x1 = 0 i x2 = 0; dlatego
y  00  x1  x2
21
Wykład trzeci
Przykład 2: minimalizacja postaci koniunkcyjnej
x 2 , x3
x1
00
0
0
1
1
01
0
4
0
1
11
1
5
1
1
y
10
3
7
1
1
2
6
Funkcja przyjmuje wartość 0 w stanach
argumentów 0 i 1, co oznacza, że kanoniczna
postać koniunkcyjna funkcji jest iloczynem
logicznym czynników zera D0 i D1, które
można skleić.
y  D0  D1  ( x1  x2  x3 )  ( x1  x2  x3 )  x1  x2
Mówi się, że zostały sklejone zera, znajdujące się w polach 0 i 1.
Praktycznie wynik sklejania ustala się bezpośredni na podstawie
wartości argumentów jednakowych dla obu pól.
Polom 0 i 1 odpowiadają wartości x1 = 0 i x2 = 0; dlatego y  00  ,
co w przypadku postaci koniunkcyjnej odpowiada funkcji
y  x1  x2
22
Wykład trzeci
Ponadto, dzięki usytuowaniu wartości argumentów w tablicach
Karnaugha, sklejają się wyniki sklejeń sąsiednich par jedynek albo
sąsiednich par zer.
Przykład 3
x 2 , x3
x1
00
0
1
1
1
01
0
4
1
1
11
1
5
0
0
y
10
3
7
0
0
2
6
Funkcja przyjmuje wartość 1 w stanach
argumentów 0, 1, 4 i 5, co oznacza, że
kanoniczna postać alternatywna funkcji jest
sumą logiczną składników jedności K0, K1,
K4 i K5, które można skleić.
Wynik sklejania otrzymuje się na podstawie wartości argumentu nie
zmieniającego się dla sklejanych jedynek.
Ponieważ dla tych jedynek jest x2 = 0, to y  x2
23
Wykład trzeci
Sąsiednimi parami jedynek, dającymi się skleić są także pary
poziome.
Przykład 4
x 2 , x3
x1
00
0
1
1
0
01
0
4
1
0
11
1
5
1
0
10
3
7
1
0
2
6
Sklejając czwórkę jedynek lub
czwórkę zer, otrzymuje się
yx
y
x3
x1 , x 2
0
1
00
0
1
2
3
6
7
4
5
24
01
Dla funkcji trójargumentowych
można także wykorzystywać
tablice Karnaugha w układzie
pionowym
11
10
y
Wykład trzeci
Tablice Karnaugha dla funkcji dwu- i czteroargumentowych
x3 , x 4
x2
x1
0
1
x1 , x 2
0
1
00
0
1
2
3
y
01
11
10
00
01
11
10
0
1
3
2
4
5
7
6
12
13
15
14
8
9
11
10
y
Tablice Karnaugha umożliwiają także minimalizację funkcji pięcioi sześcioargumentowych.
25
Wykład trzeci
Przykłady minimalizacji funkcji trójargumentowych
x2x3
00
01
11
10
0
0
1
1
0
1
0
1
0
0
x1
x 2  x3
x2x3
00
x1
0 1
1
x1
00
01
11
10
0
0
1
1
0
1
0
1
1
1
x3
x1  x2
y  x3  x1 x2
11
10
0
0
1
0
1
1
x2  x 3
x 1  x3
x1  x 3
y  ( x 2  x 3 )  ( x1  x 3 )
y  x 2  x3  x 1  x3
x2x3
1
01
x1
x2x3
00
01
11
10
0
1
0
0
1
1
1
0
0
0
x3
x1  x 2
y  x3  ( x1  x 2 )
26
Wykład trzeci
Przykłady minimalizacji funkcji czteroargumentowych
x3x4
00
01
11
10
1
1
0
0
01
1
1
0
1
11
0
0
1
0
10
1
1
1
1
x1x2
00
x1  x 3
x3x4
x1x2 00
x1  x2  x 4
x1  x3  x4
x1  x 2
y  x1  x2  x 4  x1  x3  x4 
 x 1  x 3  x1  x 2
01
11
10
00
0
0
1
1
01
0
0
1
0
11
1
1
0
1
10
0
0
0
0
x1  x2
x1  x 2  x4
x1  x 3  x 4
x1  x2
y  ( x1  x 2  x 4 )  ( x 1  x 3  x 4 ) 
 ( x1  x 3 )  ( x 1  x 2 )
27
Wykład trzeci
2.6. Minimalizacja funkcji logicznych nie w pełni określonych
Funkcjami logicznymi nie w pełni określonymi nazywają się
funkcje, które dla niektórych stanów argumentów nie mają
określonych wartości.
W tablicach wartości takich funkcji w stanach nie określonych
zamiast wartości zmiennej zależnej wpisuje się kreskę. W liczbowych
zapisach funkcji nie w pełni określonych numery stanów nie
określonych podaje się w nawiasach, np.
y( x1 , x2 , x3 , x4 )   0,1,2,3,4,9,11(5,7,13,15)   6,8,10,12,14(5,7,13,15)
Przeprowadźmy minimalizację tej funkcji z wykorzystaniem tablic
Karnaugha.
28
Wykład trzeci
Minimalizacja postaci alternatywnej
x3x4
x1x2 00
00 1
01
11
10
1
1
1
01
1
-
-
0
11
0
-
-
0
10
0
1
1
0
y
Sklejając jedynki, czego efektem
jest normalna postać alternatywna
funkcji, korzystnie jest przyjąć, że
we wszystkich stanach nie
określonych zmienna zależna
przyjmuje wartość 1, zatem
y  x1  x2  x1  x3  x4
29
Wykład trzeci
Minimalizacja postaci koniunkcyjnej
x3x4
x1x2 00
00 1
01
11
10
1
1
1
01
1
-
-
0
11
0
-
-
0
10
0
1
1
0
y
y  ( x2  x3 )  ( x1  x4 )
W przypadku sklejania zer, co
prowadzi do uzyskania normalnej
postaci koniunkcyjnej, najprostszą
postać funkcji uzyskuje się
przyjmując, że w dwóch stanach nie
określonych zmienna zależna
przyjmuje wartość 0 (a więc w
pozostałych przyjmuje wartość 1).
Zatem funkcja uzyskana w wyniku
sklejania zer jest inną niż funkcja
uzyskana w wyniku sklejania
jedynek, co nie ma znaczenia, gdyż
różnice dotyczą tylko stanów nie
określonych.
30

Podobne dokumenty