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

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

2.3.1. Общие принципы

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

Рис. 2.3.1. Начало проектирования логической схемы.

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

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

Рассмотрим последовательность проектирования функциональной логической схемы на примере построения одноразрядного двоичного сумматора (см. рис. 2.3.2). Реализация в классическом базисе ("И", "ИЛИ", "НЕ").

a — первое слагаемое;

b — второе слагаемое;

c — перенос из соседнего младшего разряда;

S — сумма в данном разряде;

P — перенос в соседний старший разряд.

Рис. 2.3.1. Одноразрядный двоичный сумматор.

Таблица истинности, описывающая работу данного сумматора, выглядит, как показано в таблице 2.3.1. Наносим функции S и P на диаграммы Вейча (см. рис. 2.3.3).

Таблица 2.3.1.

Таблица истинности для функций S и P суммы и переноса в одноразрядном двоичном сумматоре

a

b

c

S

P

0

0

0

0

0

0

0

1

1

0

0

1

0

1

0

0

1

1

0

1

1

0

0

1

0

1

0

1

0

1

1

1

0

0

1

1

1

1

1

1

Рис. 2.3.3. Диаграммы Вейча для функций S (а) и P (б).

После возможной минимизации формулы для S и Р выглядят следующим образом:

P = ab + bc + ac

S = abc + abc + abc + abc

Для реализации функцииP потребуется 4 элемента: 3 конъюнктора, 1 дизъюнктор; функции S — 8 элементов: 3 инвертора, 4 конъюнктора, 1 дизъюнктор. Однако, если рассмотреть диаграмму Вейча для функции P, то можно заметить, что у нее есть нечто общее с функцией S.

Рис. 2.3.3. Диаграммы Вейча для функцииP.

S = (P + abc) - abc

А точнее, они отличаются двумя минтермами. После преобразования получаем:

S = (P + abc) (a + b + c)

Для реализации функции S в этом виде потребуется 5 логических элементов: 1 инвертор, 2 дизъюнктора и 2 конъюнктора.

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

Рис. 2.3.5. Логическая схема одноразрядного двоичного сумматора.

Рассмотрим порядок построения формулы функции при реализации схемы в базисах, отличных от классического, на примере функции P из раздела 2.3.2.

  1. P = ab + ac + bc (классический базис: И, ИЛИ, НЕ)

  2. P= ab + ac + bc = ab ac bc (И-НЕ)

  3. P= ab + ac + bc = ab ac bc = (a + b) (a + c) (b + c) (ИЛИ, И-НЕ)

  4. P = ab + ac + bc = ... = (a + b) + (a + c) + (b + c) (ИЛИ-НЕ, ИЛИ)

Для получения формул реализации функции P в других базисах надо начать не с МДНФ, а с МКНФ.

  1. P = (a + b) (a + c) (b + c) (классический базис: И, ИЛИ, НЕ)

  2. P= (a + b) (a + c) (b + c) = (a + b) + (a + c) + (b + c) (ИЛИ-НЕ)

  3. P= (a + b) (a + c) (b + c) = ...= ab + ac + bc (И, ИЛИ-НЕ)

  4. P = (a + b) (a + c) (b + c) = ... = ab ac bc (И-НЕ, И)