Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВВЕДЕНИЕ В ТЕОРИЮ АВТОМАТОВ И СТРУКТУРНЫЙ СИНТЕЗ ЦИФРОВЫХ АВТОМАТОВ.docx
Скачиваний:
22
Добавлен:
18.02.2016
Размер:
36.09 Кб
Скачать

Введение в теорию автоматов и структурный синтез цифровых автоматов содержание

1 Основные понятия и определения

2. Методы структурного синтеза и языки описания цифровых автоматов

3. Элементарный автомат (триггерный элемент)

4. Синтез цифрового автомата с памятью

Основные понятия и определения

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

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

Синхронный автомат характеризуется тем, что функционирует под управлением тактовых (или синхронизирующих) сигналов - ТС, с постоянной длительностью tТС и постоянной частотой fТС, если квантование времени равномерное. Такт (квант) времени ti совмещается с фронтом i-того сигнала ТС. Входные сигналы могут воздействовать на автомат лишь при наличии сигнала ТС и не изменяются в течение tТС. Период следования сигналов ТС должен быть больше или равен времени, которое необходимо реальному автомату для перехода из одного состояния в другое. Когда рассматривается абстрактный автомат, то считается, что изменение внутренних состояний автомата происходит в интервалы времени между смежными ТС, а выходные сигналы формируются по фронту очередного ТС.

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

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

X Y

Для задания конечного автомата фиксируются три конечных множества (алфавита):

- множество возможных входных сигналов:

X = {x1, x2, ..., xm};

- множество возможных выходных сигналов:

Y = {y1, y2, ..., yk};

- множество возможных внутренних состояний автомата:

A = {a0, a1, ..., an}.

На этих множествах задают два логических оператора:

- функцию переходов f, определяющую состояние автомата a(t + 1) в момент дискретного времени t + 1 в зависимости от состояния автомата a(t) и значения входного сигнала x(t) в момент времени t:

a(t + 1) = f[a(t), x(t)]; (1)

- функцию выходов , определяющую зависимость выходного сигнала автомата y(t) от состояния автомата a(t) и входного сигнала x(t) в момент времени t:

y(t) = [a(t), x(t)]. (2)

Кроме того, на множестве состояний автомата фиксируют одно из внутренних состояний а0 в качестве начального состояния.

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

Работу абстрактного автомата следует рассматривать применительно к конкретным интервалам времени, т.к. каждому интервалу дискретности t будет соответствовать свой выходной сигнал y(t). Следовательно, функционирование автомата рассматривается через дискретные интервалы времени конечной продолжительности. В абстрактной теории цифровых автоматов считается, что входные сигналы воздействуют на синхронный автомат в момент начала каждого i-того интервала (кванта) времени, выделенного соответствующим синхроимпульсом (тактом), а изменение внутренних состояний автомата происходит в интервалы времени между смежными синхроимпульсами, когда нет воздействия входных сигналов.

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

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

К примеру, рассмотрим таблицы переходов и выходов некоторого автомата.

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

Входной Состояние

сигнал a0 a1 a2 a3

x1 a1 a2 a3 a3

x2 a0 a0 a0 a0

Таблица выходов автомата

Входной Состояние

сигнал a0 a1 a2 a3

x1 y2 y2 y1 y2

x2 y2 y2 y2 y3

В клетку таблицы переходов, находящуюся на пересечении столбца с буквой аi и строки с буквой xj, записывается состояние автомата, в которое он переходит из состояния аi при подаче на вход сигнала xj. В аналогичную клетку таблицы выходов записывается выходной сигнал yi, который формируется автоматом при таком переходе.

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

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

Выходной Cостояние

сигнал a0 a1 a2 a3

x1 a1 y2 a2 y2 a3 y1 a3 y2

x2 a0 y2 a0 y2 a0 y2 a0 y3

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

Граф автомата состоит из узлов, соединенных ветвями. Узлы (кружки на схеме графа) отождествляют внутренние состояния автомата. Каждая ветвь графа, т.е. ориентированная линия, стрелка которой указывает следующее состояние автомата, отмечается входным сигналом, вызывающим в автомате соответствующий данной ветви переход, и выходным сигналом, который возникает при этом переходе. Входной и соответствующий ему выходной сигналы разделяются на чертеже запятой или косой чертой. Если некоторый входной сигнал не меняет состояния автомата, то соответствующая ветвь замыкается на кружке (узле), из которого она выходит.

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

В настоящее время в классе синхронных атоматов рассматривают, в основном, два типа автоматов: автомат Мили и автомат Мура.

Графа атомата Мили, заданного вышеприведенными таблицами, отражен на рис. 1. Закон функционирования автоматов Мили может быть задан следующим образом:

a(t + 1) = f[a(t), x(t)];

y(t) = [a(t), x(t)],

где t = 1, 2, .....

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

Рис1. Граф автомата Мили.

У автоматов Мура выходные сигналы в момент времени t однозначно определяются состоянием автомата в этот же момент времени и в явном виде не зависят от значения входных сигналов xi(t).

Функции переходов и выходов автомата Мура, заданного на множестве входных сигналов X, множестве внутренних состояний A = {a0, a1, ,an} и множестве выходных сигналов Y, можно записать в виде

a(t + 1) = f[a(t), x(t)], (3)

y(t) = [a(t)]. (4)

эти операторы удобно задавать отмеченной таблицей переходов.

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

Отмеченная таблица переходов автомата

Выходной сигнал

y2 y2 y2 y1 y2 y3

Входной Состояние

сигнал a0 a1 a2 a3 a4 a5

x1 a1 a2 a3 a4 a4 a1

x2 a0 a0 a0 a5 a5 a0

Граф автомата Мура, заданного этой таблицей, приведен на рис. 2.

