贪吃蛇
此号已封coin
敢问路在何方
展开
-
基于FPGA的贪吃蛇游戏设计(7)蛇身控制模块snake_ctrl
1.模块思路蛇身长度增长移动速度控制蛇头是否撞墙或者吃到苹果或者吃到蛇身蛇头和蛇身的转向/非转向时联动主要就是要构思以上这些问题了2. 蛇移动速度控制简单讲就是计时移位计时到250ms移动一次(4步/s):慢,speed=0计时到125ms移动一次(8步/s):快,speed=1//move_speedalways @(posedge clk or negedge rst_n)begin if(rst_n == 1'b0)begin move_speed &原创 2020-05-20 21:08:51 · 3006 阅读 · 5 评论 -
基于FPGA的贪吃蛇游戏设计(6)苹果随机生成模块generate_apple
1.苹果的大小为1616个像素,和后面要讲的一节蛇身/蛇头是一样的。在640480的分辨率下,可以看做是40*30的块场,坐标范围为[39:0],[29:0];因为墙壁厚度的原因,苹果可产生的坐标范围为:[38:1],[28:1]。...原创 2020-05-20 15:18:42 · 1183 阅读 · 0 评论 -
基于FPGA的贪吃蛇游戏设计(5)VGA显示&游戏状态控制的top模块
1.状态转移方案上上一篇博客说过,speed、end、start四个子模块均为VGA驱动,输出数据都是从ROM中读出,只是ROM中存储的图片不一样,而play_vga的输出是不固定的,需要单独设计play_vga驱动,在上上一篇博客中已经设计好。状态转移图:转移条件:2.状态机模块设计采用三段式状态机assign game_state = state_c;//当下状态//state_calways@(posedge clk or negedge rst_n)begin if原创 2020-05-19 23:07:59 · 1630 阅读 · 1 评论 -
基于FPGA的贪吃蛇游戏设计(4)mif文件生成&ROM初始化
部分转载自https://www.cnblogs.com/BitArt/archive/2012/12/11/2813503.html1.什么是mif文件mif文件就是存储器初始化文件.mif,即memory initialization file,用来配置RAM或ROM中的数据。2.如何生成mif文件生成QuartusII11.0可用的mif文件,有如下几种方式:方法1:利用Quartus自带的mif编辑器优点:对于小容量RAM可以快速方便的完成mif文件的编辑工作,不需要第三方软件的编辑;转载 2020-05-19 17:38:56 · 1341 阅读 · 0 评论 -
基于FPGA的贪吃蛇游戏设计(3)VGA显示&游戏状态控制模块的子模块b:start_end_vga和对应的ROM
1.start_end_vga模块介绍除了上一篇博客的paly模块,游戏还需要设置start、end、speed模块,状态转移图如下:前段的h_cnt、v_cnt、vga_hs、vga_vs信号跟前面play_vga的一样,不再赘述。因为start和end和speed的逻辑是大致一致的,都是在使能信号到来时读出一张mif图片,区别只在于要在VGA上显示的图片内容,这里我们调用三个ROM,将三者的不同图片存在各自的ROM里,分别设计各自的ROM_top模块,即可重复引用该start_end_vga模块原创 2020-05-19 17:03:13 · 1870 阅读 · 0 评论 -
基于FPGA的贪吃蛇游戏设计(2)VGA显示&游戏状态控制模块的子模块a:play_vga
1. VGA时序分析VGA 时序的关键信号是行同步信号(HSync)和场同步信号(VSync),共有 6 个参数,分别为SyncBack PorchLeft Border(针对行同步信号)/Top Border(针对场同步信号)Addr Time(数据有效时间,分辨率就是看这个参数)Right Border(针对行同步信号)/Bottom Border(针对场同步信号)Front PorchVGA 真正显示的区域是 VSync 的 Addr Time 和 HSync 的 Addr Ti原创 2020-05-19 15:12:58 · 3341 阅读 · 2 评论 -
基于FPGA的贪吃蛇游戏设计(1)整体架构设计
软件环境:Quartus II 13.1 & Modelsim Starter Edition 13.1 & notepad++ & TimeGen 3.1 & ImageShow(生成图片的mif文件)硬件环境:黑金AX309开发板 ,联想VGA显示器1.模块划分总体设计思路采用Top2down设计,首先是系统top模块,再往下按照功能的不同分为5个:蛇身控制模块snake_ctrl按键控制模块key苹果生成模块generate_appleVGA显示&.原创 2020-05-19 12:52:00 · 3858 阅读 · 1 评论