Симулятор позволяет выполнить следующие задачи:
─ задать ожидаемые логические уровни на выходе, которые можно сравнить с результатами тестирования;
─ смоделировать отдельные узлы или узлы, объединённые в группы. Можно комбинировать биты цифрового автомата в проекте, моделировать их как группу и обращаться к ним по имени состояния;
─ определить временной интервал, представляющий собой дрожание фронта импульса или сбой, и проанализировать проект на наличие обоих этих условий или одного из них;
─ контролировать наличие в проекте нарушений начальных установок регистров и временных задержек;
─ регистрировать действительные значения выходов устройств вместо моделированных;
─ проводить функциональное тестирование. Можно проверить, являются ли смоделированные выходные значения функционально эквивалентными реальным выходам устройств;
─ задавать условия точки останова, которые заставляют симулятор делать паузу при их реализации в процессе тестирования;
─ составлять перечень имён и логических уровней любой комбинации узлов и групп и инициализировать логические уровни узла или группы перед тестированием;
─ инициализировать содержимое блоков памяти RAM (ОЗУ) или ROM (ПЗУ) перед тестированием;
─ сохранять инициализированные значения узлов и групп, в том числе инициализированное содержимое памяти, в файле инициализации симулятора (.sif) или перегружать инициализированные значения, хранящиеся в файле;
─ регистрировать команды симулятора в текстовом файле протокола испытаний (.log) того же формата, что и командный файл (.cmd), используемый при
тестировании в автоматическом режиме, а затем использовать этот файл LOG для повторения этого цикла тестирования.
Загрузка готового проекта в ПЛИС или конфигурационное ПЗУ выполняется с помощью программатора (Programmer).
2.2 Лабораторная работа №1: "Графический ввод схемы устройства и функциональная симуляция с использованием САПР MAX+PLUS II"
Цель и содержание работы: В данной работе изучается графический редактор и осуществляется ввод в систему MAX+plusII принципиальной схемы комбинационного устройства, описанного булевым уравнением. После этого выполняется трансляция проекта, с помощью редактора логико-временных диаграмм формируется последовательность входных тестовых векторов и осуществляется симуляция (логическое моделирование). В результате система MAX+plusII формирует диаграмму состояний для выходов устройства, анализируя которую совместно с таблицей истинности, можно сделать заключение о правильности функционирования разработанного устройства.
2.2.1 Запуск системы MAX+plusII
Запуск САПР осуществляется из стартового меню Windows командой MAX+plus II 9.6 BASELINE, которая находится в группе MAX+plusII.
Процедура разработки нового проекта (project) начинается с задания имени файла проекта верхнего уровня (Top of hierarchy) в качестве имени проекта (Project name).
Рисунок 2.12 – Создание нового проекта
Здесь требуется выполнить следующее:
─ выбрать место расположения создаваемого проекта;
─ указать имя проекта.
В результате этого в выбранной папке создаётся файл назначений и конфигурации с расширением .acf. В этом файле содержатся все типы назначений ресурсов, зондов (Probes) и устройств (Devices) также как и конфигурационные установки (Assign) для компилятора, симулятора и временного анализатора.
Проектирование цифрового устройства начинается с создания нового файла (design file) проекта или иерархической структуры нескольких файлов проекта с использованием редакторов разработки проекта в системе MAX+plus II, т.е. графического, текстового и сигнального редакторов.
Спроектируем устройство заданное упрощённым булевым выражением:
.Чтобы спроектировать данное устройство, используем стандартные логические элементы: четыре элемента NOT, семь элементов AND и один элемент OR. Т.к. в библиотеке примитивов MAX+plus II нет семивходового элемента OR создадим его сами, используя MegaWizard Plug-In Manager.
2.2.4 Создание элемента в MegaWizard Plug-In Manager.
Рисунок 2.13 – Первый шаг в создании мегафункции
В следующем окне требуется выбрать мегафункцию, на базе которой будет создан новый элемент, язык описания выходного файла и его имя.
Рисунок 2.14 – Второй шаг в создании мегафункции
Рисунок 2.15 – Третий шаг в создании мегафункции
В этом окне нужно выбрать количество входов для данных, ширину входных данных (в битах), а также можно задать отображение выводов как шин и сделать размеры символа как можно меньше.
Укажем количество входов – 7, ширину входных данных – 1 бит.
Нажав на кнопку Finish – закончим создание мегафункции. Если нажать на Next, то можно увидеть какие файлы были созданы для данной мегафункции и закончить работу.
2.2.5 Создание исходных данных для проектирования устройства.
Рисунок 2.16 – Принципиальная схема устройства
Запускается Graphic Editor из меню MAX+plus II. Рисуем принципиальную схему, используя библиотеку символов MAX+plus II, которая открывается по двойному нажатию левой кнопки мыши (рисунок 2.17).
Рисунок 2.17 – Выбор символов
В результате получаем графический файл проекта project.gdf (рисунок 2.18).
Рисунок 2.18 – Окно графического редактора со схемой
Теперь, когда схема нарисована, можно подать на её входы сигналы. Подадим сигналы в соответствии с таблицей истинности, полученной из булева выражения.
Таблица 2.2 – Таблица истинности
Входы | Выход | |||
D | C | B | A | Y |
0 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 1 | 0 |
0 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 1 | 1 |
0 | 1 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 0 |
0 | 1 | 1 | 0 | 1 |
0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 1 |
1 | 0 | 1 | 0 | 1 |
1 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 0 | 1 |
1 | 1 | 0 | 1 | 0 |
1 | 1 | 1 | 0 | 0 |
1 | 1 | 1 | 1 | 1 |
Рисунок 2.19 – Окно сигнального редактора с входными сигналами