Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты ЭлтеХ.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
19.26 Mб
Скачать

5. Простейшие логические функции. Таблица истинности для функции 2-х переменных. Логическая функция инвертирования

Таблица 1. Таблица истинности функции логического инвертирования

In

Out

0

1

1

0

В качестве логического инвертора можно использовать обычный транзисторный усилитель с транзистором, включенном по схеме с общим эмиттером или истоком. Схема, выполненная на биполярном n-p-n транзисторе, позволяющая реализовать функцию логического инвертирования приведена на рисунке 1.

Рисунок 1. Схема, позволяющая реализовать функцию логического инвертирования

Схемы логических инверторов могут обладать различным временем распространения цифрового сигнала и могут работать на различные виды нагрузки. Они могут быть выполнены на одном или на нескольких транзисторах, но независимо от схемы и её параметров они осуществляют одну и ту же логическую функцию.

Рисунок 2. Условно-графическое изображение логического инвертора

Перечислим 7 важнейших функций:

1) Конъюнкция (функция и)

Заметим, что конъюнкция – это фактически обычное умножение (нулей и единиц). Иногда эту функцию обозначают x&y или xy;

Проще всего понять как работает логический элемент"2И", реализующий логическую функцию умножения, при помощи схемы, построенной на идеализированных ключах с электронным управлением, как это показано на рисунке 3. В этой схеме ток будет протекать только тогда, когда оба ключа будут замкнуты, следовательно, единичный уровень напряжения на выходе данной схемы появится только при двух логических единицах на входах идеализированных электронных ключей.

Рисунок 3. Принципиальная схема, реализующая логическую функцию "2И"

Рисунок 4. Условно-графическое изображение схемы, выполняющей логическую функцию "2И"

2) Дизъюнкция (функция или)

Как и в случае, рассмотренном для схемы логического умножения, воспользуемся для реализации схемы "2ИЛИ" идеализированными электронными ключами. На этот раз соединим ключи параллельно. Схема, реализующая логическую функцию "2ИЛИ" (см. таблицу истинности 4), приведена на рисунке 5. Как видно из приведённой схемы уровень логической единицы появится на её выходе, как только будет замкнут любой из ключей, то есть схема реализует таблицу истинности, приведённую в таблице 4.

Рисунок 6. Принципиальная схема, реализующая логическую функцию "2ИЛИ"

Рисунок 7. Условно-графическое изображение схемы, выполняющей логическую функцию "2ИЛИ"

3) импликация (следование)

Иногда импликацию обозначают xy или x  y    (читается “из x следует y”).

4) сложение по модулю 2 (здесь и далее, если не оговорено противное, знаком “+” мы будем обозначать такое сложение):

5) эквивалентность или подобие

Эта f9 = 1 тогда и только тогда, когда х = у. Заметим, что будем применять оба обозначения: ху (в основном при изучении функций) и х~ у (когда речь будет идти о логических операциях);

6) штрих Шеффера

Иногда эту функцию называют “не и” (так как она равна отрицанию конъюнкции);

7) стрелка Пирса (иногда эту функцию называют штрих Лукасевича)

Эта функция является отрицанием дизъюнкции и поэтому иногда ее называют “не или”.

6. Карта Карно

Главные принципы от Тони:

  1. КНФ – сморим в таблице 1, ДНФ – 0;

  2. ищем те значения переменной х, которые не меняются в выбранной области;

  3. если это значение 0, то при записи результата ставим инверсию.

  4. при шести – составном результате на рисунке схемы записывается через два элемента, т.к. шести-входового элемента нет.(?)

Карта Карно́ — способ минимизации переключательных (булевых) функций. Основным методом минимизации логических функций, представленных в виде СДНФ или СКНФ, является операция попарного неполного склеивания и элементарного поглощения.

Исходной информацией для работы с картой Карно является таблица истинности минимизируемой функции. Таблица истинности содержит полную информацию о логической функции, задавая её значения на всех возможных 2N наборах входных переменных X1 ... XN. Карта Карно также содержит 2N клеток, каждая из которых ассоциируется с уникальным набором входных переменных X1 ... XN. Таким образом, между таблицей истинности и картой Карно имеется взаимно однозначное соответствие, и карту Карно можно считать соответствующим образом отформатированной таблицей истинности.

В данном разделе в качестве примера используется функция четырёх переменных, заданная таблицей истинности, изображённой на рис. 2а. Карта Карно для той же функции изображена на рис. 2б.

Рис. 2. Пример работы с картой Карно

