Научная статья на тему 'Семейство микромощных ПЛИС igloo'

Семейство микромощных ПЛИС igloo Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
194
47
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Котельников Евгений

Однажды Фрэнсис Бэкон заметил: «Тот, кто не хочет прибегать к но- вым средствам, должен ожидать новых бед». Не так давно корпора- ция Actel начала поставки нового семейства программируемой логи- ки IGLOO. Отличительной чертой этого семейства является рекордно низкое потребление мощности. В статье речь пойдет о характеристиках семейства IGLOO и сфере его применения.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Семейство микромощных ПЛИС igloo»

Семейство

микромощных ПЛИС IGLOO

Евгений КОТЕЛЬНИКОВ, к. ф.-м. н.

[email protected]

Однажды Фрэнсис Бэкон заметил: «Тот, кто не хочет прибегать к новым средствам, должен ожидать новых бед». Не так давно корпорация Actel начала поставки нового семейства программируемой логики IGLOO. Отличительной чертой этого семейства является рекордно низкое потребление мощности. В статье речь пойдет о характеристиках семейства IGLOO и сфере его применения.

Состав семейства

На самом деле семейство IGLOO — это группа семейств ПЛИС, в которую, кроме собственно IGLOO, входят семейства IGLOOe, IGLOO PLUS и IGLOO nano, последнее имеет подсемейство IGLOO nano-Z. Все эти семейства выполнены по малопотребляющей Flash-технологии и отличаются друг от друга внутренним объемом, количеством доступных пользователю выводов и наличием расширенных возможностей ввода/вывода. Данные по микросхемам IGLOO собраны в таблице. В ней приведены данные о количестве выво-

дов, доступных пользователю, в различных корпусах микросхем. Семейства IGLOO выпускаются в следующих видах корпусов:

• UC (Micro Chip Scale Package) — BGA-корпус с шагом выводов 0,4 мм.

• CS (Chip Scale Package) — BGA-корпус с шагом выводов 0,5 или 0,8 мм.

• QFN (Quad Flat No leads): контактные площадки с шагом 0,4 или 0,5 мм расположены по краям корпуса на его нижней поверхности.

• VQFP (Very Thin Quad Flat Pack): планарные выводы с шагом 0,5 или 0,4 мм расположены по контуру корпуса.

• FBGA (Fine Pitch Plastic Ball Grid) — BGA-корпус с шагом выводов 1 мм.

Для некоторых микросхем возможна поставка в бескорпусном исполнении, подробности можно узнать в официальном представительстве корпорации Actel в России и Украине.

Микросхемы IGLOO выполнены по 130-нм технологии с 7 слоями металлизации и соответствуют требованиям Live-at-Power-Up (LAPU) Level 0, поскольку конфигурация хранится внутри элементарных ячеек и в загрузке прошивки после включения питания нет необходимости. Микросхемы

Таблица. Характеристики микросхем семейств IGLOO

Семейство Название микросхемы Количество системных вентилей Максимальное количество триггеров Потребление в режиме Flash&Freeze Объем встроенного ОЗУ, кбит Защита кодом 128-Bit AES при программировании Количество доступных пользовательских выводов в зависимости от корпуса микросхемы

UC/CS QFN VQFP FBGA

