FPGA课设:拔河游戏

 一、实验要求

用设计一拔河游戏机,要求如下:电路使用15个发光二极管表示拔河的“电子绳”,开机后只有中间一个发亮,此即拔河的中心点。游戏双方各持一个按钮,迅速地、不断地按动产生脉冲,谁按的快,亮点就向谁的一方移动,每按一次,亮点移动一次。亮点一到任一方的终端发光二极管时,这一方就获胜,此时双方按钮均无作用,输出保持,只有复位后亮点才恢复到中心。由裁判下达比赛命令后,双方才能输入信号,否则,输入无效。

 二、实验代码

源代码



module tug_of_war 
(
   input clk, reset_n, p1_btn, p2_btn, referee_cmd,
   output reg[14:0] leds
);

   parameter CENTER_LED = 7;
   parameter WAIT_CMD = 4'd0;
   parameter WAIT_INPUT = 4'd1;
   parameter RUNNING = 4'd2;
   parameter P1_WIN = 4'd3;
   parameter P2_WIN = 4'd4;
   parameter OUTPUT_HOLD = 4'd5;

   
   reg [3:0] state;    
   reg [14:0] counter; 

   always @(posedge clk, negedge reset_n) begin
      if (~reset_n) begin
         counter <= 15'd0;
         leds <= 15'b000000010000000;
         state <= WAIT_CMD
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值