您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 基于Logisim的CRC编码电路实现
实验内容:基于Logisim的CRC编码电路实现专业:班级:学号:姓名:电话:邮件:报告日期:2015-6-10指导教师:2015计算机组成原理·课程论文·计算机科学与技术学院目录1实验目的.............................................................................................................................12实验环境.............................................................................................................................13实验内容.............................................................................................................................14实验原理.............................................................................................................................14.1CRC码.....................................................................................................................14.2CRC编码原理.........................................................................................................24.3生成多项式选择.....................................................................................................35方案设计.............................................................................................................................35.1(7,4)CRC编码................................................................................................35.1.1(7,4)CRC编码电路图.........................................................................45.2(21,6)CRC编码..............................................................................................45.2.1(21,6)CRC编码电路...........................................................................56过程与调试.........................................................................................................................56.1实验实现步骤.........................................................................................................56.2实验测试用例.........................................................................................................66.3结果与分析.............................................................................................................76.3.1测试结果......................................................................................................76.3.2结果分析......................................................................................................76.4故障与调试.............................................................................................................76.4.1故障1...........................................................................................................76.4.2故障2...........................................................................................................87总结与心得.........................................................................................................................87.1实验总结.................................................................................................................87.2实验心得.................................................................................................................88参考文献.............................................................................................................................91华中科技大学课程实验报告1实验目的熟悉Logisim软件平台。掌握运算器基本工作原理掌握循环冗余编码(CRC)的原理利用Logisim平台上已有的模块组成CRC编码电路2实验环境Logisim是一款数字电路模拟的教育软件,每一位用户都可以通过它来学习如何创建逻辑电路,方便简单。它是一款基于Java的应用程序,可运行在任何支持JAVA环境的平台,方便学生来学习设计和模仿数字逻辑电路。Logisim中的主要组成部分之一就在于设计并以图示来显示CPU。当然Logisim中还有其他多种组合分析模型来对你进行帮助,如转换电路,表达式,布尔型和真值表等等。同时还可以重新利用小规模的电路来作为大型电路的一部分。3实验内容学习使用Logism工具栏上的功能学会使用子电路,并能将子电路放到main电路中使用学习使用时钟,并能使用时钟单步或自动运行学会使用分线器,理解线宽的概念掌握循环冗余编码(CRC)的原理完成(7,4)CRC编码完成(21,6)CRC编码4实验原理4.1CRC码2华中科技大学课程实验报告循环冗余校验码(cyclicredundancycheek,CRC)简称循环码或CRC码。二进制信息沿一条信号线逐位在设备之间传送称为并行传送。CRC的编码格式如图所示,是在K位有效数据之后添r位校验码,形成总长度为n的CRC码,简写作C(n,k)码。CRC编码的关键技术在于如何从k位信息简便得到r位校验码。图4.1设被校验的数据0121...DDDDDkk是一个k位的二进制代码,将它表示为一个(k-1)阶的多项式M(x)=01122k11k...DxDxDxDDkk(1-1)多项式(1-1)中的系数D取值为0或1,与被校验的数据M一一对应,式中的x是一个伪变量,用ix指明各位的位置。设校验码p的长度为r,将被校验数据D左移r位后的结果为位rDxDxDxDkk00..00....01122k11k将D左移r位的目的是给D右边添r个0,形成(k+r)位长度的二进制代码,其多项式形式为rxxM)(。如图4.1所示,CRC码由K位数据D和r位校验码P组成,求校验码P的多项式R(x)的方法如下:)()()()()(xGxRxQxGxxM(1-2)Q(x)是商,R(x)是余数,R(x)所对应的二进制代码是校验码P。可以证明存在一个最高次幂为n-k=r的多项式G(x),即式(1-2)中G(x)成为生成多项式。由式(1-2)可以推出)()()()(xMxGxRxxM4.2CRC编码原理3华中科技大学课程实验报告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)当部分余数的位数小于除数的位数时,该余数为最后余数。4.3生成多项式选择(1)生成多项式的最高位和最低位必须是1。(2)当被传送信息(CRC码)任何一位发生错误时,被生成多项式进行模2后余数应不为0。(3)不同位发生的错误,余数不同。(4)对余数继续做模2除,应使余数循环。5方案设计5.1(7,4)CRC编码(7,4)CRC编码可实现16位有效数据的编码。电路输入4位将要进行CRC编码的01串,通过时钟时序控制下在一个周期内完成4位数据的CRC编码,输出7位编码后的数据。根据上述实验原理,4位有效数据,所以其生成多项式为4位,所以只需要第一次将原数据与生成多项式异或得到余数,然后再根据余数的高位判断是否为0来计算下一个余数,如果高位为0,则只需要将该余数左移1位,然后直接将数据通过二路选择器作为下一次的余数;如果高位为1,则需要再次将左移的数与生成多项式异或得到余数作为下一次的余数。因为编码的结果为7位,也就是相当于在有效数据后面补3个0然后除以生成多项式,需要完整的运算4次才能4华中科技大学课程实验报告得到结果,所以在经过4次之后,才能得到最终的编码结果。并且在编码结束之后自动停止电路。时钟控制部分,因为要经过4次之后才完成整个运算,而且原始的有效数据只用一次,所以在这个里面,我设计了D触发器来解决有效数据只进行刚开始的运算这么一个功能,刚开始使能端为0,所以二路选择端选择的是原始数据,后来D触发器的使能端打开,而且设置D为1,这时候就可以保证以后都是选择1,也就是经过移位后的数据,最
本文标题:基于Logisim的CRC编码电路实现
链接地址:https://www.777doc.com/doc-4470382 .html