Системы верификации на основе реконфигурируемых устройств

УДК 004.27

А.В. ПАЛАГИН, В.Н. ОПАНАСЕНКО, В.Г. САХАРИН

СИСТЕМЫ ВЕРИФИКАЦИИ НА ОСНОВЕ РЕКОНФИГУРИРУЕМЫХ УСТРОЙСТВ

Abstract: The analysis of principles of a design and operation of modern systems of verification of reconfigurable PLD-based devices of such known corporations, as Virtual Computer Corporation (H. O. T), Nallatech (FUSE), Aptix (System Explorer), Xilinx (XtremeDSP Development Kit) is made. This system, realizing integration of configurable plate and tools of designing, are means for an evaluation, adjustment and prototyping of the projects using PLD chips and other elements as a computing element of a system.

Key words: PLD (programmable logic devices), reconfigurable devices, verification.

Анотація: Виконано аналіз принципів побудови і функціонування сучасних систем верифікації реконфігуровних пристроїв на основі програмовних логічних інтегральних схем (ПЛІС) таких відомих фірм, як Virtual Computer Corporation (HOT), Nallatech (FUSE), Aptix (System Explorer), Xilinx (XtremeDSP Development Kit). Дані системи, що реалізують інтеграцію реконфігуровної плати та інструментальних засобів проектування, є засобом для проектування, оцінки, настроювання і макетування проектів, які використовують кристали ПЛІС та інші елементи як обчислювальні елементи системи.

Ключові слова: ПЛІС, реконфігуровні пристрої, верифікація.

Аннотация: Выполнен анализ принципов построения и функционирования современных систем верификации реконфигурируемых устройств на основе программируемых логических интегральных схем (ПЛИС) таких известных фирм, как Virtual Computer Corporation (HOT), Nallatech (FUSE), Aptix (System Explorer), Xilinx (XtremeDSP Development Kit). Данные системы, реализуя интеграцию конфигурируемой платы и инструментальных средств проектирования, являются средством для оценки, настройки и макетирования проектов, которые используют кристаллы ПЛИС и другие компоненты в качестве вычислительных элементов системы.

Ключевые слова: ПЛИС, реконфигурируемые устройства, верификация.

1. Введение

Реконфигурируемая обработка данных (reconfigurable computing), является новейшей технологией, которая использует кристаллы ПЛИС типа FPGA (Field Programmable Gate Array) для аппаратной реализации алгоритмов [1]. В отличие от традиционной фон-Неймановской архитектуры, обеспечивающей универсальное решение для всех алгоритмов, архитектура, основанная на кристаллах FPGA, позволяет разработчику проектировать структуру для каждого отдельного алгоритма. Логическая плотность или количество вентилей кристаллов FPGA определяет, какой сложности алгоритм может быть реализован. Алгоритм может также быть разбит на фрагменты, которые многократно передаются в то же самое устройство, приводя к технике, называемой реконфигурацией во время выполнения. Таким образом, технология “reconfigurable computing” представляет изменение парадигмы в проектировании компьютера. Кроме того, линия раздела между программируемыми процессорами и кристаллами FPGA становится менее различимой: современные кристаллы FPGA (серии Virtex II-Pro) включают увеличенную локальную память, аппаратные умножители, которые являются стандартными составляющими современных микропроцессоров, а также аппаратные ядра RISC процессоров PowerPC [2].

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

Проблема объединения аппаратных и программных средств является более значимой, чем увеличение логической плотности и расширение области приложений. В отличие от систем проектирования прошлого новые платформы должны удовлетворять потребностям и навыкам специалистов - инженеров-разработчиков аппаратных и программных средств.

Использование таких платформ делает возможным верификацию проектов в реальном масштабе времени за счет объединения разрабатываемых аппаратных средств системы с окружающей средой. Барьеры между аппаратными и программными средствами начинают стираться, так как программное обеспечение позволяет конфигурировать аппаратные средства во время его работы. Такая технология разработки объектных аппаратных средств предоставляет проектировщику возможность работы с проектами, написанными на стандартном языке программирования “C”, и загрузки этих проектов соответствующей прикладной программой, используемой как функция языка “C” [3]. Уникальное свойство реконфигурируемости позволяет в реальном времени эффективно выполнять отладку цифровых проектов.

2. Системы цифрового проектирования HOT

