Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебники 6091.doc
Скачиваний:
4
Добавлен:
01.05.2022
Размер:
710.14 Кб
Скачать

ГОУВПО «Воронежский государственный технический

университет»

Кафедра автоматизированных и вычислительных систем

Основы булевой алгебры и формализации логических функций

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

по дисциплине «Теория автоматов» для студентов

специальности 230101

"Вычислительные машины, комплексы, системы и сети"

заочной формы обучения

Воронеж 2009

Составители: канд.техн. наук Ю.С. Акинина,

канд. техн. наук С.В. Тюрин

УДК 519.713(075)

Основы булевой алгебры и формализации логических функций: методические указания по выполнению контрольной работы № 1 по дисциплине «Теория автоматов» для студентов специальности 230101 "Вычислительные машины, комплексы, системы и сети" заочной формы обучения / ГОУВПО «Воронежский государственный технический университет»; сост. Ю.С. Акинина, С.В. Тюрин. Воронеж, 2009. 33 с.

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

Предназначено для студентов второго курса.

Методические указания подготовлены на магнитном носителе в текстовом редакторе Microsoft Word 2002 и содержатся в файле ТА_ЗО_кр1.doc

Табл. 4. Ил. 5. Библиогр.: 7 назв.

Рецензент канд. техн. наук, доц. А.М. Нужный

Ответственный за выпуск зав. кафедрой д-р техн. наук, проф. С.Л. Подвальный

Издается по решению редакционно-издательского совета Воронежского государственного технического университета

 ГОУВПО “Воронежский государственный технический университет”, 2009

1. МАТЕМАТИЧЕСКИЕ ОСНОВЫ АЛГЕБРЫ ЛОГИКИ

1.1. Формальное определение алгебры логики

Алгебра логики является теоретической основой проектирования современных цифровых автоматов и базируется на символической логике, предложенной математиком Джорджем Булем. Существует множество формальных определений булевых алгебр [1,2], зависящих от различных подходов к выбранной системе аксиом.

Булева алгебра может быть определена как алгебраическая система, удовлетворяющая следующим аксиомам [3].

Булевой алгеброй является система, состоящая из множества

и двух типов операторов + и * (логическая сумма и логическое произведение), для которых справедливы следующие пять соотношений:

(коммутативность); (1.1)

(дистрибутивность); (1.2)

найдутся, такие, что

для любого (единичные элементы); (1.3)

найдется, такой, что для

любого (дополнение); (1.4)

(1.5)

с учетом того, что 1 > 0.

О

дним из вариантов булевой алгебры может служить алгебраическая система, в которой множество B содержит всего два элемента , и которые одновременно являются единичными элементами. При этом, соотношение (1.4) можно трактовать как введение дополнительной (третьей) логической операцией, которую называют "отрицание" или "инверсия". Именно такую, самую простую, алгебраическую систему булевой алгебры, и принято называть в научно-технической литературе алгеброй логики, переключательной алгеброй, алгеброй релейно - контактных схем.

Алгебра логики в качестве аргументов использует логические переменные. Логические переменные и функции от них могут быть либо истинными (равными 1), либо ложными (равными 0). Логические переменные принято обозначать строчными латинскими буквами, а логические функции - прописными латинскими буквами.

В алгебре логики определены отношение эквивалентности (=) и три логические операции [4]: дизъюнкция (логическое сложение, операция ИЛИ); конъюнкция (логическое умножение, операция И); отрицание (инверсия, операция НЕ).

По аналогии с обычной алгеброй операцию ИЛИ обозначают в виде + или (знак дизъюнкции); операцию И обозначают *, или , или & (знак конъюнкции); операцию НЕ обозначают чертой над переменными или над значениями переменных, например, . Знак *, как и в обычной алгебре, чаще всего опускают (например,

x * y = xy).

Отношение эквивалентности удовлетворяет следующим свойствам: x = x – рефлективность; если x = y, то y = x – симметричность; если x = y и y = z, то x = z – транзитивность. Из отношения эквивалентности следует принцип подстановки: если x = y, то в любой формуле, содержащей x, можно подставить y и будет получена эквивалентная формула.

1.2. Аксиомы алгебры логики

(1.6)

Аксиома (1.6) утверждает, что значения логических переменных и функций могут принимать всего два взаимоисключающих значения. Данную аксиому иногда называют "закон исключенного третьего". Следует помнить, что "1" и "0" - это не количественные характеристики, а качественные. Однако принимается, что 1 › 0.

(1.7)

Аксиома (1.7) определяет операцию дизъюнкции (логического сложения). Аксиома справедлива для любого числа слагаемых.

