前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FPGA比较完美的复现复现俄罗斯方块

FPGA比较完美的复现复现俄罗斯方块

作者头像
碎碎思
发布2022-06-06 08:25:01
1K0
发布2022-06-06 08:25:01
举报
文章被收录于专栏:OpenFPGA

《俄罗斯方块》(Tetris, 俄文:Тетрис)是一款由俄罗斯人阿列克谢·帕基特诺夫于1984年6月发明的休闲游戏。

游戏介绍

这里就不介绍了,很经典的游戏。

软硬件环境

FPGA板卡

ZEDBOARD(纯逻辑设计,没使用ARM) 其他板卡也可以

VGA显示器

PS2键盘

游戏需要4(上下左右移动)+New Game(游戏GG,重新开始)

上下左右键,上是旋转,下是加速下降,左右就是左右移动,N字幕键是重新开始。

这里需要将PS2鼠标或者键盘连接到开发板上,所以制作了一个PMOD扩展小板转接出PS2接口,如下:

原理图+PCB地址:

https://gitee.com/openfpga/FPGAandGames/tree/main/hardware/PMOD_PS2

注意:PS2不一定用5V供电,亲测3.3V也可以。

Vivado

Vivado 2018.3及更高版本

源码简介

整个核心框图如下所示:

FSM如下:

每个模块的源码上都有简介,状态机代码也比较简单(主要控制,初始状态,失败三个状态,详见代码)。

整个工程使用SystemVerilog建模,学习SV的同学也可以看看,尤其针对状态机部分使用typedef enum实现,可以看下和Verilog在状态机建模方面的区别。

开源链接

https://github.com/suisuisi/FPGAandGames/tree/main/TETRIS/fpgatetris

下载后可以直接进行综合,使用JTAG下载到FPGA中,就能看到VGA显示画面如下:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenFPGA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 游戏介绍
  • 软硬件环境
    • FPGA板卡
      • VGA显示器
        • PS2键盘
          • Vivado
          • 源码简介
          • 开源链接
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档