当前位置:   article > 正文

基于FPGA的贪吃蛇游戏设计(1)整体架构设计_quartus 贪吃蛇

quartus 贪吃蛇

软件环境: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时序约束从遥望到领悟》,加深一下理解和丰富下实战经验

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/775850
推荐阅读
相关标签
  

闽ICP备14008679号