Как составить схему логической функции на логических элементах

Как составить схему логической функции на логических элементах
Как составить схему логической функции на логических элементах
Как составить схему логической функции на логических элементах
Как составить схему логической функции на логических элементах

Логические основы компьютерной техники

Информация (данные, машинные команды и т. д.) в компьютере представлена в двоичной системе счисления, в которой используется две цифры – 0 и 1. Электрический сигнал, проходящий по электронным схемам и соединительным проводникам (шинам) компьютера, может принимать значения 1 (высокий уровень электрического напряжения) и 0 (низкий уровень электрического напряжения) и рассматривается как импульсный сигнал, который математически может быть описан в виде двоичной переменной, принимающей также значения 0 или 1. Для решения различных логических задач, например, связанных с анализом и синтезом цифровых схем и электронных блоков компьютера, широко используются логические функции и логические операции с двоичными переменными, которые называются также логическими переменными.

Логические переменные изучаются в специальном разделе математики, который носит название алгебры логики (высказываний), или булевой алгебры. Булева алгебра названа по имени английского математика Джорджа Буля (1815–1864), внесшего значительный вклад в разработку алгебры логики. Предметом изучения алгебры логики являются высказывания, при этом анализу подвергается истинность или ложность высказываний, а не их смысловое содержание. Простые высказывания в алгебре логики обозначаются заглавными латинскими буквами: А, В, С, D,… и т. д. Составные высказывания на естественном языке образуются с помощью союзов. В алгебре логики эти союзы заменяются логическими операциями. В соответствии с алгеброй логики любое составное высказывание можно рассматривать как логическую функцию F(А, В, С, …), аргументами которой являются логические переменные А, В, С… (простые высказывания). Логические функции и логические переменные (аргументы) принимают только два значения: «истина», которая обозначается логической единицей – 1 и «ложь», обозначаемая логическим нулем – 0. Логическую функцию называют также предикатом.

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

1. Логическая операция ИНВЕРСИЯ (отрицание). В естественных языках соответствует словам неверно, ложь или частице не, в языках программирования обозначается Not, в алгебре логики обозначается

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

Математическая запись данной операции для логической переменной А будет иметь вид:

2. Логическая операция КОНЪЮНКЦИЯ (логическое умножение). В естественных языках соответствует союзу и, в языках программирования обозначается And, в алгебре логики обозначается & .

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

Математическая запись данной операции для логических переменных Д В, С, … будет иметь вид:

F = A & B & C & …

3. Логическая операция ДИЗЪЮНКЦИЯ (логическое сложение). В естественных языках соответствует союзу или, в языках программирования обозначается Or, в алгебре логики обозначается V.

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

Математическая запись данной операции для логических переменных A, В, С, … будет иметь вид:

F = AvBvC…

4. Логическая операция ИМПЛИКАЦИЯ (логическое следование). В естественных языках соответствует обороту речи, если…, то …, в языках программирования обозначается If, в алгебре логики обозначается  ?.

Импликация каждым простым высказываниям ставит в соответствие составное высказывание, являющееся ложным тогда и только тогда, когда первое высказывание истинно, а второе высказывание ложно.

Математическая запись данной операции для двух логических переменных А и В будет иметь вид:

F = A?B.

5. Логическая операция ЭКВИВАЛЕНЦИЯ (логическая равнозначность). В естественных языках соответствует обороту речи тогда и только тогда, в алгебре логики обозначается ?.

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

Математическая запись данной операции для логических переменных A, В, С… будет иметь вид:

F = A?B?C?…

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

Для простоты записи приведем основные законы алгебры логики для двух логических переменных А и В. Эти законы распространяются и на другие логические переменные.

1. Закон противоречия:

2. Закон исключенного третьего:

3. Закон двойного отрицания:

4. Законы де Моргана:

5. Законы повторения: A & A = A; A v A = A; В & В = В; В v В = В.

6. Законы поглощения: A ? (A & B) = A; A & (A ? B) = A.

7. Законы исключения констант: A ? 1 = 1; A ? 0 = A; A & 1 = A; A & 0 = 0; B ? 1 = 1; B ? 0 = B; B & 1 = B; B & 0 = 0.

8. Законы склеивания:

9. Закон контрапозиции: (A ? B) = (B ? A).

Для логических переменных справедливы и общематематические законы. Для простоты записи приведем общематематические законы для трех логических переменных A, В и С:

1. Коммутативный закон: A & B = B & A; A ? B = B ? A.

2. Ассоциативный закон: A & (B & C) = (A & B) & C; A ? (B ? C) = (A ? B) ? C.

3. Дистрибутивный закон: A & (B ? C) = (A & B) ? (A & C).

