Выберем в качестве элементов памяти D-триггер, функция входов которого представлена в таблице стр. 33

ПТЦА - Прикладная теория цифровых автоматов
113094
знака
120
таблиц
81
изображение

1. Выберем в качестве элементов памяти D-триггер, функция входов которого представлена в таблице стр. 33.

2. Закодируем входные, выходные сигналы и внутренние состояния автомата. Количество входных абстрактных сигналов F = 3, следовательно количество входных структурных сигналов L= ]log2F [ = ]log23[ = 2, т.е. х1, х2.

Количество выходных абстрактных сигналов G = 4, следовательно количество выходных структурных сигналов N =]log2G[ = ]log24[ = 2, т.е. у1, у2. Количество внутренних состояний абстрактного автомата M = 4, следовательно количество двоичных элементов памяти (триггеров) R = ] log2M [ = ]log24[ = 2.

Следовательно, структура ЦА с учетом того, что исходный автомат является автоматом Мили, в качестве элементов памяти используется D-триггер, может быть представлена в виде(рис. 29):

Кодирование входных, выходных сигналов и внутренних состояний представлена в таблицах:

x1

x2

y1

y2

Q1

Q2

z1

0 0

w1

0 0

a1

0 0

z2

0 1

w2

0 1

a2

0 1

z3

1 1

w3

1 1

a3

1 1

w4

1 0

a4

1 0

Кодирование, в общем случае, осуществляется произвольно. Поэтому, например, каждому из сигналов Zi можно поставить в соответствие любую двухразрядную комбинацию х1, х2. Необходимо только, чтобы разные выходные сигналы Zi кодировались разными комбинациями х1, х2. Аналогично для Wi и ai.

 

3. Получим кодированные таблицы переходов и выходов структурного автомата. Для этого в таблицах переходов и выходов исходного абстрактного автомата вместо Zi, Wi, ai cтавим соответствующие коды. Получим таблицы:

a1

a2

a3

a4

a1

a2

a3

a4

00 01 11 10 00 01 11 10

Z1

00 00 10 10

Z1

00 01 00 11

Z2

01 11 00

Z2

01 11 00

Z3

11 01 01

Q1Q2

Z3

11 00 10

y1y2

В кодированной таблице переходов заданы функции

 

В кодированной таблице выходов заданны функции:

4. При каноническом методе синтез сводится к получению функций:

и последующем построении комбинационных схем, реализующих данную систему булевых функций.

Функции у1 и у2 могут быть непосредственно получены из таблицы выходов, например, в виде :

Однако выражения для у1 и у2 можно существенно упростить в результате минимизации, например, с помощью карт Карно:

00 01 11 10 00 01 11

10

 

00 0 0 1 00 1 0 1
01 1 0 01 1 0

 

11 0 1 0 11 0 0 1

 

10 10

В результате минимизации имеем:

Для получения выражений для D1 и D2 необходимо получить таблицы функций возбуждения. Для чего в общем случае необходимо воспользоваться таблицей переходов и функциями входов элементов памяти. Зная код исходного состояния автомата и код

состояния перехода на основании таблицы входов триггера получаем требуемое значение функции возбуждения, обеспечивающее заданный переход. Однако для D-триггеров, как отмечалось ранее, таблица переходов совпадает с таблицей функции возбуждения. Тогда либо непосредственно из этой таблицы, либо в результате минимизации получаем требуемые значения Di. Обычно используется минимизация с помощью карт Карно:

00 01 11 10 00 01 11 10

 

00 0 1 1 00 0 0 0
01 1 0 01 1 0

 

11 0 0 1 11 1 1 1

 

10 10

В результате минимизации получаем:

 

 

5. На основании полученных в результате синтеза булевых выражений ((*), (**)) ,строим функциональную схему автомата. Для этого уравнения ((*), (**)) представим в виде:

Функциональная схема автомата представлена на странице 41:

Дополнительно на функциональной схеме показан сигнал , устанавливающий автомат в начальное состояние (в данном случае 00).

 


 


 


Особенности синтеза автоматов на базе T, RS, JK триггеров.

Необходимо отметить, что синтез на базе указанных типов триггеров осуществляется аналогично выполненному синтезу на базе D-триггеров. В частности, п. 1¸3 (см. предыдущий параграф) абсолютно аналогичны. Кроме того, как следует из п.4 (см. предыдущий параграф) выходные сигналы не зависят от типа триггеров, поэтому выражение для yi будут одинаковыми для любого типа триггеров. Однако функции возбуждения будут различны для разных типов триггеров и получаются на основании таблицы переходов исходного автомата и функции входов выбранного триггера. Без особых пояснений ниже приведены таблицы функций входов, функций возбуждений и карты Карно для минимизации функций возбуждения при использовании для синтеза автомата предыдущего параграфа T-, RS-, JK-триггеров.

T-триггер.

Q t

Q t+1

T t

0 0 0
0 1 1
1 0 1
1 1 0


00

01 11 10
00 00 11 01
01 10 11
11 01 10 01
00 01 11 10 00 01 11 10

 

00 0 1 0 00 0 1 1
01 1 1 01 0 1

 

11 0 1 0 11 1 0 1

 

10 10 0

 

 

 

RS-триггер.

Q t

Q t+1

R

S

0 0 X 0
0 1 0 1
1 0 1 0
1 1 0 X

00 01 11 10

 

R1

S1

R2

S2

R1

S1

R2

S2

R1

S1

R2

S2

R1

S1

R2

S2

00 X 0 X 0 0 1 1 0 0 X 1 0
01 0 1 0 X 1 0 1 0
11 X 0 0 1 1 0 0 X 0 X 0 1

00 01 11 10 00 01 11 10

 

00 X 0 0 00 0 1 X
01 0 1 01 1 0

 

11 X 1 0 11 0 0 X

 

10 10

00 01 11 10 00 01 11 10

 

00 X 1 1 00 0 0 0
01 0 1 01 X 0

 

11 0 0 0 11 1 X 1

 

10 10

 

JK-триггер.

Q t

Q t+1

J

K

0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0
00 01 11 10

 

J1

K1

J2

K2

J1

K1

J2

K2

J1

K1

J2

K2

J1

K1

J2

K2

00 0 X 0 X 1 X X 1 X 0 X 1
01 1 X X 0 X 1 X 1
11 0 X 1 X X 1 X 0 X 0 1 X
00 01 11 10 00 01 11 10

 

00 0 1 X 00 X X 0
01 1 X 01 X 1

 

11 0 X X 11 X 1 0

 

10 10
00 01 11 10 00 01 11 10

 

00 0 X X 00 X 1 1
01 X X 01 0 1

 

11 X 1 0 11 0 0 X

 

10 10

Функциональные схемы автоматов с различными типами триггеров предлагается построить самостоятельно.


Кодирование внутренних состояний ЦА.

Гонки в автомате.

 

Кодирование заключается в сопоставлении каждому состоянию автомата набора (кода) состояний элементов памяти. При этом наборы для всех состояний должны иметь одинаковую длину, а разным состояниям автомата должны соответствовать разные наборы. Если элементы памяти двоичные, то их число .

Переход автомата из одного состояния в другое осуществляется за счет изменения состояний элементов памяти. Если автомат переходит из состояния с кодом 010 в состояние с кодом 100, то это означает, что триггер V1 переходит из состояния 0 в состояние 1, V2 – из 1 в 0, V3 – сохраняет свое состояние.

При функционировании автомата могут появиться так называемые состязания. Это явление возникает вследствие того, что элементы памяти имеют различные, хотя и достаточно близкие, времена срабатывания. Различны также задержки сигналов возбуждения, поступающих на входные каналы элементарных автоматов по логическим цепям неодинаковой длины.

Если при переходе автомата из одного состояния в другое должны изменить свои состояния сразу несколько запоминающих элементов, то между ними начинаются состязания. Тот элемент, который выиграет эти состязания, т.е. изменит свое состояние ранее, чем другие элементы, может через цепь обратной связи изменить сигналы на входах некоторых запоминающих элементов до того, как другие, участвующие в состязаниях элементы, изменят свои состояния. Это может привести к переходу автомата в состояние, не предусмотренное его графом. Поэтому в процессе перехода из состояния am в состояние as под действием входного сигнала Zf автомат может оказаться в состоянии ak или al: (рис.36.).

 

Если затем при том же входном сигнале Zf автомат из аk и аl перейдет в аs, то такие состязания являются допустимыми или некритическими.

Если же в этом автомате есть переход, например, из аk в аj ¹ аs под действием того же сигнала Zf, то автомат может перейти в аj, а не в аs и правильность его работы будет нарушена (рис.37.).

Такие состязания называются критическими состязаниями или гонками и необходимо принимать меры для их устранения.

Устранить гонки можно аппаратными средствами либо используя специальные методы кодирования. Один из способов ликвидации гонок состоит в тактировании входных сигналов автомата импульсами определенной длительности. Предполагается, что кроме входных каналов х1, ..., хl имеется еще канал С от генератора синхроимпульсов, по которому поступает сигнал С = 1 в момент прихода импульса и С = 0 при его отсутствии. В связи с этим входным сигналом на переходе (am, as) будет не Zf, а CZf. Тогда, если длительность импульса tc меньше самого короткого пути прохождения тактированного сигнала обратной связи по комбинационной схеме, то к моменту перехода в промежуточное состояние ak сигнал C = 0, CZf=0, что исключает гонки. Канал С – это фактически синхровход триггера. Недостаток метода – в трудности подбора требуемой длительности импульса, т.к. она зависит от многих факторов, не поддающихся строгому учету.

Другой способ ликвидации гонок заключается во введении двойной памяти. В этом случае каждый элемент памяти дублируется, причем перепись из первого элемента памяти во второй происходит в момент С = 0(рис.38.).

Сигналы обратной связи для получения функций возбуждения и функций выходов автомата снимаются с выхода второго триггера. Таким образом состязания могут возникнуть только между первыми триггерами, сигналы ОС (выходы вторых триггеров) не могут измениться до тех пор, пока С не станет равным 0. Но тогда CZf = 0, первый триггер перестанет воспринимать информацию, и гонок не будет.

Для устранения гонок используются специальные методы противогоночного кодирования, среди которых чаще всего применяется так называемое соседнее кодирование состояний автомата, при котором условие отсутствия гонок всегда выполнено. При соседнем кодировании любые два, состояния связанные дугой на графе автомата кодируются наборами, отличающимися состояниями лишь одного элемента памяти.

Соседнее кодирование не всегда возможно. Граф автомата, допускающее соседнее кодирование, должен удовлетворять ряду требований, а именно:

1) в графе автомата не должно быть циклов с нечетным числом вершин;

