double arrow

Тема 14. Программируемые логические интегральные схемы


1. БИС/СБИС с программируемой и репрограммируемой структурой

В цифровые системы обработки информации входят процессор, память, периферийные устройства и интерфейсные схемы. Процессор является стандартным устройством – он не изготовляется для конкретной системы по специальному заказу, а решает требуемую задачу путем последовательного выполнения определенных команд из присущей ему системы команд.

Память также реализуется стандартными микросхемами – ее функции остаются одними и теми же для разных систем.

Стандартные БИС/СБИС лидируют по уровню интеграции, т.к. высокая стоимость проектирования оптимизированных по плотности БИС/СБИС, достигающая сотен миллионов долларов, оказывается в данном случае приемлемой, поскольку раскладывается на большое число производимых микросхем.

Наряду со стандартными в системе присутствуют и некоторые нестандартные части, специфичные для данной разработки. Это относится к схемам управления блоками, обеспечения их взаимодействия и др. Реализация нестандартной части системы исторически была связана с применением микросхем малого и среднего уровней интеграции. Применение МИС и СИС сопровождается резким ростом числа корпусов ИС, усложнением монтажа, снижением надежности системы и ее быстродействия. В то же время заказать для системы специализированные ИС высокого уровня интеграции затруднительно, т.к. это связано с очень большими затратами средств и времени на проектирование БИС/СБИС.




Возникшее противоречие нашло разрешение на путях разработки БИС/СБИС с программируемой и репрограммируемой структурой – программируемых логических интегральных схем (ПЛИС).

Первыми представителями указанного направления явились программируемые логические матрицы ПЛМ (PLA, Programmable Logic Array), программируемая матричная логика ПМЛ (PAL, Programmable Array Logic) и базовые матричные кристаллы БМК, называемые также вентильными матрицами ВМ (GA, Gate Array). PLA и PAL в английской терминологии объединяются также термином PLD (Programmable Logic Devices).

Развитие БИС/СБИС с программируемой и репрограммируемой структурой оказалось настолько перспективным направлением, что привело к созданию новых эффективных средств разработки цифровых систем, таких как CPLD (Complex PLD), FPGA (Field Programmable GA) и SPGA (System Programmable GA).

В рамках современных БИС/СБИС с программируемой и репрограммируемой структурой стала решаться и задача создания целой системы на одном кристалле.

2. Программируемые логические матрицы, программируемая матричная
логика, базовые матричные кристаллы

Программируемые логические матрицы (ПЛМ)

Программируемые логические матрицы появились в середине 70-х годов. Основой их служит (рис. 40) последовательность программируемых матриц элементов И и ИЛИ. В структуру входят также блоки входных и выходных буферных каскадов (БВх и БВых).



Рис. 40

Входные буферы, если не выполняют более сложных действий, преобразуют однофазные входные сигналы в парафазные и формируют сигналы необходимой мощности для питания матрицы элементов И.

Выходные буферы обеспечивают необходимую нагрузочную способность выходов, разрешают или запрещают выход ПЛМ на внешние шины с помощью сигнала ОЕ, а иногда выполняют и более сложные действия.

Основными параметрами ПЛМ (рис. 7.1) являются число входов m, число термов l и число выходов n.

Переменные x1...xm подаются через БВх на входы элементов И (конъюнкторов), и в матрице И образуются l термов. Под термом здесь понимается конъюнкция, связывающая входные переменные, представленные в прямой или инверсной форме. Число формируемых термов равно числу конъюнкторов или, что то же самое, числу выходов матрицы И.

Термы подаются далее на входы матрицы ИЛИ, т.е. на входы дизъюнкто-ров, формирующих выходные функции. Число дизъюнкторов равно числу вырабатываемых функций n.

Таким образом, ПЛМ реализует дизъюнктивную нормальную форму (ДНФ) воспроизводимых функций (двухуровневую логику). ПЛМ способна реализовать систему n логических функций от m аргументов, содержащую не более l термов. Воспроизводимые функции являются комбинациями из любого числа термов, формируемых матрицей И. Какие именно термы будут выработаны и какие комбинации этих термов составят выходные функции, определяется программированием ПЛМ.



Выпускаются ПЛМ как на основе биполярной технологии, так и на МОП-транзисторах. В матрицах имеются системы горизонтальных и вертикальных связей, в узлах пересечения которых при программировании создаются или ликвидируются элементы связи.

