-
Notifications
You must be signed in to change notification settings - Fork 5
/
color_display
37 lines (33 loc) · 1.26 KB
/
color_display
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
module color_display(
input [11:0] F1, F2, F3,
input cursor, score, gameover, congrats, gameover_en, congrats_en, v_disp, h_disp, on, clk, med, hard, xhard,
output [11:0] RGB
);
wire [11 : 0] med_wire;
wire [11 : 0] hard_wire;
wire [11 : 0] xhard_wire;
wire [11 : 0] F3_wire;
wire [11 : 0] F2_wire;
wire [11 : 0] F1_wire;
wire [11 : 0] score_wire;
wire [11 : 0] cursor_wire;
wire [11 : 0] congrats_wire;
wire [11 : 0] congrats_en_wire;
wire [11 : 0] gameover_wire;
wire [11 : 0] gameover_en_wire;
wire [11 : 0] disp_wire;
assign med_wire = med ? 12'h0f6 : 12'h0f0;
assign hard_wire = hard ? 12'h0fa : med_wire;
assign xhard_wire = xhard ? 12'h0ff : hard_wire;
assign F3_wire = F3 ? F3 : xhard_wire;
assign F2_wire = F2 ? F2 : F3_wire;
assign F1_wire = F1 ? F1 : F2_wire;
assign score_wire = score ? 12'd4095 : F1_wire;
assign cursor_wire = cursor ? 12'd4095 : score_wire;
assign congrats_wire = congrats ? 12'd4095 : 12'd15;
assign congrats_en_wire = congrats_en ? congrats_wire : cursor_wire;
assign gameover_wire = gameover ? 12'd4095 : 12'd3840;
assign gameover_en_wire = gameover_en ? gameover_wire : congrats_en_wire;
assign disp_wire = (v_disp & h_disp) ? gameover_en_wire : 12'd0;
assign RGB = on ? disp_wire : 12'd0;
endmodule //COLOR_DISPLAY