8930

Лекции по теории автоматов. Логические основы цифровых автоматов

Конспект

Коммуникация, связь, радиоэлектроника и цифровые приборы

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

Русский

2013-02-20

620.5 KB

68 чел.

                                                                                                                                                 24

                                                                                                                                                      

Лекции по теории автоматов

Часть 2

Логические основы цифровых автоматов

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


ОГЛАВЛЕНИЕ

Часть 2. Логические основы цифровых автоматов……………………………………… 3

  2.1. Способы задания логических функций……………………………………………. 3

  2.2. Минимизация логических функций………………………………………………... 5

         2.2.1. Метод Квайна – Мак-Класски…………………………………………………5

         2.2.2. Карты Карно………………………………………………………………….…9

  2.3. Теорема Шеннона о разложении логической функции……………………………12

  2.4. Анализ и синтез комбинационных схем…………………………………………….12

         2.4.1. Общие сведения………………………………………………………………..12

         2.4.2. Параметры реальных логических элементов и цифровых схем…………….15

         2.4.3. Правила соединения логических элементов в схемах……………………….16

         2.4.4. Задачи анализа и синтеза КС………………………………………………….17

         2.4.5. Синтез КС в заданном базисе…………………………………………………18

         2.4.6. Синтез КС с несколькими выходами…………………………………………18

  2.5. Не полностью определенные логические функции………………………………..21

  2.6. Особенности проектирования комбинационных схем с учетом задержек….……23

  2.7. Способы проектирования комбинационных схем, свободных от состязаний…...26

   Задачи и упражнения…..…………………………………………………………….…..27

   Литература………………………………………………………………………………...28

 


ЧАСТЬ 2.  ЛОГИЧЕСКИЕ ОСНОВЫ ЦИФРОВЫХ АВТОМАТОВ

2.1. Способы задания логических функций

Логические функции (ЛФ) задаются на множестве аргументов, каждый из которых определяется на множестве {0, 1}({ложь, истина}), при этом сами функции принимают значения из этого же множества. Общая форма записи функции от n переменных:  f (x1, x2, … , xn). Ниже перечислены основные способы задания ЛФ.

1. Таблица истинности (ТИ); пример приведен ниже в  п. 4.

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

3. Карты Карно – используются как способ задания логических функций и как средство их минимизации (см. раздел 2.2).

4. Числовой способ; для пояснения используем таблицу истинности:

f (x1, x2, x3) = (0, 2, 3) – в скобках указаны номера наборов, на которых функция равна единице;  

f (x1, x2, x3) = (1, 4, 5, 6, 7) –  в скобках указаны номера наборов, на которых функция равна нулю.

Таблица истинности ЛФ

x1

x2

x3

f 

0

0

0

1

0

0

1

0

0

1

0

1

0

1

1

1

1

0

0

0

1

0

1

0

1

1

0

0

1

1

1

0

5. Кубическая форма. Функция определяется списком (комплексом) 0-кубов (ноль-кубов) – наборов, на которых ее значение равно "1". Для функции, заданной таблицей 1, записывается следующий комплекс 0-кубов:

f =

Введем ряд важных определений.

Импликанта логической функции f – некоторая логическая функция , определяемая импликацией    f , что означает равенство нулю функции    на тех наборах, на которых  f = 0.

Запишем функцию, заданную в таблице 1, в виде совершенной дизъюнктивной нормальной формы (СДНФ):

                                    f (x1, x2, x3) = .                            (1)

Импликантой является любой конъюнктивный терм, а также любое подмножество термов, соединенных знаком дизъюнкции. Если  f = 0, то каждый терм СДНФ должен быть равен нулю.

Первичная импликанта (ПИ) – импликанта типа элементарной конъюнкции, никакая часть которой не является импликантой. Так, в приведенном примере – импликанта функции  f ; ,  – первичные импликанты, полученные склеиванием записанных термов (первого и второго, второго и третьего, соответственно).

Сокращенная ДНФ представляет собой дизъюнкцию первичных импликант:

                                              f  = ().                                                          (2)

