fpga 状态机 检测1011序列

时间:2023-03-10 07:18:54
fpga 状态机 检测1011序列

1011 可以使用4个状态:s0,s1,s2,s3.

即:(1)s0有0或1两个状态,当s0位0时,进入s0状态,自身打圈。为1那么进入下个状态s1来检测0。

(2)s1有0或1两种情况,s1为1时s0,s1:1,1.此时的s1是1可以作为下次的1011的第一个1,有用的信号。再检测下一步是否0进入s1状态,因此自身打圈。若s1为0进入s2状态,检测s2是否为1.

(3)s2状态有0或1两种信号,若为0时,s0,s1,s2:1,0,0。00连在一起对检测1011信号无用。那么回到s0状态,从头开始。。若s2为1,那么进入s3状态,来检测最后一个1.

(s3)s3有0或1两种可能(其实每个状态要么为0,要么为1)  s3为0时,s0 s1 s2 s3:1 0 1 0那么10可以可以利用作为下次检测1011的s2状态的1,进入s2状态。如果s3为1,则1011检测完毕,正确,那么输出检测正确信号。s3的1也可以作为下次的1011的第一个1来使用接下来检测0信号进入s1看看s1是否为0,,,,,,,整个过程都考虑到了。。。。。。。接下来是状态图。fpga 状态机 检测1011序列