На этом рисунке состояния автомата обозначаются сиволами bi.

На графах автомата Мура значения выходных сигналов записываются около узлов.

Рис. 2. Автомат Мура.

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

Помимо автоматов Мили и Мура выделяют еще, так называемый, совмещенный автомат - С-автомат. Абстрактный С-автомат можно представить в виде устройства с одним входом, на который поступают входные сигналы X, и двумя выходами, на которых появляются выходные сигналы Y и U.

Y

X

U

рис. 3

Здесь X - входной алфавит; A - множество состояний; Y - выходной алфавит первого типа; U = {u1(t) ... um(t)} - выходной алфавит второго типа.

Отличие С-автомата от моделей Мили и Мура состоит в том, что он одновременно реализует две функции выходов 1 и 2, каждая из которых характерна для этих моделей в отдельности. Этот автомат можно описать следующей системой уравнений:

a(t+1) = f [a(t), x(t)]; (5)

y(t) = 1[a(t), x(t)];

u(t) = 2[a(t)].

Выходной сигнал u = 2(as) выделяется все время, пока автомат находится в состоянии as. Выходной сигнал yk = 1(as, xn) выдается во время действия входного сигнала xn при нахождении автомата в состоянии as. От С-автомата легко перейти к автоматам Мили или Мура (с учетом возможных сдвигов во времени на один такт), так же как возможна трансформация автомата Мили в автомат Мура и наоборот.

Методы структурного синтеза и языки описания цифровых автоматов

В зависимости от способа задания функций переходов и выходов (f и ) в настоящее время выделяют два класса языков описания цифровых автоматов - начальные языки и стандартные, или автоматные языки. В начальных языках автомат описывается на поведенческом уровне, т.е. функции переходов и выходов обычно в явном виде не заданы. Среди начальных языков следует выделить язык регулярных выражений алгебры событий, язык логических схем алгоритмов, язык граф-схем алгоритмов. Принципы построения граф-схем алгоритмов подробно описаны в Глава 11, там же рассматриваются некоторые возможные содержательные термины, которые обычно используются при описании алгоритмов.

Среди автоматных языков наиболее распространены таблицы переходов и выходов, а также графы, которые мы рассматривали ранее.

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

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

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

1.Элементарные автоматы, например триггера, являются автоматами Мура и имеют два внутренних устойчивых состояния.

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

3. В общем случае элементарные автоматы могут иметь несколько физических входов.

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

- хотя бы один элементарный автомат с двумя различными состояниями, для которых соблюдаются условия полноты системы переходов и выходов;

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

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

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

X

Z

Q Y

Рис. 4.

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

В самом общем виде последовательность структурного синтеза пос-ледовательностного цифрового автомата можно представить следующим образом.

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

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

Задачи комбинационного синтеза последовательностных цифровых автоматов полностью совпадают с задачами синтеза комбинационных логических схем.

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

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

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

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

Элементарный автомат (триггерный элемент)

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

Триггер имеет два выходных сигнала Q иQ. Сигнал Q считается истинным или прямым, а сигнал Q - дополнительным или инверсным. Этим сигналам соответствует один из двух уровней напряжения: L или H, и они дополняют друг друга. Выходные сигналы триггера постоянны до тех пор, пока они не будут изменены под воздействием входных сигналов, т.е. триггер имеет два устойчивых состояния (режима): Q = H иQ = L или Q = L и Q = H. Первое из них когда Q = H называется состоянием установки, а второе - состоянием сброса. Предположим, что для триггера используется положительная логика. Тогда состояниям установки и сброса ставятся в соответствие логические состояния 1 и 0.

Существуют различного типа триггерные схемы, в частности, типа: D, T, RS, JK. Для каждого из них имеется однозначное соответствие между входными сигналами и соответствующими переходами состояний триггера. Это соответствие задается таблицей состояний. Приведем, например, условное обозначение RS триггера и его таблицу состояний.

S Q

R Q

Рис. 5

Таблица состояний RS триггера

Входы

Текущее состояние S = L R = L S = L R = H S = H R = L S = H R = H

Выходы

Q = L Q = H L H L H H L Не опре- делено

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

Логическое поведение триггера, как любого другого автомата, описы-вается логическими таблицами состояний и переходов. Приведем такие таблицы для RS триггера.

Таблица состояний

Входы SR

Текущее 00 01 10 11

состояние Выходы

Q = 0 Q = 1 0 1 0 0 1 1 Не опре- делено

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

Текущее состояние Q Следующее состояние Q S R

0 0 0 d

0 1 1 0

1 0 0 1

1 1 d 0

где d - недоопределенное состояние, т.е. в может равняться либо 0, либо 1.

Приведем вариант реализации RS-триггера на элементах И-НЕ:

В схеме с N триггерами (например регистр с N триггерами) состояния характеризуются N-разрядным двоичным словом, каждый разряд которого ассоциируется с одним из триггеров. Так как существует 2N различных комбинаций N-разрядного слова, то у данной схемы имеются 2N устойчивых состояний. Очевидно, что состояние выходных сигналов такого регистра зависит не только от того на какие его входы поступили сигналы, но и от того в каком состоянии были его триггера до прихода входных сигналов. Это и является отличительной чертой последовательностных схем от схем первого рода - комбинационных логических схем.

Обычный Т-триггер имеет один счетный вход Т и как все триггера два выхода: Q и Q. Он переключается только при изменении входного сигнала Т с значения 0 на 1.

Синхронизируемый Т-триггер имеет кроме счетного входа Т еще вход СК для синхронизирующего сигнала (синхроимпульса) СИ. Опрокидование триггера происходит в том случае, когда в момент прихода СИ Т = 1, если

T = 0, то СИ не оказывает воздействия на триггер.