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

книги / Реализация цифровых автоматов в системе Quartus фирмы Altera

..pdf
Скачиваний:
10
Добавлен:
19.11.2023
Размер:
27.48 Mб
Скачать

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

END

После изменения программы ее необходимо откомпилировать, то есть получить объектный код. Это выполняется с помощью компилятора 51.ВАТ (рис. 3).

Рис. 3. Запуск компилятора 51.BAT

81

Запускаем компилятор (рис. 4.).

Рис. 4. Окно компилятора 51.BAT

Пишемназваниепрограммы(PLA16), нажимаемВвод(рис. 5.).

Рис. 5. Ввод названия файла

После компиляции проверяем отсутствие ошибок в файле

Pla16.lst (рис. 6).

82

Рис. 6. Файл с описанием ошибок

Ошибки не обнаружены! Если ошибки есть, их нужно устранить.

Посмотрим сформированный файл Pla16.hex:

:100000003030303068686868020201014468446832

:10001000000000000000000000E5905403F9EB49E7

:10002000F97A00900000E493F8E859F8E4A39368A3

:10003000A37004E4934AFAE4A393F870ECEA540C36

:10004000FB8AA080D4000000000000000000000037

:080050000000000000000000A8

:00000001FF

Нам необходима только первая строчка – 16 чисел. Но в наше ПЗУ мы загрузим все. Строим схему (рис. 7).

83

Рис. 7. Схема МПУУ на ПЗУ

Проводим временное моделирование (рис. 8). Для х2 х1 = 00 выдаются микрооперации z1, z2, z3, z4…

Рис. 8. Результаты временного моделирования МПУУ на «гибкой» логике для х2 х1 = 00: z1, z2, z3, z4…

84

Проверка при х2 х1 = 01 (х1 = 1) (рис. 9). Сначала z1, потом постоянно z2.

Рис. 9. Проверка при х2 х1 = 01 z1, z2, z2, z2…

Проверка при х2 х1 = 10 (х2 = 1) (рис. 10).

Рис. 10. Результаты временного моделирования МПУУ на «гибкой» логике для х2 х1 = 10: z1, z2, z3, z5…

85

Таким образом, МПУУ работает согласно заданной ГСА. Без инвертора:

Рис. 11. Схема МПУУ на ПЗУ

Рис. 12. Результаты временного моделирования МПУУ на «гибкой» логике для х2 х1 = 00: z1, z2, z3, z4…

86

Рис. 13. Проверка при х2 х1 = 01 z1, z2, z2, z2…

Рис. 14. Результаты временного моделирования МПУУ на «гибкой» логике для х2 х1 = 10: z1, z2, z3, z5…

2. Варианты заданий

Соответствуют вариантам из лабораторной работы №1.

87

Лабораторная работа №7 СИНТЕЗ МИКРОПРОГРАММНОГО УСТРОЙСТВА УПРАВЛЕНИЯ

НА ОСНОВЕ ПЗУ И МУЛЬТИПЛЕКСОРА

Задание: синтезировать микропрограммное устройство управления на «гибкой» логике – ПЗУ и мультиплексоре по заданной графической схеме алгоритма – ГСА.

Пример. Пусть задана ГСА-ОГСА (рис. 1).

Y0

x1

Y1

x2

z1

Y2

z2 z3

Y3

x3

 

 

 

 

 

 

 

 

z4

 

 

 

z5

 

 

 

 

 

 

 

 

Y0

Рис. 1. ГСА-ОГСА для синтеза МПУУ на основе ПЗУ и мультиплексора

88

Видно, что переход от метки к метке осуществляется с проверкой не более одного логического условия. Далее обычным образом строится граф автомата (рис. 2).

 

00

 

x

1

 

 

01

 

x2

 

11

 

 

 

10

 

 

 

 

z4

z1

 

 

 

 

 

 

 

 

 

 

 

 

z2 z3

 

 

 

 

x1

Y0

Y1

 

Y2

 

Y3

x3

z4

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z4

 

 

x3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z5

 

 

 

 

 

 

 

 

Рис. 2. Граф автомата МПУУ на основе ПЗУ и мультиплексора

Получим таблицу программирования ПЗУ, где х – псевдопеременная (табл. 1).

Таблица 1

 

 

 

Адрес

 

 

 

 

 

 

 

Данные

 

 

 

 

 

 

 

 

 

y2

y1

x

z1

z2

z3

z4

 

z5

y2(t+1)

 

y1(t+1)

 

Y0Y1

 

 

x1

0

0 0

0

0

0

0

 

0

0

1

 

 

 

 

 

0

0 1

0

0

0

1

 

0

0

0

 

 

Y0Y0

 

 

x2

0

1 0

0

0

0

1

 

0

0

0

 

 

Y1Y0

 

 

 

0

1 1

1

0

0

0

 

0

1

1

 

 

Y1Y2

 

 

~

1

1 0

0

1

1

0

 

0

1

0

 

 

Y2Y3

 

 

x3

1

0 1

0

0

0

0

 

1

0

0

 

 

Y3Y0

 

 

 

1

0 0

0

0

0

0

 

0

1

0

 

 

Y3Y3

 

 

 

Изменим порядок данных (табл. 2).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 2

 

 

 

Адрес

 

 

 

 

 

 

 

 

 

 

Данные

 

 

 

 

 

 

 

 

y2

 

y1

 

x

 

 

y2(t+1)

 

y1(t+1)

 

z1

 

z2

 

z3

 

z4

 

z5

 

 

0

 

0

 

0

 

 

0

 

 

1

 

 

0

 

0

 

0

 

0

 

0

 

 

0

 

0

 

1

 

 

0

 

 

0

 

 

0

 

0

 

0

 

1

 

0

 

 

0

 

1

 

0

 

 

0

 

 

0

 

 

0

 

0

 

0

 

1

 

0

 

 

0

 

1

 

1

 

 

1

 

 

1

 

 

1

 

0

 

0

 

0

 

0

 

 

1

 

0

 

0

 

 

1

 

 

0

 

 

0

 

0

 

0

 

0

 

0

 

 

1

 

0

 

1

 

 

0

 

 

0

 

 

0

 

0

 

0

 

0

 

1

 

 

1

 

1

 

0

 

 

1

 

 

0

 

 

0

 

1

 

1

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

89

 

Таблица программирования в шестнадцатеричном коде имеет вид:

20H, 02H, 02H, 70H, 40H, 01H, 4CH.

Получим таблицу подключения информационных входов мультиплексора. Ееможносоставитьпографу автомата(табл. 3).

 

Таблица

3

 

 

 

 

Номер информационного входа

Переменная (константа)

 

010

х1

 

 

110

х2

 

 

210

х3

 

 

310

«0»

 

Мультиплексор адресуется элементами памяти, поэтому на его выходе присутствуют некоторые переменные или заранее оговоренная константа. Сигнал на выходе мультиплексора назовем псевдопеременной (х), причем договоримся сопоставлять с безусловным переходом константу нуля (на соответствующий вход мультиплексора подаем константу нуля). Приведем схему такого МПУУ с тремя входными переменными, двумя переменными состояния и пятью микрооперациями (рис. 3).

 

x

y1(t)

A

 

y1(t)

y2(t)

y2(t)

 

A D

z1

z2

z3 z4 z5

y2(t+1)

y1(t+1)

c

D1 D2

 

 

y1(t)

y2(t)

Рис. 3. МПУУ на основе ПЗУ и мультиплексора

1. Выполнение эксперимента

Установим мультиплексор 74151 и сформируем три переменных(рис. 4). ВходGN – разрешение, активный сигнал – нулевой.

90