名称:LED拔河游戏设计Verilog代码Quartus 睿智开发板(文末获取)
软件:Quartus
语言:Verilog
代码功能:
LED拔河游戏睿智FPGA开发板
1、用8个LED表示拔河的绳子,以中心2个led作为绳子的中心
2、具有2个玩家,通过快速按动按键控制绳子中心的移动
3、led移动到最边上时,对应的玩家加一分,先赢9局者获胜
3、具有裁判按键,可以控制游戏重新开始
4、数码管显示2个玩家的分数
本代码已在睿智开发板验证,睿智开发板如下,其他开发板可以修改管脚适配:
1. 开发板
2. 工程文件
3. 程序文件
4. 程序编译
5. RTL图
6. 管脚分配
部分代码展示:
`timescale 1ns / 1ps module bahe_game( input clk_in,//标准时钟,50MHz input reset_n,//复位信号,低有效 input restart,//裁判控制重新开始 input player_1_key,//选手1 input player_2_key,//选手2 output [7:0] led,//8个led,低电平亮 output beep, //数码管显示 output [7:0] bit_select, output [7:0] seg_select//低电平亮 ); wire [3:0] score_1;//选手1分数 wire [3:0] score_2;//选手2分数 wire player_1; wire player_2; key_debounce U1_key_debounce( . clk(clk_in), . button_in(player_1_key),//输入 . button_posedge(player_1)//消抖后按键上升沿 ); key_debounce U2_key_debounce( . clk(clk_in), . button_in(player_2_key),//输入 . button_posedge(player_2)//消抖后按键上升沿 ); bahe_ctrl U_bahe_ctrl( . clk_in(clk_in),//标准时钟,50MHz . reset_n(reset_n),//复位信号,低有效 . restart(restart),//裁判控制重新开始 . player_1(player_1),//选手1 . player_2(player_2),//选手2 . led(led),//8个led . beep(beep), . score_1(score_1),//选手1分数 . score_2(score_2)//选手2分数 ); display U_display( . clk_in(clk_in),//标准时钟,50MHz . score_1(score_1),//选手1分数 . score_2(score_2),//选手2分数 //数码管显示 . bit_select(bit_select), . seg_select(seg_select) ); endmodule
源代码
点击下方的公众号卡片获取