Источник: http://www.chipnews.ru/html.cgi/arhiv/99_08/stat_2.htm

В.Стешенко

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

Занятие 1. Обзор элементной базы

Идея написания данного цикла статей назревала в течение последних двух–трёх лет, когда для многих разработчиков аппаратуры ЦОС стало ясно, что программируемые логические интегральные схемы (ПЛИС) — удобная в освоении и применении элементная база, альтернативы которой зачастую не найти. Последние годы характеризуются резким ростом плотности упаковки элементов на кристалле, многие ведущие производители либо начали серийное производство, либо анонсировали ПЛИС с эквивалентной ёмкостью более 1 млн. логических вентилей. Цены на ПЛИС (к сожалению, только лишь в долларовом эквиваленте) неуклонно падают. Так, ещё год–полтора назад ПЛИС ёмкостью 100 000 вентилей стоила в Москве, в зависимости от производителя, приёмки и быстродействия, от 1500 до 3000 у.е., а сейчас такая микросхема стоит от 100 до 350 у.е., то есть цены упали практически на порядок, и эта тенденция устойчива. Что касается ПЛИС ёмкостью 10 000 – 30 000 логических вентилей, то появились микросхемы стоимостью менее 10 у.е.

Такая ситуация на рынке вызвала волну вопросов, связанных с подготовкой специалистов, способных проводить разработку аппаратуры цифровой обработки сигналов на ПЛИС, владеющих основными методами проектирования и ориентирующимися в современной элементной базе и программном обеспечении. Идя навстречу многочисленным пожеланиям предприятий, заинтересованных в подготовке молодых специалистов, владеющих современными технологиями, на кафедре СМ5 “Автономные информационные и управляющие системы” МГТУ им. Н.Э. Баумана в программу четырёхсеместрового курса “Схемотехническое проектирование микроэлектронных устройств” включён семестровый раздел “Проектирование аппаратуры обработки сигналов на ПЛИС”, на основе лекционных и семинарских материалов которого и выходит этот цикл статей.

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

Конечно, в рамках одной статьи практически невозможно дать описание даже одного семейства микросхем, да, в общем, такая задача и не ставится. Цель этого занятия в нашей школе — помочь разработчику, стоящему на пороге освоения новой элементной базы для реализации алгоритмов ЦОС, выбрать наиболее пригодную для решения его задачи элементную базу. Кроме того, учитывая реалии посткризисной (или кризисной?) России, нельзя не забывать о стоимости перехода на новую технологию, которая определяется не только стоимостью микросхем.

Приведём известную классификацию ПЛИС [1,2] по структурному признаку, так как она даёт наиболее полное представление о классе задач, пригодных для решения на той или иной ПЛИС. Следует заметить, что общепринятой оценкой логической ёмкости ПЛИС является число эквивалентных вентилей, определяемое как среднее число вентилей “2И-НЕ”, необходимых для реализации эквивалентного проекта на ПЛИС и базовом матричном кристалле (БМК). Понятно, что эта оценка весьма условна, поскольку ПЛИС не содержат вентилей “2И-не” в чистом виде, однако для проведения сравнительного анализа различных архитектур она вполне пригодна. Основным критерием такой классификации является наличие, вид и способы коммутации элементов логических матриц. По этому признаку можно выделить несколько классов ПЛИС.

