Автор работы: Пользователь скрыл имя, 10 Декабря 2011 в 19:18, лабораторная работа
Цель лабораторной работы - изучение метода программной реализации автомата по булевым функциям.
Программная реализация автомата по булевым функциям предполагает, что построение блок-схемы программы происходит по структурной схеме автомата Мили 1 рода (рис. 1). Только структурная схема показывает, почему не происходит мгновенной передачи значений Y1(t),Y2(t),Y3(t) на вход логического преобразователя (ЛП) и, следовательно, исключаются критические состязания. Очевидно, что эта особенность должна быть учтена на блок-схеме алгоритма автомата.
Цель лабораторной работы - изучение метода программной реализации автомата по булевым функциям.
Программная реализация автомата по булевым функциям предполагает, что построение блок-схемы программы происходит по структурной схеме автомата Мили 1 рода (рис. 1). Только структурная схема показывает, почему не происходит мгновенной передачи значений Y1(t),Y2(t),Y3(t) на вход логического преобразователя (ЛП) и, следовательно, исключаются критические состязания. Очевидно, что эта особенность должна быть учтена на блок-схеме алгоритма автомата.
Рис. 1
На структурной схеме автомата (см. рис.1)задачи исключения критических состязаний решаются следующим образом: вычисленные в ЛП новые значения Yi(t),Y2(t),Y3(t) по линиям обратных связей поступают на вход ЛП не сразу, а задерживаются в блоке памяти (БП), тем самым снимая проблему критических состязаний.
Общий алгоритм
работы Automat Bool (рис. 2) и функции Timer1Timer
(рис.3)
Задание по варианту №15:
Граф перехода состояний конечного автомата (рис. 4)
Рис. 4
Задание алгоритма работы способом составления таблицы переходов (таблица 1) и выходов (таблица 2).
Таблица 1
S | X | S | X | |||
0 | 1 | 0 | 1 | |||
1 | 2 | (1) | 1 | 0 | 0 | |
2 | (2) | 5 | 2 | 0 | 0 | |
3 | (3) | 7 | 3 | 1 | 1 | |
4 | (4) | 1 | 4 | 1 | 1 | |
5 | 3 | (5) | 5 | 0 | 0 | |
6 | (6) | 1 | 6 | 0 | 0 | |
7 | 4 | (7) | 7 | 1 | 1 |
При аппаратной реализации автомата производится кодирование его состояний, составляются кодированные таблицы переходов (табл. 3) и выходов (табл.4).
Таблица 3
S | X1 | X2 | X3 | X | S | X1 | X2 | X3 | X | |||
0 | 1 | 0 | 1 | |||||||||
1 | 0 | 0 | 0 | 001 | (000) | 1 | 0 | 0 | 0 | 0 | 0 | |
2 | 0 | 0 | 1 | (001) | 110 | 2 | 0 | 0 | 1 | 0 | 0 | |
3 | 0 | 1 | 1 | (011) | 101 | 3 | 0 | 1 | 1 | 1 | 1 | |
4 | 0 | 1 | 0 | (010) | 000 | 4 | 0 | 1 | 0 | 1 | 0 | |
5 | 1 | 1 | 0 | 011 | (110) | 5 | 1 | 1 | 0 | 0 | 0 | |
6 | 1 | 1 | 1 | (111) | 000 | 6 | 1 | 1 | 1 | 0 | 0 | |
7 | 1 | 0 | 1 | 010 | (101) | 7 | 1 | 0 | 1 | 1 | 1 | |
8 | 1 | 0 | 0 | ~ | ~ | 8 | 1 | 0 | 0 | ~ | ~ |
Затем
вычисляются булевы функции для цепей
включения элементов памяти и выходных
цепей. На рис.5 представлены карты Карно
для функций Y1, Y2, Y3, Z .
Y1 | X | Y2 | X | |||||||||||||||||||||||||||||||||||||||||
~ | ~ | ~ | ~ | |||||||||||||||||||||||||||||||||||||||||
1 | y2 | 1 | 1 | 1 | y2 | |||||||||||||||||||||||||||||||||||||||
y3 | 1 | 1 | y3 | 1 | 1 | |||||||||||||||||||||||||||||||||||||||
1 | 1 | 1 | 1 | |||||||||||||||||||||||||||||||||||||||||
y1 | y1 | |||||||||||||||||||||||||||||||||||||||||||
Y3 | X | Z | X | |||||||||||||||||||||||||||||||||||||||||
1 | ~ | ~ | ~ | ~ | ||||||||||||||||||||||||||||||||||||||||
1 | y2 | 1 | y2 | |||||||||||||||||||||||||||||||||||||||||
y3 | 1 | 1 | 1 | y3 | 1 | 1 | ||||||||||||||||||||||||||||||||||||||
1 | 1 | 1 | 1 | |||||||||||||||||||||||||||||||||||||||||
y1 | y1 |
Автомат будет задан следующей системой функций:
Y1=X·y1·y3˅X·y1·y2·y3˅X·y2·y3˅
Y2=y1·y3˅X·y2˅X·y1˅X·y1·y2·y3;
Y3= X·y1·y2˅X·y1·y2˅X·y1·y2˅y1·y2·
Z=y1·y2˅X·y1·y2˅y1·y2·y3.