- •Саратовский государственный технический университет
- •1. Содержание работы
- •2. Задание по работе
- •3. Задание по уир.
- •4. Варианты заданий
- •5. Задание по уир
- •6. Методические указания
- •6.2. Скобочные формулы
- •6.3. Синтез управляющего автомата с жёсткой логикой
- •7. Содержание отчёта
- •8. Контрольные вопросы
- •Литература
5. Задание по уир
Задание по УИР выполняется по желанию студента для получения отличной оценки за выполнение лабораторной работы.
В задание входит построение программной модели, демонстрирующей работу УА. Для этого необходимо отобразить объединённый граф с размеченными состояниями.
В процессе функционирования состояния размеченного графа должны подсвечиваться, в соответствии с прохождением графа в зависимости от заданных значений в условных вершинах.
Программа составляется или в DELPHI, или в BUILDER по усмотрению студента.
6. Методические указания
УА предназначается для реализации совместно с операционным автоматом заданных команд. Если команды описываются графами, то перед построением УА необходимо графы объединить. При этом используются формальные процедуры, позволяющие построить объединённый граф, содержащий минимум операторных и условных вершин.
6.1. Объединение графов.
Рассмотрим задачу объединения графов на примере. Объединим три графа, представленные на рис.1-3, формальными методами, и получим граф, содержащий минимум условных и операторных вершин.
Y0 X1 Y1 Y2 Y3 Yk 1 0
Рис. 1. Первый граф, подлежащий объединению
Y0
P1P2
Y1
X2 1 0
Y5
Y3
Y4 Y2
Yk
Рис.2. Второй граф, подлежащий объединению
Р1Р2
Y0 1
Y1
Y3 X3 Yk 0
Y4
Y2
Рис.3. Третий граф, подлежащий объединению
Для выбранных трёх графов составим матричные схемы. Закодируем первый граф Р1Р2, второй граф Р1Р2, третий граф Р1Р2. Матрица первого графа будет иметь вид:
Р1Р2
|
Y1 |
Y2 |
Y3 |
Yk |
Y0 |
1 |
|
|
|
Y1 |
|
X1 |
|
X1
|
Y2 |
|
|
1 |
|
Y3 |
|
|
|
1 |
Матрица второго графа будет иметь следующий вид:
P1P2
|
Y1 |
Y2 |
Y3 |
Y4 |
Y5 |
Yk |
Y0 |
1 |
|
|
|
|
|
Y1 |
|
|
X2 |
|
X2
|
|
Y2 |
|
|
|
|
|
1 |
Y3 |
|
1 |
|
|
|
|
Y4 |
|
|
|
|
|
1 |
Y5 |
|
|
|
1 |
|
|
Матрица третьего графа будет иметь следующий вид:
P1P2
|
Y1 |
Y2 |
Y3 |
Y4 |
Yk |
Y0 |
1 |
|
|
|
|
Y1 |
|
1 |
|
|
|
Y2 |
|
|
1 |
|
|
Y3 |
|
X3 |
|
X3
|
|
Y4 |
|
|
|
|
1 |
Объединим эти три матрицы. Содержимое каждой ячейки умножим на код графа и объединим все результаты в объединённой матричной схеме.
Получим объединённую матрицу.
ОМС |
Y1 |
Y2 |
Y3 |
Y4 |
Y5 |
Yk |
Y0 |
p1p2V p1p2V p1p2
|
|
|
|
|
|
Y1 |
|
p1p2x1 Vp1p2 |
p1p2x2 |
|
p1p2x2 |
p1p2x1 |
Y2 |
|
|
p1p2V p1p2 |
|
|
p1p2 |
Y3 |
|
p1p2V x3p1p2 |
|
p1p2x3 |
|
p1p2 |
Y4 |
|
|
|
|
|
p1p2V p1p2 |
Y5 |
|
|
|
p1p2 1 |
|
|
Учтём в объединённой матрице распределение сдвигов. Для этого просмотрим все столбцы объединённой матрицы и найдём в них условия перехода, одинаковые на всех путях. В нашем примере это столбец дляY5, в котором условие р1р2х2 не изменяется, так как является единственным. Теперь, если мы уже попали в вершину Y5, то это условие неизбежно выполнилось и, следовательно, р1р2х2=1. Поэтому на всех путях, выходящих из Y5, это условие заменяется на логическую единицу, что отмечается в объединённой матрице.