Например, первой строке табл. 13
соответствует левая верхняя клетка карт переходов. Так как при поступлении первой единицы в счетчик Q1 должен перейти из нулевого состояния в единичное, а Q2 и Q3 должны сохранить состояние нуля, в указанную клетку карты переходов для Q1 следует поставить 01, а в картах для Q2 и Q3 поставить 00 и т.д.4. Выбирается тип триггера, например, JK-триггер, для построения счетчика. Используя матрицу переходов JK-триггера, для каждого входа триггера составляются карты Карно, в клетках которых проставляются сигналы, необходимые для обеспечения переходов триггеров, указанных в одноименных клетках карт функций переходов (рис. 42).
5.
Например, для переходов 01 JK-триггера согласно его матрице переходов необходимо подать сигнал J = 1, а сигнал на входе K может быть любым (* – звездочка), поэтому в верхнюю левую клетку карты Карно для J1 проставляют единицу, а для K1 – звездочку и т.д.
5. Проводится минимизация логических функций входов в картах Карно с целью получения их аналитических представлений, показывающих связи между входами и выходами всех триггеров, составляющих счетчик.
В процессе минимизации производится доопределения функций там, где это целесообразно, единицами в клетках со звездочками.
В результате получены следующие функции входов триггеров счетчика:
6. Строится электрическая схема счетчика, реализуя функции входов (рис. 43).
Рис. 43. Параллельный суммирующий двоичный счетчик с K сч. = 8
В качестве триггеров выбраны универсальные JK-триггеры (микросхема К155ТВ1), особенностью которых является наличие логики типа ЗИ на входах J и K и дополнительных R S входов с инверсным асинхронным управлением.
Вычитающий счетчик. Синтез вычитающего счетчика, работающего в соответствии с таблицей переходов обратной таблице 13, включает все рассмотренные выше процедуры и дает следующие функции входов:
J1 = K1 =1
J2 = K2 =
J3 = K3 =
.Таким образом, вычитающий счетчик отличается от суммирующего тем, что сигналы на входы J и K последующих триггеров необходимо подавать с инверсных выходов триггеров предшествующих разрядов. Так как исходное состояние вычитающего счетчика – единицы во всех разрядах, то организуется общая шина установки по
-входам.Реверсивный счетчик. Такой счетчик должен, в зависимости от сигналов управления, обеспечивать или режим суммирования, или режим вычитания входных сигналов.
Из сравнения функций входов, полученных ранее для суммирующего и вычитающего параллельных счетчиков с K сч. = 8, следует, что сами функции имеют один и тот же вид, только в случае вычитающего счетчика берутся инверсные значения переменных. Следовательно, реверсивный счетчик должен содержать схему управления, обеспечивающую подключение либо прямых, либо инверсных выходов ко входам последующих разрядов, в зависимости от сигналов управления направлением счета T.
Функция входов для реверсивного счетчика будет иметь вид:
K1 = J1 = 1,
J2 = K2 = TQ1
,J3 = K3 = TQ1 Q2
,а его схема представлена на рис. 44.
Рис. 44. Реверсивный двоичный параллельный счетчик с K сч. = 8
Недвоичные счетчики. Счетчик, имеющий K сч.¹ 2m, называется недвоичным. Состояния (2m – K сч.) являются избыточными и исключаются внутри счетчика с помощью обратных связей. Задача синтеза таких счетчиков сводится к определению вида необходимых обратных связей и минимизации их числа.
Рассмотрим пример синтеза суммирующего счетчика с K сч. = 3.
1. Определяем необходимое количество триггеров:
.Округляем m до двух.
2. Находим число избыточных состояний:
22 – 3 = 1
3. Из числа возможных состояний счетчика исключим, например, состояние
Q1 = Q2 = 1
4. Строим таблицу переходов счетчика:
5. Составляем карты переходов триггеров счетчика, проставляя в клетках, соответствующим исключенным наборам, прочерк:
6. Выбираем тип триггеров (D-триггер). Используя матрицу переходов D-триггера и построенные карты переходов триггеров счетчика, строим карты функций входов триггеров:
Находим функции входов триггеров счетчика:
7. Строим схему счетчика (рис. 45):
Рис. 45. Параллельный недвоичный счетчик с K сч. = 3 на D-триггерах
Как видно из схемы, исключение из состояний счетчика двоичного числа 11 достигается подачей сигналов с инверсных выходов первого и второго разрядов на вход первого разряда.
При использовании в счетчике триггеров JK-типа функции входов имеют вид:
J1 =
, J2 = Q1 , K1 = K2 = 1,а его схема приведена на рис. 46:
Рис. 46. Параллельный недвоичный счетчик с K сч. = 3 на JK-триггерах
Двоично-десятичные счетчики. Двоично-десятичные счетчики имеют K сч. = 10. Их синтезируют на основе четырехразрядного счетчика, исключая N = 2m – K сч. = 24 – 10 = 6 избыточных состояний. Так как исключить можно любые 6 из 16 состояний, то общее число возможных схем построения таких счетчиков достигает приблизительно 76 × 106 .
В разных вариантах схем одному и тому же десятичному числу могут соответствовать различные кодовые комбинации, т. е. различные варианты счетчиков работают в различных двоично-десятичных кодах.
Особую форму составляют двоично-десятичные счетчики, работающие в самодополняющихся кодах, особенностью которых является соответствие обратных двоичных чисел обратным десятичным числам. Целесообразность такого соответствия очевидна, так как в ЭВМ операции вычитания заменяются операцией сложения кода уменьшаемого с обратным кодом вычитаемого. Примером такого самодополняющегося кода может быть следующий код:
Последовательность синтеза двоично-десятичных счетчиков не отличается от синтеза недвоичных счетчиков.
6.2 Цифровые регистры
Цифровыми регистрами называют устройства, предназначенные для хранения и преобразования многоразрядных двоичных чисел. Запоминающими элементами регистра являются триггеры, число которых равно разрядности хранимых чисел. Кроме триггеров регистры содержат также комбинационные схемы, предназначенные для ввода и вывода хранимых чисел, преобразования их кодов, сдвига кодов на то или иное число разрядов. Информация в регистрах хранится, как правило, в течение некоторого количества тактов
Различают параллельные регистры (регистры памяти), последовательные регистры (регистры сдвига), параллельно-последовательные регистры (например, ввод в параллельном коде, вывод – в последовательном и наоборот).
В регистрах памяти число вводится (выводится) за один такт, а в регистрах сдвига – за n тактов, где n – разрядность чисел.
По способу ввода-вывода регистры подразделяются на однофазные и парафазные. В однофазных ввод (и вывод) производится только в прямом или только в обратном коде, в парафазных возможен ввод и вывод как в прямом, так и в обратном кодах.
В параллельных регистрах можно производить поразрядные логические операции с хранимым числом и вновь вводимым. Вид логических операций зависит от типа триггеров, составляющих регистр, и комбинации сигналов управления.
Регистры сдвига применяются для преобразования последовательного кода в параллельный (и обратно), для умножения и деления многоразрядных чисел и т. д.
Структурная схема регистра этого типа представлена на рис. 47.
Изменение хранящейся информации (ввод новой информации) происходит после соответствующего изменения сигналов на входах A при поступлении определенного уровня (С = 0 или С = 1) или фронта синхросигналов. В качестве разрядов регистра памяти используются синхронизируемые D-триггеры, если информация поступает в виде однофазных сигналов, или RS-триггеры, если информация поступает в виде парафазных сигналов (рис. 48)
а б
Рис. 48. Регистры памяти: а – однофазный; б – парафазный
Предварительная очистка регистра производится с помощью асинхронных входов Rа установки триггеров в нулевое состояние.
В регистре с последовательным вводом производится последовательный сдвиг поступающей на вход информации на один разряд вправо в каждом такте синхросигналов (рис. 49)