弹球游戏Verilog代码Quartus仿真

名称:弹球游戏Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

设计要求

查阅FPGA、VGA接口标准等相关资料文献。

2.编写HDL代码实现νGA显示模块和按键输入模块,并下载到开发板进行测试。

3.图像分辨率不低于1024*768,目标移动方块50*50,移动弹板为20*100。

4.实现一个通过VGA显示器进行游戏显示并通过按键进行控制弹板的弹球游戏。

5.对项目的性价比以及社会经济效益进行分析说明。实验要求

1.完成系统硬件设计

2.完成HDL代码设计及仿真


FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:


设计文档:

设计文档.doc

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testbench

6. 仿真图

整体仿真图

按键模块

VGA时序控制模块

画面生成模块



部分代码展示:

//VGA时序控制模块
module vga_controller_1024x768(rst_p, pixel_clk, HS, VS, hcount, vcount, video_enable);
   input           rst_p;//高电平复位
   input           pixel_clk;//65M
   output          HS;//行同步
   output          VS;//场同步
   output [10:0]    hcount;//当前x像素坐标位置
   output [10:0]    vcount;//当前y像素坐标位置
   output          video_enable;//显示使能
   
   
   reg             HS;   
   reg             VS;   
   //定义1024*768的参数
   parameter  HMAX = 1344;
   parameter  HLINES = 1024;
   parameter  HFP = 1024;
   parameter  HSP = 1160;
   parameter  VMAX = 806;
   parameter  VLINES = 768;
   parameter  VFP = 771;
   parameter  VSP = 777;
   
   reg [10:0]       hcounter;
   reg [10:0]       vcounter;
   
   assign hcount = hcounter;
   assign vcount = vcounter;
   
   //行计数
   always @(posedge pixel_clk)
      begin
         if (rst_p == 1'b1)
            hcounter <= 11'b0;
         else if (hcounter == HMAX)
            hcounter <= 11'b0;
         else
            hcounter <= hcounter + 1;
      end
   
   //场计数
   always @(posedge pixel_clk)
      begin
         if (rst_p == 1'b1)
            vcounter <= 11'b0;
         else if (hcounter == HMAX)
         begin
            if (vcounter == VMAX)
               vcounter <= 11'b0;
            else
               vcounter <= vcounter + 1;
         end
      end
   
   //行同步
   always @(posedge pixel_clk)
      begin
         if (hcounter >= HFP & hcounter < HSP)
            HS <= 0;
         else
            HS <= 1;
      end
   
   //场同步
   always @(posedge pixel_clk)
      begin
         if (vcounter >= VFP & vcounter < VSP)
            VS <= 0;
         else
            VS <= 1;
      end
   
   //输出显示使能信号
   assign video_enable = ((hcounter < HLINES & vcounter < VLINES)) ? 1'b1 :  1'b0;
endmodule


代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 弹球游戏Verilog代码Quartus仿真

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员