Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Синтез автоматов с памятью.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
603 Кб
Скачать
☆

3.2 Основные этапы канонического метода структурного синтеза

Канонический метод структурного синтеза условно можно разделить на следующие этапы:

  1. кодирование;

  2. выбор элементов памяти;

  3. выбор функционально полной системы логических элементов;

  4. построение булевых функций возбуждения памяти автомата и функции выходов;

  5. построение функциональной схемы автомата.

3.2.1 Кодирование

Произвольный цифровой С-автомат с памятью на абстрактном уровне представления может быть описан в виде (см. гл. 1):

.

При переходе на структурный уровень представления каждая буква входного алфавита и выходных и алфавитов должны быть представлены в структурном алфавите. Иными словами каждая буква , , кодируются двоичными векторами или двоичными наборами, число компонентов или длина которых и соответственно, равна числу физически реализованных входных и выходных каналов. Очевидно, что минимальное число физически реализованных входных каналов и выходных и каналов в автоматах Мили и Мура соответственно может быть подсчитано по формулам:

,     ,     ,

где означает ближайшее целое, большее а или равное ему, если а ‑ целое.

В этом случае символу z f алфавита Z поставлен во взаимно-однозначное соответствие набор значений переменных x1, x2,..., xL , выходному сигналу w g алфавита W – набор значений переменных y1, y2,..., yN , а выходному сигналу u h алфавита U ‑ r1, r2,..., rD.

Каждая буква алфавита состояний автомата представляется двоичным вектором, минимальное число компонент которого определяется по формуле:

.

Процесс замены букв алфавитов абстрактного автомата двоичными векторами носит название кодирования и может быть описан таблицами кодирования.

В общем случае каждой кодируемой букве может быть приписан произвольный вектор, но обязательно две различные буквы (одного и того же алфавита) должны кодироваться различными двоичными векторами.

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

3.2.2 Выбор элементов памяти автомата

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

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

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

Очевидно, что число элементов памяти равно числу компонент вектора его состояний (см. п. 3.1.1).

В качестве элементарных автоматов памяти применяются триггеры – электронные схемы с двумя устойчивыми состояниями.

Обычно нулевому состоянию соответствует нулевой сигнал, единичному – единичный.

Для удобства выходные сигналы триггера обозначаются теми же буквами, что и его состояние. Триггеры обычно имеют два выхода: прямой Q (называется также «выход 1») и инверсный («выход 0»). В единичном состоянии на выходе Q ‑ высокий уровень сигнала, а в нулевом – низкий. На выходе – наоборот.

Наиболее широкое распространение получили триггеры типа RS, D, T, JK. Условные обозначения триггеров приведены на рис. 3.2. В основном поле помещают букву Т (для двухступенчатых триггеров – ТТ), через Q и обозначают прямой и инверсный выходы, в левом поле указывают тип входа. При этом для информационных входов триггеров приняты следующие обозначения:

S, R ‑ входы для раздельной установки триггера в состояние Q = 1 (Set – установка) и Q = 0 (Reset – сброс);

T ‑ счетный вход триггера (Toggle – релаксатор);

JK ‑ входы для раздельной установки JK-триггера в состояние Q = 1 (Jerk ‑ внезапное включение) и Q = 0 (Kill ‑ внезапное отключение);

D ‑ вход для установки триггера в состояние 1 или 0 с временной задержкой (Delay ‑ задержка) относительно момента появления информационного сигнала;

C ‑ вход синхронизации, для подачи тактовых импульсов (Clock – источник синхросигнала).

Рис. 3.2. Условное обозначение триггеров

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

RS-триггер. Асинхронный RS-триггер имеет два информационных входа: S – установка в состояние Q = 1, R – установка в состояние Q = 0. Последующее состояние триггера Q(t+1) зависит не только от входных сигналов, но и от предшествующего состояния. Алгоритм работы задается таблицей переходов (табл. 3.1).

Аналитически функционирование триггера описывается выражением:

(3.3)

Таблица 3.1

Таблица переходов RS-триггера

