One-hot编码,状态机使用

One-hot编码,状态机使用_第1张图片
上图为普通的状态机编码方式。当芯片受到辐射或者其他干扰时,可能会造成状态机跳转失常,甚至跳转到无效的编码状态而出现死机。如:状态机因异常跳转到某状态,而此状态需要等待输入,并作出应答,此时因为状态运转不正常,不会出现输入,状态机就会进入死等状态。

One-hot编码

One-hot编码也是状态机设计中常用的编码,在one-hot编码中,对于任何给定的状态,其状态向量中只有1位是 1 ,其他所有位的状态都为 0 ,n个状态就需要n位的状态向量,所以one-hot编码最长。one-hot编码对于状态的判断非常方便,如果某位为 1 就是某状态, 0 则不是此状态。因此判断状态输出时非常简单,只要一、两个简单的 与门 或者 或门 即可。

One-hot编码的状态机从一个状态到另一个状态的状态跳转速度非常快,而顺序二进制编码从一个状态跳转到另外一个状态需要较多次跳转,并且随着状态的增加,速度急剧下降。 在芯片受到干扰时,one-hot编码一般只能跳转到无效状态(如果跳到另一有效状态必须是当前为 1 的为变为 0 ,同时另外一位变成由 0 变为 1 ,这种可能性很小),因此one-hot编码的状态机稳定性高。
One-hot编码,状态机使用_第2张图片

你可能感兴趣的:(芯片设计,状态机,one-hot,编码)