Серия перепрограммируемых FPGA — ProASICPLUS
Часть 2
Данная статья посвящена выходу на российский рынок нового поставщика микросхем для устройств повышенной надежности - компании Actel, ее продукции и технологии. В предыдущем номере журнала были коротко освещены общие свойства микросхем, выпускаемых компанией, и их преимущества перед классическими FPGA. В настоящей публикации приводится более подробное описание микросхе Flash-FPGA ProASICPLUS.
Перепрограммируемые микросхемы FPGA второго поколения (семейство ProASICPLUS) представляют собой конфигурируемые усройства, выполненные по процессу CMOS, 0,22 микрона с 4 уровнями металлизации по Flash-технологии. Они являются эффективными устройствами с системными скоростями до 100 MГц и позволяют
проектировщикам напрямую подключаться к другим устройствам, имеющим входные и выходные сигналы для логики уровней 3,3 и 2,5 В. Микросхемы данного семейства содержат два блока обработки синхрочастоты — каждый состоит из ядра PLL, линии задержки и умножителя-делителя синхрочастоты. Входные частоты для PLL — от 1,5 до 240 МГц, выходные — от 24 до 240 МГц. Кроме того, микросхемы имеют две высокоскоростные дифференциальные пары, работающие в стандарте LVPECL и предназначенные для скоростной передачи данных.
Имеется возможность программировать микросхемы непосредственно в системе пользователя (ISP) через интерфейс JTAG по стандарту IEEE 1149.1.
Примером устройства данной серии может служить микросхема APA075, представляющая собой устройство, начинающее работать непосредственно при подаче питания (live-at-power-up). Она включает в себя блоки PLL с линиями задержки и умножителями-делителями синхрочастоты, имеет до 27 кбит двухпортовой встроенной SRAM и 158 вводов-выводов с перестраиваемой по усмотрению пользователя конфигурацией. Опытные образцы и серийная продукция APA075 начались в третьем квартале 2002 года. Как ожидается, оптовая цена в начале 2003 года в партии 100 000 шт. будет ниже $ 8. Опытные образцы начальных шести устройств ProASICPLUS в настоящее время уже доступны.
Характеристики микросхем серии ProASICPLUS
Микросхемы серии ProASICPLUS представляют на сегодняшний день семейство, состоящее из 7 устройств, основные характеристики которых приведены в таблице 1.
Таблица 1. Основные характеристики микросхем серии ProASICPLUS
Устройство |
APA075 |
APA150 |
APA300 |
APA450 |
APA600 |
APA750 |
APA1000 |
Максимальное число системных вентилей |
75,000 |
150,000 |
300,000 |
450,000 |
600,000 |
750,000 |
1,000,000 |
Максимальное число регистров |
3,072 |
6,144 |
8,192 |
12,288 |
21,504 |
32,768 |
56,320 |
Встроенная RAM, кбит |
27 |
36 |
72 |
108 |
126 |
144 |
198 |
Встроенная RAM, блоки (256.9) |
12 |
16 |
32 |
48 |
56 |
64 |
88 |
LVPECL |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
PLL |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
Глобальные сигналы |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
Максимальное число синхрочастот |
24 |
32 |
32 |
48 |
56 |
64 |
88 |
Максимальное число пользовательских I/Os |
158 |
242 |
290 |
344 |
454 |
562 |
712 |
JTAG ISP |
да |
да |
да |
да |
да |
да |
да |
PCI |
да |
да |
да |
да |
да |
да |
да |
Корпус (по числу выводов) |
|
|
|
|
|
|
|
TQFP |
100 |
100 |
|
|
|
|
|
PQFP |
208 |
208 |
208 |
208 |
208 |
208 |
208 |
PBGA |
|
456 |
456 |
456 |
456 |
456 |
456 |
FBGA |
144 |
144, 256 |
144, 256 |
144, 256, 484 |
256, 484, 676 |
676, 896 |
896, 1152 |
Микросхемы данной серии имеют достаточно большой диапазон по числу системных вентилей — от 75 тыс. до 1 млн, встроенной памяти — от 27 до 198 кбит SRAM и пользовательских входов-выходов— от 66 до 712.
Необходимо отметить, что кроме корпусов BGA, которые не очень «любят» отечественные разработчики, микросхемы данной серии имеют корпуса TQFP и PQFP. По корпусам микросхемы совместимы, это позволяет на этапе отладки проекта применить микросхему большей емкости, а после отладки проекта использовать в серийных изделиях микросхему минимальной для данного проекта емкости.
Архитектура микросхем серии ProASICPLUS
Архитектура микросхем серии ProASICPLUS состоит из следующих узлов:
- ядро устройства;
- цепи маршрутизации;
- блоки встроенной памяти;
- блоки обработки синхрочастоты;
- входы-выходы;
- порт JTAG.
На рис. 1 показана фотография кристалла микросхемы ProASICPLUS.
Ядро устройства ProASICPLUS состоит из Sea-of-Tiles (море плиток), которое автору привычнее называть логическими ячейками (ЛЯ) (см. рис. 2) и обеспечивает степень дискретизации, сопоставимую c вентильными матрицами.
ЛЯ имеет три ввода (из которых любые могут быть инвертированы) и один выход (который может соединиться как с крайне быстрой местной линией связи, так и с эффективной длинной линией связи). Любая логическая функция с одним выходом с тремя вводами (кроме трехвходной XOR) может быть сконфигурирована на одной ЛЯ. Каждая ячейка также может быть сконфигурирована как защелка со входом сброса или установки, или как триггер со счетным входом, также имеющий вход сброса или установки. Таким образом, ЛЯ могут гибко использоваться для реализации логических функций или различных счетчиков и регистров в проекте пользователя, для чего программируются соответствующие Flash-выключатели взаимосвязи. ЛЯ и другие узлы микросхемы связаны с любым из четырех уровней маршрутизации.
В отличие от FPGA, основанных на SRAM-технологии, ProASICPLUS использует Flash-выключатель как элемент программирования конфигурации (рис. 3). В ProASICPLUS каждый Flash-выключатель содержит два транзистора, которые совместно используют плавающий вентиль для хранения информации.
Первый транзистор используется только для записи и проверки напряжения плавающего вентиля. Другой транзистор используется для переключения. Он используется в архитектуре, чтобы подключить или отключить сеть маршрутизации или конфигурировать логику. Он также используется, чтобы стереть состояние из плавающего вентиля (рис. 3). Flash-выключатель может быть перепрограммирован пользователем в системе (ISP) через порт JTAG. И поскольку Flash-выключатель сохраняет свою конфигурацию такой, как она была
запрограммирована перед выключением питания, то и вся микросхема в целом начинает выполнять свои функции непосредственно при включении питания. Таким образом, ProASICPLUS представляет собой одночиповое решение, то есть для ее работы нет необходимости использовать дополнительную микросхему-загрузчик конфигурации.
Перепрограммируемые ячейки распределены всюду по устройству, чтобы обеспечить энергонезависимое реконфигурируемое программирование для подключения межсоединений. Flash-выключатели могут быть запрограммированы так, чтобы подключить линии сигнала к соответствующим логическим входам и выходам ячейки. В том случае, когда необходимо глобально распределить сигнал по всему кристаллу с минимальными расхождениями фронтов, используется подключение сигнала к выделенным высокоэффективным линиям связи через соответствующий Flash-выключатель. Фактически, для любого проекта возможно максимальное использование ресурсов микросхемы.
Защита проекта пользователя
При увеличении сложности проектов в FPGA появляется потребность защитить интеллектуальную собственность, реализованную пользователем в своем проекте в FPGA. Энергонезависимые перепрограммируемые FPGA, подобные семейству ProASICPLUS от Actel, предлагают гораздо более высокие уровни защиты проекта, чем у обычного FPGA, выполненного на основе SRAM-технологии или решения в ASIC. В ProASICPLUS пользовательский проект может быть запрограммирован с установленным ключом защиты, имеющим разрядность кодирования в пределах 79–263 бит, что блокирует внешние попытки прочитать или изменять параметры настройки конфигурации. Actel представила новый механизм защиты пользовательского проекта, размещенного на кристалле, названный FlashLock, который позволяет проектировщикам блокировать проект после программирования, чтобы предотвратить неправомочные изменения. Технология FlashLock может также использоваться, чтобы снять все обычные проблемы защиты, с которыми сталкиваются проектировщики, использующие обычные устройства, базирующиеся на SRAM-технологии, что позволяет исключить различные варианты клонирования, копирования, обратное проектирование и т. д. Если устройство заблокировано, то пользователь может только перепрограммировать устройство, используя определяемый пользователем ключ защиты. Таким образом, можно защитить устройство так, чтобы было невозможно прочитать и скопировать его содержимое.
Маршрутизация ресурсов
Структура маршрутизации устройств ProASICPLUS разработана таким образом, чтобы обеспечить высокую эффективность путем использования гибкой иерархии с четырьмя уровнями маршрутизации ресурсов: ультрабыстрые местные линии, эффективные длинные линии, высокоскоростные очень длинные линии для связи ресурсов и высокоэффективные глобальные сети. Ультрабыстрые местные ресурсы — выделенные линии, которые позволяют выходу каждой ЛЯ соединяться непосредственно с каждым входом восьми окружающих ЛЯ, как показано на рис. 5. Эффективные длинные линии обеспечивают маршрутизацию для более длинных расстояний и для подключений, имеющих большее число разветвлений сигнала на выходе. Эти ресурсы изменяются по длине (охватывающие 1, 2 или 4 ЛЯ), работают и вертикально, и горизонтально, и охватывают все устройство ProASICPLUS.
Каждая ЛЯ может управлять сигналами на эффективных длинных линиях, которые могут, в свою очередь, обратиться к каждому входу каждой ЛЯ. Активные буфера вставляются автоматически при работе программного обеспечения, чтобы ограничить нагрузку для требуемого расстояния и разветвления сигналов на выходе.
Высокоскоростные очень длинные линии, которые охватывают все устройство и работают с минимальной задержкой, используются для того, чтобы организовать по всему устройству очень длинную связь, или связь, имеющую очень высокое разветвление сигнала на выходе. Высокоэффективные глобальные линии — линии с высоким разветвлением сигналов на выходе, с низкой асимметрией, что позволяет пропускать по ним высокочастотные сигналы. На глобальные линии подаются сигналы от внешних входов или от внутренней логики. Они обычно используются, чтобы распределить сигналы синхрочастоты или сброса, а также другие сигналы, требующие большого разветвления на выходе и минимальной асимметрии. Глобальные сигналы проведены по кристаллу по древовидной структуре так, что они могут быть введены в любую соединительную линию. Далее, они могут быть проведены иерархически таким образом, что они будут подключены к каждому входу на всех ЛЯ.
Встроенная память
Встроенная память в семействе ProASICPLUS обеспечивает большую гибкость конфигурации, поскольку она разработана и оптимизирована для таких применений, как двухпортовая память, однопортовая память и FIFO. Дополнительно имеются программируемые флажки, используемые для работы со встроенной логикой управления FIFO. Аппаратно реализована генерация битов четности или их проверка.
Устройства ProASICPLUS имеют до 198 кбит общей памяти в устройстве APA1000, используемой как для двухпортового, так и для однопортового использования. Встроенная память расположена вдоль верхней и нижней границы устройства (см. рис. 1) блоками по 256х9 бит.
Чтобы упростить использование памяти в синхронном режиме, в состав блоков памяти введены соответствующие выходные регистры как часть примитива блока памяти. В этом режиме при выполнении операции чтения выходные сигналы изменяются сразу же после следующего переднего фронта сигнала синхрочастоты.
Это позволяет использовать для обработки данных полный тактовый цикл сигнала синхрочастоты. Доступны до 88 блоков, в зависимости от типа устройства. Каждый блок может быть запрограммирован как независимая память или объединен с другими блоками, чтобы формировать большие, более сложные блоки памяти, в зависимости от требуемой пользователю глубины и разрядности. Однако в один массив памяти не могут быть одновременно включены верхние и нижние блоки памяти. Возможны синхронные или асинхронные варианты использования оперативной памяти, с независимым выбором синхронного или асинхронного чтения и записи. Для упрощения работы пользователя предназначена программа ACTgen, при помощи которой можно легко выбрать требуемую конфигурацию блока памяти и получить HDL-файл проекта, описывающий данный блок памяти, что позволяет получить гарантированно оптимальное использование встроенной памяти. Библиотека мегафункций
содержит 24 варианта конфигураций SRAM и FIFO для синхронных и асинхронных операций, работающих на частотах до 150 МГц.
Выделенные ресурсы микросхемы, используемые для обработки сигналов синхрочастоты
Семейство ProASICPLUS предлагает мощное и гибкое управление синхронизацией, выполняемое с помощью специальной аналоговой схемы. Каждый чип имеет два блока обработки синхрочастоты, содержащих ядро PLL, работающее на частоте до 240 МГц, линии задержки, устройства, сдвигающие фазу сигнала (0°, 90°, 180°, 270°), умножители-делители частоты и все схемы управления, необходимые для выбора и подключения входов к глобальной линии таким образом, чтобы обеспечивался двунаправленный доступ к PLL. Блок-схема блока PLL в целом показана на рис. 6, а детальный вид ядра блока PLL приведен на рис. 7.
Конфигурация PLL может быть внутренняя или динамическая внешняя. PLL может быть сконфигурирована внутренне во время разработки проекта через набор битов конфигурации при программировании устройства или внешним образом во время работы. Для конфигурации PLL во время работы применяется порт JTAG. Доступ к PLL сделан через простой, динамически доступный асинхронный интерфейс — выделенный регистровый файл, который позволяет пользователям инициализировать или изменять параметры PLL, например коэффициенты отношения делителя-умножителя в блоке PLL.
Две глобальных сигнальных линии располагаются по каждой стороне кристалла микросхемы. По ним обеспечивается двунаправленный доступ к PLL на той же стороне кристалла. Каждая глобальная линия сделала так, что она также может управляться сигналами от входов LVPECL или выходами от блока PLL или обоих. Каждая глобальная сигнальная линия может управляться различными выходами блока PLL. Это позволяет блоку PLL управлять входами или выходами через две глобальных линии на каждой стороне чипа (всего имеется четыре таких линии).
Рассмотрим две глобальных сигнальных линии — GLA и GLB (рис. 6 и 7). Есть следующие источники сигналов, из которых могут быть сформированы сигналы на этих глобальных сигнальных линиях:
Глобальная переменная GLA:
- Выход от мультиплексора Global MUX A (см. рис. 6).
- Выход от блока PLL (Fout).
- Сигнал может быть задержан, или он может опережать сигнал Fout.
- Сигнал, сдвинутый по фазе на 0°, 90°, 180° или 270°.
- Разделенная на счетчике версия любого из вышеупомянутых сигналов.
- Задержанная версия любого из вышеупомянутых сигналов (задержка на 0,25, 0,5 или 4 нс).
Глобальная переменная GLB:
- Выход от мультиплексора Global MUX В (рис. 6).
- Сигнал может быть задержан, или он может опережать сигнал Fout.
- Разделенная на счетчике версия любого из вышеупомянутых сигналов.
- Задержанная версия любого из вышеупомянутых сигналов (задержка на 0,25, 0,5 или 4 нс).
Каждый блок PLL содержит четыре программируемых делителя (рис. 7).
Первый (n) производит деление сигнала на целочисленные коэффициенты деления от 1 до 16. Второй и третий (u и v) делители позволяют разделить сигналы в глобальной сети на целочисленные коэффициенты деления в пределах от 1–4. Четвертый делитель (м, расположенный в цепи обратной связи) имеет разрядность 6 бит и позволяет умножить входной сигнал синхрочасты на целочисленные коэффициенты в пределах от 1–64.
Выполнение операции м / (n*u) и м / (n*v) позволяет пользователю иметь широкий диапазон коэффициентов деления и умножения. Схема обработки сигнала синхрочастоты может продвинуть или задержать синхрочастоту до 4 нс (в приращениях 0,25 нс) относительно положительного фронта входящей опорной синхрочастоты.
Также учитывается выбор фазы 0°, 90°, 180° и 270° выходного сигнала синхрочастоты. Используя программу ACTgen, можно задать для PLL режим работы с сигналом «lock» (активный — высокий уровень). Этот сигнал блок PLL выдает в том случае, когда он захватил входной сигнал.
Сигналы синхронизации проходят через программируемые блоки задержки, по одному на каждую глобальную сеть, и далее направляются на горизонтальные цепи синхронизации (см. раздел «цепи синхронизации»).
Блоки задержки производят задержку глобальных сигналов относительно других сигналов, например данных, для того, чтобы сформировать нужное для предустановки данных время. Не все возможные комбинации режима ввода и вывода могут использоваться. Эти ограничения позволяют избегать лишней работы при разработке проекта.
Цепи синхронизации
Одна из основных особенностей архитектуры устройств ProASICPLUS — набор мощных глобальных сетей синхронизации, работающих с малыми задержками сигналов, что дает значительные преимущества особенно при обработке высокочастотных сигналов.
ProASICPLUS предлагает 4 глобальных сети, каждая из которых подобно дереву разветвляется и, таким образом, глобальные сигналы синхронизации непосредственно подводятся к каждой ЛЯ. Каждое из этих деревьев имеет вид, подобный спинному хребту и ребрам (рис. 5). Там спинной хребет — вертикальная цепь синхронизации (ВЦС) — обозначена как Clock Spine. От нее влево и вправо расходятся ребра — горизонтальные цепи синхронизации (ГЦС). Эта гибкая древовидная архитектура для сигналов синхрочастот позволяет пользователям иметь до 88 различных внутренних или внешних цепей синхронизации в устройстве APA1000. Описание сети сигналов синхронизации приведено в таблице 2.
Таблица 2. Цепи синхронизации
Устройство |
APA075 |
APA150 |
APA300 |
APA450 |
APA600 |
APA750 |
APA1000 |
Высота верхнего участка ВЦС в ЛЯ |
16 |
24 |
32 |
32 |
48 |
64 |
80 |
Число ЛЯ, подключенных к каждой верхней ВЦС |
512 |
768 |
1,024 |
1,024 |
1,536 |
2,048 |
2,560 |
Высота нижнего участка ВЦС в ЛЯ |
16 |
24 |
32 |
32 |
48 |
64 |
80 |
Число ЛЯ, подключенных к каждой нижней ВЦС |
512 |
768 |
1,024 |
1,024 |
1,536 |
2,048 |
2,560 |
Глобальные сети синхрочастоты |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
Число древовидных структур для ВЦС |
6 |
8 |
8 |
12 |
14 |
16 |
22 |
Общее количество ВЦС |
24 |
32 |
32 |
48 |
56 |
64 |
88 |
Общее количество ЛЯ |
3,072 |
6,144 |
8,192 |
12,288 |
21,504 |
32,768 |
56,320 |
Гибкое использование глобальных сетей синхронизации в микросхеме ProASICPLUS позволяет проектировщику справляться со многими требованиями проекта. Для приложений с высокими требованиями по синхрочастоте можно легко направить внешний или пропустить внутренний сигнал синхрочастоты через глобальную сеть по спинным хребтам. Пользователи могут также значительно уменьшить задержки в распространении сигнала и сэкономить ресурсы буферизации, если они будут использовать спинные хребты в том случае, когда им нужно реализовать цепи для сигналов с высоким разветвлением на выходе.
Блоки ввода-вывода
Чтобы удовлетворить сложным системным требованиям, семейство ProASICPLUS предлагает устройства с большим количеством пользовательских входов ввода-вывода, например, в микросхеме APA1000 их 712. Все микросхемы имеют совместимые по выводам корпуса для всех устройств семейства ProASICPLUS.
Если питание для выходов VDDP выбрано равным 3,3 В, то каждый ввод-вывод может быть выборочно сконфигурирован для работы с уровнями логики в 2,5 и 3,3 В.
В таблице 3 показаны доступные конфигурации напряжения питания (блок PLL использует независимое питание — 2,5 В на AVDD и входах AGND). Все вводы-выводы имеют схемы защиты от электростатического разряда. Каждый ввод-вывод был проверен на функционирование в соответствии с моделью человеческого тела (в MIL-STD-883, Метод 3015) при 2000 В.
Таблица 3. Напряжения питания ProASICPLUS
|
VDDP |
2,5 B |
3,3 B |
Входная совместимость |
2,5 B |
3,3 B, 2,5 B |
Выходные уровни |
2,5 B |
3,3 B, 2,5 B |
Шесть или семь стандартных контактных площадок ввода-вывода сгруппированы с контактной площадкой GND, а также с контактной площадкой VDDP или VDD. Два сигнала смещения опорного напряжения вводятся в чип и проходят по краю кристалла. Один защищает выходные каскады драйверов, в то время как другой создает виртуальное напряжение VDD для кольца драйверов ввода-вывода.
Пользовательские входы-выходы имеют полностью перестраиваемую конфигурацию, что обеспечивает максимальную гибкость и удобство в использовании. Каждый пользовательский вход-выход может быть сконфигурирован как вход, выход, драйвер с тремя состояниями или двунаправленный буфер. Блок-схема пользовательского входа-выхода приведена на рис. 8, а описание возможностей работы — в таблице 4.
Таблица 4. Описание пользовательских входов-выходов
Функция |
Описание |
Контактные площадки ввода-вывода, сконфигурированные как входы, имеют следующие особенности: |
- Индивидуально выбираемые пороговые уровни 2,5 B или 3,3 B
- Может быть включен резистор, подтягивающий к питанию
|
Контактные площадки ввода-вывода, сконфигурированные как выходы, имеют следующие особенности: |
- Индивидуально выбираемые сигналы выхода, соответствующие уровням логики 2,5 B или 3,3 B.
Если контактные площадки – сконфигурированы для операций с уровнями логики 2,5 B,
то они будут соответствовать сигналам уровня 2,5 B, как определено JEDEC JESD 8–5.
Если контактные площадки – сконфигурированы для операций с уровнями логики 3,3 B,
то они будут соответствовать стандартам JESD 8-A (LVTTL и LVCMOS), как определено JEDEC.
- Соответствует стандартам PCI – 2.2 3,3 B
- Способность управлять с уровнями сигналов LVTTL и LVCMOS
- Выбираемая при конфигурации мощность выходного драйвера
- Выбираемая при конфигурации скорости нарастания сигнала на выходе
- Каждый выход может работать как трехстабильный
|
Контактные площадки ввода-вывода, сконфигурированные как двунаправленные буферы, имеют следующие особенности: |
- Индивидуально выбираемые сигналы, соответствующие уровням логики 2,5 B или 3,3 B.
Если контактные площадки – сконфигурированы для операций с уровнями логики 2,5 B,
то они будут соответствовать сигналам уровня 2,5 B, как определено JEDEC JESD 8–5.
Если контактные площадки – сконфигурированы для операций с уровнями логики 3,3 B,
то они будут соответствовать стандартам JESD 8-A (LVTTL и LVCMOS), как определено JEDEC.
- Соответствует стандартам PCI – 2.2 3,3 B
- Может быть включен резистор, подтягивающий к питанию
- Может быть задана конфигурация с использованием на входе триггера Шмидта. Опция входа
– триггер Шмидта может быть использована не только для конфигурации двунаправленного
буфера, но и для входа. Этот тип входа может быть медленнее, чем стандартный вход при тех
же условиях и имеет типичный гистерезис ±0,3 B.
- Выбираемая при конфигурации мощность выходного драйвера
- Выбираемая при конфигурации скорости нарастания сигнала на выходе
- Каждый выход может работать как трехстабильный
|
Входы для сигналов LVPECL
В дополнение к стандартным входам-выходам и контактам питания, устройства ProASICPLUS имеют еще и специальные входы LVPECL на «восточной» и «западной» стороне устройства, если применить географическое описание расположения сигналов.
На контакты AVDD и AGND подводится питание для блоков PLL. Ячейка ввода LVPECL отличается от стандартной ячейки ввода-вывода. Она использует только питание VDD. Так как эта ячейка используется исключительно как вход, то для нее не требуется сигнала выхода, сигнала разрешения работы выхода или битов конфигурации выхода. Так как она представляет собой специальный высокоскоростной дифференциальный вход, то она также не требует и внешнего подпора (pull ups).
Входы LVPECL разработаны так, чтобы выполнить требования JEDEC по стандартным уровням приема сигналов LVPECL.
Временные характеристики микросхем
Временные характеристики для устройств ProASICPLUS относятся к трем категориям: зависимые от семейства, зависимые от устройства и зависимые от проекта. Характеристики буфера ввода и вывода одинаковы для всех членов семейства ProASICPLUS. Внутренние задержки, возникающие при роутинге, зависят от типа устройства. Зависимость от проекта означает, что фактические задержки не могут быть определены до тех пор, пока размещение и роутинг проекта пользователя не закончены. После выполнения размещения и роутинга проекта пользователя значения задержки могут быть определены, для чего используется утилита Timer из пакета программных инструментов фирмы Actel, или выполняется симуляция с учетом задержек, возникающих после размещения и роутинга. Так как устройства ProASICPLUS изготовлены по процессу CMOS, то производительность устройства изменяется с температурой или напряжением питания и зависит от разбросов технологического процесса при изготовлении микросхем. Минимальные параметры синхронизации отражают максимальное рабочее напряжение при минимальной рабочей температуре и при оптимальных изменениях технологического процесса.
Максимальные параметры синхронизации отражают минимальное рабочее напряжение при максимальной рабочей температуре и при наихудших изменениях технологического процесса (в пределах спецификаций процесса).
Тестирование
Устройства ProASICPLUS совместимы с интерфейсом Boundary-Scan Test по IEEE 1149.1, соответствующему стандарту JTAG. Этот интерфейс определяет набор аппаратной архитектуры и алгоритмов для эффективного испытания на уровне плат. Основная схема логики boundary-scan в ProASICPLUS составлена из TAP-порта (порта для подключения испытательного интерфейса), TAP-контроллера, испытательных регистров данных и регистра команд (рис. 9). Схема поддерживает все команды IEEE 1149.1 (EXTEST, SAMPLE/PRELOAD и BYPASS), дополнительные команды IDCODE и частные команды, используемые для программирования устройства
и фабричного испытания.
К каждой испытываемой секции обращаются через TAP-порт, который имеет пять входов: TCK — вход синхрочастоты, TDI и TDO—вход и выход данных, TMS — вход выбора режима и TRST — вход сброса. Входы TMS, TDI и TRST имеют подтягивающие к питанию резисторы для того, чтобы находиться в определенном состоянии в том случае, когда к ним не подключены внешние цепи. Эти входы предназначены только для использования в режиме boundary-scan.
Контроллер TAP получает два входных сигнала управления (TMS и TCK) и формирует сигналы управления и синхрочастоты для остальной части архитектуры испытательной логики. При включении контроллер TAP входит в состояние Test-Logic-Reset. Чтобы гарантировать сброс контроллера от любого из возможных состояний, TMS должен оставаться высоким не менее чем для пяти циклов TCK.
Вход TRST может также использоваться, чтобы асинхронно перевести контроллер TAP в состояние Test-Logic-Reset.
Устройствами ProASICPLUS поддерживаются три режима работы: обход, идентификация устройства и граничное сканирование.
Регистр обхода всегда выбран, когда в устройстве не нужно обращаться ни к какому другому регистру. Это ускоряет передачу данных на другие устройства в режиме испытаний.
Регистр идентификации устройства представляет собой 32-разрядный сдвиговый регистр с четырьмя полями (младший бит, номер идентификатора, номер части и версия).
Регистр граничного сканирования позволяет наблюдать состояние и управлять состоянием каждого входа-выхода устройства. Каждая ячейка входа-выхода имеет три ячейки регистра граничного сканирования, каждая со входом последовательных данных, выходом последовательных данных, входом параллельных данных и выходом параллельных данных. Последовательные входы и выходы ячеек boundary-scan используются для того, чтобы соединять ячейки последовательно, и, таким образом, в устройстве организуется единая последовательная цепь boundaryscan, которая начинается на входе TDI и заканчивается на выходе TDO. Параллельные порты связаны с внутренним ядром ЛЯ и входом-выходом и управляют портами буфера входа-выхода, чтобы фиксировать и загружать данные в регистр, а также чтобы управлять или наблюдать за состоянием каждого входа-выхода.
Использование порта JTAG позволяет производить тестирование микросхемы в составе платы пользователя. Кроме того, порт JTAG используется для режима программирования микросхемы на плате пользователя.
Проектная среда
Устройства ProASICPLUS поддерживаются программным обеспечением Designer, поставляемым фирмой Actel. При проектировании также могут использоваться и инструментальные средства автоматизации разработки третьих фирм. Возможность выбора любого программного инструментального средства разработки достигается тем, что поддерживается обмен файлами в стандартных форматах.
Программное обеспечение Designer соответствует промышленному стандарту по спискам связей (netlists) в Verilog, VHDL и в форматах EDIF, выполняет размещение проекта и роутинг проекта в выбранном устройстве, выдает информацию для расчета задержек, возникающих после размещения проекта, что необходимо для выполнения моделирования и статического временного анализа. Повышение эффективности проекта достигается посредством оптимизации синхронизации и оптимизации числа задействованных в проекте вентилей.
Процесс проектирования (рис. 10) подобен тому, что применяется при проектировании ASIC, поэтому в случае необходимости можно легко перейти к выполнению проекта в ASIC.
Размещение проекта и роутинг, выполняемые программным обеспечением Designer, можно выполнять как на рабочих станциях UNIX, так и на платформах PC.
Программа ACTgen, включенная в пакет Designer, может использоваться для того, чтобы автоматически генерировать блоки памяти, основанные на требованиях пользователя.
Разработчик может выбрать объем блока памяти, его разрядность, использование генерации бита четности или его проверку. Блок памяти может работать в синхронном или асинхронном режиме. Для операций синхронного чтения порта пользователь может выбрать режим работы порта по выходу — конвейеризированный или прозрачный. Когда выбрана разрядность блока памяти меньше, чем полная разрядность, например 16 бит, то остающиеся два бита недоступны для других блоков памяти. Программное обеспечение Designer Actel также позволяет оптимально сформировать блоки памяти с приращениями по 256 слов. Программа ACTgen также поз-
воляет пользователю генерировать распределенную память.
ACTgen обеспечивает все необходимое для конфигурации PLL по условиям схемы, задаваемым пользователем. Поскольку блоки PLL занимают в кристалле фиксированное положение, то программа ACTgen помогает пользователям произвести размещение проекта на кристалле.
Программа Designer может также генерировать BSDL-файлы (язык описания граничного сканирования), требуемые для того, чтобы документировать разрабатываемые компоненты по стандарту IEEE 1149.1. В дальнейшем BSDL-файлы могут использоваться автоматическим программным обеспечением испытательного оборудования.
По окончании разработки проекта программа создает файлы программирования либо как поток битовых данных программирования, либо файл типа staple. Файл программирования может быть загружен в программирующее устройство для того, чтобы запрограммировать микросхему ProASICPLUS.
Устройства ProASICPLUS могут быть запрограммированы программаторами Silicon Sculptor II или Flash Pro. Возможно и программирование на системе пользователя.
Заключение: несколько слов о том, как мы выбираем микросхемы
В заключение данной статьи хочется сказать только о том, как мы выбираем микросхемы для своих проектов. Существует довольно много научных методик выбора, где описывается огромное количество критериев для оптимизации. Однако кроме объективных критериев на практике огромную роль играют еще и субъективные критерии. Поэтому постараемся здесь остановиться только на наиболее «понятных».
- Параметры надежности. По этому параметру микросхемы фирмы Actel превосходят конкурентов. Именно фирма Actel держит первое место в мире по поставкам микросхем для военного и аэрокосмического секторов рынка.
- Отсутствие микросхемы-загрузчика и начало функционирования непосредственно при включении питания. По этому параметру микросхемы фирмы Actel превосходят конкурентов в таких применениях, как
бортовые устройства, микросхемы, выполняющие роль чипсетов для встроенных микроконтроллеров и особенно в тех применениях, где нельзя допускать сбой или частичный сбой аппаратуры, там, где аппаратура критична ко времени перезагрузки т. д.
- Необходимость освоения нового программного инструмента. По этому вопросу можно сказать следующее: сегодня все программные инструменты выполнены практически с одинаковым интерфейсом пользователя. Все программные инструменты позволяют подключать программы третьих фирм, поэтому с увеличением сложности проекта все разработчики рано или поздно приходят к использованию практически одних и тех же программ.
Применение же более сложных программ позволяет производить более качественную отладку и дает существенный выигрыш при «укладке» проекта в кристалл. Поэтому никаких особых осложнений, связанных с переходом на новые программные инструменты, быть не должно.
- Для некоторых пользователей может возникнуть необходимость освоения нового языка программирования. Те разработчики, которые использовали языки AHDL, Abel и другие языки группы HDL, вынуждены переходить на VHDL или Verilog при выборе продукции Actel. По этому вопросу можно сказать следующее: да, некоторые усилия, конечно, придется затратить. Сегодня ситуация в мире такова, что в «гонке на выживание» остались практически только два языка HDL-группы — VHDL и Verilog. Как было сказано выше, при увеличении сложности проектов необходимо будет применять более мощные инструменты разработки, которые «понимают» только VHDL и Verilog (см. п. 3). Более того, необходимо будет применять мегафункции, разработанные третьими фирмами. Или, как оборотная сторона этой медали, появится желание продавать
мегафункции собственной разработки.
Следовательно, необходимо, чтобы эти мегафункции были понятны как можно большему кругу разработчиков. Поэтому по данному пункту нужно сказать следующее: переход на VHDL и Verilog должен оправдать затраченные усилия, и необходимость перехода на языки VHDL и Verilog не может служить причиной для отказа в применении микросхем фирмы Actel.
- Вопросы, связанные с применением программатора. Сегодня фирма Actel выпускает ряд программаторов, способных удовлетворить нужды клиента. На выходе в серию находится «облегченный» вариант
программатора, напоминающий широко известный байт-бластер. Готовится к печати статья, в которой подробно освещаются вопросы программирования микросхем по интерфейсу JTAG. Поскольку файл программирования может быть получен в открытом формате Stapl, то любая фирма, где есть хотя бы один толковый программист, может наладить выпуск программаторов для микросхем.
- Вопросы, связанные с поставкой микросхем. Эти вопросы могут быть легко решены, поскольку теперь в России действует представительство фирмы.
- Техническая поддержка. Вопросы, связанные с технической поддержкой, консультациями по применению микросхем, вопросы обучения и проч. легко решаются в представительстве фирмы. Помощь в разработке или участие в разработке проекта пользователя осуществляется авторизованным техническим центром Actel в России — компанией ASICdesign.ru (www.asicdesign.ru).
Из приведенного выше списка параметров, по которым обычно разработчик выбирает производителя и поставщика микросхем, видно, что нет никаких причин, препятствующих переходу на проектирование с применением микросхем Flash-FPGA ProASICPLUS фирмы Actel.
Список литературы, приведенный в данной статье, позволит более полно рассмотреть свойства данной серии микросхем.
В следующих статьях будут описаны вопросы программирования (конфигурирования) FPGA, уникальные по своим характеристикам устойчивые к радиации FPGA, а также методики проведения разработки проектов для микросхем фирмы Actel.
Литература
- ProASICPLUS Flash Family FPGAs.
- Power-Up Behavior of ProASIC 500K Devices.
- Using FPGAs for Digital PLL Applications.
- ProASICPLUS PLL Dynamic Reconfiguration Using JTAG.
- Programming Actel Devices.
- Performing Internal In-System Programming Using Actel's ProASICPLUS Devices.
- В. Стешенко. Пакет Libero фирмы Actel //Компоненты и Технологии. 2002. No 6.
- ProASICPLUS Macro Library Guide. R1-2002.
- Actel Cross Reference Guide.
Иосиф Каршенбойм
|