名稱:Quartus警報(bào)控制電路verilog代碼
軟件:Quartus
語言:Verilog
代碼功能:
警報(bào)控制電路
設(shè)計(jì)要求:
1. 輸入量有警報(bào)信號(hào)ALE,取消鍵 CANCLE,系統(tǒng)時(shí)鐘CLK,為1kHz。輸出量為一個(gè)LED燈和揚(yáng)聲器 SPEAKER。
2.當(dāng)警報(bào)信號(hào)ALE有效時(shí),LED開始以間隔0.1秒閃爍,同CANCLE,LED加速閃爍,以間隔0.05秒閃爍,直到取消鍵時(shí)揚(yáng)聲器響起,持續(xù)30秒后,如果沒有按下取消鍵CANCLE被按下。假設(shè)輸入時(shí)鐘是1kHz,則需要設(shè)計(jì)一個(gè)輸出為10Hz的計(jì)數(shù)器作為0.1秒閃爍模塊,20Hz的計(jì)數(shù)器作為0.05秒閃爍模塊,分頻系數(shù)分別是100和50。
3.將頂層文件下載至開發(fā)板中,利用開發(fā)板上面48MHz分頻,使用按鍵、時(shí)鐘信號(hào)和LED發(fā)光二極管,進(jìn)行演示。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 管腳分配
6. 仿真圖
部分代碼展示:
module?alarm( input?clk_in,//系統(tǒng)時(shí)鐘48MHz input?cancle,//高電平取消有效 input?ALE,//高電平報(bào)警有效 output?LED,?//高電平亮燈 output?SPEAKER?//高電平揚(yáng)聲器有聲音 ); wire?CLK;//1KHz wire?clk_10;//10Hz wire?clk_20;//20Hz //分頻模塊 div?i_div( .?clk_in(clk_in),//系統(tǒng)時(shí)鐘48M .?clk_o?(CLK)//分頻輸出1KHz ); //頻率產(chǎn)生模塊 gen_clk?gen_clk_1( .?clk_1k(CLK),//系統(tǒng)時(shí)鐘1KHz .?clk_10(clk_10),//10Hz .?clk_20(clk_20)//20Hz ); //控制模塊 ctrl?ctrl_1?( .?CLK(CLK),//系統(tǒng)時(shí)鐘1KHz .?clk_10(clk_10),//10Hz .?clk_20(clk_20),//20Hz .?cancle(cancle),//高電平取消有效 .?ALE(ALE),//高電平報(bào)警有效 .?LED(LED),?//高電平亮燈 .?SPEAKER(SPEAKER)?//高電平揚(yáng)聲器有聲音 ); endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=414