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

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

    对状态转移图充分理解

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

    设计一个

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

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

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

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

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

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

    使用case将状态隔离,

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

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

    两段式状态机

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

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

  • 相关阅读:
    【若泽大数据实战第一天】大数据测试平台搭建
    数论的编程实验
    2016 百度之星资格赛 A题
    c++总结系列之期中版
    笔试面试算法题解之华为-成绩排序
    Linux光速入门之零基础安装Linux
    面试题
    SET QUOTED_IDENTIFIER
    环境变量
    eclipse的启动失败提示"发生了错误,请参阅日志文件"
  • 原文地址:https://www.cnblogs.com/lizhiqing/p/12160554.html
Copyright © 2011-2022 走看看