名稱:20進(jìn)制加減計(jì)數(shù)器(進(jìn)制可改)Verilog代碼Quartus? 開(kāi)發(fā)板
軟件:Quartus
語(yǔ)言:Verilog
代碼功能:做課程設(shè)計(jì),要求僅使用2位數(shù)碼管,另外2位要熄滅,點(diǎn)亮的2位依次顯示00到19,兩個(gè)按鍵,第一個(gè)按鍵每按一下數(shù)值加1,第二個(gè)按鍵每按一下數(shù)值減1。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在開(kāi)發(fā)板驗(yàn)證,開(kāi)發(fā)板如下,其他開(kāi)發(fā)板可以修改管腳適配:
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 管腳分配
6. Testbench
7. 仿真圖
整體仿真圖
按鍵消抖模塊
控制模塊
顯示模塊
部分代碼展示:
`timescale?1ns?/?1ps //顯示模塊 module?display_num( input?clk, input?[4:0]?data,//計(jì)數(shù) output?reg?[3:0]?bit_select,//位選 output?reg?[7:0]?lednum_select//段選 ); wire?[3:0]?data_ten; wire?[3:0]?data_one; assign?data_ten=data/10;//計(jì)數(shù)10位 assign?data_one=data%10;//計(jì)數(shù)個(gè)位? reg[15:0]counter='d0; always@(posedge?clk) begin ????counter<=counter+16'd1; end reg?[3:0]?display_data=4'd0; always@(posedge?clk) begin case(counter[15:14]) 2'd0:display_data<=data_ten;//十位 2'd1:display_data<=data_one;//個(gè)位????? 2'd2:display_data<=0;// 2'd3:display_data<=0;// ??????default:; endcase end always@(posedge?clk) begin ????????case(counter[15:14]) ????????????2'd0:?bit_select<=(4'b0111);//數(shù)碼管位選 ????????????2'd1:?bit_select<=(4'b1011); ????????????2'd2:?bit_select<=(4'b1111); ????????????2'd3:?bit_select<=(4'b1111); ????????????default:bit_select<=(4'b1111); ????????endcase case(display_data) 0?:?lednum_select=?(8'hc0);?//數(shù)碼管段選 1?:?lednum_select=?(8'hf9);? 2?:?lednum_select=?(8'ha4);? 3?:?lednum_select=?(8'hb0);? 4?:?lednum_select=?(8'h99);? 5?:?lednum_select=?(8'h92); 6?:?lednum_select=?(8'h82);? 7?:?lednum_select=?(8'hf8);? 8?:?lednum_select=?(8'h80);? 9?:?lednum_select=?(8'h90);? endcase end endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=431