summaryrefslogtreecommitdiff
path: root/collatz_tb.v
blob: 7419d3f869f542b525c2d4c7dd007db9d7b4ffe2 (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
`timescale 1 ns / 10 ps

module collatz_tb ();
  reg clk = 0;
  reg rst = 0;

  wire finish;

  localparam integer DURATION = 10_000;

  always begin
    #41.667;

    clk = ~ clk;
  end

  reg [15:0] n = 9;
  reg start_int;

  wire [15:0] count_out;

  collatz ctz (
    .clk(clk),
    .rst(rst),
    .in_start(n),
    .start_int(start_int),
    .o_count(count_out),
    .finish_int(finish)
  );

  initial begin
    #10 rst = 1'b1;
    #1 rst = 1'b0;
  end

  initial begin
    $dumpfile("collatz_tb.vcd");
    $dumpvars(0, collatz_tb);

    #50 start_int = 1;
    #10 start_int = 0;

    #(DURATION);
    $display("Finished!");
    $finish;
  end

endmodule