Илья ТАРАСОВ, к. т. н.
Введение
Для таких сложных и дорогостоящих устройств, как цифровые системы на базе FPGA большой емкости, весьма важен выбор адекватного источника питания. При его несопоставимо более низкой цене этот узел может стать причиной выхода из строя всего изделия или (что лишь немногим хуже) FPGA. С другой стороны, чрезмерный запас по характеристикам системы питания не всегда является удачным решением, хотя бы из-за неоправданно больших габаритов источника. Кроме того, часто возникает и проблема поставок: рассмотрим в связи с этим связку «дешевые источники питания» и «дорогие ПЛИС». Исходя из практики работы российских дистрибьюторов электронных компонентов, вполне можно ожидать ограничения по минимальному размеру партии источников питания в силу их небольшой стоимости. Однако FPGA большого логического объема возможно приобрести в единичных количествах, в результате чего разработчик сталкивается с необходимостью приобретать десятки источников питания для 1-2 ПЛИС. В связи с этим интересна инициатива официального дистрибьютора фирмы Xilinx, компании InlineGroup, которая установила партнерские отношения с Emerson Network Power — одним из ведущих производителей систем питания, полностью подходящих для организации питания FPGA Xilinx. InlineGroup предлагает комплектование приобретаемых ПЛИС соответствующими модулями питания Emerson в сопоставимых количествах, что является весьма удобным для разработчиков, особенно выпускающих пилотные партии систем на базе ПЛИС.
Оценка потребляемой мощности
и выбор системы питания ПЛИС Xilinx
Система питания является неотъемлемой частью любого электронного устройства. В случае системы на базе ПЛИС ее правильный выбор очень важен по целому ряду причин. Прежде всего, энергопотребление ПЛИС с архитектурой FPGA может быть достаточно высоким, что усложняет проектирование подходящей системы питания. Кроме того, высокая стоимость самой FPGA обуславливает чрезмерно высокую цену ошибки при выборе модуля питания: неправильно работающий источник может вывести из строя гораздо более дорогие компоненты. В данной статье рассматриваются методики и программные средства оценки потребляемой мощности и даются рекомендации по выбору источников питания для ПЛИС Xilinx.
Требования к питанию микросхем с архитектурой FPGA
При работе с устройствами БРОЛ разработчики обнаруживают, что по сравнению с микропроцессорными системами аналогичного назначения потребление энергии существенно возрастает. БРОЛ большого логического объема могут потреблять единицы и даже десятки ампер (правда, обеспечивая при этом и большие функциональные возможности). Поэтому обеспечение их качественного питания является важной задачей, хотя в идеале ее решение должно быть однократно выполняемым техническим действием в виде выбора соответствующего набора источников. Разумеется, было бы крайне нежелательном в процессе проектирования системы постоянно возвращаться к вопросу качества питания цифровых компонентов, поэтому имеет смысл предусматривать определенный запас по мощности источников. Потребление ПЛИС может существенно варьироваться для одной и той же микросхемы в зависимости от загружаемого проекта, в связи с этим важно рассмотреть, чем определяется величина потребляемой мощности и как можно спрогнозировать ее на ранних этапах разработки системы.
ПЛИС с архитектурой БРОЛ используют в настоящее время несколько источников питания.
УсаП — питание ядра БРОЛ. Это наиболее важная линия питания, во многом определяющая общее потребление микросхемы. Это напряжение зависит от технологии изготовления ПЛИС и уменьшается с переходом к новым техпроцессам.
Уссаих — вспомогательный источник питания, как правило, 2,5 В. Потребление по
этой цепи обычно невелико (на уровне десятков миллиампер).
Vcco — питание блоков ввода/вывода. Потребление от этого источника определяется в основном нагрузкой выходов ПЛИС.
Точный список устройств ПЛИС, питающихся от отдельных источников:
• Vccint:
- все ресурсы логических ячеек;
- большая часть потребления ячеек конфигурационной памяти;
- все трассировочные ресурсы;
- цепи распространения тактовой частоты, буферы тактовых сигналов;
- блочная память;
- блоки DSP (DSP48, DSP48A, DSP48E);
- входные буферы;
- логические элементы в блоках ввода/вывода (ILOGIC/OLOGIC);
- сериализаторы/десериализаторы ISERDES/ OSERDES;
- процессор(ы) PowerPC;
- ядра Tri-Mode Ethernet MAC;
- DCM (меньшая часть энергопотребления).
• Vccaux:
- DCM (большая часть энергопотребления);
- IDELAYCTRL;
- меньшая часть потребления ячеек конфигурационной памяти;
- дифференциальные входные буферы;
- однопроводные буферы ввода/вывода, использующие опорное напряжение VREF, например HSTL18_I.
• Vcco:
- все выходные буферы;
- часть потребления входных буферов;
- блоки управления импедансом.
Рис. 1. Зависимость тока утечки от характерного размера технологического процесса
На практике обычно оказывается, что основной вклад в потребление вносит питание ядра Vccint. От вспомогательного источника Vccaux требуется существенно меньший ток, а потребление по цепи Vcco определяется в основном требованиями нагрузки, подключенной к выходам FPGA. Что касается абсолютных значений потребляемого тока, можно заметить, что имеется большой разброс потребляемого тока, обусловленный его сильной (фактически пропорциональной) зависимостью от рабочей частоты. Поэтому производитель вынужденно указывает максимальное потребление, которое, разумеется, оказывается большим. Однако такие примеры в подавляющем большинстве случаев являются чрезвычайно абстрактными, поскольку на практике не удается создать проект, который использовал бы 100% ресурсов FPGA, работающих на максимальной частоте. Кроме того, часть ресурсов FPGA, а именно аппаратные блоки (такие как секции ExtremeDSP, блочная память, ядра PowerPC), ничем не отличаются от своих аналогов, используемых в цифровой электронике при производстве ASIC, и они не обуславливают повышенное потребление FPGA по сравнению с ASIC. Это достаточно важно для проектов на базе FPGA Virtex, имеющих высокий удельный вес hard-IP ядер. В итоге разработчик, ориентировавшийся на достаточно осторожные оценки от Xilinx, при запуске устройства обнаружит скорее меньшее потребление, чем его предварительные оценки.
Что влияет на потребляемую мощность?
Для современных цифровых микросхем потребление разбивается на две составляющие: статическое и динамическое. Специалисты, давно работающие с цифровыми микросхемами, могут помнить «инженерные правила» для микросхем КМОП. В технической литературе и справочниках по дискретным микросхемам КМОП обычно отмечалось, что в ста-
тическом режиме они не потребляют тока. При этом делались уточнения, что при отсутствии переключений потребление микросхем КМОП обуславливалось в основном токами утечки затворов — через оксид кремния, обладающий очень высоким удельным сопротивлением.
Однако удельное сопротивление — это только характеристика материала, а собственно сопротивление пропорционально длине проводника и обратно пропорционально площади его поперечного сечения. С уменьшением норм технологических процессов произошло уменьшение толщины оксида кремния (которая выступает как длина проводника, через который происходит утечка), и в результате абсолютное значение сопротивления упало до величин, при которых говорить о пре-небрежимой малости тока утечки уже нельзя. График зависимости тока утечки от нормы технологического процесса показан на рис. 1. Обратите внимание, что по вертикальной шкале масштаб логарифмический.
Важно, что при достижении норм 90-65 нм статическое потребление достигло такого уровня, что для его снижения пришлось принимать соответствующие меры. В частности, фирма Xilinx в 90-нм семействе FPGA Virtex-4 использовала технологию triple-oxide. Ее суть заключается в том, что тонкая оксидная плен-
ка используется только там, где требуется максимальное быстродействие транзисторов (чем меньше толщина оксида, тем больше влияние затвора на канал, то есть быстрее происходит переключение транзистора). Для менее ответственных элементов толщина пленки повышается — до средней и максимальной (токи утечки, следовательно, снижаются). Таким об-
Разброс параметров транзисторов % изменения \Zccint Температура”С
в процессе изготовления
Рис. 3. Зависимость относительного уровня статического потребления от различных факторов
Таблица. Сравнительная характеристика потребляемой мощности ПЛИС семейств Уігївх-4 и Уігївх-5
Virtex-4 FPGA 90 нм Virtex-5 FPGA 65 нм % изменения Отношение потребляемой мощности
Vccint 1,2 1,0 -16,6 0,69
Ctotal 1,0 0,85 -15 0,85
Мощность 1,44 0,85 -40 0,59
разом, в зависимости от требуемой для этого транзистора скорости переключения он может быть выполнен с одним из трех вариантов толщины изолятора между затвором и каналом. Транзистор со средней толщиной оксида кремния в БРОЛ Уи!ех-4 показан на рис. 2.
На статическое потребление также оказывают влияние разброс параметров транзисторов в процессе их изготовления, отклонения напряжения питания и температура (рис. 3). Все это в конечном счете дает некоторое типичное значение для статического потребления ПЛИС, которое представлено в технической документации.
Динамическое потребление мощности определяется по формуле:
Р = nxCxV2xf (1)
где п — число переключаемых узлов; С — емкость; V — разность уровней напряжения; f— частота.
С изменением технологических процессов происходит количественное изменение параметров, определяющих динамическое потребление. Кроме того, новые архитектурные решения, которые закладываются в более современные семейства, также изменяют уровень динамического потребления. Сравнительная характеристика потребляемой мощности ПЛИС семейств Уи1ех-4 и Уи1ех-5 приведена в таблице.
Предварительная оценка потребления проекта с помощью утилиты XPower
При старте проекта естественным стремлением разработчика является выполнение предварительной оценки потребления ПЛИС.
Кроме оценки общих технико-экономических показателей будущего продукта существует и насущная техническая потребность выбора адекватного источника питания с учетом того, что в современных цифровых системах именно ПЛИС могут оказаться наиболее требовательными к уровню и качеству питания компонентами. При наличии предварительной оценки потребляемой мощности появляется возможность произвести выбор компонентов питания, без чего нельзя начать разработку печатной платы.
Поскольку формула (1) достаточно проста, для оценки потребляемой мощности можно взять из проекта информацию о частоте и количестве переключаемых узлов. Эта оценка будет достаточно приблизительной, поскольку в (1) присутствует также параметр У — разность уровней напряжения. Если элемент на данном такте не переключается, то он и не вносит свой вклад в потребление тока. Наихудшим в смысле потребления будет Б-триг-гер, реализующий деление входной частоты
на 2, поскольку он переключается с каждым тактом. Однако в реальных проектах далеко не все элементы переключаются с максимальной частотой (еще раз отметим, что речь идет не только о том, какая именно тактовая частота подана на вход элемента, а сколько раз он переходит в противоположное состояние). Для того чтобы учесть отсутствие переключений в какие-то моменты времени, вводится коэффициент toggle rate, принимающий значения от 0 до 1. Его типичное значение, предлагаемое Xilinx, составляет 0,125.
Предварительная оценка потребляемой мощности может быть выполнена с помощью XPower Estimator, который выполнен в виде рабочего листа Excel (рис. 4). Набор таких листов для различных семейств ПЛИС Xilinx можно загрузить с www.xilinx.com/power.
Необходимо иметь в виду, что такие оценки являются весьма приблизительными. В частности, динамическое потребление оказывается прямо пропорциональным введенному пользователем параметру toggle rate. Очевидно, что при его неправильном определении ответ будет настолько же неадекватным.
Поскольку Xilinx знает величины тепловых сопротивлений для выпускаемых микросхем, по величине потребляемой мощности и условиям установки ПЛИС (наличие радиатора, скорость воздушного потока, температура окружающей среды) можно определить температуру микросхемы и сравнить ее с предельно допустимой.
Во второй части статьи будут рассмотрены примеры анализа потребляемой мощности и даны рекомендации по выбору систем питания для различных вариантов устройств на базе FPGA Xilinx. ■