(1.8)

Аксиома (1.8) определяет операцию конъюнкции (логического умножения). Аксиома справедлива для любого числа сомножителей.

(1.9)

Аксиома (1.9) определяет операцию логического отрицания (инверсию).

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

1.3. Теоремы алгебры логики

Теоремы (1.10 - 1.19) легко доказываются с помощью аксиом (1.6- 1.9) и метода подстановки возможных значений аргументов x.

1.4. Законы алгебры логики

Коммутативный закон (переместительный закон):

относительно логического сложения

x + y = y + x, (1.20 а)

относительно логического умножения

x * y = y * x . (1.20 б)

Данный закон гарантирует получение тождественного результата при перестановке местами аргументов.

Ассоциативный закон (сочетательный закон):

относительно логического сложения

x + y + z = y + (x + z) = (y + x) + z, (1.21 а)

относительно логического умножения

x * y * z = y * (x * z) = (y * x) * z. (1.21 б)

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

Дистрибутивный закон (распределительный закон):

относительно логического сложения

x + (y * z) = (x + y) *( x + z), (1.22 а)

относительно логического умножения

x *(y + z) = (x * y) + ( x * z). (1.22 б)

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

Законы (правила) де Моргана:

(1.23 а)

(1.23 б)

Законы де Моргана определяют правила перехода от логической операции умножения к сложению (1.23 а) и наоборот (1.23 б).

Закон (1.23 а) утверждает, что отрицание конъюнкции, есть дизъюнкция отрицаний.

Закон (1.23 б) утверждает, что отрицание дизъюнкции, есть конъюнкция отрицаний.

Законы де Моргана называют также законами двойственности.

Как и в обычной алгебре в алгебре логики определен порядок выполнения логических операций: первой выполняется операция инверсии; второй - конъюнкции; третьей - дизъюнкции.

Контрольные вопросы:

1.1. Сформулируйте законы алгебры логики.

1.2. Перечислите аксиомы алгебры логики.

1.3. Докажите теоремы алгебры логики с помощью аксиом.

1.4. В чем состоит суть закона двойственности?

1.5. Основные понятия и определения.

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

Рассмотрим основные термины и понятия, наиболее широко пользуемые в алгебре логике.

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

Л

огическая функцияэто сложное высказывание, состоящее из нескольких простых, связанных между со­бой соединительными союзами. Она записывается анали­тически в виде Y = f(x1,x2, ..., xn), где хiдвоичная пе­ременная, хi { 0,1};Y{0,1 }.

Входной набор — это определенная комбинация зна­чений двоичных переменных в логической функции. Мак­симальное число входных наборов определяется выраже­нием m = 2n, где nчисло переменных. Максимальное число логических функций n переменных определяется выражением N = 2 m = 22ⁿ.

Полностью определенная функцияэто логическая функция, имеющая определенные значения 0 или 1 на всех входных наборах.

Частично определенная функция – это логическая функция, значения которой определены не на всех входных наборах. На тех входных наборах, где функция не определена, проставляется прочерк (или любой другой символ, отличный от 0 и 1).

Рабочие наборы это входные наборы, для которых логическая функция полностью определена.

Безразличные наборы - это входные наборы, для которых логическая функция не определена. Частично определенную функцию, в конечном счете, делают полностью определенной (доопределяют), приписав безразличным наборам 0-е или 1-е значения функции. Простейший способ доопределения логической функции - произвольный (случайный) выбор значений, равных 0 или 1.

В алгебре логики существуют понятия: элементарная конъюнкция/дизъюнкция, конституента единицы/нуля, ранг элементарной конъюнкции/дизъюнкции, соседние элементарные конъюнкции/дизъюнкции.

Элементарные конъюнкция/дизъюнкция - это конъюнкция/дизъю нкция входных переменных, имеющих или не имеющих отрицаний. Любой символ переменной в элементарной конъюнкции/дизъюнкции может встречаться один раз.

Например, f1 (x1, x2, x3, x4)= x1x2x3x4 есть элементарная конъюнкция, а и не являются элементарными конъюнкциями.

Ранг элементарной конъюнкции/дизъюнкции - число входных переменных в элементарной конъюнкции/дизъюнкции. Так, f1 (x1)= x1- это элементарная конъюнкция первого ранга; f2(x1, х2 , х3)= x1х2x3элементарная конъюнкция третьего ранга.

