Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lecture9a_FSM.doc
Скачиваний:
3
Добавлен:
19.11.2019
Размер:
5.49 Mб
Скачать

Graphs (Графы)

Automaton graph is the directed graph, whose nodes defines its internal states, and arcs – the transition from one state to another.

Граф автомата – это ориентированный связный граф, вершины которого символизируют внутренние состояния автомата, а дуги – переходы из одного состояния в другое.

Figure 2: An unconnected in-going arc indicates that the node is the start state

(входная стрелка без соединения слева указывает на то, что данный узел является начальным состоянием)

Example (A directed graph for an edge detector (направленный граф краевого детектора).

The function of an edge detector is to detect transitions between two symbols in the input

sequence, say 0 and 1. It does this by outputting 0 as long as the most recent input symbol

is the same as the previous one. However, when the most recent one differs from the

previous one, it outputs a 1. By convention, the edge detector always outputs 0 after

reading the very first symbol. Thus we have the following input output sequence pairs for

the edge-detector, among an infinite number of possible pairs:

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

input – вход

output – выход.

Figure 3: Directed labeled graph for the edge detector Ориентированный помеченный граф для краевого детектора)

The state-transition table for the edge-detector machine is

(таблица состояний переходов для краевого детектора)

Start state – начальное состояние

Current state – текущее состояние

Input symbol – входной символ

Next state – следующее состояние

Output symbol – выходной символ.

In automata theory and sequential logic, a state transition table is a table showing what state (or states in the case of a nondeterministic finite automation) a finite semi-automation or finite state machine will move to, based on the current state and other inputs. A state table is essentially a truth table in which some of the inputs are the current state, and the outputs include the next state, along with other outputs.

A state table is one of many ways to specify a state machine, other ways being a state diagram, and a characteristic equation.

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

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

4 Finite State Machines (Конечные Автоматы)