На рис. 41, а в упрощенном виде (без буферных элементов) показана схемотехника биполярной ПЛМ с программированием пережиганием перемычек.

а) б)

Рис. 41

Элементами связей в матрице И служат диоды, соединяющие горизонтальные и вертикальные шины, как показано на рис. 41, б. Совместно с резистором и источником питания цепи выработки термов образуют обычные диодные схемы И. До программирования все перемычки целы, и диоды связи размещены во всех узлах координатной сетки. При любой комбинации аргументов на выходе будет ноль, т.к. на вход схемы подаются одновременно прямые и инверсные значения аргументов. При программировании в схеме оставляются только необходимые элементы связи, а ненужные устраняются пережиганием перемычек. Высокий уровень выходного напряжения (логическая единица) появится только при наличии высоких напряжений на всех входах, низкое напряжение хотя бы на одном входе фиксирует выходное напряжение на низком уровне, т.к. открывается диод этого входа. Так выполняется операция И.

Элементами связи в матрице ИЛИ служат транзисторы (рис. 42), включенные по схеме эмиттерного повторителя относительно линий термов и образующие схему ИЛИ относительно выхода (горизонтальной линии).

Рис. 42

При изображении запрограммированных матриц наличие элементов связей (целые перемычки) отмечается точкой в соответствующем узле.

В схемах на МОП-транзисторах в качестве базовой логической ячейки используют инвертирующие элементы (ИЛИ-НЕ, И-НЕ). Соответственно этому меняются и операции, реализуемые в первой и второй матрицах ПЛМ. В частности, в схемотехнике n-МОП базовой ячейкой обычно служит ячейка ИЛИ-НЕ, а структура ПЛМ имеет вид (рис. 43). Такая ПЛМ является последовательностью двух матриц ИЛИ-НЕ, одна из которых служит для выработки термов, другая – для выработки выходных функций.

Рис. 43

В соответствии с правилами де Моргана функциональные характеристики биполярной ПЛМ и ПЛМ на МОП-транзисторах фактически совпадают: если на входы последней подавать аргументы, инвертированные относительно аргументов биполярной ПЛМ, то на выходе получим результат, отличающийся от выхода биполярной ПЛМ только инверсией.

Программируемая матричная логика (ПМЛ)

Одно из важных применений БИС программируемой логики – замена ИС малого и среднего уровня интеграции при реализации так называемой произвольной логики. В этих применениях логическая мощность ПЛМ зачастую используется неполно. Это проявляется, в частности, при воспроизведении типичных для практики систем логических функций, не имеющих больших пересечений друг с другом по одинаковым термам. В таких случаях возможность использования выходов любых конъюнкторов любыми дизъюнкторами (как предусмотрено в ПЛМ) становится излишним усложнением. Отказ от этой возможности означает отказ от программирования матрицы ИЛИ и приводит к структуре ПМЛ (PAL, GAL).

В ПМЛ (рис. 44) выходы элементов И (выходы первой матрицы) жестко распределены между элементами ИЛИ (входами матрицы ИЛИ). В показанной ПМЛ m входов, n выходов и 4n элементов И, поскольку каждому элементу ИЛИ придается по четыре конъюнктора.

В сравнении с ПЛМ схемы ПМЛ имеют меньшую функциональную гибкость, т.к. в них матрица ИЛИ фиксирована, но их изготовление и использование проще. Преимущества ПМЛ особенно проявляются при проектировании несложных устройств.

Рис. 44

Базовые матричные кристаллы (БМК)

Первые образцы базовых матричных кристаллов появились в 1975 г. как средство реализации нестандартных схем высокопроизводительной ЭВМ без применения микросхем малого и среднего уровней интеграции. Разработка БМК, кроме того, позволила выполнить и нетиповые части машины на БИС.

Стоимость проектирования БИС/СБИС велика и достигает десятков или даже сотен миллионов долларов. Ясно, что производство БИС/СБИС становится рентабельным только при достаточно большом объеме их потребления, чего нет при разработке нестандартных частей конкретных систем.

Выход из создавшихся трудностей был найден на путях разработки БИС/СБИС, функционирование которых может быть приспособлено к решению той или иной задачи на заключительных этапах их производства. При этом полуфабрикаты производятся в массовом количестве без ориентации на конкретного заказчика. Придание полуфабрикатам индивидуального характера лишь на заключительных стадиях производства БИС/СБИС обходится значительно дешевле и требует значительно меньшего времени на проектирование. Такие БИС/СБИС называют полузаказными в отличие от полностью заказных.

Развитие полузаказных БИС/СБИС привело к появлению ряда их разновидностей. Применительно к БМК это канальные, бесканальные и блочные архитектуры.

Основа БМК – совокупность регулярно расположенных на кристалле базовых ячеек (БЯ), между которыми имеются свободные зоны для создания соединений (каналы). Эта архитектура называется канальной. Базовые ячейки занимают внутреннюю область БМК, в которой они расположены по строкам и столбцам, и содержат группы нескоммутированных элементов (транзисторов, резисторов и др.). В периферийной области кристалла размешены ячейки ввода/вывода, набор схемных компонентов которых ориентирован на реализацию связей БМК с внешними цепями.

Таким образом, БМК является заготовкой, которая преобразуется в требуемую схему выполнением необходимых соединений. Потребитель может реализовать на основе БМК некоторое множество устройств определенного класса, задав для кристалла тот или иной вариант рисунка межсоединений компонентов.

Канальная архитектура характерна для биполярных БМК, т.к. значительная мощность рассеивания биполярных БЯ сама по себе препятствует плотной их упаковке.

Повышение уровня интеграции БМК ведет к быстрому росту числа необхо­димых межсоединений между базовыми ячейками, а значит и площади, отводимой для них. Поиск путей создания БМК высокого уровня интеграции с минимизацией площади, отводимой под межсоединения, привел к бесканальной архитектуре БМК. Внутренняя область такого БМК содержит плотно упакованные ряды базовых ячеек и не имеет фиксированных каналов для трассировки межсоединений. В этом кристалле любая область, в которой расположены БЯ (строка, столбец либо их часть) может быть использована как для создания логической схемы, так и для создания межсоединений. Вследствие более рационального расположения связей в бесканальном БМК уменьшается и задержка передачи сигналов по связям, т.к. и длины и паразитные емкости межсоединений уменьшаются.

Бесканальные БМК характерны для КМОП-схемотехники, в которой компактность схемных элементов и малая мощность рассеяния БЯ при их работе на не слишком высоких частотах способствуют возможностям плотной упаковки базовых ячеек.

Внутренняя область кристалла окружена периферийной областью, расположенной по краям прямоугольной пластины БМК. В периферийной области расположены специальные БЯ, набор схемных элементов которых ориентирован на решение задач ввода/вывода сигналов, а также контактные площадки. Рост уровня интеграции ведет к возможностям реализации на одном кристалле все более сложных устройств и систем. Это вызвало к жизни блочные структуры БМК, архитектура которых упрощает построение комбинированных устройств, содержащих как блоки логической обработки данных, так и память или другие специализированные блоки. При этом в БМК реализуются несколько блоков-подматриц, каждый из которых имеет как бы структуру БМК меньшей размерности. Между блоками располагаются трассировочные каналы. На периферии блоков изготовляются внутренние буферные каскады для формирования достаточно мощных сигналов, обеспечивающих передачу сигналов по межблочным связям, имеющим относительно большую длину.

3. БИС/СБИС со сложными программируемыми и репрограммируемыми
структурами

Микросхемы ПЛМ, ПМЛ и БМК положили начало двум основным ветвям дальнейшего развития логических схем с программируемой и репрограммируемой структурами. Продолжением линии ПМЛ стали CPLD (Complex Programmable Logic Devices), а линии БМК – FPGA (Field Programmable Gate Arrays). Стремление объединить достоинства обеих линий привело к созданию БИС/СБИС смешанной (комбинированной) архитектуры, для которых еше не выработано общепринятое название (фирма Altera пользуется названием FLEX – Flexible Logic Element MatriX). Рост уровня интеграции дал возможность размещать на кристалле схемы, сложность которых соответствует целым системам. Эти схемы именуются SOC (Systems On Chip).

В разработке ПЛИС участвуют десятки фирм, ведущими среди них являются Xilinx, Altera, Actel, Atmel, AMD, Lattice (все США) и некоторые другие.

Сфера применения ПЛИС чрезвычайно широка, на них могут строиться не только крупные блоки систем, но и системы в целом, включая память и процессоры. Особо следует отметить важность таких применений, как отработка прототипов систем при их проектировании, даже если конечная реализация систем рассчитана на другие средства, и создание малотиражных изделий быстрыми и эффективными способами.

