名稱:vivado序列檢測器verilog代碼ego1開發(fā)板驗證(代碼在文末下載)
軟件:VIVADO
語言:Verilog
代碼功能:
設計一個111序列檢測器。
要求:當檢測到3個或3個以上的1時,輸出為1,其他輸入情況輸出為0。
畫出狀態(tài)轉(zhuǎn)移圖,完成 Verilog描述。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在ego1開發(fā)板驗證,開發(fā)板如下,其他開發(fā)板可以修改管腳適配:
演示視頻:
設計文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 管腳分配
6. Testbench
7. 仿真圖
整體仿真圖
分頻模塊
隨機序列產(chǎn)生模塊
狀態(tài)機控制模塊
部分代碼展示:
//序列檢測器,檢測"111"序列 module?sequence_detection( input?clk_in,//時鐘 input?RESET,//復位 output?sequence_led,//序列指示燈--D0 output?detection_result//檢測結(jié)果--D3 ); wire?random_out;//偽隨機序列 wire?detection_result_reg; assign?sequence_led=random_out; wire?clk;//1Hz // //100M分頻到1Hz div?i_div( .?clk(clk_in),//100M .?clk_out(clk)//1Hz ); //偽隨機序列發(fā)生器,用于作為序列檢測器的檢測源 random_code?i_random_code( .?clk(clk),//時鐘 .?RESET(RESET),//復位 .?random_out(random_out)//輸出偽隨機信號 ????); //狀態(tài)機控制模塊 state_ctrl?i_state_ctrl( .?clk(clk),//時鐘 .?data_in(random_out),//序列輸入 .?detection_result_reg(detection_result)//檢測結(jié)果 ); endmodule
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=319
閱讀全文