zoukankan      html  css  js  c++  java
  • 【FGPA】有限状态机

    时序电路描述

    时序电路分类

    时序电路按照信号输出方式分: Mealy型 Moore型

    从结构上分:

      单进程和多进程.

    从状态表达方式分:

      符号化状态机和确定状态编码的状态机.

    从状态编码方式分:

      顺序编码、一位热码编码和其他编码方式状态机

    有限状态机(Finite-state machine, FSM)

    Moore Machine

      输出仅是当前状态的函数

    Mealy Machine

      输出是当前状态和输入的函数

     

     

     


    带有记忆的任何电路都是一个有限状态机

      计算机可被视为多个状态机的一个集合

    有限状态机的设计包括

      定义状态

      定义状态之间的转换方式

      状态机输出

    状态机的数据类型必须是枚举的:

    TYPE enume_name IS (value1, value2, value3,… valueN);

    当前状态值必须是

    signal: SIGNAL current_state: state_type;

    为确定状态转移,

      需要: 在IF-THEN语句中使用CASE语句检查时钟条件

    为确定状态机输出:

      使用条件或选择信号赋值语句 或者使用CASE语句

    数据类型

      标准数据类型(预定义数据类型):bit、std_logic、…

      自定义数据类型:枚举类型、自定义整数类型… 枚举类型

     

    Moore FSM 例子

     

     

     

     

    Moore FSM评述

    三部分

      状态声明

        Type state_type is (s0, s1, s2, s3);

        Signal state : state_type;

      状态转移进程

        Case 语句用来检查 current state.

        IF-THEN-ELSE 用来确定 next state.

      组合逻辑进程

        输出信号取决于 current state.

        只有状态出现在敏感表中,因为 Moore FSM 的输出仅取决于 current state.

    三进程的Moore FSM

     

     

     


     


    Mealy FSM

    Just like the Moore FSM except a slight difference.

    The output is related to not only the current state, but also the input.


    A Moore FSM 例子

    Moore FSM that Recognizes Sequence “10”

    A Mealy FSM

    Mealy FSM that Recognizes Sequence “10”

  • 相关阅读:
    vue监听多个变量的方法
    Unicode与JavaScript详解
    两个数组合并的方法
    第13章 事件
    第12章 DOM2和DOM3
    IIS发布WebService的一些常见问题
    Openlayers修改矢量要素并且可捕捉
    Openlayers修改矢量要素
    openlayers画图形返回范围
    前台html与后台php通信(上传文件)
  • 原文地址:https://www.cnblogs.com/Osea/p/13192416.html
Copyright © 2011-2022 走看看