Нормальная форма – это запись ЛФ в базисе И, ИЛИ, НЕ.

Запись булевой функции в СДНФ, заданной таблично, производится по следующему алгоритму:

· в таблице истинности выделяются строки, для которых значение функции равно единице;

· для выделенных строк записывают минтермы (конституенты 1), т. е. произведения аргументов, причем если какой-нибудь аргумент в строке равен нулю, то берется его отрицание;

· записывается логическая сумма полученных минтермов.

Представление булевой функции в СКНФ основано на понятии макстерма (конституенты 0).

Для записи булевой функции в СКНФ необходимо:

· в таблице истинности выделить строки, для которых значение функции равно нулю;

· для выделенных строк записывают макстермы, т. е. сумму аргументов, причем если какой-нибудь аргумент в строке равен единице, то берется его отрицание;

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

Например, для функции неравнозначности y(x1, x2), заданной таблично (табл. 1.1), ее аналитическое представление будет иметь вид:

СДНФ ,

СКНФ .

 

Таблица 1 .1

Номер набора x1 x2 y Минтермы м i Макстермы М i
0 0 0 0
1 0 1 1
2 1 0 1
3 1 1 0

 

Булева функция, заданная таблично или аналитически, может быть изображена на карте Карно, представляющей собой прямоугольник, разбитый на 2m клеток, где m – число аргументов функции.

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

Если ЛФ задана в СКНФ, то в клетки карты Карно, соответствующие макстермам, вписывают нули, а в остальные – единицы и другие символы.

На рис. 1.2 показано отображение на картах Карно функции неравнозначности, заданной в СДНФ (а) и СКНФ (б).

     
0 1   0 1
1 0   1 0

а б

Рис. 1.2

 

Минимизация булевых функций. Упрощение булевых функций или их минимизация – это нахождение из всех возможных форм представления ЛФ такой формы, при которой обеспечивается минимум целевой функции (аппаратных затрат, быстродействия, экономичности и т. д.). Из многочисленных методов минимизации на практике наибольшее распространение получили аналитический и минимизирующих карт.

Аналитический метод минимизации основан на использовании для упрощения заданной ЛФ аксиом и законов алгебры логики, алгоритма Квайна.

В процессе минимизации ЛФ, заданной в СДНФ, сначала находится сокращенная ДНФ (СкКНФ), затем она проверяется на лишние, не влияющие на истинность функции члены, и в результате получается тупиковая ДНФ (ТДНФ).

Если в испытуемой СкДНФ выявлено несколько лишних членов, то сразу их все исключать нельзя. В начале исключают один из избыточных членов, оставшееся выражение проверяют на лишние члены, в результате чего получают первую ТДНФ. Затем из СкДНФ удаляют второй лишний член, проводят испытание оставшихся членов, получают вторую ТДНФ и т. д. Таким образом, из всех полученных тупиковых форм можно выбрать минимальную ДНФ (МДНФ).

Метод минимизирующих карт основан на использовании карт Карно. Процесс минимизации сводится к заключению в контуры соседних клеток, содержащих единицы, и к считыванию с карты упрощенной функции.

Минимизированная ДНФ ЛФ представляет собой дизъюнкцию конъюнкций общих для каждого контура переменных. Число контуров должно быть минимальным, а их площадь максимальной. Площадь прямоугольника покрытия может быть Sпр.= 2m-i клеток, где i = {0, m} – целое число.
Если, например, m = 3, то возможно Sпр.= 1, 2, 4, 8.

В результате можно сразу получить тупиковую форму ЛФ.

На рис. 1.3 сплошными линиями показано оптимальное покрытие единиц, которое дает тупиковую форму исходной ЛФ в СДНФ (таблица истинности – табл. 1.2) в виде . Третий контур покрытия (пунктирный) соответствует члену , который является лишним.

Рис. 1.3

 

Таблица 1.2

Номер набора x1 x2 x3 y(x)
0 0 0 0 0
1 0 0 1 1
2 0 1 0 1
3 0 1 1 1
4 1 0 0 0
5 1 0 1 1
6 1 1 0 0
7 1 1 1 0

 

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

При выявлении гонок обычно рассматривают соседние состояния (наборы), отличающиеся значением переменной только в одном разряде, так как одновременное изменение нескольких входных переменных может быть исключено методами противогоночного кодирования.

Различают статические и динамические состязания.

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

Динамические состязания могут возникать при формировании на входе соседними состояниями алгоритмического перехода на выходе

от нуля к единице, и наоборот.

На практике больше внимания уделяют статическим состязаниям.

Для выявления опасных состязаний в логических схемах на практике используется критерий Хаффмена: статические состязания в устройстве с минимальной структурой имеют место, если на карте Карно при охвате соседних клеток контурами склеивания останутся хоты бы две клетки, не покрытые контуром.

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

На карте Карно (рис. 1.2) имеются две соседние клетки с «координатами» и (переходы 1 « 3), не охваченные контуром покрытия единиц, и в соответствии с критерием Хаффмена в схеме могут появиться опасные 1-состязания. Их устранение достигается введением дополнительного контура покрытия (показан пунктиром), который оказался лишним при переходе от СкДНФ к ТДНФ.

Для построения данной схемы на ЛЭ И–НЕ применим к ЛФ двойное отрицание и теорему де Моргана

.

Полученная схема (рис. 1.4) не будет свободна от опасных 1-состязаний, но если ввести дополнительный ЛЭ И–НЕ (его подключение показано пунктиром), соответствующий третьему избыточному контуру покрытия единиц, то опасность появления гонок будет устранена.

 

Рис. 1.4

 

Логическая функция с дополнительным ЛЭ примет вид