Фирма Virtual Computer Corporation (VCC) [4] на основе системного подхода объединила современную технологию проектирования реконфигурируемых компонент с набором современных инструментальных средств программного обеспечения в единую систему цифрового проектирования - Hardware Object Technology (HOT). Эта система совместного проектирования программного и аппаратного обеспечения содержит все компоненты, необходимые для реализации конфигурируемой обработки данных в одном пакете.

Используя языки HDL (hardware description languages), систему HOT и сопроцессорные платы со встроенным контроллером шины PCI, проектировщик может использовать механизм “reconfigurable computing” для ускорения верификации алгоритма, эмуляции проекта и быстрого моделирования. Верификация проектов в реальном масштабе времени использует реальные данные при конфигурировании аппаратных средств.

Система проектирования HOT II является средством для оценки, моделирования и макетирования проектов, использующих кристаллы FPGA в качестве вычислительного элемента, встроенный программируемый таймер и другие элементы системы (структура приведена на рис. 1). Комбинация этих элементов доступна через системную инициализацию аппаратных и программных средств пользовательского проекта. Менеджер конфигураций (Configuration Cache Manager - CCM) позволяет включать аппаратные средства проекта в программу прикладного программного обеспечения и динамически загружать проект во время выполнения программы.

Интерфейс HOT II реализует интерфейс шины PCI, контроллер которой формируется с помощью генератора LogiCORE и загружается в FPGA, а также специальный внутренний интерфейс VCC - HOS (Hardware Operating System Interface) для связи с двумя полностью независимыми 32-разрядными банками памяти и CCM. CCM может конфигурировать FPGA из двух источников памяти конфигурации, имеющихся на плате, - Flash и RAM.

PCI Bus

Рис. 1. Структура системы HOT I

Во время реконфигурации доступ к плате запрещен драйвером. Cache - память конфигураций объемом 128 КБ может поддерживать до 3 конфигураций кристалла, при этом пользователь имеет возможность загружать память конфигурации через шину PCI. Файл конфигурации проекта преобразуется в код программного элемента, загружаемого в плату HOT II командами прикладной программы. PCI плата HOT II имеет две независимые шины (каждая из которых содержит 32 разряда данных и 24 разряда адреса). Для каждой из этих двух шин имеется коннектор ввода-вывода.

Стандартная конфигурация HOT2 содержит кристалл серии Spartan XCS40-4, включающий контроллер шины PCI и пользовательскую конфигурируемую часть; кристалл XC95108-15 для пользовательских реализаций; быстродействующую память SRAM объемом 1МБ, организованную как два независимых 32-битовых банка; Flash - память конфигурации (128КБ); Cache - память конфигурации (128КБ); внешние разъемы для плат расширения. На плате имеются источники питания напряжением 3,3В и 5В.

Расширенная конфигурация HOT2 -XL содержит кристалл XC4062XLT-1 (вместо кристалла XCS40-4); быстродействующую память SRAM (4МБ), организованную как два независимых 32 -битовых банка; Flash - память конфигурации (2МБ); Cache - память конфигурации (512КБ). Остальные параметры аналогичны стандартной версии.

Виртуальные инструментальные средства - Virtual Workbench (VW) предназначены для ускоренной реализации новых проектов на кристаллах FPGA семейства Virtex фирмы Xilinx. Стандартная конфигурация (VW-300) содержит пользовательский кристалл XCV-300; кристалл XC9500, служащий в качестве контроллера конфигураций; Flash - память объемом 2МБ; память SDRAM объемом 64МБ.

Инструментальным средствам проектирования для кристаллов Virtex доступны асинхронный последовательный порт RS-232; восемь знаковых индикаторов (Character Display); восьмипозиционные DIP-переключатели; восемь светодиодов; JTA-коннектор; рабочее место для макетирования; 10 разъемов для ввода-вывода или плат расширения, которые реализуют аналого-

цифровое или цифро-аналоговое преобразование, а также каналы связи между отдельными компонентами.

3. Моделирующая система System Explorer

