名称:序列检测器设计Verilog代码Vivado仿真
软件:Vivado
语言:Verilog
代码功能:
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
设计文档:
1. 序列检测
1.1 重复判断
工程文件
程序文件
程序编译
Testbench
仿真图
1.2 不重复判断
工程文件
程序文件
程序编译
Testbench
仿真图
部分代码展示:
//带重复判断的序列检测器011 module?sequence_detection( input?clk,//时钟 input?rst_n,//复位 input?data_in,//序列输入 output?detection_result//检测结果 ); reg?[2:0]?state=3'd0;//定义状态 parameter?s_idle=3'd0; parameter?s_d0=3'd1; parameter?s_d01=3'd2; parameter?s_d011=3'd3; always@(posedge?clk?or?negedge?rst_n) if(rst_n==0)//复位 state<=s_idle; else case(state) s_idle://初始状态 if(data_in==1'b0)//输入0 state<=s_d0; else state<=s_idle; s_d0://已检测到0 if(data_in==1'b1)//输入1 state<=s_d01; else//输入0 state<=s_d0; s_d01://已检测到01 if(data_in==1'b1)//输入1 state<=s_d011; else//输入0 state<=s_d0; s_d011://已检测到011 if(data_in==1'b1)//输入1 state<=s_idle; else//输入0 state<=s_d0; default: state<=s_idle; endcase reg?detection_result_reg=0; always@(posedge?clk) if(state==s_d011)//已检测到011 detection_result_reg<=1;//检测结果 else detection_result_reg<=0; assign?detection_result=detection_result_reg;//输出 endmodule
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=506
阅读全文
271