名称:PS2键盘控制的方块弹球VGA游戏Verilog代码Quartus DE1-SOC开发板(文末获取)
软件:Quartus
语言:Verilog
代码功能:
PS2键盘控制的方块弹球VGA游戏
玩家可通过 PS2键盘上设置的按键控制屏幕下方的挡板左右移动,将移动的小球反弹撞击障碍方块,通过障碍方块的消除个数进行计分,分数越高,小球移动速度增加,最终小球掉出挡板或障碍方块被消除完,即可结束游戏。
本代码已在DE1-SOC开发板验证,DE1-SOC开发板如下,其他开发板可以修改管脚适配:
1. 工程文件
2. 顶层原理图
3. 各模块框图
4. 程序文件
5. 程序编译
6. RTL图
7. Testbench
8. 仿真图
整体仿真图
复位同步模块仿真图
键盘控制模块
VGA时序控制模块
图形控制模块
数码管显示模块
上板验证照片
部分代码展示:
//数码管显示模块 module display(score, HEX,HEX1); input [7:0] score;//分数 output [6:0] HEX;//数码管 output [6:0] HEX1;//数码管信号 reg [6:0] HEX; reg [6:0] HEX1; wire [3:0] score_one; wire [3:0] score_ten; assign score_one=score%10; assign score_ten=score/10; always @(score_one) case (score_one) 4'b0000 : HEX <= 7'b1000000;//0 4'b0001 : HEX <= 7'b1111001;//1 4'b0010 : HEX <= 7'b0100100;//2 4'b0011 : HEX <= 7'b0110000;//3 4'b0100 : HEX <= 7'b0011001;//4 4'b0101 : HEX <= 7'b0010010;//5 4'b0110 : HEX <= 7'b0000010;//6 4'b0111 : HEX <= 7'b1111000;//7 4'b1000 : HEX <= 7'b0000000;//8 4'b1001 : HEX <= 7'b0010000;//9 default : ; endcase always @(score_ten) case (score_ten) 4'b0000 : HEX1 <= 7'b1000000;//0 4'b0001 : HEX1 <= 7'b1111001;//1
源代码
扫描文章末尾的公众号二维码