Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.sm.bmstu.ru/sm5/n4/oba/gl2.html
Дата изменения: Thu Feb 15 17:43:24 2007
Дата индексирования: Mon Oct 1 18:45:37 2012
Кодировка: Windows-1251

Поисковые слова: релятивистское движение
СМ5 : Глава 2. Система проектирования MAX+PLUS II
 

Глава 2. Система проектирования MAX+PLUS II
Стешенко В.Б.


2.1. Общие сведения

До последнего времени MAX+PLUS II являлся единственной системой проектирования устройств на ПЛИС Altera. Только в 1999 году появилась система проектирования нового поколения Quartus, предназначенной для проектирования устройств на ПЛИС APEX20K. ПО системы MAX+PLUS II, представляющее собой единое целое, обеспечивает управление пользователя средой логического проектирования и помогает достичь максимальной эффективности и производительности. Все пакеты работают как на платформе IBM PC, так и на платформах SUN, IBM RISC/6000 и HP9000. В дальнейшем мы будем рассматривать работу на платформе IBM PC.

Для нормальной инсталляции и работы САПР MAX+PLUS II (версия 9.4 вышла в декабре 1999 года) необходима IBM PC совместимая ЭВМ с процессором не хуже Pentium, объемом ОЗУ не хуже 16 Мб и свободным местом на жестком диске порядка 150 -400 Мб в зависимости от конфигурации системы. Из собственного опыта можем сказать, что для разработки больших кристаллов на ПЛИС FLEX10К50 и выше желательно иметь не менее 64 Мб ОЗУ (лучше 128 еще лучше 256, совсем хорошо 384 Мб и выше) и процессор Pentium II (Р-3 реально не дает особого выигрыша). Конечно, можно использовать и более слабые машины, но тогда возрастает время компиляции и увеличивается нагрузка на жесткий диск из-за свопинга. Увеличение объема оперативной памяти и кэша дает лучшие результаты по сравнению с увеличением тактовой частоты процессора. Если не предполагается трассировка больших кристаллов, то вполне хватает 32 Мб ОЗУ при хорошей скорости компиляции проекта. Что касается выбора операционной системы, то без сомнения, лучше использовать Windows NT, хуже Windows 95 OSR2, плохо Windows 98, особенно локализованную версию. Очевидно, это связано с тем, что изначально пакет был разработан под Unix и не полностью использует все механизмы Windows. Особенно это заметно при временном моделировании сложных устройств ЦОС, когда перерисовка экрана занимает основное время. Поскольку пакет не локализован, то лучше использовать не локализованные (американскую или паневропейскую) версии Windows.

Во время инсталляции системы MAX+PLUS II создаются два каталога: \maxplus2 и \max2work. Каталог \maxplus2 содержит системное ПО и файлы данных и разбит на подкаталоги, перечисленные в табл.2.1.

Таблица 2.1. Структура системного каталога \maxplus2 системы MAX+PLUS II


Подкаталог

Описание

.\drivers

Содержит драйверы устройств для cреды WINDOWS NT (только для инсталляции на платформе PC в среде WINDOWS NT)

.\edc

Содержит поставляемые фирмой Altera командные файлы (.edc), которые генерируют выходные файлы (.edo) по заказу пользователя для заданных условий тестирования

.\lmf

Содержит поставляемые фирмой Altera файлы макробиблиотек (.lmf), которые устанавливают соответствие между логическими функциями пользователя и эквивалентными логическими функциями MAX+PLUS II

.\max2inc

Содержит Include-файлы (файлы 'заголовков') с прототипами функций для разхработанных фирмой Altera макрофункций. В прототипах функций перечисляются порты (выводы) для макрофункций, реализованных в текстовых файлах проекта (.tdf), написанных на языке AHDL

.\max2lib\edif

Содержит примитивы и макрофункции, используемые для пользовательских интерфейсов EDIF

.\max2lib\mega_lpm

Содержит мегафункции, в том числе библиотеку функций параметризованных модулей (LPM) и Include-файлы для них с соответствующими прототипами на языке AHDL

.\max2lib\mf

Содержит макрофункции пользовательские и устаревшие (74-series)

.\max2lib\prim

Содержит поставляемые фирмой Altera примитивы

.\vhdlnn\altera

Содержит библиотеку altera с программным пакетом maxplus2. В этот пакет входят все примитивы, мегафункции и макрофункции системы MAX+PLUS II, поддерживаемые языком VHDL

.\vhdlnn\ieee

Содержит библиотеку ieee пакетов VHDL, в том числе std_logic_1164, std_logic_arith, std_logic_signed и std_logic_unsigned

