Средства проектирования цифровых устройств на ПЛИС
Эффективное использование средств программируемой логики невозможно без развитых САПР. В настоящее время САПР поставляются фирмами производителями ПЛИС, и поддерживают все семейства микросхем данной фирмы. Наиболее популярными на сегодняшний день являются ПЛИС фирм ALTERA и XILINX. Обе фирмы производят широкую номенклатуру ПЛИС, реализующих все существующие технологии программирования внутренней логики. Рассмотрим кратко программные средства проектирования обеих фирм, используемые для разработки цифровых устройств на ПЛИС наиболее популярных серий.
САПР фирмы ALTERA
С 1999 года фирма ALTERA поставляет две САПР, обеспечивающие сквозное проектирование цифровых устройств: пакет MAX+PLUS II версий до 10.0 и новый пакет QUARTUS (II), изначально ориентированный на поддержку ПЛИС семейства APEX 20 K, но в вер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]. В процессе установки создаются два каталога maxplus 2 и max 2 work. В первом находятся файлы и папки собственно системы MAX+PLUS II. Во втором рекомендуется хранить рабочие файлы проектов. Удобно для каждого проекта в каталоге max 2 work организовать свою папку для хранения всех файлов, относящихся к данному проекту. Например, для проекта, рассмотренного в следующем разделе, создана папка PRBS, так что путь к файлам данного проекта имеет вид c: \ max2work \ PRBS \при условии, что система MAX+PLUS II установлена в корневом каталоге диска c. В результате установки в каталоге max 2 work расположен ряд подкаталогов, содержащих обучающие примеры, которые при необходимости могут быть удалены. Производить изменения файловой структуры каталога maxplus 2 не рекомендуется. С точки зрения проектировщика цифровых устройств систему 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 служит для преобразования файла, сохраняющего назначения и конфигурации из ранних версий программы.
САПР фирмы XILINX Фирма XILINX параллельно с ПЛИС предоставляет разработчику САПР: XILINX Foundation Series, XILINX Alliance Series, WebPack, WebFitter. Наиболее развитым средством является пакет программ XILINX Foundation Serie s, который представляет собой систему сквозного проектирования, позволяющую реализовать все этапы разработки цифровых устройств и систем на базе ПЛИС. Система проектирования XILINX Foundation Series реализует следующие возможности: – поддержка различных методов описания проектируемых устройств (графических и текстовых); – наличие схемотехнического редактора, укомплектованного набором обширных библиотек; – интеллектуальные средства создания HDL -описаний, формирующие шаблоны на основании информации, предоставляемой пользователем, для языков описания аппаратуры VHDL, Verilog и ABEL HDL; – высокоэффективные средства синтеза HDL -проектов, поддерживающие языки VHDL, Verilog и ABEL HDL, с возможностью оптимизации; – развитые средства верификации проекта, позволяющие сократить полное время разработки устройства за счет обнаружения возможных ошибок на более ранних стадиях проектирования и сокращения длительности и количества возможных итераций; – автоматические средства трассировки проекта в кристаллы различных семейств ПЛИС XILINX с учетом оптимизации проекта по различным параметрам; – средства программирования кристаллов семейств ПЛИС XILINX, выполненных по различной технологии (CPLD и FPGA), поддерживающие несколько типов загрузочных кабелей JTAG -интерфейса; – удобный для разработчика пользовательский интерфейс и наличие в каждом модуле пакета справочной системы, сокращающие время освоения САПР.
Рассмотрим состав программных модулей XILINX Foundation Series. Project Manager - графическое средство управления основными модулями проекта интегрированной среды. Schematic Editor - графический редактор позволяющий осуществлять ввод логической схемы проекта. Ввод схемы может производиться на основе стандартных и параметризованных библиотек логических элементов. Synthesis Timing Analyzer - анализатор функциональных и временных параметров проекта. LogiBLOX - графическое средство создания параметризованных и оптимизированных под конкретную архитектуру логических элементов. Применяется в тех случаях, когда стандартные библиотечные модули не удовлетворяют по функциональному назначению или имеют большую избыточность. Flow Engine – средство отображения этапов размещения проекта в кристалл. Упаковка проекта состоит из трансляции входного файла универсального формата во внутренний формат; разбиения логики по КЛБ (конфигурационный логический блок); размещения по кристаллу элементов логики и связей; создания конфигурационного файла для загрузки в кристалл; создания отчета о статических временных параметрах и создания файла для моделирования с учетом временных задержек в форматах VHDL, Verilog, EDIF или XNF. Synthesis Constraints Editor - редактор ограничений, накладываемых на проект, написанный на VHDL/Verilog перед синтезом. Synopsys FPGA Express Synthesis - программа синтеза проектов, написанных на VHDL/Verilog HDL Design Tools - набор утилит для упрощения ввода проекта на языках высокого уровня VHDL/Verilog, включающий в себя текстовый редактор, мастер готовых шаблонов основных конструкций языка, проверку синтаксиса, редактор диаграмм состояний ABEL Synthesis - модуль синтеза проектов, написанных на Abel Simulator (Functional and Timing)- графический редактор позволяющий произвести моделирование до трассировки и после. Design Manager - интерфейсныймодуль, осуществляющий управление всеми средствами автоматической трассировки и дающий пользователю доступ к ним CORE Gen - встроенный модуль генерации параметризованных и оптимизированных под конкретную архитектуру модулей, выполняющих сложные функции, например такие модули как корреляторы, фильтры, спектральные преобразования и т.д. Floorplanner - графическое средство позволяющее контролировать процесс автоматического размещения логики в кристалл FPGA или полностью "вручную" произвести размещение. FPGA Editor - графическое средство позволяющее просмотреть и отредактировать результаты размещения логики и связей, а также "вручную" спроектировать кристалл FPGA на уровне КЛБ и линий связи. Hardware Debugger - программа загрузки и верификации проекта с компьютера PROM Files Formatter - программа создания конфигурационного файла для хранения в последовательных или параллельных ПЗУ. Доступно три формата MCS, EXO, TEX. Для микропроцессорной загрузки формируется файл в формате HEX. Дистрибутив пакета инсталлируется на магнитный диск автоматически, с возможностью выбора требуемой пользователю конфигурации. Перечисленные выше программные модули позволяют осуществлять проектирование цифровых устройств и систем любой функциональной сложности.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|