В общем случае сокращенная ДНФ задает функцию  f  в виде  f = р1 р2 … рк ,
где  р
1, р2 , … , рк – первичные импликанты.

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

Минимальная ДНФ (МДНФ) – это ТДНФ, имеющая минимальную цену покрытия.

Цена покрытия отражает количество термов и переменных функции. Чем меньше цена покрытия, тем ближе форма представления функции к МДНФ.

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

Здесь  r – обозначение размерности куба (эта характеристика определена в разделе 2.2);

qr – число r-кубов в ДНФ;

n – число переменных функции;

l – общее число термов в ДНФ.

Ca для формулы (1) равна 9: Ca = 3·3, где первый множитель – число r-кубов
(в данном случае 0-кубов); второй множитель – число переменных в 0-кубах.

Ca для формулы (2) равна 4: Ca = 2·(3-1), так как формула содержит два 1-куба.

Для формул (1) и (2):  Cb =12  и  Cb =6,  соответственно.

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

2.2. Минимизация логических функций

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

2.2.1. Метод Квайна – Мак-Класски. Изложение метода ведется на примере, что не ограничивает общность представления метода. Зададим функцию:

 f (x1, x2, x3, x4) =(3, 4, 5, 7, 9, 11, 12, 13).  

Метод включает три этапа:

1. Нахождение первичных импликант.

2. Построение таблицы покрытий.

3. Отыскание минимального покрытия.

Выполнение этапов.

1. Выпишем 0-кубы (комплекс K0), затем перепишем его, сгруппировав кубы по числу единиц. Два 0-куба склеиваются, образуя 1-куб, если они отличаются одной координатой (на ее месте записывается символ "X"), и после склеивания обязательно отмечаются, например, знаком "". Кубы внутри групп не склеиваются. Склеиваться могут только 0-кубы, из соседних групп, что сокращает объем перебора.

Комплекс K0( f ):

0

0

1

1

0

1

0

0

0

1

0

0

0

0

1

1

0

1

0

1

0

1

0

1

0

1

1

1

=

1

0

0

1

1

0

0

1

1

1

0

0

1

0

1

1

0

1

1

1

1

1

0

0

1

0

1

1

1

1

0

1

1

1

0

1

Совокупность 1-кубов образует кубический комплекс K(1). Для склеивания
перепишем комплекс
K(1), расположив 1-кубы по группам, в которых расположение крестов в столбцах одинаково, а внутри каждой группы сгруппируем подгруппы по числу единиц. Склеивание 1-кубов производится внутри групп, причем пары, подлежащие склеиванию, выбираются из соседних подгрупп. Склеенные кубы отмечаются. Комплекс K(1)( f ):

0

1

0

X

X

1

0

0

X

1

0

0

X

0

1

1

0

X

1

1

X

1

0

1

X

0

1

1

=

0

X

1

1

0

1

X

1

1

X

0

1

X

1

0

1

0

1

X

1

1

0

X

1

1

0

X

1

1

X

0

1

0

1

0

X

1

1

0

X

1

1

0

X

 

Легко видеть, что результат склеивания 1-кубов – комплекс K(2) – включает
единственный 2-куб:
K(2)(f) = X10X. Объединение всех кубических комплексов
K0, K(1), K(2), … образует кубический комплекс K(f ), а все неотмеченные кубы комплекса  K(f ) образуют множество первичных импликант (ПИ):

X

0

1

1

0

X

1

1

1

X

0

1

0

1

X

1

1

0

X

1

X

1

0

X

                                        ПИ =            

По первичным импликантам можно выписать сокращенную ДНФ:

ƒ(x1, x2, x3, x4) =//

На промежуточном этапе минимизации оценим характеристики минимизации.

Для исходной СДНФ: Ca = 32,  Cb = 40; для сокращенной ДНФ: Ca = 17,  Cb = 23.

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

2. Построение таблицы покрытий.

0-кубы

0011

0100

0101

0111

1001

1011

1100

1101

ПИ

X011

*

*

0X11

*

*

1X01

*

*

01X1

*

*

10X1

*

*

X10X

*

*

*

*

