Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

4 семестр / ППЭВС. 4 семестр. Описание курсовой работы

.pdf
Скачиваний:
24
Добавлен:
19.03.2020
Размер:
276.58 Кб
Скачать

Проектирование конечного автомата. (ИКПИ)

Задание на курсовое проектирование.

Синтезировать конечный автомат с произвольной сменой состояний, каждое из которых отражает некоторое событие. Возможность перехода из одного состояния в другое зависит от сигнала “x”, который формируется с помощью счетчика тактов. В некоторых заданиях также предусматривается формирование дополнительного управления от внешних источников.

Всинтез входит:

1.построение временной диаграммы работы счетчика тактов с указанием интервалов времени формирования управляющего сигнала «x»;

2.программа на Verilog HDL для реализации автомата на макете в

FPGA CycloneV ;

3.диаграмма переходов автомата.

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

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

Задание 1. Светофор.

Возможные состояния на выходной шине:

-красный (r);

-желтый (Y);

-красный+желтый (rY);

-зеленый (G);

-желтый +правый поворот (Y-); -правый поворот ( -I);

-зеленый +правый поворот (G-);

-красный + левый поворот (- r).

 

 

Вариант 1.1.

 

 

 

 

 

 

 

 

 

 

 

 

 

Табл. 1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S0 (начальное)

 

 

Состояния

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

S1

 

S2

 

S3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x=0

 

 

S1

 

S3

 

S3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x=1

 

 

S2

 

S3

 

S1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Время

 

 

3

 

 

1

 

 

4

 

 

 

 

удержания (такт)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Табл. 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

состояние

S1

S2

 

S3

 

 

 

 

событие

1

 

 

2

 

 

 

3

 

 

 

 

 

выходная шина

r

Y

 

G

 

 

 

Вариант 1.2.

 

 

 

 

 

 

 

 

 

 

 

 

Табл. 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S0(начальное)

 

 

Состояния

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

S1

 

 

S2

 

 

 

S3

 

S4

 

x=0

 

 

 

S1

 

 

S3

 

 

 

S3

 

S4

 

x=1

 

 

 

S2

 

 

S3

 

 

 

S4

 

S1

 

Время

 

 

 

3

 

 

1

 

 

2

 

2

 

удержания(такт)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Табл. 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

состояние

 

S1

 

S2

 

 

S3

S4

 

 

событие

 

1

 

 

2

 

 

3

 

4

 

 

выходная

 

r

 

Y

 

 

G-

G

 

 

шина

 

 

 

 

 

 

 

 

 

 

 

 

Вариант 1.3

Табл. 1.

S0(начальное)

 

 

 

 

Состояния

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

S1

 

S2

 

S3

 

S4

 

S5

x=0

 

S1

 

S3

 

S3

 

S5

 

S5

x=1

 

S2

 

S3

 

S4

 

S5

 

S1

Время

3

1

2

1

3

удержания(такт)

 

 

 

 

 

 

 

 

 

 

Табл. 2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

состояние

 

S1

 

S2

 

S3

 

S4

 

S5

 

событие

 

1

 

2

 

3

 

4

 

5

 

выходная

 

r

 

Y

 

Y-

 

G-

 

G

 

шина

 

 

 

 

 

 

 

 

 

 

Вариант 1.4.

 

 

 

 

 

 

 

 

 

 

Табл. 1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S0(начальное)

 

 

 

 

Состояния

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

S1

 

S2

 

S3

 

S4

 

S5

x=0

 

S1

 

S2

 

S4

 

S4

 

S5

x=1

 

S2

 

S3

 

S4

 

S5

 

S1

Время

2

2

1

2

2

удержания(такт)

 

 

 

 

 

 

 

 

 

 

Табл. 2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

состояние

 

S1

 

S2

 

S3

 

S4

 

S5

 

событие

 

1

 

2

 

3

 

4

 

5

 

выходная

 

r

 

- r

 

Y

 

Y-

 

G

 

шина

 

 

 

 

 

 

 

 

 

 

Вариант 1.5.

Табл. 1.

S0(начальное)

 

Состояния

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

S1

S2

 

 

S3

 

 

 

 

S4

x=0

 

S1

S2

 

 

S4

 

 

 

 

S4

x=1

 

S2

S3

 

 

S4

 

 

 

 

S1

Время

3

 

 

 

2

 

 

1

 

 

2

удержания(такт)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Табл. 2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

состояние

 

S1

 

S2

 

S3

 

S4

 

 

 

 

 

событие

 

1

 

 

 

2

 

3

 

 

 

4

 

 

 

 

 

выходная

 

r

 

- r

r Y

 

G

 

 

 

 

 

