当前位置:
文档之家› 基于Logisim的CRC编码电路实现
基于Logisim的CRC编码电路实现
2015
计算机组成原理 ·课程论文·
基于 Logisim 的 实验内容: 专 班 学 姓 电 邮 业: 级: 号: 名: 话: 件: 2015-6-10 CRC 编码电路实现
报告日期: 指导教师:
计算机科学与技术学院
目
录
1 实验目的.............................................................................................................................1 2 实验环境.............................................................................................................................1 3 实验内容.............................................................................................................................1 4 实验原理.............................................................................................................................1 4.1 CRC 码..................................................................................................................... 1 4.2 CRC 编码原理......................................................................................................... 2 4.3 生成多项式选择..................................................................................................... 3 5 方案设计.............................................................................................................................3 5.1 (7,4)CRC 编码................................................................................................ 3 5.1.1 (7,4)CRC 编码电路图......................................................................... 4 5.2 (21,6)CRC 编码.............................................................................................. 4 5.2.1 (21,6)CRC 编码电路........................................................................... 5 6 过程与调试.........................................................................................................................5 6.1 实验实现步骤......................................................................................................... 5 6.2 实验测试用例......................................................................................................... 6 6.3 结果与分析............................................................................................................. 7 6.3.1 测试结果...................................................................................................... 7 6.3.2 结果分析...................................................................................................... 7 6.4 故障与调试............................................................................................................. 7 6.4.1 故障 1........................................................................................................... 7 6.4.2 故障 2........................................................................................................... 8 7 总结与心得.........................................................................................................................8 7.1 实验总结................................................................................................................. 8 7.2 实验心得................................................................................................................. 8 8 参考文献.............................................................................................................................9
M ( x ) x R ( x ) M ( x) G ( x)
4.2 CRC 编码原理
2
华 中 科 技 大 学 课 程 实 验 报 告
CRC 编码是基于模 2 乘除法和减法来实现编码过程的。 模 2 加减运算就是按位 加减运算,即不带进位和借位的二进制加法和减法运算。模 2 加与模 2 减的结果相 同。运算规则如下: 0+0=0,0+1=1,1+0=1,1+1=0 模 2 乘运算按模 2 加求部分积之和,无进位。 模 2 除运算即按模 2 减求部分余数,不借位。其上商原则是: 1)部分余数首位为 1 时,商为 1,减除数。 2)部分余数首位为 0 时,商为 0,减 0。 3)当部分余数的位数小于除数的位数时,该余数为最后余数。
何创建逻辑电路,方便简单。 它是一款基于 Java 的应用程序,可运行在任何支持 JAVA 环境的平台,方便学生来学习设计和模仿数字逻辑电路。Logisim 中的主要组 成部分之一就在于设计并以图示来显示 CPU。当然 Logisim 中还有其他多种组合分 析模型来对你进行帮助,如转换电路,表达式,布尔型和真值表等等。同时还可以 重新利用小规模的电路来作为大型电路的一部分。
3
实验内容
学习使用 Logism 工具栏上的功能 学会使用子电路,并能将子电路放到 main 电路中使用 学习使用时钟,并能使用时钟单步或自动运行 学会使用分线器,理解线宽的概念 掌握循环冗余编码(CRC)的原理 完成(7,4)CRC 编码 完成(21,6)CRC 编码
4
Dk 1 x k 1 Dk 2 x k 2 ...D1 x1 D0 00...00
将 D 左移 r 位的目的是给 D 右边添 r 个 0,形成(k+r)位长度的二进制代码,其 CRC 码由 K 位数据 D 和 r 位校验码 P 组成, 多项式形式为 M ( x) x r 。 如图 4.1 所示, 求校验码 P 的多项式 R(x)的方法如下:
r位
M ( x ) x R( x) Q( x) G ( x) G ( x)
(1-2)
Q(x)是商,R(x)是余数,R(x)所对应的二进制代码是校验码 P。可以证明存在一 个最高次幂为 n-k=r 的多项式 G(x),即式(1-2)中 G(x)成为生成多项式。 由式(1-2)可以推出
图 4.1
设被校验的数据 D Dk 1 Dk 2 ...D1 D0 是一个 k 位的二进制代码, 将它表示为一个 (k-1)阶的多项式 M(x)= D Dk 1 x k 1 Dk 2 x k 2 ...D1 x1 D0 (1-1)
多项式(1-1)中的系数 D 取值为 0 或 1,与被校验的数据 M 一一对应,式中的 x 是一个伪变量,用 x i 指明各位的位置。 设校验码 p 的长度为 r,将被校验数据 D 左移 r 位后的结果为