• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

20進(jìn)制加減計(jì)數(shù)器(進(jìn)制可改)Verilog代碼Quartus 開(kāi)發(fā)板

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

2-23122P91045W8.doc

共1個(gè)文件

名稱: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ā)板可以修改管腳適配:

開(kāi)發(fā)板.jpg

演示視頻:

設(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

  • 2-23122P91045W8.doc
    下載

相關(guān)推薦