Изделия фирмы Aptix включают семейство System Explorer - реконфигурируемых эмулирующих систем, набор дополнительных моделирующих аппаратных средств и комплект программного обеспечения [5, 6]. С помощью реконфигурируемых аппаратных средств имеется возможность создания высокоэффективной функциональной модели проекта "система в кристалле" - SoC (System-on-Chip). Имеются две модели аппаратных средств System Explorer - MP3C и MP4. Обе модели используют методологию блочного моделирования, с помощью которой пользователь создает реконфигурируемый опытный образец своей системы на базе кристаллов FPGA и других системных компонентов. Модель MP3C обеспечивает максимальные возможности для обработки потоков данных конвейерного типа и принята в качестве платформы для верификации цифровых систем. Архитектура модели MP4 предназначена для проектов с более сложными типами данных, например, сетевых систем и мультимедиа. Комплект инструментального программного обеспечения APTIX служит для выполнения и проверки проектов пользователей на платформах MP3C и MP4. В качестве диалогового иерархического инструмента для группирования списка соединений между FPGA и другими компонентами системы используется утилита Logic AggreGATEr. Программное обеспечение Explorer формирует список соединений для принятой платформы MP3C/MP4, конфигурирует модель и обеспечивает автоматизированную отладку аппаратных средств. В состав дополнительных моделирующих аппаратных средств входят 11 модулей, представляющих собой кристаллы Virtex 2000E фирмы Xilinx, кристалл FLEX 10K250 фирмы Altera, платы расширения памяти различных объемов, аналого-цифровой и цифроаналоговый преобразователи, кабели, соединители и т.д.

Семейство изделий System Explorer построено на двух ключевых дополняющих друг друга технологиях, реализованных соответственно в виде программируемой пользователем схемной платы (Field Programmable Circuit Board - FPCB) и программируемого пользователем компонента коммутации (Field Programmable Interconnect Component - FPIC).

FPIC представляет собой программируемый кристалл в 1024-контактном корпусе, обеспечивающий до 1000 доступных внешних соединительных точек. Данный кристалл реализует двунаправленные сигнальные цепи. При этом временная задержка между контактами вход-выход составляет всего 5нс. Он идеально подходит для разработки макетных и опытных образцов, когда для проверки новых схемных идей требуется динамическая внутрисистемная реконфигурация.

Схемная плата FPCB обеспечивает программируемые межсоединения между блоками (кристаллами) проекта. FPCB реализует принцип модульной компоновки, заключающийся в том, что блоки системы, представленные компонентами на платах расширения, включаются в конфигурируемое поле на FPCB. Конфигурируемое поле представляет собой набор соединительных панелей (socket), предназначенных для соединения модулей FPGA и компонентов системы между собой. Каждый вывод соединительной панели соединен с одним из выводов

кристалла FPIC, программирование которого определяет соединения между макетируемыми компонентами.

Изделия фирмы Aptix используют структурные описания блоков на системном уровне и список соединений ASIC на вентильном уровне для преобразования элементов системы в стандартные компоненты FPGA. Программное обеспечение Aptix генерирует данные для программирования макетируемого образца, а также управляет интерфейсами с отладочными инструментами, такими как логические анализаторы. Система Explorer совместима как с внутренней методологией проектирования заказчика, так и с системами автоматизированного проектирования электронных изделий (ESDA), а также набором различных средств синтеза.

Модульная методология верификации, поддерживаемая системой, предполагает создание прототипа, что упрощает отладку и оперативную реализацию изменений проекта. Иерархическая организация прототипа проекта создается по принципу "блок за блоком".

Отображение проектов на логику FPGA выполняется посредством программного обеспечения Design Pilot (рис. 2). Design Pilot отображает заказную логику на целевой кристалл FPGA с автоматическим иерархическим блочным разделением и последующим группированием. Допускается непосредственное управление отображением логики с помощью графического

интерфейса пользователя (GUI).

Программное обеспечение Explorer 2000 отображает проект в физические компоненты системы макетирования и автоматически устанавливает связи верхнего уровня иерархии с помощью FPIC-кристаллов. Реализация заказной логики в FPGA осуществляется как путем автоматического синтеза проекта, так и выбором имеющихся в наличии ядер типа CPU, DSP, блоков или микросхем памяти. Прототип автоматически конфигурируется с учетом обеспечения требований проекта SoC.

Рис. 2. Отображение иерархического проекта

После конфигурирования прототипа Explorer 2000 автоматизирует аппаратную отладку.

