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

книги / Теория графов и её приложения.-1

.pdf
Скачиваний:
0
Добавлен:
20.11.2023
Размер:
8.93 Mб
Скачать

Рис. 12.38. Выбор StateMachine Processing

для изменения настроек автоматического синтеза автомата, заданного в виде State Machine File

Рис. 12.39. Режим кодирования Авто

State Machine Processing

121

Рис. 12.40. Выбор режима кодирования

Minimal Bits в State Machine Processing

Видим, что есть ещё и коды Грея, Джонсона и др., а также множество других опций синтеза (рис. 12.40).

6. Анализ автоматически синтезированной схемы автомата с установленным режимом кодирования

Minimal Bits в State Machine Processing

Автоматически синтезированная по графу автомата схема с установленным режимом кодирования Minimal Bits в State Machine Processing имеет следующий вид (рис. 12.41).

Требуется чуть больше логических элементов (7 против 6 для BDF и 8 для унитарного кодирования), чем в случае синтеза по BDF, нобыстродействиенескольковыше(10, 277 нспротив10,561 нс для BDF и 11.220 нс для унитарного кодирования) (рис. 12.42).

122

Рис. 12.41. Автоматически синтезированная по графу автомата схема с установленным режимом кодирования

Minimal Bits в State Machine Processing с указанными кодами настройки LOGIC CELL

Рис. 12.42. Оценка автоматически синтезированной по графу автомата схемы с установленным режимом кодирования

Minimal Bits в State Machine Processing

Расшифруем шестнадцатеричные коды настройки логических ячеек (LOGIC CELL). Например, получим таблицу истинности функции управления вторым триггером y2(t + 1) – настройка

0FF0 (рис. 12.43).

123

Рис. 12.43. Таблица истинности функции y2(t + 1) – настройка 0FF0

Таким образом, получаем, что

у2 (t +1) = d2 (t) = у2 y1 y2 y1.

В подготовке практического занятия принимали участие: доцент кафедры АТ ПНИПУ О.В. Гончаровский; студенты группы КМБ-11 ПГНИУ А.В. Мазунина, А.А. Чесноков.

Пример аппаратной и программной реализации графа – схемы алгоритма

1.Преобразование схемы алгоритма

вэквивалентный автомат

Задана графическая схема алгоритма – ГСА, например, такая

(рис. 12.44).

Получаем отмеченную ГСА – ОГСА (рис. 12.45).

124

Начало

z1

z2

1

x1

0

0 x2

1

z4

 

z5

 

 

 

 

Конец

Рис. 12.44. НекотораяГСА

 

 

 

 

Начало

 

 

 

 

 

x

Y0

 

 

 

 

Z1

 

 

 

 

 

 

 

 

 

 

 

 

x

Y1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z2

 

 

 

 

 

 

 

 

 

 

 

1

x

Y2

 

 

 

X1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

x

Y3

 

 

 

X2

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

Z4

 

Z5

 

x Y0

Конец

Рис. 12.45. ОтмеченнаяГСА-ОГСА

Строим граф автомата (рис. 12.46).

 

 

y1y2

 

 

 

 

 

 

 

 

00

 

 

 

 

 

z1

01

 

 

 

Y0

 

 

 

 

 

 

Y1

 

 

 

x2 z5

 

 

 

 

 

2 z4

 

 

 

z2

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

1

z3

 

 

 

 

 

 

 

 

 

 

x

 

 

Y

x1 z2

 

 

Y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

2

 

 

 

10

 

 

 

 

 

 

11

 

Рис. 12.46. Граф управляющего автомата

По рис. 12.46 получим обобщенную таблицу переходоввыходов (табл. 12.1).

125

Таблица 1 2 . 1

Таблица переходов-выходов

y2

y1

~

~

~

~

x2

x1

y2(t+1)

y1(t+1)

~

Микрооперации

 

 

 

 

 

 

 

 

d2(t)

d1(t)

 

z1

z2

z3

z4

z5

0

0

0

0

0

0

~

~

0

1

0

1

0

0

0

0

0

1

0

0

0

0

~

~

1

1

0

0

1

0

0

0

1

1

0

0

0

0

~

0

1

0

0

0

0

1

0

0

1

1

0

0

0

0

~

1

1

1

0

0

1

0

0

0

1

0

0

0

0

0

0

~

0

0

0

0

0

0

1

0

1

0

0

0

0

0

1

~

0

0

0

0

0

0

0

1

Из табл. 12.1 получаем минимизированные функции:

(1)

Автомат на «жёсткой» логике строится по системе (1). Автоматна«гибкой» логикестроитсянепосредственнопотабл. 12.1.

2. Программирование микропрограммного устройства управления со счетчиком микрокоманд и двумя типами микрокоманд

Рассмотрим программную (микропрограммную) реализацию ГСА, выполняемую без получения промежуточной моделиграфа переходов автомата. Сопоставим каждый из двух типов блоков ГСА с двумя типами микрокоманд: 1) операционную – для блоков микрокоманд:

126

Признак микрокоманды ПМ = 1

Микрооперации

 

 

2) специальную, или перехода – для блока ветвления:

Признак микрокоманды

Код логического

Адрес

ПМ = 0

условия

перехода

Если выполняются операционные микрокоманды, то последовательно выбираются адреса постоянного запоминающего устройства (ПЗУ) и последовательно выдаются микрооперации в операционное устройство.

Это может быть реализовано путем перебора состояний счетчика по счетному входу +1. Такой счетчик называется счетчиком микрокоманд. Конечно, для задач реальной размерности он должен иметь достаточное число состояний. Нам хватит 4 состояний. В случае выполнения специальной микрокоманды, если логическое условие равно единице, производится переход по указанному адресу с использованием входа предустановки РЕ по указанным в поле адреса данным Di. Если логическое условие равно нулю, то выбирается следующий адрес.

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