Программируемые логические матрицы — наиболее традиционный тип ПЛИС, имеющий программируемые матрицы “И” и “ИЛИ”. В зарубежной литературе соответствующими этому классу аббревиатурами являются FPLA (Field Programmable Logic Array) и FPLS (Field Programmable Logic Sequensers). Примерами таких ПЛИС могут служить отечественные схемы K556PT1,PT2,PT21. Недостаток такой архитектуры — слабое использование ресурсов программируемой матрицы “ИЛИ”, поэтому дальнейшее развитие получили микросхемы, построенные по архитектуре программируемой матричной логики (PAL — Programmable Array Logic) — это ПЛИС, имеющие программируемую матрицу ”И” и фиксированную матрицу “ИЛИ”. К этому классу относятся большинство современных ПЛИС небольшой степени интеграции. В качестве примеров можно привести отечественные ИС КМ1556ХП4, ХП6, ХП8, ХЛ8, ранние разработки (середина–конец 1980-х годов) ПЛИС фирм INTEL, ALTERA, AMD, LATTICE и др. Разновидностью этого класса являются ПЛИС, имеющие только одну (программируемую) матрицу “И”, например, схема 85C508 фирмы INTEL. Следующий традиционный тип ПЛИС — программируемая макрологика. Они содержат единственную программируемую матрицу “И-НЕ” или “ИЛИ-НЕ”, но за счёт многочисленных инверсных обратных связей способны формировать сложные логические функции. К этому классу относятся, например, ПЛИС PLHS501 и PLHS502 фирмы SIGNETICS, имеющие матрицу “И-НЕ”, а также схема XL78C800 фирмы EXEL, основанная на матрице “ИЛИ-НЕ”.

Вышеперечисленные архитектуры ПЛИС содержат небольшое число ячеек, к настоящему времени морально устарели и применяются для реализации относительно простых устройств, для которых не существует готовых ИС средней степени интеграции. Естественно, для реализации алгоритмов ЦОС они непригодны.

ИС ПМЛ (PLD) имеют архитектуру, весьма удобную для реализации цифровых автоматов. Развитие этой архитектуры — программируемые коммутируемые матричные блоки (ПКМБ) — это ПЛИС, содержащие несколько матричных логических блоков (МЛБ), объединённых коммутационной матрицей. Каждый МЛБ представляет собой структуру типа ПМЛ, то есть программируемую матрицу “И”, фиксированную матрицу “ИЛИ” и макроячейки. ПЛИС типа ПКМБ, как правило, имеют высокую степень интеграции (до 10000 эквивалентных вентилей, до 256 макроячеек). К этому классу относятся ПЛИС семейства MAX5000 и MAX7000 фирмы ALTERA, схемы XC7000 и XC9500 фирмы XILINX, а также большое число микросхем других производителей (Atmel, Vantis, Lucent и др.). В зарубежной литературе они получили название Complex Programmable Logic Devices (CPLD).

Другой тип архитектуры ПЛИС — программируемые вентильные матрицы (ПВМ), состоящие из логических блоков (ЛБ) и коммутирующих путей — программируемых матриц соединений. Логические блоки таких ПЛИС состоят из одного или нескольких относительно простых логических элементов, в основе которых лежит таблица перекодировки (ТП, Look-up table — LUT), программируемый мультиплексор, D-триггер, а также цепи управления. Таких простых элементов может быть достаточно много, например, у современных ПЛИС ёмкостью до 1 млн. вентилей число логических элементов достигает нескольких десятков тысяч. За счёт такого большого числа логических элементов они содержат значительное число триггеров, а также некоторые семейства ПЛИС имеют встроенные реконфигурируемые модули памяти (РМП, embedded array block — EAB), что делает ПЛИС данной архитектуры весьма удобным средством реализации алгоритмов цифровой обработки сигналов, основными операциями в которых являются перемножение, умножение на константу, суммирование и задержка сигнала. Вместе с тем, возможности комбинационной части таких ПЛИС ограничены, поэтому совместно с ПВМ применяют ПКМБ (CPLD) для реализации управляющих и интерфейсных схем. В зарубеж-ной литературе такие ПЛИС получили название Field Programmable Gate Array (FPGA). К FPGA (ПВМ) классу относятся ПЛИС XC2000, XC3000, XC4000, Spartan, Virtex фирмы XILINX; ACT1, ACT2 фирмы ACTEL, а также семейства FLEX8000 фирмы ALTERA, некоторые ПЛИС Atmel и Vantis.