Конституента единицы (минтерм) - логическая функция от n аргументов, которая принимает значение, равное единице, только на одном наборе аргументов. На остальных наборах функция равна нулю. Минтерм можно также определить как элементарную конъюнкцию максимального ранга, на которой значение логической функции равно 1. Логическая сумма всех минтермов равна 1.

Конституента нуля (макстерм) - логическая функция от n аргументов, которая принимает значение, равное нулю, только на одном наборе аргументов. На остальных наборах функция равна единице. Макстерм можно также определить как элементарную дизъюнкцию максимального ранга, на которой значение логической функции равно 0. Логическое произведение всех макстермов равно 0.

Соседние элементарные конъюнкции /дизъюнкциидве элементарные конъюнкции /дизъюнкции одного и того же ранга, если они являются функциями одних и тех же переменных и отличаются только знаком отрицания (ин­версии) одной из переменных. Например, конъюнкции и являются соседними, так как они - функции одних и тех же переменных и отличаются зна­ком инверсии только одной переменной х1.

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

Правило склеивания для соседних элементарных конъюнкций: логическую сумму двух соседних элемен­тарных конъюнкции некоторого ранга r можно заменить одной элементарной конъюнкцией ранга r-1, являю­щейся общей частью исходных слагаемых. Это правило является следствием распределительного закона. Например,

Правило склеивания для соседних элементарных дизъ­юнкций: логическое произведение двух соседних элементарных дизъюнкций ранга r можно заменять одной эле­ментарной дизъюнкцией ранга r - 1, являющейся общей частью исходных дизъюнкций. Это правило является следствием распределительного закона и применяется для упрощения логических выражений. На­пример:

Правило поглощения для элементарных конъюнкций: дизъюнкцию двух элементарных конъюнкций разных ран­гов, из которых одна является собственной частью другой, можно заменить конъюнкцией, имеющей меньший ранг. Это правило является следствием распределитель­ного закона. Например,

Кроме того, справедливы выражения:

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

Контрольные вопросы:

1.5. Какая логическая функция называется полностью определенной, частично определенной?

1.6. Что такое входной набор и как определить максимальное число входных наборов?

1.7. Сформулируйте правила поглощения для элементарных дизъюнкций/конъюнкций.

1.8. Сформулируйте правила склеивания для соседних элементарных конъюнкций/дизъюнкций.

1.6. Формы представления логических функций.

1.6.1. Словесная форма представления логических функций

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

Пример 1. Функция f от двух переменных истинна тогда и только тогда, когда обе переменные одновременно ложны.

Пример 2. Функция g от трех переменных истинна только тогда, когда одновременно истинны не менее двух аргументов.

Функция g определена (задана) достаточно лаконично, но вместе с тем, не достаточно определенно. Для полной определенности данную функцию нужно было бы задать следующим образом: функция истинна тогда, когда одновременно истинны аргумент первый и второй, или когда истинны аргумент первый и третий, или когда истинны аргумент второй и третий, или когда истинны все три аргумента.

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

Пример.

"Если не знает, и не знает, что он не знает,

тот глуп - избегай его.

Если не знает, и знает, что он не знает,

ученик - научи его.

Если знает, и не знает, что он знает,

тот спит - разбуди его.

Если знает, и знает, что он знает,

мудрец - учись у него".

Эта арабская мудрость может интерпретироваться как логическая функция двух аргументов (знает/не знает, знает/не знает), которая рекомендует не общаться только с глупцами.

Словесная форма задания логических функций наиболее часто используется на начальном этапе проектирования комбинационных автоматов.

1.6.2. Табличная форма представления логических функций

Логическую функцию можно представить в табличной форме (таблицей истинности или картой Карно). Рассмотрим принцип построения таблиц истинности.

Таблица истинностипредставление логической функции в виде таблицы. Таблица истинности содержит (n + k) столбцов и 2n строк, где nчисло логических переменных, а k - число логических функций от n переменных.

В таблице истинности перечисляются (записываются) все возможные входные наборы логических переменных и указываются значения логических функций на каждом из входных наборов логических переменных. Для того, чтобы правильно перечислить все возможные входные наборы логических переменных, можно придерживаться следующего правила заполнения таблицы истинности: все логические переменные, определяющие логическую функцию, номеруются (начиная справа) целыми числами от 0 до n-1. Каждой логической переменной в таблице истинности, начиная сверху, присваивают чередующиеся группы значений (начиная с 0) через 2j элементов в группе, где j - номер логической переменной (рис.1.1).

2n-1

2n-2

22

21

20

Xn-1

Xn-2

………….......

X0

Y

a

b

………………

q

0

0

0

0

0

1

0

1

0

0

1

1

1

0

0

1

0

1

1

1

