名稱:任意進(jìn)制計(jì)數(shù)器12進(jìn)制計(jì)數(shù)數(shù)碼管顯示verilog代碼(代碼在文末下載)
軟件:VIVADO
語(yǔ)言:Verilog
代碼功能:
設(shè)計(jì)一個(gè)12進(jìn)制計(jì)數(shù)器,計(jì)數(shù)值00-11需要在數(shù)碼管上顯示,時(shí)鐘脈沖通過(guò)按鍵開關(guān)設(shè)計(jì),電路的輸入信號(hào)en進(jìn)行清零。
本代碼可以修改為任意進(jìn)制計(jì)數(shù)器,即修改計(jì)數(shù)控制模塊的紅框內(nèi)代碼,如下所示:
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在ego1開發(fā)板驗(yàn)證,開發(fā)板如下,其他開發(fā)板可以修改管腳適配:
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 管腳分配
6. Testbench
7. 仿真圖
整體仿真圖
按鍵模塊
控制模塊
顯示模塊
部分代碼展示:
`timescale?1ns?/?1ps //設(shè)計(jì)一個(gè)計(jì)數(shù)器 module?shift_num( ????input?clk_100M, ????input?en_key,//清零 ????input?shift_key,//手動(dòng)按鍵 ????output??[3:0]?weixuan,//高選 ????output??[7:0]?duanxuan//高選 ????); wire?[7:0]?num; wire?shift_key_en; //按鍵消抖 key_jitter?i_key_jitter( .?clkin(clk_100M), .?key_in(shift_key),//輸入 .?key_posedge(shift_key_en)//消抖后按鍵上升沿 ); //計(jì)數(shù)控制模塊 shift_ctrl?i_shift_ctrl( .?clk(clk_100M), .?en_key(en_key),//清零 .?shift(shift_key_en),//手動(dòng)按鍵 .?num(num)//數(shù) ????); //數(shù)碼管顯示模塊 display_drive?i_display_drive( .?clk(clk_100M), .?num(num),//數(shù) .?weixuan(weixuan),//高選 .?duanxuan(duanxuan)//高選 ); endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=311