Как уже отмечалось, с помощью законов алгебры логики можно производить равносильные преобразования логических выражений с целью их упрощения. В алгебре логики на основе принятого соглашения установлены следующие правила (приоритеты) для выполнения логических операций: первыми выполняются операции в скобках, затем в следующем порядке: инверсия (отрицание), конъюнкция ( & ), дизъюнкция (v), импликация (?), эквиваленция (?)

Выполним преобразование, например, логической функции

применив соответствующие законы алгебры логики.

Соотношения между логическими переменными и логическими функциями в алгебре логики можно отобразить также с помощью соответствующих таблиц, которые носят название таблиц истинности. Таблицы истинности находят широкое применение, поскольку наглядно показывают, какие значения принимает логическая функция при всех сочетаниях значений ее логических переменных. Таблица истинности состоит из двух частей. Первая (левая) часть относится к логическим переменным и содержит полный перечень возможных комбинаций логических переменных А, В, С… и т. д. Вторая (правая) часть этой таблицы определяет выходные состояния как логическую функцию от комбинаций входных величин.

Например, для логической функции F = A v B v C (дизъюнкции) трех логических переменных А, В, и С таблица истинности будет иметь вид, показанный на рис. 4.1. Для записи значений логических переменных и логической функции данная таблица истинности содержит 8 строк и 4 столбца, т. е. число строк для записи значений аргументов и функции любой таблицы истинности будет равно 2n, где п – число аргументов логической функции, а число столбцов равно п + 1.

Рис. 4.1. Таблица истинности для логической функции F = A v В v С

Таблицу истинности можно составить для любой логической функции, например, на рис. 4.2 приведена таблица истинности логической функции F = A ? B ? C (эквиваленции).

Логические функции имеют соответствующие названия. Для двух двоичных переменных существует шестнадцать логических функций, названия которых приведены ниже. На рис. 4.3 представлена таблица, в которой приведены логические функции F1, F2, F3, … , F16 двух логических переменных A и В.

Функция F1 = 0 и называется функцией константы нуля, или генератора нуля.

Рис. 4.2. Таблица истинности для логической функции F = A ? B ? C


Рис. 4.3. Логические функции F1, F2, F3,… F16 двух аргументов А и В

Функция F2 = A & B называется функцией конъюнкции.

Функция

называется функцией запрета по логической переменной А.

Функция F4 = А называется функцией повторения по логической переменной А.

Функция

называется функцией запрета по логической переменной В.

Функция F6 = В называется функцией повторения по логической переменной В.

Функция

называется функцией исключающее «ИЛИ».

Функция F8 = A v В называется функцией дизъюнкции.

Функция

называется функцией Пирса.

Функция

называется функцией эквиваленции.

Функция

называется функцией отрицания (инверсии) по логической переменной В.

Функция F12 = B ? A называется функцией импликации B ? A.

Функция

называется функцией отрицания (инверсии) по логической переменной А.

Функция F14 = A ? B называется функцией импликации A ? B.

Функция

называется функцией Шеффера.

Функция F16 = 1 называется функцией генератора 1.

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

Логические функции, с помощью которых можно выразить другие логические функции методом суперпозиции, называются базовыми логическими функциями. Такой набор базовых логических функций называется функционально полным набором логических функций. На практике наиболее широко в качестве такого набора используют три логических функции: конъюнкцию, дизъюнкцию и отрицание. Если логическая функция представлена с помощью базовых функций, то такая форма представления называется нормальной. В предыдущем примере логическая функция Шеффера, выраженная через базовые функции, представлена в нормальной форме.

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

В настоящее время существует достаточно много программных продуктов, с помощью которых можно реализовать различные логические функции и форму их представления, например в виде таблиц истинности. Логические функции широко используются и в программе MS Excel. Для вызова этих функций необходимо выполнить следующие команды: [Кнопка Пуск – Программы – MS Office ХР – Microsoft Excel] и далее команду: [Вставка – Функция]. В открывшемся окне (рис. 4.4) «Мастер функций – шаг 1 из 2», выберем: «Категория: „Логические“ и далее можно выбрать необходимую логическую функцию: ЕСЛИ, И, ИЛИ, ИСТИНА, ЛОЖЬ, НЕ. В этом же окне можно получить справку по каждой из этих функций.

Рис. 4.4. Диалоговое окно «Мастер функций – шаг 1 из 2»

