Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Метод карт Карно

.pdf
Скачиваний:
93
Добавлен:
17.03.2015
Размер:
246.51 Кб
Скачать

Лабораторная работа №3 Описание и моделирование системы логических функций

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

Содержание:

 

Краткие теоретические сведения ...............................................................................................................

1

Задание для выполнения .............................................................................................................................

3

Требования к оформлению отчета .............................................................................................................

3

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

3

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

4

Краткие теоретические сведения

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

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

Когда составляется карта Карно для заданной функции, в каждую клетку помещается, извлекаемая из строки таблицы истинности с подходящим номером: 0, если функция равняя нулю при соответствующей комбинации входных параметров, и 1 – в противном случае. На рис. 1 приведен пример таблицы истинности и соответствующей ей карты Карно. Строки и столбцы карты Карно организованы таким образом, что соседние элементы таблицы (и по горизонтали, и по вертикали), отличаются только одной переменной. Ячейки, которые находятся по краям таблицы обладать тем же свойством (например, пары ячеек 0 и 4, 1 и 5 на рисунке 1 (б)).

а

б

Рис. 1. Таблица истинности и соответствующая ей карта Карно.

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

x

y

z

f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

XYZ

 

 

 

 

 

 

 

 

 

 

 

0

1

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

XYZ

 

 

 

 

 

 

 

 

 

 

 

0

1

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

XYZ XYZ XYZ XYZ

1

0

1

1

 

 

 

 

 

 

 

 

XYZ

 

 

 

 

 

 

 

 

 

 

 

1

1

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

1

 

 

XYZ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2.

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

Т.о. логическое выражение для вышеприведенного примера можно минимизировать следующим образом:

XYZ XYZ XZ Y Y XZ

XYZ XYZ YZ X X YZ

И окончательное минимальное выражение будет иметь вид: F XZ YZ XYZ , что видно из рис.

3.

Рис. 3. Карта Карно и минимальное выражение.

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

Рис. 4. Минимизированная схема в базисе И-ИЛИ.

Аналогично можно выполнить «склейку» минтермнов по нулям, как это видно из рис. 5.

XY

 

 

 

 

Z

00

01

11

10

 

 

 

0

0

 

0

0

YZ

1

 

0

 

 

 

XZ

XYZ

Рис. 5. Карта Карно и минимальное выражение.

Поскольку мы рассматриваем нули, то полученные минтермы представляют инверсированное значение F :

F XYZ XZ YZ .

Следовательно, непосредственно значение F будет иметь вид:

F XYZ XZ YZ .

Применив теорему де Моргана дважды получим

F XYZ XZ YZ X Y Z X Z Y Z .

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

Задание для выполнения

1.По таблице истинности (согласно варианту из лабораторной работы 2) составить несколько

Verilog –моделей:

a.С помощью карты Карно составить минимальную комбинационную схему (с прямым

иинверсным выходами) в базисе И-ИЛИ-НЕ и написать модуль для ее реализации,

употребив логические операторы и операторы назначения сигналов.

b.С помощью карты Карно составить минимальную комбинационную схему (с прямым

иинверсным выходами) в базисе ИЛИ-И-НЕ и написать модуль для ее реализации,

употребив логические операторы и операторы назначения сигналов.

2.Написать проверочный стенд (test benche) для верификации, который бы перебирал все возможные комбинации входных сигналов (можно использовать из предыдущей

лабораторной работы).

Провести моделирование и убедится в работоспособности написанных модулей.

Требования к оформлению отчета

1.Протокол оформляется каждым студентом группы в отдельности.

2.Протокол должен содержать:

a.Титульный лист.

b.Задание согласно варианту.

c.Листинги модуля и проверочного стенда к нему.

d.Результаты моделирования – результаты вывода на экран и временные диаграммы.

e.Выводы о проделанной работе. Выводы должны содержать сравнительный анализ реализаций из текущей работы и из предыдущей работы.

3.Защита работы проводится каждым студентом персонально.

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

1.Что такое минтерм?

2.Что такое карта Карно и как ее получить из таблицы истинности?

3. Сформулируйте теорему де Моргана.

Литература.

1.Дж.Ф. Уэйкерли. Проектирование цифровых устройств.

2.В.И. Зубчук, В.П. Сигорский, А.Н. Шкуро. Справочник по цифровой схемотехнике.