0

1

1

1

Рис. 1.1. Пример заполнения таблицы истинности для одной логической функции n аргументов

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

В правый крайний столбец (столбцы) таблицы истинности записываются значения логической функции.

В таблице 1.1 представлена в табличной форме логическая функция .

Таблица 1.1

Таблица истинности функции f

х2

х1

f

0

0

1

0

1

0

1

0

0

1

1

0

Карта Карно - это прямоугольник, разбитый на единичные квадраты (клетки), число которых равно числу входных наборов логической функции, т.е. 2n. Каждая клетка карты соответствует одному входному набору. Клетки размечают так, чтобы наборы, которые соответствуют смежным минтермам (макстермам), располагались бы в соседних ячейках карты Карно. Координатами каждой клетки карты Карно являются комбинации переменных из всех возможных входных наборов логической функции.

Для двух переменных карта Карно представляет со­бой квадрат, разделенный на четыре клетки, по одной на каждый входной набор. Строки карты связаны с перемен­ной x1, столбцы — с переменной х2 .

Следовательно, рас­положенная слева вверху ячейка соответствует входному набору (0,0) или минтерму ( ), а расположенная спра­ва внизу ячейка — входному набору (1,1) или макстерму ( ).Такого рода карта называется картой Карно на две переменные (рис. 1.2). Представление логической функции на карте Карно производится в соответствии, с таблицей истинности. Если функция =1 на входном наборе (0,0), то это отражается на карте Карно записью в левую верхнюю ячейку единицы (рис. 1.2а). Остальные ячейки остаются незаполненны­ми. Карта Карно может заполняться нулями в те ячейки, на входных наборах которых функция равна нулю. На рис. 1.2,б приведен пример заполнения карты Карно для тех наборов, на которых функция f = 0,

X2

X2

0

1

0

1

X1

0

1

X1

0

0

1

1

0

0

f=1

f=0

а)

б)

Рис.1.2. Изображение функции f на карте Карно

Карта Карно (табл.1 и рис.1.2), со­держит все 2n возможных входных наборов и значения функции, соответствующие каждому из наборов.

В случае трех переменных карта Карно содержит восемь ячеек, по одной для каждого входного набора, указанного внутри ячейки. Переменная x1свя­зана с двумя строками карты, а переменные x2 и x3 — с четырьмя столбцами. Таким образом, любые две рядом расположенные ячейки являются соседними и их коор­динаты отличаются только одной переменной. Кроме того, соседними являются ячейки, стоящие в первом и последнем столбцах карты.

Карта Карно обладает свойством цилиндричности: смежными являются минтермы или макстермы, расположенные в двух крайних столбцах, и расположенные в двух крайних строках.

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

Контрольные вопросы:

1.9. Как заполняется таблица истинности?

1.10. Что такое карта Карно?

1.11. Какой вид табличного представления логической функции на ваш взгляд наиболее удобен, поясните.

1.6.3. Аналитическая форма представления логических функций

Табличные способы задания логических функций становятся весьма громоздкими с увеличением числа аргументов. Так, уже при восьми аргументах количество строк в таблице истинности или количество клеток карты Карно равно 256. Аналитические формы представления логических функций более компактны и наглядны, и позволяют очень просто синтезировать комбинационные автоматы из ограниченного количества логических элементов, реализующих логические операции умножения (конъюнкцию), сложения (дизъюнкцию) и отрицания (инверсию). В то же время, аналитические формы логических функций позволяют выполнять различные их математические преобразования с целью получения более простых соотношений или для каких - либо других целей.

Аналитический способ предусматривает запись логической функции в форме логического выражения, показывающего, какие логические операции над аргументами должны выполняться и в какой последовательности. Сложные функции от многих аргументов могут быть представлены в форме "функций от функций", т.е. выражаться через более простые функции - от меньшего числа аргументов. Операция замены аргументов одной функции другими, более простыми функциями носит название суперпозиции функции. Многократное использование принципа суперпозиции дает возможность получить функции желаемого числа аргументов.

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

В алгебре логики существует две самые распространенные аналитические формы представления функции: совершенная дизъюнктивная нормальная форма (СДНФ) и совершенная конъюнктивная нормальная форма (СКНФ). Каждая логическая функция имеет одну СДНФ и одну СКНФ.

СДНФ логической функции может быть получена путем многократного применения теоремы разложения к некоторой функции n аргументов для каждой ее переменной xi (i=1…n). Применяя теорему разложения, получим:

(1.24)

где fi - значение логической функции на i -ом входном наборе аргументов;