3. Отыскание минимального покрытия.

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

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

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

  1.  Удаление поглощенных строк.
  2.  Удаление поглощающих столбцов.
  3.  Выбор заведомо существенной, как было разъяснено выше, строки (в нашем методе – соответствующей первичной импликанты).

Эти три пункта могут повторяться сколько угодно раз в любой последовательности. Ниже приведен пример поглощенной строки.

* * *

*  *    поглощенная строка

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

* *

*  

* *

поглощающий

   столбец

В нашем случае останутся три существенные импликанты:

0

X

1

1

1

0

X

1

X

1

0

X

МДНФ: f (x1, x2, x3, x4) =.  Характеристики найденной формы:

Ca = 8,  Cb = 11.

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

2.2.2. Карты Карно

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

Разметка карт. Разметка предназначена для установления взаимно однозначного соответствия между наборами ЛФ и клетками. Начнем с  n = 2:

  или 

   Соседние наборы различаются только одной координатой

n = 3:    n = 4 (даны два варианта возможной разметки):

 

Пример заполнения карты и минимизации для  n = 3.

. ƒ(x1, x2, x3)

Исходная функция: f =  (Са = 12, Сb = 16). Соседние клетки, заполненные единицами, можно объединить в контур, используя 2к соседних клеток. Каждому контуру будет соответствовать конъюнктивный терм ДНФ. Результат минимизации:  f =   (Са = 7, Сb = 10).

Правила минимизации

  1.  Две соседние единичные клетки исходной карты (два 0-куба) образуют 1-куб. Клетки на границах также являются соседними. При этом независимая координата, обозначавшаяся ранее символом "X", при аналитической записи исчезает из терма.
  2.  Четыре соседние единичные клетки могут объединяться в контур, образуя
    2-куб, при этом исчезают две переменные. Каждая клетка в объединении имеет две соседние клетки.
  3.  Восемь соседних единичных клеток могут объединяться в контур, образуя
    3-куб. Каждая клетка в объединении имеет три соседние клетки.
  4.  Шестнадцать соседних единичных клеток могут объединяться в контур, образуя 4-куб, и т. д.
  5.  Каждому контуру, включающему  2к  клеток, в аналитической записи соответствует конъюнктивный терм минимизированной ДНФ, содержащий  n - k  переменных; отрицания над переменными расставляются согласно разметке карты; полученные термы в формуле соединяются знаком "".

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

Приведем пример оптимального покрытия карты при  n = 4:

МДНФ включает три терма, один из которых содержит две переменные, а два остальных – по три  переменных.

Получение МКНФ

Получение МКНФ по карте Карно может основываться на предварительном получении МДНФ для инверсной функции; взятие еще одного отрицания с применением правил де Моргана приведет к записи КНФ: .

Получение МКНФ непосредственно по карте

Используем карту с проставленными нулями, находим контуры и, подразумевая инверсную разметку карты, сразу записываем МКНФ.

  

Инверсную разметку можно непосредственно нанести на карту:

 f  = (х1 х2 х3)(х1 х3) (х2 х3) – МКНФ.

Карты Карно для n > 4

Карты Карно для  n > 4  менее наглядны и требуют большего внимания при поиске контуров. Клетки, зеркально отраженные относительно центральных осей, также являются соседними. Ниже показаны карты и их разметка для  n = 5  и  n = 6. Клетки, отмеченные символом "*", – соседние и могут включаться в общий контур.

      n = 5:          n = 6:

 

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

2.3. Теорема Шеннона о разложении логической функции

Любую ЛФ от  n переменных можно первоначально представить в виде:

                             .                          (3)

Для доказательства достаточно положить поочередно в равенстве (3) значение x1 равным 1 и 0.

Если применить (3) последовательно ко всем переменным, то мы получим следующее равенство:

 (4)

Всего в правой части (4) может быть  2n  слагаемых. В более краткой записи выражение (4) имеет вид:

                       ,                                                    (5)

где  liэлемент множества {0, 1} , при этом    .

Удалив из (5) слагаемые, на которых  f  принимает значение "0", получим СДНФ:

                                   .                                                     (6)

В (6) суммирование ведется только по наборам, на которых  f = 1.

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

                                                                               (7)  

