-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathTimer.v
More file actions
99 lines (83 loc) · 3.37 KB
/
Timer.v
File metadata and controls
99 lines (83 loc) · 3.37 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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
module Timer (
input wire reset_n,
clk,
set_time,
alarm,
Toggle_switch,
hours_set,
mins_set,
output wire [13 : 0] hours_disp,
wire [13 : 0] mins_disp,
output wire AM_PM_disp,
output wire SPEAKER_OUT
);
wire set_alarm_hours;
wire set_alarm_mins;
wire [3:0] hours_alarm_out;
wire [5:0] mins_alarm_out;
wire AM_PM_alarm;
wire set_time_hours;
wire set_time_mins;
wire secs;
wire [3:0] hours_time_out;
wire [5:0] mins_time_out;
wire AM_PM_time;
wire RINGER1;
wire [3:0] hours_chose;
wire [5:0] mins_chose;
ALARM_STATE_MACHINE uo( .reset_n(reset_n),
.clk(clk), .alarm(alarm),
.hours_set(hours_set),
.mins_set(mins_set),
.hours(set_alarm_hours),
.mins(set_alarm_mins));
ALARM_COUNTER u1( .reset_n(reset_n),
.clk(clk),
.HOURS(set_alarm_hours),
.MINS(set_alarm_mins),
.HOURS_OUT(hours_alarm_out),
.MINUTES_OUT(mins_alarm_out),
.AM_PM_OUT(AM_PM_alarm));
TIME_STATE_MACHINE u2( .reset_n(reset_n),
.clk(clk),
.set_time(set_time),
.hours_set(hours_set),
.mins_set(mins_set),
.hours(set_time_hours),
.mins(set_time_mins),
.secs(secs));
TIME_COUNTER u3( .reset_n(reset_n),
.clk(clk),
.HOURS(set_time_hours),
.MINS(set_time_mins),
.SECS(secs),
.HOURS_OUT(hours_time_out),
.MINUTES_OUT(mins_time_out),
.AM_PM_OUT(AM_PM_time));
COMPARATOR u4( .alarm_hours(hours_alarm_out),
.alarm_mins(mins_alarm_out),
.alarm_AM_PM(AM_PM_alarm),
.time_hours(hours_time_out),
.time_mins(mins_time_out),
.time_AM_PM(AM_PM_time),
.RINGER1(RINGER1));
MUX u5( .alarm(alarm),
.HOURS_OUT_alarm(hours_alarm_out),
.HOURS_OUT_time(hours_time_out),
.MINUTES_OUT_alarm(mins_alarm_out),
.MINUTES_OUT_time(mins_time_out),
.AM_PM_OUT_alarm(AM_PM_alarm),
.AM_PM_OUT_time(AM_PM_time),
.HOURS_OUT(hours_chose),
.MINUTES_OUT(mins_chose),
.AM_PM_OUT(AM_PM_disp));
ALARM_SM_2 u6( .reset_n(reset_n),
.clk(clk),
.Toggle_switch(Toggle_switch),
.MATCH(RINGER1),
.SPEAKER_OUT(SPEAKER_OUT));
CONVERTOR_CKT u7( .hours_cur(hours_chose),
.mins_cur(mins_chose),
.hours_disp(hours_disp),
.mins_disp(mins_disp));
endmodule