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

4183

.pdf
Скачиваний:
4
Добавлен:
08.01.2021
Размер:
839.23 Кб
Скачать

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

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

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

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

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

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

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]