шина

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант 1.6.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Табл. 1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S0(начальное)

 

Состояния

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

S1

 

 

S2

 

S3

 

 

S4

 

 

 

S5

x=0

 

S1

 

 

S2

 

S4

 

 

S4

 

 

 

S5

x=1

 

S2

 

 

 

S3

 

S4

 

 

 

S5

 

 

 

S1

Время

3

 

 

 

2

 

2

 

 

 

 

1

 

2

удержания(такт)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Табл. 2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

состояние

 

S1

 

S2

 

S3

 

S4

 

 

 

S5

 

событие

 

1

 

 

 

2

 

3

 

 

 

4

 

5

 

выходная

 

r

 

 

- r

r -I

 

 

rY

 

 

 

G

 

шина

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант 1.7. (выполняется рабочей группой из 2 студентов)

Автомат не только регулирует автомобильное движение, но и организует пешеходный переход перекрестка, где разрешен только правый поворот. Красный сигнал светофора горит в течение 6 секунд, желтый – в течение 3 секунд, причем через 2 секунды включается разрешение правого поворота. Зеленый горит также 6 секунд. Для индикации регулировки автомобильного движения задействовать 2 правых индикатора (цвет + поворот). Для табло пешеходного перехода – 2 левых индикатора (цвет + счетчик времени).

Задание 2. Стиральная машина.

Автомат реализует три основных режима стиральной машины: «стирка», «полоскание» и «отжим». Отображение на индикаторах: С, П, О.

Вариант 2.1. Хлопчатобумажные ткани.

Табл. 1.

S0 (начальное)

 

Состояния

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

S1

 

S2

 

S3

 

 

 

 

 

 

 

 

 

 

 

x=0

 

S1

 

S2

 

S3

 

 

 

 

 

 

 

 

 

 

 

x=1

 

S2

 

S3

 

S4

 

 

 

 

 

 

 

 

 

 

 

Время

 

4

 

3

2

 

удержания (такт)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Табл. 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

состояние

S1

S2

 

S3

 

 

событие

1

 

2

 

3

 

 

выходная шина

С

П

 

О

 

После получения результата желательно приостановить работу устройства.

S4 – режим перехода в останов(ожидание сброса).

Вариант 2.2. Шерстяные ткани.

Табл. 1.

S0 (начальное)

 

Состояния

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

S1

 

S2

 

S3

 

 

 

 

 

 

 

 

 

 

 

x=0

 

S1

 

S2

 

S4

 

 

 

 

 

 

 

 

 

 

 

x=1

 

S2

 

S3

 

S4

 

 

 

 

 

 

 

 

 

 

 

Время

 

2

 

3

1

 

удержания (такт)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Табл. 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

состояние

S1

S2

 

S3

 

 

событие

1

 

2

 

3

 

 

выходная шина

С

П

 

О

 

После получения результата желательно приостановить работу устройства. S4 – режим перехода в останов(ожидание сброса).

Вариант 2.3. Возможность выбора режима. (выполняется рабочей группой из 2-х студентов).

В состоянии S1 автомат считывает с внешнего устройства управление, определяющее дальнейший режим работы машины. В зависимости от режима устанавливается температура, которая высвечивается на крайних левых индикаторах. Для режима стирки х/б тканей установить 400, для шерстяных установить 300. Работа в режиме х/б : стирка 4 такта, полоскание 3 такта, отжим 2 такта; работа в режиме шерсть – стирка 3 такта, полоскание

– 4 такта, отжим 1 такт. Из каждого режима автомат переходит в ожидание отключения.

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

В состоянии S1 автомат считывает с внешнего устройства управление, определяющее дальнейший режим работы машины. Далее, в каждом режиме производится проверка веса загруженного белья. В зависимости от режима допустимый вес может составлять: для х/б – не более 5 кг, для шерсти – не более 2 кг. При превышении веса автомат выводит машину в ожидание отключения. Работа в режиме х/б: стирка 4 такта, полоскание 3 такта, отжим 2 такта; работа в режиме шерсть – стирка 3 такта, полоскание – 4 такта, отжим 1 такт. Из каждого режима автомат переходит в ожидание отключения.

.

Задание 3.

Работа кассового картридера с банковской картой. Возможно выполнение рабочей группой из 2 студентов.

В этом задании выделяем 5 этапов: -включение;

-проверка наличия карты «П»;

-считывание кода «С»;

-обработка кода «О»;

-получение результата «Р».

Табл. 1.

S0(начальное)

 

Состояния

 

 

 

 

 

 

 

 

 

 

x

S1

S2

 

S3

S4

S5

 

 

 

 

 

 

 

x=0

S1

S2

 

S3

S4

S5

x=1

S2

S3

 

S4

