Первыми представителями программируемых ИС явились программируемые логические матрицы ПЛМ, программируемая матричная логика ПМЛ и базовые матричные кристаллы БМК, называемые также вентильными матрицами. ПМЛ и ПЛМ в английской терминологии часто объединяются терминомPLD, ProgrammablelogicDevices.
Развитие БИС/СБИС с программируемой и репрограммируемой логикой оказалось настолько перспективным направлением, что привело к созданию новых эффективных средств разработки цифровых систем, таких
какCPLD (Complex PLD), FPGA (Field Programmable Gate Array) иSPGA (System Programmable Gate Array).
Основой программируемых логических матриц служит последовательность элементов И и ИЛИ. В структуру также входят блоки входных и выходных буферных каскадов (рис. 3.1)
Входные буферы, как правило, предназначены дляпреобразования однофазных входных сигналов в парафазные и формирования сигналов необходимой мощности для питания матрицы элементов И.
Выходные буферы обеспечивают необходимую нагрузочную способность выходов, разрешают или запрещают выход ПЛМ на внешние шины с помощью сигнала OE, а иногда выполняют и более сложные действия.
Переменные x1…xm подаются через входные буферные каскады на входы элементов И, и в матрице И образуют L термов. Терм – это конъюнкция, связывающая входные переменные, представленные в прямой или инверсной форме. Число формируемых термов равно числу выходов матрицы И.
Термы подаются далее на входы матрицы ИЛИ, т.е. на входы дизъюнкторов формирующих выходные функции. Число дизъюнкторов равно числу вырабатываемых функций N. Воспроизводимые функции являются комбинациями из любого числа термов, формируемых матрицей И. Какие именно термы будут выработаны и какие комбинации этих термов составят входные функции, определяется программированием. Таким образом, ПЛМ способна реализовать систему N логических функций от M аргументов, содержащую не более L термов.
Принцип программирования основан на том, что в матрицах имеются системы горизонтальных и вертикальных связей , в узлах которых при программировании создаютсяили ликвидируются связи. В качестве узлов связей используются диоды. До программирования все перемычки целы и диоды связи размещены во всех узлах координатной сетки. При программировании в схеме остаются только необходимые элементы связи, а ненужные устраняются пережиганием перемычек.
Логическая мощность ПЛМ зачастую используется не полностью. Это проявляется, в частности, при воспроизведении типичных функций, не имеющих больших пересечений друг с другом по одинаковым термам. В таких случаях возможность использования выходов любых конъюнкторов любыми дизъюнкторами становится излишним усложнением. Отказ от этой возможности означает использование не программируемой, а заданной матрицы ИЛИ. Структура в которой выходы матрицы И жёстко распределены между элементами ИЛИполучила название ПМЛ.В сравнении с ПЛМ схемы ПМЛ имеют меньшую гибкость, т.к. матрица ИЛИ фиксирована, но их изготовление дешевле и использование проще.
Отдельной ветвью в развитии программируемых интегральных схем являются базовые матричные кристаллы (вентильные матрицы с масочным программированием). Основа первых БМК – совокупность регулярно расположенных на кристалле базовых ячеек (БЯ), между которыми имеются свободные зоны (каналы) для создания соединений. БЯ занимают внутреннюю область БМК, в которой они расположены по столбцам, и содержат группы нескоммутированных элементов (транзисторов, резисторов и др.). В периферийной области размещены ячейки ввода-вывода. Потребитель может реализовать на основе БМК некоторое множество устройств определённого класса, задав тот или иной вариант рисунка межсоединений компонентов. Основной характеристикой БМК помимо числа эквивалентных вентилей является трассировочная способность, которая определяется площадью отводимой для межэлементных связей в ортогональных направлениях. Недостаточная трассировочная способность приводит к уменьшению числа задействованных при построении базовых ячеек. Избыточная трассировочная способность ведёт к нерациональному использованию кристалла, что понижает уровень интеграции БМК и повышает его стоимость. Для решения подобных проблем строятся многослойные БМК, при этом число слоёв межсоединений может составлять от 2 до 6 и более.
Ранее перечисленные архитектуры ПЛИС, содержащие небольшое количество ячеек, к настоящему времени морально устарели и применяются для реализации относительно простых устройств, для которых не существует готовых ИС средней степени интеграции [8]. Для реализации крупных проектов они не пригодны.
Развитие технологий, опыт использования программируемых интегральных логических схем (ПЛИС) приводит к выводу, что это максимально удобная в освоении и применении элементная база, альтернативы которой зачастую не найти. Последние годы характеризуются резким ростом плотности упаковки элементов на кристалле, многие ведущие производители либо начали серийное производство, либо анонсировали ПЛИС с эквивалентной ёмкостью более одного миллиона эквивалентных вентилей на кристалл.
Современные ПЛИС классифицируются по конструктивно-технологическому типу программируемых элементов. Число программируемых двухполюсников (программируемых точек связи ПТС) в ПЛИС зависит от сложности и может доходить до нескольких миллионов. Наиболее характерны следующие виды программируемых ключей:
- перемычки типа antifuse
- ЛИЗМОП транзисторы с двойным затвором
- ключевые транзисторы, управляемые триггерами памяти конфигурации (теневым ЗУ) [7].
Программирование с помощью перемычек antifuse является однократными. Высококачественные перемычки фирмы Actel компактны, имеют очень малые токи в первоначальном (непроводящем) состоянии (порядка10-15А). Перемычка образована трёхслойным диэлектриком с чередованием слоёв оксид-нитрид-оксид. Программирующий импульс напряжения пробивает перемычку и создаёт проводящий канал из поликремния между электродами. Величина тока, создаваемого импульсом программирования, влияет на диаметр проводящего канала (например ток 5 мА создаёт перемычку с сопротивление 600 Ом, ток 15мА – 100 Ом) [7].
Элементы EPROM и EEPROM на ЛИЗМОП (МОП-структуры с лавинной инжекцией заряда) транзисторах с плавающих затвором используются в ПЛИС, где с помощью программируемой памяти задаётся конфигурация схемы. Стирание старой конфигурации в ПЛИС на основе EPROM требует длительного (около 1 часа) облучения УФ-излучением. Такие микросхемы имеют ограничение количества циклов перепрограммирования из-за деградации свойств полупроводниковых материалов под воздействием ультрафиолета. Технология EEPROM, для обновления не требует извлечения микросхемы, допускает достаточно большое число циклов стирания (104…106). Процесс стирания и обновления конфигурации занимает время порядка миллисекунд. В последнее время схемотехника EEPROM совершенствуется и всё больше вытесняет схемотехнику EPROM. Технология программируемой памяти применяется в ПЛИС типа CPLD.
В качестве программируемого элемента связи в ПЛИС FPGA используется транзисторный ключ, управляемый триггером, показанный на рис.3.2Ключевой транзистор Т2 замыкает или размыкает участок АВ в зависимости от состояния триггера. При программировании на линию выборки подаётся высокий потенциал, и транзистор Т1 включается. С линии записи-чтения подаётся сигнал, устанавливающий триггер в состояние «1» и «0».
Загрузка соответствующих данных в память конфигурации программирует ПЛИС. Быстрый процесс оперативного программирования может производиться неограниченное число раз. При выключении питания конфигурация теряется. Каждый раз при включении питания необходим процесс инициализации (конфигурирования) схемы - загрузка данных из энергонезависимой памяти [1].
ИС класса ПЛМ и ПМЛ имеющие структуру весьма удобную для построения цифровых автоматов положили начало развития архитектуры программируемых коммутируемых матричных блоков (ПКМБ), которые представляют собой ПЛИС содержащую несколько матричных логических блоков, объединённых коммутационной матрицей. ПЛИС типа ПКМБ, как правило, имеют высокую степень интеграции (до 10 тыс. эквивалентных вентилей). К этому классу относятся ПЛИС семейства MAX5000, MAX7000 фирмы Altera, схемы XC7000, XC9500 фирмы Xilinxи др. ПЛИС класса ПКМБ в зарубежной литературе получили название CPLD (ComplexPLD).
Архитектурно CPLD состоят из центральной коммутационной матрицы, множества функциональных блоков ФБ (макроячеек) и блоков ввода-вывода на периферии кристалла. Система коммутации построена на основе непрерывных связей, что даёт хорошую предсказуемость задержек сигналов в связях. Программируемая матрица соединений (PIA) позволяет соединить выход любого ЛБ с входами других и обеспечить связи с вертикальными и горизонтальными линиями. Как и во всех ПЛИС, логические операции производятся в ЛБ, которые соединяются в единую систему с помощью ПМС. Каждый ЛБ содержит 16 макроячеек. Классическим представителем CPLD являются микросхемы семейства MAX7000, фирмы Altera, имеющими память конфигурации типа EEPROM. В настоящее время выпускаются ПЛИС MAX7000, MAX7000A, MAX7000B, MAX7000E, MAX7000S. Семейства MAX7000A и MAX7000B рассчитаны на работу в системах с напряжением питания 3,3 и 2,5В соответственно, ПЛИС MAX7000S является дальнейшим развитием 5-вольтовогоMAX7000, с возможностью программирования в системе (ISP, In-systemprogrammability) и периферийного сканирования в соответствии со стандартом IEEEStd. 1194.1 JTAG. Фрагмент структуры CPLDMAX7000S дающий достаточно полное представление о ней изображён на рисунке 3.3а.