mi - i -ый минтерм или i -ая элементарная конъюнкция максимального ранга.

Из (1.24) следует, что СДНФ логической функции — это дизъюнкция конституент единицы (минтермов), соответствующих наборам входных переменных, для которых функция равна едини­це. Совершенная дизъюнктивная нормальная форма записывается для истинного значения логической функции. В то же время относительно логической функции можно сказать, что она истинна тогда, когда не ложна. Такое утверждение можно формализовать следующим образом.

Образуем логическую функцию по ее нулевым значениям на всех входных наборах. Тогда

(1.25)

Применяя к (1.25) правило де Моргана, получим

(1.26)

где fi - значение логической функции на i -ом входном наборе аргументов;

Mi - i -ый макстерм или i -ая элементарная дизъюнкция максимального ранга.

Представление логической функции в виде (1.26) называется совершенной конъюнктивной нормальной формой (СКНФ).

СКНФ логической функции — это конъюнкция конституент нуля (макстермов), соответствующих входным наборам, для которых функция равна нулю.

Рассмотрим алгоритмы перехода от табличного описания логической функции к ее аналитическому описанию (СДНФ, СКНФ).

Алгоритм перехода от таблицы истинности логической функции к ее записи в виде СДНФ:

1) выбрать в таблице истинности такие входные наборы, на ко­торых функции обращается в единицу;

2) по каждому такому набору составить элементарные конъюнкции максимального ранга (минтермы);

3) в минтермы записать не инвертированными переменные, заданные единицей в таблице истинности, а инвертированными - те переменные, которые в таблице истинности заданы нулем;

4) полученные минтермы соединить между собой знаками дизъюнкции.

Алгоритм перехода от таблицы истинности логической функции к ее записи в виде СКНФ:

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

2) по каждому такому набору составить элементарные дизъюнкции максимального ранга (макстермы);

3) в макстермы записать не инвертированными переменные, заданные нулем в таблице истинности, а инвертированными - те переменные, которые в таблице истинности заданы единицей;

4) полученные макстермы соединить между собой знаками конъюнкции.

Помимо двух основных (СДНФ и СКНФ) аналитиче­ских форм представления функций в алгебре логики су­ществуют дизъюнктивные и конъюнктивные нормальные формы (ДНФ и КНФ), а также минимальные дизъюнк­тивные и конъюнктивные нормальные формы (МДНФ и МКНФ).

ДНФ/КНФ – это дизъюнкция/конъюнкция элементарных конъюнкций /дизъюнкций, ранг хотя бы одной из которых отличается от максимального ранга. ДНФ/КНФ называется минимальной, если она содержит наименьшее число букв по сравнению со всеми ДНФ/КНФ, существующими для данной функции. При помощи правил развертывания элементарных конъюнкций и дизъюнкций, ДНФ и КНФ могут быть преобразованы в СДНФ и СКНФ [5].

В общем виде СДНФ и СКНФ записываются выражениями (1.24) и (1.26), которые могут быть слишком громоздкими. Для их упрощения используется более компактная числовая форма записи, предусматривающая только перечисление десятичных эквивалентов двоичных наборов, на которых функция принимает значение единицы (для СДНФ) или нуля (для СКНФ), соединив их знаками дизъюнкции (для СДНФ) и конъюнкции (для СКНФ).

Пример 1. Пусть логическая функция P(x,y,z) задана следующей таблицей истинности (табл. 1.2). Требуется представить ее в виде СДНФ и СКНФ.

Решение. По таблице истинности находим, что функция P(x,y,z) принимает единичные значения на четырех входных наборах аргументов. Данным наборам аргументов соответствуют следующие четыре минтерма: , , , .

Т

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

Таблица 1.2

Входные наборы

Значение

функции

для

СДНФ

для

СКНФ

z

y

x

минтерм

макстерм

0

0

0

0

0

0

1

1

0

1

0

1

0

1

1

0

1

0

0

1

1

0

1

0

1

1

0

0

1

1

1

1

По аналогии, представим данную логическую функцию в виде СКНФ. В итоге получим:

Контрольные вопросы:

1.12. Как построить на основе таблицы истинности СДНФ функции?

1.13. Как построить на основе таблицы истинности СКНФ функции?

1.14. Что такое аналитическая форма представления логической функции? Какие преимущества она имеет перед табличной формой?

1.6.4. Геометрическая и кубическая формы представления логических функций

В геометрическом смысле каждый двоичный набор

