Главная > Схемотехника > Искусство схемотехники, Т.2
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

Возможные применения программируемых логических интегральных схем (ПЛИС)

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

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

Замена произвольной логики. Во многих схемах вы можете обнаружить узлы и клубки из вентилей, инверторов и триггеров, называемых с пренебрежением «произвольная логика» или «клей».

Рис. 8.83. Программируемое логическое устройство (я); обычная дискретная логика (6).

ПЛИС обычно сокращает число корпусов в 4 и более раз. Кроме того, при использовании ПЛИС схема становится более понятной, поскольку применение большого числа вентилей означает, что всю необходимую вентильную обработку можно сделать при вводе в регистры (при этом выходы становятся строго синхронными) вместо того, чтобы комбинировать выходы регистра с вентилями (при этом выходы не будут строго синхронными); см. рис. 8.83.

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

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

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

Расширение функций ПМЛ.

Входы/выходы. Выводы выходов с 3 состояниями, подключенные внутри кристалла к входам матрицы И, можно использовать в качестве входов. Например, ПМЛ , показанная на рис. 8.45, имеет 16 входов (прямых и инверсных) на матрицу И; 10 из них обозначены как входные выводы, а 6 являются цепями обратной связи с выходов с 3 состояниями. Эти 6 выводов можно превратить в «перманентные» входы путем блокировки соответствующего выхода (подключить пару прямой/инверсный к управлению И); с другой стороны, эти входы могут работать в двух направлениях за счет блокировки формирователей с 3 состояниями, соответствующими некоторой логической переменной.

Рис. 8.84. Программируемая макроячейка базовой матричной логики.

«Супер-ПМЛ». Ранее мы уже отмечали, что наиболее гибкая программируемая логика соответствует оригинальным ПМЛ, среди которых самыми известными являются стираемые КМОП-варианты фирм Lattice, VTI, Altera и др.

ПМЛ GAL фирмы Lattice, например, использует программируемую логику с электрическим стиранием, так что вы можете перепрограммировать кристалл. Более того, выходные структуры («макроячейки») сами -каждый выход может быть как регистром, так и комбинационной схемой с прямым и инверсным выходом. Похожей программируемостью обладают линия активации состояния и линия включения обратной связи (последняя может подключаться до и после буфера с 3 состояниями или к соседнему выходу); см. рис. 8.84. В результате, вы можете имитировать любую обычную -выводную ПМЛ, используя только один корпус (и любую обычную -выводную ПМЛ, используя ). Это позволяет сохранять перечень комплектующих изделий в управляемых границах.

Фирма Altera имеет линию программируемой КМОП-логики, которая допускает ультрафиолетовое стирание по типу ЭППЗУ (в корпусе ИС над кристаллом имеется окно из кварцевого стекла). Такие устройства называют СПЛ ИС - стираемая программируемая логическая интегральная схема. Самая маленькая ИС из этой серии имеет выходные макроячейки и имитирует все -выводные ПМЛ, точно также, как . Более того, она маломощна в отличие от «прожорливых» оригинальных ПМЛ (см. ниже). Наконец, фирма Altera выпускает несколько более крупных СПЛИС, а также программируемые микросеквенсеры и т. п. Фирмы Cypress и VTI также выпускают стираемую программируемую КМОП-логику с макроячейками.

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

Эта память загружается от внешней памяти после включения питания либо от микропроцессора; кроме того, она может самозагружаться с использованием памяти типа энергонезависимого ПЗУ.

Скорость и мощность. Оригинальная ПМЛ на биполярных транзисторах, разработанная на фирме Monolithic Memories (и быстро скопированная National и AMD) потребляла значительный ток - около для , и имела задержку распространения 40 не. Последующие биполярные ПМЛ «половинной мощности» были вполне приемлемы и 35 не. Однако самые быстрые ПМЛ потребуют все еще уйму мощности; например, время распространения ПМЛ фирмы AMD составляет соответственно 10 и 7,5 не, но потребляют они . (макс.). КМОП-приборы существенно лучше: мощности» фирмы Lattice потребляют при задержке 15 не, фирмы Altera обладают задержкой 25 не при токе . Но что более важно для маломощных устройств, так это то, что кристаллы фирмы Altera (а также ПМЛ серии Z фирмы AMD) могут работать в резервном режиме с «нулевой мощностью». Конструкторы будущих структур программируемой логики, наверняка, сохранят эту здоровую тенденцию к повышению скорости и снижению мощности; современная программируемая логика, этот «пожиратель ватт», начинает уходить в прошлое!

Рис. 8.85. Исключение глитча в ПМЛ; а - мультиплексор; б - для исключения глитча добавляется избыточный терм произведения; в - карта Карно с избыточным термом.

Выбросы. ПЛИС, конечно, удивительная вещь, но вы можете, ненароком, оказаться в затруднительном положении, если не будете помнить о возможности логических состязаний. На рис. 8.85 показан -входовый мультиплексор, выполненный самым обычным способом; показаны ПМЛ-реализация и эквивалентная схема. Здесь все выглядит как-будто прекрасно, но схема имеет один изъян: когда оба входа (А и В) находятся в состоянии высокого уровня, а линия ВЫБОР меняет состояние, на выходе, как показано, возможен выброс. Это объясняется тем, что внутренние задержки по цепям S и S могут быть не равны, что приведет к появлению переходного состояния, в котором на одном из входов вентилей И будет низкий уровень. Избавиться от этого можно, использовав избыточный терм , который будет гарантировать отсутствие выбросов, в чем вы можете легко убедиться.

Упражнение 8.33. Покажите, что дополнительный терм устраняет все возможности для появления выбросов.

Упражнение 8.34. Какие логические термы следует добавить к -входовому мультиплексору (рис. 8.75) для устранения выбросов.

С помощью карт Карно вы можете наглядно убедиться в существовании этих так называемых логических рисков; карта Карно для -входового мультиплексора рис. 8.85, а приведена на рис. 8.85, в. Каждая группа на карте представляет один терм произведения, который образует вход вентиля ИЛИ. Истинное значение на выходе ИЛИ появляется в том случае, когда любой из термов произведения имеет истинное значение; но переход между группами произведений может приводить к выбросам, если переменные первой группы снимаются, до того, как будут назначены переменные второй группы. «Противоядие» (которое мы использовали и ранее) состоит в добавлении избыточных термов, гарантирующих, что любые переходы между логическими «1» будут включены в один терм произведения. Другими словами, любые единицы, которые лежат в соседних рядах или столбцах, будут покрыты группой произведения. Это предписание можно дать в обобщенной форме, связанной непосредственно с булевым логическим выражением, а не с картой Карно. Это удобно для логических функций, зависящих от более, чем переменных.

В предыдущем примере представлены так называемые статические выбросы, поскольку выход будет оставаться статическим. Существуют также динамические выбросы, проявление которых заключается в том, что выход, который должен сделать один единственный переход, начинает многократно переходить из состояния в состояние. При использовании программируемой логики можно избежать этих внутренних гоночных условий. В общем средства проектирования такие, как PALASM, ABEL и CUPL не пытаются решать эти проблемы. Если хотите, они делают все, чтобы ухудшить ситуацию, поскольку их логические оптимизаторы усердно работают по исключению таких избыточных термов.

<< Предыдущий параграф Следующий параграф >>
Оглавление