
- •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.8. Счетчики
В предыдущем разделе рассказывалось о применении триггеров для создания сдвиговых регистров. Кроме того, триггеры используются в схемах счетчиков. Пожалуй, не нужно объяснять, для чего в цифровых компьютерах нужны счетчики. Но здесь речь идет не только об аппаратном механизме для выполнения обычных счетных функций — с их помощью можно также генерировать управляющие и тактирующие сигналы. Счетчик, управляемый высокочастотным тактовым сигналом, может использоваться для выдачи более редких сигналов кратной частоты. Такие счетчики называются делителями частоты.
Простейший трехступенчатый (или 3-разрядный) счетчик конструируется на основе Т-триггера (рис. 2.34). Напомним, что когда на вход Т подается значение 1, триггер действует как переключатель, то есть его состояние изменяется при подаче каждого тактового импульса. Два последовательных тактовых импульса приводят к изменению выхода Q0 — из состояния 1 в состояние 0 и опять в состояние 1 или же из состояния 0 в состояние 1 и опять в 0. Таким образом, частота изменения выходного сигнала Q0 будет вдвое меньшей, чем частота входного тактового сигнала. А в связи с тем, что второй триггер тактируется сигналом Q0, частота изменения его выходного сигнала Q1 будет вдвое меньшей, чем частота Q0, и вчетверо меньшей, чем частота исходного тактового сигнала. В данном примере предполагается тактирование всех трех триггеров положительным фронтом.
Рис. 2.34. 3-разрядный счетчик прямого счета: схема (а); временная диаграмма (б)
Такой счетчик называют счетчиком со сквозным переносом или волнообразным счетчиком (ripple counter), поскольку входной тактовый сигнал волнообразно распространяется по его схеме. Например, положительный фронт импульса 4 меняет сигнал 1 на выходе Q0 на 0. Это изменение на выходе Q0, в свою очередь, вызывает изменение сигнала на выходе Q1 — из 1 в 0, что опять-таки, изменяет сигнал Q2 — из 0 в 1. Если в каждом триггере происходит некоторая задержка ∆, то задержка перед установкой сигнала на выходе Q2 составляет уже З∆. Если от счетчика требуется очень высокая скорость работы, подобная задержка может вызывать проблему. Однако время задержки по сравнению с тактовой частотой, как правило, очень мало, поэтому им можно пренебречь.
Добавив еще несколько логических вентилей, можно сконструировать синхронный счетчик, в котором все ступени будут управляться общим тактовым сигналом, так что состояния всех триггеров будут изменяться одновременно. Такие счетчики способны функционировать с очень высокой скоростью, поскольку общее время задержки на распространение сигнала в них существенно сокращено. В противоположность им счетчики такой конструкции, как на рис. 2.34, называются асинхронными.
2. 9. Дешифраторы
Значительная часть информации хранится и обрабатывается в компьютерах в закодированном виде. Например, если речь идет о машинной команде, то для ее хранения может использоваться n-битовое поле, вмещающее один из 2n различных кодов операций. Но прежде чем выполнить требуемую операцию, закодированная команда должна быть декодирована. Схема, которая способна принять входное значение, состоящее из n разрядов, и сгенерировать соответствующий выходной сигнал на одной из 2n выходных линий, называется дешифратором (или декодером). Простейший пример дешифратора с двумя входами и четырьмя выходами показан на рис. 2.35. Одна из четырех выходных линий выбирается на основании значений на входах x1 и х2. На выбранный выход подается логическое значение 1, а на оставшиеся выходы — логическое значение 0.
Рис. 2.35. Дешифратор с двумя входами и четырьмя выходами
Существуют и другие полезные типы дешифраторов. Так, при использовании двоично-десятичных данных обычно требуются декодирующие схемы, в которых четыре входные переменные, представляющие двоично-кодированное десятичное число, используются для выбора одного из 10 возможных выходов.