Занятие 3. Программное обеспечение проектирования на ПЛИС Xilinx
В предыдущих занятиях школы [1,2] были рассмотрены основные архитектуры ПЛИС и работа над проектом в среде системы MAX+PLUS II фирмы ALTERA. Теперь мы рассмотрим основные характеристики программного обеспечения фирмы Xilinx.
В работе [3] приводится достаточно подробное описание ПЛИС фирмы Xilinx (кроме последних модификаций) и некоторые особенности их применения. Информацию о последних разработках ПЛИС фирмы Xilinx можно получить на периодически обновляемом CD-ROM AppLINX и в ежеквартальном журнале "XСell", подписаться на которые можно на WEB-сайте www.xilinx.com.
Пожалуй, из всех производителей ПЛИС фирма Xilinx может считаться лидером по номенклатуре серий ПЛИС и программного обеспечения (ПО). При этом новые версии ПО поддерживают старые серии ПЛИС, позволяя разработчику производить плавную миграцию проектов на новые серии. Среди программных продуктов Xilinx имеются как относительно простые свободно распространяемые системы, так и мощные, интегрированные пакеты, позволяющие разрабатывать ПЛИС эквивалентной емкости более 1000000 вентилей.
Среди бесплатных САПР Xilinx следует выделить систему WebFITTER, первый в своем роде продукт, основанный на использовании Internet.
Таблица 1
Поддерживаемые устройства | XC9500 (5V), XC9500XL (3.3V), XC9500 (2.5V) |
Способ описания проекта | VHDL, Verilog, ABEL, EDIF, TDF, XNF |
Задание ограничений на проект | Определяется пользователем |
Выходные данные | Отчет о временных параметрах проекта (timing report), отчет о трассировке (fitter report), файл программатора (programming file) в формате JEDEC, встроенная модель для моделирования (timing simulation model) в формате VHDL, Verilog, EDIF |
В табл. 1 приведены основные характеристики системы WebFITTER. Для работы с этим продуктом необходимо, чтобы броузер поддерживал Javscript версии 1.2, Frames и SSL. Броузеры Netsape Communicator 4.0 (и старших версий) и Microsoft Internet Explorer версии 4.0 и старше вполне пригодны для работы с WebFITTER. При использовании Netscape необходимо разрешить работу с Javascript, выбрав в меню Edit->Preferences->Advanced->Enable переключатель JavaScript. При использовании Internet Explorer необходимо выбрать в окне View->Internet Options->Security->Custom опцию Enable Active Scripting.
Собственно WebFITTER находится на странице http://xaps1.xilinx.com/webfitter.
Однако, для большинства пользователей в России использование данного продукта может оказаться затруднительным, поскольку, к сожалению, скоростной доступ в Internet доступен пока немногим. Тем не менее, следует обратить внимание на тенденцию применения технологий глобальных компьютерных сетей в разработке ПЛИС.
Разумной альтернативой использованию WebFITTER является применение пакета WebPack, позволяющего работать с CPLD XC9500 и CoolPLD, ввод описания проекта возможен как с помощью схемного редактора, так и с использованием языков описания аппаратуры ABEL и VHDL. Возможно программирование устройств непосредственно в системе с использованием аппаратного загрузчика XСhecker. К сожалению, в WebPack пока отсутствует опция моделирования алгоритмов, описанных с помощью VHDL, поддерживается только лишь синтез. Данный пакет можно "скачать" с сайта фирмы Xilinx. На взгляд автора, этот продукт является достаточно удачным средством первоначального знакомства с проектированием на ПЛИС.
Вышеупомянутые продукты предназначены для разработки проектов на базе устройств, выпускаемых по архитектуре CPLD. Как уже отмечалось ранее [1], такие устройства малопригодны для реализации сложных алгоритмов обработки сигналов. Для работы с FPGA, в том числе и с новым семейством Virtex, фирмой Xilinx в кооперации с Aldec и Synopsys разработан мощный и современный пакет Foundation, последняя версия которого (2.1) обеспечивает ряд новых функций, позволяющих использовать ПЛИС в качестве основной элементной базы для построения "систем на кристалле" (system-on-chip, SOC). В основе идеи SOC лежит интеграция всей электронной системы в одном кристалле (например, в случае ПК такой чип объединяет процессор, память и т. д.). Компоненты этих систем разрабатываются отдельно и хранятся в виде файлов параметризируемых модулей. Окончательная структура SOC-микросхемы выполняется на базе этих "виртуальных компонентов", называемых также "блоками интеллектуальной собственности" с помощью САПР. Благодаря стандартизации, можно объединять в одно целое "виртуальные компоненты" от разных разработчиков. Для поддержки работы над кристаллами, емкость которых составляет 2000000 эквивалентных вентилей, необходимо обеспечить возможность коллективной работы над проектом. Foundation 2.1 обеспечивает поддержку коллектива разработчиков как в локальной сети, так и с использованием ресурсов Internet. Данная технология разработки получила наименование Internet Team Design (ITD).
Основу системы составляет оболочка Foundation Project Manager (рис. 1), разработанная фирмой Aldec.
Рис. 1. Оболочка Foudation Project Manager
Использование Project Manager позволяет обеспечить удобное задание всех параметров проекта, а также быстрое управление вводом описания проекта, его компиляцию, временное и функциональное моделирование, верификацию и программирование ПЛИС.
Рис. 2. Schematic Editor
Пакет Foundation выпускается в различных по конфигурации модификациях. В максимальном варианте доступны следующие функции:
- Синтез проекта с использованием языков описания аппаратуры высокого уровня (VHDL, Verilog synthesis). Для этих целей в состав Foundation входит система синтеза FPGA Express Synthesis, разработанная компанией Synopsys. Данный компилятор поддерживает синтез устройств с заданными временными параметрами.
- В качестве традиционного средства ввода используется Schematic Editor (рис. 2), имеющий развитые библиотеки.
В версии 2.1 применяется редактор схем Vista, входящий составной частью в FPGA Express. - Обеспечивается поддержка ввода описания алгоритма и синтез с использованием специализированного языка описания аппаратуры ABEL, предназначенного для описания проектов, выполняемых на ПЛИС Xilinx и некоторых других производителей.
- Обеспечивается ввод описания цифрового автомата с помощью его графа переходов (State Editor). Данный способ описания проекта позволяет весьма просто и наглядно задать поведение автомата и весьма удобен при разработке различных устройств управления. На рис. 3 приведен пример задания автомата его графом. В дальнейшем возможно создать для полученного автомата символ и использовать его в редакторе схем.
- При описании проекта с использованием языков описания аппаратуры удобно использовать специализированный редактор HDL Editor, имеющий удобные средства контроля синтаксиса, шаблоны типовых конструкций и удобную связь с компиляторами.
Рис. 3. Пример задания цифрового автомата его графом переходов
В качестве средства работы с проектом на базе HDL используется Language Assistant, состоящий из трех основных модулей: Language Templates, Synthesis Templates и User Templates. - Для создания описания модулей в интерактивном графическом режиме используется средство LogiBLOX. Оно позволяет создавать такие узлы, как счетчики, сдвиговые регистры, элементы памяти и мультиплексоры. LogiBLOX запускается непосредственно из редактора HDL Editor с использованием команды Synthesis / LogiBLOX.
На рис. 4 показано окно LogiBLOX Module Selector в режиме описания счетчика.
Рис. 4. Окно LogiBLOX Modul Selector в режиме описывания счетчика
С использованием этого средства достаточно просто создать описание узла на языке описания аппаратуры, не владея им в совершенстве. - Для задания параметров компиляции проекта удобно использовать Express Constraints Editor. С его помощью удобно задавать временные ограничения для проекта.
- После ввода описания проекта удобно провести его функциональное (логическое, поведенческое) модели-рование с использованием симулятора Logic Simulator. В нем в интерактивном графическом режиме задаются сигналы, используемые для проведения моделирования. Результаты моделирования можно наблюдать как в привычном виде временных диаграмм, в том числе в режиме Probe, так и с использованием семисегментных индикаторов.
- Для компиляции проекта из Project Manager запускают модуль Design Implementation, позволяющий вы-брать устройство, на котором реализуется проект, подгрузить файл ограничений и параметров синтеза, созданный пользователем, а затем запустить компиляцию проекта. Процесс компиляции проекта и разводки отображается в окне Flow Engine (рис. 5)
Рис. 5. Процесс компиляции Project Manager и разводки
- В случае успешной компиляции проекта следует провести временное моделирование с использованием модуля Timing Simulation.
- После проведения моделирования на компьютере можно проводить аппаратную верификацию проекта с использованием загрузчика Xchecker и отладочной платы.
Программное обеспечение фирмы Xilinx поддерживает генератор логических ядер (CORE Generator). Сгенерированные ядра (LogiCORE) представляют собой функциональные параметризированные блоки системного уровня, предназначенные для применения в цифровой обработке сигналов. В табл. 2 приведены сведения о некоторых логических ядрах фирмы Xilinx, предназначенных для реализации алгоритмов ЦОС.
Таблица 2. Логические ядра фирмы XILINX
КИХ-фильтры | Фильтр на основе последовательно распределенной арифметики с возможностью каскадирования, интерполяции и децимации |
Гребенчатый фильтр | Структуры фильтра без использования умножителей. Структура Хогенауэра |
Корреляторы | Одномерный параллельного или последовательного ввода/вывода данных, двумерные корреляторы |
Таблицы перекодировки | Произвольная разрядность выходных данных и любая глубина таблицы генерируемой функции |
Перемножители, аккумуляторы, сумматоры/вычитатели, делители | Любая разрядность. Умножение перемнного операнда на константу. Перемножение двух независимых переменных |
БПФ 1024 точки | Действительные 16-разрядные входные данные и комплексный выход |
Кроме того, фирма Xilinx поддерживает программу разработки готовых решений для САПР ПЛИС AllianceCORE.
На примере ПО фирмы Xilinx видно изменение отношения к программному обеспечению САПР ПЛИС как со стороны разработчиков ПО, так и пользователей. Если до конца 1990-х гг. основным средством описания проекта являлся ввод схемы с помощью графических редакторов с использованием библиотек стандартных логических примитивов (логических элементов, простейших комбинационных и последовательностных функциональных узлов, аналогов стандартных ИС малой и средней степени интеграции (серии 74)), то в настоящее время актуальным является использование языков описания аппаратуры для реализации алгоритмов на ПЛИС. Причем в современных САПР поддерживаются как стандартизованные языки описания аппаратуры, такие как VHDL и Verilog HDL, так и языки описания аппаратуры, разработанные компаниями-производителями ПЛИС специально для использования только в своих САПР и учитывающих архитектурные особенности конкретных семейств ПЛИС.
Кроме того, многие крупные фирмы-производители САПР интегральных схем активно включились в процесс создания ПО, поддерживающего ПЛИС различных производителей. Это позволяет проводить разработку алгоритмов, пригодных к реализации на ПЛИС не только разных семейств, но и различных производителей, что облегчает переносимость алгоритма и ускоряет процесс разработки. Примером таких систем являются продукты серии FPGA Express фирмы Synopsys, OrCAD Express фирмы OrCAD, продукты фирм VeryBest, Aldec, Cadence Design Systems и многих других. ПО Xilinx поддерживает интерфейс со многими из названных продуктов.
В следующем занятии школы мы начнем знакомиться с языками описания аппаратуры, используемыми при проектировании устройств на ПЛИС.
Литература
Тел. (095) 263-6736
E-mail: steshenk@sm.bmstu.ru
Ваш комментарий к статье | ||||