Тенденции и перспективы развития ПЛИС и их применение при проектировании аппаратуры ЦОС
Последний год тысячелетия — наиболее подходящее время для написания обзоров, подведения итогов и определения перспектив. В данной статье авторы хотели бы в сжатой форме довести до читателя ту информацию, которую приходится собирать из разных источников. Статья является логическим продолжением цикла предыдущих работ авторов [1-5], в числе которых присутствуют как разработчики аппаратуры цифровой обработки сигналов ЦОС на базе программируемых логических интегральных схем (ПЛИС), так и представители фирмы-дистрибьютора этой продукции.
Однако, тенденция...
Неизвестный житель Крайнего Севера
Владимир Стешенко
Сергей Шипулин, Владимир Храпов
Современные алгоритмы обработки сигналов функционально можно разделить на следующие основные классы.
1. Алгоритмы цифровой фильтрации (в том числе алгоритмы нелинейной, оптимальной, адаптивной фильтрации, эвристические алгоритмы, по-линоминальные фильтры [5], алгоритмы фильтрации изображений и др.). Подробная классификация алгоритмов цифровой фильтрации и перспективы путей реализации алгоритмов на ПЛИС приведены в работе [4].
2. Алгоритмы, основанные на применении ортогональных преобразований (быстрые преобразования Фурье, Хартли, Уолша, Адамара; преобразование Карунена — Лоэва и др.).
3. Алгоритмы, реализующие кодирование и декодирование, модуляторы и демодуляторы, в том числе сложных сигналов (псевдослучайных, хаотических и др.).
4. Алгоритмы интерфейсов и стандартных протоколов обмена и передачи данных.
Далее рассмотрим перспективы тех или иных путей реализации алгоритмов ЦОС.
Реализация алгоритмов ЦОС на основе специализированных БИС
Существует целый ряд микросхем и алгоритмов, которые практически являются стандартными и в больших количествах повторяются от разработки к разработке. Примером их могут служить узлы массовых коммуникационных средств, компоненты систем мультимедиа и видеообработки для массовых компьютеров и т. п. К сожалению, все эти чудесные БИС обладают рядом недостатков, сдерживающих их применение в пределах нашего Отечества.
Во-первых, в России практически полностью отсутствует собственное производство и разработка массовых высокотехнологичных средств связи и компонентов вычислительной техники (несмотря на отдельные попытки производить на мощностях ряда предприятий модули памяти, высоким полетом технологии не отличаются). В связи с этим приобрести подобные БИС для апробации практически невозможно. Один из авторов в свое время (в 1995 г.) пытался приобрести в Москве комплект контроллеров интерфейса PCMCI. Несмотря на большое разнообразие заявленных в каталогах изделий различных производителей, реально заказать партию для отработки так и не удалось (о поставке со склада и мечтать было нечего!). Приобрести же специализированный Фурье-процессор или фильтр представляется и вовсе нереальной задачей.
Во-вторых, адаптация стандартных компонентов для обработки сигналов под специализированную задачу требует применения дополнительных схем сопряжения, обвязки, зачастую нестандартных и вновь разрабатываемых, что практически сводит на нет все преимущества специализированных БИС. Изготовление же БИС по заказу практически невозможно из-за высокой стоимости. Широко рекламируемые предприятиями Зеленограда БМК по своим характеристикам отстают от зарубежных аналогов (или прототипов?..) примерно на пять — двадцать лет.
В этой связи достаточно интересными и перспективными к применению в российских условиях представляются БИС, реализующие, с одной стороны, некоторые стандартные протоколы передачи данных, с другой — обладающие достаточной гибкостью и совместимостью на уровне программ со стандартными управляющими или сигнальными процессорами. Подобные БИС производят такие компании, как Giga, Mitel, Teltone, Motorola, Siemens,
Plessey, Zilog, Harris и ряд других (особенно японских и корейских). Некоторые из них имеют дилеров или дистрибьюторов в России. Так, фирма Zilog (www. zilog.com) предлагает довольно широкую номенклатуру БИС для реализации систем передачи и обработки данных, обладающих, с одной стороны, поддержкой специфических функций, характерных для коммуникационных задач, с другой — совместимых по программному коду и интерфейсу со стандартными аппаратными средствами. Данная программа создания БИС получила название Zilog superintegration TM, и в ее рамках разработаны следующие кристаллы:
— Z89C25, который на 80 % совместим по кодам с процессором TMS320C25, содержит ряд дополнительных инструкций для обеспечения функционирования дополнительных устройств, имеет 32-разрядные АЛУ и аккумулятор, 16-разрядный умножитель. На этом же кристалле интегрированы полудуплексный кодек, контроллер протокола V.24, таймеры;
— Z01701, который помимо ядра цифрового сигнального процессора содержит контроллеры протоколов V.17, V.29, V.27, V.21, совместим со спецификациями Т.30 и Т.4, имеет интегрированные фильтры;
— Z80382, обеспечивающий поддержку шины PCMCI, интерфейсов GCI, Plug-and-play, асинхронного последовательного адаптера, а также имеющий встроенное процессорное ядро.
Кроме вышеупомянутых, Zilog выпускает достаточно широкую номенклатуру БИС контроллеров разнообразной периферии со встроенным процессорным ядром. По мнению авторов, применение подобных кристаллов в разработках экспериментальных мелко-и среднесерийных устройств позволит достигнуть высокого эффекта по приемлемой цене. По крайней мере, не придется заниматься изобретением велосипеда в части реализации стандартных протоколов и взаимодействия с собственным ядром обработки сигналов.
Другой класс специализированных БИС, заслуживающий внимания разработчиков, — БИС для реализации специфических алгоритмов, такие как нейрочипы, процессоры для распределенных вычислений, обработки радиолокационной информации и другие. Несмотря на то что их производство и применение находятся в зачаточном состоянии, многие современные алгоритмы реализовать другим путем практически невозможно. Достойным представителем такого плана устройств являются разработки НТЦ «Модуль» (www.module.ru). Разработанный этим коллективом нейропроцессор 1879ВМ1 представляет на сегодня достойную отечественную альтернативу зарубежным процессорам ЦОС. Недостатком является весьма сложная система команд, а также отсутствие производства в России.
Таким образом, применение специализированных БИС в современных российских условиях, к сожалению, почти не распространено и ограничивается в основном реализацией протоколов передачи данных.
Реализация алгоритмов ЦОС на основе цифровых сигнальных процессоров общего назначения
В настоящее время большое число разработчиков выбирают в качестве средства реализации алгоритмов цифровые сигнальные процессоры (ЦСП) общего назначения. В этом есть определенный резон, связанный с тем, что ЦСП достаточно распространены и доступны на рынке, имеют привлекательные цены. Главным преимуществом систем обработки сигналов на ЦСП является гибкость системы, возможность реализации адаптивных и обучающихся алгоритмов. Кроме того, отладочные средства начального уровня недороги, достаточна информационная поддержка, выпущена литература на русском языке по их применению.
Лидером по разработке и производству ЦСП является компания Texas Instruments (TI). Далее по объему производства следуют Motorola и Lucent Technologies (AT&T). Как ни странно, занимающая на российском рынке ведущие позиции Analog Devices находится на 4 месте. Тем не менее ЦСП этой компании, пожалуй, наилучшим образом приспособлены к реализации широкого круга задач ЦОС именно в российских условиях. Их основное преимущество — широкая номенклатура программно полностью совместимых устройств с различным быстродействием и дополнительными периферийными элементами, с фиксированной и плавающей точкой. Наличие недорогих средств отладки позволяет использовать эти ЦСП в малобюджетных проектах.
Вместе с тем, ЦСП имеют ряд недостатков, которые, безусловно, приходится учитывать при разработке новых изделий. Во-первых, пока тактовая частота ЦСП не превышает 50-100 МГц, что ограничивает область применения в системах радиодиапазона. Во-вторых, каждое семейство ЦСП имеет собственные коды команд, что делает практически невозможным перенос реализованного алгоритма на ЦСП других семейств или создания универсальных библиотек алгоритмов. Существующие же компиляторы с языков высокого уровня, например с С, также ориентированы на конкретные ЦСП и не решают данную проблему. В-третьих, при реализации сложных параллельных структур приходится увеличивать число процессоров и обеспечивать их нормальную работу в мультипроцессорном режиме. Наконец, в-четвертых, ЦСП, как правило, требуют внешних навесных элементов (память программ, ОЗУ и т. п.). В последние годы получила популярность идеология построения устройств обработки сигналов с использованием как ПЛИС, так и ЦСП.
Реализация алгоритмов ЦОС на базе ПЛИС
Появление программируемых логических интегральных схем (ПЛИС) можно назвать революцией в технике реализации алгоритмов ЦОС.
Наиболее простыми и давно разработанными архитектурами ПЛИС являются архитек-
туры SPLD и CPLD. Эти ПЛИС позволяют реализовать схемы, эквивалентные 10-100 корпусам ТТЛ-логики стандартных серий. Простейшие варианты ПЛИС перспективны к применению только лишь в интерфейсных схемах, поскольку не позволяют реализовать сложные алгоритмы. Более пригодны для реализации сложных алгоритмов ЦОС ПЛИС, построенные по FPGA-архитектуре. Существуют два основных класса FPGA архитектуры — крупномодульная и мелкомодульная. Крупномодульная состоит из довольно больших логических блоков, часто содержащих несколько таблиц перекодировки и программируемые внутриблочные соединения. Мелкомодульная (мелкозернистая) состоит из большого числа относительно простых блоков. Преимуществом крупномодульной технологии является производительность; для мелкомодульной структуры характерны большая гибкость при синтезе и работе в систолических структурах. Следует заметить, что во многих случаях ПЛИС вытесняют ИС малой и средней степени интеграции (по крайней мере, в новых разработках).
Как известно, программируемые логические интегральные схемы в их простейшем варианте (PAL — Programmable Array Logic и GAL — Gate Array Logic) появились порядка 20 лет назад. До середины 80-х годов они являлись вспомогательной элементной базой для создания единичных и малосерийных несложных комбинационных и последовательностных автоматов сложностью до нескольких десятков эквивалентных вентилей 2И-НЕ.
С середины 80-х годов началась новая эра в развитии ПЛИС. Период с 1983 по 1985 год замечателен тем, что в это время были основаны три ведущие корпорации — основные разработчики ПЛИС. В июне 1983 года основана фирма Altera Corporation, (101 Innovation Drive, San Jose, CA 95 134, USA, www.altera.com), в феврале 1984 г — компания Xilinx, Inc. (2100 Logic Drive, San Jose, CA 95124-3400, USA, www.xilinx.com), в 1985 г — Actel Corporation (955 East Arques Avenue, Sunnyvale, CA 94086-4533, USA, www.actel.com). Эти три компании занимают до 80 % всего рынка ПЛИС и являются основными разработчиками идеологии их применения. С момента своего основания эти и ряд других компаний активно разрабатывают новые классы и семейства ПЛИС, отличающиеся наличием новых функций. В то же время стала отчетливо проявляться тенденция специализации рынка, когда та или иная компания-разработчик является лидером по одному из направлений. Одна из целей этой статьи — дать разработчику аппаратных средств ЦОС информацию о последних (в течение 1999 года) достижениях в области ПЛИС, с тем чтобы при проектировании новых устройств использовалась действительно подходящая элементная база.
Каковы же на данный момент основные направления развития технологии ПЛИС?
Во-первых, за последние два года резко возросла логическая емкость (количество вентилей на кристалле) ПЛИС. Так, выпускаемые по SRAM (Sequel Random Access Memory) тех-
нологии FPGA (Field Programmable Gate Arrays) микросхемы фирм Altera и Xilinx перешагнули рубеж в 1 млн эквивалентных вентилей 2И-НЕ на кристалле.
ПЛИС становятся основой для «систем на кристалле» (system-on-chip, SOC). В основе идеи SOC лежит интеграция всей электронной системы в одном кристалле (например, в случае ПК такой чип объединяет процессор, память и т. д.). Компоненты этих систем разрабатываются отдельно и хранятся в виде файлов параметризируемых модулей. Окончательная структура SOC-микросхемы выполняется на базе этих «виртуальных компонентов», называемых также «блоками интеллектуальной собственности» с помощью программ систем автоматизации проектирования (САПР) электронных устройств — EDA (Electronic Design Automation). Благодаря стандартизации в одно целое можно объединять «виртуальные компоненты» от разных разработчиков. Примером новых семейств ПЛИС, пригодных для реализации «систем-на-кристалле», является семейство APEX20K фирмы Altera, основные характеристики которого приведены в табл. 1.
Архитектура APEX20K сочетает в себе как достоинства FPGA ПЛИС с их таблицами перекодировок (ТП) или LUT (Look-up table),
входящими в состав логического элемента ПЛИС, так и логику вычисления СДНФ, характерную для ПЛИС CPLD (Complex Programmable Logic Devices) — ПЛИС с высокой степенью интеграции элементов на кристалле (рис.1).
Таким образом, новые семейства ПЛИС пригодны как для решения задач ЦОС, так и для реализации сложных логических автоматов типа специализированных контроллеров и т. п. Среди других семейств ПЛИС большой емкости следует отметить семейство Virtex фирмы Xilinx (табл. 2), семейство ProASIC фирмы Actel, отличительной особенностью которого является энергонезависимость интегрированного на кристалле запоминающего устройства благодаря применению FLASH-технологии.
Во-вторых, резко снижаются цены на ПЛИС большой емкости. Так, цены на ПЛИС серии 1ОК1ОО фирмы Altera емкостью 1ОО ООО эквивалентных вентилей за год упали практически на порядок. Это позволяет применять такие устройства в проектах со средним и даже малым бюджетом (до 1О ООО $), что весьма актуально для посткризисной России.
В-третьих, в 1998-1999 годах началось изменение отношения к программному обеспечению САПР ПЛИС со стороны как разработ-
чиков ПО, так и пользователей. Если до конца 90-х годов основным средством описания проекта являлся ввод схемы с помощью графических редакторов с использованием библиотек стандартных логических примитивов (логических элементов, простейших комбинационных и последовательностных функциональных узлов, аналогов стандартных ИС малой и средней степени интеграции (74-й серии)), то в настоящее время актуальным является использование языков описания аппаратуры (Hardware Description Languages) для реализации алгоритмов на ПЛИС. Причем в современных САПР поддерживаются как стандартизованные языки описания аппаратуры, такие как VHDL, Verilog HDL, так и языки описания аппаратуры, разработанные ком-паниями-производителями ПЛИС специально для использования только в своих САПР и учитывающих архитектурные особенности конкретных семейств ПЛИС. Примером может служить AHDL (Altera Hardware Description Languages), поддерживаемый САПР MAX Plus 2 и Quartus компании Altera. Кроме того, многие крупные фирмы — производители программного обеспечения (ПО)
САПР интегральных схем активно включились в процесс создания ПО, поддерживающего ПЛИС различных производителей. Это позволяет проводить разработку алгоритмов, пригодных к реализации на ПЛИС не только разных семейств, но и различных производителей, что облегчает переносимость алгоритма и ускоряет процесс разработки. Примером таких систем являются продукты серии FPGA Express фирмы Synopsys, OrCAD Express фирмы OrCAD, продукты фирм VeryBest, Aldec, Cadence Design Systems и многих других.
С ростом логической емкости кристалла ПЛИС стало обычным явлением участие третьих фирм в разработке фирменных пакетов САПР ПЛИС. Примером являются поставляемый фирмой Xilinx пакет ПО Aliance, содержащий в своем составе компилятор FPGA Express фирмы Synopsys, пакет Actel DeskTOP, содержащий средства ввода проекта, модели-
Схема синхронизации и умножения частоты
Трассы
4-входовая
таблица
Схемы для
реализации
СДНФ
■ЕЯ ■M ЕЯ MW
■н ■n ■H ИШ 1 ШШ
J Product Term Product Term Product Term Product Term
Memory | Memory | Memory Memory |
■Ml ■ШВ HS ■H ■H 1 ШДЯ
Product Term Product Term Product Term Product Term
Memory | Memory | Memory Memory \
ТЇШ 1Д — ИСТ
Элементы ввода/ вывода
Встроенный блок памяти
Рис.1. Архитектура APEX20K
Таблица 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 11520 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
Таблица 2. Основные характеристики ПЛИС семейства 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
рования, генерации тестов разработки VeryBest и средства синтеза разработки Synplicity; пакет FPGA Compiler II Altera Edition фирмы Synopsys; а также САПР для ПЛИС фирмы Atmel.
Новым является наличие достаточно развитых бесплатных версий САПР. Так, если всего два-три года назад бесплатные САПР поддерживали только младшие модели ПЛИС (до 10 000 эквивалентных вентилей), в них отсутствовали опции временного моделирования, ввода с помощью языков описания архитектуры, то теперь ситуация коренным образом поменялась. В качестве примера в табл. 3 приведены основные характеристики пакета MAX+PLUS II BASELINE ver. 9.6 фирмы Altera, который можно бесплатно «скачать» с сайта www.altera.com или получить на CD Altera Digital Library.
зующие некоторые алгоритмы адаптивной обработки сигналов.
В составе САПР ПЛИС фирмы Xilinx имеется генератор логических ядер (CORE Generator). Сгенерированные ядра (LogiCORE) представляют собой функциональные пара-метризированные блоки системного уровня, предназначенные для применения в цифровой обработке сигналов. В табл. 4 приведены сведения о некоторых логических ядрах фирмы Xilinx, предназначенных для реализации алгоритмов ЦОС.
Кроме того, фирма Xilinx поддерживает программу разработки готовых решений для САПР ПЛИС AllianceCORE.
Несмотря на вышеперечисленные программы, до сих пор на рынке отсутствует ПО для реализации нелинейных, оптимальных и большинства типов адаптивных структур, не
системы». В свою очередь, авторы приглашают заинтересованные организации и лица к сотрудничеству.
Литература
1. Стешенко В. Б. Школа схемотехнического проектирования устройств обработки сигналов. // Компоненты и технологии, № 3-6,2000.
2. Стешенко В. Школа разработки аппаратуры цифровой обработки сигналов на ПЛИС. // Chip News,1999, №8-10, 2000, № 1, 3-5.
3. Стешенко В. ПЛИС фирмы ALTERA: проектирование устройств обработки сигналов М.: «Додека», 2000.
4. Губанов Д. А., Стешенко В.Б., Храпов В.Ю., Шипулин С. Н. Перспективы реализации алгоритмов цифровой фильтрации на основе ПЛИС фирмы ALTERA // Chip News, №9-10, 1997 С. 26-33.
Таблица 3. Основные характеристики пакета MAX+PLUS II BASELINE ver. 9.6
Поддерживаемые устройства EPF10K10, EPF10K10A, EPF10K20, EPF10K30, EPF10K30A, EPF10K30E (до 30 000 эквивалентных вентилей), EPM9320, EPM9320A, EPF8452A, EPF8282A, MAX7000, FLEX 6000, MAX 5000, MAX 3000A, Classic
Средства описания проекта Схемный ввод, поддержка AHDL, средства интерфейса с САПР третьих фирм, топологический редактор, иерархическая структура проекта, наличие библиотеки параметризируемых модулей
Средства компиляции проекта Логический синтез и трассировка, автоматическое обнаружение ошибок, поддержка мегафункций по программам MegaCore и AMPP
Средства верификации проекта Временной анализ, функциональное и временное моделирование, анализ сигналов, возможность использования программ моделирования (симуляторов) третьих фирм
Таблица 4. Логические ядра фирмы Xilinx
КИХ-фильтры Фильтр на основе последовательно распределенной арифметики с возможностью каскадирования, интерполяции и децимации
Гребенчатый фильтр Структуры фильтра без использования умножителей Структура Хогенауэра
Корреляторы Одномерный параллельного или последовательного ввода-вывода данных, двумерные корреляторы
Таблицы перекодировки Произвольная разрядность выходных данных и любая глубина таблицы генерируемой функции
Перемножители, аккумуляторы, сумматоры/вычитатели, делители Любая разрядность. Умножение переменного операнда на константу. Перемножение двух независимых переменных
БПФ 1024 точки Действительные 16-разрядные входные данные и комплексный выход
Также характерным в настоящее время является наличие готовых модулей (ядер — cores), мегафункций (megafunctions), предназначенных для решения достаточно сложных задач обработки сигналов. Быстрыми темпами идет разработка готовых функций усилиями третьих фирм. Так, в августе 1995 года была создана программа поддержки партнеров-разработчиков мегафункций (AMPP, ALTERA Megafunction Partners Program). К 1999 году в данной программе участвует более 30 независимых фирм-раз-работчиков. Основную массу разработок составляют мегафункции, реализующие стандартные микропроцессоры и микроконтроллеры, устройства обслуживания шинных магистралей (ISA, PCI), сетевые контроллеры и т. д. Типичными предложениями средств ЦОС являются мегафункции, реализующие быстрое преобразование Фурье (БПФ) и фильтры конечной импульсной характеристики (КИХ-фильтры). Фирма Vendor объявила о реализации фильтра бесконечной импульсной характеристики (БИХ-фильтра) и медианного фильтра. Лидером по разработке мегафункций в области ЦОС является фирма Integrated Silicon Systems (ISS). Этой фирмой разработаны библиотеки мегафункций БИХ-фильтров, фильтров обработки изображений, медианных фильтров, а также мегафункции, реали-
реализованы давно известные алгоритмы последовательностной фильтрации.
Рассмотрев основные алгоритмы цифровой обработки и пути их реализации, можно сделать следующие выводы.
Разработчики осознают необходимость создания библиотек параметризуемых мегафункций различных функциональных узлов, особенно устройств цифровой обработки сигналов. Из бесед с разработчиками на ведущих предприятиях становится ясно, что существует огромная потребность в реализации известных и хорошо обоснованных теоретически алгоритмов, тем более что применение импортной элементной базы становится обычным делом и в разработках специального назначения.
Представляется целесообразным формирование цивилизованного российского рынка программных продуктов для ПЛИС с учетом отечественной специфики и огромного числа устройств, до сих пор не реализованных в виде мегафункций. Определенные шаги в этом направлении делают кафедра М-5 «Автономные информационные и управляющие системы» МГТУ им.
Н. Э. Баумана и центр «Логические
5. Губанов Д. А., Стешенко В. Б. Методология реализации алгоритмов цифровой фильтрации на основе программируемых логических интегральных схем. // Сборник докладов 1-й Международной конференции «Цифровая обработка сигналов и ее применения» 30.06-3.07.1998, Москва, МЦНТИ Т. 4. С. 9-19.
6. Gubanov D., Steshenko V. Methodology Of Digital Filters Design For Programmable Logic Devices Implementation // Proceedings DSPA'98,30.06-3.07.1998, Moscow, ICSTI, Vol. 4-Е.
7. Щербаков М. А., Стешенко В. Б., Губанов Д. А. Цифровая полиноминальная фильтрация: алгоритмы и реализация на ПЛИС // Инженерная микроэлектроника, №1 (3), март 1999 С.12-17.
8. Губанов Д. А., Стешенко В. Б., Шипулин С. Н. Современные алгоритмы ЦОС: перспективы реализации // Электроника: наука, технология, бизнес, № 1, 1999 С. 54-57.