- •2.5.1. Схемы кмоп
- •2.5.2. Задержка на распространение сигнала
- •2.5.3. Ограничения по входу и выходу
- •2. 6. Триггеры
- •2.6.1. Вентильные защелки
- •2.6.2. Двухступенчатые триггеры
- •2.6.3. Тактирование фронтом сигнала
- •2.6.5. Триггеры с дополнительными входами для установки и очистки
- •2.7. Регистры и сдвиговые регистры
- •2.8. Счетчики
- •2. 9. Дешифраторы
- •2. 10. Мультиплексоры
- •2. 11. Программируемые логические устройства
- •2.11.1. Программируемая логическая матрица
- •2.11.2. Программируемая матричная логика
- •2.11.3. Сложные программируемые логические устройства
- •2. 12. Программируемые вентильные матрицы
- •2.13. Последовательные схемы
- •2.13.1. Пример счетчика с прямым/обратным счетом
Практическая реализация логических
Схемы КМОП
Задержка на распространение сигнала
Ограничения по входу и выходу
Триггеры
Вентильные защелки
Двухступенчатые триггеры
Тактирование фронтом сигнала
Т-триггеры
Триггеры с дополнительными входами для установки и очистки
Регистры и сдвиговые регистры
Счетчики
Дешифраторы
Мультиплексоры
Программируемые логические устройства
Программируемые вентильные матрицы
Последовательные схемы
2. 5. Практическая реализация логических вентилей
Теперь мы перейдем к вопросу о практических средствах, используемых для представления логических переменных и логических функций. Совершенно очевидно, что выбор физического параметра, представляющего логические переменные, зависит от используемой технологии. В электронных схемах для этой цели может использоваться либо напряжение, либо сила электрического тока.
Для того чтобы установить соответствие между величиной напряжения и логическими значениями, или состояниями, в электронике используют концепцию порога (threshold). Напряжение, превышающее заданный порог, представляет одно значение, а напряжение, которое ниже этого порога, — совсем другое значение. На практике напряжение в любой точке электронной схемы подвержено небольшим случайным колебаниям, зависящим от множества причин. Из-за этого «шума» значения напряжения вблизи порога нельзя с уверенностью соотнести с конкретными логическими состояниями. Поэтому для электронных схем обычно устанавливают некоторый «запрещенный диапазон», как показано на рис. 2.10. На этом рисунке напряжения ниже V0, max представляют логическое значение 0, а напряжения выше V1, min — значение 1. Далее в настоящей книге, говоря о напряжении, соответствующем логическим значениям 0 и 1, мы будем использовать понятия «низкое» и «высокое».
Мы начнем знакомство с электронными схемами, реализующими базовые логические функции, с описания простейших из них, которые состоят из резисторов и транзисторов, действующих в качестве переключателей. Для начала рассмотрим схемы, приведенные на рис. 2.11. Когда ключ S на рис. 2.11, а разомкнут, выходное напряжение Vout равно 0 («земля»). Когда же ключ S замкнут, выходное напряжение Vout равно напряжению источника Vsupply. Точно так же действует схема, приведенная на рис. 2.11, б, где роль ключа играет транзистор Т. Когда входное напряжение, подаваемое на затвор транзистора, равно 0 (то есть когда Vin = 0), ключ разомкнут и Vout = Vsupply. Когда же значение Vin изменяется на Vsupply, ключ замыкается и выходное напряжение Vout становится близким к нулю. Таким образом, электронный ключ, схема которого показана на рис. 2.11, б, может выполнять функции логического вентиля НЕ.
Рис. 2.10. Представление логических значений посредством уровней напряжения
Рис. 2.11. Схемы инвертора: с использованием ключа (а); с транзистором в качестве ключа (б)
На рис. 2.12 показана электрическая цепь и эквивалентная ей электронная схема, реализующая вентиль ИЛИ-НЕ. На рис. 2.12, а выходное напряжение Vout будет высоким только в том случае, если оба ключа, Sa и Sb, будут разомкнуты. Аналогичным образом, выходное напряжение Vout на рис. 2.12, 6 будет высоким при условии, что входные напряжения Va и Vb, низки. Поэтому данная схема эквивалентна вентилю ИЛИ-НЕ, где входные напряжения Va и Vb представляют две входные логические переменные, х1 и х2. Вентиль И-НЕ можно сконструировать из двух транзисторов, соединив их последовательно (рис. 2.13). Что касается логических функций И и ИЛИ, то они легко реализуются на основе вентилей И-НЕ и ИЛИ-НЕ — достаточно вслед за вентилем включить в цепь инвертор, показанный на рис. 2.11. Реализовать вентили И-НЕ и ИЛИ-НЕ несколько проще, чем И и ИЛИ. Поэтому неудивительно, что ими так часто пользуются при реализации логических функций. Стараясь сделать примеры как можно понятнее, мы приводили много схем на основе вентилей И, ИЛИ и НЕ. Но на практике логические схемы могут содержать вентили всех пяти типов.
Рис. 2.12. Схемы, реализующие вентиль ИЛИ-НЕ: с использованием двух ключей (а); с транзистором в качестве ключа (б)
Рис. 2.13. Схемы, реализующие вентиль И-НЕ: с использованием двух ключей (а); с транзистором в качестве ключа (б)
2.5.1. Схемы кмоп
Приведенные выше рис. 2.11-2.13 отражают общую структуру электронных схем, создаваемых по технологии п-МОП (NMOS). В качестве ключей в электронных логических схемах используются металло-оксидные полупроводниковые транзисторы (МОП-транзисторы), которые бывают двух типов: n-канальные и p-канальные. N-канальные транзисторы называют транзисторами типа n-МОП. Когда на вход n-канального транзистора (то есть на его затвор) подается положительное напряжение источника питания, Vsupply, ключ замыкается (рис. 2.14, а). Р-канальный транзистор действует наоборот: когда входное напряжение на его затворе VG равно Vsupply ключ разомкнут, а когда VG = 0, ключ замкнут (рис. 2.14, б).
Рис. 2.14. Логические схемы транзисторов: n-МОП (а); р-МОП (б)
Обратите внимание на графическое обозначение транзистора р-МОП: кружок на входе показывает, что его действие противоположно действию транзистора n-МОП. Обратите также внимание, что у транзистора n-МОП символы s и d, обозначающие исток и сток, располагаются с противоположных сторон по сравнению с транзистором р-МОП.
Исток n-канального транзистора соединяется с «землей», а исток р-канального транзистора — с источником напряжения Vsupply. (Указанные обозначения отражают направление движения тока в транзисторах. )
Электронные схемы, приведенные на рис. 2.11-2.13, имеют один недостаток: они требуют слишком большой мощности. В состоянии, когда ключи замкнуты и соединяют нагрузочный резистор R с «землей», электрический ток идет от источника напряжения Vsupply к «земле». В противоположном состоянии, когда ключ разомкнут, соединения с «землей» нет, а значит, нет и тока. (В МОП-транзисторах ток через затвор не идет.) Таким образом, мощность, потребляемая электронными логическими схемами на МОП-транзисторах, зависит от состояния вентилей.
У данной проблемы имеется весьма эффективное решение: использовать в одной схеме транзисторы обоих типов, чтобы в устойчивом состоянии не потреблялась лишняя мощность. Эта идея была положена в основу технологии КМОП — построения схем на основе комплементарных (то есть дополняющих друг друга) металло-оксидных полупроводниковых транзисторов (Complementary Metal-Oxide Semiconductor, CMOS, ). Суть КМОП-технологии иллюстрирует схема инвертора, приведенная на рис. 2. 15. Когда Vx = Vsupply что соответствует значению 1 входной переменой х, транзистор T1 открыт, а транзистор T2 закрыт. При этом выходное напряжение транзистора T2 уменьшается от Vf до 0. Когда входное напряжение Vx становится равным 0, транзистор T1 закрывается, а транзистор T2 открывается. Выходное напряжение транзистора T1 увеличивается до Vsupply. Таким образом, логические значения х и f дополняют друг друга и схема реализует вентиль НЕ.
Суть этой схемы заключается в том, что транзисторы T1 и T2 действуют как логические дополнения: когда один из них закрыт, другой наоборот открыт. Поэтому точка выхода всегда соединена либо с точкой Vsupply, либо с «землей». При этом между «землей» и точкой Vsupply никогда не бывает соединения, за исключением краткого переходного момента, когда изменяется состояние транзисторов.
Рис 2.15. КМОП-реализация вентиля НЕ: схема вентиля (а); таблица истинности (б)
Это означает, что в устойчивом состоянии данная схема потребляет минимум энергии, и утечка происходит только в моменты перехода из одного логического состояния в другое. Таким образом, количество энергии, потребляемой логической схемой, зависит от частоты изменения состояния ее элементов.
Теперь концепцию КМОП можно распространить на схемы с n входами, как показано на рис. 2.16. Транзисторы n-МОП используются для создания понижающей цепи, образующей соединение между точкой выхода f и «землей», когда реализуемая функция F(x1,..., хn) равна 0. Повышающая цепь создается на основе транзисторов р-МОП — она образует соединение между точкой выхода f и точкой Vsupply, когда F(x1,..., хn) = 1. Повышающая и понижающая цепи функционально дополняют друг друга, для того чтобы в устойчивом состоянии напряжение в точке f равнялось либо Vsupply, либо нулю («земля»).
Рис. 2. 16. Структура КМОП-схемы
Понижающая цепь, подобно схемам, приведенным на рис. 2.11-2.13, создается на основе транзисторов n-МОП. Как реализуются вентили И-НЕ и ИЛИ-НЕ, показано соответственно на рис. 2.17 и 2.18, а вентиль И, согласно рис. 2. 19, реализуется путем инвертирования выходного сигнала вентиля И-НЕ.
Значительное уменьшение потребляемой схемой мощности — это не единственное достоинство технологии КМОП. Еще одним ее преимуществом является очень маленький размер МОП-транзисторов. А это важно по двум причинам. Во-первых, на основе этих транзисторов производятся микросхемы с невероятно высокой степенью интеграции элементов: на одном современном чипе умещаются миллионы транзисторов, благодаря чему один чип может содержать мощный микропроцессор или блок памяти большой емкости. Во-вторых, чем меньше транзистор, тем быстрее он переключается из одного состояния в другое. Быстродействие современных интегральных КМОП-микросхем измеряется в гигагерцах.
Рис. 2.17. КМОП-реализация вентиля И-НЕ: схема вентиля (а); таблица истинности и состояния транзисторов (б)
Для современных КМОП-микросхем используются источники питания с напряжением от 1, 5 до 15 В. Напряжение питания для наиболее распространенных микросхем равно 5 или 3, 3 В. Чем меньше напряжение питания микросхемы, тем меньше потребляемая ею мощность (потребляемая мощность пропорциональна V2supply), а значит, на микросхему можно поместить большее количество транзисторов, не вызывая ее перегрева. К сожалению, снижение напряжения ведет к понижению помехоустойчивости микросхемы, так что здесь требуется разумный компромисс.
Рис. 2.18. КМОП-реализация вентиля ИЛИ-НЕ: схема вентиля (в); таблица истинности и состояния транзисторов (б)
Рис. 2.19. КМОП-реализация вентиля И
На рис. 2.20 показано, как осуществляется переход между низким и высоким уровнями сигнала в КМОП-инверторе. Кривая, называемая передаточной характеристикой, отражает выходное напряжение как функцию входного напряжения. На данном рисунке видно, что когда входное напряжение проходит значение Vsupply/2 выходное напряжение резко падает. Это значение входного напряжения, обозначенное на рисунке как Vt называется пороговым. Отмеченное на графике значение δ, определяющее окрестность порогового напряжения, таково, что Vout ≈ Vsupply, если Vin < Vt - δ, и Vout ≈ 0, если Vin > Vt + δ. Это значит, что для формирования правильного выходного сигнала входной сигнал не обязательно должен быть в точности равным номинальному значению 0 или Vsupply. Допускается небольшая погрешность входного сигнала, называемая шумом, которая не вызывает нарушений в работе схемы. Приемлемые границы шума называются запасом помехоустойчивости. Для входного логического значения 1 запас помехоустойчивости составляет Vsupply – (Vt + δ), а для значения 0 он равен Vt - δ. У микросхем КМОП запас помехоустойчивости очень высок.
