- •2. 5. Практическая реализация логических вентилей
- •2.5.1. Схемы кмоп
- •2.5.2. Задержка на распространение сигнала
- •2.5.3. Ограничения по входу и выходу
- •2. 6. Триггеры
- •2.6.1. Вентильные защелки
- •2.6.2. Двухступенчатые триггеры
- •2.6.3. Тактирование фронтом сигнала
- •2.6.4. Т-триггеры
- •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. Схемы, реализующие вентиль И-НЕ: с использованием двух ключей (а); с транзистором в качестве ключа (б)