说明:最近学了用verilog写序列检测器,作为新手,试着写点自己的经验;
1、序列检测器
设计一个检测序列“11101000”的序列检测器,检测到后输出一个时钟周期的正脉冲;
(1)
源码
module seq_detect (
input clk,
input rst_n,
input data_in,
output wire sout
);
parameter s0=0,s1=1,s2=2,s3=3,s4=4,s5=5,s6=6,s7=7,s8=8; // 状态机的不同状态
reg [3:0] current_state; //现状态
reg [3:0] next_state; //次状态
always @(posedge clk or negedge rst_n) begin
if(!rst_n)
current_state <=