-
Notifications
You must be signed in to change notification settings - Fork 1
/
ClkDiv_50MHz.v
49 lines (43 loc) · 1.34 KB
/
ClkDiv_50MHz.v
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
// ===================================================================================
// Define Module, Inputs and Outputs
// * 50MHz Clock *
// ===================================================================================
module ClkDiv_50MHz(
CLK,
RST,
CLKOUT
);
// ====================================================================================
// Port Declarations
// ====================================================================================
input CLK; // 100MHz onboard clock
input RST; // Reset
output CLKOUT; // New clock output
// ====================================================================================
// Parameters, Register, and Wires
// ====================================================================================
reg CLKOUT;
reg flag;
// ===================================================================================
// Implementation
// ===================================================================================
always @(posedge CLK or posedge RST)
// Reset clock
if (RST == 1'b1)
begin
CLKOUT <= 0;
flag <= 0;
end
else
begin
if (flag == 1)
begin
CLKOUT <= ~CLKOUT;
flag <= 0;
end
else
begin
flag <= 1;
end
end
endmodule