Verilog Project俄罗斯方块(1)

Verilog Project俄罗斯方块(1)

在这个Project中比较麻烦的就是俄罗斯方块的存储,经过考虑,我们考虑直接使用若干个register来直接储存这个背景方块。相关register的定义如下,上verilog code.

reg [9:0]BG[23:0];

reg [2:0]shape;

reg [1:0]circute;

reg [3:0]center_x;

reg [4:0]center_y;

其中 BG(background)可以对应为24*10的二维数组,其中最上面4行(即BG[0],BG[1],BG[2],BG[3])是不显示的方块,用来做最开始下落。余下来的20行是正常的背景方块矩阵。

其中BG的值可以这样调用BG[9][19]

我们可以用一个wire valid;作为信号来判断rotate,left,right,down等操作的可行。如果可以rotate的话,那么valid=1;,反之valid=0;

tetris_diagram_pieces_orientations_new

上面是各个状态的当前方块的数据。图上的圆点代表着旋转中心。即旋转中心center_x和center_y的坐标。

相关的常量要用parameter来定义。

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值