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

    有限状态机功能强大,但是不代表提倡;借助综合工具实现电路功能,对状态转移图或者verilog描述过程产生错误或者错误理解的话可能会出问题。

    对状态转移图充分理解

    有限状态机的状态不能太多,要尽可能小。

    设计一个

    三大方程:输出方程、状态转移方程、激励方程;

    moore型速度快,仅受限于输出逻辑决定,mealy受输入信号和输出逻辑影响。

    有限状态机是唯一可以不用知道相关的电路结构,

    编码方式:二进制编码(功耗大,还存在竞争冒险,最简化);格雷码(相邻状态跳转时仅有一个bit发生变化);one-hot编码(任意状态跳转只有2个bit变化)

    写法:两段式 (状态转移方程,输出方程&激励方程),三段式(状态转移方程,输出方程,激励方程)

    因为仅有状态转移方程在存储电路中进行

    使用case将状态隔离,

    不建议,电路中可能会出问题,即使语法没问题:next_state=x 初始化,使得系统进入正确状态;

    在if-else或者case语句中,状态一定要写完整,即使状态没有发生变化也要写上,分支一定要写全,每个分枝条件下状态和输出都要进行赋值,即使转态没有发生变化

    两段式状态机

    优点:把状态码的指定与状态机控制的输出联系起来,把状态的变化直接用作输出,可以提高输出信号的开关速度,并节省电路器件。

    缺点:输出开关的维持时间必须与状态的维持时间一致。

  • 相关阅读:
    好用的软件记录
    微信小程序 设计理念指南
    开启Python之路
    升级到iOS9之后的相关适配
    ARC模式下的内存泄露问题
    Git 源代码管理工具
    SVN版本控制系统
    单例 singleton
    双击改变图片大小和多点触摸改变图片大小
    循环引用 -- id 为什么是 assign 而不是 retain
  • 原文地址:https://www.cnblogs.com/lizhiqing/p/12160554.html
Copyright © 2011-2022 走看看