- •Содержание
- •Введение
- •1. Общие положения
- •1.1. Методические указания по выполнению лабораторных работ
- •1.2. Порядок защиты и оформление отчета
- •2. Учебная система моделирования
- •2.1. Структура окна и система меню программы ewb
- •2.2. Проектирование цифровых устройств
- •2.3. Библиотека компонентов
- •2.4. Контрольно-измерительные приборы
- •3. Основы моделирования цифровых устройств
- •3.1. Логические элементы
- •3.2. Арифметические сумматоры
- •3.3. Триггеры
- •3.4. Регистры и счетчики
- •3.5. Мультивибраторы на логических элементах Автоколебательный мультивибратор
- •Ждущий мультивибратор
- •4. Лабораторный практикум Лабораторная работа №1 Исследование триггеров
- •I. Цель работы
- •II. Задание и указания обучающимся по подготовке и выполнению лабораторного занятия
- •III. Порядок выполнения работы
- •IV. Содержание отчета:
- •Лабораторная работа №2 Исследование мультивибраторов
- •I. Цель работы
- •II. Задание и указания обучающимся по подготовке и выполнению лабораторного занятия
- •III. Порядок выполнения работы
- •1. Исследование мультивибраторов на логических элементах
- •2. Исследование мультивибраторов на логических элементах в автоколебательном режиме
- •IV. Содержание отчета:
- •Лабораторная работа №3 Исследование комбинационных цифровых узлов
- •I. Цель работы
- •II. Задание и указания обучающимся по подготовке и выполнению лабораторного занятия
- •III. Порядок выполнения работы
- •IV. Содержание отчета:
- •Лабораторная работа № 4 Исследование последовательностных цифровых узлов
- •I. Цель работы
- •II. Задание и указания обучающимся по подготовке и выполнению лабораторного занятия
- •III. Порядок выполнения работы
- •IV. Содержание отчета:
- •Цифровые микросхемы
- •Комбинационные цифровые устройства в базисе и-не
- •1. Сумматор по модулю два
- •2. Полусумматор
- •3. Полный сумматор
- •4. Шифратор 4 х 2
- •5. Шифратор 8 х 3
- •6. Дешифратор 2 х 4
- •9. Компаратор для сравнения двух одноразрядных чисел
- •10. Компаратор для сравнения двух двухразрядных чисел
- •Последовательностные цифровые устройства
- •Реализация логических функций на основе замещения логическими элементами и-не
- •Литература
3. Основы моделирования цифровых устройств
Цифровые устройства, оперирующие с двоичной (дискретной) информацией, подразделяются на два больших класса: комбинационные схемы — дискретные автоматы без памяти и последовательностные — дискретные автоматы с памятью.
Сигналы на выходах комбинационного устройства в любой момент времени однозначно определяются сочетанием сигналов на входах и не зависят от его предыдущих состояний. Схемным признаком таких устройств является отсутствие элементов обратной связи, обеспечивающих прохождение сигналов с выходов на входы. К комбинационным устройствам относятся сумматоры, шифраторы, дешифраторы, мультиплексоры, демультиплексоры, большинство арифметических устройств и др.
Последовательностные устройства обладают памятью. Под памятью подразумевается свойство системы сохранять в течение требуемого времени значения сигналов, характеризующих внутреннее состояние цифрового устройства. Поэтому в таких устройствах при смене информации на входах для предсказания сигналов на выходах необходимо знать их предыдущее состояние. Показателем принадлежности схемы к последовательностному типу служит наличие в ней обратных связей. Простейшими представителями таких устройств являются триггеры. К этому же классу относятся счетчики, регистры, запоминающие устройства.
Работу схем, реализующих переключательные функции, принято рассматривать в безразмерном дискретном времени, для чего реальное время разбивается на интервалы, которые нумеруются, начиная с какого-то момента. Каждый такой промежуток времени называют тактовым интервалом или просто тактом.
Дискретное время складывается из отдельных тактов, длительность которых для характеристики работы устройства не имеет значения. Продолжительность отдельных тактов может быть различной, и на работе устройства это не сказывается.
Обновление информации на выходах происходит в момент начала нового такта. Временные задержки, обусловленные переходными процессами, обычно не учитываются, и только в тех случаях, когда частота смены тактов велика и соизмерима с предельным быстродействием устройства, с ними приходится считаться.
3.1. Логические элементы
Теоретической основой применения логических элементов при создании разнообразных цифровых устройств является булева алгебра, которая оперирует двоичными переменными, действия над которыми производятся по правилам логических операций.
Простейших логических операций три: отрицание (инверсия, операция НЕ), логическое умножение (конъюнкция, операция И) и логическое сложение (дизъюнкция, операция ИЛИ). Более сложные логические преобразования можно свести к указанным операциям.
Операция
отрицания выполняется
над одной переменной и обозначается
чертой над переменной, например: Y =
;
в EWB инверсия обозначается как Y = X`
(далее инверсия будет обозначаться
именно таким образом).
Операция логического умножения (конъюнкция) Y = Х1Х2 для двух переменных выражается следующим образом: 0 0 = 0; 0 1 = 0; 1 0 = 0; 1 1 = 1, т. е. нулевое значение хотя бы одного из аргументов обеспечивает нулевой результат операции. Операция может быть распространена и на большее число переменных.
Операция логического сложения (дизъюнкция) Y = X1 V X2 или Y = X1 + Х2 для двух переменных характеризуется следующими свойствами: 0 + 0 = 0; 0 + 1 = 1; 1 + 0 = 1; 1 + 1 = 1, т. е. единичное значение хотя бы одного из аргументов обеспечивает единичный результат операции.
Совокупность различных значений переменных называют набором. При табличном способе представления (задания) булевых функций значения аргументов (наборы) записывают в строчки таблицы и указывают значение функции на каждом наборе (если n > 4, то такое представление становится достаточно громоздким). Булева функция п аргументов может иметь до N = 2n наборов. Поскольку функция принимает только два значения, общее число булевых функций п аргументов равно 2N = 2k, где k = 2n. Например, функция одного аргумента может иметь четыре значения: Y = X; Y = X`; Y = 1 (константа 1); Y = 0 (константа 0). Кроме указанных операций (И, ИЛИ, инверсия) на практике часто используются еще три логические операции:
ИСКЛЮЧАЮЩЕЕ ИЛИ Y = Х1 Х2; (0 + 0 = 0; 0 + 1 = 1; 1 + 0 = 1; 1 + 1 = 0);
ИЛИ-НЕ (функция Пирса) Y = (X1 + X2)`; (0 + 0 = 1; 0 + 1 = 0; 1 + 0 = 0; 1 + 1 = 0);
И-НЕ (функция Шеффера) Y = (Х1Х2)`; (0 0 = 1; 0 1 = 1; 1 0 = 1; 1 1 = 0).
Условные графические обозначения (УГО) логических элементов, выполняющих элементарные логические операции, представлены на рис. 15.
а) б) в) г) д)
Рис. 15. Условные графические обозначения логических элементов
На рис. 15 показаны обозначения базовых логических элементов, принятые в программе EWB.
В первом ряду: а) буферный логический элемент; б) И (AND); в) ИЛИ (OR); г) ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR);
во втором ряду - их инверсные варианты: NOT, NAND, NOR, XNOR соответственно;
д) триггер Шмитта.
Булева алгебра базируется на нескольких аксиомах, из которых выводят основные законы булевой алгебры для преобразований с двоичными переменными. Каждая аксиома представлена в двух видах, что вытекает из принципа дуальности (двойственности) логических операций, согласно которому операции конъюнкции и дизъюнкции допускают взаимную замену, если одновременно поменять логическую 1 на логический 0, а 0 на 1, знак « V » (или « + ») на « », а « » на « V ». К основным аксиомам относят:
операции отрицания: 0 = 1; 1 = 0.
операции конъюнкции (а) и дизъюнкции (б):
(а) 0 1 = 1; (б) 1 + 1 = 1;
1 0=0 1 = 0; 0+1 = 1+0=1;
1 1 = 1; 0 + 0 = 0.
Законы булевой алгебры вытекают из аксиом и также имеют две формы выражения: для конъюнкции (а) и дизъюнкции (б). Их правильность легко проверить по таблицам истинности либо путем подстановки 0 и 1 вместо соответствующих значений переменных.
1. Переместительный закон:
Х1Х2 = Х2Х1; (а) X1 + Х2 = Х2 + Х1 (б)
2. Сочетательный закон:
Х1(Х2Х3) = (Х1Х2)Х3 = Х1Х2Х3; (a)
X1 + (X2 + Х3) = (Х1 + Х2) + Х3 = X1 + Х2 + Х3. (б)
3. Закон повторения (тавтологии):
Х Х = Х; (а) Х + Х = Х. (б)
4. Закон обращения:
если X1 = Х2, то Х1` = Х2`.
5. Закон двойной инверсии:
(X`)` = X.
6. Закон нулевого множества:
Х 0 = 0; (а) Х + 0 = Х. (б)
7. Закон универсального множества:
Х 1 = Х; (а) Х + 1 = 1. (б)
8. Закон дополнительности:
Х Х` = 0; (а) X + Х` = 1. (б)
9. Распределительный закон:
Х1(Х2 + Х3) = Х1Х2 + Х1Х3; (a)
X1 + X2Х3 = (Х1 + Х2) (X1 + Х3). (б)
10. Закон поглощения:
Х1 + Х1Х2 = Х1; (а) Х1Х2 + Х1Х2` = X1. (б)
11. Закон склеивания:
(Х1 + Х2) (Х1 + Х2`) = Х1; (а) Х1Х2 + Х1Х2` = X1. (б)
12. Закон инверсии (закон Де Моргана):
(Х1Х2)` = Х1` + Х2`; (а) (Х1 + Х2)` = Х1` Х2` (б)
В вычислительной технике рассмотренные логические операции реализуются так называемыми логическими элементами. Они различаются в зависимости от реализуемых функций, числа входов (по числу одновременно действующих переменных), числа выходов и других признаков. Как правило, их работа оценивается только с точки зрения логики, без учета практического воплощения (технической базы, способа питания и т.п.).
В отечественной литературе и документации (в отличие от УГО, см. рис. 15) логические элементы согласно ГОСТ 2.743—82 «Обозначения условные графические в схемах. Элементы цифровой техники» изображают прямоугольником (так называемое основное поле), в верхней части которого указывают символ функции: & для И, 1 для ИЛИ. Входы показывают с левой стороны прямоугольника, выходы — с правой. Допускается другая ориентация прямоугольника, при которой входы располагают сверху, а выходы снизу. Инверсные входы и выходы выделяются индикатором логического отношения — небольшим кружком у вывода. Выводы питания и общий обычно не показываются. В случае необходимости шины, не несущие логической информации (в том числе питания и общие), подводят к левой или правой стороне прямоугольника и помечают звездочкой.
Входы и выходы логических элементов в зависимости от уровня сигнала, при котором воспринимается или вырабатывается определенное значение двоичной переменной, подразделяются на прямые и инверсные. На прямом входе (выходе) двоичная переменная имеет значение логической 1, когда сигнал на этом входе (выходе) имеет значение, принятое за 1. На инверсном входе (выходе) двоичная переменная имеет значение 1, когда уровень сигнала на этом входе (выходе) соответствует состоянию, принятому за 0.
На логические входы можно подавать постоянные логические уровни 1 и 0 (константа 1 и константа 0) согласно законам универсального и нулевого множества. Входы, равноценные в логическом отношении (которые можно менять местами без ущерба для выполняемой функции), допускают объединение по закону повторения: при этом они действуют как один вход.
Логические состояния цифровых устройств могут представляться двумя уровнями напряжения (потенциалов): высоким, близким к напряжению источника питания, и низким, близким к нулю. Это так называемая потенциальная система представления информации, для которой характерны непосредственная связь между отдельными элементами схемы. Длительность потенциальных сигналов определяется частотой смены информации, а переключающими импульсами служат перепады напряжения от одного уровня к другому.
Два уровня напряжения, характеризующие логические состояния, обозначаются: высокий Н (High — высокий) и низкий L (Low — низкий). Эти два значения называют логическими уровнями. Существуют два рода так называемых логических соглашений в зависимости от того, каким уровнем напряжения кодировать логическую 1 (и соответственно логический 0). В соглашении положительной логики более высокий уровень напряжения (Н) соответствует логической 1, а низкий (L) — логическому 0. В соглашении отрицательной логики — наоборот.
Элемент, выполняющий логические функции, можно оценивать с позиций как положительной, так и отрицательной логики. Его функциональная роль в обоих случаях будет различной. Это важное положение, которым часто пользуются на практике, вытекает из закона Де Моргана. Например, по правилам положительной логики (Н — 1) элемент выполняет операцию И, а в отрицательной логике (Н = 0) он действует как элемент ИЛИ, что и следует из закона Де Моргана.
С учетом этого, элементы, выполняющие логические операции, можно изображать на схемах в двух логически эквивалентных формах.
Имея изображение логического элемента, его эквивалентную форму можно получить, проделав следующие преобразования:
а) в основном поле изображения элемента символ операции & заменить на символ 1 либо наоборот;
б) все прямые входы заменить инверсными, а инверсные — прямыми;
в) все прямые выходы заменить инверсными, а инверсные — прямыми.
Различные логические элементы выпускаются промышленностью в виде самостоятельных изделий, а также как составная часть более сложных устройств, в том числе устройств высокой степени интеграции.
Моделирование
простейших логических схем в программе
EWB может проводиться с помощью логического
преобразователя (см. рис. 14). На рисунке
16 приведена
схема для исследования логического
элемента ИСКЛЮЧАЮЩЕЕ ИЛИ. Входы
этого исследуемого элемента подключаются
ко входам А и В логического преобразователя,
выход - к выходу OUT. Очевидно, что при
наличии двух входов возможны только
четыре комбинации (четыре набора) входных
сигналов, что отображается на экране
преобразователя в виде таблицы истинности,
которая генерируется после нажатия
кнопки:
.
Для
получения булева выражения исследуемого
элемента необходимо нажать
кнопку
.
Полученное
выражение приводится на дополнительном
дисплее, расположенном
в нижней части лицевой панели, в виде
двух слагаемых, соответствующих
выходному сигналу логической единицы
на выходе OUT.
а) б)
Рис. 16. Исследование логических элементов
с помощью логического преобразователя
С помощью логического преобразователя можно проводить не только анализ логических устройств, но и их синтез. Допустим, что требуется составить схему и булево выражение для логического элемента, у которого выходная комбинация в таблице истинности не 0110, как на рис. 16, а 1101. Для внесения необходимых изменений отмечаем курсором в столбце OUT подлежащий изменению символ, изменяем его с помощью клавиатуры и затем, перемещаясь по столбцу клавишами управления курсором, изменяем по необходимости символы в других строках.
После внесения всех изменений последовательно нажимаем на кнопки:
и получаем результат, представленный на рис. 17.
Синтезированное логическое устройство показано в верхнем левом углу рис. 17, а его булево выражение — на дополнительном дисплее.
При проведении синтеза логических устройств с целью их оптимизации и получения наиболее простой схемы используются различные методы минимизации булевых выражений (карты Карно, диаграммы Вейча и др.), однако при числе входов более пяти этот процесс становится крайне трудоемким.
Рис. 17. Результат синтеза логического устройства
по заданной таблице истинности
Таким образом, для осуществления синтеза целесообразно выполнить следующие действия. Щелкнуть курсором мыши по иконке логического преобразователя непосредственно на линейке приборов, чтобы раскрыть его лицевую панель. Активизировать курсором клеммы кнопок А, В, ..., Н (начиная с А), в зависимости от количества входов синтезируемого устройства. Внести необходимые изменения в столбец OUT и после нажатия на панели преобразователя указанных выше кнопок управления получить результат в виде схемы на рабочем поле программы и булево выражение на дополнительном дисплее.
При необходимости для двухвходовых логических элементов (см. рис. 15) количество входов можно увеличить до восьми, открывая двойным щелчком по значку компонента диалоговое окно (рис. 18).
Рис. 18. Окно установки количества входов логического элемента
По умолчанию в этом окне указано минимально возможное число входов, равное двум.
Логический преобразователь может использоваться и при моделировании более сложных цифровых узлов и устройств.
