4 семестр / ППЭВС. 4 семестр. Описание курсовой работы
.pdfПроектирование конечного автомата. (ИКПИ)
Задание на курсовое проектирование.
Синтезировать конечный автомат с произвольной сменой состояний, каждое из которых отражает некоторое событие. Возможность перехода из одного состояния в другое зависит от сигнала “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 выключить. Состояние выхода Р.