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