
- •Московский институт электронной техники Аппаратно-программный комплекс для изучения и исследования микропроцессоров и программируемой логики
- •Введение
- •Оборудование учебного рабочего места
- •Описание плат учебного стенда
- •Плата процессоров
- •Платы внешних устройств и индикации.
- •Процесс разработки
- •Конструкторские файлы, вспомогательные файлы и проекты.
- •Конструкторские файлы
- •Вспомогательные файлы
- •Меню 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 использует следующие входные файлы:
Графические конструкторские файлы (Graphic Design File - .gdf), созданные с помощью Графического Редактора (Graphic Editor).
Текстовые конструкторские файлы (Text Design File - .tdf), созданные с помощью языка AHDL.
Конструкторские файлы языка VHDL (.vhd) синтаксиса 1987 b 1993.
Конструкторские файлы языка Verilog HDL (Verilog Design Files -.vhd).
Файлы EDIF версии 200 или 300, созданные стандартным редактором соединений EDIF (EDIF netlist writer).
Дизайнерские файлы временных диаграмм (.wdf), созданные с помощью Редактора Временных Диаграмм MAX+PLUSII.
Схемотехнические файлы OrCAD (OrCAD Schematic Files - .sch).
Файлы соединений Xilinx (Xilinx Netlist Files - .xnf).
конструкторские файлы Altera (Altera Design Files - .adf), созданные с помощью ПО A+PLUS. Компилятор MAX+PLUSII автоматически преобразует файлы ADF в файлы Compiler Netlist Files (.cnf) во время компиляции.
Файлы конечных автоматов (State Machine Files - .smf), содержащие данные для машин состояния и созданные для использования с ПО фирмы Альтера A+PLUS или SAM+PLUS.
Шестнадцатиричный (формат Intel) формат (.hex) или/и файлы инициализации памяти (Memory Initialization Files - .mif), содержащие начальные значения для блоков памяти.
Командные файлы EDIF (.edc), используемые для настройки формата файлов EDIF Output Files (.edo), созданные компилятором MAX+PLUSII.
Файлы назначения и конфигурации (Assignment & Configuration Files - .acf), содержащие ресурсы, назначения, настройки конфигурации компилятора, симулятора, анализатора времен.
Фалы примитивов - (.sym), созданные с помощью Редактора Примитивов MAX+PLUSII.
Включаемые файлы (.inc), импортируемые в файл AHDL Text Design File (.tdf) с помощью команды icnlude языка AHDL. Включаемые файлы могут содержать прототипы функций, определения, параметры и константы. Компилятор также использует прототипы функций AHDL во включаемых файлах для обработки логических функций в файлах Verilog Design Files (.v).
Файлы отображения библиотек - Library Mapping Files (.lmf), используемые для отображения ячеек в файлах EDIF Input Files или OrCAD Schematic Files на соответствующие логические функции MAX+PLUSII.
Процесс компиляции.
В первую очередь компилятор выделяет из проекта информацию, которая определяет иерархические связи между фалами в проекте, и проверяет проект на наличие основных ошибок. Компилятор создает карту организации проекта, и затем помещает все файлы дизайна в базу данных для более эффективной обработки.
Компилятор использует множество различных способов для того, чтобы увеличить эффективность проекта и минимизировать использование ресурсов. Если ваш проект слишком велик для того, чтобы уместиться в одной ПЛИС, компилятор может автоматически разбить его на несколько устройств из того же семейства, минимизируя при этом количество связей между ними. Файл отчета (.rtp) показывает то, как проект будет реализован в одном или нескольких устройствах.
Компилятор также создает файлы, которые затем использует Программатор (Programmer) MAX+PLUSII для того, чтобы запрограммировать одно или несколько ПЛИС Альтера.
Хотя компилятор может скомпилировать проект с минимальным участием со стороны пользователя, тем не менее он позволяет производить настройку. Например, можно установить стиль синтеза логики, который будет использоваться по умолчанию, другие настройки, относящиеся к синтезу логики, назначать временные требования, устанавливать параметры устройств. Также можно установить количество выводов корпуса и логических ячеек, которые должны остаться неиспользованными в течение текущей компиляции.