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

Лаба4_ПЛИС

.docx
Скачиваний:
0
Добавлен:
02.05.2026
Размер:
2.34 Mб
Скачать

Министерство науки и высшего образования Российской Федерации

Федеральное государственное автономное образовательное учреждение высшего образования

Томский государственный университет систем управления и радиоэлектроники (ТУСУР)

Кафедра телекоммуникаций и основ радиотехники (ТОР)

«МАШИНА КОНЕЧНЫХ СОСТОЯНИЙ»

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

по дисциплине «Программирование логических интегральных схем»

оценка

___________

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

___________ Беликова Е.О.

« » 2025 г.

Проверил:

Преподаватель каф. ТОР

___________ Дмитриев Э.М.

« » 2025 г.

Томск 2025

Введение

Целью работы является изучение алгоритма работы машины с конечным числом состояний на языке Verilog посредством реализации алгоритма на основе известной диаграммы состояний (рисунок 1.1). Переходные состояния данной диаграммы соответствуют таблице 1.1.

Рисунок 1.1 – Диаграмма состояний

Таблица 1.1. - Переходные состояния

Исходное состояние

Конечное состояние

Условие

Присвоение

first_state

first_state

SW[0] = 0

first_state: LEDS <= 0

first_state

second_state

SW[0] = 1

second_state

second_state

SW[0] = 1

second_state: LEDS <= 8'b11111111

second_state

first_state

SW[0] = 0

second_state

third_state

SW[1] = 1

third_state

third_state

SW[1] = 1

third_state: LEDS <= 8'b10101010

third_state

first_state

SW[0] = 0

third_state

fourth_state

SW[2] = 1

fourth_state

fourth_state

SW[2] = 1

fourth_state: LEDS <= 8'b01010101

fourth_state

second_state

KEY[0] = 0

fourth_state

fivth_state

KEY[1] = 0

fourth_state

first_state

SW[0] = 0

fivth_state

fourth_state

KEY[1] = 1

fivth_state: LEDS <= 8b'11110000

fivth_state

fivth_state

KEY[1] = 0

2 ОСНОВНАЯ ЧАСТЬ

На рисунке 2.1 представлен код программы, соответствующий диаграмме состояний 2 варианта.

Рисунок 2.1 – Код на языке Verilog с блоком FSM, соответствующий варианту 2

В качестве оценки правильности разработки кода использовался встроенный инструмент проверки State Machine Viewer. Результат проверки, совпадающий с диаграммой состояний, представлен на рисунке 2.2.

Рисунок 2.2 – Результат выполнения кода в инструменте State Machine Viewer

Также, проведена временная симуляция с демонстрацией переходов всех состояний (рисунок 2.3): поочерёдно (от первого к пятому), проверка работы сброса значений, затем от первого до второго и обратно, от первого к четвёртому и обратно, далее проверка перехода с четвёртого состояния на первое.

Рисунок 2.3 – Временная симуляция

Прошивка платы (рисунок 2.4) также показала, что разработанный код работает корректно.

а)

б)

в)

г)

д)

Рисунок 2.4 – Работа платы в соответствии с написанным кодом: а) первое состояние – 00000000, б) второе состояние – 11111111, в) третье состояние – 10101010, г) четвёртое состояние – 01010101, д) пятое состояние – 1111000

Заключение

В ходе данной лабораторной работы изучены алгоритмы работы машины с конечным числом состояний. На основе диаграммы варианта 2 написан код её реализации. Правильность работы программы подтверждена инструментом State Machine Viewer, временной симуляцией и работой платы после прошивки.