2) два соседних состояния второго порядка не должны иметь более двух состояний, лежащих между ними.

Под состояниями второго порядка понимаются такие два состояния, путь между которыми по графу автомата состоит из двух ребер (независимо от ориентации). Примеры графов автоматов допускающих и не допускающих соседнее кодирование представлены на рис.39а. и 39б. соответственно.

При соседнем кодировании обычно пользуются картой Карно. В этом случае состояния, связанные дугой, располагают на соседних клетках карты (рис.40.).

Легко видеть, что при соседнем кодировании на каждом переходе переключается только один триггер, что принципиально устраняет гонки.

 
Кодирование состояний и сложность комбинационной схемы автомата.

Анализ канонического метода структурного синтеза автомата показывает, что различные варианты кодирования состояний автомата приводят к различным выражениям функций возбуждения памяти и функций выходов, в результате чего сложность комбинационной схемы существенно зависит от выбранного кодирования. Среди множества существующих алгоритмов кодирования рассмотрим лишь два наиболее часто встречаемых:

1) алгоритм кодирования для D-триггеров;

2) эвристический алгоритм кодирования.

 Алгоритм кодирования для D-триггеров.

Согласно рассматриваемому алгоритму при кодировании необходимо выполнить следующее:

1.   Каждому состоянию автомата аm (m = 1,2,...,M) ставится в соответствие целое число Nm, равное числу переходов в состояние аm (Nm равно числу появлений аm в поле таблицы переходов или числу дуг, входящих в аm при графическом способе задания автомата).

