Проблемы перехода к FPGA семейства Spartan-3

№ 4’2007
Относительно простые ПЛИС с архитектурой CPLD являются прекрасной основой для освоения технологии программируемой цифровой электроники. В то же время эволюция архитектуры ПЛИС, изменения в технологии изготовления, а отчасти и ценовая политика фирм-производителей повышают актуальность более сложных в освоении FPGA. Приводимые в статье сведения служат для облегчения перехода от CPLD к FPGA в тех случаях, когда это становится актуальным для разработчиков.

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

Введение

На протяжении уже более чем 20-летней истории развития элементной базы ПЛИС можно было наблюдать эволюцию архитектуры этих микросхем и некоторые тенденции развития. На сегодняшний момент наиболее популярными архитектурами являются CPLD (Complex Programmable Logic Device) и FPGA (Field-Programmable Gate Array). Первая из этих архитектур предполагает крупные логические блоки (макроячейки), а удельный вес триггеров относительно низок. Поэтому основным количественным критерием оценки является именно число триггеров, варьирующееся от 32 до 1024. Другим характерным признаком CPLD (хотя и не определяющим) является хранение конфигурации во внутренней энергонезависимой памяти. Это позволяет рассматривать CPLD в качестве своеобразного программируемого варианта заказных микросхем, поскольку, с точки зрения разработчика, он получает в свое распоряжение некий цифровой компонент, обладающий определенной реакцией на входные сигналы и требующий только подачи питания.

Тем не менее основной архитектурой, определяющей состояние рынка ПЛИС на сегодня, являются FPGA. Эта архитектура предусматривает расположение на кристалле матрицы программируемых ячеек, состоящих из 4–6-входового логического генератора и триггера. Матрица окружена по периметру кристалла программируемыми блоками ввода-вывода. Таким образом, эти устройства предоставляют разработчику возможность более гибких действий, открывая, с другой стороны, путь для создания неэффективных схем. Возможности блоков ввода-вывода существенно выше, чем у CPLD, что позволяет подключать к FPGA устройства с самыми разнообразными цифровыми электрическими стандартами, включая дифференциальные. FPGA также оказываются больше насыщенными триггерами, отличаясь по этому показателю от CPLD в десятки и сотни раз (для устройств с сопоставимой ценой). Для микросхем FPGA также характерно хранение конфигурации в энергозависимой статической памяти, что требует помещения на печатную плату микросхемы, хранящей конфигурацию.

Ведущие производители ПЛИС выпускают устройства обоих типов. В частности, для Xilinx линейка CPLD представлена семействами XC9500, XC9500XL, CoolRunner и CoolRunner-II. Из них только первое семейство представляет собой вариант «один корпус с единственным 5-вольтовым питанием», что существенно упрощает решение целого ряда вопросов. Именно поэтому данное семейство часто рассматривается как стартовый вариант, позволяющий разработчикам освоить проектирование систем на базе ПЛИС без вникания в технические тонкости сопряжения ПЛИС с другими компонентами, организации питания и т. д. В то же время в силу ряда технологических и экономических причин дальнейшее использование этого семейства находится под вопросом.

Технические и ценовые характеристики

Для прояснения вопроса соотношения цены и ресурсов ПЛИС различных архитектур рассмотрим таблицу 1, в которую сведены основные технические характеристики CPLD и FPGA фирмы Xilinx.

Таблица 1. Сравнительные технические характеристики ПЛИС семейств XC9500 и Spartan-3
Сравнительные технические характеристики ПЛИС семейств XC9500 и Spartan-3

Приведенная таблица 1 позволяет сделать однозначный вывод: по функциональным возможностям FPGA оставляют далеко позади устройства CPLD. Кроме того, что количество триггеров в десятки и сотни раз больше, FPGA обладают такими модулями, как блочная память, выделенные умножители, цепи быстрого распространения тактового сигнала, блоки SelectIO, позволяющие выбирать электрические стандарты индивидуально для каждого вывода корпуса.

Хотя колебания цен на рассматриваемые микросхемы не позволяют говорить об их точных значениях, можно взять за основу розничные цены на устройства в приблизительно одинаковых корпусах. Эти цены в относительном выражении (XC9536 принята за условную единицу) показаны на рис. 1.

Относительная стоимость CPLD и FPGA (с учетом средств загрузки)
Рис. 1. Относительная стоимость CPLD и FPGA (с учетом средств загрузки).

Из рис. 1 понятно, что практически всегда имеет смысл рассмотреть возможность перехода к FPGA при использовании CPLD с более чем 144 логическими ячейками. Кроме того, для XC95144 также может оказаться целесообразным переход к FPGA, поскольку цена на эту CPLD практически равна стоимости комплекта FPGA+ПЗУ, но при переходе к FPGA функциональность устройства может быть существенно увеличена.

Корпуса и печатные платы

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

  • доступные для монтажа в домашних условиях (PLCC с шагом 1,27 мм), эти микросхемы представляют интерес для радиолюбительской практики;
  • доступные для монтажа в лабораторных или производственных условиях (корпуса QFP с шагом выводов 0,5 мм), технические требования к печатным платам и условиям монтажа выполнимы для подавляющего большинства российских предприятий;
  • микросхемы в корпуса BGA, предъявляющие повышенные требования к печатным платам и требующие специального оборудования для монтажа.

Для удобства анализа сведем данные о группах корпусов в таблицу 2.

Таблица 2. Наличие микросхем семейств XC9500 и Spartan-3 с разными типами корпуса
Наличие микросхем семейств XC9500 и Spartan-3 с разными типами корпуса

