• Nie Znaleziono Wyników

2.4. Synteza funkcji logicznych

N/A
N/A
Protected

Academic year: 2021

Share "2.4. Synteza funkcji logicznych"

Copied!
30
0
0

Pełen tekst

(1)

1

1

Wprowadźmy szereg terminów posługując się przykładowo funkcją trójargumentową .

Elementarny iloczyn funkcji jest to dowolny iloczyn argumentów prostych lub zanegowanych, np. x1x3

) , ,

(x1 x2 x3 f

y

3 2

1 x x

x  

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. x1x3 x1x2x3

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 stanu argumentów; numerem stanu argumentów 011 jest 3.

(2)

Nr st.

argum.

x1 x2 x3 Składniki jedności funkcji Czynniki zera funkcji

0 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 1 0 1 6 1 1 0 7 1 1 1

3 2 1

0 x x x

K   

3 2 1

1 x x x

K   

3 2 1

2 x x x

K   

3 2 1

3 x x x

K   

3 2 1

4 x x x

K   

3 2 1

5 x x x

K   

3 2 1

6 x x x

K   

3 2 1

7 x x x

K   

3 2

1

0 x x x

D   

3 2

1

1 x x x

D   

3 2

1

2 x x x

D   

3 2

1

3 x x x

D   

3 2

1

4 x x x

D   

3 2

1

5 x x x

D   

3 2

1

6 x x x

D   

x x

x

D   

) , ,

(x1 x2 x3 f

yyf (x1,x2, x3) Składniki jedności i czynniki zera funkcji trójargumentowych

(3)

3

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.

(4)

Łatwo zauważyć, że jakąkolwiek funkcję trójargumentową

(i analogicznie funkcje o innej liczbie argumentów) można zapisać w postaci:

7 7

6 6

5 5

4 4

3 3

2 2

1 1

0 0

3 2

1, , )

(

K y

K y

K y

K y

K y

K y

K y

K y

x x x y

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.

) (

) (

) (

) (

) (

) (

) (

) (

) , , (

7 7

6 6

5 5

4 4

3 3

2 2

1 1

0 0

3 2 1

D y

D y

D y

D y

D y

D y

D y

D y

x x x y

 lub w postaci

zwanej kanoniczną postacią koniunkcyjną danej funkcji.

(5)

5

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

5 1 0 1 1

6 1 1 0 1

7 1 1 1 1

Przykład – dana jest funkcja w postaci tablicy wartości

Kanoniczna postać alternatywna:

7 6

5 4

3 2

1 0

3 2 1

1 1

1 1

0 0

1 1

) , , (

K K

K K

K K

K K

x x x y

Po usunięciu składników o wartości 0

7 6

5 4

1 0

3 2

1, , )

(x x x K K K K K K

y      

Funkcję tę można przedstawić w postaci symbolicznej (liczbowej):

 0,1,4,5,6,7 )

, ,

(x1 x2 x3 y

3 2 1 3

2 1 3

2 1 3

2 1 3

2 1 3

2

1 x x x x x x x x x x x x x x x x x

x

y                  

Właściwym zapisem kanonicznej postaci alternatywnej danej funkcji jest:

(6)

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

5 1 0 1 1

6 1 1 0 1

7 1 1 1 1

Kanoniczna postać koniunkcyjna:

Po usunięciu czynników o wartości 1, otrzymuje się

Funkcję tę można przedstawić w postaci symbolicznej (liczbowej):

Właściwym zapisem kanonicznej postaci koniunkcyjnej danej funkcji jest:

) 1

( ) 1

( ) 1

( ) 1

( ) 0

(

) 0

( ) 1

( ) 1

( ) , , (

7 6

5 4

3

2 1

0 3

2 1

D D

D D

D

D D

D x

x x y

3 2

3 2

1, , )

(x x x D D

y  

 2,3 )

, ,

(x1 x2 x3 y

) (

)

