序列检码器 状态机 的一点小疑问

2019-03-25 09:48发布

    序列检测器的逻辑功能描述:10010 的序列检码器,状态转移图如下图所示: 图片1.jpg     我我有一点不明白, 在状态B的情况下要是输入1的话,直接进入A状态不行么?G状态下如果输入1的话也可以直接进入A状态啊,我就是这样做的一个状态机,也实现了这个序列的功能要求,重叠的码也能检测出来,所以我想问问 这个F 状态到底有什么用啊?如果没有什么实质的作用那多一个状态岂不是多占用了资源? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
17条回答
eeleader
2019-03-26 09:18

假设

  a: in std_logic; ----------串行输入数据;

  b: out std_logic; ---------表示检测到序列的标志;

 

  定义寄存器序列:

    series: std_logic_vector(4 downto 0);

 

 if (rst='1') then

   series<=(others=>'0');

 elsif clk'event and clk='1' then

   series<=a & series(4 downto 1) ;

  if (series="10010") then

       b<='1';

  else

       b<='0';

  end if;

end if;

 

一周热门 更多>