Как видно из рис. 4.4, в состав логических функций программы MS Excel входит функционально полный набор логических функций, состоящий из следующих логических функций: И (конъюнкция), ИЛИ (дизъюнкция), НЕ (отрицание). Таким образом, с помощью функционально полного набора логических функций программы MS Excel можно реализовать другие функции. Логическая функция ЕСЛИ (импликация), также входящая в логические функции MS Excel, выполняет логическую проверку и в зависимости от результата проверки выполняет одно из двух возможных действий. В данной программе она имеет следующий формат:  = ЕСЛИ (арг1;арг2;арг3), где арг1 – логическое условие; арг2 – возвращаемое значение при условии, что значение аргумента арг1 выполняется (ИСТИНА); арг3 – возвращаемое значение при условии, что значение аргумента арг1 не выполняется (ЛОЖЬ). Например, если в произвольную ячейку листа программы MS Excel ввести выражение « = ЕСЛИ (А1 = 5; „пять“; „не пять“)», то при вводе числа 5 в ячейку А1 и нажатии клавиши «Enter» в ячейке А1 автоматически будет записано слово «пять», при вводе любого другого числа в ячейку А1 в ней запишется слово «не пять». Как уже отмечалось, с помощью логических функций программы MS Excel можно представить другие логические функции и соответствующие им таблицы истинности.

Реализуем с помощью логических функций ЕСЛИ и И модифицированную таблицу истинности логической функции F = А & В (конъюнкции), состоящую из двух строк и трех столбцов, которая позволяет при изменении значений (0 или 1) логических переменных А и В автоматически устанавливать, например, в ячейке Е6 значение функции F = А & В, соответствующее значениям этих логических переменных. Для этого в ячейку Е6 введем следующее выражение: «=ЕСЛИ(И(С6;D6);1;0)», тогда при вводе в ячейки С6 и D6 значений 0 или 1 в ячейке Е6 будет выполняться логическая функция F = А & В. Результат этих действий представлен на рис. 4.5.

Рис. 4.5. Реализация модифицированной таблицы истинности логической функции F = A & В

Сложные цифровые логические устройства, входящие в состав компьютера, состоят из ряда элементарных логических элементов, построенных на базе средств электронной техники. При производстве этих электронных логических элементов используют различные технологии и схемотехнические решения, такие как: ДТЛ (диодно-транзисторная логика), ТТЛ (транзисторно-транзисторная логика), ЭСЛ (эмиттерно-связанная логика), технологии, основанные на использовании полевых транзисторов, и т. д. Логические элементы позволяют реализовать любую логическую функцию. Входные и выходные сигналы логических элементов, соответствующие двум логическим состояниям 1 и 0, могут иметь один из двух установленных уровней электрического напряжения, который зависит от схемотехнического решения логического элемента. Например, для логических элементов, основанных на технологии ТТЛ, высокий уровень электрического напряжения (2,4 ? 5 В) соответствует значению логической единицы (истина), а низкий уровень (0 ? 0,4 В)   – логическому нулю (ложь).

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

1. Логический элемент НЕ, который называется также инвертором, выполняет логическую операцию отрицания (инверсии).

2. Логический элемент И, называемый также конъюнктором, выполняет операцию логического умножения (конъюнкции), теоретически может иметь бесконечное число входов, на практике ограничиваются числом входов от двух до восьми.

3. Логический элемент ИЛИ, называемый также дизъюнктором, выполняет операцию логического сложения (дизъюнкции), теоретически может иметь бесконечное число входов, на практике ограничиваются числом входов от двух до восьми.

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

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

Минтермом называют логическую функцию, которая принимает значение логической единицы только при одном значении логических переменных и значение логического нуля при других значениях логических переменных. Например, минтермами являются логические функции F2, F3, F5 и F9 (см. рис. 4.3).

Макстерном называют логическую функцию, которая принимает значение логического нуля только при одном значении логических переменных и значение логической единицы при других значениях логических переменных. Например, макстернами являются логические функции F8, F12, F14 и F15 (см. рис. 4.3).

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

Рассмотрим задачу синтеза на примере модифицированной таблицы истинности, приведенной на рис. 4.6. Для данной таблицы истинности необходимо записать выражение для выходной функции F, провести ее преобразование (минимизацию) на основе законов алгебры логики и, используя основные логические элементы – НЕ, И и ИЛИ, разработать логическую схему реализации выходной функции F.

Рис. 4.6. Таблица истинности логических переменных A, В и С

Значения логических переменных А, В и С и соответствующие значения функции F приведены в таблице истинности (см. рис. 4.6), где в столбце № – указан номер комбинации логических переменных A, В и С.

Для решения указанной задачи представим логическую функцию F в виде СДНФ, а затем и в СКНФ. Найдем вспомогательные функции минтермы и макстермы. В заданной таблице истинности выходная функция F принимает логическое значение, равное логической единице, при комбинациях логических переменных A, В и С, указанных под номерами 3, 6, 8, а значение, равное логическому нулю – при комбинациях, указанных под номерами 1, 2, 4, 5,7.

Минтермы запишем в следующем виде:

Минтермы представляют собой логические произведения (конъюнкции) логических переменных А, В, и С при значениях логической функции F, равных логической единице (комбинации 3, 6, 8). Сомножители (логические переменные A, В и С) входят в минтерм в прямом виде (без отрицания), если их значения равны логической единице, и в инверсном (с отрицанием), если их значения равны логическому нулю. Логическая функция F в СДНФ будет равна логической сумме минтермов:

После минимизации логической функции Fc использованием законов алгебры логики получим ее искомое выражение:

Макстермы запишем в следующем виде:

Макстермы представляют собой логические суммы (дизъюнкции) логических переменных А, В, и С при значениях логической функции F, равных логическому нулю (комбинации 1, 2, 4, 5, 7). Слагаемые (логические переменные A, В, и С) входят в макстерм в прямом виде (без отрицания), если их значения равны логическому нулю, и в инверсном (с отрицанием), если их значения равны логической единице. Логическая функция F в СКНФ будет равна логическому произведению макстермов:

Поскольку полученное выражение для F в виде СКНФ является более громоздким по сравнению с представлением F в виде СДНФ, то в качестве окончательного выражения для F примем ее выражение в виде СДНФ, т. е.

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

Используем полученное выражение логической функции F для разработки (построения) логической схемы на основе функционально полного набора логических элементов НЕ, И и ИЛИ. При построении логической схемы необходимо учитывать установленные в алгебре логики правила (приоритеты) для выполнения логических операций, которые в данном случае реализуются с помощью логических элементов НЕ, И и ИЛИ. Порядок производимых логических операций будет следующий: операция инверсии (отрицания), операция логического умножения (конъюнкции) и затем операция логического сложения (дизъюнкции). Реализация функции F в виде логической схемы, приведена на рис. 4.7.

Рис. 4.7. Реализация функции F в виде логической схемы

Для графического отображения логических схем существуют различные компьютерные программы, называемые графическими редакторами. Данные программы могут быть включены в другие компьютерные программы, например в программах Microsoft Word и Microsoft Excel такие редакторы реализованы с помощью панелей инструментов «Рисование», или быть самостоятельными программами, например Paint, Microsoft Visio и т. д. Воспользуемся встроенным графическим редактором (панель «Рисование») программы MS Excel для графического отображения логической схемы функции F. Данная логическая схема показана на рис. 4.8.

Рис. 4.8. Графическое отображение логической функции F с помощью программы MS Excel

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

Рассмотренные выше таблицы истинности логических элементов показывают установившиеся значения логических переменных. Однако когда логические переменные представлены в виде электрических сигналов, то необходимо некоторое время для того, чтобы значение логической функции достигло уровня установившегося состояния из-за внутренних задержек по времени в электронных логических элементах. В среднем задержка электрического сигнала такого элемента составляет 10-9 с. В компьютере двоичные сигналы проходят через множество электронных схем, и задержка по времени может стать значительной. В этом случае выделяется отрезок времени (такт) на каждый шаг логической операции. Если операция заканчивается раньше, чем заканчивается тактовое время, то устройство, входящее в состав компьютера, ожидает ее окончания. В результате скорость выполнения операций несколько снижается, но достигается высокая надежность, так как обеспечивается синхронизация между многими параллельно выполняющимися операциями в компьютере. Синхронизация устройств в компьютере обеспечивается с помощью специального генератора – генератора тактовой частоты, который вырабатывает электрические импульсы стабильной частоты.

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

а) 101 и 110; б) 10101 и 11100; в) 110011 и 111100.

2. Преобразовать следующие логические выражения:

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

4. Реализовать модифицированные таблицы истинности логических схем НЕ, ИЛИ, И-НЕ, ИЛИ-НЕ (см. рис. 4.5), используя программу MS Excel.

5. Составить таблицы истинности для следующих логических функций:

6. Записать выражения для логических функций F1 и F2 в виде СДНФ и СКНФ. Логические функции F1 и F2 представлены далее соответственно таблицами истинности.

7. По заданному преподавателем варианту таблицы N составить таблицу истинности логической функции F, используя таблицу М. Найти выражение для логической функции F, осуществить ее преобразование в соответствии с основными законами алгебры логики и разработать логическую схему полученной функции с использованием логических схем НЕ, И, ИЛИ. Для графического отображения разработанной логической схемы использовать любой графический редактор.

Таблица М
Таблица N

Оглавление

Как составить схему логической функции на логических элементах Как составить схему логической функции на логических элементах Как составить схему логической функции на логических элементах Как составить схему логической функции на логических элементах Как составить схему логической функции на логических элементах

Изучаем далее:



Вязание аранов крючком схемы

Декупаж детский стульчик своими руками

Вязание простейших кофт

Как из бумаги сделать ромб

Как сделать монгольское седло