Смекни!
smekni.com

Разработка конечного цифрового аппарата (стр. 2 из 5)

Для того, чтобы получить СДНФ функции, требуется составить её таблицу истинности

Таблица 2.2

0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1

В ячейках строки́

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

= 0
= 0
= 0
= 0

Нулевые значения — тут все переменные представлены нулями — записываются в конечном выражении инверсией этой переменной. Первый член СДНФ рассматриваемой функции выглядит так:

Переменные второго члена:

= 0
= 0
= 0
= 1

в этом случае будет представлен без инверсии:
Таким образом анализируются все ячейки
. Совершенная ДНФ этой функции будет дизъюнкцией всех полученных членов (элементарных конъюнкций).Совершенная ДНФ этой функции:

2.3.3 СКНФ

СКНФ (Совершенная Конъюнктивная Нормальная Форма) — это такая КНФ, которая удовлетворяет трём условиям:

· в ней нет одинаковых элементарных дизъюнкций

· в каждой дизъюнкции нет одинаковых пропозициональных букв

· каждая элементарная дизъюнкция содержит каждую пропозициональную букву из входящих в данную КНФ пропозициональных букв

В функцию выписываются все конституанты, на которых функция принимает значение 0. Если переменная входит в конституанту как 1, то записывается ёё отрицание, если как 0, то без отрицания. В наборе xi соединяются операцией дизъюнкция (+ или v), а между наборами ставится операция конъюнкция (* или &).

Для того, чтобы получить СКНФ функции, требуется составить её таблицу истинности.

Таблица 2.3

0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1

В ячейках строки́

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

= 0

= 0

= 1

= 1

В дизъюнкцию записывается переменная без инверсии если она в наборе равна 0 и с инверсией если она равна 1. Первый член СКНФ рассматриваемой функции выглядит так:

Остальные члены СКНФ составляются по аналогии.

2.4 Карты Карно

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

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

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

· объединяем смежные клетки содержащие единицы в область, так чтобы одна область содержала 2n (n целое число = 0…

) клеток(помним про то что крайние строки и столбцы являются соседними между собой), в области не должно находиться клеток содержащих нули;

· область должна располагаться симметрично оси(ей) (оси располагаются через каждые четыре клетки);

· не смежные области расположенные симметрично оси(ей) могут объединяться в одну;

· область должна быть как можно больше, а кол-во областей как можно меньше;

· области могут пересекаться;

· возможно несколько вариантов накрытия.

Далее берём первую область и смотрим какие переменные не меняются в пределах этой области, выписываем конъюнкцию этих переменных, если неменяющаяся переменная нулевая, проставляем над ней инверсию. Берём следующую область, выполняем то же самое что и для первой, и т. д. для всех областей. Конъюнкции областей объединяем дизъюнкцией. Например(для Карт на 2-ве переменные)

2.5 Схемная реализация конечных автоматов

Конечный автомат состоит из 2-х основных блоков

1. Блок реализует функцию переходов;

2. Блок реализует функцию выходов.

Рис. 2.3 – Функциональная схема конечного автомата


Для того чтобы автомат осуществил переход по истечению времени τ, в блоке τ должен быть предусмотрен управляющий вход. С учётом этого входа блок τ представлен на рис. 2.3.

Рис. 2.4 – Задерживающий элемент с управляющим входом

D-триггер (D от англ. delay — задержка)— запоминает состояние входа и выдаёт его на выход. D-триггеры имеют, как минимум, два входа: информационный D и синхронизации С. Сохранение информации в D-триггерах происходит в момент прихода активного фронта на вход С. Так как информация на выходе остаётся неизменной до прихода очередного импульса синхронизации, D-триггер называют также триггером с запоминанием информации или триггером-защёлкой. Рассуждая чисто теоретически, D-триггер можно образовать из любых RS- или JK-триггеров, если на их входы одновременно подавать взаимно инверсные сигналы.