Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
компьютерные_технологии.doc
Скачиваний:
36
Добавлен:
22.11.2019
Размер:
1.13 Mб
Скачать

1.4. Средства проектирования цифровых устройств на плис

Эффективное использование средств программируемой логики невозможно без развитых САПР. В настоящее время САПР поставляются фирмами производителями ПЛИС, и поддерживают все семейства микросхем данной фирмы. Наиболее популярными на сегодняшний день являются ПЛИС фирм ALTERA и XILINX. Обе фирмы производят широкую номенклатуру ПЛИС, реализующих все существующие технологии программирования внутренней логики. Рассмотрим кратко программные средства проектирования обеих фирм, используемые для разработки цифровых устройств на ПЛИС наиболее популярных серий.

САПР фирмы ALTERA

С 1999 года фирма ALTERA поставляет две САПР, обеспечивающие сквозное проектирование цифровых устройств: пакет MAX+PLUS II версий до 10.0 и новый пакет QUARTUS (II), изначально ориентированный на поддержку ПЛИС семейства APEX20K, но в верcии II обеспечивающий поддержку и других популярных семейств. Несмотря на более широкие возможности QUARTUS II пакет MAX+PLUS II остается широко используемым и удобным для учебных целей. Описанные этапы проектирования полностью относятся к этому пакету. Пакет полностью интегрирован, обеспечивает ввод проекта в виде принципиальной схемы, в тeкстовой форме на языках описания аппаратуры AHDL, VHDL или Verilog HDL, в виде временной диаграммы работы логического устройства. Обладает средствами функционального временного моделирования, автоматической трассировки и программирования ПЛИС. MAX+PLUS II имеет простой и ясный интрефейс, что сокращает временные затраты на освоение.

Для работы с пакетом необходим компьютер класса IBM PC с процессором не ниже Pentium, объемом ОЗУ не меньше 16 Мбайт и свободным местом на жестком диске не менее 150 Мбайт. Следует отметить, что для работы с серьезными проектами требования к аппаратным средствам могут быть значительно выше. Система MAX+PLUS II последней на момент написания учебного пособия версии 10.0 может функционировать под управлением операционных систем OSR2, Windows 95, Windows NT или их более поздних поколений. Будем рассматривать работу системы на платформе Windows 98/ME, как наиболее широко используемых при учебном проектировании.

При работе с системой MAX+PLUS II удобно пользоваться понятием проекта как совокупности иерархически связанных файлов, относящихся к некоторой конкретной разработке [6].

В процессе установки создаются два каталога maxplus2 и max2work. В первом находятся файлы и папки собственно системы MAX+PLUS II. Во втором рекомендуется хранить рабочие файлы проектов. Удобно для каждого проекта в каталоге max2work организовать свою папку для хранения всех файлов, относящихся к данному проекту. Например, для проекта, рассмотренного в следующем разделе, создана папка PRBS, так что путь к файлам данного проекта имеет вид c:\max2work\PRBS\ при условии, что система MAX+PLUS II установлена в корневом каталоге диска c. В результате установки в каталоге max2work расположен ряд подкаталогов, содержащих обучающие примеры, которые при необходимости могут быть удалены. Производить изменения файловой структуры каталога maxplus2 не рекомендуется.

С точки зрения проектировщика цифровых устройств систему MAX+PLUS II можно представить состоящей из четырех подсистем:

  • подсистема ввода проекта;

  • подсистема компиляции;

  • подсистема моделирования;

  • подсистема программирования.

Функционирование подсистемы ввода проекта обеспечивается следующими средствами:

  1. графический редактор принципиальных электрических схем;

  2. графический редактор условных графических обозначений элементов и макроэлементов принципиальных схем;

  3. текстовый редактор описания цифровых устройств на языках высокого уровня

  4. сигнальный графический редактор;

  5. топологический графический редактор.

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

  • извлечение списка цепей;

  • построение базы данных проекта;

  • логический синтез;

  • извлечение функциональных и временных характеристик;

  • разбиение проекта на части;

  • трассировку топологии ПЛИС;

  • формирование файла конфигурации.

Подсистема моделирования состоит из:

  1. программы моделирования;

  2. анализатора временных задержек;

  3. сигнального графического редактора.

Подсистема программирования обеспечивает вывод содержимого файла конфигурации на внешние устройства, выполняющие аппаратное программирование ПЛИС.

В силу важности процесса компиляции рассмотрим этот вопрос подробнее. На первом этапе компиляции для каждого функционального модуля проекта выполняется извлечение списка цепей, строится файл, описывающий иерархические взаимосвязи между составными частями проекта. Модули, описанные с использованием внешних форматов, преобразуются к виду, принятому для внутреннего описания. Это позволяет использовать для подготовки некоторых частей проекта использовать САПР других фирм.

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