Система Explorer включает также интерфейс моделирования с пакетом ModelSim (язык описания Verilog/VHDL). Разработчики могут размещать макетируемые модули в системе и комбинировать (объединять) модули FPGA с другими компонентами, включая IP блоки. Схемы, макетируемые в системе Explorer, обычно работают на частотах от 5 до 20 МГц, что позволяет выполнять верификацию практически в реальном масштабе времени для многих применений. Быстродействие шины и системы ввода-вывода может достигать 50 МГц или выше. Отладка частей

аппаратных средств проекта выполняется с помощью имеющегося в наличии логического

анализатора.

Отладка программного обеспечения реализуется путем использования внутрисхемной эмуляции. Конфигурируемые проекты используют программное обеспечение Logic AggreGATEr для иерархического отображения файлов проектирования, выполненных на языке Verilog или

представленных в форматах EDIF и XNF, в макетируемые элементы.

Платформа MP3CF. Система Explorer MP3CF оптимизирована для макетирования DSP-подобных проектов с конвейерной организацией и умеренными требованиями для связей между макетируемыми компонентами.

Архитектура MP3CF обеспечивает максимальные характеристики для прототипов, включающих компоненты макетирования типа CPU, DSP, карты памяти и другие с предопределенными контактами.

Платформа MP3CF эффективно

используется для построения

быстродействующих прототипов устройств

беспроводной связи и обработки цифровых изображений. Архитектура межсоединений показана на рис. 3. Поле макетирования имеет 1920 контактных точек с программируемыми связями и в настоящее время поддерживает до 12 FPGA.

Рис. 3. Архитектура соединений системы Explorer MP3CF

Платформа MP4CF (рис. 4) оптимизирована для целей макетирования систем и устройств, имеющих большую ширину внутренних шин и большую длину связей. Архитектура MP4CF

обеспечивает максимальную гибкость для

прототипов, включающих большее, по сравнению с MP3CF, число FPGA и только несколько компонентов макетирования с предопределенными контактами (типа CPU или DSP).

Платформа MP4CF используется для построения прототипов сетевых систем и мультимедиа.

Рис. 4. Архитектура соединений системы Explorer MP4CF

Поле макетирования имеет 2880 соединительных точек с программируемыми связями и поддерживает до 20 FPGA.

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

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

Значимость блочной методологии макетирования состоит в том, что она интуитивно сопоставляет параллели процесса создания проекта, который используется большими группами проектировщиков, обеспечивает механизм итерационного отображения и верификации проектных блоков по отношению к прототипу и параллельно с процессом разработки проекта, а сам 1Р проект допускает многократное использование для БоО.

4. Система FUSE

Ускорить процесс разработки проектов можно посредством использования специализированного языка DIME script, обеспечивающего взаимодействие с окружающей средой при

реконфигурируемой обработке [7]. Этот язык

поддерживается программным

обеспечением для изделий фирмы Nallatech через систему FUSE (Field Upgradeable Systems Environment), как показано на рис.5.

DIME script содержит простой набор команд, который сокращает набор аппаратных средств при использовании сложных интерфейсов программирования.

Рис. 5. Архитектура системы проектирования и верификации

“Plug&Play” программное обеспечение системы обеспечивает гибкость и масштабируемость управления и конфигурации кристаллов FPGA на модулях и материнских платах. Обмен данными между материнской платой и Host компьютером реализуется рядом интерфейсов, таких, как GUI и API (Application Programming Interface).

Мощный интерфейс API допускает быструю разработку прикладного программного обеспечения для систем на основе FPGA. Система FUSE поддерживает широкий диапазон языков через доступные интерфейсы API, включая C/C++, Java, MATLAB и DIME script. FUSE обеспечивает связь между основными средствами разработки, такими, как VHDL для FPGA и C++ для DSP-

процессоров с инструментальными средствами высокого уровня, такими, как System C, System

Generator для MATLAB, непосредственно MATLAB и Handel C Celoxica.

Масштабируемое семейство изделий DIME-II включает материнские платы, модули расширения, программируемое оборудование и программное обеспечение.

Программное обеспечение FUSE фирмы Nallatech совместимо с операционными системами Windows, Linux и VxWorks.

Система FUSE предназначена для использования в следующих приложениях:

- реконфигурируемые вычислительные системы;

- системное тестирование / отладка платформ DIME;

- разработка прикладного программного обеспечения для FPGA-приложений;

