Синтезировать конечный автомат, работающий по принципу автомата Мили. В синтез входит построение схемы КЦУ автомата, временные диаграммы его работы, программа на VHDL для реализации автомата на макете в FPGA CycloneV и диаграмма переходов автомата
Заказать уникальную курсовую работу- 27 27 страниц
- 7 + 7 источников
- Добавлена 18.07.2017
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
ВВЕДЕНИЕ 3
2 СХЕМНОЕ ПРОЕКТИРОВАНИЕ КОНЕЧНОГО АВТОМАТА МИЛИ 5
2.1 Исходные данные и составление таблицы переходов 5
2.2 Проектирование комбинационной части автомата 7
2.3 Проектирование последовательностной части автомата Мили 12
3 ПРОЕКТИРОВАНИЕ АВТОМАТА МИЛИ НА ЯЗЫКЕ ОПИСАНИЯ АППАРАТУРЫ VHDL 13
3.1 Создание кода VHDL для заданного автомата Мили 13
ЗАКЛЮЧЕНИЕ 15
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 16
ПРИЛОЖЕНИЕ А. Диаграмма переходов автомата Мили 17
ПРИЛОЖЕНИЕ Б. Функциональная схема входного КЦУ 19
ПРИЛОЖЕНИЕ В. Функциональная схема выходного КЦУ 21
ПРИЛОЖЕНИЕ Г. VHDL-описание автомата Мили 23
ПРИЛОЖЕНИЕ Д. Временные диаграммы работы спроектированного автомата Мили 27
Комбинационный процесс целиком состоит из конструкции case, в которой описаны варианты действий для всех текущих состояний. В нашем случае для каждого текущего состояния, определяемого сигналом current_state, определена конструкция if…then…else…, в которой определяются значения выходов Q,и планируется следующее состояние автомата next_state.В процессе sequentialописывается работа регистра. При этом процесс начинается со строки ifrising_edge(clk) then…, которая описывает регистр, управляемый фронтом сигнала clk. Только при наличии фронта сигнала clkпроисходит либо сброс схемы, либо изменение текущего состояние в соответствии с сигналом next_state. Таким образом, сброс полученного устройства является синхронными и, как видно в коде – приоритетным относительно изменения текущего состояния на next_state.Следует отметить, что описанный код является синтезируемым для любой ПЛИС.Временные диаграммы работы спроектированного автомата Мили представлены в приложении Д (рис. Д.1).ЗАКЛЮЧЕНИЕВидно, что проектирование с помощью языка описания аппаратуры (ЯОА) VHDL гораздо проще, требует меньше документации и несет меньше затрат, особенно если проект достаточно большой. Кроме того, использование языка ЯОА снижает вероятность ошибки пользователя при проектировании схемы, будучи более надежным инструментом разработки. Исходя из этого, на сегодняшний день практически все цифровые устройства средней и высокой сложности изготавливаются с использованием проектирования с помощью языков описания аппаратуры.Спроектированный автомат Мили готов для синтеза в любой современной ПЛИС.СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВПРИЛОЖЕНИЕ АДиаграмма переходов автомата Мили(обязательное)Рисунок А.1 – Диаграмма переходов спроектированного автомата МилиПРИЛОЖЕНИЕ БФункциональная схемавходного КЦУ(обязательное)Рисунок Б.1 – Принципиальная схема входного КЦУ автомата МилиПРИЛОЖЕНИЕ ВФункциональная схема выходного КЦУ(обязательное)Рисунок В.1 – Принципиальная схема выходного КЦУ автомата МилиПРИЛОЖЕНИЕ ГVHDL-описание автомата Мили(обязательное)library IEEE;use IEEE.std_logic_1164.all;useIEEE.std_logic_arith.conv_std_logic_vector;entity mealy isport (X : in std_logic;clk : in std_logic;reset : in std_logic;Q : out std_logic_vector (2 downto 0) );end entity;architecture behavioral of mealy istypestate_type is (S0, S1, S2, S3, S4, S5, S6, S7);signalcurrent_state : state_type;signalnext_state : state_type;begincombinational : process (current_state, x)begincasecurrent_state iswhen S0 =>if X = '1' thennext_state <= S5;Q <= "111";elsenext_state <= S6;Q <= "000";end if;when S1 =>if X = '1' thennext_state <= S6;Q <= "110";elsenext_state <= S3;Q <= "001";end if;when S2 =>if X = '1' thennext_state <= S0;Q <= "101";elsenext_state <= S4;Q <= "010";end if;when S3 =>if X = '1' thennext_state <= S2;Q <= "100";elsenext_state <= S0;Q <= "011";end if;when S4 =>if X = '1' thennext_state <= S3;Q <= "011";elsenext_state <= S7;Q <= "100";end if;when S5 =>if X = '1' thennext_state <= S7;Q <= "010";elsenext_state <= S1;Q <= "101";end if;when S6 =>if X = '1' thennext_state <= S4;Q <= "001";elsenext_state <= S2;Q <= "110";end if;when S7 =>if X = '1' thennext_state <= S1;Q <= "000";elsenext_state <= S5;Q <= "111";end if;end case;end process;seqential : process (reset, clk)beginifrising_edge(clk) thenif reset = '1' thencurrent_state <= S0;elsecurrent_state <= next_state;end if;end if;end process;endarchitecturebehavioral;ПРИЛОЖЕНИЕ ДВременные диаграммы работы спроектированного автомата Мили(обязательное)Рисунок Д.1 – Временные диаграммы работы автомата Мили
1. Угрюмов Е. П. Цифровая схемотехника [Книга]. - Санкт-Петербург : БХВ, 2007. - 3-е изд., перераб. и доп.
2. Алексенко А. Г. Шагурин И. И. Микросхемотехника [Книга]. - Москва : Радио и связь, 1990.
3. Суворова Е. А. Шейнин Ю. Е. Проектирование цифровых систем на VHDL [Книга]. - Санкт-Петербург : БХВ-Петербург, 2003.
4. Institute of electrical and electronics engineers, Inc. IEEE standard VHDL synthesis packages [Книга]. - New York : IEEE, 1997.
5. БибилоП. Н.Основыязыка VHDL [Книга]. - Москва : ЛКИ, 2007.
6. Зотов В. Ю. Проектирвание цифровых устройств на основе ПЛИС фирмы Xilinx в САПР WebPACK ISE [Книга]. - Москва : Горячая линия-Телеком, 2003.
7. Харрис Д. Харрис С. Цифровая схемотехника и архитектура компьютера [Книга]. - Москва : Morgan Kaufman, 2013. - 2-е изд. перераб.
Вопрос-ответ:
Что такое конечный автомат?
Конечный автомат - это абстрактная модель вычислительного устройства, которая представляет собой набор состояний, в которых может находиться автомат, и набор переходов между этими состояниями.
Что такое автомат Мили и как он работает?
Автомат Мили - это тип конечного автомата, в котором выходной сигнал меняется только при переходе из одного состояния в другое. Все переходы в автомате Мили определяются не только текущим состоянием, но также и входными сигналами.
Что такое КЦУ автомата и зачем оно нужно?
КЦУ - это Комбинационная часть устройства автомата, которая определяет, какое следующее состояние должно быть активным на основе текущего состояния и входных сигналов. КЦУ играет ключевую роль в определении поведения автомата.
Что такое VHDL и для чего нужна программа на этом языке?
VHDL (Very High Speed Integrated Circuit Hardware Description Language) - это язык описания аппаратуры, который используется для описания функциональности электронных систем. Программа на VHDL служит для описания логики работы автомата и может быть использована для его моделирования и синтеза на физических устройствах, таких как FPGA.
Что такое FPGA и как они связаны с автоматами?
FPGA (Field-Programmable Gate Array) - это программируемое микросхемное устройство, которое может быть настроено для выполнения различных задач. FPGA используются для реализации схем на основе автоматов, таких как автомат Мили. Автомат может быть описан на VHDL и загружен на FPGA для его физической реализации.
Какие шаги включает в себя синтез конечного автомата Мили?
Синтез конечного автомата Мили включает в себя построение схемы комбинационной и последовательностной частей автомата, создание таблицы переходов, разработку временных диаграмм работы автомата, написание программы на VHDL для реализации автомата на макете в FPGA CycloneV и создание диаграммы переходов автомата.
Как происходит построение схемы комбинационной части автомата Мили?
Построение схемы комбинационной части автомата Мили осуществляется на основе таблицы переходов. Для каждого состояния автомата определяются соответствующие комбинационные устройства, которые задают выходные сигналы в зависимости от текущего состояния и входного сигнала.
Как происходит проектирование последовательностной части автомата Мили?
Проектирование последовательностной части автомата Мили включает определение следующего состояния автомата на основе текущего состояния и входного сигнала. Для этого создается запоминающее устройство, такое как триггеры, которые хранят текущее состояние автомата и обновляют его в соответствии с таблицей переходов.
Как создать временные диаграммы работы автомата Мили?
Для создания временных диаграмм работы автомата Мили нужно определить начальное состояние автомата и последовательность входных сигналов. Затем с помощью таблицы переходов и устройств комбинационной части автомата определяются выходные сигналы для каждого состояния и входного сигнала. Эта информация используется для составления временных диаграмм, на которых отображается изменение состояний и выходных сигналов автомата во времени.
Как реализовать автомат Мили на макете в FPGA CycloneV?
Для реализации автомата Мили на макете в FPGA CycloneV необходимо написать программу на VHDL, которая описывает работу автомата. В программе нужно указать входные и выходные сигналы автомата, таблицу переходов и логику комбинационной и последовательностной частей автомата. Затем программа загружается на макет в FPGA, где происходит физическая реализация автомата.
Как работает автомат Мили?
Автомат Мили - это конечный автомат, в котором выходные данные изменяются только при наличии перехода между состояниями. Входные данные сравниваются с текущим состоянием, и в случае соответствия происходит переход в следующее состояние, сопровождаемое изменением выходных данных.
Каким образом можно синтезировать конечный автомат?
Для синтеза конечного автомата необходимо провести следующие шаги: построить таблицу переходов автомата, проектировать комбинационную и последовательностную части автомата, создать программу на языке VHDL для реализации автомата на макете FPGA, и наконец, построить диаграмму переходов автомата.