Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦС Комбинационные схемы.pdf
Скачиваний:
284
Добавлен:
30.03.2015
Размер:
2.7 Mб
Скачать

Комбинационные схемы

ук

 

 

 

 

 

 

 

 

 

е5е6

00

01

11

10

 

00

01

11

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00

0

4

12

8

 

32

36

44

40

 

 

 

 

 

 

 

 

 

 

 

 

01

1

5

13

9

 

33

37

45

41

 

 

 

 

 

 

 

 

 

 

 

ц=0

11

3

7

15

11

 

35

39

47

43

 

 

 

 

 

 

 

 

 

 

 

 

 

10

2

6

14

10

 

34

38

46

42

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00

16

20

28

24

 

48

52

60

56

 

01

 

 

 

 

 

 

 

 

 

 

17

21

29

25

 

49

53

61

57

 

 

 

 

 

 

 

 

 

 

 

ц=1

11

19

23

31

27

 

51

55

63

59

 

 

 

 

 

 

 

 

 

 

 

 

 

10

18

22

30

26

 

50

54

62

58

 

 

 

 

 

 

 

 

 

 

 

 

й=0 й=1

Рис. 3.9

Аналогично можно построить карты Карно и для функций большего числа аргументов, но они становятся очень сложными, поэтому находить соседние клетки и проводить склеивания с их помощью становится трудно.

3.2.2. Минимизация с помощью карт Карно

Соседние клетки в карте Карно соответствуют соседним наборам аргументов. Это позволяет проводить склеивания прямо по карте с помощью специальных обозначений – прямоугольников накрытия. Пусть функция равна 1 на наборах 5 (0101) и 13 (1101). Минтермы этих наборов запишутся так:

фцвкмйцвк

(3.1)

Их можно склеить, в результате получаем:

 

цвк

(3.2)

На карте Карно операцию склеивания двух минтермов обозначают прямоугольником, который накрывает две клетки, соответствующие этим минтермам (рис. 3.10). Этому прямоугольнику накрытия соответствует конъюнкция (3.2). Таким образом можно построить прямоугольники, накрывающие две соседние клетки, в которых стоят 1, и записать для них конъюнкции.

45

Цифровая схемотехника

йц ук 00 01 11 10

00

01

1

1

11

10

Рис. 3.10

Пусть функция равна 1 еще на двух наборах: 7 (0111) и 15 (1111), для которых можно записать минтермы и склеить:

фцукмйцукъцук

(3.3)

На карте Карно нарисуем еще один прямоугольник накрытия (рис. 3.11, а). Но полученные две конъюнкции третьего ранга (3.2 и 3.3) являются соседними, и их тоже можно склеить:

цвкмцукъцк

(3.4)

Прямоугольники на карте будем называть соседними, если для

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

йц

 

 

 

йц

 

 

 

ук 00

01

11 10

ук 00

01

11 10

00

 

 

 

 

00

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

01

 

1

1

 

01

 

1

1

 

 

 

 

 

 

 

 

 

 

 

11

 

1

1

 

11

 

1

1

 

10

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а)

 

 

 

 

б)

 

 

Рис. 3.11

Попарные склеивания прямоугольников можно продолжать и далее (если в соответствующих клетках стоят 1) и построить прямоугольники накрытия, содержащие 8, 16 и т.д. (для больших карт Карно) клеток. Прямоугольники могут быть вытянутыми горизонтально, верти-

46

Комбинационные схемы

кально, квадратными, «разорванными». Различные варианты прямоугольников накрытия приведены на рис. 3.12.

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

Чтобы соседние клетки всегда стояли рядом, карты приходится сворачивать в цилиндр по горизонтали или по вертикали. Например, у карты Карно для четырех аргументов левый столбец – соседний правому, а верхняя строка – соседняя нижней. Поэтому прямоугольники, накрывающие соседние клетки, могут быть «разорванными» (рис. 3.12, в и г).

Если у клетки нет соседних клеток с единичным значением функции, то прямоугольник накрывает только одну эту клетку (рис. 3.12, г).

йц

 

 

 

йц

 

 

 

ук

00

01

11

10

ук

00

01

11

10

00

 

 

1

 

00

 

 

 

 

01

1

1

1

1

01

1

1

1

1

11

 

 

1

 

11

1

1

1

1

10

 

 

1

 

10

 

 

1

 

 

 

а)

 

 

 

 

б)

 

 

йц

 

 

 

йц

 

 

 

ук

00

01

11

10

ук

00

01

11

10

00

 

1

1

 

00

1

 

 

1

01

1

 

 

1

01

 

1

 

 

11

1

 

 

1

11

 

 

 

 

10

 

1

1

 

10

1

 

 

1

 

 

в)

 

 

 

 

г)

 

 

 

 

 

 

 

Рис. 3.12

 

 

 

 

