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