S5

S6

Время

2

2

 

3

4

3

удержания

 

 

 

 

 

 

(такт)

 

 

 

 

 

 

Табл. 2

состояние

S1

S2

S3

S4

S5

событие

1

2

3

4

5

выходная

--

П

С

О

P

шина

 

 

 

 

 

Режим включения предусматривает проверку связи картридера с хостом. После получения результата желательно приостановить работу устройства. S6 – режим перехода в останов(ожидание сброса).

Задание 4.

Разметка прямоугольной фигуры.

Движение вперед – FO;

 

 

 

 

 

 

 

Движение вправо -

r I;

 

 

 

 

 

 

 

Движение назад - rE;

 

 

 

 

 

 

 

Движение влево – LE.

 

 

 

 

 

 

 

Табл. 1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S0(начальное)

 

 

Состояния

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

S1

S2

 

 

S3

 

S4

x=0

 

 

S1

S2

 

 

S3

 

S4

x=1

 

 

S2

S3

 

 

S4

 

S0

Время

 

5

 

2

 

 

5

2

удержания(такт)

 

 

 

 

 

 

 

 

 

 

 

 

Табл. 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

состояние

 

S0

 

S1

 

S2

 

S3

 

S4

 

событие

 

0

 

1

2

 

3

 

4

 

выходная

 

--

 

FO

r I

 

rE

 

LE

 

шина

 

 

 

 

 

 

 

 

 

 

Задание 5.1

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

Число набирается на тумблерах по 4 разряда на каждую цифру и последовательно выводится на 4 индикатора. Набранный символ записывается после установки «1» на входе разрешения записи.

1.Состояние S0 – начальное.

2.Состояние S1 – ожидание ввода. Время удержания 4 такта. Состояние выхода U.

3.Далее, автомат переходит в состояние ввода S2. Состояние выхода In. Время удержания состояния ввода – 2 такта.

4.Автомат переходит в состояние вывода S3 и выводит «_», если разрешение не поступит, при поступившем разрешении ввода выводится введенная цифра. Время удержания состояния вывода – 3 такта. Из состояния вывода автомат снова переходит в ожидание ввода. Последовательный вывод можно организовать с помощью регистра сдвига.

Задание 5.2

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

Число набирается на тумблерах по 4 разряда и последовательно выводится на 6 индикаторов. Набранный символ записывается после установки «1» на входе разрешения записи.

1.Состояние S0 – начальное.

2.Состояние S1 – ожидание ввода. Время удержания 4 такта. Состояние выхода U.

3.Далее, автомат переходит в состояние ввода S2. Состояние выхода In. Время удержания состояния ввода – 2 такта.

4.Автомат переходит в состояние вывода S3 и выводит «_», если разрешение не поступит, при поступившем разрешении ввода выводится введенная цифра. Время удержания состояния вывода – 3 такта. Из состояния вывода автомат снова переходит в ожидание ввода. Последовательный вывод можно организовать с помощью демультиплексора.

Задание 6.

Включение двигателя автомобиля.

S0 – начальное состояние.

S1 – установка ключа. Ключ включает счетчик тактов. Этот сигнал получаем с тумблера. После включения счетчика время удержания состояния 3 такта. Состояние выхода – UP.

S2 – проверка кода. Время удержания 4 такта. Состояние выхода – CH. При совпадении кода переход на включение двигателя – S3. Сигнал, имитирующий код, подается с тумблера. При несовпадении переход в S4.

S3 – включение двигателя. Состояние выхода F. Время удержания 2 такта. За это время необходимо имитировать дальнейший поворот ключа, что приведет к приостановке счетчика тактов.

S4 – индикация несовпадения кода. На индикаторе горит “A”. Время удержания 3 такта, переход в S1. Ключ возвращается в исходное положение.

Задание 7.

Автомат для прохода в метро.

S0 – начальное состояние.

S1 – ожидание карты. Индикация « __». Приложенная карта включает счетчик тактов. Сигнал, имитирующий это действие, получаем с тумблера Т1. Через 2 такта автомат переходит в состояние S2 – чтение состояния карты.

S2 – чтение карты. Время удержания 2 такта. Состояние карты имитируется положением тумблера Т2: 1 – средств достаточно, 0 – недостаточно средств. Состояние выхода автомата 1 в случае наличия средств. В случае отсутствия автомат переходит в ожидание.

S3 – индикация состояния карты. Автомат выводит в течение 3 тактов считанное состояние «1» или «0». После этого автомат переходит в состояние S4 или S1. Тумблер Т2 выключить. К окончанию состояния тумблер Т1 можно выключить.

S4 – вход разрешен. Тумблер Т1 выключить. Состояние выхода Р.