Налицо ориентация ПЛИС Spartan-3 на промышленное производство с использованием современных технологий. В то же время, в отличие от высокопроизводительных ПЛИС Virtex, у которых нет модификаций в корпусах QFP, младшие устройства семейств Spartan-3 доступны в этих, пригодных для монтажа в большинстве лабораторий, корпусах. Ремонт, проверка качества, отладка с помощью стандартных приборов для корпусов QFP несоизмеримо проще, чем для BGA, и именно поэтому вопрос доступности таких микросхем возникает достаточно часто. Как можно видеть из таблицы 2, максимальный объем ПЛИС, доступной в таком корпусе, составляет 500 тыс. вентилей. С одной стороны, это всего 10% от емкости самого старшего устройства, содержащего 5 млн вентилей, но с другой — этот объем существенно перекрывает радиолюбительские потребности. В 500 тыс. вентилей можно разместить, например, 4-ядерную 32-разрядную процессорную систему с набором периферийного оборудования. Таким образом, верхняя планка применения приемлемых для многих российских разработчиков корпусов QFP находится достаточно высоко.

Что касается возможности монтажа ПЛИС Spartan-3 в домашних (и приравненных к ним) условиях, без применения специального оборудования, то можно заметить, что шаг выводов 0,5 мм несколько затрудняет этот процесс. В то время как корпус PLCC вполне пригоден для пайки обычным паяльником, QFP далеко не так удобен для широкого использования в радиолюбительской практике и для изготовления несложных и неответственных конструкций, когда печатные платы выполняются с большими зазорами между печатными дорожками.

Питание

Источники питания часто обусловливают «скрытую стоимость» проекта, поскольку при большом энергопотреблении или требовании наличия нескольких питающих напряжений возрастает как стоимость, так и площадь печатной платы, необходимые для реализации схем питания ПЛИС. Приходится констатировать, что по этому показателю CPLD выглядят более привлекательными, поскольку ПЛИС семейства XC9500 могут быть запитаны от одного источника напряжением 5 В. Для FPGA применяются три источника питания: отдельно для ядра (1,2 В), блоков ввода-вывода (не более 3,3 В) и банка, в котором расположен контроллер JTAG (2,5 В). Хотя для FPGA объемом до 500 тыс. вентилей вполне подходят интегральные трехвыводные стабилизаторы, размещать три таких стабилизатора менее привлекательно, чем всего один. Несмотря на то что в CPLD тоже существует разделение на выводы питания ядра и блоков ввода-вывода, часто они запитаны от одного и того же источника (питающего ядро).

Ситуация с питанием FPGA несколько улучшилась в Spartan-3A/AN. Необходимость наличия напряжения в 2,5 В заставляла разработчиков ставить пусть и маломощный, но все же отдельный стабилизатор питания, в то время как самым популярным напряжением для питания ввода-вывода является 3,3 В (это одновременно и максимально допустимое напряжение для современных FPGA). В упомянутых семействах напряжение питания JTAG может быть как 2,5, так и 3,3 В, что позволяет обойтись источниками 1,2 и 3,3.

Вопросы совместимости с 5-вольтовыми устройствами являются довольно актуальными и популярными. Их два: можно ли подавать на входы FPGA сигналы от цифровых устройств с 5-вольтовым питанием и способны ли FPGA обеспечить устойчивое считывание логической единицы?

По первому вопросу можно сказать, что FPGA не допускают непосредственного приложения к входам потенциала, большего, чем напряжение питания банков ввода-вывода. Однако, поскольку в их входных блоках имеются защитные диоды, официальной рекомендацией является ограничение входного тока (величиной 10 мА). Таким образом, последовательное включение токоограничивающего резистора номиналом 120–180 Ом позволяет подавать на вход FPGA сигналы, сформированные 5-вольтовыми микросхемами. Более того, Xilinx допускает при соответствующем увеличении номинала резистора подачу 9-, 12-вольтовых сигналов и т. д.

Если выход FPGA нагружен на вход микросхемы с 5-вольтовым питанием, необходимо убедиться в устойчивом считывании логической единицы, сформированной выходом FPGA. Это обеспечивается для входов стандарта ТТЛ, для которых достаточно напряжения 2,4 В. При выборе выходного стандарта FPGA LVCMOS реальное выходное напряжение логической единицы составляет 2,9–3,1 В, что вполне достаточно для входа ТТЛ. Проблема может возникнуть только при подаче сигнала на КМОП-совместимый 5-вольтовый вход. В этом случае считывание логической единицы может быть неустойчивым и рекомендуется использовать преобразователь уровня.

Таким образом, приходится констатировать, что использование FPGA заставляет разработчика обратить большее внимание на вопросы питания ПЛИС и согласования логических уровней. Возникающие проблемы не являются чрезмерно сложными, хотя и могут предопределить отрицательный ответ на вопрос: можно ли перейти к FPGA в этом проекте? Действительно, количество дополнительных компонентов и площадь печатной платы для FPGA будут несколько больше (рис. 2).

Схемы питания и сопряжения с 5-вольтовыми внешними компонентами для CPLD и FPGA
Рис. 2. Схемы питания и сопряжения с 5-вольтовыми внешними компонентами для CPLD и FPGA

Конфигурирование

Способ загрузки конфигурации — одно из важнейших явных отличий между CPLD и FPGA. Формально отличия лежат гораздо глубже и заключаются в принципиально различающейся архитектуре логических ячеек.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *