- •Московский институт электронной техники Аппаратно-программный комплекс для изучения и исследования микропроцессоров и программируемой логики
- •Введение
- •Оборудование учебного рабочего места
- •Описание плат учебного стенда
- •Плата процессоров
- •Платы внешних устройств и индикации.
- •Процесс разработки
- •Конструкторские файлы, вспомогательные файлы и проекты.
- •Конструкторские файлы
- •Вспомогательные файлы
- •Меню Help (Помощь)
- •Начало проектирования
- •Назначение ресурсов, устройств и имен.
- •Настройка устройства проекта.
- •Расположение узлов.
- •Анализ времен.
- •Язык описания Альтеры ahdl.
- •Язык vhdl
- •Язык Verilog hdl
- •Примитивы, мегафункции и макрофункции.
- •Примитивы.
- •Мегафункции.
- •Макрофункции старого стиля.
- •Иерархия проекта.
- •Обработка проекта
- •Входные файлы компилятора.
- •Процесс компиляции.
- •Запуск компиляции.
- •Модули компилятора и выходные файлы.
- •Средства управления базами данных Database Builder.
- •Синтезатор Логики - Logic Synthesier
- •Разделитель – Partitioner.
- •Разводчик - Fitter.
- •Функциональный экстрактор snf
- •Экстрактор времен snf
- •Экстрактор связей snf.
- •Обработчик списков соединений edif (Edif Netlist Writer)
- •Обработчик списков соединений Verilog (Verilog Netlist Writer)
- •Обработчик списков соединений vhdl (vhdl Netlist Writer)
- •Ассемблер (Assembler).
- •Утилита Design Doctor.
- •Обнаружение ошибок и нахождение места их возникновения.
- •Анализ проекта.
- •Функциональное моделирование (симуляция).
- •Временная симуляция.
- •Связанная многопроектная симуляция.
- •Особенности симулятора.
- •Программирование устройства.
- •Шаг 2. Создание графического файла схемы (Graphic Design File).
- •Шаг 3. Компиляция проекта.
- •Шаг 4. Подготовка файла симуляции проекта.
- •Шаг 5. Симуляция.
- •Шаг 6. Анализ результатов работы Симулятора.
- •Шаг 7. Программирование устройства Altera.
- •Шаг 2. Проверка работоспособности собранной схемы триггера с помощью Редактора Временных Диаграмм.
- •Шаг 3. Сохранение элемента как примитив (символ).
- •Шаг 4. Сборка схемы трехразрядного счетчика.
- •Шаг 5. Проверка работы схемы с помощью Редактора Временных Диаграмм.
- •Интегрированная среда разработки и отладки.
- •Работа в интегрированной среде.
- •Команды меню.
- •Команды меню Файл
- •Команды меню Редактирование
- •Команды меню Показать
- •Команды меню Компиляция
- •Команды меню Отладка
- •Команды меню Окно
- •Команды меню Справка
- •Настройка параметров среды
- •Общие настройки
- •Настройка редактора
- •Настройка коммуникаций.
- •Компиляция
- •Окно ошибок.
- •Запуск программы на выполнение.
- •Сброс процессора.
- •Отладка
- •Ресурсы процессора.
- •Окно регистров
- •Окно памяти.
Функциональное моделирование (симуляция).
Компилятор MAX+PLUSII создает функциональный файл SNF перед тем, как он осуществляет синтез проекта. Следовательно, при функциональной симуляции могут быть симулированы все узлы проекта.
В течение функциональной симуляции, Симулятор игнорирует все задержки. Так как функциональный файл SNF не содержит задержек, выходные логические уровни изменяются в тоже самое время, как и входные вектора.
Временная симуляция.
Компилятор MAX+PLUSII создает временной файл SNF только после того, как весь проект был полностью синтезирован и оптимизирован. Поэтому, временной файл SNF содержит только те узлы, которые были исключены в течение логического синтеза.
Для симуляции проекта Симулятор использует информацию из временного файла SNF, содержащего информацию об аппаратуре из файлов Device Model Files (.dmf), поставляемых вместе с MAX+PLUSII.
Если проект был разбит на несколько устройств, то компилятор создает файлы SNF как для всего проекта, так и для отдельных устройств. Однако, временная симуляция производится только для проекта в целом.
Можно увеличить скорость временной симуляции, заставив Компилятор генерировать оптимизированный файл SBF, содержащий динамические модели, представляющие различные типы комбинаторной логики. При этом увеличивается время работы компилятора, однако, результирующий файл SNF может понизить время симуляции, так как симулятор может использовать динамические модели вместо того, чтобы интерпретировать всю логику в комбинаторной сети.
Связанная многопроектная симуляция.
Когда компилятор MAX+PLUSII создает связанный файл SNF, он комбинирует функциональные и/или временные файлы SNF для нескольких отдельных проектов. Отдельные подпроекты в связанном файле SNF могут относиться к различным семействам устройств Altera.
Если связанные файлы SNF содержат только временную информацию, то их можно использовать для анализа времен с помощью Анализатора Времен MAX+PLUSII (Timing Analyzer).
Особенности симулятора.
Вместе с другими приложениями MAX+PLUSII, Симулятор позволяет решать следующие задачи:
Определять ожидаемые логические уровни, которые можно сравнивать с результатами работы симулятора.
Симулировать отдельные узлы или группу узлов. Можно комбинировать биты машин состояния и симулировать их как группу.
Просматривать проект на предмет нарушений времен установки и удержания для регистров.
Записывать выходные сигналы устройства вместо выходных сигналов симуляции.
Проводить функциональное тестирование. Можно проверять, являются ли симулированные выходные сигналы функционально эквивалентными реальным сигналам устройства.
Создавать условные точки останова, заставляющие Симулятор приостанавливаться при достижении этих условий.
Просматривать имена и логические уровни любой комбинации узлов и групп инициализировать узлы и группы перед симуляцией.
Инициализировать содержимое блоков памяти (RAM или ROM) перед симуляцией.
Сохранять инициализированные значения узлов и групп, включая значения памяти в файле инициализации симулятора – Simultor Initialization Files (.sif), либо перезагружать инициализированные значения, содержащиеся в файле.
Вести журнал команд в файле ASCII Log File (.log) в формате, аналогичном формату файлов Command File (.cmd), и использовать файл журнала для повтора ранних симуляций. Также Вы можете записывать команды Симулятора и выходные данные в файл ASCII History File (.hst).
Редактор Временных Диаграмм MAX+PLUSII.
Редактор Временных Диаграмм MAX+PLUSII используется как средство для создания схем, а также как средство для задания входных векторов и просмотра результатов симуляции. Можно создавать файлы Waveform Design File (.wdf), содержащие логику проекта и файлы Simulator Channel Files (.scf), содержащие входные вектора для симуляции. Смотрите рис.2-23.
Для того чтобы промоделировать проект, необходимо обеспечить входные вектора. С помощью файла SCF можно задать входные вектора для симуляции в виде временной диаграммы, являющейся графической альтернативой файлу ASCII Vector File (.vec).
При помощи Редактора Временных Диаграмм создается файл SCF, содержащий временные диаграммы входных векторов, а также имена двунаправленных и выходных узлов, подлежащих симуляции. Эти узлы не имеют неопределенные логические уровни, либо могут быть отредактированы на желаемые логические уровни. Для создания начального файла SCF, содержащего несколько или все узлы и группы скомпилированного проекта, Редактор Временных Диаграмм может использовать файл Simulator Netlist File (.snf). Этот файл можно редактировать так, как это необходимо. Кроме этого, можно импортировать входной файл Vector File, чтобы автоматически создать графический эквивалент в виде временной диаграммы.
С помощью Редактора Временных Диаграмм, Вы можете просматривать и анализировать результаты в файле SCF. Симулятор генерирует SCF автоматически, если источником входных векторов является файл Vector Files, в другом случае, файл SCF, бывший источников входных векторов, просто обновляется в процессе симуляции. Двунаправленный и выходной узлы временной диаграммы обновляется логическими уровнями, полученными с помощью входных данных симулятора.
Анализатор времен MAX+PLUSII.
С помощью анализатора времен MAX+PLUSII можно анализировать временную производительность проекта после того, как он был оптимизирован компилятором. Можно трассировать все пути сигналов проекта, определяя критические по скорости путь и пути, ограничивающие быстродействие проекта (см. рис.2.24).
Анализатор времен использует сеть и временную информацию из временного файла списка (сети) соединений – timing Simulator Netlist File (.snf), созданного компилятором. Анализатор времени может также использовать связанный файл – linked SNF, содержащий связи с другими проектами.
Анализатор времени производит три типа анализа:
Матрица задержек (Delay Matrix) показывает пути, имеющие самые короткие и самые длинные задержки распространения сигнала между несколькими начальными и конечными узлами проекта.
Матрица времен установки/задержки (Setup|Hold Matrix) показывает минимально необходимые времена установки (setup time) и задержки(hold time).
Регистрируемый анализ производительности (Registered Performance Display) отображает результаты анализа производительности, включая определенные пользователем ограничивающие задержки, минимальный период тактового импульса, максимальная частота схемы.
С помощью Анализатора Времен можно помечать несколько начальных и конечных узлов, включая их в анализ. Кроме этого, можно помечать их прямо в конструкторских файлах в Графическом, Текстовом редакторах, а также в Редакторе Временных Диаграмм и редакторе Топологии. Также можно устанавливать максимальные и минимальные задержки, и исключать из анализа пути таким образом, чтобы оставались только пути, ведущие к данному узлу.
Поле завершения анализа времен можно выбрать начальный и конечный узлы и просмотреть задержки на всех путях, ассоциированных с ними. Обработчик сообщений автоматически открывается и показывает пути для выбранных узлов.
Вы можете сохранять результаты анализа времен в выходном файле Timing Analyzer Output File (.tao).