Программируемость, т.е. реализуемость конкретного проекта на стандартной СБИС, обеспечивается наличием в ней множества двухполюсников, проводимость которых может быть задана пользователем либо очень малой (это соответствует разомкнутому ключу), либо достаточно большой (это соответствует замкнутому ключу). Состояния ключей задают ту или иную конфигурацию схеме, формируемой на кристалле. Число программируемых двухполюсников (программируемых точек связи) в ПЛИС зависит от ее сложности и может доходить до нескольких миллионов. Для современных ПЛИС характерны следующие виды программируемых ключей:

– перемычки типа antifuse (русский термин отсутствует);

– ЛИЗМОП транзисторы с двойным затвором;

– ключевые транзисторы, управляемые триггерами памяти конфигурации ("теневым" ЗУ).

Программирование с помощью перемычек типа antifuse является однократным.

Загрузка соответствующих данных в память конфигурации программирует ПЛИС. Быстрый процесс оперативного программирования может производиться неограниченное число раз. В ПЛИС с триггерной памятью конфигурация разрушается при каждом выключении питания. При включении питания необходим процесс программирования (инициализации, конфигурирования) схемы – загрузка данных конфигурации из какой-либо энергонезависимой памяти, что требует времени порядка десятков и даже сотен миллисекунд, если речь не идет о специальных ПЛИС с так называемым динамическим оперативным репрограммированием.

Программируемые пользователем вентильные матрицы (FPGA)

Программируемые пользователем вентильные матрицы (ППВМ или FPGA) топологически сходны с канальными БМК. В их внутренней области размещается множество регулярно расположенных идентичных конфигурируемых логических блоков (КЛБ), между которыми проходят трассировочные каналы, а на периферии кристалла расположены блоки ввода/вывода (БВВ или IOB, Input/Output Blocks).

Свойства и возможности FPGA зависят в первую очередь от характера их КЛБ и системы межсоединений.

В качестве КЛБ (далее для краткости просто ЛБ — логические блоки) используются:

– транзисторные пары, простые логические вентили И-НЕ, ИЛИ-НЕ и т. п. Такие ЛБ называют SLC – Simple Logic Cells;

– логические модули на основе мультиплексоров;

– логические модули на основе программируемых ПЗУ. Такие ЛБ называют LUTs – Look-Up Tables.

Важной характеристикой ЛБ является их зернистость (Granularity). Другой важной характеристикой считается функциональность (Functionality).

Первое свойство связано с тем, насколько мелкими являются те части, из которых можно собирать нужные схемы, второе – с тем, насколько велики логические возможности ЛБ.

Мелкозернистость ЛБ ведет к большей гибкости их использования, возможностям реализовать воспроизводимые функции разными способами, получая разные варианты в координатах "площадь кристалла – быстродействие". В то же время мелкозернистость ЛБ усложняет систему межсоединений FPGA в связи с большим числом программируемых точек связи.

Блок ввода/вывода имеет два канала – для ввода сигналов и для вывода. В каждом канале сигналы могут передаваться прямым путем или фиксироваться в триггерах в зависимости от программирования мультиплексоров. При переводе буфера в третье состояние выходной контакт не должен оставаться разомкнутым, т.к. на "плавающем" высокоомном входе элементов типа КМОП может накапливаться любой заряд, что может имитировать ввод в схему непредусмотренных сигналов. Благодаря резисторам потенциал разомкнутой выходного контакта либо "подтягивается" к высокому уровню, либо привязывается к нулевой точке. Выбор между этими вариантами программируется элементами памяти конфигурации.

Системы межсоединений (системы коммутации), как и логические блоки, реализуются в широком диапазоне архитектурных и технологических решений. Линии связей в FPGA обычно сегментированы, т.е. составлены из проводящих сегментов (участков, не содержащих ключей) различной длины, соединяемых друг с другом программируемым элементом связи (ключом). Малое количество сегментов ведет к недостаточно эффективному использованию логических блоков, слишком большое – к появлению большого числа программируемых ключей в линиях связи, что увеличивает затраты площади кристалла и вносит дополнительные задержки сигналов.

Короткие сегменты затрудняют реализацию длинных связей, длинные – коротких. Поэтому целесообразна иерархическая система связей с несколькими типами межсоединений для передач на разные расстояния. Целью построения системы связей является обеспечение максимальной коммутируемости блоков при минимальном количестве ключей и задержек сигналов, а также предсказуемость последних, облегчающая проектирование.

Наличие ключей и схем для их программирования усложняют межсоединения FPGA сравнительно с межсоединениями БМК.







Сейчас читают про: