Семейство микромощных ПЛИС 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 | 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 | 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
по вашему выбору.
Вы можете выбрать один из двух готовых
дисплеев размером 5,5 или 7 дюймов с разрешением 320×240 или 800×480 соответственно
или изготовить собственную дочернюю плату с дисплеем. Внешний вид демонстрационной платы с подключенным 7-дюймовым
экраном показан на рис. 2.
Демонстрационная плата имеет несколько
входов для подключения к источникам видеосигнала — такие как digital visual interface
(DVI) и интерфейс CMOS-камеры. На рис. 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], где всегда готовы оказать
техническую поддержку пользователям
и ответить на все вопросы как по телефону, так и по электронной почте.