- •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.6.1. Вентильные защелки
На практике часто бывает необходимым, чтобы управление временем сброса и установки защелки осуществлялось посредством входного сигнала, отличного от сигналов R и S. Этот входной сигнал называется синхронизирующим или тактовым входом (clock input). Логический элемент с таким управлением получил название вентильная SR-защелка. Логическая схема, таблица истинности, временная диаграмма и графическое обозначение такой защелки продемонстрированы на рис. 2.25. Когда сигнал на синхронизирующем входе Clk равен 1, сигналы в точках S' и R' равны входным сигналам S и R соответственно. Когда Clk - 0, сигналы в точках S' и R' тоже равны 0 и изменить состояние защелки невозможно.
Рис. 2.25. Вентильная SR-защелка: схема (а); таблица истинности (б); временная диаграмма (в); графическое обозначение (г)
До сих пор для описания поведения логических схем мы использовали таблицы истинности. В таблице истинности приводятся выходные значения схемы, соответствующие каждой комбинации входных значений. Те логические схемы, выходные значения которых уникально определены для каждого входного значения, называются комбинаторными. Именно схемы этого класса обсуждались в разделах 2.1-2.4. Схемы, содержащие запоминающие элементы, относятся к другому классу и называются последовательными (рис. 2.24). Выходное значение любой такой схемы является функцией не только текущих значений входных переменных, но и их предшествующего состояния.
Таблица истинности защелки нуждается в некоторой модификации, поскольку должна отражать предыдущее состояние схемы. Обратимся к приведенной на рис. 2.25, б таблице истинности, которая описывает поведение вентильной SR-защелки. В ней предыдущее состояние схемы обозначено как Q,(t). Переход в следующее состояние, обозначаемое как Q,(t + 1), происходит после поступления тактового импульса. Обратите внимание, что для набора входных значений S = R = 1 значение Q(t + 1) не определено по причинам, о которых рассказывалось выше.
Как следует из рис. 2.26, вентильная SR-защелка может быть реализована с помощью вентилей И-НЕ. Рекомендуем вам выполнить полезное упражнение и доказать, что данная схема функционально эквивалентна схеме, приведенной на рис. 2.25, а .
На рис. 2.27 показан еще один вид вентильной защелки, называемый вентильной D-защелкой. В этой схеме сигналы S и R поступают из одного входа, обозначенного как D. В ответ на поступление тактового импульса значение на выходе Q, становится равным 1, если D - 1, или сбрасывается в 0, если D = 0. Это означает, что при поступлении каждого нового тактового импульса сигнал на входе D передается на выход Q, D-защелки и сохраняется неизменным до прихода следующего тактового импульса.
Рис. 2.26. Вентильная SR-защелка, реализованная на основе вентилей И-НЕ
Рис. 2.27. Вентильная D-защелка: схема (а); таблица истинности (б); графическое обозначение (в); временная диаграмма (г)
2.6.2. Двухступенчатые триггеры
В схеме, представленной на рис. 2.25, предполагалось, что пока Clk - 1, значения на входах S и R не изменяются. Однако, проанализировав эту схему, вы увидите, что ее выходы немедленно реагируют на любые изменения значений на входах S и R. Аналогичным образом предполагается, что в схеме, приведенной на рис. 2.27, Q,= D, пока Clk = 1. Однако во многих случаях синхронное изменение сигнала на выходе, немедленно отражающее изменение сигнала на входе, недопустимо. В частности, описанные выше защелки типа D и SR не годятся для создания счетчиков и сдвиговых регистров, о которых мы поговорим позднее. В таких схемах мгновенная передача логического условия от входов (R, S и D) к выходам защелки может привести к ее неверному функционированию. Эту проблему призвана решать концепция ведущий-ведомый. Две вентильные D-защелки могут быть объединены в схему (рис. 2.28, а), которая получила название синхронный двухступенчатый триггер или D-триггер «ведущий-ведомый». Первая защелка, называемая ведущей, соединена со входом D второй защелки, пока сигнал Clock равен 1. Изменение значения на входе Clock с 1 на 0 изолирует ведущую защелку от входа D и передает ее содержимое в ведомую. Но ни при каком состоянии защелок прямого пути от входа D до выхода Q не существует.
Следует заметить, что пока Clock = 1, изменения на входе триггера D немедленно отражаются на состоянии ведущей защелки. Предназначение ведомой защелки заключается в том, чтобы сохранять значение на выходе триггера, несмотря на переход ведущей защелки в следующее состояние, определяемое входом D. Это новое состояние передается ведомой защелке в тот момент, когда значение на входе Clock изменяется с 1 на 0. С этого момента ведущая защелка изолируется от входов ведомой, а следовательно, дальнейшие изменения на входе D не будут отражаться на состоянии ведомой защелки. Примеры изменения состояний входов и выходов такого D-триггера приведены на рис. 2.28, б.
Рис. 2.28. Двухступенчатый D-триггер: схема (а); временная диаграмма (б);
графическое обозначение (в)
Термином триггер (flip-flop) называют запоминающий элемент, выходное состояние которого меняется на фронте управляющего тактового сигнала (то есть в момент его перехода из одного состояния в другое). В описанном выше двухступенчатом D-триггере видимые изменения происходят на отрицательном фронте сигнала (то есть в момент его перехода из 1 в 0). Изменение становится видимым, когда оно достигает терминала Q ведомой защелки. Обратите внимание, что в схеме на рис. 2.28 ведущей защелкой можно управлять с помощью дополнения сигнала Clock, а ведомой — с помощью исходного сигнала Clock. В последнем случае изменения на выходе триггера Q, будут происходить на положительном фронте тактового сигнала.
Графическое изображение триггера показано на рис. 2.28, в. Его тактовый вход обозначается стрелкой (а не с помощью пометки Clk). Это стандартное обозначение, указывающее, что изменение состояния триггера происходит на положительном фронте тактового сигнала. Поскольку на нашем рисунке представлена ситуация, когда изменение происходит на отрицательном фронте, на тактовом входе перед стрелкой отображается маленький кружок.