Существуют также и другие разновидности регистров. Четырехбитный сдвиговый регистр, показанный на Рис. 2.22, а, является примером структуры с последовательным вводом и последовательным выводом (SISO). В данном случае бит данных, хранящийся в n-м D-триггере, поступает на вход следующего ((n + 1) — го) каскада. При подаче тактового импульса (или, в данном контексте, импульса сдвига) этот бит перегружается в (n + 1) — й триггер, т. е. сдвигается с n-й позиции в позицию n + 1. Поскольку все триггеры тактируются одним сигналом, по каждому импульсу сдвига все слово данных сдвигается вправо.
Рис. 2.22. Сдвиговый регистре последовательным вводом и выводом
В примере, приведенном на Рис. 2.22, б, по тактовому сигналу в левую позицию побитно вдвигается 4-битное число. После 4-го импульса новое слово полностью окажется в регистре. Для его считывания потребуется еще четыре импульса, во время которых произойдет побитная выдача содержимого сдвигового регистра. Если обеспечить доступ к выходу каждого триггера, чтобы данные можно было считать за один раз, получим структуру с последовательным входом и параллельным выходом (SIPO).
На Рис. 2.22, в символ «->» в обозначении тактового входа используется для указания операции сдвига. Аббревиатура SRG4 означает «4-битный сдвиговый регистр». Пример 8-битного сдвигового регистра приведен на Рис. 12.2 (стр. 370).
Существуют и другие разновидности структур, в том числе структура с параллельным входом и последовательным выходом (PISO), часто применяемая для преобразования параллельного кода в последовательный. Инкрементирование или декрементирование счетных регистров (счетчиков) производится по каждому импульсу тактового сигнала в соответствии с двоичной последовательностью. Обычно n-битный счетчик может отсчитывать 2n состояний. Некоторые счетчики можно загружать в параллельном режиме, т. е. использовать как память.
Рассмотрим D-триггер, тактируемый по спадающему фронту (Рис. 2.23), инверсный выход Q¯ которого подключен к входу 1D. По каждому спадающему фронту на входе С1 данные с входа 1D будут защелкиваться и появляться на выходе Q. Поскольку инверсный сигнал этого выхода подается обратно на вход, то в следующий раз триггер переключится в противоположное состояние. Это периодическое переключение между двумя состояниями помечено на временной диаграмме символом «Т». В результате при подаче на вход триггера сигнала некоторой частоты на его выходе будет сформирована последовательность импульсов, частота которых в 2 раза ниже. Если частота входного сигнала не изменяется, то выходной сигнал представляет собой точный прямоугольный сигнал (меандр). Иногда такой Т-триггер называют триггером счетного типа или делителем на два.
Рис. 2.23.Т-триггер
Разумеется, Т-триггеры тоже можно каскадировать, как показано на Рис. 2.24, а. В данном случае 4 триггера с запуском по спадающему фронту соединены таким образом, чтобы выход n-го разряда управлял тактовым входом разряда n + 1. Соответственно, если частота сигнала на входе С равна 8 кГц, то на выходе QA будет прямоугольный сигнал частотой 4 кГц, на выходе QB — 2 кГц, на QC — 1 кГц и на QD — 500 Гц. Сигнал QA на Рис. 2.24, б формируется так же, как и на Рис. 2.23. Выход QB переключается по каждому спадающему фронту сигнала QA.
Аналогично функционируют и остальные выводы. Сопоставив ВЫСОКОМУ уровню лог. 1, а НИЗКОМУ — лог. 0, получим 24 (16) двоичных комбинаций в положительной логике, сдвинутых по фазе друг относительно друга. При достижении максимального значения счет начинается с 0 и так до бесконечности. Каждая комбинация остается в регистре до появления активного фронта следующего тактового импульса (в данном случае — спадающего фронта). Если взглянуть на формируемую последовательность, то можно увидеть, что она представляет собой последовательность натуральных двоичных чисел от Ь’0000’ до b’1111’. Вообще говоря, такая схема называется двоичным счетчиком по модулю 16. При счете по модулю n используются только первые n формируемых значений[39].
Рис. 2.24.Счетчик со сквозным переносом по модулю 16