CRC码生成与校验电路的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
第1章总体设计方案 (1)
1.1设计原理 (1)
1.2设计思路 (2)
1.3设计环境 (3)
第2章详细设计方案 (5)
2.1顶层方案图的设计与实现 (5)
2.1.1创建顶层图形设计文件 (6)
2.1.2器件的选择与引脚锁定 (6)
2.1.3编译、综合、适配 (8)
2.2功能模块的设计与实现 (8)
2.2.1模2除法器的设计与实现 (8)
2.2.2移位寄存器的设计与实现 (10)
2.3仿真调试 (11)
第3章编程下载与硬件测试 (14)
3.1编程下载 (14)
3.2硬件测试及结果分析 (14)
参考文献 (15)
附录(电路原理图) (16)
第1章 总体设计方案
1.1 设计原理
循环冗余校验码(cyclic redundancy check,CRC)简称为循环码或CRC 码。二进制信息沿一条信号线逐位在设备之间传送称为串行传送,CRC 码常用于串行传送过程中的检错与纠错。
CRC 码的编码格式如图1.1所示,是在k 位有效数据之后添加r 位校验码,形成总长度为n 的CRC 码,简写作C(n,k)码。CRC 编码的关键技术在于如何从k 位信息简便的得到r 位校验码,并根据总长度为n 的CRC 码进行纠错。
图1.1
设被校验的数据0121...D D
D D D k k --=是一个k 位的二进制代码,将它
表示为一个(k-1)阶的多项式
0112211......)(D x D x D x D x M k k k k +++++=---- (1-1)
多项式(1-1)中的系数D 的取值为0或1,与被校验的数据M 一一对应;式中的x 是一个伪变量,用i
x 指明各位的位置。
设校验码P 长度为r ,将被校验数据D 左移r 位后的结果为
位
r k k D D D D 00...00...0121--
将D 左移r 位的目的是给D 右边添加r 个0,形成(k+r)位长度二进制代码,
其多项式形式为M(x )×r x 。如图1.1所示,CRC 码由k 位数据D 和r 位校验码
P 组成,求校验码P 的多项式R(X)的方法如下:
)
()
()()()(x G x R x Q x G x x M r +
=⨯ (1-2)
Q(x)是商,R(x)是余数,R(x)所对应的二进制代码是校验码P 。可以证明存在一个最高次幂为n- k=r 的多项式G(x) ,即式(1-2)中G(x),称为生成多项式。
由式(1-2)可以推导出
)()
()
()(x M x G x R x x M r =+⨯ (1-3)
由式(1-3)可知,CRC 码可被G(x)整除,余数必然为0.。根据这一特性,接收方将收到的CRC 码被G(x)除,若余数为0,则表明传送过程中没有错误发生,若出现一位错,根据余数与出错位一一对应的关系,可利用余数对错误码进行定位。因此,接收方可根据表1.1发现并纠正1位错。
表1.1 循环校验码的出错模式
1.2 设计思路
根据题目要求,信息位k=4,r=n -k=3可知本次实验主要是完成(7,4)码的生成和校验。CRC 码生成电路的核心主要由移位寄存器和模2除法器构成,信息位以串行的方式输入。依据CRC 码生成与校验原理可知,生成电路中由输入端串行输入的数据D 左移3位后,与生成多项式G(x)做模2除法,并将得到的3位余数与4
位信息码拼接成7位CRC码。校验电路原理同生成电路,主要由移位寄存器、模2除法器和3.8译码器构成。将待检测的CRC码串行输入到模2除法器和移位寄存器中去,求得3位余数,利用3.8译码器译码将三位余数译码,通过比较可以找出出错位,并将译码结果与移位寄存器的输出结果进行异或,便得到纠正后的正确结果。
CRC码生成与校验电路主要包括两个部分:
1.生成电路。由移位寄存器接收数据并进行移位,生成多项式由开关直接送
入,输入数据与生成多项式通过模2除法器最终生成CRC码。
2.校验电路。原理类似生成电路,校验电路中增加了3-8译码器。3-8译码器
与异或门共同完成对信息码的的校验与纠正,最后输出校验后的信息码。
本设计方案采用的元件有模2除法器模块,移位寄存器模块,3-8译码器,与门,异或门。
移位寄存器由7个D触发器构成。
模2除法器由若干两输入与门,若干两输入异或门和D触发器构成。
1.3 设计环境
(1)硬件环境:
伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机。
•COP2000集成调试软件
COP2000集成开发环境是为COP2000实验仪与PC机相连进行高层次实验的配套软件,它通过实验仪的串行接口和PC机的串行接口相连,提供汇编、反汇编、编辑、修改指令、文件传送、调试FPGA实验等功能,该软件在Windows 下运行。COP2000集成开发环境界面如图1.2所示。
图 1.2 COP2000计算机组成原理集成调试软件
(2)EDA环境:
•Xilinx foundation f3.1设计软件
Xilinx foundation f3.1是Xilinx公司的可编程期间开发工具,该平台(如图1.3所示)功能强大,主要用于百万逻辑门设计。该系统由设计入口工具、设计实现工具、设计验证工具三大部分组成。
图 1.3 Xilinx foundation f3.1设计平台
第2章详细设计方案
2.1 顶层方案图的设计与实现
顶层方案图实现CRC码的生成与校验的逻辑功能,采用原理图设计输入方式完成,电路实现基于XCV200可编程逻辑芯片。在完成原理图的功能设计后,把输入/输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定。