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

籃球比賽24秒倒計(jì)時(shí)器basys3開(kāi)發(fā)板verilog代碼

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

1-231114212619403.doc

共1個(gè)文件

名稱:籃球比賽24秒倒計(jì)時(shí)器basys3開(kāi)發(fā)板verilog代碼(代碼在文末下載)

軟件:VIVADO

語(yǔ)言:Verilog

代碼功能:

籃球計(jì)時(shí)器

1、籃球24秒倒計(jì)時(shí)器,按鍵啟動(dòng)倒計(jì)時(shí)。

2、倒計(jì)時(shí)可以通過(guò)按鍵控制暫停、繼續(xù)。

3、倒計(jì)時(shí)結(jié)束后LED燈閃爍報(bào)警。

4、數(shù)碼管顯示倒計(jì)時(shí)。

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

本代碼已在Basys3開(kāi)發(fā)板驗(yàn)證,開(kāi)發(fā)板如下,其他開(kāi)發(fā)板可以修改管腳適配:

basys3開(kāi)發(fā)板.png

 

演示視頻:

設(shè)計(jì)文檔:

1. 工程文件

2. 程序文件

3. 管腳約束文件

4. 程序編譯

5. RTL圖

6. Testbench

7. 仿真圖

整體仿真圖

分頻模塊仿真

倒計(jì)時(shí)模塊仿真

顯示模塊仿真

部分代碼展示:

//倒計(jì)時(shí)模塊
module?jishi(
input?clk_100M,
input?clk_1Hz,//1Hz信號(hào)
input?reset_p,//復(fù)位清零
input?start,//啟動(dòng)、繼續(xù)
input?stop,//暫停
output?reg?LED,//閃爍報(bào)警
output?[7:0]?second_time//秒
);
reg?[7:0]?second=8'd24;//秒
parameter?s_idle=2'd0;//空閑狀態(tài)
parameter?s_down_cnt=2'd1;//倒計(jì)時(shí)狀態(tài)
parameter?s_stop=2'd2;//暫停狀態(tài)
parameter?s_end=2'd3;//結(jié)束狀態(tài)
reg?[1:0]?state=s_idle;//默認(rèn)正常計(jì)時(shí)狀態(tài)
always@(posedge?clk_100M?or?posedge?reset_p)
if(reset_p)
state<=s_idle;//空閑狀態(tài)
else
case(state)
s_idle://空閑狀態(tài)
if(start)//啟動(dòng)、繼續(xù)按鍵按下
state<=s_down_cnt;
else
state<=s_idle;
s_down_cnt://倒計(jì)時(shí)狀態(tài)
if(second==8'd0)
state<=s_end;
else?if(stop)//暫停鍵按下,進(jìn)入暫停狀態(tài)
state<=s_stop;
else
state<=s_down_cnt;
s_stop://暫停狀態(tài)
if(start)//啟動(dòng)、繼續(xù)按鍵按下
state<=s_down_cnt;
else
state<=s_stop;
s_end://結(jié)束
state<=s_end;
default:;
endcase
//產(chǎn)生2Hz閃爍時(shí)鐘
reg?clk_2Hz=0;
reg?[31:0]?time_count=32'd0;
????always@(posedge?clk_100M)
????????if(time_count==32'd25000000)begin//100Mhz計(jì)數(shù)25000000
????????????time_count<=32'd0;
????????????clk_2Hz<=~clk_2Hz;//輸出2Hz
????????????end
????????else?begin
????????????time_count<=time_count+32'd1;//計(jì)數(shù)
????????????clk_2Hz<=clk_2Hz;//輸出2Hz
????????????end
always@(posedge?clk_100M?or?posedge?reset_p)
if(reset_p)
second<=8'd24;//復(fù)位到24秒
else
if(state==s_down_cnt?&&?clk_1Hz)//倒計(jì)時(shí)狀態(tài)
if(second==8'd0)
second<=8'd0;
else
second<=second-8'd1;//倒計(jì)時(shí)
else
second<=second;
always@(posedge?clk_100M?or?posedge?reset_p)
if(reset_p)
LED<=0;//復(fù)位
else
if(state==s_end)////結(jié)束
LED<=clk_2Hz;//閃爍
else
????LED<=0;
//輸出秒
assign?second_time=second;
endmodule

點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=286

  • 1-231114212619403.doc
    下載

相關(guān)推薦

方案定制

去合作
方案開(kāi)發(fā)定制化,2000+方案商即時(shí)響應(yīng)!