Wydział Informatyki

Katedra Systemów Komputerowych

Laboratorium Systemów Logicznych i Mikroprogramowalnych

Data: 27.10.2007

Ćwiczenie nr 1

Temat: Układy kombinacyjne

Zespół nr 5: Grupa nr 5

  1. Ana Vasilevska Spioch

  2. Wojciech Szabłowski

Prowadzący:

mgr inż. Wiktor Jakowluk

Ocena:

Zadanie nr 2

Znaleźć funkcję przełączającą, która będzie prezentować wyniki referendum wśród uczestników 5-osobowego zebrania. Głos przewodniczącego ma wartość 3 głosów pozostałych uczestników zebrania.

Przyjąć konwencję: 0 - głos „przeciw”, 1 - głos „za”.

Tablica prawdy utworzona na podstawie powyższego opisu słownego:

#

A

B

C

D

E

f

0

0

0

0

0

0

0

1

0

0

0

0

1

0

2

0

0

0

1

0

0

3

0

0

0

1

1

0

4

0

0

1

0

0

0

5

0

0

1

0

1

0

6

0

0

1

1

0

0

7

0

0

1

1

1

0

8

0

1

0

0

0

0

9

0

1

0

0

1

0

10

0

1

0

1

0

0

11

0

1

0

1

1

0

12

0

1

1

0

0

0

13

0

1

1

0

1

0

14

0

1

1

1

0

0

15

0

1

1

1

1

1

16

1

0

0

0

0

0

17

1

0

0

0

1

1

18

1

0

0

1

0

1

19

1

0

0

1

1

1

20

1

0

1

0

0

1

21

1

0

1

0

1

1

22

1

0

1

1

0

1

23

1

0

1

1

1

1

24

1

1

0

0

0

1

25

1

1

0

0

1

1

26

1

1

0

1

0

1

27

1

1

0

1

1

1

28

1

1

1

0

0

1

29

1

1

1

0

1

1

30

1

1

1

1

0

1

31

1

1

1

1

1

1

Funkcja wygenerowana za pomocą programu Multisim 7:

F=bcde+ab+ac+ad+ae

Projekt układu z elementów AND i OR powstały w programie Multisim 7:

0x01 graphic

Narysowana przez zespół wersja uproszczona:

0x01 graphic

Sprawdzenie otrzymanej postaci funkcji przy pomocy tablicy Karnaugha:

0x01 graphic

F=bcde+ab+ac+ad+ae

Minimalizacja funkcji metodą Quine'a-McCluskeya:

Zbiór argumentów, dla których funkcja przyjmuje wartość logiczną 1:

F1={15,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31}

Dla każdego z argumentów sprawdzamy w tablicy prawdy jego postać binarną - wektor. Grupujemy wektory o tej samej liczbie jedynek, szeregując je rosnąco (tabela A). Porównujemy każdą kombinację z danej grupy z każdą kombinacją należącą do grupy następnej i łączymy te, które różnią się tylko jednym bitem (tabela B). Wykorzystane wektory oznaczamy symbolem +. Z otrzymaną tabelą postępujemy tak, jak z poprzednią aż do wyczerpania się możliwych połączeń (tabele C i D). Każdą kombinację nie podlegającą dalszemu łączeniu uznajemy za implikant prosty.

tabela A tabela B

17

10001

+

18

10010

+

20

10100

+

24

11000

+

19

10011

+

21

10101

+

22

10110

+

25

11001

+

26

11010

+

28

11100

+

15

01111

+

23

10111

+

27

11011

+

29

11101

+

30

11110

+

31

11111

+

17 i 19

100*1

+

17 i 21

10*01

+

17 i 25

1*001

+

18 i 19

1001*

+

18 i 22

10*10

+

18 i 26

1*010

+

20 i 21

1010*

+

20 i 22

101*0

+

20 i 28

1*100

+

24 i 25

1100*

+

24 i 26

110*0

+

