blob: 7499454b6af1ddfd51c5cb6393b1bd562f578d06 (
plain) (
blame)
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
|
`timescale 1 ns / 10 ps
module clock_divider_tb ();
reg clk = 0;
reg rst = 0;
wire out;
wire out2;
// Simulation time: 10_000 * 1 ns = 10 μs.
localparam integer DURATION = 10_000;
// generate clock signal : 1 / ((2 * 41.67) * 1 ns) == 11,999,040.08 MHz
always begin
// Delay for 41.667
#41.667;
clk = ~clk;
end
clock_divider #(
.COUNT_WIDTH(4),
.MAX_COUNT (4)
) utt (
.clk(clk),
.rst(rst),
.div_clk(out)
);
clock_divider #(
.COUNT_WIDTH(4),
.MAX_COUNT (4)
) utt2 (
.clk(out),
.rst(rst),
.div_clk(out2)
);
initial begin
#10 rst = 1'b1;
#1 rst = 1'b0;
end
initial begin
$dumpfile("clock_divider_tb.vcd");
$dumpvars(0, clock_divider_tb);
#(DURATION);
$display("Finished!");
$finish;
end
endmodule
|