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