Телевизоры. Приставки. Проекторы и аксессуары. Технологии. Цифровое ТВ

Как строить логические схемы по информатике. Алгоритм построения логических схем. I. Организационный момент

Почему необходимо уметь строить логические схемы?

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

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

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

Алгоритм построения логических схем :

1) Определить число логических переменных.

2) Определить количество базовых логических операций и их порядок.

3) Изобразить для каждой логической операции соответствующий ей вентиль.

4) Соединить вентили в порядке выполнения логических операций.

Пример 10

Составить логическую схему для логического выражения: F =¬ X v Y & X .

1) Две переменные – X и Y .

2) Две логические операции: 1 3 2

¬ X v Y & X .

3) Строим схему, соединяя вентили в порядке выполнения логических операций:

Пример 11

Постройте логическую схему, соответствующую логическому выражению F = X & Y v¬ (Y v X ).

Вычислить значения выражения для X =1, Y =0.

1) Переменных две: X и Y .

2) Логических операций четыре: конъюнкция, две дизъюнкции и отрицание. Определяем порядок выполнения операций:

1 4 3 2

X & Y v ¬ (Y v X ).

3) Схему строим слева направо в соответствии с порядком выполнения логических операций:


4) Вычислим значение выражения: F =1&0 v¬ (0 v 1)=0.

Упражнение 15

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

1) F=A v B& ¬ C, если A=1, B=1, C=1 .

2) F = ¬ (A v B&C), если A=0, B=1, C=1 .

Познакомимся с ними поочередно.

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

Задача:

Дана логическая функция:

Составить логическую схему для неё.

Решение:

Расставим порядок выполнения логических операций, руководствуясь правилами:
  1. отрицание
  2. умножение
  3. сложение
Не забываем про приоритет скобок.
Получаем:

Строим схему по указанному порядку.

Запись логической функции по заданной логической схеме.

Задача:

Дана логическая схема:

Составить логическую функцию по ней.

Решение:

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

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

Определение сигнала на выходе логической схемы по заданным значениям сигналов на всех входах этой схемы.

Задача:

Дана логическая схема и значения сигналов на всех входах:

Определить значение функции F на выходе схемы.

Решение:

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

Ответ:

Значение функции F на выходе схемы = 1.

Построение таблицы истинности для заданной логической схемы.

Задача:

Дана логическая схема:

Построить для неё таблицу истинности.

Решение:

Проверяем количество входов на схеме. Количество комбинаций сигналов на 2 входах равно 4, для 3 входов равно 8, для 4 входов равно 16 и т. д. Составляем таблицу истинности, в которой первые столбцы - это входы схемы, обозначенные буквами, следущие столбцы - функции, полученные на выходах каждого элемента схемы, а строки - отражают разные комбинации сигналов на входах. Количество строк совпадает с количеством комбинаций сигналов. Пользуясь таблицами истинности для соответствующих логических элементов схемы, расставляем значения сигналов на выходах каждого логического элемента, т. е. по каждому столбцу пока не доберёмся до конца схемы. Получаем:

Ответ:

Удобным способом представления логических выражений являются логические схемы. Вот как изображаются на таких схемах три основные логические операции:

Рис 6.1 - Схематическое изображение логических операций

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

Здесь наглядно отражено то, что первой выполняется операцияи , затемили . Теперь в порядке слева – направо припишем к выходящим стрелкам результаты операций:

В результате получилась1 , т.е. «ИСТИНА».

Пример. Дано выражение:не (1 и (0 или 1) и 1).

Вычислить значение выражения с помощью логической схемы.

Решение. Логическая схема с результатами вычислений выглядит так:

Импликация и эквивалентность

Импликация (условное высказывание). В русском языке этой логической операции соответствуют союзы если..., то; когда..., тогда; коль скоро..., то и т. п.

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

Выражение, стоящее после словто, тогда, называется следствием. В логических формулах операция импликации обозначается знаком «→». Импликация - двухместная операция; записывается так: А→В .

Эквивалентность. Языковой аналог - союзы если и только если; тогда и только тогда, когда... Эквивалентность обозначаетсязнаком «≡» или «↔».

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

Преобразование логических выражений

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