- непосредственная интеграция аппаратных средств и программного обеспечения для реконфигурируемых компьютеров на базе кристаллов FPGA.

Интегрированная среда разработки IDE (Integrated Development Environment) представляет собой средство взаимодействия с системой FUSE. Применяя IDE, пользователь имеет возможность обнаружить любые FUSE - совместимые платы в системе и осуществить просмотр / конфигурирование логических ресурсов кристаллов на плате, используя средства FPGA Explorer. Система FUSE допускает формирование на материнской плате DIME / DIME-II следующих конфигураций кристаллов:

- одного пользовательского кристалла FPGA;

- всех кристаллов FPGA на материнской плате и кристаллов FPGA на любых модулях, подключаемых к материнской плате;

- всех кристаллов FPGA на множестве материнских плат в системе и всех кристаллов FPGA на модулях, закрепленных за этими материнскими платами.

Материнские платы поддерживаются любой версией FUSE (для Windows, Linux или VxWorks) в зависимости от индивидуальных требований.

Плата BenNUEY обеспечивает доступ к масштабируемой системе модуля DIME-II. Пользовательский кристалл Virtex-II предназначен исключительно для проектов пользователя. Второй кристалл (Spartan-II) обеспечивает предварительное конфигурирование программируемого оборудования (контроллер шины PCI). Плата BenNUEY имеет высокий уровень связности между кристаллами FPGA и тремя слотами модуля DIME, которые обеспечивают гибкую возможность расширения за счет подключения стандартных модулей. Это дает возможность создавать полностью заказные системы на базе кристаллов FPGA с использованием стандартных изделий.

Модуль BenPRO как часть масштабируемого семейства DIME-II может быть легко интегрирован в системы с помощью материнских плат DIME-II, программного обеспечения и программируемого оборудования. Модуль BenPRO содержит кристаллы Virtex-II PRO (XC2VP7 или XC2VP20), которые имеют встроенные PowerPC-процессоры, допуская, таким образом, что один DIME-II модуль включает до 4 аппаратных процессоров. Он может обеспечивать ширину полосы частот ввода-вывода порядка 25 Гбит/сек, используя до 4 приемопередатчиков ввода-вывода типа Rocket в дополнение к стандартному вводу-выводу. Для поддержки промежуточных данных и памяти программ включены 2 быстродействующих банка памяти (DDR SDRAM или ZBT SRAM). Это дает возможность выбрать подходящую архитектуру памяти для алгоритма или требуемую архитектуру платформы.

DIME-II предоставляет возможность пользователям жестко соединить 4 модуля BenPRO на cPCI-плате типа BenERA, обеспечивающей 8 PowerPC-процессоров на одной плате. С применением FUSE эта система может быть расширена до нескольких плат, что приводит к безграничному числу процессоров в пределах всей системы.

5. Система XtremeDSP

Фирмами Xilinx и Nallatech представлена система XtremeDSP Development Kit для высокоэффективной разработки систем DSP [8], которая служит профессиональной платформой разработки проектов на базе кристаллов Virtex-II. Данная система содержит платформу разработки аппаратных средств, программные средства FUSE фирмы Nallatech, источники питания и кабели. XtremeDSP Kit включает инструментальные средства типа MATLAB/SIMULINK фирмы MathWorks, System Generator для DSP, а также пакеты программного обеспечения: ISE фирмы Xilinx, Synplify

Pro фирмы Synplicity и FPGA Advantage фирмы Mentor Graphics. Блок - схема процесса

проектирования представлена на рис. 6.

Данная платформа содержит сдвоенные 14-разрядные ЦАП, работающие с

быстродействием до 160 Megasamples/sec (MSPS), сдвоенные 14разрядные АЦП, работающие с быстродействием до 65MSPS, что обеспечивает высокоэффективную цифровую обработку сигналов на базе кристаллов FPGA. Интерфейс с платформой аппаратных средств реализуется через шины PCI или USB с предоставлением

возможности пользователю выбора интерфейса.

System Generator для программного обеспечения DSP платформы

System Generator (разработан совместно фирмами Xilinx и MathWorks) позволяет автоматически переносить модели, созданные в среде MATLAB/Simulink, в среду физического синтеза проектов для FPGA [9]. Использование System Generator сокращает путь от концепции проекта до работающих аппаратных средств благодаря следующим свойствам:

