Пример реализации системы логических функций на трёхвходовых элементах И - НЕ, ИЛИ - НЕ
СИНТЕЗ ЛОГИЧЕСКИХ
УСТРОЙСТВ
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
к лабораторным работам
по дисциплине
“Компьютерная логика ”
для студентов направления
“Программная инженерия”
УТВЕРЖДЕНО
на заседании кафедры
программной
инженерии
Протокол № 5 от 25 декабря 2012 г.
Чернигов ЧГТУ 2012
Синтезн логічних пристроїв. Методичні вказівки до лабораторних робіт з дисципліни “Комп’ютерна логіка” для студентів напрямку “Програмна інженерія” / Укладачі: Соломаха В.В.– Чернігів: ЧДТУ, 2012. - 72 с. Рос. мовою.
Составители: Соломаха В.В., старший преподаватель
Ответственный за выпуск: | Литвинов В.В., зав. кафедрой программной инженерии, доктор техн. наук, профессор |
Рецензент: | Нестеренко С.О., канд. техн. наук, доцент |
СОДЕРЖАНИЕ
1 ЛАБОРАТОРНАЯ РАБОТА № 1. 5
ОЗНАКОМЛЕНИЕ CО СРЕДОЙ MICRO-CAP. 5
1.1 Цель работы.. 5
1.2 Задание правильных настроек. 5
1.3 Основные режимы работы.. 6
1.4 Создание новой схемы.. 7
1.5 Добавление в схему нового компонента. 7
1.6 Назначение свойств компоненту. 8
1.7 Проверка правильности расположения контактов компонента. 8
1.8 Соединение элементов на схеме. 10
1.9 Установка и описание генератора прямоугольных импульсов. 11
1.10 Установка контрольных точек на схеме. 12
1.11 Подача на вход элемента 0 или 1. 14
1.12 Поворот элементов на схеме. 15
1.13 Анализ работы схемы с помощью временной диаграммы.. 15
1.14 Удаление элементов из схемы.. 16
1.15 Использование буфера обмена. 16
2 ЛАБОРАТОРНАЯ РАБОТА № 2. 17
РЕАЛИЗАЦИЯ БУЛЕВЫХ ФУНКЦИЙ НА ЛОГИЧЕСКИХ ЭЛЕМЕНТАХ И - НЕ, ИЛИ - НЕ, ИСКЛЮЧАЮЩЕЕ ИЛИ.. 17
2.1 Цель работы.. 17
2.2 Основные положения. 17
2.3 Задания, выполняемые до лабораторного занятия. 18
2.4 Пример реализации системы логических функций на трёхвходовых элементах И - НЕ, ИЛИ - НЕ. 19
2.5 Пример реализации логических функций в базисе Жегалкина. 22
2.6 Содержание отчета. 24
2.7 Контрольные вопросы.. 24
3 ЛАБОРАТОРНАЯ РАБОТА № 3. 25
ПРОЕКТИРОВАНИЕ И ИССЛЕДОВАНИЕ ТРИГГЕРОВ.. 25
3.1 Цель работы.. 25
3.2 Основные положения. 25
3.3 Пример построения DV-триггеров по MS схеме на элементах И-НЕ. 32
3.4 Задания для домашней подготовки. 35
3.5 Порядок выполнения работы.. 36
3.6 Содержание отчета. 36
3.7 Контрольные вопросы.. 36
4 ЛАБОРАТОРНАЯ РАБОТА № 4. 37
ПРОЕКТИРОВАНИЕ И ИССЛЕДОВАНИЕ. 37
СИНХРОННЫХ АВТОМАТОВ.. 37
4.1 Цель работы.. 37
4.2 Основные положения. 37
4.3 Задания выполняемые до лабораторного занятия. 48
4.4 Порядок выполнения работы.. 48
4.5 Содержание отчета. 48
4.6 Контрольные вопросы.. 49
РЕКОМЕНДОВАННАЯ ЛИТЕРАТУРА.. 50
1 ЛАБОРАТОРНАЯ РАБОТА № 1
ОЗНАКОМЛЕНИЕ CО СРЕДОЙ MICRO-CAP
1.1 Цель работы
В этой лабораторной работе необходимо ознакомиться с основными действиями, необходимыми для синтеза и анализа работы комбинационных и последовательностных схем с помощью программной среды Micro-Cap V.
1.2 Задание правильных настроек
После установки программы на компьютер необходимо указать правильные пути к ее файлам. Для этого в любом текстовом редакторе, к примеру, встроенном редакторе FAR, отредактировать файл mc5.dat из корневой папки MC5LAB следующим образом:
Рисунок 1.1 – Содержимое файла mc5.dat
в строке MC5DATA= указать путь на папку DATA.
В данном случае: MC5DATA=C:\MC5LAB\DATA.
1.3 Основные режимы работы
· выбор (Select)
· добавление компонентов (Component)
· текст (Text)
· соединение компонентов проводниками (Wire или WireD)
Переключение между режимами можно производить тремя способами:
1.
с помощью пунктов меню: Options/Mode
Рисунок 1.2 – Панель меню Options/Mode
2. кнопками панелей инструментов:
Рисунок 1.3 – Кнопки панелей инструментов
3. горячими клавишами:
Выбор Options/Mode/Select ^ E
Компонент Options/Mode/Сomponent ^ D
Провод Options/Mode/Wire ^ W
Текст Options/Mode/Text ^ T
В режиме “Выбор” можно отметить любой элемент схемы: компонент, проводник, текст и т.д.
Режим “Компонент” предназначен для добавления в схему новых компонент.
В режиме “Провод” осуществляется соединение компонентов проводниками (прямыми и ортогональными).
“Текст” предназначен для нанесения на схему текстовых фрагментов, например, идентификаторов контрольных точек.
1.4 Создание новой схемы
В верхнем меню выбрать пункт File. В выпавшем меню выбрать пункт New. После этого, в открывшемся диалоговом окне, выбрать опцию Schematic и нажать кнопку OK.
Примечание: при запуске программы Micro-Cар новая схема создается автоматически.
1.5 Добавление в схему нового компонента
Для этого необходимо выбрать его в пункте верхнего меню Component\Digital Primitives\Standard Gates.
Рисунок 1.4 – Добавление нового компонента
В открывшемся подменю необходимо выбрать тип логического элемента (And Gates – элементы И, Nand Gates – элементы И-НЕ, Or Gates – элементы ИЛИ, Nor Gates – элементы ИЛИ-НЕ, Inverters – инверторы, Xor Gates – сложение по модулю два (исключающее ИЛИ), Xnor Gates – отрицание сложения по модулю два). В каждом из подменю, соответствующим типу логического элемента, содержится один или несколько пунктов, соответствующих элементам выбранного типа с различным числом входов. После выбора необходимого элемента следует поместить его на схему, щелкнув мышью в том месте, где он должен появиться.
1.6 Назначение свойств компоненту
После того как вы первый раз поставите элемент на схему, появится диалоговое окно, в котором можно назначить такие свойства элемента как имя (Part), и время задержки (Timing Model). Чтобы установить временную задержку равную нулю, выберите справа опцию D0_GATE.
Рисунок 1.5 – Назначение свойств компоненту
1.7 Проверка правильности расположения контактов компонента
Так как часто фактические контакты компонента могут не совпадать с его входом и выходами, поэтому рекомендуется, до соединения элементов между собой проводниками, убедиться в их правильном расположении.
Для этого необходимо зайти в пункт меню Windows в котором выбрать подменю Component Editor…
1.6 – Пункт меню Windows
Появится диалоговое окошко Component Editor:
В правом окне его перечислены все библиотечки компонентов. Здесь нужно выбрать нужный компонент. Он появится в левом окне. И если точки, обозначающие контакты, находятся не на входе и выходах элемента, то с помощью курсора мыши необходимо перетащить их на нужную позицию.
Рисунок 1.7 - Диалоговое окошко Component Editor:
Затем нажать кнопку меню Close.
Рисунок 1.8 - Диалоговое окно Save changes?
В диалоговом окне Save changes? нажать кнопку Yes.
1.8 Соединение элементов на схеме
Рисунок 1.9 – Соединение элементов
Для того, чтобы соединить контакты логических элементов между собой проводниками, перейдите в режим работы “Текст”, например, с помощью кнопок панели инструментов. Не, отпуская левой кнопки мыши, соедините нужные контакты элементов между собой. Чтобы закрепить проводники, щелкните на соответствующем контакте элемента. На нем должна появиться точка.
1.9 Установка и описание генератора прямоугольных импульсов
Чтобы провести анализ работы синтезированной схемы, необходимо подавать на входы схемы последовательно все допустимые наборы сигналов и проверять соответствие им сигналов на выходе этой схемы. Для подачи сигналов используют генераторы импульсов, которые находятся в подменю Component\Digital Primitives\Stimulus Generators. После того, как генератор помещен на схеме, в открывшемся диалоговом окне в поле FORMAT введите количество единиц, соответствующее количеству выходов генератора, а в поле COMMAND – какой-либо идентификатор (например, log).
Рисунок 1.10 – Описание полей FORMAT и COMMAND
Далее необходимо описать работу генератора. Для этого в закладке Text вашей схемы впишите следующие строки:
Рисунок 1.11 – Описание работы генератора
Вышеприведенный пример соответствует описанию работы генератора с четырьмя выходами. Аналогично описываются и другие генераторы.
1.10 Установка контрольных точек на схеме
Для того, чтобы можно было проверять сигналы на входах и выходах схемы, необходимо установить контрольные точки. Контрольная точка – это точка, находящаяся на соединительном проводнике или контакте какого-либо элемента схемы. Каждой контрольной точке присваивается имя (идентификатор). При анализе схемы можно контролировать ее состояние в контрольных точках, обращаясь к ним по идентификаторам. Для того чтобы установить на схему контрольную точку, нужно сделать следующее:
· перейдите в режим работы “Текст”
· подведите курсор мыши к тому месту на схеме, где должна находится контрольная точка, и щелкните левой кнопкой мыши;
· в открывшемся диалоговом окне введите имя контрольной точки, и нажмите кнопку ОК.
Рисунок 1.12 – Ввод имени контрольной точки
Рисунок 1.13 – Контрольные точки на схеме
1.11 Подача на вход элемента 0 или 1
При синтезе схем в базисе Жегалкина часто нужно подавать на вход элемента исключающее ИЛИ “1”.
Для этого необходимо зайти в пункт меню Component/Digital Primitives/Stimulus Generators/Fixed Digital
Рисунок 1.14 –Пункт меню Component/Digital Primitives/Stimulus Generators/Fixed Digital
В появившемся диалоговом окне указать Value 1 (или 0).
Рисунок 1.15 – Установка Value
1.12 Поворот элементов на схеме
Для поворота элементов на схеме вокруг своей оси необходимо в режиме Select, держа нажатой клавишу Shift, щёлкая левой кнопкой мышки по элементу, добиться его необходимой ориентации.
Рисунок 1.16 – Поворот элементов на схеме
1.13 Анализ работы схемы с помощью временной диаграммы
Выберите в верхнем меню пункт Analysis\Transient Analysis. (То же можно сделать с помощью горячих клавиш Alt + 1). Откроется следующее
окно:
Рисунок 1.17 – Окно Transient Analysis
В первых четырех строках ввода можно оставить значения по умолчанию. В нижней части окна находятся строки, которые нужно заполнить, чтобы на временной диаграмме схемы отображались состояния схемы в контрольных точках. В столбце Y Expression в скобках следующих за буквой d, необходимо вписать имена контрольных точек (которые присутствуют на схеме). После этого нужно нажать кнопку Run. При этом на экране появится временная диаграмма работы вашей схемы. Она выглядит приблизительно так:
Рисунок 1.18 – Временная диаграмма работы схемы
1.14 Удаление элементов из схемы
В режиме “Выбор” левой кнопкой мыши щелкнуть на элементе, который нужно удалить. Он подсветится красным цветом. После этого нажать кнопку на клавиатуре Delete. При необходимости выделить всю схему применяются горячие клавиши ^ A. Отменить операцию можно с помощью пункта меню Edit/Undo. Либо стандартными горячими клавишами: ^ Z.
1.15 Использование буфера обмена
Во всех окнах можно использовать буфер обмена для редактирования схемы с помощью стандартных горячих клавиш:
· ^ X – вырезать в буфер;
· ^ C – скопировать в буфер;
· ^ V – вставить из буфера.
2 ЛАБОРАТОРНАЯ РАБОТА № 2
РЕАЛИЗАЦИЯ БУЛЕВЫХ ФУНКЦИЙ НА ЛОГИЧЕСКИХ ЭЛЕМЕНТАХ И - НЕ, ИЛИ - НЕ, ИСКЛЮЧАЮЩЕЕ ИЛИ
2.1 Цель работы
Изучить методы проектирования комбинационных схем на логических элементах типа И - НЕ, ИЛИ - НЕ, исключающее ИЛИ.
2.2 Основные положения
Проектирование комбинационной схемы состоит из трех этапов.
На первом этапе, исходя из таблицы истинности, описывающей работу синтезируемой комбинационной схемы, находят минимальную дизъюнктивную нормальную форму (МДНФ) функции и минимальную конъюнктивную нормальную форму (МКНФ).
Если функция, описывающая работу синтезируемой схемы, является не полностью определенной (т.е.задана не на всех наборах), то производят ее дополнение так, чтобы функция имела более простую МДНФ (МКНФ). На этом первый этап заканчивается.
На втором этапе функцию записывают в так называемой операторной форме, т.е. в виде суперпозиции операторов логических элементов. Оператором логического элемента называют функцию, реализуемую этим элементом. Таких форм восемь. Если число входов у элементов ограничено, то используют для представления функции в операторной форме следующие соотношения:
x1 • x2 •...• x n = (x1 •...• x p) • (x p+1 •...• x 2p) •...• (x mp+1 •...• x n),
x1 Ú x2 Ú...Ú x n = (x1 Ú...Ú x p) Ú (x p+1 Ú...Ú x 2p) Ú...Ú (x mp+1 Ú...Ú x n),
x1 • x2 •...• x n = (x1 •...• x p) • (x p+1 •...• x 2p) •...• (x mp+1 •...• x n),
x1 Ú x2 Ú...Ú x n = (x1 Ú...Ú x p) Ú (x p+1 Ú...Ú x 2p) Ú...Ú (x mp+1 Ú...Ú x n),
На заключительном третьем этапе по операторным представлениям функций составляется искомая комбинационная схема.
Задача синтеза комбинационной схемы с несколькими выходами может быть сведена к синтезу комбинационной схемы с одним выходом, если функцию каждого выхода синтезировать отдельно. В этом случае заданная система из m функций будет реализована в виде m не связанных между собой комбинационных схем, так как это приводит к дублированию логических элементов.
Существующие методы синтеза комбинационных схем с несколькими входами базируются на идее использования одной функции (или ее части) для получения другой функции. При небольшом m весьма наглядным является способ применения карт Карно. Для каждой функции карты строятся раздельно, а затем (путем сравнения карт) отмечаются одноименные наборы, на которых все или несколько функций принимают единичные значения.
2.3 Задания, выполняемые до лабораторного занятия
Перед выполнением задания необходимо определить свой вариант булевой функции. С этой целью переведите номер по списку в группе в двоичную систему счисления и запишите его в виде слова а 5 а 4 а 3 а 2 а 1.
1. Для заданной в таблице 2.1 функции с учетом подстановки значений а i:
- найти с помощью карт Карно МДНФ и МКНФ;
- записать заданную функцию во всех восьми операторных нормальных
формах;
- построить комбинационные схемы, реализующие заданную функцию на основе трехвходовых элементов И - НЕ, ИЛИ - НЕ;
- для полученных схем указать операторную запись функции, количество N элементов в схеме, уровень схемы L (максимальное число последовательно соединенных элементов).
2. Построить на трехвходовых логических элементах И - НЕ, ИЛИ – НЕ преобразователь кодов в соответствии с таблицей 2.2.
Определить для полученных схем значения N и L.
Таблица 2.1 – Функция четырех переменных Таблица 2.2 – Системафункций
x1 x2 x3 x4 | у | x1 x2 x3 x4 | y1 y2 y3 y4 | |
0 0 0 0 | 0 0 0 0 | 0 1 1 1 | ||
0 0 0 1 | 0 0 0 1 | 0 0 0 0 | ||
0 0 1 0 | a1 | 0 0 1 0 | 0 1 1 0 |
Продолжение таблицы 2.1 Продолжение таблицы 2.2 | ||||
0 0 1 1 | 0 0 1 1 | 0 0 0 0 | ||
0 1 0 0 | a2 | 0 1 0 0 | 1 0 0 a1 | |
0 1 0 1 | 0 1 0 1 | 0 1 0 0 | ||
0 1 1 0 | 0 1 1 0 | 1 0 0 a2 | ||
0 1 1 1 | 0 1 1 1 | 0 1 1 1 | ||
1 0 0 0 | a3 | 1 0 0 0 | 1 1 1 a3 | |
1 0 0 1 | a4 | 1 0 0 1 | 1 1 1 1 | |
1 0 1 0 | 1 0 1 0 | 1 1 1 a4 | ||
1 0 1 1 | 1 0 1 1 | 1 1 1 1 | ||
1 1 0 0 | a5 | 1 1 0 0 | 0 0 0 0 | |
1 1 0 1 | 1 1 0 1 | 1 0 1 1 | ||
1 1 1 0 | 1 1 1 0 | 0 0 0 a5 | ||
1 1 1 1 | 1 1 1 1 | 1 0 1 1 |
3. Разработать комбинационную схему в базисе {Ù, Å, 1}. С этой целью логическую функцию, заданную таблицей истинности (таблица 2.3), представить полиномом Жегалкина.
Таблица 2.3 – Функция для базиса Жегалкина
x1 x2 x3 | у |
0 0 0 | a1 |
0 0 1 | |
0 1 0 | a2 |
0 1 1 | a3 |
1 0 0 | |
1 0 1 | a4 |
1 1 0 | a5 |
1 1 1 |
Пример реализации системы логических функций на трёхвходовых элементах И - НЕ, ИЛИ - НЕ
Таблица 2.4 – Таблица истинности системы четырех булевых функций от четырех переменных
x1 | x2 | x3 | x4 | у1 | у2 | у3 | у4 |
Продолжение таблицы 2.4 | |||||||
,
,
,
,
где ,
,
Для реализации системы функций, заданной таблицей истинности 2.4, потребовалось 12 элементов И - НЕ и 2 элемента ИЛИ - НЕ. В схемах были использованы генератор Steam4, четыре инвертора для получения инверсных значений входных сигналов. Точки входных сигналов обозначены x1, x2, x3, x4, а выходные — OUT1, OUT2, OUT3, OUT4.
Рисунок 2.1 - Комбинационная схема, реализующая систему функций
Рисунок 2.2 – Пример ввода параметров для построения временных диаграмм
Рисунок 2.3 – Временные диаграммы работы схемы на рисунке 2.1