.\vhdlnn\std

Содержит библиотеку std с пакетами стандартов и средств ввода/вывода текста, описанными в справочнике по стандартам института IEEE на языке VHDL IEEE Standard VHDL Language Reference Manual


Каталог \max2work содержит файлы обучающей программы и примеры и разделяется на подкаталоги, описанные в табл. 2.2.

Таблица 2.2. Структура рабочего каталога \max2work системы MAX+PLUS II


Подкаталог

Описание

.\ahdl

Содержит файллы примеров, иллюстрирующих тему 'Как использовать язык AHDL' (How to Use AHDL) в электронном справочнике (MAX+PLUS II Help) и в руководстве MAX+PLUS II AHDL

.\chiptrip

Содержит все файлы обучающего проекта chiptrip, описанного в руководстве MAX+PLUS II AHDL

.\edif

Содержит все файлы примеров, иллюстрирующих особенности EDIF в электронном справочнике (MAX+PLUS II Help)

.\tutorial

Содержит информационный файл read.me обучающего проекта chiptrip. Все файлы, сохдаваемые в проекте chiptrip, должны находиться в этом подкаталоге

.\vhdl

Содержит файлы примеров, иллюстрирующих тему 'Как использовать язык VHDL' (How to Use VHDL) в электронном справочнике (MAX+PLUS II Help) и в руководстве MAX+PLUS II VHDL

.\verilog

Содержит файлы примеров, иллюстрирующих тему 'Как использовать язык верификационного протокола Verilog HDL' (How to Use Verilog HDL) в электронном справочнике (MAX+PLUS II Help) и в руководстве MAX+PLUS II Verilog HDL


Название системы MAX+PLUS II является аббревиатурой от Multiple Array MatriX Programmable Logic User System (Пользовательская система программирования логики упорядоченных структур). Система MAX+PLUS II разработана фирмой Altera и обеспечивает многоплатформенную архитектурно независимую среду создания дизайна, легко приспосабливаемую для конкретных требований пользователя. Система MAX+PLUS II имеет средства удобного ввода дизайна, быстрого прогона и непосредственного программирования устройств.

Представленный на рис. 2.1 состав ПО системы MAX+PLUS II является полным комплектом, обеспечивающим создание логических дизайнов для устройств фирмы Altera с программируемой логикой, в том числе семейства семейства устройств Classic, MAX 5000, MAX 7000, MAX 9000, FLEX 6000, FLEX 8000 и FLEX 10K. Информация о других, поддерживаемых семействах устройств фирмы Altera приведена в файле read.me в системе MAX+PLUS II.

Рис. 2.1. Среда проектирования в системе MAX+PLUS II

Система MAX+PLUS II предлагает полный спектр возможностей логического дизайна: разнообразные средства описания проекта для создания проектов с иерархической структурой, мощный логический синтез, компиляцию с заданными временными параметрами, разделение на части, функциональное и временное тестирование (симуляцию), тестирование нескольких связанных устройств, анализ временных параметров системы, автоматическую локализацию ошибок, а также программирование и верификацию устройств. В системе MAX+PLUS II можно как читать, так и записывать файлы на языке AHDL и файлы трассировки в формате EDIF, файлы на языках описания аппаратуры Verilog HDL и VHDL а также схемные файлы OrCAD. Кроме того, система MAX+PLUS II читает файлов трассировки, созданных с помощью ПО Xilinx, и записывает файлы задержек в формате SDF для удобства взаимодействия с пакетами, работающими с другими промышленными стандартами.

Система MAX+PLUS II предлагает пользователю богатый графический интерфейс, дополненный иллюстрированной оперативной справочной системой. В полную систему MAX+PLUS II входят 11 полностью внедренных в систему приложений (рис. 2.2). (Логический дизайн (design), включая все поддизайны (subdesign), называется в системе MAX+PLUS II проектом (project))

Рис. 2.2. Приложения в системе MAX+PLUS II

Для ввода описания проекта (Design Entry) возможно описание проекта в виде файла на языке описания аппаратуры, созданного либо во внешнем редакторе, либо в текстовом редакторе MAX+PLUS II (Text Editor), в виде схемы электрической принципиальной с помощью графического редактора Graphic Editor, в виде временной диаграммы, созданной в сигнальном редакторе Waveform Editor. Для удобства работы со сложными иерархическими проектами каждому поддизайну может быть сопоставлен символ, редактирование которого производится с помощью графического редактора Symbol Editor. Размещение узлов по ЛБ и выводам ПЛИС выполняют с помощью поуровневого планировщика Floorplan Editor.

