Материал: 4183

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ

ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ЛЕСОТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ ИМЕНИ Г.Ф. МОРОЗОВА»

Кафедра автоматизации производственных процессов

Цифровые автоматы

методические указания к лабораторным работам для студентов

по направлению подготовки

15.03.06 - Мехатроника и робототехника

Воронеж 2018

УДК 004.43 Лапшина М.Л. Цифровые автоматы [Электронный ресурс]:

методические указания к лабораторным работам для студентов по направлению подготовки 15.03.06 - Мехатроника и робототехника / М.Л. Лапшина; М-во образования и науки РФ, ФГБОУ ВО «ВГЛТУ им. Г.Ф. МОРОЗОВА». – Воронеж, 2018. – 41 с.

Методические указания разработаны в соответствии с решением кафедры автоматизации производственных процессов

Составитель: д.т.н., профессор каф. АПП М.Л. Лапшина

Методические указания утверждены на заседании кафедры АПП 18.09.2018 г., протокол № 3.

2

Содержание

 

ВВЕДЕНИЕ

3

Лабораторная работа 1 Описание алгоритма работы схемы

4

автоматным графом переходов.

 

Лабораторная работа 2 Тривиальное кодирование состояний,

7

переход к комбинационной схеме и памяти последовательностного

 

автомата

 

Лабораторная работа 3. Синтез счетчиков и регистров по методу

13

Фистера.

 

Лабораторная работа 4 Построение полного проверяющего теста для

22

И-НЕ схем и двухуровневая диагностика И-НЕ схем

 

Лабораторная работа 5 Граф автомата, таблица переходов и выходов

25

Лабораторная работа 6 Метод допустимых конфигураций синтеза

30

многоуровневых И-НЕ схем по матричной форме

 

Список литературы

41

ВВЕДЕНИЕ

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

Сложность цифрового автомата в основном определяется числом состояний и объемов входных воздействий. Чем больше число состояний автомата, тем больше он должен содержать запоминающих элементов для хранения и отождествления своих состояний. Если при проектировании вычислительных устройств ставится задача анализа и синтеза только логических, в том числе арифметических, преобразований без рассмотрения форм и способов хранения исходных, данных и результатов, то такая задача решается на основе булевых преобразований и использования только комбинационных схем. Таким образом, проблема анализа и синтеза цифровых автоматов является более общей, включающей в себя вопросы анализа и синтеза, как комбинационных схем, так и элементов памяти.

Анализ и синтез комбинационных схем основан на использовании определенного элементного базиса. Также и любой сложный автомат содержит определенный элементарный автоматный базис. Сложный автомат, имеющий m состояний, содержит k автоматов с меньшим числом состояний. В пределе самый простой автомат может иметь всего два состояния. Такой автомат можно принять за элементарный базовый автомат. Все элементарные

3

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

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

Лабораторная работа 1 Описание алгоритма работы схемы автоматным графом переходов.

Конечные автоматы получили свое название из-за того, что схема с k- регистрами может находиться в одном из 2k, то есть в конечном числе, состояний. У КА М входов, N выходов и k бит состояний. На вход КА так же подается тактовый сигнал и, возможно, сигнал сброса. КА состоит из двух блоков комбинационной логики: логики перехода в следующее состояние и выходной логики, – и из регистра, в котором хранится текущее состояние. По фронту каждого тактового импульса автомат переходит в следующее состояние, которое определяется текущим состоянием и значениями на входах. Существует два основных класса конечных автоматов, которые отличаются своими функциональными описаниями. В автомате Мура выходные значения зависят лишь от текущего состояния, в то время как в автомате Мили выход зависит как от текущего состояния, так и от входных данных. Конечные автоматы предоставляют систематический способ проектирования синхронных последовательных схем по заданному функциональному описанию. Вполне возможно, что заданную схему можно реализовать и проще, однако иметь способ, гарантированно обеспечивающий работоспособный результат, всегда полезно.

При выполнении лабораторной работы необходимо:

1.Описать работу конечного автомата в виде диаграммы переходов

(графа)

2.Сформировать таблицу переходов

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

4.Составить описание схемы в VHDL, провести моделирование, подключить внешние контакты, определить частоты, на которых схема работоспособна.

Цифровые автоматы на VHDL описываются в форме двух процессов: комбинаторного и регистрового. В комбинаторном процессе формируется следующее состояние автомата (fsm_next), в регистровом процессе текущее состояние (fsm_current) заменяется на следующее (fsm_next). Описание автомата начинается с создания типа и объявления переменных этого типа.

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

4

устройством подразумевает формирование сигнала начальной установки после включения питания, что позволяет избежать подобной ситуации.

Пример описания автомата:

TYPE Tctrl_fsm1 IS ( state_0,

state_1, state_2, state_3 );

SIGNAL fsm1_current: Tctrl_fsm1;

SIGNAL fsm1_next: Tctrl_fsm1; PROCESS (clk, reset) BEGIN

IF (reset = '1') and (clk'EVENT AND clk = '1') THEN fsm1_current <= state_0;

ELSIF (clk'EVENT AND clk = '1') THEN

fsm1_current <= fsm1_next; END IF;

END PROCESS; PROCESS (fsm1_current,start_sig) BEGIN

fsm_new <= fsm_old;

--- нет сигналанет перехода

CASE fsm1_current IS WHEN state_0 => fsm1_next <= state_1; WHEN state_1 =>

IF (start_sig = '1') THEN fsm1_next <= state_2; ELSE

fsm1_next <= state_1; END IF;

WHEN state_2 => -- preparation fsm1_next <= state_3;

WHEN state_3 => -- generation fsm1_next <= state_3;

END CASE; END PROCESS;

Рисунок - Структурная схема работы автомата

Описания автоматов с помощью процесса.

Логика переходов описывается например в таком стиле:

PROCESS (present_st, input_signal)

5