Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка КДМ ODM_ch1_2013-2014.doc
Скачиваний:
15
Добавлен:
03.03.2016
Размер:
1.35 Mб
Скачать

Метод Мак-Класки минимизации булевых функций

Метод Мак-Класки - модификация первого этапа метода Квайна.

Шаг 1.Всем минитермам ставим в соответствие их двоичный эквивалент.

Шаг 2.Все номера-минитермы разбиваем на группы по числу единиц в этих номерах.

Шаг 3.Все минитермы сравниваются между собой попарно.

Попарное сравнение можно производить только между соседними группами, т.к. только эти группы отличаются для входящих в них минитермов в одном разряде.

Шаг 4.Преобразование новых минитермов:

В разрядах, соответствующих исключенным переменным, ставим черточку. Такая модификация удобна еще и отсутствием громоздкой записи.

Шаг 5.Строим таблицу и расставляем метки, как и в методе Квайна (п.2).

Шаг 6.Далее минимизация проводится по таблице как и в методе Квайна (п.3-6).

Например:

Задана функция f(x1,x2,x3,x4,), которая равна единице на наборах с номерами – 0, 1, 2, 3, 4, 6, 7, 8, 9, 11, 15.

Минимизировать ее методом Квайна - Мак-Класки.

Решение:

  1. Построим двоичные наборы, на которых задана функция.

№ набора

Наборы

f (x 1,x 2,x 3,x4)

0

0000

1

1

0001

1

2

0010

1

3

0011

1

4

0100

1

5

0101

0

6

0110

1

7

0111

1

8

1000

1

9

1001

1

10

1010

0

11

1011

1

12

1100

0

13

1101

0

14

1110

0

15

1111

1

  1. Разобьем минитермы на группы по числу единиц.

0000* ------------------------------ – нулевая группа

0001*, 0010*, 0100*, 1000* --- – первая группа

0011*, 0110*, 1001* ------------ – вторая группа

0111*, 1011* --------------------- – третья группа

1111* ------------------------------ – четвертая группа

  1. Сравним все минитермы попарно между собой, и произведем преобразование. Полученные минитермы также разобьем на группы.

000_*, 00_0*, 0_00*, _000* ----------------- – нулевая группа

00_1*, _001*, 001_*, 0_10*, 01_0*, 100_* – первая группа

0_11*, _011*, 011*_, 10_1* ----------------- – вторая группа

_111*, 1_11* ----------------------------------- – третья группа

  1. Продолжим сравнение и преобразование минитермов до тех пор пока преобразование станет невозможным.

00_ _, _00_, 0__0 ----------------нулевая группа

_0_1, 0_1_ ------------------------ первая группа

_ _11 ------------------------------- – вторая группа

  1. Построим таблицу и расставим метки.

0000

0001

0010

0011

0100

0110

0111

1000

1001

1011

1111

00_ _

_00_

0_ _0

_0_1

0_1_

_ _11

  1. Проведем преобразования таблицы (п. 3-6 метода Квайна).

Вычеркиваем столбцы, соответствующие существенным импликантам и отметим (●) столбцы минитермов, покрываемых ими.

1

2

3

●1

●2

●1

●3

●1

●1

●3

●2

●2

●3

●3

0000

0001

0010

0011

0100

0110

0111

1000

1001

1011

1111

00__

_00_

0__0

_0_1

0_1_

__11

  1. Выберем совокупность первичных импликант, которая включает метки во всех столбцах (по крайней мере по 1 в каждом столбце).

В результате получаем