Верификация проекта (Project verification) выполняется с помощью симулятора (simulator), результаты работы которого удобно просмотреть в сигнальном редакторе Waveform Editor, в нем же создаются тестовые воздействия.

Компиляция проекта, включая извличение списка соединений (Netlist Extractor), построение базы данных проекта (Data Base Builder), логический синтез (logic synthesis), извлечение временных, функциональных параметров проекта (SNF Extractor), разбиение на части (Partioner), трассировка (Fitter) и формирование файла программирования или загрузки (Assembler) выполняются с помощью компилятора системы (Compiler)/

Непосредственно программирование или загрузка конфигурации устройств с использованием соответствующего аппаратного обеспечения выполняется с использованием модуля программатора (Programmer).

Многие характерные черты и команды - такие как открытие файлов, ввод назначений устройств, выводов и логических элементов, компиляция текущего проекта - похожи для многих приложений системы MAX+PLUS II. Редакторы для разработки проекта (графический, текстовый и сигнальный) имеют много общего со вспомогательными редакторами (поуровневого планирования и символьный). Каждый редактор разработки проекта позволяет выполнять похожие задачи (например, поиск сигнала или символа) похожим способом. Можно легко комбинировать разные типы файлов проекта в иерархическом проекте, выбирая для каждого функционального блока тот формат описания проекта, который больше подходит. Поставляемая фирмой Altera большая библиотека мега- и макрофункций, в том числе функции из библиотеки параметризованных моделей (LPM), обеспечивает широкие возможности ввода дизайна

Можно одновременно работать с разными приложениями системы MAX+PLUS II. Например, можно открыть несколько файлов проекта и переносить информацию из одного в другой в процессе компиляции или тестирования другого проекта. Или например, просматривать все дерево проекта и в окне просмотра перемещаться с одного уровня на другой, а в окне редактора будет появляться выбранный вами файл, причем вызывается автоматически соответствующий редактор для каждого файла (рис.2.3)

Рис.2.3. Иерархический просмотр проекта

Основой системы MAX+PLUS II является компилятор, обеспечивающий мощные средства обработки проекта, при этом можно задавать нужные режимы работы компилятора. Автоматическая локализация ошибки, выдача сообщения и обширная документация об ошибках ускоряют и облегчают проведение изменений в дизайне. Можно создавать выходные файлы в разных форматах для разных целей, таких как работа функций, временных параметров и связи нескольких устройств; анализа временных параметров; программирования устройства.

2.2 Процедура разработки проекта

Процедуру разработки нового проекта (project) от концепции до завершения можно упрощенно представить следующим образом:

- создание нового файла (design file) проекта или иерархической структуры нескольких файлов проекта с использованием различных редакторов разработки проекта в системе MAX+PLUS II, т.е. графического, текстового и сигнального редакторов;

- задание имени файла проекта верхнего уровня (Top of hierarchy) в качестве имени проекта (Project name);

- назначение семейства ПЛИС для реализации проекта. Пользователь может сам назначить конкретное устройство или предоставить это компилятору для того, чтобы оценить требуемые ресурсы;

- открытие окна компилятора (Compiler) и его запуск нажатием кнопки Start для начала компиляции проекта. По желанию пользователя можно подключить модуль извлечения временных задержек Timing SNF Extractor для создания файла разводки, используемого при тестировании временных параметров и анализе временных параметров;

- в случае успешной компиляции возможно тестирование и временной анализ, для проведения которого необходимо выполнить следующие действия:

  • для проведения временного анализа открыть окно Timing Analyzer, выбрать режим анализа и нажать кнопку Start;
  • для проведения тестирования нужно сначала создать векторной тестовый вектор в файле канала тестирования (.scf), пользуясь сигнальным редактором, или в файле вектора (.vec), пользуясь текстовым редактором. Затем открыть окно отладчика - симулятора (Simulator) и нажать кнопку Start;

- программирование или загрузка конфигурации выполняется путем запуска модуля программатора (Programmer) с последующей вставкой устройства в программирующий адаптер программатора MPU (Master Programming Unit) или подключение устройств MasterBlaster, BitBlaster, ByteBlaster или кабеля загрузки FLEX (FLEX Download Cable) к устройству, программируемому в системе;

- выбор кнопки Program для программирования устройств с памятью типа EPROM или EEPROM (MAX, EPC) либо выбор кнопки Configure для загрузки конфигурации устройства с памятью типа SRAM (FLEX).

Ниже будут подробно рассмотрены основные элементы разработки проекта в системе MAX+PLUS II.

