连载《叁芯智能fpga设计与研发 您所在的位置:网站首页 handlermapping原理 连载《叁芯智能fpga设计与研发

连载《叁芯智能fpga设计与研发

2023-03-30 17:50| 来源: 网络整理| 查看: 265

一、状态机基本概念

状态机由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调

相关信号动作、完成特定操作的控制中心。有限状态机简写为FSM(Finite State Machine),主要分为2大类:

1.1、摩尔型,输出只与状态寄存器的输出状态有关

1.2、米粒型,输出不仅与状态寄存器的输出状态有关,还与组合逻辑的输入有关

1.3、状态机的状态个数必须是有限的

二、有限状态机

有限状态机是一种概念性机器,它能采取某种操作来响应一个外部事件。

1.1、具体采取的操作不仅能取决于接收到的事件;

1.2、还取决于各个事件的相对发生顺序。

之所以能做到这一点,是因为机器能跟踪一个内部状态,它会在收到事件后进行更新。

1.3、为一个事件而响应的行动不仅取决于事件本身,还取决于机器的内部状态。另外,采取的行动还会决定并更新机器的状态。

这样一来,任何逻辑都可建模成一系列事件/状态组合。

1.4 状态机可归纳为4个要素,即现态、条件、动作、次态。这样的归纳,主要是出于对状态机的内在因果关系的考虑。

1.5、“现态”和“条件”是因,“动作”和“次态”是果。详解如下:

①现态:是指当前所处的状态。

②条件:又称为“事件”,当一个条件被满足,将会触发一个动作,或者执行一次状态的迁移。

③动作:条件满足后执行的动作。动作执行完毕后,可以迁移到新的状态,也可以仍旧保持原状态。

动作不是必需的,当条件满足后,也可以不执行任何动作,直接迁移到新状态。

④次态:条件满足后要前往的新状态。“次态”是相对于“现态”而言的,“次态”一旦被激活,就转变成新的“现态”了。

三、自动售货机

自动售货机:假设一个售货机买一种饮料价格2.5元,投币只能是0.5元、1元,当累计投币>=2.5,售出饮料,并找零钱

1.1、根据我们投钱的组合,一共有5个状态,状态之间的转移如下图

1.2、状态之间的转移条件,如下表

1.3、verilog代码编写,这个例子我用的是一段式状态机

module auto_sell(input clk,input rst_n,input coin_one,input coin_half,output reg water,output reg coin_back );parameter ZERO = 3'b000;parameter HALF = 3'b001;parameter ONE = 3'b010;parameter ONE_HALF = 3'b011;parameter TWO = 3'b100;//一段式状态机reg [2:0] status;always@(posedge clk,negedge rst_n)beginif(!rst_n)beginstatus


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有