基于FPGA的拔河游戏机

设计内容:
(1)拔河游戏机需要11个发光二极管排成一行,开机 后只有中间一个亮点,作为拔河的中间线。
游戏双方 各持一个按键,迅速且不断地按动产生脉冲,哪方按 得快,亮点就向哪方移动,
每按一次,亮点移动一次。 移到任一方二极管的终端,该方就获胜。此时双方按 键均无作用,输出保持,只有经复位后才能使亮点恢 复到中心线。
(2)显示器显示胜者胜利的次数,裁判按键可以控制 开始和清零。

顶层模块包括拔河模块和消抖模块:
代码如下:
module top(
input clk,key1,key2,rst,nrst,
output [10:0]led,
output [6:0]seg
);

wire [3:0]q;
wire [1:0]left;
wire [1:0]right;
wire k1,k2,_25H;
bahe u_bahe(
.k1 (key1),
.k2 (key2),
.rst (rst),
.nrst (nrst),
._25H (clk),
.left (left),
.right (right)
.q (q)
);

xiaodou u_xiaodou(
.k1 (key1),
.k2 (key2),
.k1 (k1),
.k2 (k2),
._25H (_25H)
);

拔河模块代码如下,逻辑很简单,当两人按下按键不同时为00或11时,led会朝为1方移动一位,如此先到q先到0或10࿰

10-07 01:36