Принципы склейки

  • Склейку клеток карты Карно можно осуществлять по единицам (если необходимо получить ДНФ) или по нулям (если требуется КНФ).

  • Склеивать можно только прямоугольные области с числом единиц (нулей) 2n, где n — целое число. Для карт Карно с числом переменных более четырёх могут получаться более сложные области, о чём будет сказано в следующих разделах.

  • Область, которая подвергается склейке, должна содержать только единицы (нули).

  • Крайние клетки каждой горизонтали и каждой вертикали также граничат между собой (топологически карта Карно для четырёх переменных представляет собой тор) и могут объединяться в прямоугольники. Следствием этого правила является смежность всех четырёх угловых ячеек карты Карно для N=4. Если во всех четырёх угловых ячейках стоят единицы (нули) они могут быть объединены в квадрат, как показано на рис. 2в.

  • Все единицы (нули) должны попасть в какую-либо область.

  • С точки зрения минимальности ДНФ (КНФ) число областей должно быть как можно меньше (каждая область представляет собой терм), а число клеток в области должно быть как можно больше (чем больше клеток в области, тем меньше переменных содержит терм. Терм размером 2n ячеек содержит Nn переменных).

  • Одна ячейка карты Карно может входить сразу в несколько областей. Это следует из очевидного свойства булевых функций: повторение уже существующего слагаемого (сомножителя) не влияет на функцию:

  • В отличие от СДНФ (СКНФ), ДНФ (КНФ) не единственны. Возможно несколько эквивалентных друг другу ДНФ (КНФ), которые соответствуют разным способам покрытия карты Карно прямоугольными областями.

Описание

Карта Карно может быть составлена для любого количества переменных, однако удобно работать при количестве переменных не более пяти. По сути Карта Карно — это таблица истинности составленная в 2-х мерном виде. Благодаря использованию кода Грея в ней верхняя строка является соседней с нижней, а правый столбец соседний с левым, т.о. вся Карта Карно сворачивается в фигуру тор (бублик). На пересечении строки и столбца проставляется соответствующее значение из таблицы истинности. После того как Карта заполнена, можно приступать к минимизации.

Если необходимо получить минимальную ДНФ, то в Карте рассматриваем только те клетки которые содержат единицы, если нужна КНФ, то рассматриваем те клетки, которые содержат нули. Сама минимизация производится по следующим правилам (на примере ДНФ):

  1. Объединяем смежные клетки, содержащие единицы, в область так, чтобы одна область содержала ( целое число = 0… ) клеток (помним про то, что крайние строки и столбцы являются соседними между собой), в области не должно находиться клеток, содержащих нули;

  2. Область должна располагаться симметрично оси(ей) (оси располагаются через каждые четыре клетки);

  3. Несмежные области, расположенные симметрично оси(ей), могут объединяться в одну;

  4. Область должна быть как можно больше, а количество областей как можно меньше;

  5. Области могут пересекаться;

  6. Возможно несколько вариантов покрытия.

Далее берём первую область и смотрим, какие переменные не меняются в пределах этой области, выписываем конъюнкцию этих переменных; если неменяющаяся переменная нулевая, проставляем над ней инверсию. Берём следующую область, выполняем то же самое, что и для первой, и т. д. для всех областей. Конъюнкции областей объединяем дизъюнкцией. Например (для Карт на 2 переменные):

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

В формате КНФ:

Так же из ДНФ в КНФ и обратно можно перейти использовав Законы де Моргана.

Примеры

Пример 1

У мальчика Коли есть мама, папа, дедушка и бабушка. Коля пойдёт гулять на улицу, если ему разрешат хотя бы двое родственников. Для краткости обозначим родственников Коли через буквы: мама — х1 папа — х2 дедушка — х3 бабушка — х4 Условимся обозначать согласие родственников единицей, несогласие - нулём. Возможность пойти погулять обозначим буквой f, Коля идёт гулять — f = 1, Коля гулять не идёт — f = 0. Составим таблицу истинности:

Перерисуем таблицу истинности в 2-х мерный вид: Переставим в ней строки и столбцы в соответствии с кодом Грея. Получили Карту Карно:

Заполним её значениями из таблицы истинности: Минимизируем в соответствии с правилами:

  1. 1. Все области содержат 2^n клеток;

  2. 2. Так как Карта Карно на четыре переменные, оси располагаются на границах Карты и их не видно (подробнее смотри пример Карты на 5 переменных);

  3. 3. Так как Карта Карно на четыре переменные, все области симметрично осей — смежные между собой (подробнее смотри пример Карты на 5 переменных);

  4. 4. Области S3, S4, S5, S6 максимально большие;

  5. 5. Все области пересекаются (необязательное условие);

  6. 6. В данном случае рациональный вариант только один.

Теперь по полученной минимальной ДНФ можно построить логическую схему:

Из-за отсутствия в наличии шести-входового элемента ИЛИ, реализующего функцию дизъюнкции, пришлось каскадировать пяти- и двух-входовые элементы(D7, D8). Составим мин. КНФ: