CRC码生成与校验电路的设计_第1页
CRC码生成与校验电路的设计_第2页
CRC码生成与校验电路的设计_第3页
CRC码生成与校验电路的设计_第4页
CRC码生成与校验电路的设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录

第1章总体设计方案...............................................1

1.1设计原理..........................................................1

1.2设计思绪..........................................................3

1.3设计环境.........................................................4

第2章具体设计方案.......................7

2.1顶层方案图的设计与实现...........................................7

2.1.1创建顶层图形设计文献..........................................7

2.1.2器件的选择与引脚锁定..........................................8

2.1.3编译、综合、适配.............................................10

2.2功能模块的设计与实现............................................10

2.2.1模2除法器的设计与实现.......................................10

2.2.2移位寄存器的设计与实现.......................................12

2.3仿真调试.........................................................14

第3章编程下载与硬件测试.........................................17

3.1编程下载.........................................................17

3.2硬件测试及结果分析..............................................17

参考文献............”・・・・18

附录(电路原理图)............................20

第1章总体设计方案

1.1设计原理

循环冗余校验码(cyclicredundancycheck,CRC)简称为循环码或CRC码。二

进制信息沿一条信号线逐位在设备之间传送称为串行传送,CRC码常用于串行传

送过程中的检错与纠错、

CRC码的编码格式如图1.1所示,是在k位有效数据之后添加r位

校验码,形成总长度为n的CRC码,简写作C(n,k)码。CRC编码的关键技术在于

如何从k位信息简便的得到r位校验码,并根据总长度为n的CRC码进行纠错。

小目HTm

•息码।CRC校验码1

图1.1

设被校险的数据是一个k位的二进制代码,将它表达为一个(k-1)阶的多项

M(x)=।+口-2*42+…+...+OR+D。(]/)

多项式(1-1)中的系数D的取值为。或1,与被校验的数据M——相应;式中

的x是一个伪变量,用指明各位的位置。

设校验码P长度为r,将被校验数据D左移r位后的结果为

“立

Z)A_1Z)A_2..D1DOOO...OO

将D左移r位的目的是给D右边添加r个0,形成(k+r)位长度二进制代码,

其多项式形式为M(x)X。如图1.1所示,CRC码由k位数据D和r位校验码P

组成,求校验码P的多项式R(X)的方法如下:

(1-2)

G(x)G(x)

Q(x)是商,R(x)是余数,R(x)所相应的二进制代码是校验码P。可以证明存

在一个最高次哥为n-k=r的多项式G(x),即式(L2)中G(x),称为生成多项式。

由式(1-2)可以推导出

M(x)x/+R(x)

-----------------=M(x)(1-3)

G(x)

由式(1-3)可知,CRC码可被G(x)整除,余数必然为0.。根据这一特性,接受

方将收到的CRC码被G(x)除,若余数为0,则表白传送过程中没有错误发生,若

出现一位错,根据余数与犯错位一一相应的关系,可运用余数对错误码进行定位。

因此,接受方可根据表1.1发现并纠正1位错。

犯错

Q6Q5Q4Q3Q2Q1Q0余数

对的1100010000无

1100011001Q0

1100000010Q1

1100110100Q2

错误1101010011Q3

111001011004

1000010111Q5

0100010101Q6

表L1循环校验码的犯错模式

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)硬件环境:

伟福COP2023型计算机组成原理实验仪、XCV200实验板、微机。

•COP2023集成调试软件

COP2023集成开发环境是为COP2023实验仪与PC机相连进行高层次实

验的配套软件,它通过实验仪的串行接口和PC机的串行接口相连,提供汇编、

反汇编、编辑、修改指令、文献传送、调试FPGA实验等功能,该软件在Windows

下运营。COP2023集成开发环境界面如图L2所示。

图L2COP2023计算机组成原理集成调试软件

(2)EDA环境:

•Xilinxfoundationf3.1设计软件

Xilinxfoundation(3.1是Xilinx公司的可编程期间开发工具,该平台(如图L3所

示)功能强大,重要用于百万逻辑门设计。该系统由设计入口工具、设计实现工

具、设计验证工具三大部分组成。

-V200PQ240-4-Projectlanacer日日a

£r0jtct"plsetZiod工xl3

图1.3Xilinxfoundationf3.l设计平台

第2章具体设计方案

2.1顶层方案图的设计与实现

顶层方案图实现CRC码的生成与校验的逻辑功能,采用原理图设计输入方式完

毕,电路实现基于XCV200可编程逻辑芯片。在完毕原理图的功能设计后,把输

入检出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定。

2.1.1创建顶层图形设计文献

顶层图形文献的设计实体重要由CRC码生成电路与CRC码校验电路组成。生成

电路重要由移位寄存器元件-U2.模2除法器元件-U3构成。如图2.1所示。

LCC=P152

LCC=P178

LOC=P213

LCC=P184

LCC=P185

LCC=P203

LCC=P111

LCC=P110

LOC-F87

LOC=PfO(・2

LOC=PfO

LOC=PIO:

LOC=P10:■2

图2.1CRC码生成电路图

校验电路重要由移位寄存器元件-U5.模2除法器-U4,3-8译码器,异或门集成模块

-U6构成。如图2.2所示。

LOC=P93

LOC=P99

IOC=P107

LOC=P108

LOC=P109

IOC=P124

LOC=P125

图2.2CRC码校验电路图

2.1.2器件的选择与引脚锁定

(1)器件的选择

由于硬件设计环境是基于伟福COP2023型计算机组成原理实验仪和XCV200

实验板,故采用的目的芯片为XlinxXCV200软件中可用芯片。

(2)引脚锁定

把顶层图形文献中的输入/输出信号安排到XlinxXCV200芯片指定的引脚上去,

实现芯片的引脚锁定,各信号及XlinxXCV200芯片引脚相应关系如表2.1所示。

图形文献中的输入儡出信号XCV200芯片引脚

D87

A73

CLK213

Vcc47

G3100

G2101

G1102

GO103

Q6152

Q5178

Q4184

Q3185

Q2203

Qi111

QO110

L693

L599

L4107

L3108

L2109

LI124

LO125

表2」信号和芯片引脚相应关系

2.1.3编译、综合、适配

运用Xilinxfoundationf3.1的原理图编辑器对顶层图形文献进行编译,并最终生

成网络表文献,运用设计实现工具经综合、优化、适配,生成可供时序仿真的文

献和器件下载编程文献。

2.2功能模块的设计与实现

CRC码的生成与校验电路是基于移位寄存器和模2除法器及异或门实现的。

2.2.1模2除法器的设计与实现

模2加定义:即按位加,可用异或逻辑实现。模2加同模2减结果相同,即0

±1二1,1±0=1,0±0=0,1±l=0o

模2除定义:按照模2减求得部分余数。每求一位商应将部分余数减少一位,上

商原则是:当部分余数的位数多于除数时,商1,否则,商0。

该模块由D触发器、与门和异或门构成。对(7,4)校验码,可采用图2.3所示电路,产

生3位的余数Q2、QI、QOo图中的模2减用异或门实现,左移一位由移位寄存

器实现;用异或门的输出控制左边一位寄存器的D输入端,可同时实现模2减和

左移。用最左一位D触发器的取值控制是否做模2减,当其为1时,减去的数就

是生成多项式G(x),为0时减去的就是0000。这里,被除数D是逐位串行送到移

位寄存器的,且由CP脉冲同步。其设计过程如下:

(1)创建控制器设计原理图。

模2除法器原理图如图2.3所示。

图2.3模2除法器的原理框图

(2)创建元件图形符号

为能在图形编辑器(原理图设计输入方式)中调用

MOD2芯片,需要为M0D2模块创建一个元件图形符号,可运用Xilinxfoundation

f3.1编译涔中的如下环节实现:Tools=>Symbol\\^皿(1二>下一步。CP、D是输入信

号,Q2.Q1.Q0是输出信号。其元件图形符号如图2.4所示:

图2.4模2除法器元件图形符号

(3)功能仿真

对创建的控制器模块进行功能仿真,验证其功能的对的性,可用Xilinx

Foundationf3.1编译器Simulator模块实现。D端串行输入数据1100000,得到

余数Q2、QI、Q0为010。仿真结果如图2。所示:

图2.5模2除法器仿真结果

2.2.2移位寄存器的设计与实现

该模块由8个D触发器相连接构成,数据通过D端串行输入到D触发器中。

每过一个时钟脉冲,输入的数据左移一位,通过7个脉冲后,由7个D触发器的Q

端并行输出所输入的数据。

(1)创建控制器设计原理图。

移位寄存器的原理框图如图2.6所示。

图2.6移位寄存器的原理框图

(2)创建元件图形符号

为能在图形编辑器(原理图设计输入方式)中调用MOV

芯片,需要为MOV模块创建一个元件图形符号,可运用Xilinxfoundationf3.1

编译器中的如下环节实现:Tools二)SymbolWizard二〉下一步。CP、D是输入信号,

Q6.Q5.Q4.Q3.Q2.QI.Q0是输出信号。其元件图形符号如图2.7所示:

U2

—CPQ6—

——DQ5——

Q4——

Q3—

Q2——

Q1——

Q0——

图2.7移位寄存器器元件图形符号

(3)功能仿真

对创建的控制器模块进行功能仿真,验证其功能的对的性,可用Xilinx

Foundationf3.1编译器Simulator模块实现。D串行输入数据1100000,得到结

>11()000()o仿真结果如图2.8所示:

图2.8移位寄存器仿真结果

2.3仿真调试

仿真调试重要验证设计电路逻辑功能、时序的对的性,本设计中重要采用功

能仿真方法对设计的电路进行仿真。

(1)建立仿真波形文献及仿真信号选择

功能仿真时,一方面建立仿真波形文献,添加仿真信号.对选定的输入信号设立

参数,选定的仿真信号和设立的参数如表2.2所示。仿真时D输入信息码

11()()(X)(),A输入循环校验码1100(X)0,GO,G1,G2,G3输入生成多项式1()11,VCC恒为

lo

(2)功能仿真结果与分析

功能仿真波形结果如图2.9所示,仿真数据结果如表2.2所示。对表2.2与表1.1的内容

进行对比,可以看出功能仿真结果是对的的,进而说明电路设计的对的性。

图2.9功能仿真波形结果

DACLOCKQ6Q5Q4Q3Q2QiQOL6L5L4L3L2LILO

11100000010000000

11100000010001011

00100001100010110

00100011110101100

00100111011011000

00101100010110001

00111000101100010

表2.2仿真数据结果

输入信息码为:1100000,生成多项式为:1011,应用模2除法器可以求出

三位余数为010然后把余数和信息码拼接可以得到CRC编码为:1100010

输入需要校验的CRC码为:11000()(),生成多项式位:1()11,可以求得三位余

数位010由于余数不为000,可以判断出接受到的循环校验码是错的,并且错误位

在Q1。通过校验电路修改可输出对的的CRC码1100010。由图2.9的仿真图和表

2.2的仿真数据结果可以看出,生成的CRC码为1100010,校验之后CRC码为

HOOOlOo

第3章编程下载与硬件测试

3.1编程下载

运用COP2023仿真软件的编程下载功能,将得到.bit文献下载到XCV200实验板

的XCV200可编程逻辑芯片中。

3.2硬件测试及结果分析

运用XCV200实验板进行硬件功能测试。CRC码生成和校验的输入数据通过

XCV200实验板的输入开关实现,输出数据通过XCV200实验板的LED指示灯实

XCV200芯片引XCV200实验板XCV200芯片引XCV200实验板XCV200芯片引XCV200实验板

脚信号脚信号脚信号

现,其相应关系如表3.1所示。

DKl:0Q6A6L6B6

AK2:0Q5A5L5B5

CLKCLOCKQ4A4L4B4

G3K0:3Q3A3L3B3

G2K0:2Q2A2L2B2

G1K0:lQIAlLIBl

GOK0:0QOAOL0BO

VCCK3:0

表3.1XCV200实验板信号相应关系

参考

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论