- •Рабочая программа, методические указания и контрольные задания
- •1. Цель и задачи дисциплины
- •Распределение часов по формам обучения и видам занятий
- •2. Содержание лекционного курса
- •3. Практические занятия 17 часов
- •4. Контрольные задания
- •5. Методические указания к контрольным работам №1,2
- •5.1. Минимизация булевых функций с использованием карт Карно
- •5.3. Метод Квайна-Мак-Класки
- •6. Курсовой проект
- •7. Лабораторные работы
- •8. Вопросы к экзамену и зачету
5.3. Метод Квайна-Мак-Класки
Основным недостатком метода Квайна является необходимость полного попарного сравнения ЭК на этапе нахождения первичных импликант. Поэтому при большом числе ЭК применение метода Квайна становится весьма затруднительным.
Мак-Класки предложил модернизацию алгоритма Квайна, которая заключается в том, что все ЭК, входящие в СДНФ записывается в виде двоичных чисел (номеров наборов), которые группируются по числу входящих в них единиц в непересекающиеся классы. В класс с номером i войдут все ЭК содержащие в своей двоичной записи i единиц. Попарное сравнение следует производить между соседними по номеру классами, так как только в них могут находиться склеивающиеся ЭК.
При образовании ЭК ранга меньше n вместо исключенных переменных ставится символ стирания x.
Этап 1. Нахождение первичных импликант.
Рассмотрим пример из раздела 5.2.
Исходная функция: f = (1, 3, 7, 8, 11, 12, 13, 18, 19, 24, 25, 26, 27).
Разбивая ЭК на классы по числу единиц, получим:
К1=(00001*,01000*); К2=(00011*,10010*,11000*,01100*); К3=(00111*,01011*,01101*,10011*,11001*,11010*); К4 = (11011*).
Образуем новые классы путем склеивания ЭК в соседних классах К1...К4:
К1*=(000x1,x1000,01x00*); К2*=(00x11,0x011*,x0011*,1001x*,1x010*,1100x*,110x0*,0110x); К3* = (x1011*,1x011*,110x1*,1101x*).
Строим ЭК 3-го ранга:
К1**=(000x1,x1000,01x00); К2** = (00x11,xx011,1x01x,110xx,0110x).
Таблица 5.3.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
000x1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
x1000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
01x00 |
|
|
|
|
|
|
|
|
|
|
|
|
|
00x11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
xx011 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1x01x |
|
|
|
|
|
|
|
|
|
|
|
|
|
110xx |
|
|
|
|
|
|
|
|
|
|
|
|
|
0110x |
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 5.4.
|
|
x1000 |
|
01x00 |
|
Дальнейшие склеивания не возможны, поэтому переходим ко второму этапу (табл. 5.3.).
После вычеркивания избыточных столбцов и избыточных первичных импликант получим следующую таблицу (табл. 5.4.).
Полученная МДНФ примет вид:
000x1, 01x00, 00x11, xx011, 1x01x, 110xx, 0110x.
Нетрудно убедиться, что МДНФ, полученные двумя методами, совпадают.
5.4. Построение комбинационной схемы функции в заданном базисе
Под комбинационной схемой (КС) понимается логическая (цифровая) схема, выходные сигналы которой зависят только от значений входных сигналов в данный момент времени и не зависят от предшествующих входных и выходных сигналов. Можно сказать, что КС - это правильная схема, построенная из функциональных элементов, являющихся автоматами без памяти. В свою очередь, правильной называют логическую схему без обратных связей, соединения элементов в которой выполнены по правилам, соответствующим в функциональном отношении операции суперпозиции функций.
Основными задачами теории КС являются задачи анализа и синтеза схем.
Задача анализа состоит в нахождении общего конструктивного приема (алгоритма), позволяющего по любой КС построить функцию этой схемы и по ней определить зависимость сигнала на каждом из ее выходов от сигналов на входах. Решение этой задачи состоит в выписывании суперпозиций функций, определяемых соединением элементов схемы.
Задача синтеза КС сводится к представлению реализуемых функций в виде суперпозиции функций, реализуемых некоторым заранее заданным набором логических элементов.
Обобщенный алгоритм проектирования КС представлен на рис.5.5.
Данный алгоритм может видоизменяться в конкретных условиях проектирования. (Так составление таблиц истинности может не потребоваться для относительно простых БФ, которые легко записать в аналитической форме). Минимизация БФ может отсутствовать при использовании для реализации функции интегральных схем средней степени интеграции, таких как мультиплексоры, дешифраторы, программируемые логические матрицы (ПЛМ) и др.
Для получения функциональной схемы, соответствующей заданной функции алгебры логики, необходимо выразить эту функцию в некотором функционально полном базисе и сопоставить каждой элементарной функции функциональный элемент ей соответствующий. Процесс такого преобразования состоит в последовательной декомпозиции исходной формы представления заданной функции на подфункции, представленные в заданном функциональном базисе, и продолжается до тех пор, пока не будет найдена эквивалентная БФ в требуемом базисе.
Допустим, что у нас имеется некоторое исполнительное устройство – электрическая сирена и 4 датчика – два на окнах, один на двери и датчик снятия тревоги с пульта. Введем обозначения: х1--сигнал датчика первого окна, х2- сигнал датчика второго окна, х3-сигнал датчика дверей, х4-сигнал снятия тревоги с пульта. Сигнал включения электрической сирены представляет собой логическую функцию вида: у=f(х1,х2,х3,х4). Построив таблицу истинности для функции на основе словесного алгоритма работы схемы, получим запись функции:
y = 1 2x3 4 v 1x2 3 4 v 1x2x3 4 v x1 2 3 4 v x1 2x3 4 v x1x2 3 4 v x1x2x3 4.
Выполнив минимизацию логической функции, используя карту Карно, получим:
y = x1 4 v x3 4 v x2 4.
Рассмотрим полученную функцию у в различных базисах.
В базисе 2И-НЕ получим:
y = = .
Рис. 5.5.
Рис. 5.6.
Обозначим a= , b= , c= .
Получится следующая физическая схема (рис. 5.6).
Построим схему в базисе 2ИЛИ-НЕ.
Обозначим a= , b= , c= .
a= , b= , c= .
Схема приведена на рис. 5.7.
Рис. 5.7.