Типичным примером FPGA ПЛИС могут служить микросхемы семейства Spartan фирмы XILINX (рис. 1).

Рис. 1

Множество конфигурируемых логических блоков (Configurable Logic Blocks — CLBs) объединяются с помощью матрицы соединений. Характерными для FPGA-архитектур являются элементы ввода/вывода (input/output blocks — IOBs), позволяющие реализовать двунаправленный ввод/вывод, третье состояние и т. п.

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

Фирма Altera пошла по пути развития FPGA-архитектур и предложила в семействе FLEX10K так называемую двухуровневую архитектуру матрицы соединений (рис. 2).

Рис. 2

ЛЭ объединяются в группы — логические блоки (ЛБ). Внутри логических блоков ЛЭ соединяются посредством локальной программируемой матрицы соединений, позволяющей соединять любой ЛЭ с любым. Логические блоки связаны между собой и с элементами ввода/вывода посредством глобальной программируемой матрицы соединений (ГПМС). Локальная и глобальная матрицы соединений имеют непрерывную структуру — для каждого соединения выделяется непрерывный канал.

Дальнейшее развитие архитектур идёт по пути создания комбинированных архитектур, сочетающих удобство реализации алгоритмов ЦОС на базе таблиц перекодировок и реконфигурируемых модулей памяти, характерных для FPGA-структур и многоуровневых ПЛИС с удобством реализации цифровых автоматов на CPLD-архитектурах. Так, ПЛИС APEX20K фирмы Altera (рис. 3) содержат в себе логические элементы всех перечисленных типов, что позволяет применять ПЛИС как основную элементную для “систем на кристалле” (system-on-chip, SOC). В основе идеи SOC лежит интеграция всей электронной системы в одном кристалле (например, в случае ПК такой чип объединяет процессор, память, и т. д.). Компоненты этих систем разрабатываются отдельно и хранятся в виде файлов параметризируемых модулей. Окончательная структура SOC-микросхемы выполняется на базе этих “виртуальных компонентов” с помощью программ систем автоматизации проектирования (САПР) электронных устройств — EDA (Electronic Design Automation). Благодаря стандартизации в одно целое, можно объединять “виртуальные компоненты” от разных разработчиков.

Рис. 3

Как известно, при выборе элементной базы систем обработки сигналов обычно руководствуются следующими критериями отбора:

Рассмотрим с этих позиций продукцию ведущих мировых производителей ПЛИС, доступную на российском рынке.

Фирма Altera Corporation, (101 Innovation Drive, San Jose, CA 95134, USA, www.altera.com) была основана в июне 1983 года. В настоящее время High-end продуктом этой фирмы является семейство APEX20K, особенности архитектуры которого упоминались выше, а в табл. 1 приведены основные параметры ПЛИС этого семейства.

Таблица 1. Основные характеристики ПЛИС семейства APEX20K фирмы ALTERA

  EP20K100 EP20K160 EP20K200 EP20K300 EP20K400 EP20K600 EP20K1000
Максимальное число эквивалентных вентилей 263 000 404 000 526 000 728 000 1 052 000 1 537 000 2 670 000
Число логических элементов 4 160 6 400 8 320 11 520 16 640 24 320 42 240
Встроенные блоки памяти 26 40 52 72 104 152 264
Максимальный объем памяти, бит 53 248 81 920 106 496 147 456 212 992 311 296 540 672
Число макроячеек 416 640 832 1 152 1 664 2 432 4 224
Число выводов пользователя 252 320 382 420 502 620 780

Кроме того, Altera выпускает CPLD семейств MAX3000, MAX7000, MAX9000 (устаревшие серии специально не упоминаются) и FPGA семейств FLEX10K, FLEX8000, FLEX6000.
Дополнительным фактором при выборе ПЛИС Altera является наличие достаточно развитых бесплатных версий САПР. В табл. 2 приведены основные характеристики пакета MAX+PLUS II BASELINE ver. 9.3 фирмы Altera, который можно бесплатно “скачать” с сайта www.altera.com или получить на CD Altera Digital Library, на котором содержится также и полный набор документации по архитектуре и применению ПЛИС.