В (7) в произведение включаются только наборы, на которых  f = 0.

Доказательство существования совершенных форм (6) и (7) и составляет содержание теоремы Шеннона.

2.4. Анализ и синтез комбинационных схем

2.4.1. Общие сведения

Комбинационная схема (КС) – автомат без памяти, строится на логических элементах и, как правило, не имеет обратных связей. Таблица истинности, описывающая работу КС, состоит из  2n  строк и   m + n  столбцов.

КС можно рассматривать на логическом или физическом уровне. На логическом уровне рассматриваются "идеальные" КС, в которых выходные сигналы появляются одновременно с входными и зависят только от них (значения сигналов – 0 или 1).

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

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

На рис.1 приведены временные диаграммы сигналов на выходах логических элементов.

Рис.1. Временные диаграммы

На рис. 2 представлен пример изображения входного и выходного сигналов на временной диаграмме с учетом задержки на ЛЭ.

     Рис. 2. Инвертор с задержкой сигнала

В схемотехнике используются и более сложные ЛЭ, реализующие суперпозиции логических операций, например:

2.4.2. Параметры реальных логических элементов и цифровых схем

  1.   Быстродействие (время переключения) – измеряется между фронтами входного и выходного сигналов на уровне 0,5(U1 - U0), где U1 и U0 – максимальный и минимальный уровни сигнала соответственно. В общем случае переключение выходного сигнала  элемента или схемы из 0 в 1 и из 1 в 0 может осуществляться за разное время. В качестве характеристики задержки используется средняя величина: .
  2.   Потребляемая мощность:

- статическая – измеряется при неизменном выходном сигнале; в качестве характеристики может использоваться средняя величина: , где P0мощность, потребляемая при хранении значения 0,  P1 при хранении значения 1;

       - динамическая – измеряется при переключении сигнала с определённой частотой; в среднем потребляемая мощность растёт с увеличением частоты.

  1.   Нагрузочная способность (коэффициент разветвления по выходу) – определяет число ЛЭ, которые могут подключаться к выходу данного ЛЭ. Увеличение нагрузочной способности приводит к повышению потребляемой мощности и понижению быстродействия элемента.
  2.   Коэффициент объединения по входу – выражается количеством одинаковых по назначению входов ЛЭ (2, 3, 4, 8 – ординарные значения коэффициентов). Использование многовходовых элементов связано с понижением быстродействия и ухудшением помехоустойчивости схемы; уменьшается и степень интеграции ИС.

2.4.3. Правила соединения логических элементов в схемах

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

1. ЛЭ имеют конечное число входов и один выход и реализуют некоторый логический оператор.

2. Выход ЛЭ можно подключить к любому числу входов других ЛЭ.

3. В качестве значений входов и выходов ЛЭ могут быть лишь константы «0»
   или «1».

  1.  Никакие два выхода ЛЭ нельзя соединять вместе.

Комбинационные схемы целесообразно строить и изображать по ярусам (каскадам). Рассмотрим пример КС для функции двух переменных (рис. 3):

Рис. 3. Трехъярусная комбинационная схема.

Ярусное строение произвольной КС сводится к следующему:

- 1-й ярус содержит ЛЭ, входы которых являются входами всей схемы;

- 2-й ярус образуют ЛЭ, к входам которых подключаются в общем случае входы схемы и выходы элементов 1-го яруса;

- i ярус образуют ЛЭ, к входам которых подключаются выходы элементов предыдущих ярусов (i - 1, … , 1), а также входы схемы.

Существование  СДНФ и СКНФ говорит о том, что теоретически любую КС можно сделать трехъярусной.

2.4.4. Задачи анализа и синтеза КС

Задача анализа ставится для заданной КС и может включать ряд подзадач, в частности, следующих:

- выявление реализуемой ЛФ;

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

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

Пример: найти математическое описание схемы (рис. 4).

Рис. 4. Комбинационная схема

ЛФ представленной схемы легко находятся по ее структуре:

;  .

Задача синтеза КС – определить содержимое "чёрного ящика" (рис. 5):

Рис. 5. "Черный ящик" с заданной функцией выхода

Этапы синтеза с учетом того, что КС может быть многовыходной:

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

б) анализ выходных логических функций и их совместная минимизация в заданном базисе логических элементов;

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

2.4.5. Синтез КС в заданном базисе

В основе синтеза лежит структурирование формул согласно правилам алгебры логики, среди которых особое место занимают правила де Моргана.

Пусть необходимо создать КС, которая реализует функцию  на двухвходовых элементах И-НЕ. Отметим, что этот элемент соответствует логической операции "штрих Шеффера", образующей в логике функционально полную систему. Заметим также, что инвертор может быть получен соединением входов элемента И-НЕ.

Структурирование формулы:

.

Преобразуем отдельно подформулу: .

Теперь можно записать: f = . Схема, реализующая полученную формулу, изображена на рис. 6.

Рис. 6. Комбинационная схема, построенная в заданном базисе

2.4.6. Синтез КС с несколькими выходами

Задача синтеза КС с  n  входами и  k  выходами  отличается от задачи синтеза КС
с одним выходом тем, что необходимо исключить дублирование в схемах, представляющих
k логических функций. Исключение дублирования может быть основано
на выделении первичных импликант для заданной системы ЛФ. Последовательность действий:

- отыскание ПИ для системы ЛФ;

- представление  каждой ЛФ через первичные импликанты;

- синтез КС, отображающий только эти ПИ и связи между ними.

Пример. Даны две функции: , .

Первичные импликанты в данном случае легко получить простым склеиванием термов. Выражение функций  y1   и  y2  через ПИ приводит к формулам:

, .

В схеме, построенной по полученным формулам, общей (подчеркнутой) ПИ соответствует один логический элемент (рис. 7).

Рис. 7. КС с общей частью для выходных функций

Дешифратор. Дешифратор (сокращения: ДШ или DC) – комбинационная схема
с несколькими входами и выходами, преобразующая код на входе в единичный сигнал на одном из выходов. ДШ  с  
n  входами имеет  2n   выходов, которые нумеруются числами  0, 1, ... , m, где  m = 2n - 1 (рис. 8, справа – дешифратор с тремя входами).

        

Рис. 8. Дешифратор

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

Таблица истинности

Наборы

Функции

x1

x2

x3

 f0

f1

f2

f3

f4

f5

f6

f7

0

0

0

1

0

0

0

0

0

0

0

0

0

1

0

1

0

0

0

0

0

0

0

1

0

0

0

1

0

0

0

0

0

0

1

1

0

0

0

1

0

0

0

0

1

0

0

0

0

0

0

1

0

0

0

1

0

1

0

0

0

0

0

1

0

0

1

1

0

0

0

0

0

0

0

1

0

1

1

1

0

0

0

0

0

0

0

1

Комбинационная схема дешифрации трехразрядного входного кода, представленного прямыми и инверсными сигналами, может быть построена на трехвходовых конъюнкторах – в  соответствии с приведенной выше таблицей истинности (рис. 9).

Рис. 9. Комбинационная схема дешифрации

Дешифратор как преобразователь кодов

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

Таблица преобразования кодов

x1

x2

x3

y1

y2

y3

y4

p0

0

0

0

0

0

0

0

p1

0

0

1

0

0

1

1

p2

0

1

0

0

1

0

1

p3

0

1

1

0

1

1

0

p4

1

0

0

1

1

0

0

p5

1

0

1

1

1

1

1

Слева от таблицы записан столбец с новыми переменными  pi  (i = 0, … , 5), обозначающими входные наборы. Эти же переменные обозначают выходы дешифратора
с тремя входами –
x1, x2, x3; разряды преобразованного кода при этом описываются соотношениями:   

y1 = p4  p5 ;  y2 = p2    p3    p4    p5 ;  y3 = p1    p3     p5 ;  y4 = p1    p2     p5 .       (6)

Читатель легко построит по соотношениям (6) комбинационную схему, которая подключается к выходам дешифратора.

2.5. Не полностью определенные логические функции

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

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

В дальнейшем неопределенные значения ЛФ, а также и сами наборы, на которых ЛФ не определена, будем отмечать символом "*". При подходящих условиях доопределения этот символ заменяется нулем или единицей. Поскольку от выбора доопределения зависит конечный результат минимизации, выполняя его, можно руководствоваться правилами, которые отчасти аналогичны правилам метода  Квайна – Мак-Класски:

1. Получаем из частично определенной функции  f функцию φ0  путем замены всех неопределенных значений (отмеченных *) нулями.

2. Получаем из  f  функцию φ1  путем замены всех неопределенных значений единицами. Функции  φ0 и  φ1  являются полностью определенными.

3. Находим минимальное покрытие комплекса  К0(φ0)  первичными импликантами функции  φ1.

Сформулированные правила обоснованы следующими соображениями. Функция φ1 содержит все ПИ, которые могут встретиться в покрытиях функции  f  при различных доопределениях, а функция φ0 содержит минимальное число термов в СДНФ (и, следовательно, минимальное число ноль-кубов); кроме того, обе функции адекватно представляют функцию  f  на тех наборах, где  f  определена.

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

При использовании карт Карно для частично определенных функций в клетках карты, кроме 0 и 1, записываются символы "*", которые соответствуют произвольным значениям функций. При нахождении оптимальных контуров, можно любые выбранные клетки, помеченные *, присоединять к клеткам, помеченных единицами (при нахождении МДНФ), или нулями (при нахождении МКНФ). Такое присоединение соответствует выбору некоторого варианта доопределения и способствует наилучшей минимизации.

Пример 1. Построение дешифратора для выходных кодов синхронного кодового кольца  (СКК). СКК – счетчик (автомат Мура), на выходе которого при подаче входных импульсов образуется циклическая последовательность кодов:

Таблица выходных функций дешифратора

Наборы

Функции

x1

x2

x3

 f0

f1

f2

f3

f4

f5

0

0

0

1

0

0

0

0

0

0

0

1

0

1

0

0

0

0

0

1

1

0

0

1

0

0

0

1

1

1

0

0

0

1

0

0

1

1

0

0

0

0

0

1

0

1

0

0

0

0

0

0

0

1

0

1

0

*

*

*

*

*

*

1

0

1

*

*

*

*

*

*

Карта Карно для функции   f0   имеет следующий вид:

В заштрихованный контур включен символ *, следовательно,  f0  = . Аналогично, на картах Карно для каждой из функций  f1, … , f5 будут присутствовать два
таких символа, один из которых может быть присоединен к единственной  единице.
В целом это приведет к упрощению схемы и повышению ее надежности, так как вместо трехвходовых элементов конъюнкции будут использованы двухвходовые.

Пример 2. Построение КС с двумя выходами.

Пусть необходимо синтезировать схему, выходы которой описываются функциями  y1 = f1(x1,…, xn),  y2 = f2(x1,…, xn). Допустим, что схема для  y1 уже построена, тогда можно использовать следующий прием: ввести частично определенную функцию  
y2' = f2'(х1,…,xn, xn+1), где  xn+1 = y1. Значения функции  y2' определены только на половине наборов. Далее выполняется минимизация функции  y2' одним из рассмотренных выше способов, разработанных для частично определенных функций, что обычно приводит к упрощению выражения, описывающего второй выход схемы и, соответственно, к целесообразному построению схемы в целом.

2.6. Особенности проектирования комбинационных схем с учетом задержек

Функциональная надежность логической схемы характеризует точное выполнение схемой алгоритма ее функционирования. Однако в реальной схеме, вследствие задержек сигналов на логических элементах, при переключении значений входов на выходах могут возникать сигналы, не соответствующие алгоритму функционирования. Задержки порождают "состязания" сигналов, распространяющихся по параллельным цепям, и вызывают неустойчивую работу цифровых схем (ЦС); последний термин служит для обозначения как комбинационных схем, так и схем с памятью.

Реальный логический элемент (РЛЭ) можно представить как последовательное соединение идеального ЛЭ с элементом задержки (ЭЗ) (рис. 10).

Рис. 10. Модель представления реального логического элемента