.

Идеализированные (без учета длительности фронтов) временные диаграммы, соответствующие переходам 1 « 3 (001 « 011), приведены на рис. 1.5. Пунктирными линиями и стрелками отмечены задержки сигналов в ЛЭ схемы. При переходе 1 ® 3 (001 ® 011) задержки не вызывают неалгоритмического перехода логической функции. Но при переходе 3 ® 1 (011 ® 001) в интервале Dt функция обращается в нуль, что противоречит таблице истинности (табл. 1.2). При подключении дополнительного ЛЭ на его выходе формируется уровень нуля, благодаря чему функция равна единице.

 

Рис. 1.5 Рис. 1.6

 

Для выявления опасных 0-состояний нужно перейти к покрытию на карте Карно нулей, что достигается инвертированием ЛФ и нанесением контуров и нулей в соответствии с выражением

В этом случае (рис. 1.6) соседние клетки охвачены контурами покрытия и опасных 0-состязаний не будет. Таким образом, повышение функциональной надежности комбинационных логических схем достигается введением избыточных логических элементов, что усложняет схему и приводит к увеличению аппаратных затрат. На практике применяются и другие способы построения функционально-устойчивых схем: передача сигналов от одного устройства к другому с помощью специальных импульсов синхронизации, пауза между которыми выбирается такой, чтобы за ее время полностью закончились переходные процессы в ЛЭ и схемах.

Структурные схемы в отечественной литературе и документации логические элементы изображают прямоугольником (так называемое основное поле), в верхнем части которого указывают символ функции: & для И, 1 для ИЛИ. Входы показывают с левой стороны прямоугольника, выходы – с правой. Инверсные входы и выходы выделяются небольшим кружком у вывода.

a b c

d e f

 

Рис. 1.7. Графические обозначения логических элементов

 

На рис. 1.7 показаны обозначения базовых логических элементов , принятые в программе EWB: a – элемент И (AND); b – элемент ИЛИ (OR); c – буферный логический элемент; d – элемент И-НЕ (NAND); e – элемент ИЛИ-НЕ (NOR); f – инвертор НЕ (NOT);

Для двухвходовых элементов можно увеличить количество входов до восьми, открывая двойным щелчком по значку компонента диалоговое окно «Number of inputs».

Моделирование логических схем в программе EWB целесообразно проводить с помощью логического преобразователя (ЛП).

Рис.1.8. Схема для исследования логического элемента – И

 

На рис. 1.8 приведена схема логического преобразователя для исследования элемента – И. При наличии двух входов возможны только четыре комбинации входных сигналов, что отображается на экране преобразователя в виде таблицы истинности, которая генерируется после нажатия кнопки . Для получения булева выражения исследуемого элемента необходимо нажать кнопку . Для упрощения выражения следует нажать кнопку . Выражения приводятся на дополнительном дисплее, расположенном в нижней части лицевой панели. Причем логическое сложение отражается символом «+», отрицание – символом «'». При умножении двух аргументов они пишутся друг за другом без каких-либо символов. При нажатии кнопки на рабочем поле EWB мы получаем схему, реализующую данную ЛФ в базисе И-ИЛИ-НЕ, а при нажатии кнопки – схем в базисе И-НЕ. При работе с конвертором следует помнить, что самым старшим является разряд А, а самым младшим – разряд Н.

Рис. 1.9. Схема исследование логических элементов с
помощью генератора слова. Выходы логических элементов
подключены к светоиндикаторам логических уровней

 

ЛАБОРАТОРНОЕ ЗАДАНИЕ

1. Ознакомиться с программой моделирования “Electronics Work- bench” (EWB)5.12 Руководство пользователю) ”.

2. Установить экспериментально функциональную полноту ЛЭ ИЛИ–НЕ, И–НЕ выполнив на их основе логические схемы, реализующие операции НЕ, И, ИЛИ с помощью логического преобразователя (Л.П.) в EWB с помощью схемы на рис. 1.8 и установите для каждого из них соответствие таблицы истинности и булева выражения.

3. Синтезировать минимизированную функционально-устойчивую комбинационную логическую схему, алгоритм функционирования которой задан следующей таблицей истинности (табл. 1.3) (по вариантам):

Таблица 1.3

Варианты заданий

Вариант Функция алгебры логики Вариант Функция алгебры логики
1. 16.
2. 17.
3. 18.
4. 19.
5. 20.
6. 21.
7. 22.
8. 23.
9. 24.
10. 25.
11. 26.
12. 27.
13. 28.
14. 29.
15. 30.

 

3.1. Построить при помощи программы EWB дискретную схему без ее упрощения по формуле, взятой из таблицы 1.3, в соответствии с заданным вариантом.

3.2. Получить таблицу истинности (ТИ) построенной схемы, используя ЛП.

3.3. По ТИ, используя соответствующее свойство ЛП, найти СДНФ.

3.4. На основе СДНФ построить схему дискретного устройства в базисе И-ИЛИ-НЕ и базисе И-НЕ.

3.5. Провести минимизацию ЛФ по карте Карно.

3.6. Пользуясь критерием Хаффмена, определить возможность появления статических опасных состязаний (единичных и нулевых), предложить меры для их устранения.

3.7. Построить свободную от статических опасных состязаний минимизированную функцию в базе И–НЕ используя ЛП, упростить СДНФ и построить схему дискретного устройства в базе И-НЕ и ИЛИ-НЕ

3.8. Сравнить схемы дискретного устройства пункта 3.1, 3.4, 3.7.

3.9. Нарисовать идеализированные временные диаграммы для опасных переходов входных сигналов.

Содержание отчета

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