简单串行CRC的verilog实现 您所在的位置:网站首页 crc编码电路设计 简单串行CRC的verilog实现

简单串行CRC的verilog实现

2023-09-15 07:12| 来源: 网络整理| 查看: 265

简单串行CRC的verilog实现

CRC(Cyclic Redundancy Check,循环冗余校验)是数据传输中常用的一种差错控制编码方式,针对要发送的数据帧,使用一些特定的多项式可以计算出CRC校验结果,CRC校验结果和原始数据一起传输到接收端。

本例基于LSFR建立一个多项表达式为x8+x2+x+1的CRC算法,步骤如下: a.计算CRC之前,CRC寄存器初始化为一个已知的值(初始值),接收端的CRC校验电路的初始值要使用和发送端相同的初始值。 b.当最后一个数据比特到达时,CRC内部存储的就是最后的校验结果 c.在最后一个数据比特发出后,储存在寄存器中的CRC校验结果逐比特输出,直至最后一个比特。校验结果紧跟在用户数据后面输出。

LSFR的多项表达式含义详解见https://blog.csdn.net/qq_44113393/article/details/89852994

CRC算法图如下: 在这里插入图片描述

其CRC寄存器代码如下,CRC的初始值设为8’hFF

module CRC8_CCITT (clk,reset, din, init_crc, calc_crc, crc_out); input clk,reset; input din; input [7:0]init_crc; input calc_crc; output [7:0] crc_out; parameter CRC_INIT_VALUE = 8'hFF; reg [7:0]crcreg,crcreg_nxt; wire [7:0] newcrc; wire [


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有