名稱:看門狗電路設(shè)計Verilog代碼Quartus開發(fā)板
軟件:Quartus
語言:Verilog
代碼功能:
1.看門狗電路時電子系統(tǒng),是嵌入式系統(tǒng)中常用的抗干擾措施之一,其作用是在程序“跑 飛”后強制系統(tǒng)復(fù)位。
2.看門狗實際上是一個計數(shù)器,它需要在一定時間內(nèi)被清零,否則,看門狗將產(chǎn)生一個復(fù)位信號使系統(tǒng)重新啟動。
3. 系統(tǒng)主要由3個功能模塊構(gòu)成:
1) 計數(shù)比較模塊;
2) 分頻模塊;
3) 復(fù)位計時模塊
4.完成全部流程:設(shè)計規(guī)范文檔、模塊設(shè)計、代碼輸入、功能仿真、約束與綜合、布局布線、時序仿真、下載驗證等。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在開發(fā)板驗證,開發(fā)板如下,其他開發(fā)板可以修改管腳適配:
演示視頻:
設(shè)計文檔:
1. 硬件操作
溫度傳感器板J3連接核心板P6;核心板按鍵S1手動清計數(shù)(喂狗),LED8為看門狗輸出復(fù)位信號指示燈(沒有定時喂狗表示系統(tǒng)跑飛,計數(shù)器溢出后輸出復(fù)位指示燈)。
2. 工程文件
3. 程序文件
4. 管腳分配
5. 程序編譯
6. RTL圖
7. Testbench
8. 仿真圖
整體仿真圖
計數(shù)模塊
分頻模塊
復(fù)位模塊
顯示模塊
部分代碼展示:
//看門狗 module?watch_dog( input?clk,//50M input?feed_key,//喂狗按鍵,按下低電平 output?rst_led,//輸出復(fù)位信號,用led燈表示 output?[2:0]?seg_CBA,//數(shù)碼管位選 output?[7:0]?seg_LED//數(shù)碼管段選 ); wire?clk_1Hz;//1Hz計數(shù)脈沖 wire?[7:0]?cnt_num;//計數(shù)值 //50M分頻到1Hz //分頻模塊 division?i_division( .?clk(clk),//50M .?clk_1Hz(clk_1Hz)//分頻到1Hz ); //計數(shù)模塊 count?i_count( .?clk(clk),//50M .?clk_1Hz(clk_1Hz),//1Hz計數(shù)脈沖 .?feed_key(feed_key),//喂狗按鍵,按下低電平 .?cnt_num(cnt_num)//計數(shù)值 ); //復(fù)位模塊 reset?i_reset( .?clk(clk),//50M .?cnt_num(cnt_num),//計數(shù)值 .?rst_led(rst_led)//輸出復(fù)位信號,用led燈表示 ); //數(shù)碼管顯示模塊 display?i_display( .?clk(clk),//時鐘 .?cnt_num(cnt_num),//計數(shù)值 .?seg_CBA(seg_CBA),//數(shù)碼管位選 .?seg_LED(seg_LED)//數(shù)碼管段選 );
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=559