1. Простота. Проекты представляются на соответствующем уровне абстракции. Изменения в проекте автоматически транслируются в соответствующие изменения транслируемых блоков.

2. Гибкость. Модели потоков данных, традиционные языки описания аппаратных средств (VHDL и Verilog) и функции, полученные на основе языка программирования MATLAB, могут моделироваться вместе и синтезироваться в аппаратные средства.

3. Быстродействие. Моделирование с помощью System Generator выполняется значительно быстрее, чем на традиционных HDL-симуляторах. При этом результаты более прозрачны для анализа.

4. Мощность. System Generator реализован в рамках системы Simulink (фирма MathWorks) и является расширением набора инструментальных средств Simulink и MATLAB. System Generator включает поддержку для ModelSim, которая разрешает пользователям импортировать HDL-код и

Рис.6. Блок-схема процесса верификации DSP - приложений

предоставляет возможность проектировщику аппаратных средств реализовать моделирование на системном уровне.

5. Точность. Результаты моделирования точно отражают те ошибки, которые могут иметь место в аппаратных средствах.

System Generator предоставляет набор блоков, реализованный в виде функций, в состав которого входят параметризованные модули математических, логических и DSP-функций, модули для взаимодействия с Simulink, специальные конструкции для работы с программным обеспечением Xilinx. При помощи утилит Netlister и Mapper, Simulink модель транслируется в VHDL -описание.

System Generator также содержит Testbench Generator, который позволяет формировать из тестовых воздействий и реакций моделируемого объекта тестовые векторы для VHDL-симулятора.

Пакет проектирования ISE фирмы Xilinx содержит средство синтеза функциональных блоков высокого уровня (IP-ядер) COREGen, которое позволяет автоматически генерировать широкий спектр функциональных узлов: от сумматоров и счётчиков до цифровых фильтров и блоков спектрального анализа. Выходные данные генератора представлены в формате EDIF и описанием ядра на языке VHDL/Verilog и/или в виде макроэлемента для САПР Xilinx Foundation. Все модули COREGen оптимизированы под архитектуру используемого кристалла ПЛИС.

Доступные эталонные тесты показывают, что быстродействие проектов на базе кристаллов FPGA серии Virtex-II примерно в 100 раз выше, чем быстродействие промышленных процессоров DSP. В результате один кристалл FPGA может заменить несколько процессоров DSP. В табл. 1 приведены сравнительные характеристики по быстродействию при реализации некоторых блоков DSP стандартными средствами и на основе кристаллов серии Virtex.

Таблица 1. Сравнительные оценки по быстродействию

Функция Быстродействие

Промышленное быстродействующее ядро процессора DSP Проект на базе кристалла Virtex-E-08 Проект на базе кристалла Virtex-II

Умножение с накоплением (8х8 бит) за секунду. Multiply and accumulate per second (MAC). (млрд.) 4,4 128 600

FIR фильтр: 256 - ответвлений с линейной фазой 16-битовые данные и коэффициенты Mega-samples/sec (MSPS) 17 160 180

FFT-1024 точки (16-битовые комплексные числа) (мкс) 7,7 4,1 <1

Одним из широко используемых средств верификации является пакет ChipScope Pro, разработанный фирмой Xilinx [10], который состоит из трех модулей: ChipScope Pro Core Generator, ChipScope Pro Core Inserter и ChipScope Pro Analyzer, обеспечивающих проверку кристаллов серий Virtex, Virtex-E, Virtex-I I, Virtex-II Pro, Spartan-II, Spartan-IIE и Spartan-111. Взаимодействие PC и верифицируемого кристалла [11] осуществляется через порт JTAG (IEEE Std. 1149.1).

На рис. 7 представлена блок-схема соединения PC с верифицируемым кристаллом [2].

Назначение модулей ChipScope Pro

Core Generator предназначен для формирования списков цепей и шаблонов (функций), которые генерируют исходные коды для определенного набора входных параметров ядер (готовых

технических решений), к которым относятся:

- интегрированный контроллер (Integrated Controller) - ICON;

- интегрированный логический анализатор (Integrated Logic Analyzer) с трассировщиком ядра (Agilent Trace Core) - ILA/ATC;

- интегрированный шинный

анализатор

для шины IBM CoreConnect On-Chip Peripheral Bus-IBA/OPB;

- интегрированный шинный

анализатор

