Александр Антонов, Алексей Филиппов
Программируемые логические устройства (programmable logic device, PLD) позволяют реализовать на аппаратном уровне цифровую обработку сигналов, построение специализированных контроллеров, сопряжение с нестандартной периферией и иные задачи, решение которых требует разработки специализированных устройств. От других вариантов технических решений, таких, как применение полностью заказных микросхем или базовых матричных кристаллов, использование PLD отличается оперативностью реализации, простотой средств проектирования и способностью системы к перепрограммированию системы. Последнее свойство расширяет возможности создания настраиваемых сопроцессоров в вычислительных системах и синтеза адаптивных аппаратных средств. Появление PLD высокой степени интеграции (десятки миллионов транзисторов) открыло новое направление в вычислительной технике - реконфигурируемые вычисления (reconfigurable computing). Можно сказать, что эти устройства совмещают в себе гибкость программной и быстродействие аппаратной реализации.
Основное достоинство PLD - незначительное время и гибкость разработки. Квалифицированный инженер, использующий современные средства и технологии проектирования на СБИС PLD, за один день может функционально описать и отладить устройство, для которого потребовались бы десятки традиционных микросхем “россыпи”. При этом собственно программирование PLD занимает всего несколько минут. Полученная таким образом специализированная СБИС отвечает самым жестким требованиям по быстродействию, потребляемой мощности и надежности.
Перечисленные свойства PLD вызвали бурный рост их производства, которое в настоящее время составляет 13% от выпуска микросхем CMOS, а в последующие годы, по расчетам, должно существенно возрасти (рис.1.).
Рис. 1. Мировой объем производства СБИС PLD, млрд. долл.
Источник: Dataquest, 1997 г.
Рост прибылей ведущих компаний, производящих PLD, превышает 20% в год, а гибкая логика (наряду с процессором и памятью) входит в типовые вычислительные структуры и поддерживается основными системами автоматизированного проектирования цифровых устройств. Эти факторы обуславливают рост числа производителей СБИС PLD. Продукция основных производителей СБИС PLD, ранжированная по логической емкости, приведена на рис. 2.
Рис. 2. Продукция основных производителей СБИС PLD
Безусловными лидерами на этом рынке являются специализирующиеся исключительно на PLD компании Altera (www.altera.com) и Xilinx (www.xilinx.com). Именно они производят не только типовые массовые СБИС PLD, но и СБИС, концентрирующие в себе лучшие достижения электронной промышленности по таким параметрам, как логическая емкость, быстродействие, потребляемая мощность, тип корпусов. Основные семейства СБИС HLD, выпускаемые компанией Altera, представлены в табл. 1.
Таблица 1. Основные семейства СБИС PLD, выпускаемые компанией Altera
Наибольшей логической емкостью (до 250 тыс. эквивалентных вентилей) и расширенными функциональными возможностями (объем внутренней памяти 98 кбит) среди выпускаемых фирмой Altera СБИС обладает семейство FLEX10K.
Рассматривать СБИС PLD фирмы Altera лучше всего в сравнении с устройствами компании Xilinx, занимающей второе место по объему продаж. Поскольку доля Xilinx в производстве EEPROM PLD емкостью свыше 600 экв. вентилей (семейство XC9500) составляет всего 4%, a доля семейства MAX фирмы Altera превышает 50%, имеет смысл проводить сравнение для устройств FPGA, обладающих близкими функциональными возможностями. Например, СБИС PLD семейства FLEX10K фирмы Altera можно сравнить со СБИС семейства XC4000 фирмы Xilinx. Для производства тех и других используются передовые технологии (в настоящее время освоена проектная норма 0,25 мкм) и одинаковые типы корпусов, а основные различия их определяются внутренней архитектурой.
СБИС XC4000 содержат конфигурируемые логические блоки (configurable logic blocks, CLB), состоящие из двух таблиц перекодировки и двух триггеров, т. е. из двух LE; CLB могут соединяться друг с другом сегментированными линиями межсоединений, для чего необходимо большое число конфигурирующих транзисторов.
Например, СБИС XC4085XL (85 тыс. эквивалентных вентилей), содержащая 3136 CLB и соответственно 6272 LE (Xilinx придерживается довольно спорного мнения, что CLB эквивалентен 2,375 LE, и получает 7448 LE), имеет 1,966 Мбит программируемых транзисторов, а СБИС FLEX10K130V (130 тыс. эквивалентных вентилей 6656 LE и встроенные блоки памяти общей емкостью 32 Кбит) - 1,582 Мбит программируемых транзисторов. Таким образом, в XC4085XL на эквивалентный вентиль приходится 23 конфигурирующих бита, а в FLEX10K130V - всего 12, что наряду с высокой долей металлизации существенно повышает надежность.
СБИС FLEX10K включают в себя логические блоки, состоящие из восьми LE и шины непрерывных линий межсоединений - глобальных, объединяющих логические блоки, и локальных, объединяющих LC в пределах блока. Глобальные шины выполнены в виде не разрываемых транзисторами металлизированных линий по всей ширине (длине) кристалла (metal friendly architecture). При значительной доле металлизации в технологическом процессе и меньшем количестве конфигурирующих транзисторов можно существенно уменьшить площадь кристалла.
Архитектура СБИС семейств FLEX Altera позволяет ввести избыточный столбец логических блоков для того, чтобы после тестирования кристалла заменить им столбец с блоками, не прошедшими тест, - такая возможность существенно повышает процент выхода годных изделий.
Сравним СБИС FLEX10K фирмы Altera и СБИС семейства XC4000 фирмы Xilinx по основным потребительским признакам.
Логическая емкость. На рис. 3 приведены сравнительные свойства близких по функциональным возможностям и сопоставимых по логическим емкостям СБИС PLD из анализируемых семейств.
Рис. 3. FLEX10K: число LE не зависит от используемой памяти
Из СБИС, представленных в FPGA Product Selection Matrix (www.xilinx.com), XC4085 имеет максимальную емкость. СБИС FLEX10KA250 на рисунок не попала, поскольку для нее не нашлось сопоставимой по емкости СБИС фирмы Xilinx. При использовании внутренней памяти у СБИС фирмы Xilinx существенно уменьшается возможное число LE, в то время как у СБИС FLEX10K число LE и встроенная память представляют собой два независимых ресурса.
Быстродействие. К сожалению, информация на сервере www.prep.org компании, занимающейся тестированием СБИС PLD, существенно устарела, поэтому для общей оценки быстродействия будем основываться на сравнении результатов тестирования СБИС FLEX10K средствами пакета MAX+PLUS II с результатами тестов, приведенными в Xilinx Application Brief XBRF015. Здесь самая быстрая СБИС XC4000XL-09 сопоставима с FLEX10KA-2, а FLEX 10KA-1 на 20 - 30% быстрее. Умножитель 12х12, например, может работать с тактовой частотой до 142 МГц.
Потребляемая мощность. Этот параметр определяется многими составляющими и приведен (табл. 2) для характерных задач, использующих различные ресурсы СБИС.
Из табл. 2 видно, что для всех проектов самое малое потребление тока у СБИС EPF10K100A. Особенно существенно различие в проектах, использующих внутреннюю память.
Таблица 2. Потребляемые токи для типовых устройств на PLD
Стоимость. Определяется в значительной степени процентом выхода годных изделий, который выше у PLD фирмы Altera благодаря преимуществам архитектуры, обеспечивающим меньшую площадь кристалла и возможности введения избыточных столбцов логических блоков.
Надежность. Altera выпускает СБИС PLD в соответствии с требованиями ISO 9001, MIL I-45208 и JEDEC. По результатам тестирования среднее время наработки на отказ составляет для СБИС семейств FLEX приблизительно 5000 лет, а для семейств MAX - 3000 лет, причем для последних почти половина отказов связана с потерей заряда конфигурирующих EEPROM-транзисторов (данные взяты из Altera Reliability Report № 29 за I квартал 1998 г.). Подробные отчеты по анализу надежности Altera публикует ежеквартально, и их можно получить через Altera Literature Department или дистрибьюторов.
Сравнение СБИС PLD ведущих производителей можно было бы продолжить по другим, может быть менее значимым, критериям. Это и полнота военной программы, по которой Xilinx превосходит Altera, и производительность средств проектирования, которая у MAX+PLUS II (Altera) на порядок выше, чем у Foundation (Xilinx), и полнота библиотек, и многое другое.
СБИС PLD - это “сырье”, входящее в практику разработок цифровых устройств (как в свое время вошли микропроцессоры и микроконтроллеры), на базе которого отечественная промышленность может создавать сложную наукоемкую аппаратуру на современном технологическом уровне. Благодаря потребностям пользователей и конкуренции производителей СБИС PLD развиваются небывалыми темпами. К 2000 г. логическая емкость в 1 млн. эквивалентных вентилей станет типовой, а к 2003 г. этот показатель достигнет значения 3,5 млн. В таких условиях внимание разработчиков должно быть сосредоточено на использовании не только новых СБИС PLD, но и новых технологий проектирования цифровых устройств и систем.
С авторами статьи можно связаться по E-mail: filippov@eda-server.nord.nw.ru. Подробные материалы о PLD компании Altera можно найти на сайте www.altera.ru.