- 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)