通过上述的几个公式可以明显的看出,每一项都可以被校验码生成多项式来除完,得到的余数都是0,这样我们假设光盘中或者磁盘中的CRC 校验码,可以用我们系统常规使用的二进制来表示的话,可以列出如下算式:
=100010000000100001 =11021 公式(2-4)
为设定软盘上的代码设定的公式为: ,每增加一组的字节信息都会有所改变,增加字节后信息代码成: ,计算过程如下图2-2。
图2-2 CRC校验码的计算过程
通过公式计算出的结果有两种,一种是没有错误,证明整个设计程序是正确的,另一种结果是有错,证明设计程序处理有问题,要再次进行校验。如上图所见,当两个数相除时,我们会将原有就存在的信息代码和我们的验证效验码同时写在盘上,他们相除后得出的结果是都可以被整除,如果结果是0的话,不需要重新验证,如果结果是一的话,则需要重新验证。
2.3 系统设计中的CRC-5算法
对于CRC-5代码的计算方法,我们可以通过假设一个准备发送的信息,可以将代码设置为111101100101,可以得到的通过CRC-5生成的信息多项式,通过计算可以看到,计算后得出的结果对应的序列是110101。得到这个结果后,在使g(x)被 m(x)除后得到的结果是r(x)= +1。计算流程如下图:
图2-3 CRC 码的模2计算流程
3. FPGA和VHDL语言
3.1 概述
在现在的计算机系统中,现场可编程门阵列做为一种基本的测试方法已经被广泛应用于通过硬件描述语言来完成的各种系统的电路计算,这种技术即是现在设计验证的常规检查技术,也是其引领的一个新的校验潮流。通过对于这些可编辑元件可以完成各种简单的方程式,或者可以利用组合功能现场可编程门阵列来解决一些系统设计中会出现的一些复杂的解码器,也可以通这个功能来解决一些数学方程式。这两种功能是相辅相成的两种方法,也是现在IC设计中最常用的。
3.2 介绍现场可编程门阵列
现场可编程门阵列,简称为FPGA,这是一种特殊的集成电路,也是今天研究的主要设计物。在专用的集成电路领域中,定制的电路在整体的设计和使用中有很多不足,一直以来设计者们都想通过努力来改进这一不足,通过现场可编程门阵列可完成这一点,可以使集成电路更加完善和实用。 循环冗余校验算法的FPGA设计(4):http://www.youerw.com/tongxin/lunwen_39216.html