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

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

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

вой частоты будет много большим, чем частота тактирования счетчика, таким образом, будет обеспечиваться, как можно более высокая скорость срабатывания ПЗУ.

По этим логическим выражениям осуществляется синтез блока управления счетчиком микрокоманд.

Для выбора логического условия понадобится мультиплексор, который будет осуществлять выборку одного из входных логических условий и подключать данный сигнал на выход. В качестве его можно использовать микросхему 74151. Она находится в библиотеке элементов others>maxplus2.

На мультиплексор должен поступать код логического условия с соответствующих разрядов специальной микрокоманды.

Подключим входы переменных (а их всего две) к мультиплексору в соответствии с их номерами – х1 ко входу 1, х2 – ко входу 2. Нулевой вход мультиплексора подключим к генератору «1» (Vсс), так как нулевой номер означает безусловный переход.

При сборке схемы необходимо внимательно подключать выводы блоков – в соответствии с таблицей программирования, не путать старшие и младшие адреса и данные! Так, номер логического условия и адрес перехода в таблице записаны

смладших адресов, а не со старших!

Врезультате была получена схема, показанная на рис. 7.

Рис. 7. Схема МПУУ со счетчиком микрокоманд

101

Как видно на схеме, дополнительно введены триггеры по выходу микроопераций, чтобы не допустить несанкционированного переключения выходов, вызванного разными скоростями переключения элементов схемы.

Выполняем компиляцию. Она завершается успешно! Приступаем к временному моделированию (рис. 8).

Рис. 8. Временное моделирование схемы

Как видно из рис. 8, порядок выполнения микроопераций соответствует ГСА.

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

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

102

Лабораторная работа №9 СОЗДАНИЕ ЦИФРОВЫХ АВТОМАТОВ С ПОМОЩЬЮ

STATE MACHINE EDITOR ПРОГРАММНОГО ПРОДУКТА

QUARTUSII ФИРМЫ ALTERA

Задание: синтезировать микропрограммное устройство управления по заданной ГСА в приложении State Machine Editor

системы Quartus II.

Пример. Пусть дана следующая графическая схема алгоритма (рис. 1).

Начало

Z1

Z2

1

X1

0

Z3

0

X2

1

Z4

Z5

Конец

Рис. 1. Графическая схема алгоритма МПУУ

Выполним ее отметку для автомата Мили. Получим отмеченную ГСА (ОГСА). На рис. 2 указаны метки состояния Y0, Y1,

Y2, Y3, Y0.

103

Начало

Y0

Z1

Y1

Z2

Y2

1

X1

0

Z3

Y3

0

X2

1

Z4

Z5

Y0

Конец

Рис. 2 Отмеченная графическая схема алгоритма микропрограммного устройства управления

Построим граф соответствующего автомата Мили (рис. 3):

00

 

 

 

01

 

 

 

 

 

~/Z1

 

 

0

 

 

 

Y1

 

 

 

 

 

 

Y0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X2 /Z4

 

 

X2/Z5

 

 

~/Z2

 

 

 

 

 

 

 

 

11

Y3 Y2

10

X1 /Z3

X1 /Z2

Рис. 3. Граф автомата Мили

104

Однако приложение State Machine Editor системы Quartus II

имеет некоторые особенности. В частности, данное приложение не позволяет задавать два перехода из одной вершины в другую. Как видно на рис. 3, такая ситуация происходит при переходе из вершины Y3 в вершину Y0. Поэтому, чтобы построить микропрограммное устройство управления для такого графа, его надо преобразовать к виду, представленному на рис. 4.

 

 

 

Z1=1

 

 

 

 

Z1=1

00

 

 

 

~

 

01

 

 

 

Y0

 

 

 

 

 

Y1

 

 

 

 

 

 

 

 

 

Z4=1

 

 

 

Z5=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y4

 

 

 

 

 

Y5

 

 

 

 

 

X2

 

 

X2

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

10

Y3

 

 

 

 

 

Y2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z3=1

X1

Z2=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X1

Рис. 4. Граф, преобразованный для синтеза в приложении State Machine Editor

Как видно, у этого графа введены дополнительные состояния Y4 и Y5. Кроме этого выходные сигналы привязаны к конкретным вершинам. На основании данного графа будет произведен синтез МПУУ.

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

После создания проекта выбираем пункт меню File>New, во вновь открывшемся окне выбираем State Machine File (рис. 5)

105

Рис. 5. Создание исполняемого файла проекта

После чего откроется окно программы и примет вид, показанный на рис. 6.

Рис. 6. Рабочее окно редактора State Machine Editor

106

Для задания состояний автомата щелкните на иконке State

Tool , на панели инструментов. После чего щелкните левой кнопкой мыши в рабочей области и задайте шесть состояний автомата, как показано на рис. 7.

Рис. 7. Задание шести состояний автомата

После этого необходимо задать переходы между состояниями графа и функции переходов. Для этого на панели инструментов

необходимо щелкнуть на пиктокрамме Transition Tool . Подведите курсор мыши к первому объекту, дождитесь, пока курсор изменит вид на перекрестие, щелкните мышью и, не отпуская клавишу, перемещайте курсор до второго объекта. Так же поступите со всеми остальными переходами между состояниями графа. Врезультатеграф будетиметьвид, показанный нарис. 8.

Рис. 8. Граф с заданными переходами между состояниями

107

Далее требуется задать условия переходов между состояниями. Как видно из графа, представленного на рис. 4, переходы осуществляются в зависимости от состояний входных сигналов X1 и X2. Но на панели входных сигналов (Input Table) по умолчанию располагаются только сигналы тактовой частоты clock и сигнал сброса reset. Поэтому необходимо добавить два входных сигнала. Для этого в свободном месте таблицы входных сигналов (Input Table) нужно щелкнуть правой клавишей мыши и в открывшемся контекстном менювыбратьпунктInsert New (рис. 9).

Рис. 9. Добавление входного сигнала

Далее нужно задать имя сигнала, для этого необходимо дважды щелкнуть на его названии и ввести требуемое обозначение. Подобным образом производится добавление второго сигнала (рис. 10).

Рис. 10. Таблица входных сигналов после добавления двух переменных

108

Таким жеобразомнужнозадатьвыходныесигналы(рис. 11).

Рис. 11. Таблица выходных сигналов

Далее, как говорилось выше, следует задать условия переходов между состояниями. Для этого нужно дважды щелкнуть левой кнопкой мыши на стрелке, сигнализирующей переход, и в поле Equation ввести требуемое условие. При этом приложение State Machine Editor использует следующие символические обозначения логических действий: конъюнкция – &, дизъюнкция – |, инверсия – ~. Безусловные переходы обозначать не требуется. В результате граф примет вид, показанный на рис. 12.

Рис. 12. Граф с отмеченными условиями переходов

Также нужно задать состояния выходного сигнала для каждого состояния. Для этого нужно двойным щелчком левой клавиши мыши на состоянии открыть диалоговое окно свойств со-

109

стояния (State Properties). Далее на вкладке Actions, в поле Output port выбрать наименование выходного сигнала, а в поле Output Value ввести значение сигнала (рис. 13).

Рис. 13. Задание выходного сигнала состоянию State 1

После задания выходных сигналов всем состояниям граф примет вид, показанный на рис. 14.

Рис. 14. Граф МПУУ после задания всех переходов и выходов

Далее необходимо на основе построенного графа создать VHDL-файл, который и будет являться основой проекта. Для этого нужно выбрать пункт меню Tools->Generate HDL File. Во вновь открывшемся окне надо выбрать язык VHDL (рис. 15).

110