Классификация по признаку кратности программирования, определяемой типом памяти конфигурации (называемой также теневой памятью), приведена на рисунок 7.
Рисунок 7. Классификация ПЛИС по типу теневой памяти.
В однократно программируемых ПЛИС используются элементы с необратимыми изменениями состояний — специальные перемычки или ЛИЗМОП-транзисторы. ЛИЗМОП-транзисторы имеют заряжаемые "плавающие" затворы, которые, в общем случае, могут как заряжаться, так и разряжаться. Для однократно программируемых ПЛИС возможности ЛИЗМОП-транзисторов используются лишь частично: для них применяются такие конструкции, в которых отсутствуют возможности стирания записанной информации.
В простых ПЛИС первых поколений применялись плавкие перемычки типа fuse. В таких ПЛИС в исходном состоянии имеются все возможные соединения, а для получения требуемой конфигурации схемы часть перемычек разрушается (пережигается). При программировании плавких перемычек возникает определенный процент брака, кроме того, со временем проводимость разрушенной перемычки может восстановиться из-за явления электромиграции в материалах. В течение многих лет велась большая работа по подбору материалов перемычек и усовершенствованию технологических процессов программирования, тем не менее для ПЛИС высокого уровня интеграции схемы с плавкими перемычками не подошли.
В однократно программируемых FPGA нашли применение пробиваемые перемычки типа antifuse. В исходном состоянии сопротивления перемычек чрезвычайно велики, а в пробитом достаточно малы. Перемычки очень компактны — их площадь близка к площади пересечения двух дорожек межсоединений. Паразитные емкости перемычек также очень малы. Больших успехов в разработке техники пробиваемых перемычек добились фирмы: Actel (перемычки типа ONO), QuickLogic (перемычки ViaLink), Crosspoint Solution (кремниево-аморфные перемычки) и Xilinx (перемычки MicroVia).
В третьем варианте (с плавающими затворами) роль программируемых элементов играют однозатворные ЛИЗМОП-транзисторы, а кристаллы микросхем размещаются в дешевых корпусах, не имеющих специальных окошек стирания информации (зарядов в плавающих затворах). Для транзисторов с одним (плавающим) затвором и каналом р-типа до программирования затвор не имеет заряда, и транзистор заперт. Введение в затвор заряда электронов приводит к возникновению в транзисторе проводящего канала. Заряд в плавающем затворе сохраняется в течение десятков лет. Память конфигурации с элементами описанного типа называют EPROM-OTP (Electrically Programmable Read-Only Memory — One Time Programmable). Однозатворные ЛИЗМОП-транзисторы компактны и дешевы.
Микросхемы с возможностямимногократного программирования со стиранием и записью конфигурации в специальных режимах также используют программируемые элементы в виде ЛИЗМОП-транзисторов. От предыдущего варианта эти микросхемы отличаются наличием средств стирания записанной в память информации.
Информация в элементах памяти типа EPROM стирается с помощью облучения кристалла ультрафиолетовыми лучами, что отражается в русском термине для этой памяти — РПЗУ-УФ (репрограммируемые запоминающие устройства с ультрафиолетовым стиранием). Кристалл со стертой конфигурацией можно запрограммировать вновь. Стирание конфигурации занимает десятки минут, а число циклов репрограммирования ограничено величинами порядка десятков-сотен, т. к. ультрафиолетовое облучение постепенно изменяет свойства кристалла.
В репрограммируемых ПЛИС с памятью конфигурации типа EEPROM (Electrically Erasable Programmable Read-Only Memory) стирание старых данных осуществляется электрическими сигналами. Используются двухзатворные ЛИЗМОП-транзисторы. Управление процессами в транзисторе производится с помощью двух затворов — обычного и плавающего. При определенных сочетаниях программирующих напряжений на внешних выводах транзистора (плавающий затвор внешнего вывода не имеет) создаются режимы как заряда плавающих затворов, так и их разряда. В русской терминологии память типа EEPROM называют ЭСППЗУ (электрически стираемое перепрограммируемое ПЗУ). Электрическое стирание содержимого памяти не требует извлечения микросхем из устройства, в котором они используются. Число допустимых циклов репрограммирования хотя и ограничено, но на порядки превышает соответствующие числа для памяти с ультрафиолетовым стиранием информации и составляет 105—106. Элементы памяти с электрическим стиранием вначале заметно проигрывали элементам с ультрафиолетовым стиранием по площади, занимаемой на кристалле, но быстро совершенствуются и становятся преобладающими для класса ПЛИС со стиранием конфигурации в специальных режимах.
К памяти типа EEPROM близка память конфигурации типа Flash. Запоминающие элементы по своему принципу действия у обоих видов памяти идентичны — это ЛИЗМОП с двумя затворами и электрическим стиранием информации. Различия имеются в организации процессов записи и стирания данных и, кроме того, при разработке Flash-памяти достигнут особенно высокий уровень параметров (быстродействия, уровня интеграции, надежности и др.). Разработку Flash-памяти считают кульминационным пунктом десятилетнего развития памяти типа EEPROM. В современных ПЛИС находят применение обе разновидности памяти конфигурации с электрическим стиранием данных.
Последний класс ПЛИС по второму признаку принятой классификации — оперативно репрограммируемые. В таких ПЛИС конфигурация задается с помощью загрузки файла в "теневую" триггерную память, т. е. операций, не имеющих какого-либо специального характера. В противоположность предыдущим вариантам для программирования не нужны ни специальные программаторы, ни специальные режимы с повышенными напряжениями и длительностями воздействий на элементы памяти. Память конфигурации — обычная статическая (триггерная), т. е. типа SRAM, Static Random Access Memory. Загрузка памяти производится с высокой скоростью, свойственной статической триггерной памяти, последовательным потоком битов или байтов. Элементом с программируемой проводимостью (режимом "замкнуто-разомкнуто") служит обычный МОП-транзистор, управляемый триггером памяти конфигурации (теневой памяти). Состояние триггера задает режим ключевому транзистору. Программирование соединения сводится к установке триггера в состояние 0 или 1. В рабочем режиме триггер сохраняет неизменное состояние. Стирание старой конфигурации и запись новой могут производиться неограниченное число раз путем перезагрузки памяти конфигурации.
Триггерная память не является энергонезависимой, и выключение питания ведетт к разрушению конфигурации ПЛИС, поэтому при очередном его включении нужно ее восстановить, загрузив в триггеры теневой памяти файл конфигурации из какой-либо энергонезависимой памяти. Загрузка производится введением файла конфигурации в цепочку триггеров теневой памяти и, в зависимости от объема файла, занимает десятки-сотни миллисекунд.
Программируемые соединения с триггерной памятью сложнее, чем предыдущие варианты, т. к. для каждого соединения требуются ключевой транзистор, триггер и цепи выборки и сброса/установки для управления триггером. Тем не менее эти ПЛИС в силу ряда достоинств занимают среди БИС/СБИС с программируемыми структурами очень важное место.
Возможности оперативной реконфигурации, свойственные ПЛИС с триггерной памятью, получили дальнейшее развитие в архитектурах с динамическим репрограммированием. В ПЛИС с динамическим репрограммированием конфигурация может быть изменена чрезвычайно быстро. Переход от одной конфигурации к другой не требует ввода извне нового файла конфигурации. Несколько вариантов настроек (файлов конфигурации) уже заранее заготовлены и введены в теневую память и постоянно хранятся в ней. Переход одной конфигурации на другую делается однотактно по команде управляющего сигнала.
ПЛИС с динамическим репрограммированием открывают ряд новых возможностей в области построения устройств и систем с многофункциональным использованием аппаратных ресурсов для решения сложных задач при их разбиении на последовательные этапы и реализации разных этапов на одних и тех же быстро перестраиваемых ПЛИС.