Лабораторная работа №2
Цель работы: Синтез комбинационного устройства при помощи редактора временных диаграмм САПР “MAX+PLUS II”. Изучение функционального моделирования в САПР “MAX+PLUS II”.
Задание на лабораторную работу:
Заполните таблицу истинности декодера. Свечению сегмента соответствует «0» в таблице истинности. Сегменту «А» соответствует младший бит выходного кода декодера. Расположение сегментов на индикаторе и образец таблицы истинности:
|
Входные сигналы |
Выходные сигналы |
|
||||||||||
Цифра (HEX) |
20 |
21 |
22 |
23 |
H |
G |
F |
E |
D |
C |
B |
A |
HEX-код |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
C0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
A |
|
|
|
|
|
|
|
|
|
|
|
|
|
B |
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
|
|
|
|
|
|
|
|
|
|
|
|
D |
|
|
|
|
|
|
|
|
|
|
|
|
|
E |
|
|
|
|
|
|
|
|
|
|
|
|
|
F |
|
|
|
|
|
|
|
|
|
|
|
|
|
Создайте файл временной диаграммы (.wdf). Сохраните его с именем bin_hex.wdf. Задайте параметры сетки. Сначала в меню File выберите пункт End Time. В появившемся окошке введите 1.6uS. Затем в меню Options выберите пункт Grid Size. В появившемся окошке введите 100nS.
Задайте входные и выходные сигналы декодера в соответствии с заполненной таблицей истинности. Окно редактора имеет четыре поля, разделённых вертикальными линиями. Поле «Name» предназначено для ввода имени узла. Поле «Type» отображает тип сигнала (INPUT, OUTPUT, BIDIR). В поле («Value») показаны состояния выводов, соответствующие положению специальной вертикальной визирной линии, которая при открытии окна установлена в начало горизонтальной оси, размеченной в единицах времени. Для перемещения визира в нужное место необходимо совместить курсор с вершиной визира (при этом курсор примет крестообразную форму) и при нажатой левой кнопке мыши перетащить визир в нужное место. Для ввода имени и типа сигнала щелкните мышкой по свободной ячейке поля «Name». В появившемся окошке введите имя и выберите тип сигнала:
Четвёртое поле предназначено для задания требуемых состояний выводов, при этом используются инструменты с панели инструментов редактора, которая расположена вертикально вдоль левой стороны окна. Активизация панели инструментов происходит только в том случае, если выделен один из узлов. Чтобы выделить узел, необходимо щёлкнуть левой кнопкой мыши на имени узла, можно также выделить любой участок вдоль горизонтальной оси, при этом границы выделяемых участков привязываются к сетке. Сигналы так же можно объединять в группы и вводить сразу соответствующее шестнадцатеричное число. Для объединения сигналов в группу выделите соответствующие сигналы, щелкните правой кнопкой мыши и выберите Enter Group. Для разбиения сгруппированного сигнала на составляющие щелкните правой кнопкой мыши и выберите Ungroup. Ввод группы сигналов:
Для ввода значения группы
сигналов пользуйтесь кнопками:
Сделайте созданный файл файлом верхнего уровня проекта и откомпилируйте его.
Добавьте символ синтезированного декодера в схему, полученную в предыдущей лабораторной работе. Не забудьте ввести имена всех сигналов и откорректировать параметры мегафункци, задающей константу на входе декодера:
Сделайте созданный файл файлом верхнего уровня проекта и откомпилируйте его.
Проверьте правильность работы декодера, последовательно подставляя числа от 0 до 16 в параметр LPM_CVALUE мегафункции, задающей константу на входе декодера, компилируя и загружая конфигурацию в стенд. В третьем справа разряде дисплея вы должны увидеть цифры от 0 до F.
Для проведения функционального моделирования системы создайте новый файл временной диаграммы (.scf). Сохраните его с именем lab1.scf. Задайте время моделирования 50uS (меню File, пункт End Time).
Введите в редактор временных диаграмм сигналы из проекта. Для этого щелкните правой кнопкой мыши по свободной ячейке, выберите Enter Nodes from SNF. В появившемся окошке щелкните по кнопке List. В левом списке отметьте сигналы clk(I), WR(O), RD(O), DATA[7..0](O), ADR[2..0](O) и нажмите кнопку «=>», затем OK.
Выбранные
сигналы появятся в редакторе временных
диаграмм. Сформируйте входное воздействие
- для сигнала clk
задайте меандр (воспользуйтесь кнопкой
на панели инструментов).
Запустите программу функционального моделирования (кнопка
на панели инструментов). Проанализируйте
полученные временные диаграммы,
используя схему электрическую
принципиальную стенда.
