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

Лабораторная работа 31 / Лабораторная работа3

.doc
Скачиваний:
12
Добавлен:
01.05.2014
Размер:
198.66 Кб
Скачать

Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»

Кафедра САПР.

Отчет по лабораторной работе

по дисциплине «Микросхемотехника»

«Управление семисегментным дисплеем».

Выполнил:

Студент группы 4322

Факультет КТИ

Миненков Д.В.

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

СПб 2007.

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

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

Наиболее простым и наглядным из методов минимизации является метод минимизирующих карт Карно и в частности метод диаграмм Вейча.

Основное ограничение метода – небольшое число входных сигналов (3-6).

Кроме этого метод предполагает специальное задание входных сигналов в виде таблицы - КАРТЫ.

Карта заполняется также как и таблица истинности:

  • «1» соответствует набору входных переменных, на, котором функция принимает значение «1»;

  • «0» для «нулевых» значений функции.

На рис 1 приведен пример заполнения карты.

_

А А

1

b

d

1

d

b

1

1

1

d

_ _

С С С

Рис. 1. Пример заполнения карты для функции

_ _ _ _ __ __ _

ABCD+ABCD+ABCD+ABCD+ABCD

Минимизация осуществляется на основании анализа расположения «единичных» элементов в карте.

Существует следующий набор правил минимизации:

  • Объединяются смежные элементы (в строке или столбце);

  • Объединяются элементы, занимающие крайнее положение (в строке или столбце).

При объединении работают следующие правила минимизации:

  • можно объединить 2, 4, 8, 16 и т.д. элементов;

  • при объединении происходит сокращение (минимизация) количества входных переменных. Правила сокращения числа переменных сведены в табл.1.

Табл.1.

п\п

Число смежных элементов

Число сокращаемых переменных

Число сокращаемых элементов

1

2

1

1

2

4

2

3

3

8

3

7

4

16

4

15

При этом наряду с сокращением количества входных переменных происходит сокращение числа самих элементов. Так для примера , приведенного на рис1. в ходе выполнения минимизации будет получена следующая функция:

_ _ __ _

ABC+ABC+ABCD.

Техническое задание.

Синтезировать схему, реализующую работу семисегментного дисплея:

Рис. 1. Семисегментный дисплей.

Вариант задания и таблица истинности сведены в таблице 1:

Таблица 1.

Задание

Входные сигналы

Выходные сигналы

Символ

x1

x2

x3

x4

ya

yb

yc

yd

ye

yf

yg

0

X

0

0

0

0

0

1

1

1

1

1

1

0

1

X

1

0

0

0

1

0

1

1

0

0

0

0

2

X

2

0

0

1

0

1

1

0

1

1

0

1

3

3

0

0

1

1

0

0

0

0

0

0

0

4

X

4

0

1

0

0

0

1

1

0

0

1

1

5

5

0

1

0

1

0

0

0

0

0

0

0

6

X

6

0

1

1

0

1

0

1

1

1

1

1

7

7

0

1

1

1

0

0

0

0

0

0

0

8

X

8

1

0

0

0

1

1

1

1

1

1

1

9

X

9

1

0

0

1

1

1

1

1

0

1

1

A

10

1

0

1

0

0

0

0

0

0

0

0

B

X

11

1

0

1

1

0

0

1

1

1

1

1

C

X

12

1

1

0

0

1

0

0

1

1

1

0

D

13

1

1

0

1

0

0

0

0

0

0

0

E

14

1

1

1

0

0

0

0

0

0

0

0

F

15

1

1

1

1

0

0

0

0

0

0

0

1.Найдем функции, соответствующие СДНФ, для каждого сегмента:

2. По функциям из пункта 1 составим минимизирующие карты Карно:

a b c

ab\cd

00

01

11

10

ab\cd

00

01

11

10

Ab\cd

00

01

11

10

00

1

1

00

1

1

1

00

1

1

01

1

01

1

01

1

1

11

1

11

11

10

1

1

10

1

1

10

1

1

1

d e f

ab\cd

00

01

11

10

ab\cd

00

01

11

10

ab\cd

00

01

11

10

00

1

1

00

1

1

00

1

01

1

01

1

01

1

1

11

1

11

1

11

1

10

1

1

1

10

1

1

10

1

1

1

g

ab\cd

00

01

11

10

00

1

01

1

1

11

10

1

1

1

3.В результате анализа расположения единиц на картах Карно получаим следующие логические функции:

4. Таким образом, задача сводится к проектированию схемы, реализующей функции, полученные в п.2. Для этого воспользуемся одним из языков описания систем на кристалле – VHDL. Будем использовать САПР Xilinx ISE 9.1.

Создадим новый проект ( File – New Project) со следующими свойствами:

Рис. 1. Свойства проекта.

Далее, щелкнув в области Sources правой кнопкой мыши, создаём новый файл (New Source…), выбрав из предлагаемого списка VHDL - Module.

Напишем следующий код:

entity vh is

Port ( X : in STD_LOGIC_VECTOR (3 downto 0);

Y : out STD_LOGIC_VECTOR (6 downto 0));

end vh;

architecture Behavioral of vh is

begin

process(X)

begin

case X is

when "0000" =>Y<="1111110";

when "0001" => Y<="0110000";

when "0010" => Y<="1101101";

when "0011" => Y<="0000000";

when "0100" => Y<="0110011";

when "0101" => Y<="0000000";

when "0110" => Y<="1011111";

when "0111" => Y<="0000000";

when "1000" => Y<="1111111";

when "1001" => Y<="1111011";

when "1010" => Y<="0000000";

when "1011" => Y<="0011111";

when "1100" => Y<="1001110";

when "1101" => Y<="0000000";

when "1110" => Y<="0000000";

when "1111" => Y<="0000000";

when others => null;

end case;

end process;

end Behavioral;

Для проверки правильности написания, воспользуемся инструментом Check Syntax из группы Synthesize в области Processes. Если на вкладке Console области Transcript в нижней части экрана нет сообщений об ошибках, можно переходить к построению временной диаграммы.

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

Чтобы построить ВД, на вкладке Source области Sources щелкнем правой кнопкой по созданному VHDL-файлу, выберем пункт меню «New source…» и, выбрав из предложенного списка “Test Bench WaveForm” зададим значения входных сигналов. После сохранения, выделив файл с ВД в области Sources, выберем в области Processes действие Simulate Behavioral Model. Полученная Временная диаграмма на рисунке 3:

Рис. 3. Временная диаграмма.

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