Embedded Development Kit — система проектирования встраиваемых микропроцессорных систем на основе ПЛИС серий FPGA фирмы Xilinx
Эффективное использование ядер MicroBlaze невозможно без комплекса средств автоматизированного проектирования, позволяющего выполнять разработку и отладку не только аппаратной, но и программной части микропроцессорной системы. В качестве такого комплекса фирмой Xilinx предлагается пакет Embedded Development Kit (EDK). В настоящей статье рассматриваются основные характеристики, структура и пользовательский интерфейс этого пакета.
Отличительными особенностями комплекса проектирования встраиваемых микропроцессорных систем Xilinx Embedded Development Kit являются:
- возможность совместной разработки и отладки программной и аппаратной части микропроцессорной системы в рамках одного пакета;
- поддержка различных способов описания аппаратной части разрабатываемой системы;
- тесная интеграция САПР со стандартными средствами разработки проектов и программирования ПЛИС серии ISE (Integrated Synthesis Environment): Base ISE, Foundation ISE и Alliance ISE;
- возможность применения разнообразных средств отладки программной и аппаратной частей создаваемых систем;
- возможность формирования моделей аппаратной части для последующей верификации в среде пакета ModelSim XE [4–6];
- наличие обширной библиотеки компонентов периферийных модулей микропроцессорной системы, представленных в виде IP-ядер (Intellectual Property), которые позволяют значительно ускорить и упростить процесс разработки «систем на кристалле»;
- наличие шаблонов для разработки оригинальных пользовательских ядер;
- возможность использования «мастера» создания новых аппаратных платформ Base System Build Wizard позволяет ускорить процесс разработки и позволяет избежать потенциальных ошибок;
- наличие «мастера» Import Peripheral Wizard, который существенно облегчает включение входящих в состав пакета и разработанных пользователем ядер периферийных модулей, в состав новых проектов;
- простота и наглядность пользовательского интерфейса повышает эффективность процесса разработки.
В состав пакета Xilinx Embedded Development Kit входят:
- средства разработки встраиваемых микропроцессорных систем Embedded System Tools (EST);
- комплект IP-компонентов встраиваемых микропроцессорных систем (микропроцессорные ядра и периферийные модули);
- документация.
Система автоматизированного проектирования Xilinx EDK работает в следующих операционных системах:
- Windows 2000 (Service Pack 2 и выше);
- Windows XP;
- Solaris 2.8/2.9.
Пакет Xilinx EDK рассчитан на совместную работу с аналогичной версией стандартных средств разработки проектов и программирования ПЛИС серии ISE.
САПР Xilinx EDK позволяет реализовать полный цикл разработки встраиваемых микропроцессорных систем на основе 32-разрядного ядра с RISC-архитектурой MicroBlaze или аппаратного микропроцессорного модуля PowerPC. Для реализации микропроцессорных систем, проектируемых на базе ядра MicroBlaze, могут использоваться ПЛИС с архитектурой FPGA следующих семейств:
Встраиваемые системы, разрабатываемые на базе аппаратного микропроцессорного модуля PowerPC, предназначены для реализации в кристаллах семейства Virtex-II Pro.
Для отладки микропроцессорных систем, проектируемых на базе ядра MicroBlaze или модуля PowerPC, могут использоваться инструментальные комплекты и демонстрационные платы на основе соответствующих ПЛИС, выпускаемые различными производителями. В пакете Xilinx EDK предусмотрена поддержка следующих инструментальных комплексов и отладочных плат:
- Avnet Spartan-II Evaluation Kit (Part #: ADSXLX-SP2-EVL);
- AvnetVirtex-E Evaluation Kit (Part#: ADSXLX-VE-EVL);
- Digilent Spartan-IIE Board;
- Memec Design Virtex-E Demo Board;
- Memec Design Spartan-II Demo Board;
- Memec Design Virtex-II MicroBlaze Board;
- Memec Design Virtex-II Pro Board;
- Xilinx ML300 Board;
- Xilinx AFX Board.
Структура средств разработки встраиваемых микропроцессорных систем Embedded System Tools
Средства разработки EST представляют собой комплекс инструментов, выполненных в виде программных модулей, которые предназначены для осуществления соответствующих этапов проектирования встраиваемых микропроцессорных систем. Эти программные модули могут активизироваться как автономно, так и в среде графической управляющей оболочки. Запуск отдельных модулей EST в автономном режиме может осуществляться помощью соответствующей командной строки.
В структуре средств разработки встраиваемых микропроцессорных систем EST можно выделить две группы программ и управляющую оболочку. К первой группе программ относятся инструменты, необходимые для проектирования аппаратной части встраиваемых микропроцессорных систем. В данную группу входят программы, выполняющие следующие функции:
- создание и редактирование спецификаций аппаратной части разрабатываемой системы;
- формирование HDL-описаний и списка соединений проектируемой аппаратной платформы;
- создание и редактирование спецификаций моделей компонентов разрабатываемой микропроцессорной системы;
- генерация моделей компонентов для последующей верификации проектируемой системы.
В эту же группу можно также включить модули, которые используются в качестве инструментов средств EST, но являются самостоятельными программами или принадлежат другим системам проектирования. Такими инструментами являются:
- различные программы моделирования, как, например, ModelSim XE;
- программы размещения и трассировки проекта в кристаллах семейств FPGA;
- модуль конфигурирования ПЛИС семейств FPGA и программирования конфигурационных ПЗУ/ППЗУ iMPACT.
Ко второй группе относятся инструменты разработки программных компонентов встраиваемых микропроцессорных систем. В этой группе представлены программы, которые выполняют следующие функции:
- создание и редактирование спецификаций программной платформы, которая содержит библиотеки, драйверы и процедуры обслуживания прерываний компонентов разрабатываемой системы;
- формирование модулей программной платформы проектируемой системы;
- создание и редактирование исходных модулей прикладных программ (приложений) для разрабатываемой микропроцессорной системы;
- компиляция исходных модулей прикладных программ;
- отладка программ на уровне инструкций микропроцессорного ядра;
- комплексная отладка прикладных программ проектируемой системы;
- преобразование исполняемого кода программ в загружаемый код кристаллов FPGA.
Функции управляющей графической оболочки выполняет программа Xilinx Platform Studio (XPS), образуя интегрированную среду разработки и отладки аппаратной и программной части встраиваемых микропроцессорных систем.
В более наглядной форме структура средств EST показана на рис. 1.
![Структура средств разработки встраиваемых микропроцессорных систем EST](/images/arhiv/04_03/18_1.gif) Рис. 1. Структура средств разработки встраиваемых микропроцессорных систем EST
Рассмотрим более детально основные составляющие средств разработки встраиваемых микропроцессорных систем EST.
Конфигурация аппаратной части проектируемой микропроцессорной системы определяется спецификацией MHS (Microprocessor Hardware Specification). В этой спецификации описываются:
- архитектура шин;
- микропроцессорные ядра;
- используемые периферийные модули;
- конфигурация взаимосвязей компонентов разрабатываемой системы;
- приоритеты запросов прерывания;
- диапазоны адресов памяти, используемые компонентами проектируемой системы.
Спецификация аппаратной части микропроцессорной системы представляет собой текстовый файл с расширением MHS. Для создания и модификации этого файла может использоваться любой текстовый редактор.
Интегрированная среда разработки проекта средств EST содержит встроенный редактор, который может быть эффективно использован для подготовки спецификации аппаратной части проектируемой системы. Более наглядным способом генерации файла MHS является использование интерактивных графических средств управляющей оболочки XPS.
Графическое представление спецификации MHS в виде структурной схемы (диаграммы) PBD (Platform Block Diagram) автоматически транслируется в текстовый формат. Кроме того, файл спецификации аппаратной части разрабатываемой системы может быть также автоматически сформирован с помощью Мастера создания новых аппаратных платформ Base System Build Wizard.
Спецификация MHS является исходным модулем в процессе генерации списка соединений (netlist) проектируемой микропроцессорной системы. Формирование файлов списков соединений осуществляется с помощью программы Platform Generator (PlatGen) в автоматическом режиме. Данная программа создает файлы списков соединений различных форматов, например, NGC и EDIF. Кроме того, программа Platform Generator формирует файл директив синтеза аппаратной платформы разрабатываемой системы.
Для верификации аппаратной части проектируемой системы необходимо подготовить спецификацию моделей компонентов, которые входят в ее состав. Спецификация моделирования базируется на основе аппаратной платформы разрабатываемой системы. В этой спецификации указывается тип используемой модели для каждого процессорного ядра, периферийного устройства и других модулей, входящих в состав аппаратной части микропроцессорной системы. Создание спецификации моделей компонентов осуществляется с помощью средств редактирования управляющей оболочки XPS.
На основе спецификации моделирования программа Simulation Model Generator (SimGen) формирует файлы соответствующих моделей, представленных в виде описаний на языках HDL высокого уровня (VHDL, Verilog) или скомпилированных модулей.
Кроме HDL-описаний моделей программа Simulation Model Generator позволяет создавать файлы сценариев моделирования.
В качестве основного средства моделирования аппаратной части разрабатываемой системы используется пакет программных средств ModelSim корпорации Model Technology (одного из подразделений компании Mentor Graphics). Благодаря своим уникальным возможностям данный пакет является в настоящее время самой распространенной системой HDL-моделирования. Совместно с EDK применяется специализированная редакция этого пакета ModelSim Xilinx Edition (XE), ориентированная на интеграцию с программным обеспечением фирмы Xilinx.
В рамках пакета ModelSim Xilinx Edition может быть осуществлено как функциональное, так и полное (временное) моделирование аппаратной части разрабатываемой системы. При этом функциональное моделирование может проводиться на поведенческом и структурном уровне.
Размещение и трассировка проекта разрабатываемой системы в кристаллах семейств FPGA, а также конфигурирование ПЛИС и программирования конфигурационных ПЗУ/ППЗУ производится с помощью программных средств iMPACT, которые входят в состав стандартных САПР фирмы Xilinx серии ISE.
Конфигурация программной платформы разрабатываемой системы определяется спецификацией Microprocessor Software Specification (MSS).
В этой спецификации указываются следующие данные:
- опции микропроцессорных ядер и модулей периферийных устройств;
- информация о драйверах периферийных устройств и стандартных устройств ввода-вывода;
- информация об используемых библиотеках;
- информация о программах обработки прерываний.
Файл спецификации MSS имеет текстовый формат. Для его подготовки может использоваться любой текстовый редактор. Достаточно удобно для этих целей использовать встроенный текстовый редактор, который входит в состав интегрированной среды разработки XPS.
На основе спецификации программной части разрабатываемой системы программа Library Generator (LibGen) конфигурирует необходимые библиотеки, процедуры обслуживания прерываний и драйверы для используемых периферийных модулей и стандартных устройств ввода-вывода.
Прикладные программы для проектируемой микропроцессорной системы могут разрабатываться как с применением языков высокого уровня С/С++, так и непосредственно на языке ассемблера. Создание и правка исходных модулей приложений в процессе их отладки может осуществляться в рамках различных текстовых редакторов, в частности, с помощью встроенного текстового редактора, который входит в состав интегрированный среды разработки проекта XPS. Преобразование исходных модулей прикладных программ в исполняемый код выполняется с помощью средств GNU Compiler Tools, которые входят в состав EST. Средства
GNU Compiler Tools последовательно осуществляют компиляцию исходных модулей в объектные файлы и компоновку объектных модулей в исполняемый код. Подробная структура средств компиляции и компоновки прикладных программ GNU Compiler Tools представлена на рис. 2.
![Структура средств компиляции и компоновки прикладных программ GNU Compiler Tools](/images/arhiv/04_03/18_2.gif) Рис. 2. Структура средств компиляции и компоновки прикладных программ GNU Compiler Tools
В состав средств GNU Compiler Tools входят:
- препроцессор;
- компилятор С;
- компилятор С++;
- ассемблер MicroBlaze;
- ассемблер PowerPC;
- компоновщик MicroBlaze;
- компоновщик PowerPC.
Препроцессор осуществляет преобразование исходного текста прикладных программ на основании специальных директив препроцессора, которые располагаются в исходных модулях. В соответствии с этими директивами препроцессор может, в частности, выполнять развертывание макросов, а также включать содержимое одних файлов в состав других.
Компилятор транслирует исходные тексты прикладных программ, обработанные препроцессором, в коды ассемблера. Компилятор С выполняет преобразование модулей прикладных программ на языке С, генерируемых препроцессором. Компилятор С++ необходим для трансляции файлов, сформированных препроцессором, которые содержат текст программ на языке С++.
Ассемблер преобразует программные модули, представленные в кодах ассемблера, в объектные файлы, содержащие машинный код. Ассемблер MicroBlaze выполняет трансляцию в объектный код микропроцессорного ядра MicroBlaze, а ассемблер PowerPC — в объектный код аппаратного процессорного ядра PowerPC.
Компоновщик осуществляет связывание всех относящихся к разрабатываемому приложению объектных файлов, сгенерированных ассемблером, подключает необходимые библиотечные модули и формирует исполняемый код. Для записи исполняемого кода прикладных программ используется формат ELF (Executable and Link Format). В зависимости от типа используемого в основе разрабатываемой системы микропроцессорного ядра генерация исполняемого кода осуществляется компоновщиком MicroBlaze или компоновщиком PowerPC.
Для отладки разрабатываемых прикладных программ в составе средств EST имеются два инструмента: GNU Debugger (GDB) и Xilinx Microprocessor Debugger (XMD). Первый инструмент осуществляет отладку на уровне инструкций процессорного ядра и поэтому может использоваться для отладки программ, которые не имеют обращений к периферийным устройствам. Отладчик Xilinx Microprocessor Debugger применяется совместно с инструментом GNU Debugger и позволяет провести полную верификацию разрабатываемых приложений, в том числе и на аппаратном уровне.
После успешного завершения процесса отладки прикладных программ исполняемый код приложений может быть добавлен в загружаемую конфигурационную последовательность кристаллов FPGA. Для присоединения исполняемого кода прикладных программ к конфигурационной последовательности, соответствующей аппаратной части проектируемой микропроцессорной системы, предназначена утилита Data2bram. Загрузка дополненной конфигурационной последовательности в ПЛИС или ПЗУ/ППЗУ осуществляется с помощью модуля программирования iMPACT, который входит в состав стандартных средств проектирования фирмы Xilinx серии ISE.
Краткая характеристика и пользовательский интерфейс управляющей оболочки Xilinx Platform Studio
Графическая оболочка Xilinx Platform Studio средств EST предназначена для организации эффективного управления процессом проектирования встраиваемых микропроцессорных систем на основе ПЛИС серий FPGA в среде пакета Xilinx EDK. Она является основой интегрированной среды разработки проекта. Управляющая оболочка предоставляет пользователю удобный интерфейс для эффективной работы с проектом и управления всеми процессами в ходе проектирования. Запуск всех программных модулей, входящих в состав средств EST, может осуществляться непосредственно в среде Xilinx Platform Studio.
Управляющая оболочка XPS выполняет следующие функции:
- управление проектом;
- создание и редактирование спецификации аппаратной части разрабатываемой системы MHS;
- подготовка спецификации программной платформы микропроцессорной системы MSS;
- формирование и модификация исходных файлов прикладных программ;
- управление процессами в ходе проектирования;
- предоставление доступа ко всем инструментам, которые входят в состав средств EST.
Подробная структура основного окна Xilinx Platform Studio представлена на рис. 3.
![Основное окно управляющей оболочки Xilinx Platform Studio](/images/arhiv/04_03/18_3.gif) Рис. 3. Основное окно управляющей оболочки Xilinx Platform Studio
В составе структуры основного окна управляющей оболочки XPS можно выделить следующие основные элементы:
- заголовок окна;
- главное меню;
- оперативную панель управления;
- встроенное окно проекта разрабатываемой системы;
- встроенное окно консольных сообщений программных модулей, входящих в состав средств EST;
- панель для размещения рабочих окон средств редактирования;
- строку состояния.
Некоторые из перечисленных элементов могут быть выключены в текущей конфигурации. Для рационального использования всех инструментов пользовательского интерфейса рекомендуется установить режим отображения всех элементов окна Xilinx Platform Studio, используя команды пункта View основного меню.
В заголовке окна Xilinx Platform Studio отображается полное имя файла описания текущего открытого проекта, которое включает путь доступа к рабочему каталогу проекта.
Главное меню управляющей оболочки пакета обеспечивает доступ ко всем командам, необходимым для работы с проектом. Каждый пункт главного меню открывает всплывающее меню, в котором находится соответствующая группа команд. Всплывающее меню File содержит команды создания, открытия, сохранения и закрытия проектов и файлов. Кроме того, в эту группу включены команды печати и завершения работы.
В выпадающем меню Edit представлены команды редактирования спецификаций аппаратной и программной платформ проектируемой системы, а также исходных модулей прикладных программ. Здесь же расположена команда установки и изменения параметров объектов, которые используются при графическом представлении спецификации аппаратной платформы. Во всплывающем меню View сгруппированы команды, определяющие вид окна Xilinx Platform Studio. Строки этого меню указывают, какие элементы окна будут отображаться на экране, а какие — скрыты. В этом же меню находятся команды, предназначенные для управления масштабом и регенерацией изображения в окне редактора диаграмм. Выпадающее меню Project содержит команды работы с проектом, которые, в частности, позволяют включать в проект и удалять из проекта модули исходных описаний прикладных программ, импортировать файлы спецификаций аппаратной и программной платформ разрабатываемой системы. Выпадающее меню Tools предоставляет команды активизации инструментов разработки встраиваемых микропроцессорных систем.
Во всплывающем меню Options находятся команды установки параметров проекта и настроек компилятора. Кроме того, здесь же расположены команды генерации пользовательских кнопок на оперативной панели управления и установки режима синхронизации файлов, открытых в редакторе диаграмм, при изменении спецификации аппаратной платформы проектируемой системы. Выпадающее меню Window содержит команды работы с окнами текстового и графического редактора (редактора диаграмм).
Расположенные здесь команды позволяют создавать необходимое количество рабочих окон и устанавливать их взаимную конфигурацию. В этом же меню представлены команды переключения между открытыми окнами редактирования. Пункт Help основного меню предоставляет справочную информацию о программах пакета и открывает прямой доступ к ресурсам Web-сайта xilinx.com, при условии, что используемый компьютер оснащен выходом в Internet.
При работе с графическим редактором диаграмм главное меню управляющей оболочки содержит дополнительный пункт — Add. Соответствующее этому пункту всплывающее меню содержит команды, используемые в процессе создания и редактирования спецификации аппаратной части проектируемой системы в форме структурных схем (диаграмм PBD).
Следует обратить внимание на то, что не все команды доступны в тот или иной момент работы с программой. Заблокированные команды отображаются серым цветом.
Xilinx Platform Studio автоматически определяет область доступности каждой команды, что позволяет исключить ее неправильное использование. Такой механизм позволяет избежать ошибок в процессе проектирования, вызванных выполнением недопустимых операций.
Оперативная панель управления содержит кнопки быстрого доступа, которые дублируют наиболее часто используемые команды Xilinx Platform Studio. Эта панель фактически состоит из семи отдельных панелей, на каждой из которых расположена соответствующая группа кнопок, скомпонованных по функциональному признаку:
- кнопки, предназначенные для работы с файлами и печати;
- кнопки, дублирующие команды редактирования;
- кнопки, предназначенные для управления масштабом и регенерацией изображения в окне редактора диаграмм;
- кнопки, используемые для изменения взаимной конфигурации окон редактирования;
- кнопки, открывающие доступ к справочной системе средств проектирования и ресурсам сайта поддержки;
- кнопки активизации инструментов EST;
- кнопки, используемые при работе с редактором диаграмм.
Состояние кнопок оперативной панели зависит от типа операций, осуществляемых в текущий момент времени. Кнопки, которые не имеют отношения к выполняемым в данный момент времени операциям, являются недоступными и отображаются серым цветом. Например, кнопки редактирования доступны только при работе с текстовым или графическим редактором. Если не открыто ни одного окна редактирования, то эта панель инструментов находится в неактивном состоянии. В этом случае все ее элементы отображаются серым цветом.
Окно проекта разрабатываемой системы представляет развернутую информацию о структуре разрабатываемой системы, исходных данных и параметрах проекта. Это встроенное окно имеет три страницы, снабженных закладками: System, Options, Component (Symbols) (рис. 3). Чтобы выбрать нужную страницу окна проекта разрабатываемой системы, необходимо поместить курсор мыши на соответствующую закладку и щелкнуть левой кнопкой. Страница System является главной и наиболее часто используется при работе с проектом. Страницы Options и Component (Symbols) предназначены для выполнения вспомогательных функций.
На странице Options представлены дополнительные параметры, которые могут устанавливаться при использовании различных инструментов EST. Содержание этой страницы зависит от типа используемого инструмента и выполняемой операции в текущий момент времени. Страница Component (Symbols) предназначена для выбора компонентов проектируемой системы при формировании спецификации аппаратной части в графической форме.
Информация в окне проекта разрабатываемой системы может быть представлена в сжатом или развернутом виде. При сжатой форме отображения данных в окне процессов показаны лишь названия основных разделов:
- System BSP;
- Project Files;
- Project Options.
В разделе System BSP представлены все компоненты, которые входят в состав проектируемой системы. Раздел Project Files содержит информацию об основных файлах проекта: спецификациях аппаратной и программной платформ, временных и топологических ограничениях проекта. В разделе Project Options отображаются установленные значения основных параметров проекта.
Развернутая форма имеет вид ветвящейся иерархической структуры, каждый узел которой представляет определенный компонент проектируемой микропроцессорной системы, файл или параметр проекта. Для перехода от сжатого формата к подробному необходимо последовательно развернуть каждый узел структуры, помеченный знаком «+», щелкнув на нем левой кнопкой мыши.
Повторный щелчок мыши приводит узел, обозначенный знаком «-», в исходное состояние. Управляющая оболочка XPS предоставляет пользователю два способа управления файлами проекта. Первый способ заключается в использовании команд всплывающего контекстно-зависимого меню, активизируемого щелчком правой кнопки мыши на строке с названием файла. Второй, самый простой и быстрый способ открытия файла — двойной щелчок левой кнопкой мыши на строке с его названием в окне проекта разрабатываемой системы.
Окно консольных сообщений имеет три страницы с закладками Output, Warnings и Errors. Страница Output является основной (используется наиболее часто в работе с проектом) и предназначена для вывода информационных сообщений о запуске и ходе выполнения процедур. На странице Warnings отображаются предупреждения, сопровождаемые идентификационными кодами. Страница Errors используется для вывода сообщений об ошибках, которые генерируются программами, входящими в состав средств проектирования EST.
Встроенный текстовый редактор Xilinx Platform Studio предназначен для создания файлов спецификаций аппаратной и программной платформ разрабатываемой системы, исходных модулей прикладных программ и их последующей корректировки.
Интегрированный текстовый редактор может иметь несколько одновременно открытых рабочих окон. Эти окна располагаются внутри панели размещения окон редактирования (рис. 3). Вид расположения рабочих окон на панели (каскадный или неперекрывающийся) устанавливается с помощью команд выпадающего меню Window.
Строка состояния, расположенная в нижней части окна Xilinx Platform Studio, служит для вывода сообщений о текущих выполняемых командах. Часть строки состояния используется при работе со встроенным редактором диаграмм. В этом фрагменте отображаются координаты текущего расположения курсора (номер строки и позиции) в активном рабочем окне редактора диаграмм.
Пример разработки микропроцессорной системы на основе ядра MicroBlaze в среде пакета Xilinx EDK будет рассмотрен в одной из последующих публикаций цикла.
Литература
- Зотов В. MicroBlaze — семейство тридцатидвухразрядных микропроцессорных ядер, реализуемых на основе ПЛИС фирмы Xilinx // Компоненты и технологии. 2003. № 9.
- Зотов В. Система команд микропроцессорного ядра MicroBlaze // Компоненты и технологии. 2004. № 1-3.
- Зотов В. Проектирование цифровых устройств на основе ПЛИС фирмы Xilinx в САПР WebPack ISE. М.: Горячая линия — Телеком. 2003.
- Зотов В. ModelSim — система HDL-моделирования цифровых устройств // Компоненты и технологии. 2002. № 6.
- Зотов В. Функциональное моделирование цифровых устройств, проектируемых на базе ПЛИС фирмы Xilinx в среде САПР WebPACK ISE // Компоненты и технологии. 2002. № 7.
- Зотов В. Временное моделирование цифровых устройств, проектируемых на базе ПЛИС фирмы Xilinx в среде САПР WebPACK ISE // Компоненты и технологии. 2002. № 8.
Валерий Зотов
|