для шины CoreConnect Processor Local Bus-IBA/PLB;

Рис. 7. Блок-схема соединения PC с верифицируемым кристаллом

- виртуальный вход/выход (Virtual Input/Output - VIO).

Core Inserter автоматически включает ядра ICON, ILA и ILA/ATC в синтезируемый пользователем проект.

Analyzer обеспечивает конфигурирование кристалла, начальную установку и индикацию выполнения программ при работе с ядрами ILA, ILA/ATC, IBA/OPB, IBA/PLB и VIO. Ядро ICON связано со специальными выводами системы периферийного сканирования.

Пользователь имеет возможность с помощью Core Generator сформировать ядра ICON, ILA, ILA/ATC, IBA/OPB, IBA/PLB и VIO и затем разместить полученные блоки в проекте. В результате чего будет сгенерирован код HDL. Возможно также включение ядер ICON, ILA и ILA/ATC непосредственно в список цепей синтезируемого проекта с помощью программы Core Inserter. Далее выполняются процедуры компоновки и трассировки проекта в кристалле, которые реализуются средствами системы Xilinx ISE Foundation. Пользователь может загрузить сформированный файл конфигурации с блоками проверки в кристалл и провести анализ проекта с помощью программы ChipScope Pro Analyzer.

В рамках XtremeDSP инициативы для ускорения процесса разработки и макетирования систем в области DSP фирма Xilinx сотрудничает с многочисленными партнерами, используя разработанные ими платформы на базе кристаллов ПЛИС. Например, ADM-XRC, ADC-RC фирмы Alpha Data Parallel Systems; Wildcard, Firebird фирмы Annapolis Micro Systems; AVR32/BVR32 фирмы Delanco Spry; Chameleon фирмы Catalina Research; Dime / Dime-II фирмы Nallatech.

6. Выводы

Рассмотренные системы предназначены для совместного проектирования программного и аппаратного обеспечения. Они содержат аппаратную часть (реконфигурируемые платы) и комплекс инструментальных программных средств, необходимых для верификации проектов методом моделирования. Интеграция реконфигурируемой платы и инструментальных средств проектирования создает удобную платформу для отладки и доработки аппаратных и программных средств. Использование таких платформ делает возможным верификацию проектов в реальном масштабе времени за счет объединения разрабатываемых аппаратных средств системы с внешней средой. Используя заказные специализированные платы расширения, можно добавлять как цифровые (увеличение логической сложности проекта), так и аналоговые компоненты к системе (расширение функциональных возможностей).

Большинство систем рассматриваемого класса поддерживают широкий диапазон языков через доступные интерфейсы и обеспечивают связь между основными средствами разработки, такими, как VHDL для FPGA и C++ для DSP-процессоров с инструментальными средствами высокого уровня, System C, System Generator для MATLAB, непосредственно MATLAB и Handel C Celoxica. Их возможности простираются до полной интеграции с инструментальными средствами высокоуровневого проектирования на кристаллах ПЛИС, протоколов промышленного стандарта и прикладного программного обеспечения пользователя.

В табл. 2 приведены основные свойства систем HOT, System Explorer, FUSE и Xtreme DSP, имеющих как общие, так и отличительные признаки, относящиеся к возможности модулей расширения, интерфейсу, наличию программируемых матриц связи, программному обеспечению. В таблице также приведены области применения указанных систем.

Система HOT в качестве модулей расширения содержит сопроцессорные платы со встроенным контроллером шины PCI, а также инструментальные средства для отладки проекта путем непосредственной модификации файла конфигурации. Отладка проекта производится в реальном масштабе времени под управлением программ, использующих язык “C”. Система применяется в Reconfigurable Computing, а также при модификации проектов FPGA через сеть Интернет.

System Explorer в качестве аппаратных средств содержит модули, представляющие собой кристаллы ПЛИС, платы расширения памяти, АЦП, ЦАП. В кристаллы ПЛИС производится загрузка IP-модулей, выполняющих функции обработки данных, цифровой обработки сигналов и т.д. Связь верифицируемых модулей с рабочей станцией (host-компьютером) осуществляется через PCI-интерфейс и интерфейсный кабель типа LVDS с высокой пропускной способностью. Соединение модулей между собой производится с помощью программируемых компонент FPCB и EPIC. Программное обеспечение содержит ряд компонентов, к которым относятся Logic AggreGATEr, Design Pilot, Explorer 2000. Система используется для верификации проектов, разрабатываемых в качестве SoC для DSP, Multimedia, Network System.

