• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

象棋游戏倒计时器设计Verilog代码vivado ego1开发板

06/14 16:44
701
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-2312301043135Y.doc

共1个文件

名称:象棋游戏倒计时器设计Verilog代码vivado? ego1开发板

软件:vivado

语言:Verilog

代码功能:

象棋游戏倒计时器设计

1、具有2个选手控制按键,选手1,按下按键选手2的时间开始倒计时;

2、选手2,按下控制按键选手1的时间开始倒计时;

3、若对方倒计时结束,则赢得比赛;

4、设置获胜指示灯,有超时提醒;

5、数码管显示2个选手倒计时分钟、秒钟。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

本代码已在?ego1开发板验证,?ego1开发板如下,其他开发板可以修改管脚适配:ego1开发板.png

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. 管脚约束

5. Testbench

6. 仿真图

6.1 整体仿真

6.2 控制模块仿真

6.3显示模块仿真

部分代码展示:

`timescale?1ns?/?1ps
//////////////////////////////////////////////////////////////////////////////////
//?Company:?
//?Engineer:?
//?
//?Create?Date:?2019/05/25?14:21:45
//?Design?Name:?
//?Module?Name:?game_timmer
//?Project?Name:?
//?Target?Devices:?
//?Tool?Versions:?
//?Description:?
//?
//?Dependencies:?
//?
//?Revision:
//?Revision?0.01?-?File?Created
//?Additional?Comments:
//?
//////////////////////////////////////////////////////////////////////////////////
module?game_timmer(
????input?clk_100M,//100M时钟
????input?reset_n,//复位按键
????input?suspend_SW,//暂停开关
????input?player_1,//选手1
????input?player_2,//选手2
????output??win_1_led,//选手1胜指示灯
????output??win_2_led,//选手2胜指示灯
????output??alarm_led,//超时提示
????//数码管显示
????output????????[7:0]?seg_select_1,//高电平点亮,高电平选通????
????output????????[3:0]?bit_select_1,//高电平点亮,高电平选通????
????output????????[7:0]?seg_select_2,//高电平点亮,高电平选通????
????output????????[3:0]?bit_select_2//高电平点亮,高电平选通????
????);
????
wire?[7:0]?minute_time_1;//选手1剩余时间分钟
wire?[7:0]?minute_time_2;//选手2剩余时间分钟
wire?[7:0]?second_time_1;//选手1剩余时间秒
wire?[7:0]?second_time_2;//选手2剩余时间秒
wire?ctrl_clk;
assign?ctrl_clk=clk_100M?&?suspend_SW;//suspend_SW控制暂停
time_ctrl?U_time_ctrl(
.?clk_100M(ctrl_clk),//100M时钟
.?reset_n(reset_n),//复位按键
.?player_1(player_1),//选手1,按下高电平
.?player_2(player_2),//选手2,按下高电平
.?win_1_led(win_1_led),//选手1胜指示灯
.?win_2_led(win_2_led),//选手2胜指示灯
.?alarm_led(alarm_led),//超时提示
.?minute_time_1(minute_time_1),//选手1剩余时间分钟
.?minute_time_2(minute_time_2),//选手2剩余时间分钟
.?second_time_1(second_time_1),//选手1剩余时间秒
.?second_time_2(second_time_2)//选手2剩余时间秒
????);
display?U_display(
.?clk(clk_100M),//标准时钟,100MHz
.?reset(reset_n),//复位信号,低有效?
.?minute_time_1(minute_time_1),//选手1剩余时间分钟
.?minute_time_2(minute_time_2),//选手2剩余时间分钟
.?second_time_1(second_time_1),//选手1剩余时间秒
.?second_time_2(second_time_2),//选手2剩余时间秒
.?seg_select_1(seg_select_1),
.?bit_select_1(bit_select_1),
???
.?seg_select_2(seg_select_2),
.?bit_select_2(bit_select_2)//高电平点亮,高电平选通
);
endmodule

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=455

  • 2-2312301043135Y.doc
    下载

相关推荐