名稱:序列檢測器設計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;//定義狀態(tài) 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://初始狀態(tài) 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
閱讀全文