(a1 a2.... an) переменных логической функции можно рассматривать как n-мерный вектор, определяющий точку n-мерного пространства. Исходя из этого, все множество наборов, на которых определена функция n переменных, представля­ется в видe вершин n-мерного куба. Отмечая точками вершины, в которых функция имеет единичные значения, получают ее геометрическое представление, например так, как показано на рис. 1.3, а.

а) б ) в)

Рис. 1.3. Геометрическое и кубическое представление функции Y= (3,4,5,6,7): a — 0-кубы; б — 1-кубы; в — 2-куб

На основе геометрических представлений строятся ку­бические представления логических функций, в которых используются элементы n-мерных кубов. Геометрически каждому набору (a1 a2.... an) соответствует вершина n-мерного куба с данными координатами. Каждую вер­шину, на которой функция принимает единичное значе­ние, принято называть 0-кубом (нулевым кубом). Множество 0-кубов образует нулевой кубический комплекс Ко. Например, для функции Y = V(3, 4, 5, 6, 7) нулевой ку­бический комплекс имеет вид Ко = (011, 100 101, 110, 111) и в данном случае состоит из пяти 0-кубов, каждый из которых соответствует определенной вершине трехмерного куба (рис. 1.3, а).

Если два 0-куба из комплекса К0 различаются только по одной координате, то они образуют один 1-куб (еди­ничный куб). Он представляется общими элементами 0-кубoв, а на месте координаты, по которой различаются 0-кубы, указывается символ «-», обозначающий независимую координату. Например, два 0-куба: 100, 101 разли­чаются только по третьей координате и, следовательно, образуют единичный куб 10-, которому соответствует ребро трехмерного куба. Все множество единичных кубов функции образует единичный кубический комплекс К1. Для функции Y =V(3, 4, 5, 6, 7) он состоит из пяти 1-кубов: K1 ={-11, 10-, 1-0, 1-1, 11-} и определяет все множество ребер, на которых функция Y принимает единичные значения (рис. 1.3,б).

Если два единичных куба из комплекса K1 имеют общую независимую координату и различаются только по одной координате, то они образуют один 2-куб (двоич­ный куб). Его запись состоит из общих компонент 1-ку­бов, а координата, принимающая различные значения в 1-кубах, обозначается в 2-кубе как независимая коор­дината «-» (пробел). Например, два единичных куба 1-0 и 1-1 образуют один двоичный куб 1--. Для рассмат­риваемой функции Y двоичный комплекс имеет вид К2 ={1--} и состоит из одного двоичного куба, соответствующего грани трехмерного куба (рис. 1.3, в). Размерность куба определяется числом независимых; координат (символов «-»).

Объединение кубических комплексов К0, К1, … Кn функции f(x1, x2,…,xn) образует кубический комплекс функции К(f). Для рассматриваемого примера комплекс К(f) соответствует объединению комплексов К0 , К1 и К2.

В отличие от аналитических форм записи логических функций, где используется большой набор индексированных букв и математических знаков, кубические представления позволяют задавать логические функции в виде множества кубов, компонентами которых являются только три символа; 0, 1, - . Ограниченное число символов в записи функций позволяет использовать кубические представления в ЭВМ при решении задач автоматизированного логического проектирования комбинационных автоматов.

Контрольные вопросы:

1.15. Что такое кубический комплекс логической функции?

1.16. Чем отличается геометрическая форма представления логической функции от кубической?

2. ЗАДАНИЕ ЗАКОНА ФУНКЦИОНИРОВАНИЯ ЦИФРОВЫХ АВТОМАТОВ ПОСРЕДСТВОМ ВРЕМЕННЫХ ДИАГРАММ

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

По горизонтали на временной диаграмме располагают ось времени, а по вертикали - ось напряжений или токов. Время увеличивается слева направо, то есть из двух событий то, которое отображается правее, является и более поздним. Такое расположение и направление оси времени традиционное и используется также во всех осциллографах – приборах, которые чаще всего применяют в инженерной практике при проектировании, отладке и эксплуатации цифровых автоматов.

Временные диаграммы являются эффективным способом визуализации (зрительного представления) динамики работы дискретных автоматов, а также международным языком, поясняющим особенности закона функционирования цифровых автоматов.

Т

ак как современные цифровые автоматы используют двоичный структурный алфавит, то для физического представления символов такого алфавита используют два, существенно различных уровня напряжения: один уровень напряжения - для представления логической 1, а другой - логического 0.

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

В природе не существует идеальных дискретных явлений или процессов, поэтому реальный дискретный сигнал есть аналоговый (непрерывный) сигнал специальной формы, который и принимается за дискретный сигнал.

