CN205647493U - 一种自纠正多位错误的有限状态机电路 - Google Patents
一种自纠正多位错误的有限状态机电路 Download PDFInfo
- Publication number
- CN205647493U CN205647493U CN201620320486.1U CN201620320486U CN205647493U CN 205647493 U CN205647493 U CN 205647493U CN 201620320486 U CN201620320486 U CN 201620320486U CN 205647493 U CN205647493 U CN 205647493U
- Authority
- CN
- China
- Prior art keywords
- state
- circuit
- xor gate
- input
- state machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Error Detection And Correction (AREA)
Abstract
本实用新型一种自纠正多位错误的有限状态机电路,对译码纠错的开销低,纠错率高。其包括依次连接的次态产生电路、现态寄存器组、状态校验电路和状态机输出产生电路;次态产生电路的输入端分别连接状态机控制信号,以及状态校验电路输出的校验后的状态机现态编码;输出端经输出的次态编码信号与现态寄存器组的输入端连接;现态寄存器组的时钟端和复位端分别连接时钟信号、复位信号,输出端经输出的状态机现态与状态校验电路输入端连接;状态校验电路的输出端经校验后的状态机现态编码与状态机输出产生电路的输入端连接;状态机输出产生电路的输入端还连接状态机控制信号,输出端输出状态机标志信号作为该有限状态机电路的输出。
Description
技术领域
本实用新型属于可靠性领域,涉及容错型有限状态机电路,具体涉及一种自纠正多位错误的有限状态机电路。
背景技术
有限状态机(FSM,Finite-state machine)表示有限多个状态以及在这些状态之间转移和动作的数学模型,常用于实现电路的时序、响应和控制等关键行为,是数字电路设计的核心,因此其容错能力严重影响着数字电路的可靠性。目前,主要从以下几个方面提高有限状态机的可靠性。
一、利用令牌(Token)或者分组将有限状态机分成若干个子状态机,并且保证状态转移依照某种次序在各个子状态机之间进行,从而利用子状态机记录多个连续转换的状态,若检测到当前状态存在错误,则回退到上一个子状态机记录的状态重新执行。该技术虽然可以保证FSM恢复为正确状态重新执行,但不可避免的打断了FSM的正常执行。
二、基于存储器构造有限状态机,以输入和当前状态编码为地址,对应地址的存储器单元保存FSM次态的编码和输出,然后以存储器多模冗余的方式实现FSM的加固。该技术的硬件消耗较大,且一般用于加固基于FPGA的FSM。
三、确定FSM各状态的编码,然后对各状态的编码按照某种纠错码规则重新编码(编码后称之为核心编码),从而保证FSM各状态的核心编码之间存在汉明距离d,若FSM某一个状态的核心编码发生错误的位数小于等于(d-1)/2,则认为该状态依然正确,即每个FSM状态(核心编码)映射为一群状态,这一群状态均被认为核心编码对应的FSM状态。该技术虽然保证了FSM的容错能力,但是大大增加了次态产生电路和输出产生电路的开销。
实用新型内容
针对现有技术中存在的问题,本实用新型提供一种自纠正多位错误的有限状态机电路,对译码纠错的开销低,纠错率高,结构简单,设计合理。
本实用新型是通过以下技术方案来实现:
一种自纠正多位错误的有限状态机电路,包括依次连接的次态产生电路、现态寄存器组、状态校验电路和状态机输出产生电路;次态产生电路的输入端分别连接状态机控制信号input,以及状态校验电路输出的校验后的状态机现态编码p_st;输出端经输出的次态编码信号n_st与现态寄存器组的输入端连接;现态寄存器组的时钟端和复位端分别连接时钟信号clk、复位信号reset,输出端经输出的状态机现态c_st与状态校验电路输入端连接;状态校验电路的输出端经校验后的状态机现态编码p_st与状态机输出产生电路的输入端连接;状态机输出产生电路的输入端还连接状态机控制信号input,输出端输出状态机标志信号output作为该有限状态机电路的输出。
优选的,次态产生电路包括依次连接的次态判断电路和次态编码电路;次态判断电路用于根据状态机控制信号input和校验后的状态机现态编码p_st生成状态机的k位次态编码s_code;次态编码电路用于根据次态编码s_code得到并输出次态编码信号n_st;其中k为正整数,代表有限状态机电路的状态位数。
进一步,次态编码电路包含k个两输入异或门,每个异或门包含A、B两个输入端;次态编码s_code的第i位分别与第i个异或门的A输入端对应相连;次态编码s_code的第i+s位分别与第i个异或门的B输入端相连,k个两输入异或门的输出和k位次态编码输入s_code组合成为2k位次态编码输出n_st;其中i∈(0,k-1),s为正整数,指有限状态机电路可以自纠正的状态中的连续错误位数,其取值不超过k的1/3。
优选的,状态校验电路包含第一组异或门、第二组异或门、第三组异或门和第四组与门,其中第一组、第二组和第三组异或门均包含k个两输入异或门,第四组与门包含k个两输入与门;每个异或门和与门均包含A、B两个输入端,该电路的输入为2k位的状态机现态c_st,包含k位状态机现态编码[d0 d1 … dk-1]和k位状态机现态编码校验位[p0 p1 … pk-1],其中现态编码的第i位分别与第一组和第三组异或门第i个异或门的A输入端相连,现态编码的第i+s位分别与第一组异或门第i个异或门的B输入端相连;第一组异或门第i个异或门的输出连接至第二组异或门第i个异或门的A输入端,现态编码校验位的第i位连接至第二组异或门第i个异或门的B输入端;第二组异或门第i个异或门输出驱动第四组与门第i个与门的A输入端,第二组异或门第i-s个异或门输出驱动第四组与门第i个与门的B输入端;第四组与门第i个与门的输出端连接至第三组异或门第i个异或门的B输入端;第三组异或门第i个异或门输出即为校验后的状态机现态编码p_st的第i位;其中i∈(0,k-1),s为正整数,指有限状态机电路可以自纠正的状态中的连续错误位数,其取值不超过k的1/3。
与现有技术相比,本实用新型具有以下有益的技术效果:
本实用新型所述的电路通过增加的状态校验电路保证预先编码当前状态的正确性,并将正确的当前状态输出至次态生成电路和状态机输出产生电路。通过低开销、高纠错能力的状态校验电路,保证了状态机对错误状态的自纠正能力。且并未增加次态判断电路和状态机输出产生电路的开销。
进一步的,通过次态编码电路中由多组逻辑门电路依次级联组成的低开销和高纠错能力的编码电路,实现对译码的低开销、高纠错的纠错能力。
附图说明
图1为本实用新型的自纠正多位错误的有限状态机电路结构原理图。
图2为本实用新型中次态产生电路的电路结构原理图。
图3为本实用新型实例中8位状态位时次态编码电路的电路原理图。
图4为本实用新型实例中8位状态位时状态校验电路的电路原理图。
图中:次态产生电路101、现态寄存器组102、状态校验电路103和状态机输出产生电路104、次态判断电路1011、次态编码电路1012。
具体实施方式
下面结合附图对本实用新型做进一步的详细说明,所述是对本实用新型的解释而不是限定。
本实用新型基于一种低开销、高纠错能力的状态校验电路,保证预先编码当前状态的正确性,并将正确的当前状态输出至次态生成电路和状态机输出产生电路,实现了有限状态机对多位错误状态的自纠正,且并未增加次态判断电路和输出产生电路的开销。
具体的,如图1所示,一种自纠正多位错误的有限状态机电路,包括次态产生电路101、现态寄存器组102、状态校验电路103和状态机输出产生电路104。有限状态机电路的输入包括时钟信号clk、复位信号reset和状态机控制信号input,输出为状态机标志信号output。其中时钟信号clk和复位信号reset连接至现态寄存器组102;状态机控制信号input连接至次态生成电路101和状态机输出产生电路104。
次态生成电路101根据状态机控制信号input和经状态校验电路校验后的状态机现态编码p_st决定状态机次态编码n_st,并将其送至现态寄存器组102的数据输入端D;现态寄存器组102将其保存的状态机现态c_st输出至状态校验电路103;状态校验电路103对状态机现态c_st进行校验,并将校验后的状态机现态编码p_st连接至次态生成电路101和状态机输出产生电路104;状态机输出产生电路104根据其输入校验后的状态机现态编码p_st和状态机控制信号input产生有限状态机电路的最终输出,作为状态机标志信号output。
其中,如图2所示,次态产生电路101包括次态判断电路1011和次态编码电路1012,次态判断电路1011根据状态机控制信号input、校验后的状态机现态编码p_st和状态机设置的具体功能,生成状态机的k位次态编码s_code,并连接至次态编码电路1012,次态编码电路1012采用逻辑门对以下编码进行硬件实现,其根据生成k位校验码[p0p1 … pk-1],其中[d0 d1 … dk-1]为次态编码s_code,i∈(0,k-1)。本优选实例中以8位状态位为例,次态编码电路1012的原理连接如图3所示。
次态编码电路1012包含k个两输入异或门,每个异或门包含A、B两个输入端;次态编码s_code的第i位分别与第i个异或门的A输入端对应相连;次态编码s_code的第i+s位分别与第i个异或门的B输入端相连,k个两输入异或门的输出和k位次态编码输入s_code组合成为2k位次态编码输出n_st;其中i∈(0,k-1),s为正整数,指有限状态机电路可以自纠正的状态中的连续错误位数,其取值不超过k的1/3。
其中现态寄存器组102由若干寄存器组成,其内部数据排列为k为状态机各状态的编码位宽,[d0 d1 … dk-1]为状态机现态的编码,[p0 p1 … pk-1]为现态编码的校验位,2k位输出c_st连接至状态校验电路103。
其中,状态校验电路103采用逻辑门对以下编码进行硬件实现,其对2k位的状态机现态c_st进行错误校验和纠正,首先由逻辑门电路的前半部分计算校验子然后由逻辑门电路的后半部分得到校验后的k位状态机现态编码p_st=[d'0 d1' … d'k-1],由逻辑电路的关系能够得到,其中 i∈(0,k-1),如图4所示为对应图3编码电路的解码和校验电路原理图。
状态校验电路103包含第一组异或门、第二组异或门、第三组异或门和第四组与门,其中第一组、第二组和第三组异或门均包含k个两输入异或 门,第四组与门包含k个两输入与门;每个异或门和与门均包含A、B两个输入端,该电路的输入为2k位的状态机现态c_st,包含k位状态机现态编码[d0 d1 … dk-1]和k位状态机现态编码校验位[p0 p1 … pk-1],其中现态编码的第i位分别与第一组和第三组异或门第i个异或门的A输入端相连,现态编码的第i+s位分别与第一组异或门第i个异或门的B输入端相连;第一组异或门第i个异或门的输出连接至第二组异或门第i个异或门的A输入端,现态编码校验位的第i位连接至第二组异或门第i个异或门的B输入端;第二组异或门第i个异或门输出驱动第四组与门第i个与门的A输入端,第二组异或门第i-s个异或门输出驱动第四组与门第i个与门的B输入端;第四组与门第i个与门的输出端连接至第三组异或门第i个异或门的B输入端;第三组异或门第i个异或门输出即为校验后的状态机现态编码p_st的第i位;其中i∈(0,k-1),s为正整数,指有限状态机电路可以自纠正的状态中的连续错误位数,其取值不超过k的1/3。
其中,状态机输出产生电路104,根据状态机现态编码p_st、状态机控制信号input和状态机设置的具体功能,决定有限状态机电路的最终输出。
以上在确定编码位数和逻辑门电路的连接时,其中i+s和i-s的加减运算均为k进制运算,且运算符号取正,运算结果均取最低位,对编码的位数和连接位置进行确定,对其对应的逻辑门电路进行级联。
Claims (4)
1.一种自纠正多位错误的有限状态机电路,其特征在于,包括依次连接的次态产生电路(101)、现态寄存器组(102)、状态校验电路(103)和状态机输出产生电路(104);
次态产生电路(101)的输入端分别连接状态机控制信号input,以及状态校验电路(103)输出的校验后的状态机现态编码p_st;输出端经输出的次态编码信号n_st与现态寄存器组(102)的输入端连接;
现态寄存器组(102)的时钟端和复位端分别连接时钟信号clk、复位信号reset,输出端经输出的状态机现态c_st与状态校验电路(103)输入端连接;
状态校验电路(103)的输出端经校验后的状态机现态编码p_st与状态机输出产生电路(104)的输入端连接;
状态机输出产生电路(104)的输入端还连接状态机控制信号input,输出端输出状态机标志信号output作为该有限状态机电路的输出。
2.根据权利要求1所述的一种自纠正多位错误的有限状态机电路,其特征在于,所述的次态产生电路(101)包括依次连接的次态判断电路(1011)和次态编码电路(1012);次态判断电路(1011)用于根据状态机控制信号input和校验后的状态机现态编码p_st生成状态机的k位次态编码s_code;次态编码电路(1012)用于根据次态编码s_code得到并输出次态编码信号n_st;其中k为正整数,代表有限状态机电路的状态位数。
3.根据权利要求2所述的一种自纠正多位错误的有限状态机电路,其特征在于,所述的次态编码电路(1012)包含k个两输入异或门,每个异或门包含A、B两个输入端;次态编码s_code的第i位分别与第i个异或门的A输入端对应相连;次态编码s_code的第i+s位分别与第i个异或门的B输入端相连,k个两输入异或门的输出和k位次态编码输入s_code组合成为2k位次态编码输出n_st;其中i∈(0,k-1),s为正整数,指有限状态机电路可以自 纠正的状态中的连续错误位数,其取值不超过k的1/3。
4.根据权利要求1所述的一种自纠正多位错误的有限状态机电路,其特征在于,所述的状态校验电路(103)包含第一组异或门、第二组异或门、第三组异或门和第四组与门,其中第一组、第二组和第三组异或门均包含k个两输入异或门,第四组与门包含k个两输入与门;每个异或门和与门均包含A、B两个输入端,该电路的输入为2k位的状态机现态c_st,包含k位状态机现态编码[d0d1…dk-1]和k位状态机现态编码校验位[p0p1…pk-1],其中现态编码的第i位分别与第一组和第三组异或门第i个异或门的A输入端相连,现态编码的第i+s位分别与第一组异或门第i个异或门的B输入端相连;第一组异或门第i个异或门的输出连接至第二组异或门第i个异或门的A输入端,现态编码校验位的第i位连接至第二组异或门第i个异或门的B输入端;第二组异或门第i个异或门输出驱动第四组与门第i个与门的A输入端,第二组异或门第i-s个异或门输出驱动第四组与门第i个与门的B输入端;第四组与门第i个与门的输出端连接至第三组异或门第i个异或门的B输入端;第三组异或门第i个异或门输出即为校验后的状态机现态编码p_st的第i位;其中i∈(0,k-1),s为正整数,指有限状态机电路可以自纠正的状态中的连续错误位数,其取值不超过k的1/3。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201620320486.1U CN205647493U (zh) | 2016-04-15 | 2016-04-15 | 一种自纠正多位错误的有限状态机电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201620320486.1U CN205647493U (zh) | 2016-04-15 | 2016-04-15 | 一种自纠正多位错误的有限状态机电路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN205647493U true CN205647493U (zh) | 2016-10-12 |
Family
ID=57064493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201620320486.1U Active CN205647493U (zh) | 2016-04-15 | 2016-04-15 | 一种自纠正多位错误的有限状态机电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN205647493U (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213626A (zh) * | 2018-08-20 | 2019-01-15 | 上海集成电路研发中心有限公司 | 一种状态机及其状态机的控制方法 |
-
2016
- 2016-04-15 CN CN201620320486.1U patent/CN205647493U/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213626A (zh) * | 2018-08-20 | 2019-01-15 | 上海集成电路研发中心有限公司 | 一种状态机及其状态机的控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101281481B (zh) | 一种存储器抗单粒子翻转的纠错检错方法 | |
KR102673257B1 (ko) | 비교 시스템 | |
CN108055876A (zh) | 低功率双纠错-三检错(deb-ted)解码器 | |
US8806316B2 (en) | Circuits, integrated circuits, and methods for interleaved parity computation | |
US20220222140A1 (en) | Error correction system | |
US10114687B2 (en) | System for checking the integrity of a communication between two circuits | |
CN205647493U (zh) | 一种自纠正多位错误的有限状态机电路 | |
WO2022151730A1 (zh) | 存储系统 | |
Nayak et al. | Design of low power hamming code encoding, decoding and correcting circuits using reversible logic | |
CN103137213A (zh) | 具有低密度奇偶校验码译码能力的存储器控制装置及方法 | |
CN103151078A (zh) | 一种存储器检错纠错码生成方法 | |
WO2022151724A1 (zh) | 纠错系统 | |
CN109753369A (zh) | 一种寄存器及内存中顺序数组的数据编码及校验方法 | |
RU51428U1 (ru) | Отказоустойчивый процессор повышенной достоверности функционирования | |
RU186547U1 (ru) | Процессор повышенной достоверности функционирования | |
RU2211492C2 (ru) | Отказоустойчивое оперативное запоминающее устройство | |
WO2022151721A1 (zh) | 纠错系统 | |
CN104199635A (zh) | 集成crc校验电路的伪随机数发生器 | |
CN102682826A (zh) | 复用编码器的编译码存储装置及方法 | |
WO2022151722A1 (zh) | 存储系统 | |
RU2297030C2 (ru) | Самокорректирующееся устройство хранения информации | |
RU2708956C2 (ru) | Процессор повышенной достоверности функционирования | |
RU102403U1 (ru) | Устройство хранения информации | |
RU2297035C2 (ru) | Отказоустойчивое запоминающее устройство | |
CN108242973A (zh) | 一种数据纠错方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |