一种状态机及其状态机的控制方法技术

技术编号:20117167 阅读:26 留言:0更新日期:2019-01-16 11:57
本发明专利技术提供一种状态机及其状态机的控制方法,包括:利用对状态机的多个状态编码为状态码,每个状态对应的状态码有且仅有一位与其它位不同,所述状态码的位数与所述状态机的状态数量相同;所述状态机当前状态的状态码与输入数据经由组合逻辑获得状态机的下一状态的状态码及输出数据;对所述状态机的下一状态的状态码的进行奇偶校验获得一奇偶校验位;以及根据所述奇偶校验位确定所述状态机的下一状态的状态码是否出错。本发明专利技术提供的状态机及其状态机的控制方法,能够实现状态码的检错。

A State Machine and Its Control Method

The present invention provides a control method of state machine and its state machine, including: using multiple state codes of state machine as state codes, one state code corresponding to each state is different from other bits, the number of bits of the state code is the same as the number of states of the state machine; the state code of the current state of the state machine and the input data are obtained by combining logic to obtain the state machine. The state code of the next state and the output data of the state machine; the parity check of the state code of the next state of the state machine to obtain the parity check bit; and the determination of whether the state code of the next state of the state machine is wrong according to the parity check bit. The state machine and the control method of the state machine provided by the invention can realize the error detection of the state code.

【技术实现步骤摘要】
一种状态机及其状态机的控制方法
本专利技术涉及计算机应用领域,尤其涉及一种状态机及其状态机的控制方法。
技术介绍
状态机(statemachine)定义了多个状态以及状态之间的迁移。状态机通过响应一系列事件而运行,当事件满足某些触发条件时,将导致状态机从当前的状态迁移到下一个状态。在所定义的多个状态之中,存在至少一个初态和至少一个终态,状态机从初态开始运行,当迁移到终态时,状态机停止运行。状态机在计算机领域应用非常广泛,许多系统都使用到状态机,状态机根据状态机定义(状态图)来运行。如果系统需要实现复杂的逻辑功能,则相应的状态机定义也会十分复杂。因此导致状态机的设计非常复杂,设计过程中容易出错且限制了状态机的表达能力。另外,由于状态机所定义各个状态之间彼此存在着迁移关系,无法判断状态机在状态变化过程中是否出错。
技术实现思路
本专利技术为了克服上述现有技术存在的缺陷,提供一种状态机及其状态机的控制方法,能够实现状态码的检错。根据本专利技术的一个方面,提供一种状态机的控制方法,包括:利用对状态机的多个状态编码为状态码,每个状态对应的状态码有且仅有一位与其它位不同,所述状态码的位数与所述状态机的状态数量相同;所述状态机当前状态的状态码与输入数据经由组合逻辑获得状态机的下一状态的状态码及输出数据;对所述状态机的下一状态的状态码的进行奇偶校验获得一奇偶校验位;以及根据所述奇偶校验位确定所述状态机的下一状态的状态码是否出错。可选地,利用独热编码对状态机的多个状态编码为状态码,每个状态对应的状态码有且仅有一位为1。可选地,若所述奇偶校验位表示所述状态机的下一状态的状态码中1的位数为偶数,则确定所述状态机的下一状态的状态码出错。可选地,利用独冷编码对状态机的多个状态编码为状态码,每个状态对应的状态码有且仅有一位为0。可选地,若所述奇偶校验位表示所述状态机的下一状态的状态码中0的位数为偶数,则确定所述状态机的下一状态的状态码出错。可选地,所述对所述状态机的下一状态的状态码的进行奇偶校验获得一奇偶校验位包括:若所述状态机的下一状态的状态码中1的位数为奇数,则所述奇偶校验位为1;若所述状态机的下一状态的状态码中1的位数为偶数,则所述奇偶校验位为0。可选地,所述对所述状态机的下一状态的状态码的进行奇偶校验获得一奇偶校验位包括:若所述状态机的下一状态的状态码中1的位数为奇数,则所述奇偶校验位为0;若所述状态机的下一状态的状态码中1的位数为偶数,则所述奇偶校验位为1。可选地,若确定所述状态机的下一状态的状态码出错,则所述状态机抛弃所述下一状态的状态码,并使所述状态机的下一状态为空闲态。可选地,若确定所述状态机的下一状态的状态码出错,则所述状态机抛弃所述下一状态的状态码,并使所述状态机的下一状态仍为当前状态,直到确定所述状态机的下一状态的状态码正常。根据本专利技术的又一方面,还提供一种状态机,采用如上所述的状态机的控制方法。本专利技术提供的状态机及其状态机的控制方法具有如下优势:本专利技术通过采用每个状态对应的状态码有且仅有一位与其它位不同的方式对状态进行编码,并相应地采用奇偶校验位进行状态码校验,由此解决现有技术中无法判断状态机在状态变化过程中是否出错的问题,实现状态码的快速校验。此外,本专利技术还提供了状态码出错时的两种处理方式,使所述状态机的下一状态为空闲态或者使所述状态机的下一状态仍为当前状态,由此,可以减少由于状态机状态码出错产生的资源浪费,提高状态机的稳定性,在重试当前状态的实现中,当状态码正确时,可自动恢复,进一步提高了状态机的容错使用体验。附图说明通过参照附图详细描述其示例实施方式,本专利技术的上述和其它特征及优点将变得更加明显。图1示出了根据本专利技术实施例的状态机的控制方法的流程图。图2示出了根据本专利技术实施例的状态机的示意图。图3至图5分别示出不同情况下的状态机的状态变化具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。首先参见图1,图1示出了本专利技术实施例的一种状态机的控制方法。图1共示出如下步骤:步骤S110:利用对状态机的多个状态编码为状态码,每个状态对应的状态码有且仅有一位与其它位不同,所述状态码的位数与所述状态机的状态数量相同;步骤S120:所述状态机当前状态的状态码与输入数据经由组合逻辑获得状态机的下一状态的状态码及输出数据;步骤S130:对所述状态机的下一状态的状态码的进行奇偶校验获得一奇偶校验位;以及步骤S140:根据所述奇偶校验位确定所述状态机的下一状态的状态码是否出错。在本专利技术的一个具体实施例中,可以利用独热编码对状态机的多个状态编码为状态码,每个状态对应的状态码有且仅有一位为1。当状态具有四个状态时(空闲态、地址态、控制态及数据态),状态码一共有四位,空闲态的状态码例如为0001;地址态的状态码例如为0010、控制态的状态码例如为0100;数据态的状态码例如为1000。这仅仅是本专利技术示意性的实施例,状态的数量及对应的状态码并非以此为限。由此,通过使得每个状态对应的状态码有且仅有一位为1,状态码中1的数量必定为奇数,由此,可以通过奇偶校验来判断状态码是否准确。考虑到状态码中出错的位数不会超过1个,因此,仅通过奇偶校验即可快速判断状态码是否准确。例如,若所述奇偶校验位表示所述状态机的下一状态的状态码(如1100)中1的位数为偶数,则可以直接确定所述状态机的下一状态的状态码出错。在一些实施例中,上述步骤S130对所述状态机的下一状态的状态码的进行奇偶校验获得一奇偶校验位包括如下步骤:若所述状态机的下一状态的状态码中1的位数为奇数,则所述奇偶校验位为1;若所述状态机的下一状态的状态码中1的位数为偶数,则所述奇偶校验位为0。由此,在本实施例中,若奇偶校验位为0,则可以直接确定所述状态机的下一状态的状态码出错。在又一些实施例中,上述步骤S130对所述状态机的下一状态的状态码的进行奇偶校验获得一奇偶校验位包括:若所述状态机的下一状态的状态码中1的位数为奇数,则所述奇偶校验位为0;若所述状态机的下一状态的状态码中1的位数为偶数,则所述奇偶校验位为1。由此,在本实施例中,若奇偶校验位为1,则可以直接确定所述状态机的下一状态的状态码出错。在本专利技术的另一个具体实施例中,可以利用独冷编码对状态机的多个状态编码为状态码,每个状态对应的状态码有且仅有一位为0。当状态具有四个状态时(空闲态、地址态、控制态及数据态),状态码一共有四位,空闲态的状态码例如为1110;地址态的状态码例如为1101、控制态的状态码例如为1011;数据态的状态码例如为0111。这仅本文档来自技高网...