2.   Числа N1, N2, ..., Nm упорядочиваются по убыванию.

3.   Состояние аs с наибольшим Ns кодируется кодом:, где R-количество элементов памяти.


Информация о работе «ПТЦА - Прикладная теория цифровых автоматов»
Раздел: Разное
Количество знаков с пробелами: 113094
Количество таблиц: 120
Количество изображений: 81

Похожие работы

Скачать
66716
0
0

... (пе- редний фронт) сигнала, то используется элемент ИЛИ. (Первый перепад сигнала синхронизации в новом такте не должен быть рабочим.)  _ОПТИМИЗАЦИЯ ОПЕРАЦИОННОГО АВТОМАТА При проектировании вычислительного устройства основными являются ограничения на:  1)- время вычисления;  2)- объем аппаратуры, реализующей вычисления;  3)- тип применяемых базовых функций.  ОПТИМИЗАЦИЯ ...

Скачать
31451
6
0

... если Да то на E07(Л2), иначе на C04(Л2). E07(Л2) Выводим частное, т.е. Z:=Рг.В. F07(Л2) Конец. 1.6 Описание моделирующей программы (Приложение В) Программа операции деления без восстановления остатка со сдвигом остатка с фиксированной точкой в коде 8421, 8421+6 выполнена на языке программирования ассемблера. В моделирующей программе регистрами Рг.А, Рг.В, Рг.К, а так же ...

0 комментариев


Наверх