ISSN在线(2278 - 8875)打印(2320 - 3765)
教授Dhiraj耆那教徒的1,Hiren g·帕特尔先生2
|
相关文章Pubmed,谷歌学者 |
访问更多的相关文章国际先进研究期刊》的研究在电子、电子、仪表工程
的CRC循环冗余校验错误检查是一种广泛使用的技术在许多数据传输中使用的协议。这个项目的目标是设计CRC RTL生成器或工具,对于给定的CRC计算CRC方程多项式和生成Verilog RTL代码。块处理像CRC-4多项式方程的计算标准,CRC-8, CRC-16 CRC和CRC-48 32 CRC - 64和用户定义的专有多项式。使用PERL作为平台也旨在在一个简单的用户界面。为任何数据生成RTLs宽度和任何标准多项式或用户定义的多项式,这种设计的目标是完全通用的。RTLs这个工具验证了系统生成的Verilog约束随机测试更健壮和可靠的。
关键字 |
高密度脂蛋白,CRC-tools、PERL RTL。 |
I.INTRODUCTION |
CRC(循环冗余校验)[1]是一个流行的错误检测码通过二元多项式除法计算。生成一个CRC, sender将二进制数据视为一个二元多项式和执行模2部门多项式的一个标准的发电机(例如,CRC [2] 32)。本部门变成了CRC的其余部分的数据,并附加到原始数据,并传输到接收器。接收数据和CRC,接收方还执行模- 2部门接收的数据和相同的发电机多项式。被比较的计算CRC错误收到一个。CRC算法只会增加一个小的比特数(32位的CRC) 32到消息不管原始数据的长度,并显示了良好的性能在检测一个错误以及错误破裂。因为CRC算法擅长发现错误和简单实现在硬件,CRC今天被广泛使用在数字数据检测腐败这可能发生在生产、传输或存储。和crc最近发现了一个新的应用程序的通用移动通信系统标准消息长度检测变长消息通信[3]。 |
传统上,LFSR电路(线性反馈移位寄存器)实现的VLSI(超大规模集成)进行CRC计算也只能处理一个比特/周期[4]。在这个项目中CRC的生成多项式的方法是基于LFSR CRC实现,在CRC计算通过每一比特的数据每一辆自行车,喂养首先最重要的一点。根据LFSR MSB寄存器的数据,转移和XOR操作发生。这个连环LFSR实现转换为一枪或单周期操作,实现组合电路。基于该方法的CRC生成多项式。 |
二世。循环REDUDANCY校验 |
CRC是错误检测代码。其计算类似于多项式长除法操作商的丢弃,成为结果,其余部分的重要区别多项式系数计算根据减少有限域的算法。剩余的长度总是小于除数的长度(称为发电机多项式),因此决定结果多长时间可以。的定义一个特定的CRC指定要使用的因子,等等。 |
CRC是基于多项式算法,特别是在计算的剩余部分划分一个多项式GF(2)(伽罗瓦域两个元素)。这有点儿像将消息作为一个非常大的二进制数,并计算其余除以一个相当大的'比如2 ^ 32-5。直观地说,一个希望给一个可靠的校验和。一个多项式在GF(2)是一个变量x的多项式的系数是0或1。 |
加法和减法做模2 -也就是说,它们是一样的异或运算符。例如,多项式之和: |
x3 + x + 1 |
x4 + x3 + x2 + x |
x4 + x2 + 1,因为是他们的区别。这些多项式不是通常用负号,但他们可能是,因为一个系数1相当于系数1。多项式乘法的很简单。产品的一个系数,另一个是一样的逻辑组合,运营商和部分产品使用异或总结。不需要乘法计算CRC校验和。分工GF(2)上的多项式在一样可以做长除法多项式的整数。下面是一个例子[5]。 |
读者想要验证的商x4 + x3 + 1乘以x3 + x + 1的因子,再加上其余的x2 + 1,等于股息。 |
CRC的方法将消息作为一个多项式GF (2)。例如,11001001的消息,传播从左到右的顺序(110…)被视为多项式的表示x7 + x6 + x3 + 1。 |
开发硬件电路计算CRC校验和,我们减少了多项式除法过程其本质。 |
这个过程采用移位寄存器,我们通过CRC表示。这是长度的r (G)的程度,而不是与您预期的一样。当减法(异或)完成,没有必要代表高阶位,因为G的高阶位和数量都是1减去。非正式描述的细胞分裂过程可能如下[5]: |
三世。CRC RTL生成器的实现 |
CRC发电机是一个命令行应用程序,生成verilog代码CRC的任何数据宽度从1开始,没有任何固有的上限和标准多项式或用户定义的多项式。代码是用Perl编写的,跨平台兼容。可以使用该工具提供CRC RTL发生器,在CRC校验和代发射机和接收机的验证。 |
CRC生成模块synthesizable verilog RTL。CRC的生成多项式的方法是基于LFSR CRC实现,在CRC计算通过每一比特的数据每一辆自行车,喂养首先最重要的一点。 |
根据LFSR MSB寄存器的数据,转移和XOR操作发生。这个连环LFSR实现转换为一枪或单周期操作,实现组合电路。基于该方法的CRC生成多项式。一旦所有不同生成多项式的RTL的用户可以使用这些RTL计算CRC的完整的包。 |
IV.CRC参数 |
数据宽度:宽度的数据范围从1位,没有内在的上限。 |
保利:标准或任何用户定义的多项式。 |
方程:其余方程,这些功能的数据输入和初始状态余数。 |
数据:输入数据verilog代码。 |
Crc_ini:输入初始剩余verilog代码。 |
RTL引擎:RTL引擎产生的CRC位。 |
Inputs-Polynomial:这是一个在上述标准多项式或一个用户定义的专有的多项式。 |
从1位数据宽度:都没有固有的上限。 |
输出-Verilog RTL代码从而有其输入部分,剩余部分数据(具有相同宽度的计算块)和输出最终的剩余部分。 |
RTL引擎——RTL引擎需要数据流,初始剩余部分作为输入,并生成RTL代码使用方程直接从程序模块输出。 |
程序块——程序块是主要的块的设计。计算多项式方程,帮助构建XOR树。 |
V。平台使用 |
PERL(实用精练与报告语言):PERL解释器的主要内部数据结构表示PERL语言元素。之前我们器质问Perl内部Perl脚本的执行阶段。在那一刻的内部数据结构可以用于提取。Perl是一个编译解释器。而不是逐行解释脚本文件,读取整个脚本文件,将其转化为内部表示,然后执行指令[18]。 |
PERL(实际提取和报告语言)作为平台生成RTL代码,因为可用的构造.Perl有用的数据结构,像散列数组,数组的哈希表,哈希的数组,这是非常有用的在生成多项式方程。 |
VI.SIMULATION和结果 |
VI.CONCLUSION |
这份报告的目标是设计一个工具,生成一个verilog RTL,计算了给定数据多项式和CRC校验和多项式在Perl和生成RTL任何数据宽度和多项式。 |
CRC计算给定CRC多项式方程设计了一个工具,生成任何标准多项式的verilog代码像CRC8 CRC16, CRC24 CRC32以及任何用户定义的多项式和数据宽度。RTLs这个工具验证了系统生成的verilog约束随机验证更健壮和可靠的。因此,CRC应用程序成功地设计和验证。 |
引用 |
|