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

Поисковые слова: planet
СМ5 : Школа разработки аппаратуры цифровой обработки сигналов на ПЛИС
 

Школа разработки аппаратуры цифровой обработки сигналов на ПЛИС
Стешенко В.Б.


Занятие 3. Программное обеспечение проектирования на ПЛИС фирмы Xilinx.

В предыдущих занятиях школы [1,2] были рассмотрены основные архитектуры ПЛИС и работа над проектом в среде системы MAX+PLUS II фирмы ALTERA. В данной статье цикла мы рассмотрим основные характеристики программного обеспечения фирмы Xilinx.

В работе [3] приводится достаточно подробное описание ПЛИС фирмы Xilinx (кроме последних модификаций) и некоторые особенности их применения. Информацию о последних разработках ПЛИС фирмы Xilinx можно получить на периодически обновляемом CD-ROM AppLINX, ежеквартальном журнале XСell, подписаться на которые можно на WEB-сайте www.xilinx.com.

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

Среди бесплатных САПР Xilinx следует выделить систему WebFITTER, первому в своем роде продукту, основанному на использовании Internet.

В таблице 1 приведены основные характеристики системы WebFITTER.

Таблица 1.

Поддерживаемые устройстваXC9500 (5V), XC9500XL (3.3V), XC9500XV (2.5V)
Способ описания проектаVHDL, Verilog, ABEL, EDIF, TDF, XNF
Задание ограничений на проектОпределяется пользователем
Выходные данныеОтчет о временных параметрах проекта (timing report), отчет о трассировке (fitter report), файл программатора (programming file) в формате JEDEC, временная модель для моделирования (timing simulation model) в формате VHDL, Verilog или EDIF)

Для работы с этим продуктом необходимо, чтобы броузер поддерживал 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-микросхемы выполняется на базе этих "виртуальных компонентов", называемых также "блоками интеллектуальной собственности" с помощью САПР. Благодаря стандартизации в одно целое можно объединять "виртуальные компоненты" от разных разработчиков. Для поддержки работы над кристаллами, емкость которых составляет 2 000 000 эквивалентных вентилей, необходимо обеспечить возможность коллективной работы над проектом. Foundation 2.1 обеспечивает поддержку коллектива разработчиков как в локальной сети, так и с использованием ресурсов Internet. Данная технология разработки получила наименование Internet Team Design (ITD).

Основу системы составляет оболочка Foundation Project Manager (рис.1), разработанная фирмой Aldec

Рис.1.

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

Пакет Foundation выпускается в различных по конфигурации модификациях, в максимальном варианте доступны следующие функции:

1. Синтез проекта с использованием языков описания аппаратуры высокого уровня (VHDL and Verilog synthesis). Для этих целей в состав Foundation входит система синтеза FPGA Express Synthesis разработанный компанией Synopsys. Данный компилятор поддерживает синтез устройств с заданными временными параметрами.

2. В качестве традиционного средства ввода используется Schematic Editor (рис.2), имеющий развитые библиотеки.

Рис.2.

В версии 2.1 применяется редактор схем Vista, входящий составной частью в FPGA Express.

3. Обеспечивается поддержка ввода описания алгоритма и синтез с использованием специализированного языка описания аппаратуры ABEL, предназначенного для описания проектов, выполняемых на ПЛИС Xilinx и некоторых других производителей

4. Обеспечивается ввод описания цифрового автомата с помощью его графа переходов (State Editor). Данный способ описания проекта позволяет весьма просто и наглядно задать поведение автомата и весьма удобен при разработке различных устройств управления. На рис.3 приведен пример задания автомата его графом.

Рис.3.

В дальнейшем возможно создать для созданного автомата символ и использовать его в редакторе схем.

5. При описании проекта с использованием языков описания аппаратуры удобно использовать специализированный редактор HDL Editor, имеющий удобные средства контроля синтаксиса, шаблоны типовых конструкций и удобную связь с компиляторами.

В качестве средства работы с проектом на базе HDL используется Language Assistant, состоящий из трех основных модулей Language Templates, Synthesis Templates и User Templates.

6. Для создания описания модулей в интерактивном графическом режиме используется средство LogiBLOX. Оно позволяет создавать такие узлы, как счетчики, сдвиговые регистры, элементы памяти и мультиплексоры. LogiBLOX запускается непосредственно из редактора HDL Editor с использованием команды Synthesis / LogiBLOX.

На рис.4 показано окно LogiBLOX Module Selector в режиме описания счетчика

Рис.4.

С использованием этого средства достаточно просто создать описание узла на языке описания аппаратуры, не владея им в совершенстве.

7. Для задания параметров компиляции проекта удобно использовать Express Constraints Editor. С помощью этого редактора удобно задавать временные ограничения для проекта.

8. После ввода описания проекта удобно провести его функциональное (логическое, поведенческое) моделирование с использованием симулятора Logic Simulator. В симуляторе в интерактивном графическом режиме задаются сигналы, которые используются для проведения моделирования. Результаты моделирования можно наблюдать как в привычном виде временных диаграмм, в том числе в режиме Probe, так и с использованием семисегментных индикаторов.

9. Для компиляции проекта из Project Manager запускают модуль Design Implementation, который позволяет выбрать устройство, на котором реализуется проект, подгрузить файл ограничений и параметров синтеза, созданный пользователем, а затем запустить компиляцию проекта. Процесс компиляции проекта и разводки отображается в окне Flow Engine (рис. 5)

Рис.5.

10. В случае успешной компиляции проекта следует провести временное моделирование с использованием модуля Timing Simulation.

11. После проведения моделирования на компьютере можно проводить аппаратную верификацию проекта с использованием загрузчика 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 поддерживает интерфейс со многими из названных продуктов.

В следующем занятии школы мы начнем знакомиться с языками описания аппаратуры, используемыми при проектировании устройств на ПЛИС.


Литература

  • В.Стешенко. Школа разработки аппаратуры цифровой обработки сигналов на ПЛИС. Занятие 1. Обзор элементной базы. // Chip News,1999, ?8, с. 2 - 6.
  • В.Стешенко. Школа разработки аппаратуры цифровой обработки сигналов на ПЛИС. Занятие 2. Система проектирования MAX+PLUS II фирмы ALTERA. // Chip News,1999, ?9, с. 15 - 18.
  • П.П.Мальцев, Н.И.Гарбузов, А.П.Шарапов, Д.А.Кнышев. Программируемые логические ИМС на КМОП-структурах и их применение. - М.: Энергоатомиздат, 1998.

  •