Далее выполняется логический синтез, оптимизирующий использование ресурсов используемого семейства ПЛИС для реализации функций проекта. При этом минимизируется число задействованных ячеек ПЛИС, временные задержки распространения сигнала.

Следующий этап – разделение проекта на части для размещения в нескольких ПЛИС выбранного семейства (если проект не помещается в одной ПЛИС). При автоматическом разделении система стремится разместить проект в минимальном числе ПЛИС с минимальным числом межсоединений. База данных проекта при этом модифицируется.

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

Если трассировка проходит успешно (выполнены все межсоединения и требования проектировщика), то создается файл конфигурации для программирования выбранных ПЛИС.

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

Данные для временного моделирования появляются после размещения проекта и разводки всех ПЛИС, входящих в состав проекта. На этапе временного моделирования могут быть выявлены ошибки, связанные с конечным временем распространения сигнала по элементам структуры кристалла.

Рассмотрим пользовательский интерфейс системы MAX+PLUS II. При запуске системы на экране компьютера появляется главное окно, содержащее стандартные для приложений операционных систем Windows 98/ME элементы: кнопки управления окном, строку заголовка, строку главного командного меню, панель инструментов, строку состояния. Назначение данных элементов традиционно для большинства приложений, и подобно не рассматривается.

При отсутствии открытых проектов строка главного командного меню содержит следующие командные меню: MAX+plus II, File, Assign, Options, Help, позволяющие вызывать команды нижнего уровня. При открытии различных внутренних приложений системы содержание строки главного командного меню изменяется и соответствует функциям активного приложения. Назначение ряда команд ясно из их названия и совпадает с назначением аналогичных команд других Windows-приложений.

Рассмотрим специфические, характерные только для системы MAX+PLUS II команды и их применение для проектирования устройств на ПЛИС.

Командное меню MAX+plus II содержит одиннадцать команд, позволяющих запустить любое из внутренних приложений системы.

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

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

Команда Symbol Editor запускает графический редактор, служащий для создания и редактирования условных графических обозначений (УГО) законченных функциональных частей проекта, описанных на языках высокого уровня или с помощью принципиальных электрических схем. Таким образом, может быть создана сложная иерархическая структура проекта.

Команда Text Editor служит для запуска текстового редактора, служащего для описания частей проекта на языках высокого уровня.

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

Команда Flourplan Editor служит для запуска графического редактора, отображающего задействованные ресурсы и позволяющего делать назначения непосредственно на топологической схеме ПЛИС графическими средствами.

Команда Compiler вызывает процедуру компиляции проекта.

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

Команда Timing Analyzer использует результаты компиляции для анализа и отображения данных о временных задержках в схеме.

Команда Programmer служит для вызова модуля аппаратного программирования конфигурации ПЛИС.

Команда Message Processor позволяет отыскивать и просматривать текстовые сообщения, появляющиеся на различных этапах проектирования.

Содержание командного меню File определяется активным окном. Большинство команд данного меню традиционно для Windows-приложений. Их назначение ясно из названий.

Командное меню Assign специфично для MAX+PLUS II, и содержит команды назначений параметров проекта. Рассмотрим наиболее важные из них, позволяющие управлять процессом компиляции.

Команда Assign позволяет назначить для размещения проекта конкретный тип ПЛИС.

Команда Pin/Location/Chip служит для назначения физического размещения логических функций и цепей.

Команда Timing Requirements служит для задания требований к временным задержкам, превышать которые запрещено.

Команда Clique позволяет объединять логические функции с целью реализации их в одном и том же блоке логической структуры.

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

Команда Probe позволяет задать точки схемы, поведение сигналов в которых следует отобразить по результатам моделирования.

Команда Connected Pins определяет внешние соединения сигналов на печатной плате.

Команда Local Routing служит для задания режимов локальной трассировки ПЛИС серии FLEX 6000.

Следующие четыре команды Global Project Device Options, Global Project Parameters, Global Project Timing Requirements, Global Project Logic Synthesis позволяют определить глобальные установки для всего проекта в целом.

Команды Ignore Project Assignments и Clear Project Assignments позволяют указать те назначения, которые следует игнорировать в процессе предстоящей компиляции или сбросить текущие назначения.

Команда Back-Annotate Project служит для сохранения результатов последней трассировки кристалла.

Последняя команда Convert Obsolete Assignment Format служит для преобразования файла, сохраняющего назначения и конфигурации из ранних версий программы.