- Построение логических схем
- Простейшие логические цепи. Часть 2: правила соединения модулей между собой и анализ простых логических схем
- Правила соединения цепей и их компонентов
- Анализ логических схем
- Анализ цепи из 6-8 элементов
- Анализ по строкам
- Анализ по столбцам
- Схемотехника. Минимизация логических функций
- Зачем это нужно?
- Минимизация логических функций при помощи карт Карно
Построение логических схем
Цели урока:
Образовательные:
- закрепить у учащихся представление об устройствах элементной базы компьютера;
- закрепить навыки построения логических схем.
Развивающие:
- формировать развитие алгоритмического мышления;
- развить конструкторские умения;
- продолжать способствовать развитию ИКТ — компетентности;
Воспитательные:
- продолжить формирование познавательного интереса к предмету информатика;
- воспитывать личностные качества:
- активность,
- самостоятельность,
- аккуратность в работе;
Требования к знаниям и умениям:
Учащиеся должны знать:
- основные базовые элементы логических схем;
- правила составления логических схем.
Учащиеся должны уметь:
- составлять логические схемы.
Тип урока: урок закрепления изученного материала
Вид урока: комбинированный
Методы организации учебной деятельности:
- фронтальная;
- индивидуальная;
Программно-дидактическое обеспечение:
- ПК, SMART Board, карточки с индивидуальным домашним заданием.
Урок разработан с помощью программы Macromedia Flash.
Ход урока
I. Постановка целей урока.
Сегодня мы продолжаем изучение темы «Построение логических схем».
Приготовьте раздаточный материал «Логические основы ЭВМ. Построение логических схем» Приложение 1
Вопрос учителя. Назовите основные логические элементы. Какой логический элемент соответствует логической операции И, ИЛИ, НЕ?
Ответ учащихся. Логический элемент компьютера — это часть электронной логической схемы, которая реализует элементарную логическую функцию. Основные логические элементы конъюнктор (соответствует логическому умножению), дизъюнктор (соответствует логическому сложению), инвертор (соответствует логическому отрицанию).
Вопрос учителя. По каким правилам логические элементы преобразуют входные сигналы. Рассмотрим элемент И. В каком случае на выходе будет ток (сигнал равный 1).
Ответ учащихся. На первом входе есть ток (1, истина), на втором есть (1, истина), на выходе ток идет (1, истина).
Вопрос учителя. На первом входе есть ток, на втором нет, однако на выходе ток идет. На входах тока нет и на выходе нет. Какую логическую операцию реализует данный элемент?
Ответ учащихся. Элемент ИЛИ — дизъюнктор.
Вопрос учителя. Рассмотрим логический элемент НЕ. В каком случае на выходе не будет тока (сигнал равный 0)?
Ответ учащихся. На входе есть ток, сигнал равен 1.
Вопрос учителя. В чем отличие логической схемы от логического элемента?
Ответ учащихся. Логические схемы состоят из логических элементов, осуществляющих логические операции.
Проанализируем схему и определим сигнал на выходе.
II. Закрепление изученного материала.
Почему необходимо уметь строить логические схемы?
Дело в том, что из вентилей составляют более сложные схемы, которые позволяют выполнять арифметические операции и хранить информацию. Причем схему, выполняющую определенные функции, можно построить из различных по сочетанию и количеству вентилей. Поэтому значение формального представления логической схемы чрезвычайно велико. Оно необходимо для того, чтобы разработчик имел возможность выбрать наиболее подходящий ему вариант построения схемы из вентилей. Процесс разработки общей логической схемы устройства (в том числе и компьютера в целом), становится иерархическим, причем на каждом следующем уровне в качестве «кирпичиков» используются логические схемы, созданные на предыдущем этапе.
Дома вам необходимо было построить логические схемы, соответствующие логическим выражениям.
Вопрос учителя. Каков алгоритм построение логических схем?
Ответ учащихся. Алгоритм построение логических схем:
Определить число логических переменных.
Определить количество базовых логических операций и их порядок.
Изобразить для каждой логической операции соответствующий ей элемент (вентиль).
Соединить вентили в порядке выполнения логических операций.
Проверка домашнего задания Приложение 1. Домашнее задание. Часть 1
Построить логическую схему для логического выражения: .
- Две переменные — А и В.
- Две логические операции: &,
- Строим схему.
Построить логическую схему для логического выражения:
Построить логическую схему для логического выражения:
Построить логическую схему для логического выражения:
Построить логическую схему для логического выражения:
Построить логическую схему для логического выражения:
Построить логическую схему для логического выражения:
Вычислить значение данного выражения для А=1, В=0.
III. Пропедевтика (законы логики)
Выполним задачу обратную данной. Составим логическое выражение по заданной логической схеме:
Данное логическое выражение можно упростить.
Операция И — логическое умножение, ИЛИ — сложение. Запишем выражение, заменяя знаки & и U на * и + соответственно.
F= (A*B+B*С) Упростим F=
(B*(А+С)), затем запишем
и тогда логическая схема примет вид:
Вывод: Логические схемы, содержащие минимальное количество элементов, обеспечивают большую скорость работы и увеличивают надёжность устройства.
Алгебра логики дала конструкторам мощное средство разработки, анализа и совершенствования логических схем. Проще, и быстрее изучать свойства и доказывать правильность работы схемы с помощью выражающей её формулы, чем создавать реальное техническое устройство.
Таким образом, цель нашего следующего урока — изучить законы алгебры логики.
IV. Домашнее задание. Часть 2
V. Практическая работа.
Программа — тренажер «Построение логических схем»
Источник
Простейшие логические цепи. Часть 2: правила соединения модулей между собой и анализ простых логических схем
Приветствую всех.
Продолжаю написание статей про простейшие логические цепи.
В этом посте – правила соединения логических элементов и цепей между собой, а также два простых метода анализа логических схем.
По многочисленным просьбам хабралюдей, а также для упрощения восприятия написанного, буду кроме западного названия определённого элемента приводить и русское.
Правила соединения цепей и их компонентов
В прошлой статье мы познакомились с такими логическими модулями, как Not-1 (логическое отрицание, !A), Or-2 (логическая сумма, AvB) и And-2 (логическое умножение, A^B), но ни слова не было сказано о том, как соединять между собой эти простейшие комбинационные логические цепи (КЛЦ, они же – комбинационные схемы).
Вот несколько правил, которые помогут избежать ошибок при соединении проводников и логических модулей:
1. Не соединяйте два выхода напрямую. Это может привести к конфликту сигналов.
2. Если у логического модудя два входа, они оба должны иметь значение. Если неизвестен сигнал на одном из входов, то скорее всего не получится узнать значение исходящего сигнала.
3. Не должно быть циклов. Эффект может быть любым – от нестабильности работы цепи до её неспособности функционировать.
Анализ логических схем
Для упрощения анализа цепей мы будем использовать некоторые условные обозначения. Например:
Как видите, определённый набор элементов изображается с помощью одного-единственного модуля.
Анализ цепи из 6-8 элементов
Возьмём любую сделанную по правилам комбинационную схему. Например вот эту:
Если вам по каким-то причинам не нравится моя схема, нарисуйте свою 🙂
Суть анализа цепи заключается в выявлении исходящих сигналов в зависимости от значений входов.
Существует два метода этого самого анализа – горизонтальный (по строкам) и вертикальный (по столбцам).
Анализ по строкам
Этот тип исследования цепей заключается в следующем: мы поочерёдно выставляем разные значения на входах цепи, и смотрим, как изменяется сигнал во время его прохождения дальше по цепи. Вот наглядный пример:
Таким способом удобно анализировать небольшие схемы с одним-двумя входами, потому что не обязательно строить таблицу истинности.
Для таких цепей, как выбранная нами ранее, лучше всё-таки нарисовать эту самую таблицу и вписывать туда найденные значения. Вот так, например:
Анализ по столбцам
Суть этого метода – поочерёдно, с помощью логических выражений, найти значения для всех частей цепи, и только потом вычислить результат для выходов цепи.
Как видно на картинке, мы вычисляем значения сигнала для каждого элемента цепи, постепенно приближаясь к выходу. Для нашей цепи это будет выглядеть так:
Теперь можно сравнить результаты, полученные с помощью двух методов. Если они совпадают, то это значит, что либо всё сделано правильно, либо мы допустили больше одной ошибки ( 😀 ).
Источник
Схемотехника. Минимизация логических функций
Зачем это нужно?
Сложность логической функции, а отсюда сложность и стоимость реализующей ее схемы (цепи), пропорциональны числу логических операций и числу вхождений переменных или их отрицаний. В принципе любая логическая функция может быть упрощена непосредственно с помощью аксиом и теорем логики, но, как правило, такие преобразования требуют громоздких выкладок.
К тому же процесс упрощения булевых выражений не является алгоритмическим. Поэтому более целесообразно использовать специальные алгоритмические методы минимизации, позволяющие проводить упрощение функции более просто, быстро и безошибочно. К таким методам относятся, например, метод Квайна, метод карт Карно, метод испытания импликант, метод импликантных матриц, метод Квайна-Мак-Класки и др. Эти методы наиболее пригодны для обычной практики, особенно минимизация логической функции с использованием карт Карно. Метод карт Карно сохраняет наглядность при числе переменных не более шести. В тех случаях, когда число аргументов больше шести, обычно используют метод Квайна-Мак-Класки.
В процессе минимизации той или иной логической функции, обычно учитывается, в каком базисе эффективнее будет реализовать ее минимальную форму при помощи электронных схем.
Минимизация логических функций при помощи карт Карно
Карта Карно — графический способ минимизации переключательных (булевых) функций, обеспечивающий относительную простоту работы с большими выражениями и устранение потенциальных гонок. Представляет собой операции попарного неполного склеивания и элементарного поглощения. Карты Карно рассматриваются как перестроенная соответствующим образом таблица истинности функции. Карты Карно можно рассматривать как определенную плоскую развертку n-мерного булева куба.
Карты Карно были изобретены в 1952 Эдвардом В. Вейчем и усовершенствованы в 1953 Морисом Карно, физиком из «Bell Labs», и были призваны помочь упростить цифровые электронные схемы.
В карту Карно булевы переменные передаются из таблицы истинности и упорядочиваются с помощью кода Грея, в котором каждое следующее число отличается от предыдущего только одним разрядом.
Основным методом минимизации логических функций, представленных в виде СДНФ или СКНФ является операция попарного неполного склеивания и элементарного поглощения. Операция попарного склеивания осуществляется между двумя термами (членами), содержащими одинаковые переменные, вхождения которых (прямые и инверсные) совпадают для всех переменных, кроме одной. В этом случае все переменные, кроме одной, можно вынести за скобки, а оставшиеся в скобках прямое и инверсное вхождение одной переменной подвергнуть склейке. Например:
Возможность поглощения следует из очевидных равенств
Таким образом, главной задачей при минимизации СДНФ и СКНФ является поиск термов, пригодных к склейке с последующим поглощением, что для больших форм может оказаться достаточно сложной задачей. Карты Карно предоставляют наглядный способ отыскания таких термов.
Как известно, булевы функции N переменных, представленные в виде СДНФ или СКНФ могут иметь в своём составе 2N различных термов. Все эти члены составляют некоторую структуру, топологически эквивалентную N–мерному кубу, причём любые два терма, соединённые ребром, пригодны для склейки и поглощения.
На рисунке изображена простая таблица истинности для функции из двух переменных, соответствующий этой таблице 2-мерный куб (квадрат), а также 2-мерный куб с обозначением членов СДНФ и эквивалентная таблица для группировки термов:
В случае функции трёх переменных приходится иметь дело с трёхмерным кубом. Это сложнее и менее наглядно, но технически возможно. На рисунке в качестве примера показана таблица истинности для булевой функции трёх переменных и соответствующий ей куб.
Как видно из рисунка, для трёхмерного случая возможны более сложные конфигурации термов. Например, четыре терма, принадлежащие одной грани куба, объединяются в один терм с поглощением двух переменных:
В общем случае можно сказать, что 2K термов, принадлежащие одной K–мерной грани гиперкуба, склеиваются в один терм, при этом поглощаются K переменных.
Для упрощения работы с булевыми функциями большого числа переменных был предложен следующий удобный приём. Куб, представляющий собой структуру термов, разворачивается на плоскость как показано на рисунке. Таким образом появляется возможность представлять булевы функции с числом переменных больше двух в виде плоской таблицы. При этом следует помнить, что порядок кодов термов в таблице (00 01 11 10) не соответствует порядку следования двоичных чисел, а клетки, находящиеся в крайних столбцах таблицы, соседствуют между собой.
Аналогичным образом можно работать с функциями четырёх, пяти и более переменных. Примеры таблиц для N=4 и N=5 приведены на рисунке. Для этих таблиц следует помнить, что соседними являются клетки, находящиеся в соответственных клетках крайних столбцов и соответственных клетках верхней и нижней строки. Для таблиц 5 и более переменных нужно учитывать также, что квадраты 4х4 виртуально находятся друг над другом в третьем измерении, поэтому соответственные клетки двух соседних квадратов 4х4 являются сосоедними, и соответствующие им термы можно склеивать.
Карта Карно может быть составлена для любого количества переменных, однако удобно работать при количестве переменных не более пяти. По сути Карта Карно — это таблица истинности составленная в 2-х мерном виде. Благодаря использованию кода Грея в ней верхняя строка является соседней с нижней, а правый столбец соседний с левым, т.о. вся Карта Карно сворачивается в фигуру тор (бублик). На пересечении строки и столбца проставляется соответствующее значение из таблицы истинности. После того как Карта заполнена, можно приступать к минимизации.
Если необходимо получить минимальную ДНФ, то в Карте рассматриваем только те клетки которые содержат единицы, если нужна КНФ, то рассматриваем те клетки которые содержат нули. Сама минимизация производится по следующим правилам (на примере ДНФ):
- Объединяем смежные клетки содержащие единицы в область, так чтобы одна область содержала 2 n (n целое число = 0…
) клеток(помним про то что крайние строки и столбцы являются соседними между собой), в области не должно находиться клеток содержащих нули;
- Область должна располагаться симметрично оси(ей) (оси располагаются через каждые четыре клетки);
- Не смежные области расположенные симметрично оси(ей) могут объединяться в одну;
- Область должна быть как можно больше, а кол-во областей как можно меньше;
- Области могут пересекаться;
- Возможно несколько вариантов накрытия.
Далее берём первую область и смотрим какие переменные не меняются в пределах этой области, выписываем конъюнкцию этих переменных, если неменяющаяся переменная нулевая, проставляем над ней инверсию. Берём следующую область, выполняем то же самое что и для первой, и т. д. для всех областей. Конъюнкции областей объединяем дизъюнкцией.
Например(для Карт на 2-ве переменные):
Источник