Систему MAX+PLUS II можно запустить двумя способами щелкнув дважды левой кнопкой мыши на пиктограмме MAX+PLUS II) или набрав maxplus2 в командной строке.

Рис. 2.4. Главное окно системы MAX+PLUS II

При запуске системы MAX+PLUS II автоматически открывается ее Главное окно, меню которого охватывает все приложения системы MAX+PLUS II (см. рис. 2..4).

В верхней части окна отображается имя проекта и текущего файла проекта. Затем следует строка меню, под ней панель основных инструментов системы, обеспечивающая быстрый вызов ее компонентов.

В нижней части экрана располагается строка подсказки.

Вызов компонентов системы удобно производить MAX+PLUS II, представленном на рис.2.5.

Рис. 2.5. Окно меню MAX+PLUS II

Рассмотрим подробнее меню MAX+PLUS II (рис. 2.5). ПО системы MAX+PLUS II содержит 11 приложений и главную управляющую оболочку. Различные приложения, обеспечивающие создание файлов проекта, могут быть активизированы мгновенно, что позволяет пользователю переключаться между ними щелчком мыши или с помощью команд меню. В это же время может работать одно из фоновых приложений, например компилятор, симулятор, временной анализатор и программатор. Одни и те же команды разных приложений работают одинаково, что облегчает задачу разработки проекта.

Окно любого приложения можно свернуть до пиктограммы, не закрывая приложения, а затем снова развернуть его. Это позволяет пользователю работать эффективно, не загромождая рабочий экран.

В табл. 2.3 приведены пиктограммы и описание приложений.

Таблица 2.3

Приложения системы MAX+PLUS II


Приложение

Выполняемая функция

Hierarchy Display

Обзор иерархии - отображает текущую иерархическую структуру файлов в виде дерева с ветвями, представляющими собой поддизайны. Можно визуально определить, является ли файл проекта схемным, текстовым или сигнальным; какие файлы открыты в данный момент; какие вспомогательные файлы в проекте доступны пользователю для редактирования. Можно также непосредственно открыть или закрыть один или несколько файлов дерева и ввести назначения ресурсов для них

Graphic Editor

Графический редактор - позволяет разрабатывать схемный логический дизайн в формате реального отображения на экране WYSIWYG. Применяя разработанные фирмой Altera примитивы, мегафункции и макрофункции в качестве основных блоков разработки, пользователь может также использовать собственные символы

Symbol Editor

Символьный редактор - позволяет редактировать существующие символы и создавать новые

Text Editor

Текстовый редактор - позволяет создавать и редактировать текстовые файлы проекта, написанные на языках описания аппаратуры AHDL, VHDL и Verilog HDL. Кроме того, в этом редакторе можно создавать, просматривать и редактировать другие файлы формата ASCII, используемые другими приложениями MAX+PLUS II. Можно создавать файлы на языках HDL и в других текстовых редакторах, однако данный текстовый редактор системы MAX+PLUS II дает преимущества в виде контекстной справки, выделения цветом синтаксических конструкций и готовых шаблонов языков AHDL, VHDL и Verilog HDL

Waveform Editor

Сигнальный редактор - выполняет двойную функцию: инструмент для разработки дизайна и инструмент для ввода тестовых сигналов и наблюдения результатов тестирования

Floorplan Editor

Поуровневый планировщик - позволяет графическими средствами делать назначения выводам устройства и ресурсов логических элементов и блоков. Можно редактировать расположение выводов на чертеже корпуса устройства и назначать сигналы отдельным логическим элементам на более подробной схеме логической структуры (LAB view). Можно также просматривать результаты последней компиляции

Compiler

Компилятор - обрабатывает логические проекты, разработанные для семейств устройств Altera Classic. MAX 5000, MAX 7000, MAX 9000, FLEX 6000, FLEX 8000 и FLEX 10K. Большинство заданий выполняется автоматически. Однако пользователь может управлять процессом компиляции полнеостью или частично

Simulator

Симулятор - позволяет тестировать логические операции и внутреннюю синхронизацию проектируемой логической схемы. Возможны три режима тестирования: функциональное, временное и тестирование нескольких соединенных между собой устройств

Timing Analyzer

Анализатор временных параметров - анализирует работу проектируемой логической цепи после того, как она была синтезирована и оптимизирована компилятором, позволяет оценить задержки, возникающие в схеме.

Programmer

Программатор - позволяет программировать, конфигурировать, проводить верификацию и испытывать устройства фирмы Altera

Message Processor

Генератор сообщений - выдает на экран сооб