Основные формулы преобразования логических выражений:

2. (А & В) ≡ А В.

3. (А В) ≡ А & В.

4. (А → В) ≡А & В.

5. А→B ≡ A B.

6. А В ≡ (А & В) (А & В) ≡ (А В) & (А B).

7. А & (А B) ≡ А.

8. А А & В ≡ А.

9. А & (А В) ≡ А & В.

10. A А & В ≡ А В.

11. Законы коммутативности:

А & В ≡ В & А;

А В ≡ В А.

12. Законы ассоциативности:

(A B) С ≡ А С);

(А & В) & С ≡ А & (В & С).

13. Законы идемпотентности:

А А ≡ А;

14. Законы дистрибутивности:

А & (В С) ≡ (А & В) (А & С);

А (В & С) ≡ (А В) & (А С).

15. А 1 ≡ 1;

16. А & 1 ≡ А;

17. А А ≡ 1;

18. А & 0 ≡ 0;

19. А & А ≡ 0.

6.3. Задание на лабораторную работу

Задания распределяются в зависимости от выданного преподавателем mn -кода. Если m - число нечетное, то ваш вариант 1, если четное - вариант 2.

Задание 1. Используя логические операции, запишите высказывания, которые являются истинными при выполнении следующих условий:

Вариант 1.

1) хотя бы одно из чисел X, Y, Z положительно;

2) только одно из чисел X, Y, Z не является положительным.

3) только одно из чисел X, Y, Z больше 10

4) ни одно из чисел X, Y, Z не равно 104

Вариант 2.

1) хотя бы одно из чисел X, Y, Z отрицательно;

2) только одно из чисел X, Y, Z является отрицательным.

3) только одно из чисел X, Y, Z не больше 10

4) каждое из чисел X, Y, Z равно 0

Задание 2. Определите значение логического выражения не (X>Z) ине (X=Y), если:

Вариант 1.

1) X=3, Y=5, Z=2;

2) X=5, Y=0, Z=–8.

Вариант 2.

1) X=9, Y=–9, Z=9;

2) X=0, Y=1, Z=19.

Задание 3. Пусть a, b, c - логические величины, которые имеют следующие значения: а = истина , b= ложь , c = истина . Нарисуйте логические схемы для следующих логических выражений и вычислите их значения:

Вариант 1.

1) а и b;

2) не а или b;

3) а или b и с;

4) (а или b) и (c или b).

Вариант 2.

1) а или b;

2) а и b или с;

3) не а или b и с;

4) не и b и с).

Задание 4. Построить логические схемы по логическому выражению:

Вариант 1. x 1 и (не x 2 или x 3).

Вариант 2. x 1 и x 2 или не x 1 и x 3 .

Задание 5. Выполните вычисления по логическим схемам. Запишите соответствующие логические выражения:

Вариант 1. Вариант 2.

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

Вычислить значение выражения для:

Вариант 1.

1) x 1 =0, x 2 =1;

2) x 1 =1, x 2 =1.

Вариант 2.

1) x 1 =1, x 2 =0;

2) x 1 =0, x 2 =0.

Задание 7. Дана логическая схема. Построить таблицу истинности для данной схемы.

Задание 8. Определить истинность формулы:

Вариант 1. ((a ) .

Вариант 2. .

Задание 9. Упростите выражение:

Вариант 1. .

Вариант 2. .

6.4. Требования к содержанию отчета

1. Цель лабораторной работы.

2. Задание на лабораторную работу. Mn – код.

3. Результаты решения заданий своего варианта.

4. Выводы по полученным результатам.

6.5. Контрольные вопросы

1. Что такое логическое высказывание, константа, переменная, формула?

2. Какие виды логических операций рассматриваются в лабораторной работе?

3. Таблицы истинности для импликации и эквивалентности?

4. Перечислите законы алгебры логики?


Лабораторная работа №7
"СИСТЕМЫ СЧИСЛЕНИЯ"

7.1. Цель работы

Изучение систем счисления. Приобретение навыков перевода из одной системы счи­с­ления в другую

7.2. Методические указания

Развернутой формой записи числа называется запись в виде:

A q =±(a n-1 q n-1 + a n-2 q n-2 +…+ a 0 q 0 + a –1 q -1 + a -2 q -2 + …+ а -m q -m).

Здесь А q - само число, q - основание системы счисления, а i - цифры данной системы счи­сления, n - число разрядов целой части числа, m - число разрядов дробной части чис­ла.

Пример. Получить развернутую форму десятичных чисел 32478; 26,387.

32478 10 = 3*10000 + 2*1000 + 4*100 + 7*10 + 8 = 3*10 4 + 2*10 3 + 4*10 2 + 7*10 1 + 8*10 0 .

26,387 10 = 2*10 1 + 6*10 0 + 3*10 -1 + 8*10 -2 + 7*10 -3 .

Пример. Получить развернутую форму чисел 112 3 , 101101 2 , 15FC 16 , 101,11 2

112 3 =1*10 2 + 1*10 1 + 2*10 0 .

1011012 = 1*10 101 + 0*10 100 + 1*10 11 + 1*10 10 + 0*10 1 + 1*10 0 .

15FC 16 = 1*10 3 + 5 *10 2 + F*10 1 + С.

101,11 2 = 1*10 10 + 0*10 1 + 1*10 0 + 1*10 -1 + 1*10 -10 .

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

Пример. Все числа из предыдущего примера перевести в десятичную систему.

112 3 =1*3 2 + 1*3 1 + 2*3 0 = 9+3+2 = 14 10 .

101101 2 = 1*2 5 + 0*2 4 + 1*2 3 + 1*2 2 + 0*2 1 + 1*2 0 =32+8+4+1 = 45 10 ,

15FC 16 = 1*16 3 + 5*16 2 + 15*16 1 + 12 = 4096 + 1280 + 240 + 12 = 5628 10 .

101,11 2 = 1*2 2 + 0*2 1 + 1*2 0 + 1*2 –1 + 12 -2 = 4 + 1 + 1/2 + 1/4 = 5 + 0,5 + 0,25 = 5,75 10 .

В цифровой схемотехнике цифровой сигнал - это сигнал, который может принимать два значения, рассматриваемые как логическая "1" и логический "0".

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

Логические схемы реализуются на логических элементах: "НЕ", "И", "ИЛИ", "И-НЕ", "ИЛИ-НЕ", "Исключающее ИЛИ" и "Эквивалентность". Первые три логических элемента позволяют реализовать любую, сколь угодно сложную логическую функцию в булевом базисе . Мы будем решать задачи на логические схемы, реализованные именно в булевом базисе.

Для обозначения логических элементов используется несколько стандартов. Наиболее распространёнными являются американский (ANSI), европейский (DIN), международный (IEC) и российский (ГОСТ). На рисунке ниже приведены обозначения логических элементов в этих стандартах (для увеличения можно нажать на рисунок левой кнопкой мыши).

На этом уроке будем решать задачи на логические схемы, на которых логические элементы обозначены в стандарте ГОСТ.

Задачи на логические схемы бывают двух видов: задача синтеза логических схемы и задачи анализа логических схем. Мы начнём с задачи второго типа, так как в таком порядке удаётся быстрее научиться читать логические схемы.

Чаще всего в связи с построением логических схем рассматриваются функции алгебры логики:

  • трёх переменных (будут рассмотрены в задачах анализа и в одной задаче синтеза);
  • четырёх переменных (в задачах синтеза, то есть в двух последних параграфах).

Рассмотрим построение (синтез) логических схем

  • в булевом базисе "И", "ИЛИ", "НЕ" (в предпоследнем параграфе);
  • в также распространённых базисах "И-НЕ" и "ИЛИ-НЕ" (в последнем параграфе).

Задача анализа логических схем

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

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

Пример 1.

Решение. Разбиваем логическую схему на ярусы, что уже показано на рисунке. Запишем все функции, начиная с 1-го яруса:

x , y , z :

x y z f
1 1 1 0 1 1 1 1
1 1 0 0 0 0 1 0
1 0 1 0 0 0 1 0
1 0 0 0 0 0 1 0
0 1 1 0 0 0 1 0
0 1 0 0 0 0 1 0
0 0 1 0 0 0 1 0
0 0 0 1 0 1 0 0

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

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


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

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

Решение. Разбиваем логическую схему на ярусы. Запишем все функции, начиная с 1-го яруса:

Теперь запишем все функции, подставляя входные переменные x , y , z :

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

.

Таблица истинности для данной логической схемы:

x y z f
1 1 1 0 1 1
1 1 0 0 1 1
1 0 1 1 0 1
1 0 0 0 0 0
0 1 1 0 1 1
0 1 0 0 1 1
0 0 1 0 1 1
0 0 0 0 1 1

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

Решение. Разбиваем логическую схему на ярусы. Структура данной логической схемы, в отличие от предыдущих примеров, имеет 5 ярусов, а не 4. Но одна входная переменная - самая нижняя - пробегает все ярусы и напрямую входит в логический элемент в первом ярусе. Запишем все функции, начиная с 1-го яруса:

Теперь запишем все функции, подставляя входные переменные x , y , z :

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

.

Таблица истинности для данной логической схемы:

x y z f
1 1 1 1 1 1
1 1 0 1 1 1
1 0 1 1 0 1
1 0 0 1 0 1
0 1 1 1 1 1
0 1 0 1 1 1
0 0 1 1 0 1
0 0 0 1 0 1

Задача синтеза логических схем в булевом базисе

Разработка логической схемы по её аналитическому описанию имеет название задачи синтеза логической схемы.

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

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

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

Лабораторная работа № 4 .

Схемотехническая реализация логических элементов. Построение логических схем.

Теоретическая часть.

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

Элемент НЕ

При подаче на вход схемы сигнала низкого уровня (0) транзистор будет заперт, т.е. ток через него проходить не будет, и на выходе будет сигнал высокого уровня (1). Если же на вход схемы подать сигнал высокого уровня (1), то транзистор “откроется”, начнет пропускать электрический ток. На выходе за счет падения напряжения установится напряжение низкого уровня. Таким образом, схема преобразует сигналы одного уровня в другой, выполняя логическую функцию.

Элемент ИЛИ

Функция “ИЛИ” - логическое сложение (дизъюнкция), ее результат равен 1, если хотя бы 1 из аргументов равен 1. Здесь транзисторы включены параллельно друг другу. Если оба закрыты, то их общее сопротивление велико и на выходе будет сигнал низкого уровня (логический “0”). Достаточно подать сигнал высокого уровня (“1”) на один из транзисторов, как схема начнет пропускать ток, и на сопротивлении нагрузки установится также сигнал высокого уровня (логическая “1”).

Элемент И

Если на входы Вх1 и Вх2 поданы сигналы низкого уровня (логические “0”), то оба транзистора закрыты, ток через них не проходит, выходное напряжение на R н близко к нулю. Пусть на один из входов подано высокое напряжение (“1”). Тогда соответствующий транзистор откроется, однако другой останется закрытым, и ток через транзисторы и сопротивление проходить не будет. Следовательно, при подаче напряжения высокого уровня лишь на один из транзисторов, схема не переключается и на выходе остается напряжение низкого уровня. И лишь при одновременной подаче на входы сигналов высокого уровня (“1”) на выходе мы также получим сигнал высокого уровня.

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

Анализируя функциональную схему, можно понять, как работает логическое устройство, т.е. дать ответ на вопрос: какую функцию она выполняет. Не менее важной формой описания логических устройств является структурная формула. Покажем на примере как выписывают формулу по заданной функциональной схеме (1 схема). Ясно, что элемент “И” осуществляет логическое умножение значений и В. Над результатом в элементе “НЕ” осуществляется операция отрицания, т.е. вычисляется значение выражения: Формула и есть структурная формула логического устройства.

Итак, основные логические функции обозначаются

Инверсия

Конъюнкция

Дизъюнкция

Пример: дана логическая схема:

Она построена на основании булева выражения - Y = Ē /\ I \/ Ē /\ A \/ Ā /\ E

Практическая часть.

Задание 1. Для каждой из функциональных схем выписать соответствующую структурную формулу.

2) Для КНФ и ДНФ из лабораторной работы 5 построить функциональные схемы.



Похожие публикации