名稱:序列檢測(cè)器設(shè)計(jì)Verilog代碼Vivado仿真
軟件:Vivado
語(yǔ)言:Verilog
代碼功能:
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
設(shè)計(jì)文檔:
1. 序列檢測(cè)
1.1 重復(fù)判斷
工程文件
程序文件
程序編譯
Testbench
仿真圖
1.2 不重復(fù)判斷
工程文件
程序文件
程序編譯
Testbench
仿真圖
部分代碼展示:
//帶重復(fù)判斷的序列檢測(cè)器011 module?sequence_detection( input?clk,//時(shí)鐘 input?rst_n,//復(fù)位 input?data_in,//序列輸入 output?detection_result//檢測(cè)結(jié)果 ); 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)//復(fù)位 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://已檢測(cè)到0 if(data_in==1'b1)//輸入1 state<=s_d01; else//輸入0 state<=s_d0; s_d01://已檢測(cè)到01 if(data_in==1'b1)//輸入1 state<=s_d011; else//輸入0 state<=s_d0; s_d011://已檢測(cè)到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)//已檢測(cè)到011 detection_result_reg<=1;//檢測(cè)結(jié)果 else detection_result_reg<=0; assign?detection_result=detection_result_reg;//輸出 endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=506
閱讀全文