(x1 x2 x3 x1 x2 x3

y      

(7)

7

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.

(8)

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.

2.5. Minimalizacja 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 a

b b a b

a b

a    (  )  1

gdzie: a reprezentuję jednakową część obu składników, b - zmienną różniącą się znakiem negacji.

(9)

9

Przykład:

2 1

3 2

1 3

2

1 ) ( )

(xxxxxxxx

2 1 3

2 1 3

2

1 x x x x x x x

x       

W przypadku minimalizacji kanonicznej postaci koniunkcyjnej, operacja sklejania polega na wykonaniu działań typu

a a

b b a

b a b

a  )(  )      0  (

gdzie: a reprezentuję jednakową część obu czynników, b - zmienną różniącą się znakiem negacji

Przykład:

Metoda minimalizacji polegająca na wykonywaniu kolejnych przekształceń pierwotnego zapisu funkcji w postaci kanonicznej nazywa się metodą przekształceń algebraicznych.

(10)

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.

(11)

11

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.

) ( 2 3 2 3

1 3

2 1 3

2

1 x x x x x x x x x x

x          

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.

) (

) (

) (

)

(x1x2x3x1x2x3x1x2x3x2x3 Operacje takie nazywane są faktoryzacją.

(12)

2.5.1. Minimalizacja metodą przekształceń algebraicznych

Zminimalizujmy funkcję zdefiniowaną w postaci tablicy wartości:

x1 x2 x3 y

0 0 0 1

0 0 1 1

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 1

1 1 1 1

Kanoniczna postać alternatywna funkcji ma postać

3 2 1 3

2 1

3 2 1 3

2 1 3

2 1 3

2 1

x x x x

x x

x x x x

x x x

x x x

x x y

2 1 2

1 2

1 3

2 1 3

2 1

3 2 1 3

2 1 3

2 1 3

2 1

x x x

x x

x x

x x x

x x

x x x x

x x x

x x x

x x y

 

 

 

 

 

 

Można w niej zauważyć pokazane możliwości sklejeń

W uzyskanym wyniku widoczna jest możliwość dalszego sklejania - środkowy składnik można skleić z pierwszym i z trzecim.

(13)

13

Korzystając z twierdzenia algebry Boole’a x + x = x ,środkowy składnik można traktować jakby wystąpił dwukrotnie. Zatem:

1 2

2 1 2

1 2

1 2

1

2 1 2

1 2

1 2

1 2

1 2

1 2

1

x x

x x x

x x

x x

x

x x x

x x

x x

x x

x x

x x

x y









Uzyskana postać funkcji jest postacią minimalną. y x2 x1 Kanoniczna postać koniunkcyjna rozważanej funkcji ma postać:

) (

)

(x1 x2 x3 x1 x2 x3

y      

Występujące w niej czynniki zera różnią się znakiem negacji przy zmiennej x3, zatem w rezultacie sklejenia obu czynników

otrzymuje się

1 2

2

1 x x x

x

y    

(14)

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 K0x1x2x3x4 1 oznacza K1x1x2x3x4

K0 i K1 można skleić; wynikiem sklejenia jest

3 2

1 1

0 K x x x

K    

(15)

15

zapisuje się w formie liczbowej, np.

K0 = 0000 , K1 = 0001; wynik sklejenia zapisuje się w formie K0 + K1 = 000-, co oznacza x1x2x3

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.

(16)

16

1111 1110 1101 1010 1001 1000 0101 0010 0001 0000

1111 1110 1101 1010 1001 0101 1000

0010 0001 0000

111 1 11

10 1

01 1

101 0 10 100

010 001 01 0

000 0 00 000

01 01

0 0 00

0 0 00

Przebieg procesu sklejania funkcji

 0,1,2,5,8,9,10,13,14,15 )

, , ,

(x1 x2 x3 x4 y

(17)

17

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ć:

) 01 (

) 0 0 ( ) 00 (

) 111 (

) 1 11 ( ) 10 1

(              

y

co oznacza, że

4 3 4

2 3

2 3

2 1 4

2 1 4

3

1 x x x x x x x x x x x x x x

x

y               

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ł.

(18)

18

Implikanty proste

Składniki jedności funkcji

0000 0001 0010 0101 1000 1001 1010 1101 1110 1111

1-10 v v

11-1 v v

111- * v v

-00- v v v v

-0-0 * v v v v

--01 * v v v v

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:

4 3 4

2 3

2

1 x x x x x x

x

y

(19)

19

2.5.3. Metoda tablic Karnaugha

Tablice Karnaugha są specyficzną formą tablic wartości funkcji. a) b)

3 2, x x

x1 00 01 11 10 0

1

y

Nr stanu argum. 1

x x2 x3 y

0 0 0 0

1 0 0 1

2 0 1 0

3 0 1 1

4 1 0 0

5 1 0 1

6 1 1 0

7 1 1 1 c)

3 2, x x

x1 00 01 11 10

0 0 1 3 2

1 4 5 7 6

y

Tablica zwykła dla funkcji trzyargumentowych

Tablica Karnaugha

Tablica Karnaugha z numerami stanu argumentów

(20)

20

W tablicach Karnaugha wartości zmiennej zależnej y są wpisywane w pola tablicy, odpowiadające wartościom argumentów wypisanych na obrzeżach tablicy.

Charakterystyczną cechą tablic Karnaugha jest to, że sąsiednie wartości stanów argumentów różnią się tylko jedną pozycją (wartości

argumentów są kolejnymi liczbami w kodzie Graya).

Dzięki temu, składniki jedności funkcji (albo czynniki zera) o numerach znajdujących się w polach sąsiednich można sklejać.

Polami sąsiednimi są np. pola 0 i 1, 0 i 2, 4 i 6, 0 i 4 itd.

a) b)

3 2, x x

x1 00 01 11 10

0 1

y

Nr stanu argum. 1

x x2 x3 y

0 0 0 0

1 0 0 1

2 0 1 0

3 0 1 1

4 1 0 0

5 1 0 1

6 1 1 0

7 1 1 1 c)

3 2, x x

x1 00 01 11 10

0 0 1 3 2

1 4 5 7 6

y

(21)

21

Przykład 1: minimalizacja postaci alternatywnej

3 2, x x

x1 00 01 11 10

0 1

0 1

1 0

3 0

2

1 0

4 0

5 0

7 0

6

y

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ć:

2 1 3

2 1 3

2 1 1

0 K x x x x x x x x

K

y          

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

2

00 x1 x y    

(22)

22

Przykład 2: minimalizacja postaci koniunkcyjnej

3 2, x x

x1 00 01 11 10

0 0

0 0

1 1

3 1

2

1 1

4 1

5 1

7 1

6

y

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ć.

2 1

3 2

1 3

2 1

1

0 D (x x x ) (x x x ) x x

D

y          

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 , co w przypadku postaci koniunkcyjnej odpowiada funkcji

 00 y

x x

y  

(23)

23

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

3 2, x x

x1 00 01 11 10

0 1

0 1

1 0

3 0

2

1 1

4 1

5 0

7 0

6

y

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 yx2

(24)

24

Przykład 4

Sąsiednimi parami jedynek, dającymi się skleić są także pary poziome.

3 2, x x

x1 00 01 11 10

0 1

0 1

1 1

3 1

2

1 0

4 0

5 0

7 0

6

y

Sklejając czwórkę jedynek lub czwórkę zer, otrzymuje się

x y

Dla funkcji trójargumentowych można także wykorzystywać tablice Karnaugha w układzie pionowym

x3 2 1, x

x 0 1

00

0 1

01

2 3

11

6 7

10

4 5

y

(25)

25

Tablice Karnaugha dla funkcji dwu- i czteroargumentowych

4 3, x x

2 1, x

x 00 01 11 10

00 0 1 3 2

01 4 5 7 6

11 12 13 15 14

