• 方案介紹
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

隨機(jī)方向的彈球運(yùn)動(dòng)圖像VGA顯示DE1-SoC開發(fā)板verilog代碼

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

名稱:隨機(jī)方向的彈球運(yùn)動(dòng)圖像VGA顯示DE1-SoC開發(fā)板(代碼在文末下載)

軟件:Quartus II

語言:Verilog

代碼功能:

VGA彈球圖案。

創(chuàng)建一個(gè)分辨率為640x480的VGA顯示器的彈球圖案。彈球開始并將沿隨機(jī)方向移動(dòng)。塊有8個(gè)移動(dòng)方向。

vha2.JPG

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

DE1-soc.png

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

部分代碼展示:

`timescale?1ns?/?1ps
//產(chǎn)生方塊和運(yùn)行方向
module?graphic_generator(clk,?rst,?pixel_x,?pixel_y,?r,?g,?b);
???input????clk,?rst;?
???input????[9:0]?pixel_x,?pixel_y;?//像素坐標(biāo)
???
???output???[7:0]?r,?g,?b;
???reg??????[11:0]?rgb;?
???wire?????refr_tick;?
???
???//?refr-tick:?1-clock?tick?asserted?at?st?art?of?v-sync
???//?i.e..?when?the?screen?is?refreshed?(60?Hz)
???assign?refr_tick?=?(pixel_y==479)?&&?(pixel_x==1);?
???//?==========================
???//?object?output?signals
???//?==========================
//
//m序列
reg?[5:0]?ddout=6'b000001;
always@(posedge?clk)
???begin
?????ddout[0]?<=ddout[1];//移位
?????ddout[1]?<=ddout[2];//移位
?????ddout[2]?<=ddout[3];//移位
?????ddout[3]?<=ddout[4];//移位
?????ddout[4]?<=ddout[3]^ddout[0];//本源多項(xiàng)式為x5+x2+1
end?
?
//
???
???wire?ball_on;?
???wire?[11:0]?ball_rgb;?
reg?[9:0]?dir_x=2;
reg?[9:0]?dir_y=2;
???always@(*)?
case(ddout[2:0])
3'd0:
begin
dir_x=2;
dir_y=2;
end
3'd1:
begin
dir_x=2;
dir_y=-2;
end
3'd2:
begin
dir_x=-2;
dir_y=2;
end
3'd3:
begin
dir_x=-2;
dir_y=-2;
end
3'd4:
begin
dir_x=0;
dir_y=2;
end
3'd5:
begin
dir_x=0;
dir_y=-2;
end
3'd6:
begin
dir_x=2;
dir_y=0;
end
3'd7:
begin
dir_x=-2;
dir_y=0;
end
endcase
???//?===============
???//?球
???//?===============
???
???//?ball?left,?right?boundary?
???wire?[9:0]?ball_x_l,?ball_x_r;?
???//?ball?tob,?bottom?boundary?
???wire?[9:0]?ball_y_t,?ball_y_b;??
???//?reg?to?track?left?,?top?position
???reg?[9:0]?ball_x_reg?,?ball_y_reg?;
???wire?[9:0]?ball_x_next?,?ball_y_next?;

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

相關(guān)推薦