ПЛИС – что же это на самом деле

 

FPGA (field programmable gate arrays) – или ПЛИС (программируемые логические интегральные схемы) представляют собой цифровые интегральные микросхемы, состоящие из программируемых логических блоков и программируемых соединений между этими блоками [1]. 

Возможность конфигурировать данные устройства позволяет инженерам-разработчикам решать множество различных задач:

 

 

 Проектирование заказных интегральных схем;
 Цифровая обработка сигналов;
 Разработка встраиваемых микроконтроллеров;
 Передача данных на физическом уровне;
 Разработка систем с перестраиваемой системой. 
И все таки, что же это на самом деле? Родоначальником ПЛИС считается фирма Xilinx. Сейчас она входит в число самых крупных производителей ПЛИС. Принципы функционирования структурных элементов ПЛИС фирмы Xilinx узнаваемы в архитектурах ПЛИС других фирм-производителей, таких как, Altera, Actel, Atmel.
Рассмотрим внутреннею структуру на примере ПЛИС фирмы Xilinx. Они выполнены по SRAM КМОП технологии. Характеризуются высокой гибкостью структуры и изобилием на кристалле триггеров. При этом логика реализуется посредством так называемых LUT – таблиц (Look Up Table) Xilinx, а внутренние межсоединения – посредством разветвлённой иерархии металлических линий, коммутируемых специальными быстродействующими транзисторами. В семействе ПЛИС фирмы Xilinx преобладают две серии – это Spartan и Virtex, Отличие архитектуры например семейства Spartan-IIE от архитектуры семейства Virtex-E заключается в меньшем в 2 раза количестве блоков памяти и блоков управления синхронизацией. Блок-схема архитектуры семейства Spartan-IIE показана на рисунке 1 [2].

ПЛИС – что же это на самом деле
Рисунок 1. Обобщённая блок-схема ПЛИС семейства "Spartan-IIE"


Архитектура кристалла семейства Spartan-IIE состоит из пяти основных конфигурируемых элементов:
 блоков ввода/вывода (БВВ), осуществляющих соединение внутренней логики кристалла с выводами корпуса микросхемы;
 конфигурируемых логических блоков (КЛБ), реализующих логические и регистровые функции;
 блочной памяти, каждый блок по 4096 бит;
 модулей управления синхронизацией (DLL);
 трассировочных ресурсов, осуществляющих соединение перечисленных выше элементов.
ПЛИС находят широкое применение благодаря тому, что их можно включать в большинство проектов вычислительных устройств и ими можно заменять большое количество старых микросхем. Предпосылкой этому служит большое число блоков ввода-вывода сигналов (IOB), настраиваемых под различные стандарты электрического соединения входов микросхем. На рис.2 показана структура одного IOB. Блоки ввода/вывода поддерживают 19 сигнальных стандартов ввода/вывода, включая дифференциальные стандарты LVDS, BLVDS и LVPECL. Дифференциальные стандарты LVDS и BLVDS позволяют коммутировать ПЛИС семейства Spartan-IIE с другими микросхемами на плате без использования дополнительных конверторов или трансляторов. Помимо этого, дифференциальные стандарты более скоростные, чем однопроводные, позволяют снизить энергопотребление кристалла и шумы, а также устраняют электромагнитные наводки. В табл. 1 представлены все поддерживаемые стандарты ввода/вывода. Совместимость по входу с 5-В логическими сигналами обеспечивается подключением последовательного резистора на 100 Ом.

ПЛИС – что же это на самом деле

Рисунок 2. Структура одного IOB


Таблица 1. Поддерживаемые Spartan-IIE стандарты ввода/вывода

ПЛИС – что же это на самом деле


КЛБ состоит из двух секций, каждая из которых состоит из двух 4-входовых функциональных генераторов, логики ускоренного переноса и двух регистровых элементов (рис. 3). Каждый КЛБ содержит два буфера с тремя состояниями, которые позволяют реализовать внутрикристальные шины. Аналогичные ПЛИС других фирм таких буферов не имеют, а эмулируют их за счёт использования функциональных генераторов [2].

ПЛИС – что же это на самом деле

Рисунок 3. Структура КЛБ