10 8 9 11 10

y x2

x1 0 1

0 0 1

1 2 3

y

Tablice Karnaugha umożliwiają także minimalizację funkcji pięcio- i sześcioargumentowych.

(26)

26

Przykłady minimalizacji funkcji trójargumentowych

0 1 1 0

0 1 1 1

x2x3

x1 00 01 11 10

0 1

x3 x1 x2

2 1

3 x x

x

y

1 0 0 1

1 0 0 0

x2x3

x1 00 01 11 10 0

1

x3 x1 x2

) ( 1 2

3 x x

x

y   

0 1 1 0

0 1 0 0

x2x3

x1 00 01 11 10

0 1

2 x3

x x1 x3

1 3

2 x3 x x

x

y

1 0 0 1 1 0 1 1 x2x3

x1 00 01 11 10 0

1

2 x3

x x1 x3

) (

)

(x2 x3 x1 x3

y

(27)

27

Przykłady minimalizacji funkcji czteroargumentowych

1 1 0 0 1 1 0 1 0 0 1 0 1 1 1 1 x3x4

x1x2 00 01 11 10 00

01 11 10

2 4

1 x x

x  

3

1

x

x

x1 x2

4 3

1 x x

x  

1 2 3

1

4 3

4 1 1 2

x x x

x

x x

x x

x x

y

x1x2

0 0 1 1

0 0 1 0

1 1 0 1

0 0 0 0

x3x4

00 01 11 10

00 01 11 10

2

1 x

x x1 x2

2 4

1 x x

x

4 3

1 x x

x

) (

) (

) (

) (

1 2 3

1

4 3

4 1 1 2

x x

x x

x x

x x

x x

y

(28)

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.

 0,1,2,3,4,9,11(5,7,13,15) 6,8,10,12,14(5,7,13,15) )

, , ,

(x1 x2 x3 x4 y

Przeprowadźmy minimalizację tej funkcji z wykorzystaniem tablic Karnaugha.

(29)

29

1 1 1 1 1 - - 0

0 - - 0

0 1 1 0

x3x4

x1x2 00 01 11 10 00

01 11 10

y

Minimalizacja postaci alternatywnej

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

4 3

1 2

1 x x x x

x

y     

(30)

Minimalizacja postaci koniunkcyjnej

1 1 1 1 1 - - 0 0 - - 0 0 1 1 0 x3x4

x1x2 00 01 11 10 00

01 11

10

y

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.

) (

)

(x2 x3 x1 x4

y    

Cytaty

Powiązane dokumenty

Można więc dla takiej funkcji napisać formalnie

Musimy umieć zapisać funkcję kwadratową w postaci kanonicznej i na tej podstawie odczytać współrzędne wierzchołka i obliczyć miejsca zerowe.. Pierwszą część już robiliśmy

*** gdyby z wykresu należało odczytać gdzie funkcja przyjmuje wartości dodatnie, a gdzie ujemnie, konieczne byłoby obliczenie miejsc zerowych.

-wykresem funkcji kwadratowej jest parabola ( przypominająca minę smutną lub uśmiechniętą) -punkt, w którym funkcja kwadratowa się zaokrągla, to wierzchołek W.. - parabola

Prześledźcie przykład 6/179 z podrecznika przedstawiający rysowanie wykresu funkcji przedstawionej w postaci kanonicznej i na jego podstawie proszę o zrobienie ćw 11/181- jeden

• obliczyć punkt przecięcia wykresu funkcji z osią OY , czyli pod x wstawić 0, do wzoru danej funkcji Zobaczmy jak to wygląda na

 metoda graficzna – tablic Karnaugha (stosuje się ją do minimalizacji funkcji maksymalnie 6 zmiennych). Wiersze i kolumny tablicy opisane są zmiennymi wejściowymi funkcji

Zadanie 1. Napisz wzór funkcji kwadratowej w postaci iloczynowej, jeśli dana jest postać ogólna:. a) y= 3x 2 +3x