-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathstart_game.sv
More file actions
74 lines (59 loc) · 2.08 KB
/
start_game.sv
File metadata and controls
74 lines (59 loc) · 2.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
module start_game (start_lights_arranged, vector_at_begin, level, user_choice, buttons, state, clk);
output reg start_lights_arranged;
output reg [1:0] vector_at_begin [8:0];
output reg [1:0] level;
output user_choice;
input [8:0] buttons;
input [2:0] state;
input clk;
reg [1:0] tmp_level = 2'b00; // 0 means game has not started yet
parameter s_start_game = 3'b000;// s_refreshing = 3'b100;
//assign level = tmp_level;
assign user_choice = 1;
always @(posedge clk)
begin
if(state != s_start_game)
begin
start_lights_arranged = 0;
tmp_level = 0;
end
else
if(state == s_start_game & tmp_level == 2'b00)
begin
if(buttons == 0 & tmp_level == 0)
begin
vector_at_begin[6] = 2'b11; vector_at_begin[3] = 2'b00; vector_at_begin[0] = 2'b00;
vector_at_begin[7] = 2'b11; vector_at_begin[4] = 2'b11; vector_at_begin[1] = 2'b00;
vector_at_begin[8] = 2'b11; vector_at_begin[5] = 2'b11; vector_at_begin[2] = 2'b11;
level = 0;
end
//this should go then in the refresh module to light them up !!
else
begin
if(buttons[6] | buttons[3] | buttons[0] == 1)
begin
tmp_level = 1;
end
else
if(buttons[7] | buttons[4] | buttons[1] == 1)
begin
tmp_level = 2;
end
else
if(buttons[8] | buttons[5] | buttons[2] == 1)
begin
tmp_level = 3;
end
vector_at_begin[0] = 2'b00; vector_at_begin[1] = 2'b00; vector_at_begin[2] = 2'b00;
vector_at_begin[3] = 2'b00; vector_at_begin[4] = 2'b00; vector_at_begin[5] = 2'b00;
vector_at_begin[6] = 2'b00; vector_at_begin[7] = 2'b00; vector_at_begin[8] = 2'b00;
level = tmp_level;
//this part may seem stupid but it is NOT !!
/*if(vector_at_begin[0] == vector_at_begin[1] & vector_at_begin[1] == vector_at_begin[2] & vector_at_begin[2] == vector_at_begin[3] &
vector_at_begin[3] == vector_at_begin[4] & vector_at_begin[4] == vector_at_begin[5] & vector_at_begin[5] == vector_at_begin[6] &
vector_at_begin[6] == vector_at_begin[7] & vector_at_begin[7] == vector_at_begin[8] & vector_at_begin[8] == 2'b00)*/
start_lights_arranged = 1;
end
end
end
endmodule