[Завершение] ФШМ конечный автомат

Обзор - Что такое конечный автомат FSM

Конечный автомат -конечной State Machine, сокращенно ФШМ, представляет собой математическую модель поведения конечного числа состояний и передачи и действия между ними и другими государствами, широко используется в компьютерной области. FSM обычно содержит несколько элементов: запускающее государственное управление, контроль за состояние, состояние, запускаемого государством для запуска действий.

Ниже это вики об описании конечного автомата, адрес ссылку для конечного автомата-Wiki .

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

Две формы FSM

Для ПЛИС аппаратной схемы, независимо от того, каких конечного автомата, мы предполагаем, что Р является функцией от текущего состояния и входных сигналов. Конечный автомат выводятся, G является функцией текущего состояния и входной сигнал, подаваемый на выходной сигнал комбинационной логики Г. Тогда для логики государственной машины, она может быть выражена следующим образом:

下一个状态 = F(当前状态,输入信号);
输出信号   = G(当前状态,输入信号);

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

состояние машины Мур

Мур государственная машина является последовательной логикой вывод зависит только от текущего состояния государственного типа машины. В это время, выражение выхода 输出信号 = G(当前状态,输入信号);этого.

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

Структура синхронизации состояния машины часов Мура

Мили состояние машины

Мили состояния машины является последовательным логическим выход зависит не только от государства , но и на входе государственного типа машины. В это время, выход конечного автомата, экспрессия которого 输出信号 = G(当前状态,输入信号);это.

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

Мучнистый структура синхронизации состояния машины часы

Мур против государственной машины Мили

  1. Мили машина, чем машина Мура «в ответ» быстро.

    Мили машина с выходом текущего состояния и входных данных, в то время как только машина выходы Moore, связанные с текущим состоянием. Мили машина вход немедленного отклика в текущем цикле, Moore вход машины влияет на следующее состояние, следующее состояние путем воздействия на выходе. Мили машина, чем это конец выходной последовательности перед машинным циклом Мура, то есть «скорость реакции» быстро. Мучнистая производительность машины в текущем цикле, более длинный путь (комбинаторная логика); Мур машиной выход, имеющая период времени задержки, тактовая синхронизация легко доступна, Мур машина с хорошей синхронизацией.

  2. Менее Мили состояние машины, Мур машина структура проста.

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

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

Мур и мучнистые машины состояния взаимообмен

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

Мили машины типа преобразуется в машинах Мура

Как было показано выше, преобразование типа машина Мучнистой является типом машины Мура, до тех пор, как выходной ток изменяется на следующее выходное время. Для состояния А, существуют четыре стрелка, указывающая на то, четыре состояния могут быть выражены в следующее состояние в текущем состоянии A, выходы тока одновременно 0, 0 может перемещаться внутри состояния A, показывает состояние, в машине Moore а 0 выводится. Кроме того, она может быть смещена соответственно 0 состояние B / C. Но для состояния D, есть две стрелки, указывающие и имеют различные выходные значения должны утверждать D разлагается на два состояния D1 и D2 (каждое состояние соответствует выходному сигналу, когда выходной сигнал различного статуса указывает нужно использовать разные, то есть он является причина Мур машина имеет больше состояний), чтобы получить полный Moore машины модели государства.

Точно так же, если машина Мур конверсии фиг Мили машины, Мур машина, до тех пор, как выход следующего состояния меняется на текущее состояние выхода машины Мили, так как D1 / D2 в два состояния состояния в А / С между ними, эквивалентными и эквивалент узла между узлом A / C может D1 / D2 объединены в два-государственного статуса в.

Государственные принципы проектирования машины

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

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

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

состояние машины Мур

3-ступенчатый конечный автомат (рекомендуется)

A - Нормальная

Три состояния машины - A

// 第一个always块,描述当前状态的状态寄存器,non-blocking
always @ (posedge clk or negedge rst_n)    begin
    if (!rst_n)
        curr_state    <= idle;
    else
        curr_state    <= next_state;
end

// 第二个always块,描述状态转移,即下一状态的状态寄存器,blocking
always @ (*)    begin
    next_state    = idle;    // 初始化
    case (curr_state)
        idle:    begin
            if (...)
                next_state    = sx;
            else
                next_state    = sy;
        end
        ...
        default:
            next_state    = sz;
    endcase
end

// 第三个always块,组合逻辑描述输出,blocking
always @ (*)    begin
    if (!rst_n)    begin
        o1    = 1'b0;
    end
    else    begin
        case (curr_state)
            s1:    begin
                o1 = 1'b1;
            end
            ...
            default:    begin
                o1    = 1'b0;
            end
        endcase
    end
end

В - улучшена

Три состояния машины - B

// 第三个always块,时序逻辑描述输出,non-blocking
// 此时为时序逻辑
always @ (posedge clk or negedge rst_n)    begin
    if (!rst_n)    begin
        o1    <= 1'b0;
    end
    else    begin
        case (curr_state)   // 注意此处为当前状态
            s1:    begin
                o1  <= 1'b1;
            end
            ...
            default:    begin
                o1  <= 1'b0;
            end
        endcase
    end
end

С - улучшена

Три состояния машины - C

// 第三个always块,时序逻辑描述输出,non-blocking
// 此时为时序逻辑
always @ (posedge clk or negedge rst_n)    begin
    if (!rst_n)    begin
        o1    <= 1'b0;
    end
    else    begin
        case (next_state)   // 注意此处为前一状态
            s1:    begin
                o1  <= 1'b1;
            end
            ...
            default:    begin
                o1  <= 1'b0;
            end
        endcase
    end
end

Ссылка благодаря

[1] два типа автоматов

рекомендация

отwww.cnblogs.com/airbird/p/11455221.html