Таблица 2. Основные характеристики пакета MAX+PLUS II BASELINE ver. 9.3.

Поддерживаемые устройства EPF10K10, EPF10K10A, EPF10K20, EPF10K30, EPF10K30A, EPF10K30E (до 30 000 эквивалентных вентилей), EPM9320, EPM9320A, EPF8452A, EPF8282A, MAX7000, FLEX6000, MAX5000, MAX3000A, Classic
Средства описания проекта Схемный ввод, поддержка AHDL, средства интерфейса с САПР третьих фирм, топологический редактор, иерархическая структура проекта, наличие библиотеки параметризируемых модулей
Средства компиляции проекта Логический синтез и трассировка, автоматической обнаружение ошибок, поддержка мегафункций по программам MegaCore и AMPP
Средства верификации проекта Временной анализ, функциональное и временное моделирование, анализ сигналов, возможность использования программ моделирования (симуляторов) третьих фирм

Кроме того, ПЛИС фирмы Altera выпускаются с возможностью программирования в системе непосредственно на плате. Для программирования и загрузки конфигурации устройств опубликована схема загрузочного кабеля ByteBlaster и ByteBlasteMV. Следует отметить, что новые конфигурационные ПЗУ EPC2 позволяют программировать с помощью этого устройства, тем самым отпадает нужда в программаторе, что, естественно, снижает стоимость владения технологией.

ПЛИС фирмы Altera выпускаются в коммерческом и индустриальном диапазоне температур.

Компания Xilinx Inc. (2100 Logic Drive, San Jose, CA 95124-3400, USA, www.xilinx.com) была основана в феврале 1984, её High-end продуктом являются ПЛИС семейства Virtex, основные характеристики которых представлены в табл. 3.

Таблица 3. Основные характеристики ПЛИС семейства Virtex фирмы XILINX

  XCV50 XCV100 XCV150 XCV200 XCV300 XCV400 XCV600 XCV800 XCV1000
Максимальное число эквивалентных вентилей 57 906 108 904 164 674 236 666 322 970 468 252 661 111 888 439 1 124 022
Число логических элементов 1 728 2 700 3 888 5 292 6 912 10 800 15 552 21 168 27 648
Максимальный объем памяти, бит 24 576 38 400 55 296 75 264 98 304 153 600 221 184 301 056 393 216
Число выводов пользователя 180 180 260 284 316 404 512 512 512

Архитектура семейства Virtex характеризуется широким разнообразием высокоскоростных трассировочных ресурсов, наличием выделенного блочного ОЗУ, развитой логикой ускоренного переноса. ПЛИС данной серии обеспечивают высокие скорости межкристального обмена — до 200 МГц (стандарт HSTL IV). Кристаллы серии Virtex за счёт развитой технологии производства и усовершенствованного процесса верификации имеют до-статочно низкую стоимость (до 40% от эквивалентной стоимости серии XC4000XL).

Помимо семейства Virtex, Xilinx выпускает FPGA семейств XC3000A, XC4000E, Spartan, XC5200, а также CPLD XC9500 и малопотребляющую серию CoolPLD.

Существует бесплатная версия САПР — WebPACK, поддерживающая CPLD XC9500 и CoolPLD, ввод описания алгоритма с помощью языка описания аппаратуры VHDL.

Следует заметить, что Xilinx существенно обновил модельный ряд как своих ПЛИС, так и программного обеспечения, которое теперь разрабатывается с участием фирмы Synopsys. Для ВУЗов предусмотрены значительные скидки на ПО.

ПЛИС Xilinx выпускаются в коммерческом и индустриальном диапазоне температур с военной (Military) и космической (Space) приёмкой.