24 i 28

11*00

+

19 i 23

10*11

+

19 i 27

1*011

+

21 i 23

101*1

+

21 i 29

1*101

+

22 i 23

1011*

+

25 i 27

110*1

+

25 i 29

11*01

+

26 i 27

1101*

+

26 i 30

11*10

+

28 i 29

1110*

+

28 i 30

111*0

+

15 i 31

*1111

bcde

23 i 31

1*111

+

27 i 31

11*11

+

29 i 31

111*1

+

30 i 31

1111*

+

tabela C

(17 i 19) i (21 i 23)

10**1

+

(17 i 21) i (19 i 23)

(17 i 19) i (25 i 27)

1*0*1

+

(17 i 25) i (19 i 27)

(17 i 21) i (25 i 29)

1**01

+

(17 i 25) i (21 i 29)

(18 i 19) i (22 i 23)

10*1*

+

(18 i 22) i (19 i 23)

(18 i 19) i (26 i 27)

1*01*

+

(18 i 26) i (19 i 27)

(18 i 22) i (26 i 30)

1**10

+

(20 i 21) i (22 i 23)

101**

+

(20 i 22) i (21 i 23)

(20 i 21) i (28 i 29)

1*10*

+

(20 i 28) i (21 i 29)

(20 i 22) i (28 i 30)

1*1*0

+

(24 i 25) i (26 i 27)

110**

+

(24 i 26) i (25 i 27)

(24 i 25) i (28 i 29)

11*0*

+

(24 i 28) i (25 i 29)

(24 i 26) i (28 i 30)

11**0

+

(24 i 28) i (26 i 30)

(19 i 23) i (27 i 31)

1**11

+

(19 i 27) i (23 i 31)

(21 i 23) i (29 i 31)

1*1*1

+

(21 i 29) i (23 i 31)

(22 i 23) i (30 i 31)

1*11*

+

(25 i 27) i (29 i 31)

11**1

+

(25 i 29) i (27 i 31)

(26 i 27) i (30 i 31)

11*1*

+

(26 i 30) i (27 i 31)

(28 i 29) i (30 i 31)

111**

+

(28 i 30) i (29 i 31)

tabela D

((17 i 19) i (21 i 23)) i ((25 i 27) i (29 i 31))

1***1

ae

((17 i 19) i (25 i 27)) i ((21 i 23) i (29 i 31))

((17 i 21) i (25 i 29)) i ((19 i 23) i (27 i 31))

((18 i 19) i (22 i 23)) i ((26 i 27) i (30 i 31))

1**1*

ad

((20 i 21) i (22 i 23)) i ((28 i 29) i (30 i 31))

((20 i 21) i (28 i 29)) i ((22 i 23) i (30 i 31))

((20 i 21) i (22 i 23)) i ((28 i 29) i (30 i 31))

1*1**

ac

((20 i 21) i (28 i 29)) i ((22 i 23) i (30 i 31))

((20 i 22) i (28 i 30)) i ((21 i 23) i (29 i 31))

((24 i 25) i (26 i 27)) i ((28 i 29) i (30 i 31))

11***

ab

((24 i 25) i (28 i 29)) i ((26 i 27) i (30 i 31))

((24 i 26) i (28 i 30)) i ((25 i 27) i (29 i 31))

Tworzymy tablicę, w której wiersze odpowiadają otrzymanym implikantom prostym, a kolumny - argumentom zbioru F1:

0x01 graphic

Oznaczamy wszystkie kolumny z jednym znakiem +, odpowiadające im implikanty uznajemy za niezbędne, postacią minimalną naszej funkcji jest więc suma następujących implikantów: F=bcde+ab+ac+ad+ae

Wnioski:

Zespół rozwiązał zadanie trzema sposobami: posługując się programem Multisim 7, korzystając z tablicy Karnaugha oraz metodą Quine'a-McCluskeya. W każdym przypadku otrzymany wynik był identyczny.

3