Семейство микромощных ПЛИС IGLOO

№ 8’2010
PDF версия
Однажды Фрэнсис Бэкон заметил: «Тот, кто не хочет прибегать к новым средствам, должен ожидать новых бед». Не так давно корпорация 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 мм.

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

Семей-
ство
Название
микро
схемы
Коли-
чество
системных
вентилей
Макси-
мальное
коли-
чество
триггеров
Потреб-
ление
в режиме
Flash&
Freeze
Объем
встроен-
ного ОЗУ,
кбит
Защита
кодом
128-Bit AES
при
програм-
мировании
Количество доступных пользовательских выводов в зависимости от корпуса микросхемы
UC/CS QFN VQFP FBGA
UC36 UC81 CS81 CS121 CS196 CS201 CS281 CS289 QN48 QN68 QN132 VQ100 VQ128 VQ176 FG144 FG256 FG484 FG896
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 24 576 53 144 Да             215               97 177 300  
IGLOO M1AGL1000 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 75 264 137 504 Да                                 341 620
IGLOOe M1AGLE3000 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 6 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

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

Микросхемы IGLOO выполнены по 130-нм
технологии с 7 слоями металлизации и соответствуют требованиям Live-at-Power-Up (LAPU) Level 0, поскольку конфигурация хранится внутри элементарных ячеек
и в загрузке прошивки после включения
питания нет необходимости. Микросхемы
этого семейства выпускаются в двух модификациях: с питанием ядра 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 размером
3×3 мм. ПЛИС этого семейства являются лидерами по низкому потреблению мощности.
Микросхемы 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-панелями

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

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

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

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

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

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

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

В настоящее время доступно пять готовых
проектов для этого демонстрационного набора, четыре из них могут работать с обоими
поставляемыми с платой модулями экрана.
Проект Video MUXing поддерживает только
5,5-дюймовый экран. Приведем краткое описание проектов.

DVI Input to LCD

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

Upscaling

В этом проекте уже производится некоторая
обработка входной видеоинформации: за счет
интерполяции разрешение входного видеосигнала удваивается, например, если на входе изображение 400×240 точек, то на дисплее
можно получить разрешение 800×480 точек.
Кроме 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

Наиболее развитый готовый проект: он позволяет переключаться между 3 источниками
видеоизображения и отображать результирующую картинку на дисплее. Проект пользуется следующими 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-панель с разрешением
1024×768 может быть подключена непосредственно к выводам ПЛИС. Увеличение скорости передачи данных до 600 Мбит/с возможно за счет использования более быстрых
версий микросхем Actel.

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

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

Out[7:0]= VideoA[7:0]•Alpha[7:0]+VideoB[7:0] (1 — Alpha[7:0]);

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

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

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

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

Интерфейс камеры (Camera Interface)

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

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

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

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

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

Заключение

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

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

Бесплатная среда разработки с широчайшими возможностями симулирования
и отладки проектов, наряду с наличием готовых IP-ядер и средств программирования
встроенных микропроцессоров, позволяет
быстро и без существенных затрат начать
разработку собственных проектов. Тем более что на территории России действует
официальное представительство корпорации Actel [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

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

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