Задержки бывают двух видов:

1. Безинерциальная – сдвигает сигнал на время  т, не искажая его.

2. Инерциальная – сдвигает сигнал на время  т, если длительность сигнала больше, чем  т, и не пропускает сигналы меньшей длительности (рис. 11).

Рис. 11. Виды задержки сигнала: а – безинерциальная; б - инерциальная

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

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

Пример. Входной и выходной сигналы для схемы, изображенной на рис. 12, приведены на рис. 13 (задержки сигналов на всех ЛЭ одинаковы и равны ).

Рис.12. Комбинационная схема, построенная на реальных ЛЭ

 

Рис.13. Временные диаграммы, иллюстрирующие статические состязания

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

Рис. 14. Временные диаграммы, иллюстрирующие динамические состязания

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

2.7. Способы проектирования комбинационных схем, свободных от состязаний

1. Введение структурной избыточности. Метод Хаффмена.

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

Рис. 15. Включение в покрытие избыточного контура

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

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

Рис. 16. Использование стробирующего сигнала (v), подключенного к элементу "И"

Как видно из рисунка, выходной сигнал  y  некоторой схемы или логического элемента появляется в виде результирующего сигнала  f  только при значении  v = 1.

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

ЗАДАЧИ И УПРАЖНЕНИЯ

1. Минимизировать при помощи карт Карно функцию, заданную в разделе 2.2.1:

  а) получить МДНФ;

  б) получить МКНФ.

2. Одноразрядный двоичный сумматор имеет на входе двоичные операнды  ai , bi , pi-1, где  ai  и  bi – слагаемые,  pi-1 – сигнал переноса из предыдущего (i-1)-го разряда. Выходными функциями сумматора от трех указанных переменных являются сигнал суммы  ci  и сигнал переноса в следующий разряд  pi . Выполнить следующие задания:

  а) составить таблицу истинности для сумматора;

  б) описать выходные сигналы в виде логических функций в базисе  { , &, };

  в) минимизировать логические функции при помощи карт Карно;

  г) составить схему с двумя выходами для сумматора.

3. Синтезировать КС для функции, заданной в разделе 2.4.5, на двухвходовых элементах ИЛИ-НЕ.

4. Построить комбинационный преобразователь кодов, описанный таблицей
в разделе 2.4.6, с использованием дешифратора.

  1.  Найти МДНФ для частично определенной логической функции

f (x1, x2, x3, x4) =  (0, 1*, 2*, 4*, 6, 7*, 8*, 9, 11*, 13*, 14, 15*)

методом, использующим построение полностью определенных функций 0 и 1
(см. раздел 2.5).
Примечание. На наборах, номера которых отмечены *, значение функции не определено.

6. Минимизировать при помощи карт Карно все выходные функции дешифратора для синхронного кодового кольца (пример 1 из раздела 2.5).

7. Использовать метод, изложенный в разделе 2.5 (пример 2), для усовершенствования схемы одноразрядного двоичного сумматора. Исходить из того, что схема для функции  pi  построена, поэтому  можно считать  pi  четвертой переменной функции  ci .

Литература

  1.  Карпов Ю. Г. Теория автоматов. Учебник для ВУЗов. – СПб.: ПИТЕР, 2002.- 206 с.
  2.  Савельев А. Я. Прикладная теория цифровых автоматов. Учебник для ВУЗов

М., ВШ, 1987.- 270 с.

  1.  Каган Б. М. Электронные вычислительные машины и системы. – М.,
    "Энергия", 1979.- 527 с.
  2.  Захаров В. Н., Поспелов Д. А., Хазацкий В. Е. Системы управления. – М.,
    "Энергия", 1982.- 346 с.


 

А также другие работы, которые могут Вас заинтересовать

82285. Причины присоединения Казахстана к России. Последствия присоединения Казахстана к России 33.97 KB
  Последствия присоединения Казахстана к России В казахскорусских отношениях были заинтересованы обе стороны и Казахстан помощь в борьбе с джунгарами решение экономических проблем оживление торговли и Россия союзник в борьбе с сибирским ханом Кучумом; выход на рынки Средней Азии; обеспечение безопасности караванных маршрутов. над Казахстаном нависла наибольшая угроза потери независимости со стороны Джунгарского ханства это побудило казахских ханов искать помощи у России. Предметами обсуждения были: обмен пленными урегулирование...
