-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathButtonModule.sv
More file actions
executable file
·74 lines (62 loc) · 2.6 KB
/
ButtonModule.sv
File metadata and controls
executable file
·74 lines (62 loc) · 2.6 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
`timescale 1ns / 1ps
module ButtonModule( input wire btnU,
input wire btnD,
input wire btnL,
input wire btnR,
input wire gamePadU,
input wire gamePadD,
input wire gamePadL,
input wire gamePadR,
output wire up,
output wire down,
output wire left,
output wire right,
input logic clk );
wire btnLdown, btnRdown, btnUdown, btnDdown;
wire gamePadLdown, gamePadRdown, gamePadDdown, gamePadUdown;
// Debouncers
Debouncer debBL(
.clk( clk),
.PB( btnL),
.PB_down( btnLdown)
);
Debouncer debBR(
.clk( clk),
.PB( btnR),
.PB_down( btnRdown)
);
Debouncer debBD(
.clk( clk),
.PB( btnD),
.PB_down( btnDdown)
);
Debouncer debBU(
.clk( clk),
.PB( btnU),
.PB_down( btnUdown)
);
Debouncer debGPL(
.clk( clk),
.PB( gamePadL),
.PB_down( gamePadLdown)
);
Debouncer debGPR(
.clk( clk),
.PB( gamePadR),
.PB_down( gamePadRdown)
);
Debouncer debGPD(
.clk( clk),
.PB( gamePadD),
.PB_down( gamePadDdown)
);
Debouncer debGPU(
.clk( clk),
.PB( gamePadU),
.PB_down( gamePadUdown)
);
assign up = btnUdown | gamePadUdown;
assign down = btnDdown | gamePadDdown;
assign left = btnLdown | gamePadLdown;
assign right = btnRdown | gamePadRdown;
endmodule