Finite State Machines (Mealy and Moore) are defined as sharing the following characteristics (конечные автоматы (Мили и Мура) могут определяться как обладающие следующими характеристиками):

  • a finite set of defined states, one of which being defined as the initial state of the machine (конечным набором определенных состояний, одно из которых определено как начальное);

  • a set of defined inputs (набором определенных входных сигналов);

  • a set of defined outputs (набором определенных выходных сигналов);

  • a set of transitions between selected states, and (набором переходов между выбранными состояниями) и;

  • the machine is said to be in a single state at any instant of time (считается, что (конечный автомат находится в единственном состоянии в любой момент времени).

The basic operation of a Finite State Machine system is this: as the system is in one of the defined states at any instant of time, it will react to specified (external) inputs or (internal) conditions with specified actions, and transition to another defined state, or remain in its current state, depending on the design.

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

For a Mealy machine, the transition will be associated with an output.

For a Moore machine, the output occurs within the next state. For this reason, Finite State Machines are often called 'reactive' systems.

Для Автомата Мили переход ассоциируется с выходным сигналом.

Для Автомата Мура выходной сигнал происходит в рамках следующего состояния.

По этой причине Конечные Автоматы часто называют «реактивными» системами.

Inputs are also called events.

Typical events may be: a message received from another state machine, a simple event flag set by another state machine, or the expiration of a time interval.

Входные сигналы (воздействия) также называют событиями.

Типичными событиями являются: сообщение, полученное от другого Конечного Автомата, простой набор признаков событий, установленный другим Конечным Автоматом, окончание временного интервала.

Likewise, outputs may be: sending a message to another state machine, setting an event flag for another state machine to respond to, or starting a timed interval. Also, multiple unique transitions are allowed from one state to other defined states.

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

Кроме того, разрешены многократные уникальные переходы от одного состояния в другие определенные состояния.

For software FSMs, each state will have its unique source code logic to process events, perform actions and output, and to effect state transitions. A complete system may be comprised of one or more Finite State Machines, as determined by the partitioning process performed during the initial design or analysis.

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

Finite State Machines are generally depicted as a State Diagram, represented graphically with two symbols: the state bubble and the transition arrow. States are labeled or numbered and both inputs and outputs are described textually. At any instant of time, a state machine is in its current state. Depending on the specified input events and conditions, a transition to the next state will occur.

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

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

Finite State Machines are considered deterministic if all transitions to next states are unique to a given state and its inputs. Most useful FSMs are fully deterministic, making them ideal for embedded systems software and the process of validation and verification.

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

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

A Mealy State Machine (Конечный Автомат Мили)

A Mealy Machine allows for output actions to accompany each state transition as shown in the diagram. When the current state is 'A', and if the 'Input' event occurs, the 'Output' action is performed and a transition to state B (the next state) occurs. In this example, state 'A' is also the initial state for this machine. Note that if additional events were significant to state 'A', additional outputs would be specified and transitions to state 'B' or any other additional states would be specified.

Конечный Автомат Мили обеспечивает возможность осуществления выходных действий, которые сопровождают каждый переход, как показано на Рис.4. Когда текущим состоянием является состояние «А», и если «Входное воздействие» происходит, то выполняется «Выходное воздействие» и переход в состояние «В» (следующее состояние). Для данного примера состояние «А» является также начальным состоянием. Обратите внимание, что если дополнительные события являются важными для состояние «А», тогда дополнительные выходные воздействия будут определены и переход в состояние «В» или любые другие дополнительные состояния будут также определяться.

Fig.4 Mealy FSM Example (пример Конечного Автомата Мили)

  • Output based on present state and input (выходные сигналы зависят от текущего состояния и входных сигналов);

  • Output changes during transition (выходные сигналы изменяются в процессе перехода).

Fig.2 Mealy FSM Example (пример Конечного Автомата Мили)

Inputs – входные сигналы (воздействия);

Present State – текущее состояние;

Outputs – выходные сигналы

Next State – последующее состояние;

CL – combinational logic – комбинационное логическое устройство;

FFs – триггеры.

A Moore State Machine (Конечный Автомат Мура)

A Moore Machine is similar to the Mealy Machine, however the Output is moved forward to the next state, and occurs within state 'B' as shown in the diagram.

Although the Mealy Machine model may be more flexible than the Moore Machine, it is the need of the system being analyzed or designed that determines which of the two is most suitable. Note that a given state machine may be comprised of both Mealy and Moore models, if such a design meets the functional requirements of the system. Also, be aware that both Mealy and Moore Machines can be logically converted to the other. The point here is that the correct state logic required for efficient operation is what's important; the resulting machine archetype (Mealy or Moore) should be only a secondary observation.

Конечный Автомат Мура подобен Конечный Автомат Мили, но, однако, Выходное воздействие перемещается далее в следующее состояние, и происходит в рамках состояния «В» как показано на Рис.5.

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

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

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

Главным является то, какое правильное логическое состояние является важным для эффективной работы Конечного Автомата, а тип автомата (Мили или Мура) является вторичным.

Fig.5 Moore FSM Example (пример Конечного Автомата Мура)

  • Output based on state only (выходные сигналы зависят только состояния);

  • Output is associated with state (выходные сигналы ассоциируются с состоянием).

Fig.6 Moore FSM Example (пример Конечного Автомата Мура)

Inputs – входные сигналы (воздействия);

Present State – текущее состояние;

Outputs – выходные сигналы

Next State – последующее состояние;

CL – combinational logic – комбинационное логическое устройство;

FFs – триггеры.

Example

Fig.7 Vending Machine FSM (Торговый Автомат как Конечный Автомат)

Coin sensor – датчик монет;

N (nickel) – монета в 5 центов;

D (dime) – монета в 10 центов;

Clk – ГТИ;

Reset – Сброс;

Vending Machine – Торговый Автомат;

Open – Открыто;

Gum Release Mechanism – Автомат выдачи упаковки жевательной резинки.

Deliver package of gum after 15 cents deposited (Автомат выдает упаковку жевательной резинки после получения 15 центов).

  • Single coin slot for dimes, nickels (единое отверстие для разных монет);

  • No change (нет изменений);

  • Design the FSM using combinational logic and flip flops (спроектировать Конечный Автомат с использованием комбинационных логических схем и триггеров).

State Diagram (диаграмма состояний)

State Transition Table (таблица смены состояний)

Fig.8 Designing Moore FSM directly from state diagram (синтез Конечного Автомата Мура исходя из диаграммы состояний)

Fig.9 Designing Mealy FSM directly from state diagram (синтез Конечного Автомата Мили исходя из диаграммы состояний)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]