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

Subversion Repositories configurable_crc_core

[/] [configurable_crc_core/] [trunk/] [rtl/] [cfg_crc.v] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 yanzixuan
module  cfg_crc #(
2
        parameter  datw = 6,
3
        parameter  [datw - 1: 0] coff = 6'b10_0101
4
    )
5
    (
6
        input   clk, rst,
7
        input   rst_syn,
8
        input   crc_en,
9
        input   dat_i,
10
        output  reg  [datw - 2: 0] dat_o
11
    );
12
 
13
    wire    lsb = dat_i ^ dat_o[datw - 2];
14
    integer i;
15
 
16
    always@(posedge clk or posedge rst)  begin
17
        if (rst)
18
            dat_o    <= 0;
19
        else if (rst_syn)
20
            dat_o    <= 0;
21
        else if (crc_en)  begin
22
            dat_o[0] <= lsb;
23
            //dat_o[datw - 2: 1]        <= dat_o[datw - 3: 0] ^ coff[datw -2: 1];
24
                        for (i = 0; i <= (datw - 3) ; i = i + 1) begin
25
                                if (coff[i + 1])
26
                                        dat_o[i + 1] <= dat_o[i] ^ lsb;
27
                                else
28
                                        dat_o[i + 1] <= dat_o[i];
29
                        end
30
        end
31
    end
32
 
33
endmodule

powered by: WebSVN 2.1.0

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