Модуль 5. Структурные автоматы синхронного и асинхронного типов

advertisement
Модуль 5. Структурные автоматы синхронного
и асинхронного типов
 Классический метод синтеза структурного (цифрового)
автомата синхронного типа.
 Асинхронные автоматы. Гонки в автоматах и способы борьбы с
ними.
 Проблематика кодирования выходных сигналов и состояний
синхронных автоматов.
 Пример синтеза распределителя импульсов как автомата Мура.
 Регистры и их классификация.
 Регистры памяти.
 Синтез универсального регистра на D-триггерах
динамического типа.
 Счётчики и их классификация.
 Синхронные счётчики. Синтез реверсивного счётчика с
объединённым входом.
Теория автоматов. Модуль 5
1/43
Классический метод синтеза структурного (цифрового)
автомата синхронного типа
Метод рассмотрим на примере синтеза не полностью определённого автомата Мили. Автомат
не требует минимизации состояний, т. к. в нём отсутствуют совместимые (1-эквивалентные)
состояния.
a1
z1
z2
z3
a2
a3
a3/w2 a1/w1 a1/w1
—
a2/w4
x1x2\Q1 Q3
00
1). Произведём кодирование символов первичных алфавитов и
состояний абстрактного автомата. Синим цветом выделено
начальное состояние автомата
a3/w3 a2/w2
—
01
a2/w1
00
10
10/01 01/00 01/00
01
—
10
00/11
10/10 00/01
—
00/00
Z
z1
z2
z3
x1
0
0
1
x2
0
1
0
W
w1
w2
w3
w4
y1
0
0
1
1
y2
0
1
0
1
2). Составляем кодированную
таблицу переходов и выходов.
3). Выбираем тип триггера,
выписываем триггерный словарь.
Пусть это будет Т- триггер.
Теория автоматов. Модуль 5
A
a1
a2
a3
Qt→Qt+1
0
0
0
1
1
0
1
1
Q1
0
0
1
Q2
1
0
0
T
0
1
1
0
2/43
Продолжение синтеза автомата (стратегия минимальной стоимости)
4. Структурная модель автомата.
5. Преобразование кодированной
таблицы переходов и выходов в
таблицу истинности для выходных
сигналов и сигналов возбуждения
триггеров.
X={x1, x2}
x1
"1"
.
. KC1
T1
x2
S
T
C
Q1
x2 KC
2 y
1
R
Q
Q1
S T
T2
T
1
Q
C
R
Время t
t+1
t
x1x2 Q1Q2 y1y2 Q1Q2 T1T2
00 01 01 10 11
0 1 0 1 ---- ---- ---10 01 11 00 01
00 00 00 01 01
01 00 10 10 10
1 0 0 0 ---- ---- ---00 10 00 01 11
01 10 01 00 10
10 10 00 00 10
T
x1
Q2
Q2
y2
2
Уст. "а1"
Пуск
Clk
&
K(a1)= Q1Q2 = 01
6. Синтез комбинационной части (КС1 и КС2) автомата
произведём с использованием стратегии
минимальной стоимости, когда на неиспользуемых
наборах x1x2 и Q1Q2 зададимся такими значениями для
yi и Ti , которые обеспечивали бы наилучшие условия
минимизации.
Неиспользуемые наборы на картах Карно отмечены
символом «х», а неопределённые значения автомата в
таблице переходов и выходов символом «--».
Теория автоматов. Модуль 5
3/43
Синтез автомата (окончание - стратегия минимальной
стоимости, начало - стратегия минимального риска)
Q1Q2
y1
00 01 11 10
x1x2
00 0 0 x 0
01 1 -- x 0
11 x
x
x
x
10 -- 1 x 0
Q1Q2
y2
00 01 11 10
x1x2
00 0 1 x 0
01 0 -- x 1
11 x
x
x
x
10 -- 1 x 0
Q1Q2
T1
00 01 11 10
x1x2
00 0 1 x 1
01 1 -- x 1
11 x
x
x
x
10 -- 0 x 1
Q1Q2
T2
00 01 11 10
x1x2
00 1 1 x 1
01 0 -- x 0
11 x
x
x
x
10 -- 1 x 0
y1 = x1Q1 ∨x2 Q1
y2 = Q2 ∨x2Q1
T1 = x2 ∨Q1 ∨x1Q2
T2  x1 x2  Q2
7. После приведения полученных
уравнений к заданному
логическому базису приступают к
построению КС1 и КС2 автомата.
Возврат к П.6.
6. Синтез комбинационной части (КС1 и КС2) автомата с использованием
стратегии минимального риска.
Недостаток стратегии минимальной стоимости – поведение автомата может оказаться
непредсказуемым, если в силу каких-либо причин (сбоя) автомат попадёт в неиспользуемое
состояние.
При стратегии минимального риска таблица истинности составляется таким образом,
чтобы при любом входном воздействии x1x2 автомат из неиспользуемого состояния
(неопределённого) попадал в начальное состояние.
Теория автоматов. Модуль 5
4/43
Синтез автомата (окончание - стратегия минимального риска)
Время t
t+1
x1x2 Q1Q2 y1y2 Q1Q2
00 01 01 10
0 1 0 1 ---- ---10 01 11 00
00 00 00 01
01 00 10 10
1 0 0 0 ---- ---00 10 00 01
01 10 01 00
10 10 00 00
00 11
X
01
01 11
X
01
10 11
X
01
11 11
x
01
t
T1T2
11
---01
01
10
---11
10
10
10
10
10
10
Q1Q2
T1
00 01 11 10
x1x2
00 0 1 1 1
01 1 -- 1 1
11 x x 1 x
10 -- 0 1 1
Q1Q2
T2
00 01 11 10
x1x2
00 1 1 0 1
01 0 -- 0 0
11 x x 0 x
10 -- 1 0 0
T1 = x2 ∨Q1 ∨x1Q2
T2 = x1 x2 Q2 ∨Q1Q2
- не изменилось
- усложнилось
Добавленная часть таблицы. Синим цветом
выделено начальное состояние автомата
Теория автоматов. Модуль 5
5/43
Синтез структурного автомата на основе кодированного
графа автомата (подвид классического метода)
x1x2\Q1 Q3
00
01
00
После того, как была получена кодированная таблица
переходов и выходов, а также выбран тип триггера (этапы
2 и 3 классического синтеза структурного автомата)
можно приступить к построению кодированного графа
автомата.
На дугах графа указываются только те выходные
сигналы yi и сигналы возбуждения Tj , которые на данном
переходе имеют «1» -значения.
10
10/01 01/00 01/00
01
—
10
00/11
10/10 00/01
—
00/00
Из графа можно получить ДНФ функций
возбуждения и функций выходов
Q1Q2
01
x1 x2 (T2 )
x1 x2 (y2 ,T1 ,T2 )
x1 x2 (T1 ,T2 )
y1  Q1Q2 x1 x2  Q1 Q2 x1 x2
T2  Q1Q2 ( x1 x2  x1 x2 )  x1 x2 (Q1 Q2  Q1 Q2 )
x1 x2 (y1 , y2 ,T2 )
Полученные выражения в дальнейшем
подвергаются минимизации.
Вывод. Построение комбинационной части
x1 x2 ( y1 ,T1 )
10
Q1Q2
x1 x2 (T1 )
x1 x2 ( y2 , T1 )
00
Q1Q2
автомата по таблице истинности (классический
метод) для функций выходов и возбуждения
является более предпочтительным.
Теория автоматов. Модуль 5
6/43
Асинхронные автоматы. Гонки в автоматах и способы
борьбы с ними
1. Асинхронные автоматы.
Как уже отмечалось ранее, цифровые автоматы могут быть синхронными и
асинхронными. В асинхронных автоматах импульсы синхронизации
отсутствуют, а состояния памяти автомата изменяется под воздействием
внешних входных сигналов из семейства X={x1, …, xk). При этом память
автомата может быть выполнена только на асинхронных триггерах, т.е. на триггерах
RS – типа.
Как следует из структурной схемы автомата, генерация сигналов возбуждения
триггеров памяти осуществляется комбинационной схемой КС1. Отметим две
основные особенности процесса формирования сигналов возбуждения КС1:
1) каждая комбинационная цепь, формирующая сигналы возбуждения (RS)к –
триггера характеризуется своим временем задержки, что порождает разновременное
срабатывания триггеров.
2) поскольку комбинационная цепь , как правило, включает несколько ветвей,
характеризующихся различным временем задержки прохождения сигнала от входа к
выходу, то в процессе формирования истинного значения выходного сигнала,
возможно появление ложных значений. Указанные ложные значения называются
рисками. Риски могут привести к ложному срабатыванию триггера.
Как первый, так и второй случаи, могут привести к сбою в алгоритме работы
автомата.
Теория автоматов. Модуль 5
7/43
2. Риски сбоя в комбинационных схемах
Риски сбоя в комбинационных схемах подразделяются на статические и
динамические.
Рассмотрим пример статического риска, когда окончательное значение
выхода КС должно остаться неизменным (изменение сигнала не предусмотрено
логикой функционирования схемы) при изменении входных сигналов.
x1
φ
1 1
1 1
0 1
1
00 01 11 10 x2 x3
φ = x3 ∨x1 x2 =
1
x2
0
x3
0
t1
t0
&
&
τ
φ
Момент смены
кода
Ложный
Момент
сигнал
фиксации
Здесь, T = t1-t0 ->максимально возможная задержка в распространении сигнала
= x3 x1 x2
Данный рисунок демонстрирует статический риск сбоя в «1».
Динамический риск возникает, когда логика работы схемы предусматривает на
выходе изменение состояния, однако вместо однократного перехода выходной
величины происходят её многократные изменения.
Теория автоматов. Модуль 5
8/43
3. Гонки в асинхронных автоматах.
Итак, поскольку сигналы возбуждения φr формируются различными участками КС
автомата, то они поступают на входы триггеров с некоторым разбросом во времени.
Переход автомата из одного состояния в другое может сопровождаться переключением
нескольких триггеров, при этом возникают некоторые промежуточные состояния. Тот
из них, который выиграл гонку (состязание), может через цепь обратной связи изменить
сигналы возбуждения на входах некоторых триггеров до того как они переключаться.
Это приведёт к сбою в работе автомата. Рассмотрим такой пример, когда автомат
реализует переход am→as
Другая ветвь графа при этом же сигнале.
Критический случай. Сбой.
zf
a
zf
aj
k
zf
zf
am
as
zf
zf
al
Некритический
случай в гонках.
T1 выиграл
гонку
0101
Вновь выработанные
сигналы возбуждения
1101
x1 x2 ( R2 , R4 )
x1 x2 (y1 , y2 ; S1 , R2 )
T2 выиграл
гонку
Сбой
1000
1001
0001
В графе автомата имеется переход ak→aj при том же входном сигнале zf
В примере используется асинхронный RS- триггер. При этом:
x1 x2  10
k(am)=(Q1Q2Q3Q4 )=0101, k(as)=(Q1Q2Q3Q4 )=1001,
Теория автоматов. Модуль 5
9/43
Способы борьбы с гонками
Различают аппаратные способы и способы, использующие
противогоночное кодирование.
Аппаратные способы приводят к необходимости использования
импульсов синхронизации для регламентации процесса восприятия сигналов
возбуждения триггерами, или в конечном счёте, к преобразованию
асинхронного автомата в синхронный.
Противогоночное кодирование имеет цель использования в
асинхронных автоматах таких кодовых комбинаций для реальных состояний,
которые бы не совпадали с промежуточными кодовыми комбинациями,
возникающими в процессе гонок.
Теория автоматов. Модуль 5
10/43
Соседнее кодирование
Одной из разновидностей противогоночного кодирования является соседнее
кодирование. При соседнем кодировании любые два смежных состояния в графе
автомата кодируются наборами Q1, ..., QR, отличающимися состояниями лишь одного
элемента (такие кодовые комбинации характеризуются минимальным кодовым
расстоянием d=1), что исключает гонки, так как отсутствуют состязания между
триггерами.
Данный тип кодирования используется и в синхронных автоматах. На
рисунке показан фрагмент графа, включающий два вложенных друг в друга цикла с
чётным числом вершин. Соседнее кодирование состояний автомата легко реализуется
наложением графа на карту Карно, соответствующей размерности.
Q1
z 2 , R2
a1
z1 , S 3
001
a2
z2 , S 2
000
011
a3
z3 , R3
1
a4
010
z1 , R2
Из графа автомата следует:
0
a1 a 2 a3 a 4
00 01 11 10 Q2Q3
S3  z1a1 , S 2  z2 a2 R3  z3a3 , R2  z1a3  z2 a4
Данные уравнения можно модифицировать, следуя асинхронному принципу
функционирования автомата. Состояние автомата изменяется с изменением
входных сигналов, но это изменение не должно влечь за собой изменение
ранее выработанных сигналов возбуждения. А это возможно только тогда,
когда сигналы возбуждения не зависят от состояния переключаемого триггера.
Теория автоматов. Модуль 5
11/43
Соседнее кодирование
(продолжение)
Действительно:
z 2 , R2
a1
z1 , S 3
001
a2
z2 , S 2
000
011
a3
z3 , R3
a4
010
z1 , R2
S3  z1a1  z1a2  z1 Q1 Q2 Q3  Q1 Q2Q3   z1 Q1 Q2
S 2  z2 a2  z2 a3  z2 Q1Q3
R3  z3a3  z3a4  z3 Q1Q2
Сигнал возбуждения
третьего триггера S3 не
зависит от этого триггера
R2  ( z1a3  z1a2 )   z2 a4  z2 a1   z1 Q1Q3  z2 Q1 Q3
Соседнее кодирование невозможно, если граф автомата содержит
циклы с нечётным числом вершин. В этом случае иногда вводят
1
фиктивные состояния, чтобы исключить циклы с нечётным
числом вершин.
3
4 Однако отмеченное условие не является достаточным и может
2
быть сформулировано в терминах теории графов при
рассмотрении отображения графа автомата в n-мерном кубе. На
рисунке, в качестве примера, приведен граф с чётным числом
5
вершин в циклах, для которого не удаётся реализовать соседнее
кодирование.
Этим материалом заканчивается рассмотрение асинхронных автоматов в данном учебном
курсе.
Теория автоматов. Модуль 5
12/43
Проблематика кодирования выходных сигналов и
состояний автомата
Каждому состоянию aj (т.е. вершине графа автомата) должна соответствовать одна
определенная комбинация состояний триггеров Q1, ..., QR.
Различают два подхода к кодированию состояний автомата: случайное и
экономичное. Экономичное кодирование, как правило, приводит к уменьшению
сложности комбинационной части, которая формирует выходные сигналы
управления и сигналы возбуждения элементов памяти автомата.
Эмпирически установлено, что комбинационная схема проще тогда, когда каждое
изменение состояния автомата вызывается действием как можно меньшего числа сигналов
возбуждения триггеров. В наилучшей степени, этому критерию отвечает
рассмотренное выше соседнее кодирование. Однако оно может быть реализовано
только для отдельных фрагментов графа.
Существует много способов экономичного кодирования, однако в большинстве случаев
они весьма трудоемки в практическом использовании и требуют специальных знаний из
области теории графов и автоматов. Из простых способов, относящихся к классу
экономичного кодирования состояний автомата, отметим следующие три:
кодирование с ослабленной зависимостью от входных сигналов;
приоритетное кодирование логически смежных состояний;
способ кодирования состояний автомата, минимизирующий суммарное число
переключений элементов памяти на всех переходах автомата (способ Д.З. Мороза).
Способ соседнего кодирования используется как составная часть указанных выше
способов.
Теория автоматов. Модуль 5
13/43
Пример графа, для которого рассматриваются
вышеуказанные способы кодирования состояний
автомата
x1
x2
1
5
x2
x1
2
1
x2
x2
x1 x2
3
4
x1 x2
В лекционном материале для сравнительного
анализа способов кодирования взят один и тот же
граф автомата с 5-ю вершинами. Граф не
содержит петель, поскольку они не влияют на
характер (качество) кодирования. Кроме того на
графе не указаны выходные сигналы. Для автомата
Мура вопрос кодирования выходных сигналов не
принципиален, а правило их кодирования для
автомата Мили будет изложено в конце этого
параграфа.
Пять вершин графа определяют память
автомата из 3-х триггеров.
Тип триггера: синхронные D- и JK- триггеры
динамического типа.
Теория автоматов. Модуль 5
14/43
1. Кодирование с ослабленной зависимостью от
входных сигналов. Определение и применение
Определение
x1
x2
1
5
x2
x1
2
1
x2
x2
x1 x2
3
4
Кодирование с
ослабленной
зависимостью от входных
x1 x2 переменных X={xk}
предусматривает размещение
подмножества состояний
автомата, образованного
всевозможными переходами
из состояния am , в одном
столбце или строке карты
Карно.
Применение
Q1
1
0
3
5
4
2
1
00
01
11
10 Q2Q3
Вариант кодирования по этому способу отображён на карте Карно, из которой видно, что
для данного графа не удалось выполнить размещение подмножеств смежных
состояний автомата только в строке (или только в столбце) для состояний «4» и
«3».
Теория автоматов. Модуль 5
15/43
2. Определение приоритетного кодирования логически
смежных состояний
Правило 1. Два состояния автомата из которых возможны переходы в одно и тоже
третье состояние, называются логически смежными состояниями (ЛСС-I).
Правило 2. Два состояния, в которые может быть осуществлён переход из одного
какого-либо состояния, также называются логически смежными (ЛСС-II).
При экономичном кодировании ЛСС должны кодироваться соседними кодовыми
комбинациями (т.е. различаться значением одного триггера). Если при кодировании
нельзя удовлетворить всем условиям смежности, то приоритет отдаётся ЛСС,
определённым по 1-му правилу (ЛСС-I).
Правило 1
l
k
i
j
s
Логическисмежные
состояния по 1-му
правилу (k, l)
Логическисмежные
состояния по 2-му
правилу (j, s)
Правило 1 и 2
i
l
k
Логически-смежные
состояния по 1-му и
2-му правилам (k, l)
j
Правило 2
Теория автоматов. Модуль 5
16/43
Пример применения приоритетного кодирования
логически смежных состояний.
x1
x2
1
x2
x1
x2
x2
2
1
Для рассматриваемого графа:
ЛСС-I: (a1,a3), (a2,a5), (a1,a2,a4
ЛСС-II: (a2,a5), (a4,a5), (a1,a4), (a3,a5).
5
x1 x2
В случае, если в группе оказываются не 2
состояния, а три и больше, то они по
возможности должны находится в соседних
клетках карты Карно. Ниже представлена
карта Карно с возможным вариантом
кодирования (расположение состояний
(a3,a5) не являются удачными).
4
x1 x2
3
Q1
1
2
1
0
5
4
3
00 01 11 10 Q2Q3
Теория автоматов. Модуль 5
17/43
Способ кодирования состояний автомата, минимизирующий
суммарное число переключений элементов памяти на всех переходах
(Д. З. Мороз)
Введём в рассмотрение функцию
W

для всех i, j
d ij pij , (*)
которая характеризует меру суммарного числа переключений триггеров на всех
переходах автомата. Здесь dij – кодовое расстояние между комбинациями k(ai) и k(aj), а
pij -число различных переходов между смежными состояниями ai и aj.
Кодовое расстояние (расстояние Хэмминга) – определяется числом двоичных
разрядов, на которых кодовые комбинации отличаются друг от друга. Метод рассмотрим
на примере ранее введённого графа.
x1
x2
1
5
x2
x1
2
1
x2
x2
x1 x2
3
4
x1 x2
ij  pij  ij 
 12 1 6 


 15 2 5 


23
1
6

T 
 24 1 7 


25
1
7


 34 1 5 


 45 2 6 
1. Выпишем матрицу Т из всех пар смежных
состояний автомата, для которых pij ≠ 0, и
i<j. Рядом с парами (ij) поставим весовые
множители pij , которые будут определять
приоритет в кодировании состояний,
входящих в данную пару. Для того, чтобы
различать пары (ij) с одинаковыми pij введём
дополнительный весовой множитель νij = (νi
+ νj ), определяющий сумму всех компонент
пары (ij), входящих в матрицу Т .
Теория автоматов. Модуль 5
18/43
Кодирование состояний автомата (продолжение мет. Мороза)
ij 
 12

 15

23
T 
 24

 25
 34

 45
pij  ij 
1
6

2
5

1
6
1
7

1
7
1
5

2
6
ij 
 45

 15

25

M
 24

 23
 12

 34
pij  ij 
2 6

2 5

1
7
1
7

1
6
1
6

1
5
2. Составим матрицу М путём упорядочивания строк матрицы Т в
соответствии с нормирующими множителями.
После первой пары (45) выбирается пара имеющая общий компонент с
парой из первой строки и, имеющая наибольший вес (15). Затем
выбирается пара, имеющая общий компонент с одной из первых 2-х пар
(25) и заносится в третью строку и т. д.
3. Производится кодировка состояний элементов первой строки (45) с
помощью карты Карно, используя для этого соседние клетки с кодовыми
комбинациями, содержащими наименьшее числом «1».
4. В силу упорядоченности матрицы М, вторая
строка (пара (15) ) будет содержать одно не
Q1
закодированное состояние (1). Его кодировка
1 1 2
осуществляется на основе минимизации
частичной функции W1 по частичной матрице М1,
0 5 4 3
в которую входят пары с состоянием (1).
00 01 11 10 Q2Q3 Поскольку в матрице М1 имеется только одна
пара с известной кодировкой состояния, то
кодировка состояния осуществляется из
1
5
 
минимизации функции W1 =d15p15 на одном
M1   
переходе.
1 2
Теория автоматов. Модуль 5
19/43
Кодирование состояний автомата (окончание мет. Мороза)
ij 
 45

 15

25

M 
 24

 23
 12

 34
pij  ij 
2
6

2
5

1
7
1
7

1
6
1
6

1
5
5. В матрице М вычёркиваем строки, в которых оба состояния
являются закодированными и приступаем к кодировке
состояний первой не вычеркнутой пары (25).
 2 5
 2 4
M2   
 2 3
 
1 2 
W2  d 25 p25  d 24 p24  d12 p12  min
Принимаем:
K a2   Q1Q2Q3  101
При этом, получим:
W2 min  2  1  1  4
Q1
1
1
2
0
5
4
6. Окончательно.
3
00 01 11 10 Q2Q3
W3  d 23 p23  d 34 p34  min
2 3 Принимаем:
M3   
3 4 При этом получим:
Теория автоматов. Модуль 5
K a3   Q1Q2Q3  011
W3 min  2  1  3
20/43
Оценка эффективности данных способов кодирования
Для сравнительного анализа способов кодирования взят один и тот же граф автомата с
5-ю вершинами, рассмотренный выше. Синтез КС, произведённый классическим способом
здесь опущен, результаты сложности схем сведены в таблицу.
Тип триггера: синхронные D- и JK- триггеры динамического типа.
Способ кодирования
1. Кодирование с ослабленной зависимостью от входных
сигналов
2. Кодирование логически смежных состояний
3. Способ, минимизирующий суммарное число переключений
элементов памяти на всех переходах автомата
4. Случайное кодирование
Сложность КС сигналов
возбуждения
JK - триггер D- триггер
19
26
11
19
17
25
24
39
1. Применение любого из методов экономичного кодирования существенно упрощает
сложность КС, формирующей сигналы возбуждения триггеров памяти автомата.
2. Делать вывод о наиболее эффективном из рассмотренных методов нельзя в силу зависимости
качества кодирования (для любого из методов) от топологии графа автомата. Однако, наиболее
универсальными из простых способов следует признать 2-ой и 3-ий способы.
3. Использование D-триггера в качестве элемента памяти автомата не рационально. Причина в
том, что это единственный тип триггера, который для сохранения «единичного состояния»
требует в момент синхронизации (фронта С-сигнала) наличия единичного D- сигнала на своём
входе. Поэтому, при кодировании состояний автомата выполненного на D- триггерах,
используются в первую очередь комбинации с наименьшим числом «1».
Теория автоматов. Модуль 5
21/43
Рекомендации по кодированию выходных сигналов автомата
Кодирование выходных сигналов мало влияет на сложность комбинационной схемы
(КС-2), однако рекомендуется придерживаться следующего правила: выходной сигнал
wl , имеющий наибольшую частоту появлений в таблице выходов, должен
кодироваться кодовой комбинацией с наименьшим числом «1».
a1
a2
a3
z1 a3/w2 a1/w1 a1/w1
z2
—
z3 a2/w4
a3/w3 a2/w2
—
a2/w1
Таблица переходов и выходов автомата, использованная
ранее для демонстрации классического метода синтеза
структурного автомата.
W
=
{w1 w2 w3 w4}
{3 2 1 1}
Частота появления
сигнала wl в таблице
переходов и выходов.
Было выполнено
W
w1
w2
w3
w4
y1
0
0
1
1
Рекомендуется к выполнению
(совпало)
y2
0
1
0
1
Теория автоматов. Модуль 5
W
w1
w2
w3
w4
y1
0
0
1
1
y2
0
1
0
1
Частота
3
2
1
1
22/43
Пример синтеза формирователя импульсов как автомата Мура
Работа формирователя импульсов задана временной диаграммой, из которой следует, что
период генерации периодической последовательности сигналов составляет 5 периодов
синхросигнала Clock. Это позволяет определить граф автомата Мура с пятью
состояниями (рис. а).
Clock
РИ
y1
y2
y3
Стандартный подход к
синтезу схемы автомата
включает следующие
действия:
Clock
1
2
3
4
5
6(1)
y1
y2
y3
a)
a1 / y2
a2
a3
a4 / y1 , y2
a5 / y1
1. Определение выходных сигналов из соотношений:
у1= a4v a5 , y2= a1v a4 , y3=“Clock” & ¬y1.
2. Определение числа триггеров в памяти автомата (их будет три). Выбор типа триггера (пускай
это будет Т-триггер ) и кодирование состояний автомата каким-либо методом экономичного
кодирования.
Техническая реализация схемы, полученная после выполнения указанных шагов, будет иметь
следующий недостаток. На сигналы у1 и y2 в момент перехода автомата из одного состояния в
другое будeт накладываться импульсs помех, вызванные переходными процессами смены
состояний триггеров памяти.
Теория автоматов. Модуль 5
23/43
Продолжение синтеза формирователя импульсов
Принимаем следующий подход, лишённый отмеченных недостатков, но игнорирующий
рекомендации по экономичному кодированию состояний автомата.
Пускай сигналы y1 и y2 представляют собой выходы триггеров Q1 и Q2 соответственно.
Тогда состояния этих триггеров для каждого состояния будут определяться
соответствующими значениями из временной диаграммы. Состояние третьего триггера
должно обеспечить различие кодовых комбинаций для состояний а2 и а3 и, по
возможности, оптимизировать общий результат кодирования (т. е. по возможности
реализовать переходы с минимальным кодовым расстоянием).
am
1
2
3
4
5
Время t
Q1/y1 Q2/y2 Q3
0 1 0
0 0 0
0 0 1
1 1 0
1 0 0
t+1
Q1 Q2 Q3
0 0 0
0 0 1
1 1 0
1 0 0
0 1 0
Q1
1
5
0
2
4
3
1
00 01 11 10 Q2Q3
t
T1T2T3
0 1 0
0 0 1
1 1 1
0 1 0
1 1 0
Выполнив минимизацию для сигналов
возбуждения Т1, Т2 и Т3, получим:
T1  Q1 Q2  Q3  Q1Q2 & Q3
T2  Q1  Q2  Q3  Q1Q2 Q3
T3  Q1 Q2  Q1  Q2
y1  Q1 , y2  Q 2
y3  Clk & y1  Clk  y1
Теория автоматов. Модуль 5
24/43
Формирователь управляющей импульсной
последовательности
y3
y1
y2
1
1
Q3
"1"
&
Уст. " а1"
S
T1 T
T1
Q1
S
&
T2 T
T2
Q2
"1"
1
S
T3 T
C
C
C
R
R
R
"1"
T3
&
Clk
&
Работа
Теория автоматов. Модуль 5
25/43
Регистры и их классификация
Регистром называется устройство, предназначенное для запоминания многоразрядных
слов, а также для выполнения над ними некоторых логических преобразований.
Регистр представляет собой совокупность триггеров, число которых соответствует числу
разрядов в слове, и КС, обеспечивающую выполнение некоторых микроопераций:
- установка регистра в «0»,
- приём слова из другого регистра (сумматора и т. д. ),
- считывание слова из регистра,
- сдвиг хранимого слова вправо или влево на требуемое число разрядов,
- преобразование последовательного кода слова в параллельный и наоборот,
- выполнение поразрядных логических операций:
Ргi t 1  Ргi * Ai t
Здесь i – разряд слова, хранящегося в регистре и слова А, находящегося на входной шине, * конкретный тип логической операции.
По количеству линий передачи для переменных регистры делятся на однофазные и
парафазные (две линии на одну переменную), однако главным классификационным
признаком является способ приёма и выдачи данных. По этому признаку различают:
параллельные, последовательные и параллельно-последовательные регистры.
В параллельных регистрах приём и выдача слова производится для всех разрядов слова
одновременно и их основная функция – хранение слова (регистры памяти).
В последовательных регистрах слова принимаются и выдаются разряд за разрядом, их
называют сдвигающими, поскольку тактирующие сигналы перемещают слово в разрядной
сетке регистра. Последовательно – параллельные регистры имеют одновременно входы
для последовательного и параллельного приёма (выдачи) и могут выполнять взаимные
преобразования последовательных кодов в параллельные и наоборот.
Теория автоматов. Модуль 5
26/43
Регистры памяти
Регистр памяти – простейший тип регистра с параллельным вводом/выводом данных и
представляют собой, по существу, набор триггеров с независимыми информационными
входами (разрядными схемами) и общим тактовым входом
На рисунке представлена схема регистра на RS- триггерах, оперирующего парафазным
кодом данных.
Приём данных осуществляется стробирующим импульсом, подаваемый на синхровходы
RS-триггеров. Парафазный код требует наличие для одного разряда двух
физических линий, что характерно при использовании в регистрах памяти RS- и JKтриггеров. Впрочем, если перед каждым приёмом числа, осуществлять сброс разрядов
регистра в 0, то парафазный код можно заменить однофазным, который необходимо задавать
только на S -входы RS- триггеров. Однако, в этом случае, приём информации в регистре будет
осуществляться за два такта.
Q0
R Сброс
Qn 1
Q0
S T
S T
C
R
C
R
R
R
Qn 1
C
Строб
0
0
 n 1
