• CRC校验


      小试一下CRC校验的verilog实现,采用最stupid的直接法。

    /*
    date : 2014/06/06
    designer : pengxiaoen 
    virsion :  Altera-Modelsim 6.6d  
    function  Straightforward CRC Implementation
    
    */
    
    module CRC_stra (
                    clock ,
                    reset ,
                    and_crc_code 
                    );
        input clock,reset ;
        output [13:0] and_crc_code ; 
        
    parameter  un_crc_code  = 10'b11_0101_1011,  //10位 待测数据
                gener_code  = 5'b10011;   //生成项
                
    reg [3:0] cnt ;  //计算次数 = 待测数据的位数 - 1
    reg [4:0] crc_code ; //余数缓存器
    reg [9:0] code_reg ;   //待测数据缓存
    always @ (posedge clock )
        if(!reset)
            begin
                    cnt      <= 3'd0 ; 
                    crc_code <= 5'd0 ; 
                    code_reg <= un_crc_code ; 
            end 
        else 
            begin 
                    if(cnt==0) 
                        begin 
                            cnt      <= cnt + 4'd1;
                            code_reg <= code_reg<<1 ;  //
                            crc_code    <= {gener_code[3:0] ^ code_reg[8:5] ,code_reg[4]}; 
                        end 
                    else if((cnt<=4'd8) &&(cnt)) 
                        begin 
                                cnt      <= cnt + 4'd1;
                                code_reg <= code_reg<<1 ; 
                                if(crc_code[4]) 
                                    crc_code    <= {gener_code[3:0] ^ crc_code[3:0] ,code_reg[4]};
                                else 
                                    crc_code <= {crc_code[3:0], code_reg[4]};
                        end 
                    else 
                        begin 
                                cnt = 4'd9;
                        end 
                            
            end 
    assign and_crc_code = (cnt == 4'd9) ? {un_crc_code,crc_code[3:0]} : 14'dz;
            
    endmodule 
  • 相关阅读:
    使用JSON.NET实现对象属性的格式化的自定义
    AspNetCore项目-Service注入或覆盖
    发布Nuget
    收藏
    工具
    快捷键大全
    SqlServer分页查询语句
    面试相关
    Eratosthes algrithm 求素数
    code training
  • 原文地址:https://www.cnblogs.com/sepeng/p/3776522.html
Copyright © 2020-2023  润新知