OpenCores
URL https://opencores.org/ocsvn/configurable_crc_core/configurable_crc_core/trunk

Subversion Repositories configurable_crc_core

[/] [configurable_crc_core/] [trunk/] [tb/] [crc_cmp_tb.v] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 yanzixuan
module  crc_cmp_tb();
2
 
3
    parameter  datw  = 8;
4
    reg   clk, rst, rst_syn;
5
    reg   crc_en;
6
    reg   [15: 0] random_dat;
7
    wire  dat_i = random_dat[15];
8
    wire  [datw - 2: 0] dat_o, dat_o_2;
9
 
10
    initial  begin
11
        clk  = 0;
12
        forever  #5 clk = ~clk;
13
    end
14
 
15
    initial  begin
16
        rst_syn  = 0;
17
        crc_en   = 0;
18
    end
19
 
20
    initial  begin
21
             rst  = 0;
22
        #200 rst  = 1;
23
        #20  rst  = 0;
24
    end
25
 
26
    initial    begin
27
        @(negedge rst)
28
        repeat(20)      begin
29
                        CRC_task;
30
                        if (dat_o == dat_o_2)
31
                                $display("\tData is correct!\n");
32
                end
33
    end
34
 
35
    task CRC_task;
36
 
37
    begin
38
        random_dat = 16'hff;//$random();
39
        rst_syn    = 1;
40
        #20
41
        rst_syn    = 0;
42
        repeat (16)    begin
43
            crc_en    = 1;
44
            @(posedge clk)
45
            random_dat    = random_dat << 1;
46
        end
47
        crc_en    = 0;
48
    end
49
    endtask
50
 
51
 
52
    cfg_crc
53
    #(
54
        .datw(datw),
55
        .coff(8'b1000_1001)
56
    ) CRC_F0
57
    (
58
        .clk(clk), .rst(rst),
59
        .rst_syn(rst_syn),
60
        .crc_en(crc_en),
61
        .dat_i(dat_i),
62
        .dat_o(dat_o)
63
    );
64
 
65
        crc_7   CRC_F1(
66
                .clk(clk), .rst(rst_syn),
67
                .crc_en(crc_en),
68
                .sda_i(dat_i),
69
                .crc_o(dat_o_2)
70
    );
71
endmodule

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.