序列检测器的作用就是将一个指定的序列从一个数字码流中提取出来,本例将设计一个' 10010 ’序列检测器,data为输入的数字码流,data_in 为每过一个时钟所提取到的data中的一个值。本设计用到了一个简单的 Moore状态机,八个状态分为空闲 Idle 和k1~k7,为了方便用手绘了该状态机的状态转换图,还算比较清楚吧(- ,-) , 其中输入A对
应程序中的data_in ,当状态state为k5时,认为检测到10010序列,此时out为1。
CODE:
module seq_detector(data_in,data,out,clk,rst,state
);
input clk,rst,data_in; //检测10010序列
input [20:0]data;
output wire o