S(t)

R(t)

Q(t)

Режим работы

0

1

0

0

0

1

Хранение

0

1

0

0

Сброс в 0

1

0

1

1

Установка 1

1

1

*

*

Запрещен

Функция входов RS-триггера приведена в табл. 3.2. Из табл. 3.2 видно, что триггер переходит в состояние 1 независимо от того, в каком состоянии он раньше находился при поступлении единицы на вход S; при поступлении единицы на вход R триггер переходит в состояние 0. Если триггер сохраняет состояние 0, то это не зависит от сигнала на входе R. Аналогично, если сохраняет состояние 1, это не зависит от сигнала на входе S. Преобразованная с учетом этого функция входов дана в табл. 3.3.

Таблица 3.2

Функция входов RS-триггера

Таблица 3.3

Преобразованная функция входов

RS-триггера

Q(t)

S(t) R(t)

Q (t+1)

Q(t)

S(t)

R(t)

Q (t+1)

0

00  01

0

0

0

–

0

0

10

1

0

1

0

1

1

01

0

1

0

1

0

1

00  10

1

1

–

0

1

Т-триггер. Т-триггер или триггер со счетным входом как бы считает поступающие на вход импульсы. То есть изменение состояния триггера происходит при поступлении на его вход одиночного сигнала. Алгоритм работы задается таблицей переходов (табл. 3.4). Функция входов Т-триггера приведена в табл. 3.5.

Таблица 3.4

Таблица переходов

Т-триггера

Таблица 3.5

Функция входов

Т-триггера

T(t)

Q(t)

Q(t)

T(t)

Q(t+1)

0

1

0

0

0

0

0

1

0

1

1

1

1

0

1

1

0

1

0

1

Аналитически функционирование Т-триггера описывается выражением:

. (3.4)

D-триггер. D-триггер реализует функцию временной задержки, т.е. осуществляет задержку поступившего на его вход сигнала на один такт. Функция переходов и функция входов D-триггера приведены в табл. 3.6 и 3.7 соответственно.

Таблица 3.6

Таблица переходов

D-триггера

Таблица 3.7

Функция входов

D-триггера

D(t)

Q(t)

Q(t)

D(t)

Q(t+1)

0

1

0

0

0

0

0

0

0

1

1

1

1

1

1

0

0

1

1

1

D-триггер реализует функцию вида :

. (3.5)

JK-триггер. Универсальный по своим возможностям JK-триггер нашел наибольшее применение. Алгоритм работы задается таблицей переходов (табл. 3.8). Функция входов и преобразованная функция входов даны в табл. 3.9 и 3.10 соответственно. Функцию переходов JK-триггера можно представить в виде булевой функции:

. (3.6)

Таблица 3.8

Таблица переходов

JK-триггера

J(t)

K(t)

Q(t)

Режим работы

Примечание

0

1

0

0

0

1

Хранение

Режим RS-триггера

0

1

0

0

Сброс в 0

Режим RS-триггера

1

0

1

1

Установка 1

Режим RS-триггера

1

1

1

0

Инверсия

Режим T-триггера

Таблица 3.9

Функция входов

JK-триггера

Таблица 3.10

Преобразованная функция входов JK-триггера

Q(t)

J(t) K(t)

Q (t+1)

Q(t)

J(t)

K(t)

Q (t+1)

0

00  01

0

0

0

‑

0

0

10  11

1

0

1

‑

1

1

01  11

0

1

‑

1

0

1

00  10

1

1

‑

0

1

Входы J и K соответствуют входам установки в состояния Q = 1 и Q = 0 соответственно. В отличие от RS-триггера в JK-триггере сигналы 1 могут одновременно прийти на входы J и K. При этом состояние триггера изменяется на противоположное, т.е. при J = K схема ведет себя как триггер со счетным входом.

JK-триггер удобен тем, что при различных вариантах подключения его входов можно получить схемы, функционирующие как D-, T-, и RS-триггеры (рис.3.3).

Рис. 3.3. Способы использования JK-триггера