|
Дейв Барски
Быстродействующее ядро флэш-FPGA объемом 500 тысяч вентилей
FPGA из новой серии семейства ProASIC содержат до 1,1 млн. системных вентилей и поддерживают мелкоструктурное программирование.
Реализуя всё более и более сложные проекты на базе программируемых вентильных матриц (FPGA), разработчики часто получают низкий КПД при работе с крупномодульными логическими блоками на базе поисковых таблиц, используемых в матрицах на основе модулей SRAM. Это происходит при неэффективном построении схемы или ограничениях средств проектирования, используемых для логического синтеза. Кроме того, SRAM FPGA требуют организации цикла начальной загрузки, так как рабочая конфигурация логической схемы загружается или из встроенной памяти, или из внешней управляющей системы.
Специалисты компании Actel предлагают альтернативный подход — семейство FPGA высокой плотно-сти, которые содержат в себе большое количество логических флэш-ячеек, специализированные двухпортовые блоки памяти и возможность внутренней маршрутизации. Это семейство позволяет решить многие проблемы, связанные с реализацией FPGA на базе модулей SRAM.
Новая серия флэш-FPGA называется ProASIC 500K и имеет среди них наибольшую на сегодняшний день плотность. В основе технологии производства этих микросхем лежит 0,25-микронный КМОП процесс с возможностью формирования ячеек флэш-памяти и четырьмя уровнями металлизации. Изначально разработчики компании Actel включили в серию 7 микросхем, содержащих минимум 98000 (A500K050) и максимум 1,1 млн. (A500K510) вентилей. Последнее значение соответствует прибли-зительно 510000 несоединенных вентилей, включая память. Каждое изделие серии включает двухпортовый модуль SRAM, организованный в блоки из 256 9-бит слов. Каждый блок также имеет соответствующее устройство FIFO. Объёмы доступной памяти изменяются от 14 кбит в микросхемах A500K050 до 138 кбит в A500K510.
Микросхемы, предназначенные для приложений с интенсивным использованием устройств ввода/вывода, содержат большое количество конфигурируемых ячеек ввода/вывода. Так, микросхема A500K050 содержит 210, а A500K510 — 623 таких ячейки. С учётом различных конструктивных исполнений будет выпущено втрое большее число устройств, чем в начальной серии, содержащих от 144 до 784 выводов (включая все выводы питания и заземления).
Тем не менее, простого предложения большого объёма логики, памяти и устройств ввода/вывода явно не достаточно. Микросхемы должны быть быстродействующими настолько, чтобы обеспечивать выполнение сложных логических функций в системах с тактовой частотой от 30 до 100 МГц. Для получения высокой плотности расположения ячеек в 0,25-микронном КМОП процессе используют изоляцию канавками с малой глубиной. Изделия серии ProASIC могут обеспечить задержку при передаче по диагонали кристалла, не превышающую 4 нс; типичное время задержки выходного сигнала относительно входного импульса синхронизации составляет 7 нс, а время доступа к памяти — 7,5 нс. Все перечисленные значения свидетельствуют о скорости выполнения внутренних операций порядка 200 МГц.
При этом, ток потребления будет достаточно низким, так как ключевые флэш-ячейки, управляющие конфигурацией, потребляют весьма малую мощность. Кроме того, уменьшение характеристического размера приводит к снижению паразитных потерь мощности. Малые размеры ключевых ячеек позволяют разработчикам компании Actel использовать большее число ключей для получения более точных сегментированных связей. Это, в свою очередь, снижает резистивно-емкостную (RC) нагрузку на вентили, а значит и суммарную потребляемую мощность микросхемы.
Однако, как и предыдущие серии устройств ProASIC, серия 500K сохраняет мелкомодульную архитектуру логических ячеек, свойственную стандартной вентильной матрице, что позволяет использовать прежнюю методологию проектирования, хорошо знакомую разработчикам, ранее работавшим со стандартными матрицами или логическими ячейками. Такой подход удовлетворяет большинству перспективных задач, так как разработка системы на микросхемах с объёмом 40000 вентилей или выше производится с использованием языков проектирования высокого уровня, инструментов синтеза и библиотек интеллектуальной собственности (IP). Инструменты проектирования на уровне вентилей использу ются, как правило, только для организации логики, связывающей все эти блоки воедино.
Рис. 1. Базовая логическая ячейка микросхемы ProASIC 500K относительно проста и состоит из пары мультиплексоров и вентилей. Она может использоваться как логический элемент с тремя входами и одним выходом, реализующий комбинаторные логические функции или D-триггер. Каждый перепрограммируемый энергонезависимый коммутатор состоит из n-МОП ключевого транзистора, напрямую соединенного с одним флэш-транзистором (врезка)
Использование мелкомодульных логических ячеек обеспечивает высокую универсальность серии 500K. Быстродействующие, простые логические структуры наилучшим образом соответствуют методам автоматизированного синтеза устройств, а также использованию в FPGA заимствованных функциональных блоков. Они аналогичны обычным вентилям, применяемым в FPGA, но представляют собой программируемые логические ячейки с тремя входами и одним выходом, причём каждый из входов может быть запрограммирован для инверсии сигнала.
Базовая ячейка включает в себя несколько мультиплексоров, вентилей и флэш-коммутаторов, которые позволяют конфигурировать блок для формирования часто используемых трёхвходовых комбинаторных функ-ций или D-триггеров (рис. 1). Каждый перепрограммируемый энергонезависимый коммутатор состоит из ключевого n-МОП транзистора, напрямую соединённого с одним флэш-транзистором. Для удаления и инжекции электрического заряда на плавающий затвор флэш-транзистора используется эффект туннелирования Фоулера-Нордхейма.
Мелкомодульные логические ячейки совместно с простыми конфигурирующими флэш-коммутаторами позволяют значительно сократить область кристалла, занимаемую программирующей матрицей в целом. На практике такое устройство занимает около 60% от площади подобной схемы в SRAM FPGA. Меньший размер кристалла, а также возможность перепрограммирования ячеек флэш-памяти, позволили компании Actel предложить микросхемы с большим числом вентилей, по ценам, сравнимым с эквивалентными устройствами на основе модулей SRAM. Со временем компания надеется на дополнительное уменьшение размеров кристаллов и существенное снижение цен.
Базовые ячейки сгруппированы в блоки по 64, располагаемые подобно городским улицам и кварталам. На одной стороне матрицы размещаются блоки двухпортового ОЗУ (рис. 2). Поверх всех ячеек располагается металлизация связей, имеющих 4-уровневую иерархическую структуру.
Рис. 2. Схема 4-уровневой маршрутизации устройства включает быстрые локальные связи со смежными ячейками, длинные связи для объединения в группы одной, двух или четырех ячеек, быстродействующие шины длясвязи отдельных областей кристалла и линии глобальной синхронизации
Эти уровни включают сверхбыстродействующие локальные связи в пределах блока (связи с 8 окружающими ячейками), длинные линии для объединения групп ячеек (1, 2 или 4 ячейки), высокоскоростные шины для связи областей кристалла и 4 глобальных линии для работы с независимыми внешними сигналами синхронизации. Одна из этих четырёх линий может быть сконфигурирована как быстродействующая глобальная линия синхронизации с активным отрицательным фронтом длительностью менее 0,2 нс. Для уменьшения длины связей и снижения влияния на сигналы эффектов ветвления синтезирующее программное обеспечение автоматически вставляет в устройство активные буферы.
Мелкомодульный подход наиболее эффективен при реализации логических функций малой и средней сложности. Это объясняется минимальным количеством неиспользованной логики в каждой ячейке вследствие её малого размера. Собственные задержки ячейки плюс задержки в локальных связях составляют менее 0,5 нс, что даёт возможность организации быстродействующих логических операций в пределах локальной области. Кроме того, более простые блоки наилучшим образом подходят для автоматизированного программного синтеза устройств. В результате этого получается более эффективная с точки зрения количества используемой логики система, что минимизирует потребляемую мощность. В типовом варианте, содержащем 12 уровней логики, задержки позволяют обеспечить производительность, в худшем случае, 64,9 МГц.
Дополнение к логическим ячейкам — двухпортовые блоки SRAM (один порт на чтение, другой на запись), которые содержат вспомогательную логическую схему, позволяющую эффективно организовать буферы FIFO. Блоки памяти могут быть связаны определённым образом для организации трёхмерных массивов памяти. В синхронном или асинхронном режиме эти блоки могут работать на скоростях до 133 МГц.
Вспомогательная логическая схема блоков FIFO включает схемы декодирования, управления и генерации флагов состояния, а также схемы генерации и детектирования чётности. Время доступа и длительность цикла составляет всего 7,5 нс для каждого блока памяти. При объединении нескольких блоков время доступа слегка увеличивается. Для упрощения конфигурирования блоков памяти компания разработала и предлагает программный инструмент MEMORYmaster, автоматизирующий процесс синтеза и задания параметров.
Логические блоки и модули памяти окружены ячейками ввода/вывода, которые могут быть сконфигурированы индивидуально как для работы с напряжением питания 2,5 В, так и 3,3 В. Ядро микросхемы ProASIC 500K работает при напряжении 2,5 В. Через специальные буферы ввода/вывода оно может одновременно взаимодействовать с системами, имеющими различное напряжение питания.
Буферы ввода/вывода обеспечивают совместимость со стандартными интерфейсами PCI 3.3 В, низковольтными ТТЛ (LVTTL) или КМОП (LVCMOS), а также возможность программного управления скоростью нарастания выходного сигнала, которая может принимать значения 25, 50 или 100 мА/нс. Выходной ток буфера принимает значения 6 или 12 мА. Кроме того, каждый буфер ввода/вывода имеет возможность программного выбора величины сопротивления нагрузочного резистора.
Программирование устройства осуществляется через включённый в микросхему стандартный порт JTAG. Микросхемы ProASIC имеют несколько функций обеспечения безопасности и трассировки, которые могут быть задействованы во время программирования. Например, в микросхему введён специальный бит защиты от считывания программ. А для идентификации пользователя служит 12-значный алфавитно-цифровой код, который хранится в специальном регистре и может быть считан только программистом.
Для программирования устройств с использованием программных средств Silicon Sculptor и Silicon Explorer II применяется специальное контактное приспособление с 26 выводами, которое может быть присоединено к плате, содержащей микросхему ProASIC. Эта функция позволяет программировать FPGA непосредственно в системе. Как уже говорилось ранее, методика проектирования на устройствах ProASIC схожа с методикой, опирающейся на обычные вентильные матрицы или специализированные микросхемы на стандартных ячейках, а значит, разработчики могут спокойно использовать большинство инструментов синтеза и верификации использовавшихся ранее.
Результаты верификации синхронизации могут быть обработаны с помощью программного обеспечения ASICmaster компании Actel. Оно выполняет размещение и маршрутизацию, а также обеспечивает связь с программными средствами анализа синхронизации в статическом режиме третьих производителей. К концу 1999 года компания планирует выпустить собственный подобный пакет. В него также войдёт 2-1/2-D RC экстрактор, асимптотический калькулятор задержек и формы сигналов и система отслеживания изменений (TeraPlace). Конфигурацию блоков памяти обеспечит пакет программ MEMORYmaster.
Программное обеспечение предоставляет разработчикам множество функциональных возможностей, таких как, например, просмотр топологии устройства и расчёт потребляемой мощности, а также измерение реальных задержек и вставку их в программы моделирования. Программные средства позволяют в интерактивном режиме изменять местоположение блоков и цепей, назначение выводов, систему приоритетов и управлять буферами. ПО ASICmaster работает на базе рабочих станций Sun и HP, а также платформы Windows NT.
При заказе партий до 100 штук, стоимость микросхем A500K050 и A500K130 составляет $100 и $200, соответственно, что меньше стоимости большинства матриц SRAM FPGA. При больших заказах стоимость снижается до $18 и $32, соответственно. Устройства A500K180 и A500K270 будут доступны в четвёртом квартале 1999 года, остальные — в первой половине следующего года.
По информации компании «Actel»
|