£3 U 81 о U 81 <л C ю C (О да Ю C 01 <л C CS281 да 8 (Л C 8 Z Q 8 (О Z Q со Z Q 0 0 О V 8 О V (О г- О V 3 О (О ю О 8 О (О да оо О

IGLOO AGL015 15К 384 5 - - 49

IGLOO AGL030 30К 768 5 - - 66 66 34 49 81 77

IGLOO AGL060 60К 1536 10 18 Да 96 80 71 96

IGLOO AGL125 125К 3072 16 36 Да 133 84 71 97

IGLOO AGL250 250К 6144 24 36 Да 143 87 68 97

IGLOO M1AGL250 250К 6144 24 36 Да 68 97

IGLOO AGL400 400К 9216 32 54 Да 143 97 178 194

IGLOO AGL600 600К 13 824 36 108 Да 215 97 177 235

IGLOO M1AGL600 600К 13 824 36 108 Да 215 97 177 235

IGLOO AGL1000 1М 24 576 53 144 Да 215 97 177 300

IGLOO M1AGL1000 1М 24 576 53 144 Да 215 97 177 300

IGLOO nano AGLN010 10К 260 2 - - 23 34

IGLOO nano AGLN015 15К 384 4 - - 49

IGLOO nano AGLN020 20К 520 4 - - 52 52 49

IGLOO nano-Z AGLN030Z 30К 768 5 - - 66 66 34 49 77

IGLOO nano AGLN060 60К 1536 10 18 Да 60 71

IGLOO nano-Z AGLN060Z 60К 1536 10 18 Да 60 71

IGLOO nano AGLN125 125К 3072 16 36 Да 60 71

IGLOO nano-Z AGLN125Z 125К 3072 16 36 Да 60 71

IGLOO nano AGLN250 250К 6144 24 36 Да 60 68

IGLOO nano-Z AGLN250Z 250К 6144 24 36 Да 60 68

IGLOOe AGLE600 600К 13 824 49 108 Да 165 270

IGLOOe AGLE3000 3М 75 264 137 504 Да 341 620

IGLOOe M1AGLE3000 3М 75 264 137 504 Да 341 620

IGLOO PLUS AGLP030 30К 792 5 - - 120 120 101

IGLOO PLUS AGLP060 60К 1584 10 18 Да 157 157 137

IGLOO PLUS AGLP125 125К 3120 16 36 Да 212 212

Длина стороны корпуса, мм 3 4 5 6 8 8 10 14 8 8 14 14 20 13 17 23 31

Шаг ножек, мм 0,4 0,4 0,5 0,5 0,5 0,5 0,5 0,8 0,4 0,4 0,5 0,5 0,4 0,4 1 1 1 1

Высота корпуса, мм 0,8 0,8 0,8 0,99 1,2 0,89 1,05 1,2 0,9 0,9 0,75 1,2 1 1 1,45 1,60 2,23 2,23

этого семейства выпускаются в двух модификациях: с питанием ядра 1,5 В или с возможностью выбора питания ядра 1,2 или 1,5 В. Максимальная тактовая частота микросхем при питании 1,5 В составляет 250 МГц, а при питании 1,2 В — 160 МГц. Напряжение питания периферии может изменяться в пределах от 1,2 до 3,3 В. Во всех микросхемах IGLOO есть встроенное Flash ПЗУ объемом 1 кбайт, которое позволяет, например, хранить серийный номер или настроечные коэффициенты проекта.

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

Отличия между семействами состоят в следующем: IGLOOe — микросхемы большого объема для сложных задач. IGLOO PLUS — это семейство с повышенным количеством внешних выводов при том же объеме матрицы. Кроме того, это семейство обладает расширенными возможностями ввода/вывода: режим удержания выходов (bus-hold) в режиме Flash&Freeze, триггеры Шмидта на входах, возможность горячей замены и холодного резервирования. Режим bus-hold позволяет выбирать, в каком состоянии остается вывод микросхемы в режиме низкого потребления: это может быть ноль, единица, третье состояние или то состояние, которое было на момент перехода в режим.

IGLOO nano — семейство небольших по объему логической матрицы микросхем в очень маленьких корпусах, начиная с 36-выводного корпуса UC36 размером 3x3 мм. ПЛИС этого семейства являются лидерами по низкому потреблению мощности. Микросхемы IGLOO nano, так же как и ПЛИС семейства IGLOO PLUS, обладают расширенными возможностями ввода/вывода, кроме микросхем подсемейства IGLOO nano-Z, которые не поддерживают режим bus-hold, триггеры Шмидта на входах, не имеют возможности горячей замены и холодного резервирования.

Программирование и отладка

Любой разработчик скажет: «Если вам кажется, что ваш проект заработал сразу, без

отладки, то вы, очевидно, чего-то не знаете». Поэтому развитые средства отладки — это то, без чего невозможна работа с ПЛИС. Хорошо, если средства отладки тесно интегрированы со средствами разработки. Корпорация Actel предоставляет среду разработки Libero для своей программируемой логики. Пакет разработчика может быть скачан с сайта Actel [1] бесплатно, требуется только зарегистрировать вашу копию через Интернет. Бесплатная версия среды разработки Libero Gold позволяет создавать, симулировать и отлаживать проекты для ПЛИС объемом до 1,5 млн системных вентилей. Ввод проекта может осуществляться на одном из языков — VHDL или Verilog — по выбору или в виде графической схемы соединения компонентов. Проект может быть построен по иерархическому принципу, причем разные уровни проекта могут быть представлены в виде схем или файлов на выбранном языке описания аппаратуры. Среда Libero позволяет тестировать проект как до синтеза, так и после в специализированном пакете Model Sim от Mentor Graphics, который поставляется как часть среды разработки Libero.

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

Разработка и отладка программ для встроенных микропроцессоров, в случае необходимости, может осуществляться в пакете SoftConsole, который также входит в поставку Libero Gold. Для отладки кода в качестве JTAG-адаптера используется тот же программатор FlashPro, через который программировалась матрица ПЛИС. Последняя версия программатора FlashPro — FlashPro4 — поддерживается широко известными пакетами разработки программного обеспечения фирм Keil и RealView, поэтому, если вы привыкли использовать эти пакеты, можете разрабатывать и отлаживать свой код в них, используя программатор Actel при отладке.

Если у вас есть алгоритм обработки сигналов, разработанный в программах MATLAB/Simulink, вы можете реализовать его в программируемой матрице ПЛИС при помощи пакета Synphony HLS AE, который также входит в бесплатную поставку Libero.

Для аппаратной отладки работы ПЛИС можно использовать пакет Probe Insertion. Это программный инструмент, который позволяет уже после того, как сделана трассировка, выводить требуемые сигналы из внутренних блоков ПЛИС семейств IGLOO, ProASIC 3, Fusion и SmartFusion на заданные выводы микросхемы. Probe Insertion дает возможность выбрать внутреннюю цепь в любом месте проекта и подсоединить ее к свободному выводу микросхемы, без перетрассировки проекта. В случае если все выводы микросхемы заняты, один из них может быть временно отсоединен и ис-

пользован для изучения заданного сигнала. Модифицированный проект загружается в ПЛИС, чтобы можно было наблюдать выбранный сигнал на осциллографе.

Для того чтобы сократить время разработки проектов, Actel создала огромное количество готовых файлов описания электронных блоков (так называемых IP-ядер). IP-ядра вставляются в проект как готовые конфигурируемые модули. Существует бесплатный доступ к IP-ядрам процессоров ARM, Intel i8051, SPARC V8 и других, кроме того, есть модули периферийных устройств I2C, UART, Ethernet 10/100 и т. д. Имеются и IP-ядра для цифровой обработки сигналов без участия микропроцессора. Набор IP-ядер для ПЛИС Actel постоянно пополняется; познакомиться с его актуальным на сегодня составом можно в специальном разделе сайта Actel [2].

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

Демонстрационный набор IGLOO для работы с LCD-панелями

Сегодня это единственный набор на рынке, в котором вы можете выбирать тип дисплея.

fanay ГТцпдатчііЕЯ» нїїЦ ІкіШІмсй.'

Рис. 1. Плата видеообработки на базе микросхемы семейства IGLOO

Рис. 2. Плата видеообработки с подключенным модулем экрана

Рис. 3. Набор с подключенной видеокамерой

Он состоит из платы IGLOO video demo board (рис. 1), на которой установлена микросхема AGL600, дополнительная внешняя память для организации буфера изображения и другие контроллеры периферии и платы с LCD по вашему выбору.

Вы можете выбрать один из двух готовых дисплеев размером 5,5 или 7 дюймов с разрешением 320x240 или 800x480 соответственно или изготовить собственную дочернюю плату с дисплеем. Внешний вид демонстрационной платы с подключенным 7-дюймовым экраном показан на рис. 2.

Демонстрационная плата имеет несколько входов для подключения к источникам видеосигнала — такие как digital visual interface (DVI) и интерфейс CMOS-камеры. На рис. 3 приведено изображение набора с подключенной видеокамерой. Купив этот демонстрационный набор, вы получаете возможность начать работу с уже готовых проектов видеообработки.

Готовые проекты для демонстрационного набора IGLOO

В настоящее время доступно пять готовых проектов для этого демонстрационного набора, четыре из них могут работать с обоими

поставляемыми с платой модулями экрана. Проект Video MUXing поддерживает только 5,5-дюймовый экран. Приведем краткое описание проектов.

DVIInput to LCD

Простейший проект, который может служить учебным пособием для ознакомления с принципами организации обработки видеосигналов в ПЛИС. Проект отображает видеосигнал, полученный с DVI-D интерфейса на LCD-дисплее. В проекте используются следующие готовые IP-ядра: DVI Frame Grabber (захват кадров с интерфейса DVI), Video Timing Generator (генератор синхросигналов для работы с видеопотоком), Frame Buffer Controller (контроллер буфера кадра).

Upscaling

В этом проекте уже производится некоторая обработка входной видеоинформации: за счет интерполяции разрешение входного видеосигнала удваивается, например, если на входе изображение 400x240 точек, то на дисплее можно получить разрешение 800x480 точек. Кроме IP-ядер, используемых в предыдущем проекте, здесь применяется ядро 2X Pixel Weighted Scaling Engine, которое и позволяет удваивать разрешение по обеим координатам.

Digital Photo Viewer

Этот проект создан для отображения больших изображений на маленьких экранах. Он позволяет показывать изображения на мониторе и осуществлять их прокручивание (скроллинг, то есть двигать по экрану изображение, которое по размеру больше, чем сам экран). Проект пользуется теми же IP-ядрами, что и DVI Input to LCD.

Video and Still-Shot Camera

Отображает видеосигнал, полученный с CMOS-видеокамеры, на дисплее. Проект пользуется следующими IP-ядрами: Camera Interface (интерфейс камеры), I2C (контроллер I2C интерфейса), Bayer to RGB Color Converter (конвертер пространства цветов), Video Timing Generator (генератор видеосинхронизации), Frame Buffer Controller (контроллер буфера кадра).

Video MUXing

Наиболее развитый готовый проект: он позволяет переключаться между З источниками видеоизображения и отображать результирующую картинку на дисплее. Проект пользуется следующими IP-ядрами: DVI Frame Grabber (захват кадров с интерфейса DVI), SPI Flash Reader (контроллер SPI для чтения Flash), Camera Interface (интерфейс камеры), I2C (контроллер I2C), Bayer to RGB Color Converter (конвертер пространства цветов), Video Timing Generator (генератор видеосинхронизации), Frame Buffer Controller (контроллер буфера кадра).

Готовые IP-ядра для видеообработки

Для экономии времени дизайнеров ПЛИС Actel поддерживает программу Actel’s Solution Partner, в рамках которой, благодаря сотрудничеству Actel с независимыми компаниями, разработано много готовых IP-модулей. В настоящий момент доступно 28 IP-модулей для видеообработки, далее приведены характеристики некоторых из них.

LVDS-передатчик

(Single Channel 18-it LVDS TX Core)

Разработан компанией Attodyne. Занимает 264 логические ячейки. IP-модуль Single Channel 18-it LVDS TX Core позволяет значительно сэкономить место на плате и уменьшить цену устройства за счет того, что вместо внешнего LVDS-передатчика используются ресурсы ПЛИС. Этот IP-модуль предназначен для 18-битных LVDS-дисплеев, которые используют один LVDS-канал (четыре LVDSTX-пары) по спецификации PSWG. Существуют модификации данного IP-модуля, поддерживающие 24-битный интерфейс и двухканальный 18- или 24-битный интерфейсы.

Компания Attodyne — участник программы Actel’s Solution Partner — создала IP-модуль, который может поддерживать скорость передачи данных до 455 Мбит/с, на микросхемах Actel со стандартной скоростью. Это означает, что LCD-панель с разрешением 1024x768 может быть подключена непосредственно к выводам ПЛИС. Увеличение скорости передачи данных до 600 Мбит/с возможно за счет использования более быстрых версий микросхем Actel.

Видеомикшер (Alpha Blender)

Модуль разработан компанией iWave Systems Technologies. Он занимает около 2,2 тыс. логических ячеек, поддерживает тактовую частоту до 48 МГц и вносит задержку 3 такта. Этот IP-модуль осуществляет микширование двух потоков видеоданных под управлением потока a-канала. Другими словами, модуль выполняет следующую операцию над тремя входными потоками байтов:

Out[7:0]= VideoA[7:0]rAlpha[7:0]+VideoB[7:0] (1 - Alpha[7:0]);

Здесь данные в a-канале интерпретируются как число в диапазоне от 0 до 1.

Модуль может использоваться во всех устройствах с LCD-дисплеями, таких как видеофоны, GPS-приемники, видеоигры и т. д., для получения эффектов, например, картинка в картинке или On Screen Display.

Преобразователь пространства цвета (Color Space Converter)

Модуль компании iWave занимает около 1,1 тыс. логических ячеек и поддерживает тактовую частоту до 78 МГц, вносит задерж-

ПЛИС

ку 4 такта. IP-модуль позволяет осуществлять преобразование моделей представления цветов из пространств YCbCr и YUV в пространство RGB.

Интерфейс камеры (Camera Interface) Этот модуль компании iWave занимает около 1,З тыс. логических ячеек и поддерживает тактовую частоту до 6З МГц. IP-модуль iW-Camera Interface принимает на входе синхронизованный поток в 10-битном YCbCr- или RGB-формате и выдает его на выход в том же формате, но в непрерывном виде, без полей синхронизации.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Контроллер аналогового дисплея (Display-Ctrl)

Модуль компании Cast, Inc., занимает около 5,З тыс. логических ячеек и поддерживает тактовую частоту до 64 МГц. При помощи внешнего видео ЦАП (например, Analog Devices ADV7120) формирует видеосигналы для аналоговых мониторов разрешением от QVGA 020x240)x85 Гц, до WUXGA (1920x1200)x60 Гц в соответствии со стандартом RS-343A/RS-170.

JPEG-кодер (JPEGLS-E)

Модуль компании Cast, Inc., занимает около 18,9 тыс. логических ячеек и поддерживает тактовую частоту до 45 МГц. Он обеспечивает JPEG-кодирование видеоинформации со скоростью до 161 млн отсчетов в секунду. Способ упаковки совместим со стандартом ISO/IEC 14495-1 JPEG, что делает этот модуль идеальным решением для межплат-форменных приложений.

Заключение

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

Для оценки производительности семейства доступен стартовый набор для видео-

обработки, приобретая который, вы получаете готовую платформу как для обучения, так и для того, чтобы отладить собственные разработки.

Бесплатная среда разработки с широчайшими возможностями симулирования и отладки проектов, наряду с наличием готовых 1Р-ядер и средств программирования встроенных микропроцессоров, позволяет быстро и без существенных затрат начать разработку собственных проектов. Тем более что на территории России действует официальное представительство корпорации Айе1 [3], где всегда готовы оказать техническую поддержку пользователям и ответить на все вопросы как по телефону, так и по электронной почте. ■

Литература

1. http://www.actel.com/download/software/libero/ default.aspx

2. http://www.actel.com/products/ip/search/default. aspx

3. www.actel.ru/about/contacts.html

i Надоели баннеры? Вы всегда можете отключить рекламу.