logo
Работа с графическим редактором Quartus II

Задание № 4

Цель работы:

Ознакомиться с САПР Quartus II фирмы Altera, получить практические навыки создания проектов по схемотехнике ЭВМ в САПР (ввод схем, компиляция и моделирование).

Реализация проекта

Шаг 1.

№ состояния

№ состояния из варианта

Двоичный код q3,q2,q1,q0

0

6

0110

1

4

0100

2

13

1011

3

10

1010

4

15

1111

5

5

0101

6

0

0000

7

3

0011

8

11

1011

9

12

1100

10

1

0001

11

9

1001

12

2

0010

13

14

1110

14

8

1000

15

7

0111

Составим таблицу перекодировки состояний автомата и их двоичный код.

Шаг 2.

Изобразим граф состояния с учетом таблицы перекодировки.

Шаг 3.

старое состояние

условие

новое состояние

код

Код

6

0110

-

4

0100

4

0100

A=0

11

1011

4

0100

A=1

13

1101

11

1011

-

12

1100

12

1100

-

1

0001

1

0001

B=0

2

0010

1

0001

B=1

9

1001

2

0010

-

3

0011

3

0011

-

14

1110

14

1110

-

8

1000

8

1000

-

7

0111

7

0111

-

6

0110

13

1101

-

10

1010

10

1010

B=0

15

1111

10

1010

B=1

5

0101

15

1111

-

0

0000

0

0000

-

3

0011

9

1001

-

3

0011

5

0101

-

0

0000

Составим таблицу истинности автомата с учетом представленного графа.

Шаг 4.

Создаем проект как в Задании №1, выбирая при этом другое имя проекта, например: lab4. qpf. Чтобы создать новый файл, принадлежащий проекту, выбираем пункт меню FileNew.

Шаг 5.

Нужно создать файл, описывающий устройство. Это Design File. Выбираем создание схемы Block DiagramSchematic File.

Шаг 6.

Сохраняем наш новый файл под именем lab4. bdf.

Шаг 7.

В поле графического редактора схем нажимаем правую кнопку мыши и в выпадающем меню выбираем пункты InsertSymbol - вставить элемент. Или на панели инструментов выбираем кнопку Symbol Tool.

Шаг 8.

С помощью примитивов, входов, выходов проектируем функциональную схему в редакторе Quartus II без минимизации. Расставляем значения состояний в зависимости от логики таблицы истинности.

Шаг 9.

Прежде чем делать симуляцию нужно откомпилировать проект. Выбираем пункты меню ProcessingStart Compilation (или выбрать на панели инструментов кнопку Start Compilation).

Шаг 10.

Создадим файл для симуляции. В нем можно будет описывать входные сигналы и задавать выходные сигналы. Выбираем пункт меню FileNew и затем в появившемся диалоге VerificationDebugging Files University Program VWF (Vector Waveform File).

Шаг 11.

Надо выбрать элементы, которые будем смотреть и которые будем определять. Клик правой клавиши мыши на левой панели Names и в выпадающем меню выбираем пукнт InsertInsert Node or Bus.

Шаг 12.

Появилось диалоговое окно. В нем можно набрать имя выхода какого-нибудь сигнала или элемента. Полное имя сигнала может быть очень длинным и не всегда понятным. Поэтому лучше воспользоваться поиском сигнала в проекте. Нажимаем кнопку Node Finder. Появляется диалоговое окно для поиска сигналов в проекте Node Finder. Нажимаем кнопку List и видим список входов и выходов. Выбираем все нужные сигналы слева в таблице найденных сигналов Nodes Found и переносим их вправо в таблицу выбранных сигналов Selected Nodes. В данном задании достаточно добавить шину входящих сигналов, то есть Input Group, и все выходы. Нажимаем кнопку "OK".

Шаг 13.

Запускаем симулятор из пункта меню ProcessingRun Functional Simulation (или на панели инструментов выбрать кнопку Run Functional Simulation). С помощью кнопок Forcing Low (0) и Forcing High (1) на панели инструментов ставим определенные значения "0" и "1" для а и b.

Шаг 14.

Результат моделирования работы схемы в сигнальном редакторе.

Значение параметров сигналов в редакторе подробнее:

При значениях а=0 и b=0 сигнал идет по ветке (рис.1.1): 6-4-11-12-1-2-3-14-8-7, что соответствует графу.

При значениях а=0 и b=1 сигнал идет по ветке (рис.1.2): 6-4-11-12-1-9-3-14-8-7, что соответствует графу.

Рис. 1.2

При значениях а=1 и b= сигнал идет по ветке (рис.1.3): 6-4-13-10-5-0-3-14-8-7, что соответствует графу.

Рис. 1.3

При значениях а=0 и b=0 сигнал идет по ветке (рис.1.4): 6-4-13-10-15-0-3-14-8-7, что соответствует графу.

Рис. 1.4