Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
глава 7 готово.doc
Скачиваний:
13
Добавлен:
15.09.2019
Размер:
1.67 Mб
Скачать

7.2.2. Базовые матричные кристаллы

Представителями БИС/СБИС первого поколения для микросхем с программируемы­ми структурами были и базовые матричные кристаллы (БМК), называемые также вен­тильными матрицами (ВМ). Второй из этих терминов менее распространен, хотя и удо­бен тем, что совпадает с английским обозначением таких БИС/СБИС - Gale Array (GA).

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

БМК получили название полузаказных БИС/СБИС, хорошо отражающее их главную особенность. В отличие от полностью заказных БИС/СБИС, которые проектируются по индивидуальному заказу, БМК примерно на 3/4 стандартны. Независимо от конкретного потребителя делается матрица базовых ячеек и периферийные ячейки. Специализация кристалла, т. е. получение на его основе требуемой схемы (такие схемы называют МАБИС или БИСМ), производится с помощью заключительных операций создания металлизиро­ванных межсоединений. Таким образом, для превращения полуфабриката БМК в МАБИС требуется разработка лишь малого числа дорогостоящих фотошаблонов. Сам же БМК срав­нительно недорог, так как выпускается как массовая продукция широкого потребления. Сроки и стоимость проектирования МАБИС в 3—4 раза меньше, чем аналогичные показа­тели для полностью заказных БИС/СБИС. Понятно также, что сокращение в 3-4 раза очень больших сумм все же оставляет стоимость проектирования МАБИС довольно высокой, так что их использование экономически целесообразно при достаточно большой тиражности производства. Область целесообразного применения МАБИС зависит от конкретных усло­вий, нередко она начинается с объемов выпуска в 5-10 тыс. экземпляров.

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

Платой за сокращение сроков и стоимости проектирования является неоптималь­ность МАБИС, быстродействие и компактность которой уступают тем, которые можно было бы получить при полностью заказном проектировании реализуемой схемы. Это вполне объяснимо, так как отсутствие ориентации БМК на конкретный проект означает неполное использование его элементов в составе данной МАБИС, неминимальность длин связей между схемными элементами и т. д.

7.3. Типичные фрагменты схемотехники ис пл. Общие свойства ис пл

7.3.1. Типичные схемотехнические решения

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

Простейшими элементами, обеспечивающими конфигурирование микросхем на за­данное функционирование, являются рассмотренные ранее программируемые элемен­ты связей (перемычки типа «antifuse», ЛИЗМОП-транзисторы с плавающим затвором, ключевые транзисторы, управляемые триггерами памяти конфигурации). Такие эле­менты могут просто замыкать или размыкать участки цепей, в которые они включены, либо входить в схемы резисторных делителей напряжения с программируемым коэф­фициентом деления для задания сигналов логического нуля или логической единицы. На рис. 7.9, а показан делитель напряжения, состоящий из резистора с постоянным сопротивлением R и программируемого сопротивления Rn, выходное напряжение де­лителя U = Ucc Rпр /(R + Rnp). В зависимости от программирования сопротивление Rnp имеет значения Rпр « R или Rпр » R. В первом случае напряжение U мало (близко к нулю) и с делителя снимается "сигнал логического нуля, во втором случае значение U близко к Uсс и соответствует логической единице.

Для конфигурирования межсоединений, а также построения логических блоков ис­пользуются программируемые мультиплексоры. В первом из названных режимов (рис. 7.9, б) мультиплексор можно условно отобразить в виде переключателя, который под управлением адресующих входов (в данном случае это двухразрядное двоичное число ef) передает на выход Fодну из входных величин -а,bили d. На линии каждого входа отмечена комбинация адресующих величин, подключающая данный вход к выходу муль­типлексора. В условном обозначении программируемого мультиплексора в режиме ком­мутации сигналов (рис. 7.9, в) факт программируемости обозначается кружком на адре­сующем входе. При программировании устанавливается определенный код еf и соответ­ственно ему связь между выходом схемы и одним из входов. Для часто применяемых программируемых мультиплексоров размерности 2-1 условное обозначение имеет вид, изображенный на рис. 7.9, г. Комбинации адресующих величин против линий входов мо­гут и не показываться, если в этом нет необходимости.

В п. 7.1.2 указано, что логические блоки CPLD выполняются как двухуровневые схе­мы И-ИЛИ, на входы которых подаются парафазные входные переменные. Логические блоки FPGA более разнообразны и могут представлять собою простые логические ячейки

(SLC, Small Logic Cells), схемы на основе мультиплексоров или табличные функцио­нальные преобразователи (LUTs, Look-Up Tables). Подробнее логические (функциональ­ные) блоки разных ИС ПЛ рассмотрены ниже, здесь же остановимся на способах повы­шения функциональной гибкости логической обработки сигналов, используемых как в FPGA, так и в CPLD.

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

1. Программирование полярности вырабатываемых функций. Этот прием наибо­лее характерен для CPLD , реализующих функции в форме ДНФ (SOP). В этом случае можно «сыграть» на том, что логическая функция F и ее инверсия не идентичны по сложности и выражения для них могут иметь существенно различные числа термов. Имея возможность перехода от прямых значений функций к их инверсиям и наоборот, можно выбирать для реализации в основном логическом блоке более простую из этих форм независимо от того, какая из этих двух функций понадобится в последующих операциях. Схемотехнически программирование полярности логических переменных осуществля­ется с помощью двух входового элемента сложения по модулю 2, на один из входов которого подается логическая переменная, а на второй - константа «О» или «1» (рис. 7.10, а). Схема программируется заданием определенного состояния ключевому транзистору Т. Если он открыт и находится в низковольтном состоянии, то напряжение на нижнем входе элемента М2 отображает логический нуль и F = F* 0 = F*. Если же тран­зистор заперт, то на нижнем входе элемента Ш. действует высокое напряжение, близкое к Ucc, т. е. отображается сигнал логического нуля и F = F* 1 = F*.

2. Организация двунаправленных выводов. В зависимости от конкретного проекта для ИС ПЛ одной и той же сложности могут потребоваться различные соотношения чисел входов и выходов. Поэтому специализация выводов и жесткое разделение их на входы и выходы сужает функциональные возможности микросхемы. Вследствие этого широкое применение находят микросхемы с двунаправленными выводами, которые путем программирования можно сделать либо входами, либо выходами. Микросхема, имеющая т специализированных входов, n специализированных выходов и р двунаправленных вы­водов, может программироваться на число входов от т до т + р и на число выходов от n до n + р при условии, что в сумме число выводов не превысит m + n + р. Схемотехнически это реализуется с помощью буферов, имеющих третье состояние (рис 7.10, б). Если сиг­налом ОЕ1 (Output Enable 1) буфер 1 разрешен, то вывод является выходом и перемен­ная F поступает на внешний контакт (КП - контактная площадка). Если буфер 1 находится в третьем состоянии «отключено», а буфер 2 разрешен сигналом ОЕ2, то вывод слу­жит входом. При этом входной сигнал преобразуется буфером 2 в парафазный. При ак­тивном буфере 1 через буфер 2 можно подавать в схему сигнал обратной связи, что также существенно увеличивает функциональные возможности микросхемы.

Если сигнал управления буфером 1 вырабатывается как терм, формируемый в матрице И, то возможны такие варианты программирования функций вывода:

  • вывод является входом, если терм ОЕ1 запрограммирован на константу 0;

  • вывод является простым выходом, если терм ОЕ1 запрограммирован на константу 1, а сигнал ОЕ2 запрещает буфер 2;

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

3. Введение триггеров. Еще один прием обогащения функциональных возможностей микросхем программируемой логики - введение триггеров в их макроячейки (это понятие объясняется ниже) или непосредственно в логические блоки, причем чаще всего логическое функционирование триггеров программируется. Обычно триггеры строят­ся на основе триггера типа D и дополнительных логических элементов. Триггеры типа D легко обеспечивают режим триггера типа Т (рис. 7.10, в) с помощью подключенных к ним элемента М2 и программируемого мультиплексора 1.

Если мультиплексор запрограммирован на передачу сигнала от верхнего входа D, то триггер работает как триггер типа D , принимая по разрешению тактового сигнала ТИ значение F. Если мультиплексор 1 запрограммирован на передачу сигнала от нижнего входа, то под воздействием тактового сигнала при F = 0 триггер принимает свое соб­ственное состояние Q, т. е. находится в режиме хранения, а при F= 1 - инверсию своего состояния, т. е. переключается. Отсюда видно, что триггер функционирует как синхрон­ный Т-триггер, ко входу Т которого подключен сигнал F.

В ряде микросхем программируемой логики возможно программирование триггеров на режимы не только D и Т, но и JK, RS (с помощью дополнительной внешней логики).

Для обогащения функциональных возможностей микросхем часто программируется тип выхода как комбинационный (combinatorial) или регистровый (registered). Для этого также используются программируемые мультиплексоры. Из рис. 7.10, в видно, что при программировании мультиплексора 2 на передачу сигнала от входа С реализуется ком­бинационный вариант выхода, когда величина F в обход триггера передается прямо на выход, а при передаче через мультиплексор сигнала от входа R реализуется регистро­вый вариант выхода (выходной сигнал снимается с триггера).

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]