软件环境: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_apple
  • VGA显示&游戏状态模块game_show
  • 系统时钟模块pll_clk

按键模块和系统时钟PLL模块就不再讲解了

如下图RTL示意图

其中重难点模块是蛇身控制模块(5颗星)、VGA显示&状态模块(4颗星)、苹果生成模块(3颗星)。

2.学习脉络总结

在家自学FPGA三个月,学习脉络大体如下:

  • 复习了本科的数电、集成电路设计原理知识
  • 刷完一本语法,学习了计算机组成原理
  • 硬件采买(Spartan 6 黑金AX309)及datasheet研读,软件下载安装及使用学习(ISE、Quartus II、Modelsim、Markdown、Linux系统操作、TimeGen)(特别耗时…)
  • 开始疯狂刷各大网站论坛的教程,几乎刷完了特权同学、正点原子、小梅哥、开源骚客等等不同方面的教程和代码例程。找教材、撸代码、跑仿真、上板调试,从按键消抖、时钟分频、数码管显示这样的基础例程开始一点一点积攒模块经验
  • 慢慢啃下了VGA驱动、RA/ROM/PLL等ip调用、UART模块、PS2键盘驱动、IIC总线驱动、SDRAM驱动
  • 最后找了一些小项目的教程来练手积攒 实战经验,如车牌识别、贪吃蛇,最后也都磕磕绊绊的完成了

完成这些小项目之后,深感在时序设计方面实战经验的严重匮乏,往往很多bug都是时序对齐出了问题,后面打算研究小梅哥的《小梅哥FPGA时序约束从遥望到领悟》,加深一下理解和丰富下实战经验

基于FPGA的贪吃蛇游戏设计(1)整体架构设计相关推荐

  1. 基于React的贪吃蛇游戏的设计与实现

    代码地址如下: http://www.demodashi.com/demo/11818.html 贪吃蛇小游戏(第二版) 一年半前层用react写过贪吃蛇小游戏https://github.com/c ...

  2. 基于HTML5的贪吃蛇游戏的设计与实现

    基于HTML5的贪吃蛇游戏的设计与实现 功能要求: 贪吃蛇游戏是一款经典的单机休闲游戏,玩家通过上下左右按键控制蛇头的移动方向使其向指定方向前进,并吃掉随机位置上产生食物来获得分数.每吃掉一次食物,贪 ...

  3. 基于EasyX的贪吃蛇游戏

    基于EasyX的贪吃蛇游戏 一.预备知识 二.游戏逻辑 1.贪吃蛇元素 2.贪吃蛇规则 三.游戏设计 1.地图设计 2.移动设计 3.速度设计 4.整体设计 一.预备知识 1.使用EasyX必须要知道 ...

  4. Linux下基于SDL库贪吃蛇游戏

    Linux下基于SDL库贪吃蛇游戏   SDL(Simple DirectMediaLayer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成.SDL提供了数种控制图像.声音.输出入的函数,让开 ...

  5. 基于单片机的贪吃蛇游戏设计_前端入门,基于html,css,javascript的贪吃蛇游戏

    源代码: 贪吃蛇 .box1{ font-size: 15px; float:left; display: block; margin-right: 150px; } .box2{ font-size ...

  6. 基于linux的贪吃蛇游戏设计_贪吃蛇还能这么玩?绝对是你从未体验过的全新版本(上)...

    上个月 Gitee 宣布推出「Python 贪吃蛇魔改大赛」的活动,受到了众多开发者们的欢迎.半个多月后,我们收到了共计 42 个参赛作品,有的作品创意无限,有的作品视觉效果极佳,看看下面的作品一览, ...

  7. 基于单片机的贪吃蛇游戏

    绪论 1.1 研究背景与意义 随着社会的发展,人们生活的步调日益加快,越来越多的人加入了全球化的世界. 人们不再拘泥于--,J,块天地,加班,出差成了现代人不可避免的公务.而此时一款可以 随时随地娱乐 ...

  8. 基于java的贪吃蛇游戏

    贪吃蛇的游戏开发 实验内容: 1)实现贪吃蛇游戏基本功能,屏幕上随机出现一个"食物",称为豆子,上下左右 控制"蛇"的移动,吃到"豆子"以后 ...

  9. 基于EasyX的贪吃蛇游戏(C语言)

    贪吃蛇游戏EasyX图形库C语言 #前言 关于贪吃蛇游戏这种学生时代,用来应付一个期末设计的东西.网上各式各样用不同方式实现的核心代码已经烂大街了. 用esayX这种图形库,可以简单进行蛇体,游戏界面 ...

最新文章

  1. 仿QQ空间用一个tableview显示多种自定义cell
  2. shell 执行 oracle sql
  3. python宏替换_#和##在宏替换中的作用
  4. 微软 Excel 365 里如何设置下拉菜单和自动高亮成指定颜色
  5. 【AcWing 243. 一个简单的整数问题2】
  6. 根据select不同的选项实现相应input框添加项的显示
  7. 百度刷新世界级权威DeepFake防伪数据集榜单记录,成绩超越SOTA
  8. 7-130 古风排版 (20 分)
  9. Vscode之搭建C++环境
  10. Turbo C 2.0安装及其使用
  11. 依赖于 !important 标签是个危险的现象。奔驰车如何查4S店的保养记录
  12. 使用IDEA生成DOC文档
  13. 1383: 手机短号 (多实例)
  14. 四阶龙格-库塔法求解常微分方程的初值问题
  15. DP问题(动态规划)
  16. 多方位角极化SAR数据处理与信息提取方法
  17. 支付API接口(支付宝支付接口微信支付接口)
  18. error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\link.exe' failed wit
  19. python之os模块操作文件与文件夹
  20. 忆二十几年前的“大案”|我们该教什么给孩子?

热门文章

  1. ns-3 教程 —— 资源
  2. SDN概述:简介、工具、环境部署
  3. 隐函数存在定理1及求导公式_20160505
  4. 一年中最后一个月的最后一天说说_2020只剩最后一个月的励志说说致自己
  5. php开发中常用字符串函数总结
  6. python2.7 error: Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpython27
  7. 自动化测试、自动化测试框架和云测试相关论文列表
  8. CSS基础(复合选择器-三大特性)
  9. java计算机毕业设计学校意见征集系统源码+系统+mysql数据库+lw文档
  10. python爬虫爬取高清图片——爬虫入门