Теория автоматов. Модуль 5
 n 1
27/43
Триггеры памяти на динамических D-триггерах
В современных вычислительных устройствах в регистрах памяти используются как
правило синхронные D-триггеры, как статические (тактируемые импульсом), так и
динамические. Регистры на D-триггерах используют для передача данных
однофазный код, что является их несомненным преимуществом.
На слайде приведены УГО триггеров памяти на динамических D-триггерах:
155 (533, 531, 555)TM8 и ** ТМ9 (SN**175 и SN**174) . Данные схемы содержат набор из
D-триггеров (4 и 6), имеющих общие входы сброса и тактового импульса С. В ИС ТМ8
число триггеров 4, у каждого есть выходы Q и ¬Q. ИС ТМ9 содержит шесть D-триггеров, у
которых только один выход Q.
D34
Запись
Сброс
C
R
Q23
Q
Q43
DBin 
DB out 
Запись
Сброс
Теория автоматов. Модуль 5
D10 RG Q01
D
D1
Q1
D
D22
Q
D33
Q22
D
D4
Q33
D
4
D
Q4
CC5
Q4
RR
Q5
SN174
SN175
DBin 
D01 RG Q01
D12
Q21
D32
DB out 
28/43
Схема регистра памяти TM8 (SN175 ) на D-триггерах
Q1 Q1
D1
D
C
Сброс
R
T
Q2 Q2
D2
D
C
R
T
Q3 Q3
D3
D
C
R
T
Q4 Q4
D4
D
C
T
R
Запись
Принцип действия (записи данных) регистров данного типа, срабатывающих по фронту
тактового сигнала С ничем ни отличается от принципа действия D- триггера. По
положительному фронту тактового сигнала С каждый из выходов регистра
устанавливается в тот уровень, который был в этот момент на соответствующем D- входе
регистра, и сохраняется таковым до прихода следующего положительного фронта
сигнала С.
Теория автоматов. Модуль 5
29/43
Универсальный регистр на D-триггерах динамического типа
(155, 133ИР13 – SN74хх198)
Режим
работы
DL - вход для последовательного
сдвига влево (в сторону ст. раз.)
DS21
Q1
Q2
Q2
Q33
D
D3L
D41
D