Тип системы (фирма-изготовитель) Модули расширения Интерфейс Программируемые матрицы связей Программное обеспечение Область применения

HOT (VCC) + PCI - C Recofigurable Computing, модификация проектов FPGA через Интернет

System Explorer (Aptix) + PCI, LVDS* FPCB + EPIC Logic AggreGATEr, Design Pilot, Explorer 2000 DSP, Multimedia, Network System, SoC

FUSE (Nallatech) + PCI, Compact PCI - C/C++, Java, MatLab, DIME Script Recofigurable Computing

Xtreme DSP (Xilinx + Nallatech) - PCI, USB - MatLab & Simulink, System Generator, ChipScopePro DSP, Multimedia

LVDS - Low-voltage differential signaling.

Система FUSE содержит материнские платы с модулями расширения, на которые

устанавливаются кристаллы ПЛИС. Связь аппаратуры с host-компьютером осуществляется через интерфейсы PCI или Compact PCI. Система поддерживает широкий диапазон языков через доступные интерфейсы API, включая C/C++, Java, MATLAB и DIME script. Используется во многих приложениях, связанных с Recofigurable Computing.

Система Xtreme DSP содержит платформу разработки аппаратных средств и программные средства FUSE фирмы Nallatech. Интерфейс с платформой аппаратных средств реализуется через шины PCI или USB. В состав программных средств входят инструментальные средства

MATLAB/SIMULINK фирмы MathWorks, System Generator для DSP, а также пакеты программного обеспечения, обеспечивающие разработку и верификацию проектов в кристаллах ПЛИС. Система используется для верификации проектов в области DSP и Multimedia.

Наиболее мощной, среди рассмотренных, представляется система XtremeDSP Development Kit для высокоэффективной разработки DSP, содержащая средства верификации - пакет

ChipScope Pro, разработанный фирмой Xilinx. Система System Explorer фирмы Aptix включает в свой состав мощные программируемые средства коммутации, реализованные соответственно в виде программируемой пользователем схемной платы FPCB и программируемого пользователем компонента коммутации FPIC.

Выполненный анализ позволяет сделать вывод, что в настоящее время не существует единой системы для верификации проектов, реализуемых для различных областей применения. Так, если система System Explorer фирмы Aptix поддерживает широкий спектр проектов в таких областях, как средства цифровой обработки данных, мультимедиа и т.д., то система XtremeDSP, представленная фирмами Xilinx и Nallatech, является более специализированной. Эта система позволяет учитывать как различные аспекты предметной области (цифровая обработка сигналов), так и возможности архитектуры кристаллов, используемых для реализации проектов. К

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

СПИСОК ЛИТЕРАТУРЫ

1. Villasenor J., Mangione-Smith W.H. Configurable Computing // Available at http: // www.vcc.com/.

2. Virtex-II Pro Platform FPGA. Handbook / UG012 (v1.0) // Xilinx Inc. - 2002. - January 31. - 588 p.

3. Johnson D. Architectural synthesis from behavioral C code to implementation in a Xilinx FPGA // Xcell, Xilinx Inc. -2000. - N 36. - P. 22 - 25.

4. Schewel J. A Hardware / Software Co-Design System using Configurable Computing Technology // Available at http: // www.vcc.com/.

5. Bursky D. Denser, faster FPGAs vie for gate-array application // Electronic Design. - 1993. - Vol. 41, N 11. - P. 55

- 75.

6. Block-based prototyping methodology. White paper // Available at http: // www.aptix.com/.

7. DIME A New Module Standard with an FPGA Focus // Available at http: // www.nallatech.com/.

8. XtremeDSP Initiative. Technical Backgrounder // Xilinx Inc. - 16 p. // Available at http: // www.xilinx.com/dsp.

9. System Generator for DSP // Available at http: // www.xilinx.com/.

10. ChipScope Pro Software and Cores. User Manual (ChipScope Pro Software v5.2i) / UG029 (v5.2). - 2003. -March 6. - 150 p.

11. Pavesi M. FlexBench Tool Suite Relies on Xilinx Silicon and Software // Xcell, Xilinx Inc. - 2002. - N 42. - P. 5154.