Для любого прямоугольника накрытия можно записать соответствующую ему конъюнкцию по следующему правилу:

47

Цифровая схемотехника

Если аргумент функции входит во все клетки прямоугольника накрытия как 1, то он пишется без отрицания;

если аргумент входит во все клетки прямоугольника как 0, то он пишется с отрицанием;

если аргумент меняет свое значение при переходе из одной клетки прямоугольника в другую, то он не пишется.

Чтобы записать ДНФ функции, надо для каждого прямоугольника накрытия записать конъюнкцию и объединить эти конъюнкции знаками дизъюнкции. Для функций, изображенных на рис. 3.12, получим:

шъйцмвк

(рис.3.12 а)

щъкмйцу

(рис.3.12 б)

зъцамык

(рис.3.12 в)

хъыамфцвк

(рис.3.12 г)

Чем больше прямоугольник накрытия, тем меньше ранг конъюнкции, ему соответствующей. Чем меньше количество прямоугольников, тем меньше самих конъюнкций. Следовательно, чтобы найти МДНФ, нужно накрыть все единицы карты Карно наименьшим числом самых больших прямоугольников. Однако построение больших прямоугольников не всегда целесообразно. Например, для функции, изображенной на рис. 3.13, «квадратный» прямоугольник (рис. 3.13, а) оказывается лишним. Если построить прямоугольники для всех оставшихся клеток (рис. 3.13, б), то видно, что все единицы «квадратного» прямоугольника входят в другие прямоугольники, т.е. его можно убрать. Чтобы избежать подобных ситуаций, лучше начинать делать накрытия тех единиц, для которых прямоугольники строятся однозначно.

йц

 

 

йц

 

 

ук

00

01

11 10

ук

00

01

11 10

00

1

1

1

00

1

1

1

01

1

1

1

01

1

1

1

11

 

1

 

11

 

1

 

10

1

 

 

10

1

 

 

 

 

а)

 

 

 

б)

 

 

 

 

 

Рис. 3.13

 

 

 

48

Комбинационные схемы

При минимизации приходится анализировать различные варианты накрытий. Например, для функции трех аргументов

г(йцу)ър(1,2,3,4,5,6)

можно сделать несколько вариантов накрытий, два из которых приведены на рис. 3.14.

йц

 

 

 

 

йц

 

 

 

 

у

00

01

11

10

 

у

00

01

 

11

10

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

1

1

1

 

0

 

1

 

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

1

 

1

 

1

1

1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а)

 

 

 

 

 

б)

 

 

 

 

 

 

 

 

Рис. 3.14

 

 

 

 

 

 

Им соответствуют функции:

 

 

 

 

 

 

 

г(йцу)ъфумфцмйвмйы

 

(рис.3.14 а)

 

г(йцу)ъфумцвмйы

 

 

(рис.3.14 б)

Второй вариант – это МДНФ функции.

Общие правила минимизации функций с помощью карт Карно:

1.Все клетки с единичным значением должны быть накрыты прямоугольниками.

2.Клетки с нулевым значением не должны входить в прямоуголь-

ники .

3.Число клеток в прямоугольнике должно быть кратным 2k, где k = 0, 1, 2, …

4.Прямоугольники могут перекрываться.

5.Прямоугольники могут быть «разорванными».

6.Выгоднее строить прямоугольники большего размера.

7.В каждом прямоугольнике должна быть хотя бы одна клетка, не входящая ни в какой другой прямоугольник.

8.МДНФ находится путем анализа различных вариантов накрытий

ивыбора среди них такого варианта, в котором все единицы карты Карно накрыты наименьшим числом самых больших прямоугольников.

9.Чтобы аналитически записать МДНФ функции, необходимо для каждого прямоугольника записать соответствующую ему конъюнкцию и объединить их знаками дизъюнкции.

49

Цифровая схемотехника

Функции пяти и более аргументов минимизируются с помощью больших карт Карно по этим же правилам. Однако находить в них соседние клетки и строить прямоугольники накрытия сложнее, т.к. приходится выходить за пределы плоскости.

Например, у функции

г(й,ц,у,к,е5)ър(6,7,8,12,14,15,16,20,22,23,30,31)

прямоугольники накрытия строятся так (рис. 3.15):

 

цу

 

 

 

 

 

 

 

ке5

00

01

11

10

00

01

11

10

 

 

00

 

1

1

1

1

 

 

 

01

 

 

 

 

 

 

 

 

11

1

1

 

 

1

1

 

 

10

1

1

 

 

1

1

 

й=0 й=1

Рис. 3.15

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

Рис. 3.16

У каждой из четырех клеток прямоугольника в верхней квадратной карте есть соседняя клетка в соответствующем прямоугольнике нижней квадратной карты, поэтому они – соседние. Два соседних прямоугольника из разных квадратных карт можно объединить в один прямоугольник, накрывающий восемь клеток. Чтобы это показать, соеди-

50