Компания Actel Corporation (955 East Arques Avenue, Sunnyvale, CA 94086-4533, USA, www.actel.com) была основана в 1985 году. Особенностью ПЛИС Actel является применение так называемой Antifuse-технологии, представляющей собой создание металлизированной перемычки при программировании. Данная технология обеспечивает высокую надёжность и гибкие ресурсы трассировки, а также не требуется конфигурационное ПЗУ. По этой технологии выпускаются семейства ACT1, ACT2, 1200XL, а также новые семейства 54SX, А40МХ и А42МХ (со встроенными модулями памяти), имеющие хорошие показатели цена/логическая ёмкость (ПЛИС, заменяющая 300–350 корпусов ТТЛ, стоит 10$, при частоте > 250 МГц).

Данные ПЛИС являются хорошей альтернативой БМК при среднесерийном производстве.
Новое семейство ProASIC фирмы Actel обладает ёмкостью до 500 000 эквивалентных логических вентилей. Его отличительной особенностью является энергонезависимость, благодаря применению FLASH-технологии, и наличие интегрированного на кристалле запоминающего устройства.

Для проектирования устройств на ПЛИС фирмой Actel бесплатно (до 31.01.2000) распространяется пакет Actel DeskTOP, содержащий средства ввода проекта, моделирования, генерации тестов разработки VeriBest и средства синтеза разработки Synplicity. Пожалуй, система проектирования Actel DeskTOP является наиболее мощным из всех бесплатных пакетов САПР ПЛИС.

К сожалению, микросхемы Actel, выпускаемые по Antifuse-технологии, требуют применения специального программатора, стоимость которого пока ещё весьма высока. Однако, их отличает высокая надёжность, поэтому они являются весьма перспективной базой для специальных применений. Так, ПЛИС серии RH1280 имеют следующие характеристики:

ПЛИС данного типа были применены в марсоходе в системе управления и обработки изображения цифровой видеокамеры робота-марсохода и в формирователе кадра для передачи информации на Землю. В настоящее время выпущены радиационно-стойкие ПЛИС новых семейств.

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

Итак, мы рассмотрели основные архитектуры ПЛИС и дали обзор их ведущих производителей, представленных своими дистрибьюторами в России. Автор надеется, что материал этого занятия поможет читателю сориентироваться в огромной номенклатуре изделий и фирм, имеющихся на рынке при выборе элементной базы для проектирования новой техники. К счастью, наличие Internet позволяет получить исчерпывающую информацию о новых компонентах, поэтому занятие, посвящённое элементной базе, носит обзорный характер. В следующем занятии мы перейдем к рассмотрению конкретных приёмов проектирования устройств ЦОС с использованием современных средств автоматизированного проектирования на примере пакетов MaxPlus II фирмы Altera и Foundation фирмы Xilinx.

В настоящее время при поддержке центра “Логиче-ские системы” и АО “Гамма” готовится книга с рабочим названием “Цифровая обработка сигналов на ПЛИС ALTERA: элементная база, системы проектирования, языки описания, реализация алгоритмов”. Данный цикл статей представляет анонс книги. Автор будет признателен всем заинтересованным организациям и лицам за замечания и пожелания, способствующие улучшению курса.

Литература

  1. Шипулин С.Н., Храпов В.Ю. Особенности проектирования цифровых схем на ПЛИС // Chip News. — 1996. — № 5. — С. 40–43.
  2. Шипулин С.Н., Храпов В.Ю. Основные тенденции развития ПЛИС // Электронные компоненты. — 1996. — № 3-4. — С. 26.


Кафедра СМ-5 “Автономные информационные и управляющие системы”
МГТУ им. Н.Э. Баумана
107005, Москва, 2-я Бауманская улица, д. 5
Тел. (095) 263-6736,
e-mail: steshenk@sm.bmstu.ru