Дискретные сигналы выглядят на экране осциллографа примерно так, как показано на рис. 2.1(а), а идеализированное их представление соответствует рис. 2.1(б).

Рис. 2.1. Формы дискретных сигналов

а) на экране осциллографа; б) условное графическое изображение (пунктиром показано изображение идеального дискретного сигнала).

Ранее отмечалось, что дискретные сигналы могут быть "короткими" (как в автомате типа Мили), и "длинными" (как в автомате типа Мура). В инженерной практике в среде разработчиков цифровой аппаратуры вместо терминов "короткие" и "длинные" сигналы используют термины "импульс" и "потенциал", соответственно [4].

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

Под потенциалом понимают сигнал, длительность которого не регламентирована.

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

Иногда под импульсным сигналом понимают любой исполнительный сигнал, то есть тот, воздействие которого непосредственно приводит к исполнению некоторой процедуры. Под потенциальным сигналом, в этом случае, понимают сигнал, подготавливающий или разрешающий/запрещающий некоторое действие.

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

Контрольные вопросы:

2.1. Как с помощью временной диаграммы задать цифровой автомат?

2.2. Сформулируйте определение импульса и потенциала.

3. ПРОЕКТИРОВАНИЕ ЛОГИЧЕСКИХ СХЕМ С ПОМОЩЬЮ ФУНКЦИЙ АЛГЕБРЫ ЛОГИКИ

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

По зависимости выходного сигнала от входного все электронные логические схемы можно условно разбить на:

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

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

По количеству входов и выходов схемы бывают: с одним входом и одним выходом, с несколькими входами и одним выходом, с одним входом и несколькими выходами, с несколькими входами и выходами.

По способу осуществления синхронизации схемы бывают с внешней синхронизацией (синхронные автоматы), с внутренней синхронизацией (асинхронные автоматы являются их частным случаем).

Практически любой компьютер состоит из комбинации схем первого и второго родов разной сложности. Таким образом, основой любого цифрового автомата, обрабатывающего цифровую информацию, являются электронные элементы двух типов: логические или комбинационные и запоминающие. Логические элементы выполняют простейшие логические операции над цифровой информацией, а запоминающие служат для ее хранения. Как мы уже знаем, логическая операция состоит в преобразовании по определенным правилам входной цифровой информации в выходную [6,7].

Можно считать, что элементарные логические функции являются логическими операторами упомянутых электронных элементов, т.е. схем. Каждая такая схема обозначается определенным графическим символом. Приведем примеры графического обозначения этих схем (рис.3.1).

Рис. 1

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

Рассмотрим пример.

Синтезировать логическую схему, реализующую логическую функцию , с помощью логических элементов, изображенных на рис.3.1 .

Контрольные вопросы:

3.1. Что такое логическая схема?

3.2. По каким принципам можно классифицировать логические схемы?

3.3. Что такое логические операторы?

4. ВАРИАНТЫ И ЗАДАНИЯ КОНТРОЛЬНОЙ РАБОТЫ

Варианты контрольной работы определяются по последней и предпоследней цифрам зачетной книжки студента. В табл. 4.1 по столбцам записана предпоследняя цифра зачетной книжки, а по строкам – последняя. На пересечении строк и столбцов в ячейке таблицы записан номер варианта контрольной работы, соответствующий последней и предпоследней цифрам зачетной книжки студента.

Например:

Номер зачетной книжки студента 567398. Для определения номера контрольной работы по столбцам табл. 4.1 ищем цифру 9, а по строкам – 8. В ячейке таблицы на пересечении соответствующих строки и столбца записана цифра 7. Следовательно, номер варианта контрольной работы студента – 7.

Таблица 4.1

Послед-няя цифра

Предпоследняя цифра зачетной книжки

0

1

2

3

4

5

6

7

8

9

0

1

11

21

5

16

24

1

0

22

0

1

2

12

22

4

14

22

2

3

21

4

2

3

13

23

3

15

23

3

12

0

8

3

4

14

24

2

13

24

4

13

8

16

4

5

15

0

1

12

0

5

8

13

20

5

6

16

10

0

11

10

6

9

17

24

6

7

17

9

20

10

9

7

5

18

12

7

8

18

8

19

21

8

8

4

19

5

8

9

19

7

18

22

7

9

3

4

7

9

10

20

6

17

23

6

10

2

6

2

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

Логические переменные x0, x1, x2, x3 являются входными переменными для логических функций Fi, i=0,…24.

Для выполнения контрольной работы №1 необходимо выполнить следующие задания (все задания контрольной работы выполняются для одной логической функции, которая выбирается в соответствии с вариантом контрольной работы из табл. 4.2).