【技术保护点】
1.一种状态机的控制方法,其特征在于,包括:利用对状态机的多个状态编码为状态码,每个状态对应的状态码有且仅有一位与其它位不同,所述状态码的位数与所述状态机的状态数量相同;所述状态机当前状态的状态码与输入数据经由组合逻辑获得状态机的下一状态的状态码及输出数据;对所述状态机的下一状态的状态码的进行奇偶校验获得一奇偶校验位;以及根据所述奇偶校验位确定所述状态机的下一状态的状态码是否出错。

【技术特征摘要】
1.一种状态机的控制方法,其特征在于,包括:利用对状态机的多个状态编码为状态码,每个状态对应的状态码有且仅有一位与其它位不同,所述状态码的位数与所述状态机的状态数量相同;所述状态机当前状态的状态码与输入数据经由组合逻辑获得状态机的下一状态的状态码及输出数据;对所述状态机的下一状态的状态码的进行奇偶校验获得一奇偶校验位;以及根据所述奇偶校验位确定所述状态机的下一状态的状态码是否出错。2.根据权利要求1所述的状态机的控制方法,其特征在于,利用独热编码对状态机的多个状态编码为状态码,每个状态对应的状态码有且仅有一位为1。3.根据权利要求2所述的状态机的控制方法,其特征在于,若所述奇偶校验位表示所述状态机的下一状态的状态码中1的位数为偶数,则确定所述状态机的下一状态的状态码出错。4.根据权利要求1所述的状态机的控制方法,其特征在于,利用独冷编码对状态机的多个状态编码为状态码,每个状态对应的状态码有且仅有一位为0。5.根据权利要求4所述的状态机的控制方法,其特征在于,若所述奇偶校验位表示所述状态机的下一状态的状态码中0的位数为偶数,则确定所述状态机的下一状态的状态码出错。6.根据权利要求1...

【专利技术属性】
技术研发人员:李林李停傅豪袁庆温建新
申请(专利权)人:上海集成电路研发中心有限公司成都微光集电科技有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1