82286. Политические партии и течения в период от февраля к октябрю 1917 года 39.16 KB
  Букейханов стал лидером партии Алаш его поддержали соратники: А. В апрелемае 1917 года прошли областные и уездные съезды партии Алаш где поднимались наиболее острые проблемы: запрещение переселения взаимоотношения с Китаем и Россией. Взаимодействие созданных главным образом под руководством участников Алаш казахских комитетов как органов национального самоуправления с коалиционными Советами после февральских событий привело к усилению недоверия и отчужденности в отношениях с входившими в них большевиками. Многие представители Алаш вошли в...
82287. Причины, характер и движущие силы революции 1916 г. в Казахстане. Основные очаги восстания 37.85 KB
  Основные очаги восстания Восстание охватило всю территорию Казахстана главными очагами восстания выступили: Тургайский Семиреченский и ЧуТаласский центры. Причины восстания стали следующие обстоятельства: усиление колониального гнета; изъятие земель; увеличение налогов и поборов; разжигание национальной розни; резко ухудшившееся положение народных масс; реквизиция скота и фуража у казахского населения. Локальными центрами восстания стали: СырДарьинская область – Турар Рыскулов руководитель; Уральская область – Сейткали Мендышев;...
82288. Развитие сельского хозяйства. Попытки реформирования в марте 1965 года 28.55 KB
  В марте 1965 года была разработана аграрная программа выхода сельского хозяйства из кризисной ситуации первой половины 1960х годов: 1 резкое увеличение государственных инвестиций для осуществления программ по комплексной механизации электрификации мелиорации работы направленные на улучшение свойств земель на повышение их производительности и химизации сельского хозяйства; 2 введение на 5 лет твердых и сравнительно низких планов заготовок колхозной продукции; 3 повышение закупочных цен на сельскохозяйственные культуры причем...
82289. Особенности установления советской власти в Казахстане 32.05 KB
  Советская власть в Казахстане устанавливалась неравномерно. Советская власть мирным путем была установлена в южных и северных районах Казахстана вооруженным путем – в Оренбурге Семипалатинске Верном и других городах. В ноябре 1917 года атаман Дутов совершил контрреволюционный переворот и власть перешла Войсковому правительству таким же методом взяли бразды правления в свои руки Семиреченское войсковое правительство. 30 октября 1917 года была установлена советская власть в Перовске 1 ноября в результате ожесточенных боев в Ташкенте.
82290. События в Целинограде (Акмоле) 1979г. Уроки и последствия 29.56 KB
  Завершились отказом от идеи о немецкой автономии на территории КазССР. После упразднения в 1941 году немецкой автономии на Волге сотни тысяч немцев были переселены в Казахскую ССР. Со временем встал вопрос о восстановлении автономии немцев. Коркиным о предоставлении немецкому населению автономии в составе Казахстана.
82291. Причины и начало интервенции и гражданской войны в Казахстане. Образование фронтов в крае 31.04 KB
  Началом Гражданской войны является антисоветский мятеж Чехословацкого корпуса в мае 1918 года военнопленным солдатам которого Советское правительство разрешило вернуться домой. В ходе гражданской войны были образованы Восточный и Туркестанский фронты локальными фронтами являлись: Актюбинский Уральский Семиреченский. Яркой страницей гражданской войны является экспедиция А.
82292. Развитие промышленности в 70-80-е годы и ее сырьевая направленность 30.54 KB
  Быстрыми темпами развивалась легкая промышленность республики. В структуре экспортных поставок республики 97 приходилось на сырье. Состояние республики определялось не уровнем жизни населения полнотой и реальностью ее суверенных прав в Союзе ССР развитием духовной культуры а суммой капиталовложений тоннами добытой руды угля нефти и других ресурсов. Таким образом в экономике республики в 7080–е годы проявились все те деформации которые были характерны для народного хозяйства страны в целом.