Задания для контрольной работы №1:

  1. Для выбранной из табл. 4.2 логической функции определить, является ли она полностью или частично определенной, выписать для этой функции рабочие и безразличные наборы.

  2. Случайным образом доопределить логическую функцию. Представить логическую функцию в виде СДНФ и СКНФ.

  3. Используя правила поглощения и склеивания для соседних элементарных конъюнкций/дизъюнкций упростить полученные в п. 2 СДНФ и СКНФ логической функции.

  4. Построить карту Карно для выбранной логической функции.

  5. Построить временную диаграмму для выбранной логической функции.

  6. Синтезировать логическую схему, реализующую логическую функцию, заданную в СДНФ, с помощью логических элементов, изображенных на рис.3.1.

Таблица 4.2

Таблица истинности логических функций Fi, i=0,…24

x3

x2

x1

x0

F0

F1

F2

F3

F4

F5

F6

F7

F8

F9

F10

F11

F12

F13

F

14

F15

F

16

F

17

F18

F

19

F20

F

21

F

22

F23

F

24

0

0

0

0

1

-

0

1

-

-

0

1

1

1

1

-

0

0

1

-

0

1

1

-

-

0

1

1

1

0

0

0

1

0

1

-

0

-

1

-

-

0

0

-

1

-

-

-

1

1

-

0

0

1

1

-

0

0

0

0

1

0

0

0

0

-

0

-

1

1

1

1

0

0

0

0

0

1

-

1

1

1

1

-

1

-

-

0

0

1

1

-

1

-

1

0

0

-

1

-

-

1

1

1

1

0

-

1

1

-

1

0

1

1

1

1

0

1

0

0

0

-

0

0

1

1

0

0

0

0

0

-

0

0

1

1

0

0

0

0

1

0

0

0

0

0

1

0

1

1

0

1

-

1

0

-

-

1

0

-

0

-

-

-

0

1

0

1

0

0

1

0

1

0

0

1

1

0

-

1

0

1

0

-

0

1

1

-

0

1

0

1

0

1

0

1

-

-

1

0

1

-

0

0

1

1

1

1

0

1

0

1

1

-

0

-

1

1

-

1

0

1

1

1

0

1

1

-

1

0

1

-

1

0

0

0

0

1

1

1

0

0

-

0

1

1

-

0

0

-

0

-

1

1

-

0

1

-

-

0

1

1

0

0

1

0

1

1

0

1

0

1

-

1

-

0

1

-

1

1

-

0

0

1

-

0

-

1

-

1

1

0

1

0

0

1

1

1

-

0

0

0

1

1

1

-

0

0

-

-

-

1

0

0

-

0

-

1

1

1

0

1

1

1

-

0

0

-

1

1

1

-

0

0

-

1

1

1

1

1

-

1

-

1

0

0

-

-

1

1

0

0

-

-

0

-

1

1

0

-

-

0

-

1

-

0

0

0

0

0

-

0

0

1

1

0

0

1

1

0

1

1

-

-

-

0

1

1

1

-

-

-

0

1

1

-

0

1

-

0

1

-

-

0

-

0

1

1

1

0

0

1

-

1

-

0

0

0

1

-

1

-

0

-

0

1

-

0

1

0

1

0

-

0

1

1

1

1

1

1

0

1

0

1

-

1

1

0

1

0

1

-

1

1

0

1

1

0

1

0

0

1

0

-

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

  1. Сикорский Р. Булевы алгебры / Р. Сикорский. М.: Мир, 1969. 376 с.

  2. Яглом И.М. Булева структура и ее модели. / И.М. Яглом. М.: Сов. радио, 1980. 192 с.

  3. Киносита К. Логическое проектирование СБИС / К. Киносита, К. Асада, О. Карацу. М.: Мир, 1988. 309 с.

  4. Тюрин С.В. Элементы теории автоматов (часть 1): учеб. пособие / С.В. Тюрин. Воронеж: ВГТУ, 2002. 98 с.

  5. Новожилов О.П. Основы цифровой техники: учеб. пособие / О.П. Новожилов. М.: ИП РадиоСофт, 2004. 528 с.

  6. Савельев П.В. Функционально-логическое проектирование БИС / П.В. Савельев, В. В. Коняхин; под ред. Г. Г. Казеннова. М.: Высшая школа., 1990. 156 с.

  7. Филиппов А.Г. Проектирование логических узлов ЭВМ / А.Г. Филиппов, О.С. Белкин. М.: Сов. Радио, 1974. 344 с.

СОДЕРЖАНИЕ

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]