Лабораторная работа № 2. Синтез логических схем цифровых устройств
1. Цель работы
Изучение работы, методов синтеза и особенностей логических схем цифровых устройств, приобретение навыков реализации их на реальных интегральных элементах, умений построить и исследовать их в реальных условиях. В программу лабораторной работы входит синтез и исследование схем, реализующих элементарные и произвольные логические функции нескольких переменных а также схем простейших цифровых устройств с помощью реальных элементов на интегральных микросхемах.
2. Теоретический раздел
В процессе разработки цифровых устройств проводят сравнительный анализ различных вариантов построения функциональных схем и осуществляют необходимый выбор логических элементов. Основным математическим элементом при синтезе логических схем является математический аппарат алгебры логики. Любая логическая функция может быть достаточно просто описана и синтезирована с помощью известных основных свойств и законов алгебры логики. Этот процесс требует от разработчика определенных умений и навыков решения задач булевой алгебры.
Более сложным является процесс превращения синтезированной функции в реальную электрическую схему с учетом ограничений, накладываемых реальными элементами, имеющие ограниченное число реализуемых функций, входов, конечную нагрузочную способность.
В общем случае на вход цифрового устройства поступает множество двоичных переменных X(x 1 , x 2 , …, x n ), а с выхода снимается множество двоичных переменных Y(y 1 , y 2 ,…, y n ). При этом устройство реализует определенную связь – логическую функцию – между входными и выходными переменными. Задача, которую должно решать устройство, обычно задается содержательно – словами.
На этапе абстрактного синтеза осуществляют переход от содержательного описания задачи к формализованному в виде таблиц или формул булевых функций.
Однако, как правило, булева функция, полученная из таблиц, содержит лишние сочетания переменных. Поэтому цифровое устройство, выполняющий операцию в соответствии с такой булевой функцией, оказывается громоздким. Чтобы упростить его схему, необходимо упростить (минимизировать) булеву функцию, положенную в основу его работы.
На этапе структурного синтеза минимизированную булеву функцию реализуют, т.е. выбирают тип элементов и создают схему их электрических соединений между собой так, чтобы устройство решало поставленную задачу.
Таким образом, первым этапом синтеза цифровых схем будет получение булевой функции из таблицы истинности. Данная операция основана на следующих соображениях. Значение булевой функции Y, как результат выполнения логических операций над двоичными переменными, зависит от значений аргументов. Задание булевой функции означает указание значений, которые принимает функция (0 или 1) при всех возможных комбинациях аргументов. Каждую конкретную комбинацию аргументов называют набором . Для краткости набор записывают в виде двоичного числа, цифрами которого являются значения аргументов. При n аргументах существует P=2 n наборов.
Если известны значения функции на всех наборах аргументов, то ее называют полностью определенной. Если же на некоторых наборах значение функции неизвестно, то она называется недоопределенной или не полностью определенной, а комбинации аргументов, для которых функция не определена, запрещенными наборами.
Значения функции на запрещенных наборах можно задать по своему усмотрению, т.е. доопределить функцию. Этот прием используется для минимизации функций.
Например, пусть содержательно задана следующая функция “Функция трех аргументов принимает значение 1, если два любых аргумента (или все три) равны 1. Во всех других случаях функция равна нулю”. Данную функцию можно назвать “голосованием по большинству”.
Количество наборов трех аргументов (X 1, X 2, и X 3) равно 8. Пронумеруем их от 0 до 7. Заполнив табл. 2.1 в соответствии с содержательным заданием функции, получим табличное представление функции Y1, являющейся полностью определенной функцией.
Номера наборов | X 3 | X 2 | X 1 | Y 1 | Y2 | Y3 |
0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 | X | 0 |
2 | 0 | 1 | 0 | 0 | X | 0 |
3 | 0 | 1 | 1 | 1 | 1 | 0 |
4 | 1 | 0 | 0 | 0 | X | 0 |
5 | 1 | 0 | 1 | 1 | 1 | 0 |
6 | 1 | 1 | 0 | 1 | 1 | 0 |
7 | 1 | 1 | 1 | 1 | 0 | 1 |
Рассмотрим теперь другую функцию, содержательно заданную так: “Функция трех аргументов принимает значение 1, если два любых аргумента равны 1, и равна 0 в случае однозначности всех трех аргументов”. Эта функция, обозначенная Y 2, не определена на 1, 2 и 4 наборах, поэтому в табл.1.2 против этих наборов проставлен знак X. Данная функция недоопределенная, а наборы 1, 2 и 4 запрещенные.
Конституентой единицы называют функцию n аргументов, которая принимает значение, равное единице, только на одном наборе аргументов. На всех остальных наборах она равна нулю. Например, функция единогласия: “функция трех аргументов равна единице лишь при равных единице всех аргументах; в остальных случаях она равна нулю” – является конституентой единицы, в табл. 2.1 она обозначена Y 3.