В новых сериях ПЛИС количество триггеров и логических таблиц (функциональных генераторов) увеличилось вдвое и вчетверо. Чтобы оставить для всех серий одну и ту же единицу оборудования, условились называть КЛБ из двух триггеров и двух ЛТ эквивалентным КЛБ (ЭКЛБ) или CLB slice. Таким образом, КЛБ серии Virtex состоит из двух ЭКЛБ, а серии VirtexII - из четырех ЭКЛБ.
Блочная память (Block RAM). Блоки памяти Block Select RAM организованы в виде столбцов. Все кристаллы Spartan-II содержат два таких столбца, по одному вдоль каждой вертикальной кромки. Эти колонки увеличивают полный размер кристалла. Каждый блок памяти равен по высоте четырем КЛБ, таким образом, микросхема Spartan-II, имеющая 8 КЛБ по высоте, содержит 2 блока памяти на колонку и 4 блока памяти в целом. Каждый блок памяти (рис. 4) - это синхронная двухпортовая RAM с независимым управлением для каждого порта. Размерность шины данных для обеих портов может быть сконфигурирована независимо, что позволяет создавать преобразователи размерности шины. В табл. 2 показаны возможные соотношения размерностей шин данных и адреса.

Таблица 2. Возможные соотношения размерностей шин данных и адреса

ПЛИС – что же это на самом деле


ПЛИС – что же это на самом деле

Рисунок 4. Блок памяти


Модули автоподстройки задержки (DLL). Полностью цифровая автоподстройка задержки (DLL) может устранять перекос задержек между синхросигналом на входном контакте микросхемы и сигналами на тактовых входах внутренних схем устройства. Дополнительная задержка вводится таким образом, чтобы фронты сигналов синхронизации достигали внутренних триггеров в точности на один период синхронизации позже их прихода на входной контакт. Эта система с обратной связью эффективно устраняет задержку распределения сигналов синхронизации, гарантируя, что фронты синхросигналов на входе микросхемы и на внутренних тактовых входах с большой точностью синхронны. Вдобавок, для устранения задержек, возникающих при распределении тактовых сигналов, DLL создаёт новые возможности управления функциями синхронизации. Модуль DLL может создавать четыре квадратурные фазы из исходного источника синхросигнала; удваивать частоту синхросигнала или делить эту частоту на 1,5, 2, 2,5, 3, 4, 5, 8 или 16. Модуль DLL также функционирует как тактовое зеркало. Путём вывода из микросхемы сигнала с выхода DLL и последующего ввода этого сигнала снова внутрь кристалла, схема DLL может устранить разбег фаз для тактовых сигналов на уровне печатной платы при работе с несколькими микросхемами Spartan-IIE. Чтобы гарантировать, что системная синхронизация будет нормально функционировать до момента окончания конфигурирования системы и начала штатной работы, схема DLL имеет возможность задерживать процесс конфигурирования до нормальной синхронизации с системой.
Логическая таблица. Роль основного логического элемента в ПЛИС играет логическая таблица (ЛТ) или look-up table (LUT), представляющая собой однобитное ОЗУ на 16 ячеек. В ЛТ по адресу G3,G2,G1,G0 записана единица, если код адреса представляет собой конституенту единицы заданной четырехвходовой логической функции. Например, если по адресу 1,1,1,1 записана единица, а по остальным адресам - ноль, то ЛТ реализует четырехвходовую функцию И. На рис. 5 показан пример кодирования функции Исключающее ИЛИ на четыре входа.

ПЛИС – что же это на самом деле

Рисунок 5. Пример кодирования логической таблицы


Триггер. В ПЛИС используются программируемые D-триггеры. При конфигурировании можно задать такие режимы работы триггера, как триггер с начальным сбросом (R) или начальной установкой (S), с записью по фронту или спаду синхросерии, с разрешением или без разрешения записи.

ПЛИС – что же это на самом деле

Рисунок 6. D-триггер


После окончания конфигурирования ПЛИС выдает сигнал общего сброса GSR, который устанавливает все триггеры в 0 или 1.

Материал, представленный в статье дает лишь общее представление о ПЛИС. В наше время развитие электроники неумолимо движется вперед, что оказывает влияние и на появление совершенно новых структур и разновидностей ПЛИС. Более подробная информация о ПЛИС, представлена на web-сайте компании Xilinx: www.xilinx.com и сайтах компаний других производителей ПЛИС.
По возникшим вопросам обращаетесь на почту chip@masteram.by или на наш форум.
Литература
1. Максфилд, К. Проектирование на ПЛИС. Архитектура, средства и методы / К. Максфилд – М. : Додэка-XXI, 2007. – 18 с.
2. Кнышев Д.А., Кузелин М.О. ПЛИС фирмы Xilinx: описание структуры основных семейств. М.: Издательский дом "Додека-XXI", 2000. 240 с.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.