循环冗余校验模块的设计.pptVIP

  • 7
  • 0
  • 约1.45千字
  • 约 45页
  • 2020-10-31 发布于福建
  • 举报
《计算机EDA设计》实验教程 实验七循环冗余校验(CRC) 模块设计 北航计算机学院艾明晶 2013-7-25 内容概要 令实验目的 令实验要求 令实验原理 令实验内容 令实验报告 2013-7-25 实验目的 了解数字传输中常用的校验、纠错模块 循环冗余校验CRC模块的基本原理 ■学习使用FPGA器件完成数据传输中的差 错控制 2013-7-25 实验要求 采用 Verilog hdi语言,设计一个循环冗余 校验CRC模块,使之完成12位信息加上5位 CRC校验码的发送和接收 ■关键的子模块有两个:CRC码生成子模块, 接收CRC码并解码的CRC码接收子模块 2013-7-25 实验要求 假设有用的数据信息为12位,CRC的生成多项 式为x5+x4+x2+1,即校验码为5位 CRC码生成子模块生成循环冗余校验码并和有 效数据一起发送;CRC码接收子模块在检测到 生成子模块生成了数据后,就开始接收数据 并对接收到的数据进行译码,得到有效的数据, 或给出错误的标示。 2013-7-25 实现编程下载 分别按键3~1,输入12位有效数据的高4位、中间4位和低4 位,每按一次键,对应4位数据加1;同时在数码管3~1上以 十六进制显示相应的数字 按键4,将数码管1-3所显示的数据输入到CRC码生成子模 块 〉按键8,将CRC数据传送给CRC码接收子模埉crcD,进行译 码。分别用数码管8-4显示CRC码(按从高位到低位的顺 序)。并分别用发光二极管D1和D2显示译码完成和接收数 据是否有错误; 按键7,手动改变CRC码;然后按键8,将CRC数据传送给 CRC码接收子模块crcD,进行译码。观察D2的变化 2013-7-25 实验原理 ■CRC即 Cyclic Redundancy Check循环冗余校验, 是一种在数字通信中的信道编码技术。经过CRC 方式编码的串行发送序列串,称为CRC码,共由 两部分组成: k位有效信息数据 r位CRC校验码 其中r位CRC校验码是通过k位有效信息序 列被一个事先选择的r+1位“生成多项式” 相“除”后得到的r位余数。 2013-7-25 ■利用CRC进行检错的过程 在发送端:根据要发送的k位二进制码序列,以 定的规则产生一个校验用的r位监督码(CRC 校验码),附在原始信息后边,构成一个新的 二进制码序列数共k+r位,然后发送出去 在接收端,根据信息码和CRC码之间所遵循的规 则进行检验,以确定传送中是否出错。这个规 则,在差错控制理论中称为“生成多项式” 2013-7-25 实验内容 有两个设计方案 (一)方案1 模仿手工计算CRC时使用的计算过程来设计程序 主要的子模块有两个,一个子模块用于生成CRC 码,另一个子模块则接收生成的CRC码,并对其 进行译码。 CRC码生成子模块crcG CRC码接收子模块crcD 2013-7-25 (1)cRC码生成子模块crcG crcG sdata [DATA. D datacrco [RESULT. D] 功能:将输入的数据生成对应的CRC校验码。 输入为12位的有效数据,生成多项式为 x5+x4x2+1,因此校验码为5位,生成CRC码 后的位数为17位。 2013-7-25

文档评论(0)

1亿VIP精品文档

相关文档