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

Санкт-Петербургский Государственный

Электротехнический Университет «ЛЭТИ»

Лабораторная работа №3

Выполнил: студенты гр. 3372

Сивков А. А.

Проверил: Фахми Ш. С.

Санкт-Петербург,

2005 г.

Лабораторная работа №3

Цель работы: с помощью карт Карно построить минимизированную

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

Задание: в виде цифрового устройства предложено реализовать функцию

которой соответствует следующая таблица истинности:

X1

X2

X3

X4

Y

0

0

0

0

1

0

0

0

1

0

0

0

1

0

1

0

0

1

1

1

0

1

0

0

0

0

1

0

1

0

0

1

1

0

1

0

1

1

1

0

1

0

0

0

1

1

0

0

1

0

1

0

1

0

1

1

0

1

1

1

1

1

0

0

0

1

1

0

1

0

1

1

1

0

1

1

1

1

1

0

Минимизируем данную функцию с использованием карт Карно.

  1. Строим карту Карно. В клетки указываются значения функции Y на соответствующем наборе X1, X2 , X3, X4. Единицы, стоящие рядом образуют контур:

2. Упрощение.

Набор 1: y1 = (¬x1*¬x2*¬x3*¬x4) + (x1*¬x2*¬x3*¬x4) склеивание по х1, получаем y1 = ¬x2*¬x3*¬x4.

Набор 2: y2 = (¬x1*¬x2*x3*x4) + (¬x1*¬x2*¬x3*¬x4) склеивание по х4, получаем y2 = ¬x1*¬x2*x3.

Набор 3: y3 = (¬x1*x2*x3*¬x4) + (x1*x2*x3*¬x4) склеивание по х1, получаем y3 = x2*x3*¬x4.

Набор 4: y4 = (x1*¬x2*x3*x4) + (x1*¬x2*x3*¬x4) склеивание по х4, получаем y4 = x1*¬x2*x3.

3. Результат.

Y = y1+y2+y3+y4 = ¬x2*¬x3*¬x4+¬x1*¬x2*x3+ x2*x3*¬x4+ x1*¬x2*x3

Логическая схема устройства:

Проектирование цифрового устройства:

для реализации данного устройства необходимы следующие элементы:

CmdReg – регистр хранящий X1, X2, X3, X4.

lpm_inv – логическое НЕ

lpm_and – логическое И

lpm_or – логическое ИЛИ

Output – выход с CLS

Все эти элементы находятся в Module library программы Triscend Fastchip. Перетаскиваем эти элементы из Module library на CSL. Настраиваем входы и выходы элементов в соответствии с функциональной схемой устройства, при этом lpm_inv имеет пять входов, и пять выходов (в этом элементе инвертируются значения x1, x2, x3, x4 и y, на выходе получаем notx1, notx2, notx3, notx4, noty). Элемент lpm_and имеет 12 входов и четыре выхода (по 1 выходу на 3 входа), элемент lpm_or имеет 4 входа и 1 выход. В регистре CmdReg задаются значения x1, x2, x3, x4, значению регистра 0x05 соответствует последовательность 0, 1, 0, 1. Output используется для вывода значения y и noty соответственно на сегмент “a” и “g” семи-сегментного индикатора. Для того, чтобы присоединить выходы y и noty к ножкам 127 и 102 (pin 127 – вывод сигнала к сегменту “a” семи-сегментного индикатора, pin 102 – сегменту “d” ) необходимо в I/O editor (значок которого можно найти в правом углу) Output_A.0 перетащить на ножку 127, а Output_A.1 на 102.

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

Загрузка проекта в устройство:

Из программы Fastchip запускаем программу Device link (одноименная кнопка на панели инструментов). Вводим IP адрес в Tools-> Device link options.

Нажимаем Configuration на панели инструментов -> Save and download.

Выводы: в результате выполнения лабораторной работы было реализовано

устройства, которое при задании на входе последовательности x1, x2, x3, x4 в которых функция Y = ¬x2*¬x3*¬x4+¬x1*¬x2*x3+ x2*x3*¬x4+ x1*¬x2*x3 принимает истинное значение “зажигает” сегмент “a” семи-сегментного индикатора, а при ложном значении “зажигает” сегмент d”.

Соседние файлы в папке Лабораторная работа №3