Система проектирования max plus
Название системы MAX+PLUS II является аббревиатурой от Multiple Array MatriX Programmable Logic User System (Пользовательская система программирования логики упорядоченных структур). Система MAX+PLUS II разработана фирмой Altera и обеспечивает многоплатформенную архитектурно независимую среду создания дизайна, легко приспосабливаемую для конкретных требований пользователя. Система MAX+PLUS II имеет средства удобного ввода дизайна, быстрого прогона и непосредственного программирования устройств.
Система MAX+PLUS II предлагает полный спектр возможностей логического дизайна: разнообразные средства описания проекта для создания проектов с иерархической структурой, мощный логический синтез, компиляцию с заданными временными параметрами, разделение на части, функциональное и временное тестирование (симуляцию), тестирование нескольких связанных устройств, анализ временных параметров системы, автоматическую локализацию ошибок, а также программирование и верификацию устройств. В системе MAX+PLUS II можно как читать, так и записывать файлы на языке AHDL и файлы трассировки в формате EDIF, файлы на языках описания аппаратуры Verilog HDL и VHDL а также схемные файлы OrCAD. Кроме того, система MAX+PLUS II читает файлов трассировки, созданных с помощью ПО Xilinx, и записывает файлы задержек в формате SDF для удобства взаимодействия с пакетами, работающими с другими промышленными стандартами.
В полную систему MAX+PLUS II входят 11 полностью внедренных в систему приложений (рис. 2.2). (Логический дизайн (design), включая все поддизайны (subdesign), называется в системе MAX+PLUS II проектом (project))
Рис. 2.2. Приложения в системе MAX+PLUS II
I. Для ввода описания проекта (Design Entry) возможно описание проекта в виде файла на языке описания аппаратуры, созданного либо во внешнем редакторе, либо в текстовом редакторе MAX+PLUS II (Text Editor), в виде схемы электрической принципиальной с помощью графического редактора Graphic Editor, в виде временной диаграммы, созданной в сигнальном редакторе Waveform Editor. Для удобства работы со сложными иерархическими проектами каждому поддизайну может быть сопоставлен символ, редактирование которого производится с помощью графического редактора Symbol Editor. Размещение узлов по ЛБ и выводам ПЛИС выполняют с помощью поуровневого планировщика Floorplan Editor.
II. Компиляция проекта, включая извличение списка соединений (Netlist Extractor), построение базы данных проекта (Data Base Builder), логический синтез (logic synthesis), извлечение временных, функциональных параметров проекта (SNF Extractor), разбиение на части (Partioner), трассировка (Fitter) и формирование файла программирования или загрузки (Assembler) выполняются с помощью компилятора системы (Compiler)
Наиболее важные этапы компиляции:
Модуль логического синтезатора (Logic Synthesizer) применяет ряд алгоритмов, которые уменьшают использование ресурсов и убирают дублированную логику, обеспечивая тем самым максимально эффективное использование структуры логического элемента для архитектуры целевого семейства устройств.
Если проект не помещается при монтаже в одно устройство, модуль Partitioner(разделитель)разделяет базу данных, обновленную логическим синтезатором, на несколько ПЛИС одного и того же семейства, стараясь при этом разделить проект на минимально возможное число устройств. Разбиение проекта происходит по границам логических элементов, а число выводов, используемое для сообщения между устройствами, минимизируется.
Используя базу данных, обновленную модулем разбиения, модуль трассировки (Fitter) приводит в соответствие требования проекта с известными ресурсами одного или нескольких устройств. Он назначает каждой логической функции расположение реализующего ее логического элемента и выбирает соответствующие пути взаимных соединений и назначения выводов.
Functional SNF Extractor (экстрактор для функционального тестирования)создает файл для функционального тестирования (.snf). Этот функциональный файл SNF не содержит информации о временных параметрах.
Timing SNF Extractor (экстрактор для тестирования временных параметров) создает (если компиляция проекта прошла без ошибок) файл для тестирования временных параметров (.snf), который содержит данные о временных параметрах проекта. Этот файл используется для тестирования и анализа временных параметров.