4183
.pdfМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ
ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ЛЕСОТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ ИМЕНИ Г.Ф. МОРОЗОВА»
Кафедра автоматизации производственных процессов
Цифровые автоматы
методические указания к лабораторным работам для студентов
по направлению подготовки
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
BEGIN
CASE present_st IS WHEN state1 => IF input_signal = '1'
THEN next_st <= state1; ELSE next_st <= state2; END IF;
WHEN state2 => IF input_signal = '1'
THEN next_st <= state2; ELSE next_st <= state3; END IF;
...
END CASE; END PROCESS;
Можно (но нередко это оказывается громоздким) записать логику работы в стиле WHEN-ELSE:
output <= "000" WHEN present_st = state1 ELSE "001" WHEN present_st = state2 ELSE
...
"100" WHEN present_st = state5;
Задания на работу: разработать в виде конечного автомата схему, реагирующую выдачей «1» на выходе на появление на входе заданной последовательности. Следует указать, используется автомат Мили или Мура.
Варианты заданий
Но |
Последовательность |
мер |
|
вар |
|
ианта |
|
|
|
1 |
00110101 |
|
|
2 |
00110100 |
|
|
3 |
00110110 |
|
|
4 |
00110111 |
|
|
5 |
00111000 |
|
|
6 |
00111001 |
|
|
7 |
00111010 |
|
|
8 |
00111011 |
|
|
6
9 |
00111100 |
|
|
10 |
00111101 |
|
|
11 |
00111110 |
|
|
12 |
00111100 |
|
|
13 |
00111101 |
|
|
14 |
10111100 |
|
|
15 |
01011100 |
|
|
16 |
10101100 |
|
|
17 |
10111101 |
|
|
18 |
10110101 |
|
|
19 |
11001100 |
|
|
20 |
11001000 |
|
|
21 |
11001001 |
|
|
22 |
11101001 |
|
|
23 |
10101001 |
|
|
24 |
10111001 |
|
|
25 |
10101101 |
|
|
26 |
11101011 |
|
|
27 |
10101111 |
|
|
28 |
10001001 |
|
|
29 |
10101011 |
|
|
30 |
10101101 |
|
|
31 |
11101011 |
|
|
32 |
10101011 |
|
|
|
|
7
Лабораторная работа 2 Тривиальное кодирование состояний, переход к комбинационной схеме и памяти последовательностного автомата
Цель занятия – научится строить схему последовательностного автомата на D - триггерах.
Пусть нам задан некоторый последовательностный автомат с тремя состояниями.
Рисунок 1 - Исходное задание автомата.
Заметим, что выходные функции y1 и y2 принимают различные комбинации значений для разных состояний. Проведем кодирование состояний, обеспечивающее простоту схемной реализации функций y1 и y2.
к=]log2(3)[=2.
Действительно
Рисунок 2 - Матрица размещения состояний и выходные функции.
Строим кодированную таблицу переходов и выходов.
1z2
0 1
8
|
1 |
1 |
|
|
2 |
0 |
|
|
x |
0 |
|
x |
2 |
1 |
0 |
Рисунок 3 - Кодированная таблица переходов и выходов автомата
Получаем систему двух булевых функций.
Рисунок 4 - Система функций переходов автомата.
z1 = ⌐z1x1Vz2 ⌐x1х2Vz1⌐х1 ⌐x2V⌐z2x1 z2= z2⌐x1⌐x2V⌐z1⌐x1V z1x1V⌐z2x2 y1= z1
y2= z2
Эта система булевых функций определяет логику работы последовательностного автомата. Кроме логики алгоритм работы автомата определяется памятью.
9
Рисунок 5 - Представление схемы автомата в виде комбинационной схемы и памяти.
Рисунок 6 - Представление памяти в виде схемы установки в начальное состояние и собственно памяти
Собственно память автомата реализуем двойным рядом D-триггеров. Один ряд триггеров принимает от комбинационной схемы следующее состояние автомата, другой – сохраняет настоящее. Кроме этого необходимо построить схему установки автомата в начальное состояние. Итого, схема автомата с памятью будет выглядеть следующим образом:
10