DR - вход для последовательного
сдвига вправо (в сторону мл. раз.)
Тактирующий вход
Сброс: S0=*, S1=*, T=*, ¬R=0
)
Q1
D2
C
D3
R
Параллельный ввод
слова A={ai}
S0 S1 (¬R =1, T=
DS10 RG
D8
DR
T
Q4
Q
4
Мл. разряд
(Least significant bit – LSB)
Параллельный
вывод слова

Q8
R
Ст. разряд
(Most significant bit – MSB)
Режим работы
00
01
Хранение
Последовательный ввод со сдвигом влево
10
Последовательный ввод со сдвигом вправо
11
Параллельная загрузка слова A={ai}
Теория автоматов. Модуль 5
30/43
Синтез универсального регистра на D-триггерах динамического
типа, выполняющего три микрооперации.
Режим
работы
DL - вход для последовательного
сдвига влево (в сторону ст. раз.)
DS10 RG
Q1
DS21
Q1
Q2
Q2
Q33
D
D3L
D
D4
1
Параллельный ввод
слова A={ai}
C
D
R2
D3
Q4
Q
4


Мл. разряд
(Least significant bit – LSB)
Параллельный
вывод слова
D8
Тактирующий вход
Сброс: S0=*, S1=*, T=*, ¬R=0
S0 S1 (¬R =1, T=
)
T
Q8
R
Ст. разряд
(Most significant bit – MSB)
Режим работы
00
01
Qit 1  ait
Хранение
Параллельная загрузка слова A={ai}
10
Qit 1  Qit1
Последовательный ввод со сдвигом влево
11
Запрещённый режим
Теория автоматов. Модуль 5
31/43
Синтез i -разряда универсального регистра
Reset
Clock
Qn
s0
s1
Qn 1
n
Qi
i
Qi 1
Q1
1
QL
Shift L
Write
Режим
So S1
00
01
10
Вход.
Состояние i-го разр.
сигналы
ai Qi-1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
Qi t
0/1
0/1
0/1
0/1
X
X
X
X
X
X
X
X
Qi t+1
0/1
0/1
0/1
0/1
0
0
1
1
0
1
0
1
Структура n -разрядного
регистра представляется
набором из n идентичных
схем, поэтому синтез
регистра сводится к
синтезу его i- го разряда
Di t
0/1
0/1
0/1
0/1
0
0
1
1
0
1
0
1
Теория автоматов. Модуль 5
Функционирование i-го
разряда регистра задано
таблицей. Столбец таблицы
для сигнала возбуждения
D-триггера заполнен в
соответствии с его
характеристическим
уравнением Qt 1  Dt
32/43
Уравнение работы i-го разряда регистра
Режим
Вход.
сигналы
So S1
ai Qi-1
00
01
10
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
Состояние i-го
разряда
Qi t
Qi t+1
0/1
0/1
0/1
0/1
X
X
X
X
X
X
X
X
0/1
0/1
0/1
0/1
0
0
1
1
0
1
0
1
Di t
0/1
0/1
0/1
0/1
0
0
1
1
0
1
0
1
ai Qi-1Qi
Di t
s0 s1 000 001 011 010 110 111 101 100
00 0 1 1 0 0 1 1 0
01 0 0 0 0 1 1 1 1
11
10
*
0
*
0
*
1
*
1
*
1
*
1
*
0
*
0
Di  s0Qit1  s1ai  s0 s1Qit
Теория автоматов. Модуль 5
33/43
Схема i-го разряда универсального регистра
Qi 1
Qi
Qi
& 1
D Ti
C
R
&
Re set
 DL для младшего 


 разряда

&
Clock
1
Di  s0Qit1  s1ai  s0 s1Qit
s0 s1
s0
s1
ai
Теория автоматов. Модуль 5
34/43
Счётчики. Закон функционирования суммирующего счётчика
Счётчик – это функциональный узел автоматного типа, предназначенный для
регистрации поступающих на его вход числа импульсов и деления их на модуль
счёта M. Модуль счёта определяется числом состояний счётчика (M≤2 n, где n- число
двоичных разрядов счётчика).
Счётчики классифицируются по признакам:
- модуль счёта (двоичный, десятичный, произвольный);
- направление счёта (суммирующие, вычитающие, реверсивные);
- структурная организация (синхронные и асинхронные).
Для построения счётчиков можно воспользоваться эвристическим алгоритмом исходя из
рассмотрения записи последовательности двоичных чисел
Закон функционирования
суммирующего счётчика в режиме
прямого счёта:
- значения переменной Qi изменяется
тогда, когда переменная в соседнем младшем
разряде Qi-1 переходит из состояния 1 в 0
(асинхронный принцип);
- значения переменной Qi изменяется с
приходом очередного импульса тогда, когда
переменные во всех младших разрядах Qi-1 ,…,
Q1 находится в состоянии 1 (синхронный
принцип).
Число
Прямой счёт Обратный счёт
входных
Q4 Q3 Q2 Q1
импульсов Q4 Q3 Q2 Q1
0
0 0 0 0
1 0 0 0
1
0 0 0 1
0 1 1 1
2
0 0 1 0
0 1 1 0
3
0 0 1 1
0 1 0 1
4
0 1 0 0
0 1 0 0
5
0 1 0 1
0 0 1 1
6
0 1 1 0
0 0 1 0
7
0 1 1 1
0 0 0 1
8
1 0 0 0
0 0 0 0
Теория автоматов. Модуль 5
35/43
Закон функционирования вычитающего
счётчика
Закон функционирования для
вычитающего счетчика :
- значение выходной переменной Qi
изменяется, когда переменная в соседнем
младшем разряде Qi-1 переходит из
состояния «0» в состояние «1»
(асинхронный принцип).
- значение выходной переменной Qi
изменяется при поступлении очередного
импульса счета в том случае, когда все
переменные в предыдущих младших
разрядах Qi-1, ..., Q1 находятся в
состоянии «0» (синхронный принцип)
Число
Прямой счёт Обратный счёт
входных
Q4 Q3 Q2 Q1
импульсов Q4 Q3 Q2 Q1
0
0 0 0 0
1 0 0 0
1
0 0 0 1
0 1 1 1
2
0 0 1 0
0 1 1 0
3
0 0 1 1
0 1 0 1
4
0 1 0 0
0 1 0 0
5
0 1 0 1
0 0 1 1
6
0 1 1 0
0 0 1 0
7
0 1 1 1
0 0 0 1
8
1 0 0 0
0 0 0 0
Теория автоматов. Модуль 5
36/43
Асинхронные счетчики
Асинхронные счетчики строятся в виде цепочки Т - триггеров со счетным входом (JK- триггер с
J=K=1 или D - триггер с инверсной обратной связью (D=¬Q)), когда тактовый вход каждого
последующего подключен к выходу Q или ¬Q предыдущего, что зависит как от направления
счета, так и от типа тактирующего входа триггера.
Ниже представлена схема асинхронного суммирующего счетчика на JK- триггерах и
временная диаграмма его работы. Временные диаграммы приведены для случая, когда состояние
счётчика было Q3Q2Q1=011
Q1
1
J
C
K
CLK
Вход
T
J
C
K
R
Сброс
Q2
1
Q3
1
T
J
C
K
R
T
R
а)
1
CLK
2
3
4
5
Q1
1
0
1
0
1
0
Q2
1
0
0
1
1
0
Q3
0
1
1
1
1
0
Теория автоматов. Модуль 5
37/43
Асинхронный вычитающий счетчик на D- триггерах
Асинхронный вычитающий счетчик на D- триггерах и временная диаграмма его работы.
Временные диаграммы приведены для случая, когда состояние счётчика было Q3Q2Q1=101.
Если в схеме вычитающего счетчика на D- триггерах тактовые входы триггеров соединить с
инверсными выходами предыдущих триггеров, то счетчик станет суммирующим.
Q1
D
C
CLK
Вход
T
D
C
R
R
Q2
T
Q3
D
C
R
T
R
а) Сброс
1
2
3
4
5
6
CLK
б)
Q1
1
0
1
0
1
0
1
Q2
0
0
1
1
0
0
1
Q3
1
1
0
0
1
0
1
Теория автоматов. Модуль 5
38/43
Свойства асинхронных счётчиков
Приведённые схемы счетчиков называют последовательными, так как в них каждый
триггер переключается выходным сигналом предыдущего. Эти счетчики отличаются
простой схемой, но низким быстродействием в режиме регистрации входных
сигналов, так как в этом режиме нельзя подавать очередной входной сигнал, пока не
зафиксировано предыдущее состояние счетчика.
Время установления кода равно tуст = nt зд. тр, где t зд. тр - время задержки
переключения триггера. Очевидно, что максимальная частота входных сигналов в
режиме регистрации составляет fмакс.рег=1/tуст.
В режиме деления входных импульсов максимальная частота их поступления будет
ограничиваться быстродействием младшего триггера и составит fмакс.дел=1/tзд.тр.
Второй недостаток состоит в том, что из-за накопления временных сдвигов в
разрядах в процессе установления кода, в счетчике возникают на короткие промежутки
времени ложные промежуточные состояния, например, смена состояний
0111 →1000
разделяется на фазы: 0111→ 0110 → 0100 → 0000 → 1000
Поэтому если к выходным разрядам такого счетчика подключить дешифратор, то на
его выходах могут появиться ложные сигналы, соответствующие промежуточным фазам
перехода счетчика из одного состояния в другое.
Теория автоматов. Модуль 5
39/43
Синхронные двоичные счетчики
От названных выше недостатков свободны синхронные счетчики, в которых с приходом
очередного импульса осуществляется одновременное переключение тех триггеров, состояния
которых должны измениться для формирования нового состояния.
D/ U
CR/BR
Комбинационная схема
f1
Q1
Тf
C
T
Q1
f2
Q2
Тf
C
T
fn
Q2
....
Qn
Тf
Qn
T
C
CLK
Вход
a ) Ti  f i
Clk
Q
J T
C
K
Q
Синхронный Т- триггер,
тактируемый срезом .
Схему синхронного счетчика можно представить обобщенной
структурной схемой, включающей триггеры со счетным входом T и
комбинационную схему, формирующую функции возбуждения fi для
этих счетных входов. В JK- триггерах счетный вход организуется
путем соединения входов J и K. Вход D / U управляет режимом
работы схемы : D / U  0 - прямой счет, D / U  1 - обратный счет
(Up – вверх, Down - вниз). Выходной сигнал переноса/займа
CR/BR (Carry/Borrow) может использоваться для наращивания
разрядности счетчика.
Теория автоматов. Модуль 5
40/43
Уравнения работы синхронного счётчика
В соответствии с синхронным принципом функционирования счётчика, переключение
триггера младшего разряда осуществляется с приходом каждого счетного сигнала CLK, а
остальных триггеров - только в том случае, когда все триггеры младших разрядов
установлены в «1» ( D / U  0 - прямой счет) или в «0» (обратный счет).
Следовательно, в общем случае, функция возбуждения fi триггера со счётным
входом для синхронного двоичного счетчика может быть определена выражением:
 


f i  Q1Q2 Qi 1 D / U  Q1 Q2 Qi 1 D / U ,
i  2,..., n.
1
Для младшего разряда: f1=1.
Сигнал переноса/заёма CR/BR может формироваться в двух случаях, а именно, когда
в счетчике хранится максимальное значение кода QnQn-1…Q1=11… при D / U  1 и
минимальное значение кода QnQn-1…Q1=00…0 при D / U  0 :



CT  max/( CT  0)  Q1Q2 Qn D / U  Q1 Q2 Qn D / U

2
Схема 4-разрядного синхронного двоичного счетчика с изменяемым направлением счета
(Up-Down-Counter), построенного в соответствии с выражениями (1) и (2) представлена на
рисунке в следующем слайде. Дополнительно в схему введен управляющий вход CE (Count
Enable - разрешение счета), обеспечивающий возможность наращивания разрядности
счётчика путём объединения уже имеющихся схем меньшей разрядности.
Теория автоматов. Модуль 5
41/43
Схема синхронного реверсивного счётчика
Схемы TTL: 555, 533ИЕ13 (SN**191), КМОП: 561,564ИЕ11(MC14516).
( D/U  0 - прямой, D/U  1 - обратный).
Q1
Q2
Q3
Q4
&
D/ U
1
&
J
C
K
&
1
1
Q1
R
J
C
K
Q3
2
Q2
1
...
Q3
R
J
C
K
4
CT=0
CT=15
1
Q4
R
R
&
CLK
&
CR/BR
&
&
CE
Теория автоматов. Модуль 5
42/43
Временные диаграммы работы
Временные диаграммы формирования переноса - заёма в 4-разрядном синхронном счетчике
(CE =1) поясняют особенности формирования переноса в режиме прямого счета и заёма - в
обратном, с учетом запаздывания в их формировании относительно тактового сигнала CLK.
14
15
1
16
2
3
CLK
D/ U
Q1
1
0
1
0
0
1
0
1
Q2
0
1
1
0
1
0
0
1
Q3
1
1
1
0
0
0
0
1
Q4
1
1
1
0
0
0
0
1
CT=0
CT=15
CR/BR-синхрониз.
перенос
CT=0
CT=15
CR/BR-синхрониз.
заем
Теория автоматов. Модуль 5
43/43
Download