Получим, например, микропрограмму реализации алгоритма, изображенного на рис. 1, для автомата с двумя типами микрокоманд (рис. 12.47).

Адресамикрокоманд(табл. 12.2) соответствуютблокамГСА. В рассмотренном автомате, если микрокоманда специальная (ПМ = 0), разряды 1–2 используются для кодирования логи-

ческого условия (значения указаны курсивом): 00 – безусловный переход, т.е. нет условия; 01 – х1; 10 – х2. Если микрокоманда операционная, то разряды 1–5 отводятся для микроопераций z1 z5 соответственно.

127

Рис. 12.47. ГСА с адресами команд

Таблица 1 2 . 2

Микропрограмма с двумя типами микрокоманд

Метка

 

Адрес

 

 

 

Микрокоманда

 

 

микрокоманды

ПМ

1

 

2

3

4

 

5

6

 

0

0

0

0

1

1

 

0

0

0

 

0

0

M0:

0

0

0

1

1

0

 

1

0

0

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

1

0

0

1

 

0

1

0

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

1

1

1

0

 

0

1

0

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

0

0

0

0

 

1

1

1

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

0

1

1

0

 

0

0

1

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

1

0

0

0

 

0

0

0

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M1:

0

1

1

1

1

0

 

0

0

0

 

1

0

 

1

0

0

0

0

0

 

0

0

0

 

0

0

Комментарий

Выдачаz1 = 1. Код60H Выдачаz2 = 1. Код50H Переход, еслих1 = 1 наадрес0001. Код28H Выдачаz3 = 1. Код48H Переход, еслих2 = 1 поадресу0111 (меткаМ1). Код1EH

Выдачаz4 = 1. Код44H Безусловныйпереход (БП) наначало. Код00H Выдачаz5 = 1. Код42H БПнаначало. Код00H

Особенность микропрограммы – возврат в исходное состояние после окончания работы.

128

3. Программная реализация ГСА на основе стандартной программы в микроконтроллере 80С51

Получим массив констант для стандартной программы ПЛА для реализации табл. 12.1 – без минимизации функций.

База входного слова имеет вид y2 y10000x2 x1 , база выходного слова y2 (t +1) y1(t +1)0z1z2 z3z4 z5 – первый ноль

 

y2

 

y1

 

x2

 

x1

 

y2(t + 1)

 

y1(t + 1)

 

 

Микрооперации

 

 

 

 

 

 

d2(t)

 

d1(t)

 

z1

 

 

z2

 

z3

 

z4

 

z5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0

 

~

 

~

 

0

 

1

 

1

 

 

0

 

0

 

0

 

0

Тогда первая маска для первой строки: 11000000В, т.е. в шестнадцатеричном коде будет в байтовом формате 0C0H. Вторая маска нулевая по всем позициям: 00000000В, т.е. 00H.

Третья маска 01010000В, т.е. 50H:

0

 

1

0

 

1

0

0

0

0

 

Аналогично определяем константы для других строк. Полу-

чим таблицу:

 

 

 

 

 

 

 

TABL:

 

 

 

 

 

 

 

 

db 0C0H,00H,50H,

 

 

 

 

 

 

db 0C0H,40H,0C8H,

 

 

 

 

 

 

db 0C1H,0C0H,84H,

 

 

 

 

 

 

db 0C1H,0C1H,0C8H,

 

 

 

 

 

 

db 0C2H,80H,02H,

 

 

 

 

 

 

db 0C2H,82H,01H,

00H

 

 

 

 

Используется программа ПЛА особенностью которой является то, что для имитации «синхронизации» используем нулевой бит порта Р3.

129

Автомат будет ждать «срабатывания» этого бита для перехода в новое состояние. Если не использовать этот приём, то не видна последовательность срабатывания переходов автомата.

Программа выглядит следующим образом:

P1 EQU 90H

P2 EQU 0A0H

Begin: MOV A, P1

 

; СчитываемизаносимваккумуляторА

ANL A, #03h

; Маскируем

MOV R1, A

 

; вR1

MOV A, R3

 

; ВнутреннеесостояниевR3

ORL A, R1

 

; Получаемполноевходноеслово

MOV R1, A

 

; ПолноевходноеслововR1

MOV R2,#0

 

; ОбнуляемR2 внемвыход

MOV DPTR,#TABL ; Указательнамассивконстант

CLR A

; Очищаемаккумулятор

MOVC A,@A+DPTR

; ЗагружаемХ0(i) вА

MOV R0,A

 

; Х0(i) вR0

Next: MOV A, R0

 

; Х0(i) вA

ANL A,R1

 

; МаскируемвходноесловоХ0(i)

MOV R0,A

 

; РезультатвR0

CLR A

; Очищаемаккумулятор

INC DPTR

 

; Инкрементируемрегиструказатель

MOVC A,@A+DPTR

; ЗагружаемХD(i) вА

XRL A,R0

 

; Сложениепомодулю2 спредыдущим

 

; результатом

INC DPTR

 

; Инкрементрегистрауказателя

JNZ Check

 

; Переходеслиноль

CLR A

; Очищаемаккумулятор

MOVC A,@A+DPTR

; ЗагружаемZ(i)

ORL A,R2

 

; Получаемвыходноеслово

MOV R2,A

 

; СохраняемрезультатвR2

Check:CLR A

; Очищаемаккумулятор

INC DPTR

 

; Инкрементируемрегиструказателя

MOVC A,@A+DPTR

; Загружаем Х0(i+1)

130