Verilog和LogiSim中的Tic Tac Toe游戏
预览截图
应用介绍
此项目是Verilog和LogiSim中的Tic Tac Toe游戏。
井字游戏是一款非常受欢迎的纸笔游戏,采用3x3网格,可供两名玩家使用。 在对角线,垂直或水平行中留下前三个标记的玩家将赢得比赛。现在可以实现了Verilog和Logisim的Tic Tac Toe游戏。
将下面的3x3网格表视为所播放位置的顺序:
当在以下行对中成功放置三个相似的(01-Xs)或(10-Os)值时,玩家/计算机将赢得比赛。 (4,5,6);(7,8,9); (1、4、7); (2,5,8);(3,6,9); (1,5,9);(3,5,7)。
我们来看一下Tic Tac Toe游戏的Verilog代码。 为了控制井字游戏,FSM控制器的设计如下。
1. IDLE(00):在等待播放器/计算机播放或重置电路时,FSM处于IDLE状态。
2. PLAYER(01):播放器转向播放,并将“ 01”存储到解码位置。
3. COMPUTER(10):计算机开始播放,“ 01”存储到解码位置。
4. Game_over(11):当有赢家或没有更多游戏空间时,游戏结束。
井字游戏的控制器输入:
a. 重启 :
重置= 1:处于Game_Over状态时重置游戏。
重置= 0:游戏开始。
b. 玩:
播放= 1:处于IDLE状态时,播放= 1是将控制器切换到PLAYER状态,然后播放器播放。
播放= 0:保持在空闲状态。
C. 个人电脑
PC = 1:处于COMPUTER状态时,PC = 1将切换到IDLE状态,然后计算机开始播放。
PC = 0:保持在计算机状态。
d. 非法移动
Illegal_move = 0:处于播放器状态时,Illegal_move = 0将切换到COMPUTER状态,并在PC = 1时让计算机播放。
Illegal_move = 1:从播放器/计算机非法移动并切换到IDLE状态。
e. 没有空间
No_space = 0:仍有空间玩,继续游戏。
No_space = 1:不再有游戏空间,游戏结束,需要在重新玩游戏之前重置游戏。
F. 赢得
获胜= 0:仍在等待获胜者
赢= 1:有一个赢家,完成游戏,需要重置游戏才能再次玩。
附件中包括:井字游戏的Verilog代码、Tic Tac Toe游戏的Verilog测试台代码。
本人在下方展示了Tic Tac Toe游戏的Verilog测试台代码;在预览区展示了Tic Tac Toe游戏的仿真波形;想了解更多请下载附件。
`timescale 1ns / 1ps
// fpga4student.com: FPGA projects, Verilog projects, VHDL projects
// Verilog testbench code for TIC TAC TOE GAME
module tb_tic_tac_toe;
// Inputs
reg clock;
reg reset;
reg play;
reg pc;
reg [3:0] computer_position;
reg [3:0] player_position;
// Outputs
wire [1:0] pos_led1;
wire [1:0] pos_led2;
wire [1:0] pos_led3;
wire [1:0] pos_led4;
wire [1:0] pos_led5;
wire [1:0] pos_led6;
wire [1:0] pos_led7;
wire [1:0] pos_led8;
wire [1:0] pos_led9;
wire [1:0] who;
// Instantiate the Unit Under Test (UUT)
tic_tac_toe_game uut (
.clock(clock),
.reset(reset),
.play(play),
.pc(pc),
.computer_position(computer_position),
.player_position(player_position),
.pos1(pos_led1),
.pos2(pos_led2),
.pos3(pos_led3),
.pos4(pos_led4),
.pos5(pos_led5),
.pos6(pos_led6),
.pos7(pos_led7),
.pos8(pos_led8),
.pos9(pos_led9),
.who(who)
);
// clock
initial begin
clock = 0;
forever #5 clock = ~clock;
end
initial begin
// Initialize Inputs
play = 0;
reset = 1;
computer_position = 0;
player_position = 0;
pc = 0;
#100;
reset = 0;
#100;
play = 1;
pc = 0;
computer_position = 4;
player_position = 0;
#50;
pc = 1;
play = 0;
#100;
reset = 0;
play = 1;
pc = 0;
computer_position = 8;
player_position = 1;
#50;
pc = 1;
play = 0;
#100;
reset = 0;
play = 1;
pc = 0;
computer_position = 6;
player_position = 2;
#50;
pc = 1;
play = 0;
#50
pc = 0;
play = 0;
end
endmodule
©版权声明:本文内容由互联网用户自发贡献,版权归原创作者所有,本站不拥有所有权,也不承担相关法律责任。如果您发现本站中有涉嫌抄袭的内容,欢迎发送邮件至: www_apollocode_net@163.com 进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
转载请注明出处: apollocode » Verilog和LogiSim中的Tic Tac Toe游戏
文件列表(部分)
名称 | 大小 | 修改日期 |
---|---|---|
Verilog和LogiSim中的Tic Tac Toe游戏 (附件).txt | 3.19 KB | 2020-04-05 |
game1.png | 39.72 KB | 2020-04-05 |
table1.png | 5.53 KB | 2020-04-05 |
tic2.png | 104.75 KB | 2020-04-05 |
tictactoe.png | 38.57 KB | 2020-04-05 |
tictactoe1.png | 84.21 KB | 2020-04-05 |
image | 0.00 KB | 2020-04-05 |
发表评论 取消回复